test-framework-sh: distribute init.sh
[gnulib.git] / ChangeLog
1 2011-12-23  Jim Meyering  <meyering@redhat.com>
2
3         test-framework-sh: distribute init.sh
4         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
5         Otherwise, "make -C gnulib-tests check" (at least in grep) would
6         fail due to the lack of init.sh.
7
8         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9         * modules/atexit-tests: Rather than listing tests/init.sh,
10         now that there's a module for it, simply depend on that new module.
11         * modules/closein-tests: Likewise.
12         * modules/exclude-tests: Likewise.
13         * modules/getcwd-tests: Likewise.
14         * modules/perror-tests: Likewise.
15         * modules/pread-tests: Likewise.
16         * modules/pwrite-tests: Likewise.
17         * modules/vc-list-files-tests: Likewise.
18         * modules/verify-tests: Likewise.
19         * modules/xalloc-die-tests: Likewise.
20         * modules/xstrtoimax-tests: Likewise.
21         * modules/xstrtol-tests: Likewise.
22         * modules/xstrtoll-tests: Likewise.
23         * modules/xstrtoumax-tests: Likewise.
24         * modules/yesno-tests: Likewise.
25
26 2011-12-22  Jim Meyering  <meyering@redhat.com>
27
28         test-framework-sh: add minimal tests of init.sh's compare function
29         * modules/test-framework-sh-tests: New file.
30         * tests/test-init.sh: New file.
31
32         test-framework-sh: new module
33         * modules/test-framework-sh: New file.
34         * MODULES.html.sh (Support for maintaining and releasing projects):
35         List it.
36
37         init.sh: do not emit simulated diff output to stderr
38         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
39
40 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
41
42         .gitignore: ignore gnulib.dvi and regex.info
43         * doc/.gitignore:add gnulib.dvi and regex.info
44
45 2011-12-22  Jim Meyering  <meyering@redhat.com>
46
47         init.sh: correct previous change
48         * tests/init.sh (compare): My previous change was wrong.
49         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
50
51         init.sh: avoid unwarranted test failure when using "set -e"
52         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
53         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
54         a use like "compare exp out" would get evoke an unconditional failure.
55
56 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
57
58         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
59         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
60         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
61         autoreconf that did not.
62         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
63         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
64
65 2011-12-17  Jim Meyering  <meyering@redhat.com>
66
67         bootstrap: remove some now-unneeded code
68         This script arose back when gnulib-tool was young.
69         Since then, it has seen improvements that render much of this
70         script unnecessary.  In particular, it can now make symlinks
71         to the files it uses.  Also, I no longer see as much value in
72         marking files as read-only via comments.
73         If you relied on the symlink-creation feature of the preceding
74         version of this script, you can get most of that functionality
75         by adding the --symlink option to the definition of
76         gnulib_tool_option_extras in your bootstrap.conf file.
77         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
78         Run autopoint and libtoolize *before* gnulib-tool.
79         After it, run an abbreviated autoreconf, rather than a loop around
80         all tools.
81         (slirp, bt_mark_as_generated): Remove functions.
82
83 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
84
85         ftoastr: fix typo
86         * lib/ftoastr.h: Fix misspelling in comment.
87
88 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
89
90         * top/README-release: fix punctuation.
91
92 2011-12-17  Jim Meyering  <meyering@redhat.com>
93
94         bootstrap: correct the recent buildreq change
95         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
96         had no effect.
97         * build-aux/bootstrap (buildreq): Bracket each search term with
98         "*...*", so that the shell "case" statement works as intended.
99         Add comments.
100
101 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
102
103         build: let bootstrap resort to wget when downloading .po files
104         * build-aux/bootstrap (download_po_files): Fallback to wget when
105         downloading the .po files via rsync fails.  This is necessary to
106         bootstrap from behind a strict firewall.
107
108 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
109
110         stdint: don't assume C++11 when compiling with g++
111         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
113         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
114         work also in C++ before C++11, as that improperly inhibits
115         generating a substitute stdint.h for that case.
116
117 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
118
119         alloca: protect comment from gnulib-tool
120         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
121         that gnulib-tool doesn't think it's a license, and munge it to
122         say "GCC version 3".
123
124 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
125
126         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
127         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
128         $(abs_top_builddir) instead of $(top_builddir).
129
130 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
131
132         strftime-tests: also test nanoseconds
133         * tests/test-strftime.c (T): Add a test of %N.
134
135 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
136
137         inttypes, stdint: add C++11 support
138         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
139         when including inttypes.h and stdint.h.  Support this change to
140         the standard.
141         * doc/posix-headers/inttypes.texi (inttypes.h):
142         * doc/posix-headers/stdint.texi (stdint.h): Document this.
143         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
144         Define if not defined already, for the benefit of pre-C++11 hosts.
145         Define the standard format macros (e.g., PRId8) always.
146         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
147         Likewise, if __cpluspus.  Define the standard constant and limit
148         macros (e.g., INT8_C, INT8_MAX) always.
149         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
150         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
151         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
152         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
153         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
154         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
155         Likewise.
156
157 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
158
159         nonblocking tests: Fix test failure on Linux/PPC.
160         Suggested by Prerna Saxena in
161         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
162         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
163         Set to 1100000.
164
165 2011-12-12  Jim Meyering  <meyering@redhat.com>
166
167         argmatch: don't hard-code `' when listing valid option arguments
168         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
169         use the quote function to add quotes.  Use fputs rather than
170         fprintf for the format string with no format directive.
171
172 2011-12-07  Eric Blake  <eblake@redhat.com>
173
174         bootstrap: detect tools required by gnulib-tool
175         * build-aux/bootstrap (buildreq): Provide minimum implicit
176         dependencies.
177         * DEPENDENCIES: Mention patch as a prereq.
178
179 2011-12-04  Bruno Haible  <bruno@clisp.org>
180
181         sethostname: Port to Windows platforms.
182         * lib/sethostname.c: Provide an alternate implementation for Windows
183         platforms.
184         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
185         (main): Skip the test if sethostname() fails with EPERM. On Windows
186         platforms, don't check the result of gethostname().
187
188 2011-12-04  Bruno Haible  <bruno@clisp.org>
189             Jim Meyering  <meyering@redhat.com>
190
191         tests: Avoid spurious error message on platforms without mktemp program.
192         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
193
194 2011-12-04  Bruno Haible  <bruno@clisp.org>
195
196         sethostname: Fix documentation.
197         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
198         "not fixed" section.
199
200 2011-12-03  Bruno Haible  <bruno@clisp.org>
201
202         gnulib-tool: Verify that the License field is present and non-empty.
203         * gnulib-tool (func_get_license_raw): New function, extracted from
204         func_get_license.
205         (func_get_license): Use it. Warn if the module is not a test module and
206         has no license.
207         Suggested by Jim Meyering.
208
209 2011-12-03  Bruno Haible  <bruno@clisp.org>
210
211         sethostname tests: Fix link error on mingw.
212         * tests/test-sethostname1.c: New file, extracted from
213         tests/test-sethostname.c.
214         * tests/test-sethostname2.c: New file, extracted from
215         tests/test-sethostname.c.
216         * tests/test-sethostname.c: Remove file.
217         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
218         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
219         (Depends-on): Add gethostname.
220         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
221         Link the latter with $(GETHOSTNAME_LIB).
222
223         sethostname tests: Fix compilation error on mingw.
224         * tests/test-sethostname.c: Don't include <sys/types.h>.
225         (geteuid): Use a dummy value without uid_t.
226         * modules/sethostname-tests (Depends-on): Remove sys_types.
227
228         sethostname tests: Avoid a gcc warning.
229         * tests/test-sethostname.c (main): Remove an unused variable.
230
231         Tweak last commit.
232         * modules/sethostname-tests (Files): Sort by decreasing importance.
233         (configure.ac): Check for geteuid.
234         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
235         the test when there's nothing to test. Drop an unnecessary cast.
236         Improve an error message. Verify that the final sethostname() call
237         succeeds.
238
239 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
240
241         Add a test suite for the sethostname module.
242         * modules/sethostname-tests: New file.  A test program
243         for the sethostname module.
244         * tests/test-sethostname.c: Likewise.
245
246 2011-12-03  Bruno Haible  <bruno@clisp.org>
247
248         Tweak last commit.
249         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
250         Fix preprocessor directives indentation. Fix typos.
251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
252         * modules/unistd (Makefile): Likewise.
253
254 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
255
256         Integrate the sethostname module into unistd.
257         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
258         into the unistd.h header.
259         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
260         preprocessor directives.
261         * modules/unistd: Setup the Makefile substitutions of the
262         SETHOSTNAME preprocessor directives.
263
264 2011-12-03  Bruno Haible  <bruno@clisp.org>
265
266         Tweak last commit.
267         * lib/sethostname.c: Don't include <string.h>.
268         (sethostname): No need to copy the argument string to the stack. Don't
269         call clearerr. Preserve errno when fprintf failed.
270         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
271         Don't invoke AC_REPLACE_FUNCS.
272         * modules/sethostname (Link): Remove empty section.
273         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
274         failure problem.
275
276 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
277
278         New module 'sethostname'.
279         * lib/sethostname.c (sethostname): New file.  Provide sethostname
280         for systems that lack it.
281         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
282         sethostname declaration and function.
283         * modules/sethostname: New file.  Define the sethostname module.
284
285 2011-12-03  Bruno Haible  <bruno@clisp.org>
286
287         Tweak last commit.
288         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
289
290 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
291
292         Split the HOST_NAME_MAX detection into a separate m4 macro.
293         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
294         macro so it can be used by the pending sethostname module.
295
296 2011-12-03  Bruno Haible  <bruno@clisp.org>
297
298         Fix module descriptions syntax.
299         * modules/argv-iter (License): Fix syntax.
300         * modules/di-set (License): Likewise.
301         * modules/ino-map (License): Likewise.
302         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
303
304 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
305
306         stdalign: port to Clang 3.0
307         Problem reported by Simon Josefsson in
308         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
309         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
310         which has <stdalign.h> but which does not define alignof.
311         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
312
313 2011-12-01  Eric Blake  <eblake@redhat.com>
314
315         mktempd: silence dd usage
316         * build-aux/mktempd (rand_bytes): Silence dd.
317
318 2011-11-30  Simon Josefsson  <simon@josefsson.org>
319
320         manywarnings: Don't mention gcc version in docstring.
321         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
322         Jim Meyering <meyering@redhat.com>.
323
324 2011-11-30  Jim Meyering  <meyering@redhat.com>
325
326         hash: mark a few floating point constants with "f" suffix
327         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
328         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
329         floating point constants with "f", since they're destined to be
330         saved/used as "float"s.
331
332 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
333
334         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
335         * tests/test-float.c (test_long_double): Correct and re-enable the
336         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
337
338 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
339
340         Avoid subtracting two pointers that don't point into the same block.
341         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
342         only pointers into the same memory block are subtracted. We cannot
343         assume that sizeof (ptrdiff_t) == sizeof (void *).
344
345 2011-11-29  Eric Blake  <eblake@redhat.com>
346
347         maint.mk: add syntax check for use of compare from init.sh
348         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
349         moved here from coreutils.
350
351         manywarnings: drop -Wunsuffixed-float-constants
352         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
353         '1.0D', which is the only way to silence this warning for 'double'.
354
355 2011-11-29  Jim Meyering  <meyering@redhat.com>
356
357         hash: mark compute_bucket_size with the pure attribute
358         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
359
360         quotearg, propername: correct pragma guard expression
361         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
362         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
363
364 2011-11-28  Jim Meyering  <meyering@redhat.com>
365
366         propername: do not mark proper_name with the const attribute
367         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
368         since it examines data pointed to by its parameter.
369         * lib/propername.c (proper_name): Instead, add a pragma to suppress
370         the suggestion from -Wsuggest-attribute=const.
371
372         propername: mark one more function as const
373         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
374
375 2011-11-27  Jim Meyering  <meyering@redhat.com>
376
377         mark functions with const and pure attributes
378
379         Mark functions per suggestions from gcc-4.6 when using these options:
380         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
381         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
382         Follow these guidelines: when possible, apply the attribute to
383         an extern declaration, not to its definition.  Apply it to the
384         definition only when the definition is static.
385         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
386         * lib/argv-iter.h (argv_iter_n_args): Likewise.
387         * lib/base64.h (isbase64): Likewise.
388         * lib/basename-lgpl.c (last_component, base_len): Likewise.
389         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
390         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
391         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
392         (c_tolower, c_toupper): Likewise.
393         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
394         * lib/chdir-long.c (find_non_slash): Likewise.
395         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
396         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
397         * lib/file-type.h (file_type): Likewise.
398         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
399         * lib/filevercmp.c (verrevcmp): Likewise.
400         * lib/freadahead.h (freadahead): Likewise.
401         * lib/fts.c (fts_maxarglen): Likewise.
402         * lib/hash-pjw.h (hash_pjw): Likewise.
403         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
404         * lib/hash.c (is_prime, next_prime): Likewise.
405         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
406         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
407         (hash_table_ok, hash_get_first, hash_string): Likewise.
408         (compute_bucket_size): Likewise.
409         * lib/i-ring.h (i_ring_empty): Likewise.
410         * lib/isnan.c (isnanl): Likewise.
411         * lib/math.h (isnanl, rpl_isnanl): Likewise.
412         * lib/memcasecmp.h (memcasecmp): Likewise.
413         * lib/memchr2.h (memchr2): Likewise.
414         * lib/memcmp2.h (memcmp2): Likewise.
415         * lib/parse-datetime.y (lookup_zone): Likewise.
416         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
417         [!WINDOWS_SOCKETS]: Likewise.
418         * lib/strnlen1.h (strnlen1): Likewise.
419         * lib/uniwidth.in.h (uc_width): Likewise.
420         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
421         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
422         (quoting_options_from_style): Add a comment.
423         * lib/propername.h (proper_name): Add a comment.
424
425 2011-11-27  Bruno Haible  <bruno@clisp.org>
426
427         Remove unused macros from !_LIBC code in glibc-borrowed files.
428         * lib/fnmatch.c (STRCOLL): Remove macro.
429         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
430         * lib/glob.c (__stat, __readdir64): Remove macros.
431         * lib/tempname.c (__open64, __xstat64): Remove macros.
432         Suggested by Paul Eggert.
433
434 2011-11-27  Bruno Haible  <bruno@clisp.org>
435
436         getcwd: Fix link error on MSVC 9.
437         * modules/getcwd (Depends-on): Add readdir, rewinddir.
438
439 2011-11-27  Bruno Haible  <bruno@clisp.org>
440
441         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
442         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
443         HAVE_OPENDIR is 0.
444         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
445         HAVE_CLOSEDIR is 0.
446         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
447         is 0.
448         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
449
450 2011-11-27  Bruno Haible  <bruno@clisp.org>
451
452         getcwd: Fix bug from 2011-08-17.
453         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
454         platforms that need it.
455         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
456         code of 4 to be a failure, not a success. This ensures that
457         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
458
459 2011-11-27  Bruno Haible  <bruno@clisp.org>
460
461         binary-io tests: Avoid test failure on mingw when libtool is used.
462         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
463         Don't verify the size of t-bin-out1.tmp here.
464         * tests/test-binary-io.sh: Verify it here.
465         Reported by Simon Josefsson.
466
467 2011-11-26  Bruno Haible  <bruno@clisp.org>
468
469         Fix conflict between two instantiations of module 'unistd'.
470         * gnulib-tool (func_emit_autoconf_snippet): Substitute
471         ${include_guard_prefix} also in the autoconf snippet.
472         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
474         GNULIB_UNISTD_H_GETOPT.
475         * modules/getopt-posix (configure.ac): Set the
476         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
477         * modules/getopt-gnu (configure.ac): Likewise.
478         * modules/unistd (Makefile.am): Change the substitution value of
479         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
480         Reported by Simon Josefsson.
481
482 2011-11-25  Bruno Haible  <bruno@clisp.org>
483
484         pagealign_alloc: Doc and comments.
485         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
486         module.
487         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
488
489 2011-11-25  Jim Meyering  <meyering@redhat.com>
490
491         test-update-copyright.sh: avoid false-positive failure
492         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
493         around false positive failure on Cygwin/Windows.  The latter was
494         matching erroneously-created files with names like
495         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
496
497 2011-11-25  Simon Josefsson  <simon@josefsson.org>
498
499         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
500         * m4/valgrind-tests.m4: Check that the parameters that will be
501         used works, not just a subset of them.  Reported by Bruno Haible
502         <bruno@clisp.org>.
503
504 2011-11-24  Jim Meyering  <meyering@redhat.com>
505
506         test-stdalign.c: comment out long double tests
507         * tests/test-stdalign.c: Don't try to reduce alignment of long double
508         variables.  That provokes errors like this from gcc-4.7.0 20111124:
509         error: '_Alignas' specifiers cannot reduce alignment of \
510         'static_longdouble_alignas'.
511
512 2011-11-22  Jim Meyering  <meyering@redhat.com>
513
514         init.sh: make "compare /dev/null FILE" output more readable
515         * tests/init.sh (compare_): Document the preferred order of arguments.
516         (emit_diff_u_header_): New function.
517         (compare_dev_null_): Emit a simulated diff, rather than just the
518         contents of the unexpected file.  Suggestion from Bruno Haible.
519
520 2011-11-21  Jim Meyering  <meyering@redhat.com>
521             Eric Blake  <eblake@redhat.com>
522
523         init.sh: work around OSF/1 5.1's mishandling of /dev/null
524         * tests/init.sh: Make our compare function slightly more portable.
525         Reported by Bruno Haible in
526         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
527
528 2011-11-21  Simon Josefsson  <simon@josefsson.org>
529
530         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
531         before using it, in code that ends up in config.h.
532
533 2011-11-20  Bruno Haible  <bruno@clisp.org>
534
535         getcwd: Work around getcwd bug on AIX 5..7.
536         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
537         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
538         Use a different value for gl_cv_func_getcwd_path_max. Move the
539         definition of HAVE_PARTLY_WORKING_GETCWD from here...
540         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
541         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
542         Define HAVE_MINIMALLY_WORKING_GETCWD.
543         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
544         where it is not even minimally working, that is, on AIX.
545         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
546         m4/getcwd-path-max.m4.
547         (main): Update exit code computation.
548         * doc/posix-functions/getcwd.texi: Mention list of platforms where
549         getcwd does not handle long file names.
550
551 2011-11-20  Bruno Haible  <bruno@clisp.org>
552
553         getcwd: Fix bug from 2009-09-10.
554         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
555         like "no".
556
557 2011-11-20  Simon Josefsson  <simon@josefsson.org>
558
559         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
560
561 2011-11-20  Bruno Haible  <bruno@clisp.org>
562
563         fma tests: Avoid shadowing local variables.
564         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
565         expected.
566
567 2011-11-20  Bruno Haible  <bruno@clisp.org>
568
569         copysignf tests: Fix.
570         * tests/test-copysignf.c: Fix signature check.
571
572 2011-11-20  Bruno Haible  <bruno@clisp.org>
573
574         fma: Remove unused code.
575         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
576         unused macros.
577
578 2011-11-20  Bruno Haible  <bruno@clisp.org>
579
580         sethostname: Fix doc about AIX.
581         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
582         sethostname; it has it.
583
584         sethostname: Mention more portability problems.
585         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
586         problem.
587         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
588
589 2011-11-19  Bruno Haible  <bruno@clisp.org>
590
591         Depend on module fcntl-h when AT_FDCWD is used.
592         * modules/utimens (Depends-on): Add fcntl-h.
593         * modules/areadlinkat (Depends-on): Likewise.
594         * modules/areadlinkat-with-size (Depends-on): Likewise.
595         * modules/faccessat (Depends-on): Likewise.
596         * modules/fchmodat (Depends-on): Likewise.
597         * modules/fchownat (Depends-on): Likewise.
598         * modules/getcwd (Depends-on): Likewise.
599         * modules/mkdirat (Depends-on): Likewise.
600         * modules/mkfifoat (Depends-on): Likewise.
601         * modules/readlinkat (Depends-on): Likewise.
602         * modules/symlinkat (Depends-on): Likewise.
603         * modules/dup2-tests (Depends-on): Likewise.
604         * modules/fdutimensat-tests (Depends-on): Likewise.
605         * modules/futimens-tests (Depends-on): Likewise.
606
607 2011-11-19  Bruno Haible  <bruno@clisp.org>
608
609         euidaccess: Update a comment.
610         * lib/euidaccess.c: Update comment about platforms with faccessat.
611
612 2011-11-19  Bruno Haible  <bruno@clisp.org>
613
614         openat: Fix file list.
615         * modules/openat (Files): Remove lib/at-func.c.
616
617 2011-11-19  Bruno Haible  <bruno@clisp.org>
618
619         fstatat: Simplify.
620         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
621         gnulib should define rpl_fstatat, there is a
622         "#define fstatat rpl_fstatat" in <sys/stat.h>.
623
624 2011-11-19  Bruno Haible  <bruno@clisp.org>
625
626         Ensure 'inline' can be used in tests/test-utimens-common.h.
627         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
628         * modules/futimens-tests (configure.ac): Likewise.
629         * modules/utimens-tests (configure.ac): Likewise.
630         * modules/utimensat-tests (configure.ac): Likewise.
631
632 2011-11-19  Simon Josefsson  <simon@josefsson.org>
633
634         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
635         not hash_insert0.
636         (hash_insert_if_absent): Doc fix.
637
638 2011-11-19  Simon Josefsson  <simon@josefsson.org>
639
640         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
641
642 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
643
644         test-getcwd: disambiguate exit status
645         * tests/test-getcwd.c (test_long_name): Return 0..7.
646         (main): Exit with an unambiguous exit status.  The old
647         code yielded a mysterious mixture of two failure codes.
648
649         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
650         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
651         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
652         rpl_fstatat or fstatat.  This should fix the other problem
653         reported by Kai Habel in
654         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
655         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
656         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
657         and I reproduced it on a Solaris 8 host we still have in production.
658
659 2011-11-18  Jim Meyering  <meyering@redhat.com>
660
661         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
662         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
663         Add a sentence to the comment.
664         (hash_insert0): New function that simply calls hash_insert_if_absent.
665         * lib/hash.h (hash_insert_if_absent): Declare it.
666         (hash_insert0): Add deprecation attribute.
667         (_GL_ATTRIBUTE_DEPRECATED): Define.
668         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
669         not hash_insert0.
670         * NEWS: Mention it, even though it's not really an incompatible change.
671
672 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
673
674         openat: avoid compilation failure due to lack of <errno.h> inclusion
675         * lib/openat.c: Include <errno.h>.
676
677 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
678
679         * modules/getcwd (Depends-on): Add fdopendir.
680         This fixes one of the two problems reported by Kai Habel in
681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
682
683         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
684         stdalign problem reported by Ian Beckwith in
685         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
686         * modules/crypto/gc-arcfour (Depends-on):
687         Depend conditionally on crypto/arcfour.
688         * modules/crypto/gc-arctwo (Depends-on):
689         Depend conditionally on crypto/arctwo.
690         * modules/crypto/gc-des (Depends-on):
691         Depend conditionally on crypto/des.
692         * modules/crypto/gc-hmac-md5 (Depends-on):
693         Depend conditionally on crypto/hmac-md5.
694         * modules/crypto/gc-hmac-sha1 (Depends-on):
695         Depend conditionally on crypto/hmac-sha1.
696         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
697         * modules/crypto/gc-md4 (Depends-on):
698         Depend conditionally on crypto/md4.
699         * modules/crypto/gc-md5 (Depends-on):
700         Depend conditionally on crypto/md5.
701         * modules/crypto/gc-rijndael (Depends-on):
702         Depend conditionally on crypto/rijndael.
703         * modules/crypto/gc-sha1 (Depends-on):
704         Depend conditionally on crypto/sha1.
705         * modules/crypto/gc-arcfour:
706         * modules/crypto/gc-arctwo:
707         * modules/crypto/gc-des:
708         * modules/crypto/gc-hmac-md5:
709         * modules/crypto/gc-hmac-sha1:
710         * modules/crypto/gc-md2:
711         * modules/crypto/gc-md4:
712         * modules/crypto/gc-md5:
713         * modules/crypto/gc-rijndael:
714         * modules/crypto/gc-sha1:
715         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
716         now that the conditional dependencies do the work for us.
717
718 2011-11-17  Jim Meyering  <meyering@redhat.com>
719
720         tests: factor st_ctime-comparison out of two headers
721         * tests/test-utimens-common.h (ctime_compare): Define.
722         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
723         * tests/test-lutimens.h (test_lutimens): Likewise.
724         * tests/test-utimens.h (test_utimens): Likewise.
725
726         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
727         Invoke the test program via an init.sh-using wrapper.
728         * tests/test-getcwd.sh: New file.
729         * modules/getcwd-tests (Files): Add it.
730         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
731
732 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
733
734         gitlog-to-changelog: support multi-author commits.
735         The FSF cares about keeping track of all authors of patches to its
736         projects, but Git doesn't provide obvious support for multi-author
737         changesets. Consensus seems to be forming around the use of extra
738         Signed-off-by inspired lines in the log message formatted as
739         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
740         multi-author commits between version control systems.
741         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
742         log message and output in standard ChangeLog multi-author format.
743         Reported by Peter Rosin <peda@lysator.liu.se>
744
745 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
746             Bruno Haible  <bruno@clisp.org>
747
748         Fix some modules' file list.
749         * modules/fstatat (Files): Add m4/lstat.m4.
750         * modules/openat (Files): Likewise.
751         * modules/unlinkat (Files): Likewise.
752
753 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
754
755         maint.mk: fix tight-scope.mk generation in VPATH builds.
756         * top/maint.mk (tight-scope.mk): Make sure to prefix file
757         reference with $(srcdir) so that the file is found correctly even
758         when running `make syntax-check' in a VPATH build.
759
760 2011-11-13  Bruno Haible  <bruno@clisp.org>
761             Jim Meyering  <meyering@redhat.com>
762
763         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
764         * tests/init.sh (compare): Remove "No differences encountered" or
765         synonymous output from the 'diff' program.
766
767 2011-11-13  Bruno Haible  <bruno@clisp.org>
768
769         Makefile: Tweak indentation.
770         * Makefile: Use tab as first character in every line that contains rule
771         commands.
772
773 2011-11-13  Bruno Haible  <bruno@clisp.org>
774
775         Syntax check for copyright statements.
776         * check-copyright: New file.
777         * Makefile (sc_check_copyright): New rule.
778
779 2011-11-13  Simon Josefsson  <simon@josefsson.org>
780
781         * build-aux/git-version-gen: Add --prefix to configure the tag
782         match string.
783
784 2011-11-13  Simon Josefsson  <simon@josefsson.org>
785
786         * build-aux/git-version-gen: Add --help and --version.
787
788 2011-11-12  Jim Meyering  <meyering@redhat.com>
789
790         revamp the other test-exclude?.sh scripts to use init.sh, too
791         * tests/test-exclude1.sh: Use init.sh.
792         * tests/test-exclude2.sh: Likewise.
793         * tests/test-exclude3.sh: Likewise.
794         * tests/test-exclude4.sh: Likewise.
795         * tests/test-exclude5.sh: Likewise.
796         * tests/test-exclude6.sh: Likewise.
797         * tests/test-exclude7.sh: Likewise.
798         * tests/test-exclude8.sh: Likewise.
799         * modules/exclude-tests (Files): List init.sh.
800
801         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
802         These shell scripts ignored failure of the binary test-exclude,
803         so making the latter return 77 didn't cause them to be skipped.
804         * tests/test-exclude5.sh: Exit with test-exclude's error status
805         when that program fails.  Revamp to use init.sh.
806         * tests/test-exclude2.sh: Likewise.
807
808         test-exclude: fix a typo
809         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
810
811 2011-11-11  Bruno Haible  <bruno@clisp.org>
812
813         obstack: Fix compilation error on MSVC 9.
814         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
815
816 2011-11-11  Jim Meyering  <meyering@redhat.com>
817
818         test-exclude: skip tests rather than failing on deficient systems
819         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
820         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
821         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
822         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
823
824 2011-11-10  Bruno Haible  <bruno@clisp.org>
825
826         ptsname_r test: Avoid gcc warning on glibc systems.
827         * tests/test-ptsname_r.c (null_ptr): New function.
828         (test_errors): Use it.
829
830 2011-11-10  Bruno Haible  <bruno@clisp.org>
831
832         ptsname_r: Avoid compilation error on OSF/1 5.1.
833         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
835         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
836         function is not declared or incompatibly declared.
837         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
838         * modules/ptsname_r (Depends-on, configure.ac): Update.
839         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
840
841 2011-11-10  Bruno Haible  <bruno@clisp.org>
842
843         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
844         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
845         When cross-compiling, guess yes on all platforms except AIX.
846         Reported by Ludovic Courtès <ludo@gnu.org>.
847
848 2011-11-09  Bruno Haible  <bruno@clisp.org>
849
850         ptsname_r tests: Fix bugs.
851         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
852         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
853
854 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
855
856         fstatat: work with cross-compilation
857         Problem reported by Ludovic Courtès in
858         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
859         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
860         "cross-compiling" and assume the bug is present.  Replace
861         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
862         an inverted sense, to be more conservative about our assumptions.
863         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
864
865 2011-11-09  Bruno Haible  <bruno@clisp.org>
866
867         Improve MODULES.html output.
868         * modules/mkfifoat (Description): Use the word "function".
869         * modules/readlinkat (Description): Likewise.
870         * modules/symlinkat (Description): Likewise.
871
872 2011-11-09  Eric Blake  <eblake@redhat.com>
873
874         ptsname_r-tests: new test module
875         * modules/ptsname_r-tests: New module.
876         * tests/test-ptsname_r.c: New file.
877
878         ptsname_r: new module
879         * modules/ptsname_r: New module.
880         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
881         * lib/ptsname.c (__ptsname_r): Split...
882         * lib/ptsname_r.c: ...into new file.
883         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
884         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
885         * modules/stdlib (Makefile.am): Substitute witnesses.
886         * lib/stdlib.in.h (ptsname_r): Declare it.
887         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
888         * MODULES.html.sh (Misc): Likewise.
889         * modules/ptsname (Depends-on): Alter dependency.
890         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
891
892 2011-11-09  Jim Meyering  <meyering@redhat.com>
893
894         announce-gen: be more concise when there's only one URL+tarball
895         * build-aux/announce-gen (get_tool_versions): When you distribute
896         only one type of tarball, combine the first two "Here are..."
897         sections and make the key-checking grammar independent of
898         how many tarballs there are.
899
900 2011-11-09  Eric Blake  <eblake@redhat.com>
901
902         openpty: provide a stub on mingw
903         * lib/pty.in.h (includes): Provide forward declarations.
904         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
905
906         raise: fix mingw handling of SIGPIPE
907         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
908
909 2011-11-08  Bruno Haible  <bruno@clisp.org>
910
911         More conditional dependencies.
912         * modules/faccessat (Depends-on): Add conditions.
913         * modules/fchmodat (Depends-on): Likewise.
914         * modules/fchownat (Depends-on): Likewise.
915         * modules/fstatat (Depends-on): Likewise.
916         * modules/mkfifoat (Depends-on): Likewise.
917         * modules/readlinkat (Depends-on): Likewise.
918         * modules/symlinkat (Depends-on): Likewise.
919         * modules/unlinkat (Depends-on): Likewise.
920         * modules/utimensat (Depends-on): Likewise.
921         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
922         * modules/linkat (Depends-on): Refine the conditions.
923         * modules/renameat (Depends-on): Likewise.
924
925 2011-11-08  Bruno Haible  <bruno@clisp.org>
926
927         faccessat: Move AC_LIBOBJ invocation to module description.
928         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
929         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
930         invocation from here...
931         * modules/faccessat (configure.ac): ... to here. Invoke
932         gl_PREREQ_FACCESSAT.
933
934 2011-11-08  Bruno Haible  <bruno@clisp.org>
935
936         faccessat: Simplify autoconf macro.
937         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
938         gl_FUNC_EUIDACCESS.
939
940 2011-11-08  Bruno Haible  <bruno@clisp.org>
941
942         renameat: Fix dependencies.
943         * modules/renameat (Depends-on): Add stdbool.
944
945 2011-11-08  Bruno Haible  <bruno@clisp.org>
946
947         mkfifoat: Fix module description.
948         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
949         not gl_UNISTD_MODULE_INDICATOR.
950
951 2011-11-08  Bruno Haible  <bruno@clisp.org>
952
953         fstatat: Remove unused dependency.
954         * modules/fstatat (Depends-on): Remove fstat.
955
956 2011-11-08  Simon Josefsson  <simon@josefsson.org>
957
958         GNUmakefile: behave when Makefile is missing.
959         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
960
961 2011-11-08  Bruno Haible  <bruno@clisp.org>
962
963         openat: Conditionalize dependencies.
964         * lib/openat.c: Reduce the scope of some #includes.
965         * modules/openat (Depends-on): Add conditions.
966
967 2011-11-07  Jim Meyering  <meyering@redhat.com>
968
969         maint.mk: extract GPG key ID without using a temporary file
970         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
971         without using a temporary file.  Based on a suggestion from Werner Koch
972         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
973
974 2011-11-07  Eric Blake  <eblake@redhat.com>
975
976         grantpt: fix typo
977         * lib/stdlib.in.h (grantpt): Check correct function.
978
979         maint.mk: silence new syntax check
980         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
981
982 2011-11-06  Bruno Haible  <bruno@clisp.org>
983
984         Doc about floating-point and math API.
985         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
986         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
987
988 2011-11-06  Bruno Haible  <bruno@clisp.org>
989
990         stdalign tests: Skip the test when compiled by Sun C.
991         * tests/test-stdalign.c (main): Skip the test on Sun C.
992
993 2011-11-06  Bruno Haible  <bruno@clisp.org>
994
995         ansi-c++-opt: Complete the 2011-06-05 change.
996         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
997         does not support namespaces, set the variable to "no", not to ":".
998
999 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
1000
1001         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
1002
1003 2011-11-06  Bruno Haible  <bruno@clisp.org>
1004
1005         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
1006         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
1007         (minus_zerol) [HP-UX]: New macro.
1008         (unary_minus) [HP-UX]: New function.
1009         (copysignl) [HP-UX]: Use unary_minus function.
1010
1011 2011-11-06  Bruno Haible  <bruno@clisp.org>
1012
1013         ldexp, ldexpf, ldexpl: Enhance tests.
1014         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
1015         and tests/test-ldexpl.c.
1016         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
1017         LDEXP, MIN_EXP, MAX_EXP): New macros.
1018         Include test-ldexp.h.
1019         (main): Just call test_function.
1020         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
1021         infinity.h, nan.h.
1022         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
1023         MAX_EXP): New macros.
1024         Include test-ldexp.h.
1025         (x, y): Remove variables.
1026         (main): Just call test_function.
1027         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
1028         infinity.h, nan.h.
1029         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
1030         MAX_EXP): New macros.
1031         Include test-ldexp.h.
1032         (x, y): Remove variables.
1033         (main): Just call test_function.
1034         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
1035         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
1036         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
1037         (Depends-on): Add isnand-nolibm, signbit, float.
1038         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
1039         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
1040         (Depends-on): Add isnanf-nolibm, signbit, float.
1041
1042 2011-11-06  Bruno Haible  <bruno@clisp.org>
1043
1044         math tests: Cosmetics.
1045         * tests/test-math-c++.cc: Reorder declarations.
1046
1047 2011-11-05  Bruno Haible  <bruno@clisp.org>
1048
1049         fma*: Simplify test.
1050         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
1051         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
1052
1053         Tests for module 'fmal'.
1054         * modules/fmal-tests: New file.
1055         * tests/test-fmal1.c: New file.
1056         * tests/test-fmal2.c: New file.
1057
1058         New module 'fmal'.
1059         * lib/math.in.h (fmal): New declaration.
1060         * lib/fmal.c: New file.
1061         * m4/fmal.m4: New file.
1062         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
1063         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
1064         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
1065         REPLACE_FMAL.
1066         * modules/fmal: New file.
1067         * doc/posix-functions/fmal.texi: Mention the new module and the various
1068         bugs.
1069
1070         Tests for module 'fmaf'.
1071         * modules/fmaf-tests: New file.
1072         * tests/test-fmaf1.c: New file.
1073         * tests/test-fmaf2.c: New file.
1074
1075         New module 'fmaf'.
1076         * lib/math.in.h (fmaf): New declaration.
1077         * lib/fmaf.c: New file.
1078         * m4/fmaf.m4: New file.
1079         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
1080         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
1081         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
1082         REPLACE_FMAF.
1083         * modules/fmaf: New file.
1084         * doc/posix-functions/fmaf.texi: Mention the new module and the various
1085         bugs.
1086
1087         Tests for module 'fma'.
1088         * modules/fma-tests: New file.
1089         * tests/test-fma1.c: New file.
1090         * tests/test-fma1.h: New file.
1091         * tests/test-fma2.c: New file.
1092         * tests/test-fma2.h: New file.
1093
1094         New module 'fma'.
1095         * lib/math.in.h (fma): New declaration.
1096         * lib/fma.c: New file.
1097         * m4/fma.m4: New file.
1098         * m4/fegetround.m4: New file.
1099         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
1100         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
1101         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
1102         REPLACE_FMA.
1103         * modules/fma: New file.
1104         * doc/posix-functions/fma.texi: Mention the new module and the various
1105         bugs.
1106
1107         Extend gl_MATHFUNC.
1108         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
1109         Support 'void' as argument type.
1110         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
1111
1112 2011-11-05  Jim Meyering  <meyering@redhat.com>
1113
1114         maint.mk: also prohibit inclusion of dirent.h without use
1115         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
1116
1117 2011-11-05  Bruno Haible  <bruno@clisp.org>
1118
1119         ldexpl tests: Avoid test failure on MSVC 9.
1120         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
1121         value. Needed in order to enforce the conversion from a value greater
1122         than LDBL_MAX to Infinity.
1123
1124 2011-11-05  Bruno Haible  <bruno@clisp.org>
1125
1126         New modules 'at-internal', 'openat-h', split off from module 'openat'.
1127         * modules/at-internal: New file, extracted from modules/openat.
1128         * modules/openat-h: New file.
1129         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
1130         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
1131         * modules/openat (Description): Add reference to POSIX function.
1132         (Files): Remove lib/openat.h, lib/openat-proc.c.
1133         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
1134         intprops, unistd.
1135         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
1136         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
1137         gl_FCNTL_MODULE_INDICATOR.
1138         (Include): Remove unistd.h, openat.h.
1139         * modules/areadlinkat (Files): Add lib/at-func.c.
1140         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
1141         openat-die, openat-h, save-cwd.
1142         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
1143         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
1144         openat-die, openat-h, save-cwd, unistd.
1145         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
1146         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
1147         openat-h, save-cwd. Remove fcntl-h, openat.
1148         * modules/fchmodat (Files): Remove lib/openat.h.
1149         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
1150         openat, stdbool, unistd.
1151         * modules/fchownat (Files): Remove lib/openat.h.
1152         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
1153         openat, stdbool, sys_stat.
1154         * modules/fdopendir (Files): Remove lib/openat-priv.h,
1155         lib/openat-proc.c.
1156         (Depends-on): Add at-internal.
1157         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
1158         * modules/fstatat (Files): Remove lib/openat.h.
1159         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
1160         stdbool, unistd.
1161         * modules/fts (Depends-on): Add openat-h.
1162         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
1163         openat.
1164         * modules/mkdirat (Files): Remove lib/openat.h.
1165         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
1166         openat, stdbool, sys_stat.
1167         * modules/mkfifoat (Files): Add lib/at-func.c.
1168         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
1169         openat-h, save-cwd. Remove fcntl-h, openat.
1170         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
1171         * modules/readlinkat (Files): Add lib/at-func.c.
1172         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
1173         openat-h, save-cwd. Remove fcntl-h, openat.
1174         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
1175         openat.
1176         * modules/selinux-at (Files): Add lib/at-func.c.
1177         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
1178         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
1179         * modules/symlinkat (Files): Add lib/at-func.c.
1180         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
1181         openat-h, save-cwd. Remove fcntl-h, openat.
1182         * modules/unlinkat (Files): Remove lib/openat.h.
1183         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
1184         stdbool.
1185         * modules/utimensat (Files): Add lib/at-func.c.
1186         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
1187         openat-die, openat-h, save-cwd.
1188         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
1189         * modules/fdutimensat-tests (Depends-on): Add openat.
1190         * modules/fstatat-tests (Depends-on): Add openat-h.
1191         * modules/readlinkat-tests (Depends-on): Add openat.
1192         * modules/symlinkat-tests (Depends-on): Add openat.
1193
1194 2011-11-05  Bruno Haible  <bruno@clisp.org>
1195
1196         openat: Include <stdbool.h>.
1197         * lib/openat.c: Include <stdbool.h>.
1198
1199 2011-11-04  Bruno Haible  <bruno@clisp.org>
1200
1201         fchownat, renameat, unlinkat: Fix dependencies.
1202         * modules/fchownat (Depends-on): Add fstatat.
1203         * modules/renameat (Depends-on): Likewise.
1204         * modules/unlinkat (Depends-on): Likewise.
1205
1206 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
1207
1208         openat: remove direct dependency on dirent
1209         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
1210         and hasn't been needed ever since fdopendir was split into its own
1211         module on 2009-08-31.
1212         * modules/openat (Depends-on): Remove dirent.
1213
1214 2011-11-04  Bruno Haible  <bruno@clisp.org>
1215
1216         renameat: Optimize code size.
1217         * modules/renameat (configure.ac): Don't compile at-func2.c if
1218         REPLACE_RENAMEAT is 1.
1219
1220 2011-11-04  Bruno Haible  <bruno@clisp.org>
1221
1222         openat tests: Fix file list.
1223         * modules/openat-tests (Files): Add tests/test-open.h.
1224
1225 2011-11-04  Bruno Haible  <bruno@clisp.org>
1226
1227         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
1228         * modules/fchmodat (Depends-on): Add openat-die.
1229         * modules/fchownat (Depends-on): Likewise.
1230         * modules/linkat (Depends-on): Likewise.
1231         * modules/renameat (Depends-on): Likewise.
1232         * modules/openat (Depends-on): Add dirent.
1233
1234 2011-11-04  Jim Meyering  <meyering@redhat.com>
1235
1236         at-func*.c: fix comments
1237         * lib/at-func2.c: Correct/improve first-line comment.
1238         * lib/at-func.c: Correct grammar in first-line comment.
1239
1240 2011-11-04  Bruno Haible  <bruno@clisp.org>
1241
1242         New module 'mkdirat', split off from module 'openat'.
1243         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
1244         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
1245         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
1246         * modules/mkdirat: New file, extracted from modules/openat.
1247         * modules/openat (Files): Remove lib/mkdirat.c.
1248         (Depends-on): Remove mkdir.
1249         (configure.ac): Remove AC_LIBOBJ of mkdirat.
1250         (Include): Remove <sys/stat.h>.
1251         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
1252         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
1253         tests/test-mkdir.h.
1254         (Depends-on): Remove ignore-value.
1255         (Makefile.am): Remove rules for test-mkdirat.
1256         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
1257         of module 'openat'.
1258         * NEWS: Mention the change.
1259
1260 2011-11-04  Bruno Haible  <bruno@clisp.org>
1261
1262         closedir: Avoid warning on mingw.
1263         * lib/closedir.c: Include <unistd.h>.
1264
1265 2011-11-04  Bruno Haible  <bruno@clisp.org>
1266
1267         New module 'fstatat', split off from module 'openat'.
1268         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
1269         defined.
1270         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
1271         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
1272         gl_FUNC_FSTATAT.
1273         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
1274         * modules/fstatat: New file, extracted from modules/openat.
1275         * modules/openat (Files): Remove lib/fstatat.c.
1276         (Depends-on): Remove lstat.
1277         (configure.ac): Remove AC_LIBOBJ of fstatat.
1278         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
1279         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
1280         tests/test-lstat.h, tests/test-stat.h.
1281         (Depends-on): Remove getcwd-lgpl.
1282         (Makefile.am): Remove rules for test-fstatat.
1283         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
1284         of module 'openat'.
1285         * NEWS: Mention the change.
1286         * modules/getcwd (Depends-on): Add fstatat.
1287         * modules/linkat (Depends-on): Likewise.
1288         * modules/mkfifoat-tests (Depends-on): Likewise.
1289         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
1290
1291 2011-11-03  Bruno Haible  <bruno@clisp.org>
1292
1293         New module 'unlinkat', split off from module 'openat'.
1294         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
1295         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
1296         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
1297         * modules/unlinkat: New file, extracted from modules/openat. Correct
1298         the dependency conditions.
1299         * modules/openat (Files): Remove lib/unlinkat.c.
1300         (Depends-on): Remove rmdir, unlink.
1301         (configure.ac): Remove AC_LIBOBJ of unlinkat.
1302         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
1303         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
1304         tests/test-rmdir.h, tests/test-unlink.h.
1305         (Depends-on): Remove unlinkdir.
1306         (Makefile.am): Remove rules for test-unlinkat.
1307         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
1308         of module 'openat'.
1309         * NEWS: Mention the change.
1310         * modules/linkat-tests (Depends-on): Add unlinkat.
1311         * modules/mkfifoat-tests (Depends-on): Likewise.
1312         * modules/readlinkat-tests (Depends-on): Likewise.
1313
1314 2011-11-02  Bruno Haible  <bruno@clisp.org>
1315
1316         New module 'fchmodat', split off from module 'openat'.
1317         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
1318         defined.
1319         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
1320         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
1321         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
1322         * modules/fchmodat: New file, extracted from modules/openat.
1323         * modules/openat (Files): Remove lib/fchmodat.c.
1324         (configure.ac): Remove AC_LIBOBJ of fchmodat.
1325         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
1326         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
1327         (Makefile.am): Remove rules for test-fchmodat.
1328         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
1329         of module 'openat'.
1330         * NEWS: Mention the change.
1331
1332 2011-11-02  Jim Meyering  <meyering@redhat.com>
1333
1334         putenv: indent #definition of "environ" to placate cppi
1335         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
1336
1337         gitlog-to-changelog: provide a ChangeLog-repair mechanism
1338         Git logs are often treated as immutable, because editing them
1339         changes the SHA1 checksums of all descendants.  Thus, errors in
1340         git logs tend to stay there forever.  However, when we generate
1341         a ChangeLog file -- typically for distribution -- from that git log,
1342         we can actually make corrections in the generated file.  The key
1343         lies in recording in machine-readable/applicable form the desired
1344         corrections.  See --help for description and an example.
1345         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
1346         (usage): Describe it; alphabetize option descriptions.
1347         (main): Honor the new option, carefully.
1348
1349 2011-11-01  Jim Meyering  <meyering@redhat.com>
1350
1351         gitlog-to-changelog: avoid an infloop
1352         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
1353         that ends up being empty.
1354
1355 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
1356
1357         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
1358         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
1359         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
1360         contains (possibly-quoted) backslashes.  This should avoid
1361         all-too-common shell bugs if COMPLICATED contains backslashes in
1362         the "wrong" places.  Reported by David Evans in
1363         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
1364         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
1365         because we want ASCII ranges.  Is there some reason we don't use
1366         the C locale everywhere in this script?
1367         (func_module, top level): Avoid unwanted pathname expansion when
1368         $repo_url_prefix or $repo_url_suffix_repl contain shell
1369         metacharacters like '?' and '*'.
1370
1371 2011-11-01  Bruno Haible  <bruno@clisp.org>
1372
1373         fchownat: Improve description.
1374         * modules/fchownat (Description): Add link to function.
1375
1376 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
1377
1378         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
1379         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
1380         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
1381         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
1382
1383 2011-11-01  Bruno Haible  <bruno@clisp.org>
1384
1385         alignof: Avoid collision with stdalign module.
1386         * lib/alignof.h (alignof): Remove macro.
1387         * NEWS: Mention the change.
1388         Reported by Paul Eggert.
1389
1390 2011-11-01  Bruno Haible  <bruno@clisp.org>
1391
1392         New module 'fchownat', split off from module 'openat'.
1393         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
1394         defined.
1395         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
1396         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
1397         invoke gl_FUNC_FCHOWNAT.
1398         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
1399         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
1400         * modules/fchownat: New file, extracted from modules/openat.
1401         * modules/openat (Files): Remove lib/fchownat.c.
1402         (Depends-on): Remove lchown.
1403         (configure.ac): Remove AC_LIBOBJ of fchownat.
1404         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
1405         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
1406         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
1407         (Depends-on): Remove mgetgroups, usleep, stat-time.
1408         (configure.ac): Remove test for getegid.
1409         (Makefile.am): Remove rules for test-fchownat.
1410         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
1411         of module 'openat'.
1412         * NEWS: Mention the change.
1413
1414 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
1415
1416         stdalign: port better to MSVC and to Sun C 5.11
1417         This fixes some of the problems reported by Bruno Haible in
1418         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
1419         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
1420         shortcomings of MSVC and of Sun C 5.11.
1421         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
1422         around __declspec arg.
1423         * modules/stdalign-tests (Files): Add tests/macros.h.
1424         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
1425         Include macros.h, for ASSERT.
1426         (DECLARE_ALIGNED): Remove.
1427         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
1428         to catch bug), and to 1 if not (simplifies the rest of the code).
1429         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
1430         (CHECK_AUTO): Remove.
1431         (CHECK_ALIGNED): Check only the alignment of the static vars,
1432         since auto var alignment isn't supported by Sun C 5.11.
1433         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
1434         ASSERT failures are easier to diagnose.
1435
1436 2011-10-31  Bruno Haible  <bruno@clisp.org>
1437
1438         doc about some IRIX 5.3 problems.
1439         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
1440         on IRIX 5.3.
1441         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
1442         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
1443         5.3.
1444         * doc/posix-functions/grantpt.texi: Likewise.
1445         * doc/posix-functions/unlockpt.texi: Likewise.
1446         * doc/posix-functions/lgamma.texi: Likewise.
1447         * doc/posix-functions/nextafter.texi: Likewise.
1448         * doc/posix-functions/remainder.texi: Likewise.
1449         * doc/posix-functions/select.texi: Mention misplaced declaration on
1450         IRIX 5.3.
1451         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1452
1453 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
1454
1455         gitlog-to-changelog: fix git-log invocation.
1456         git-log mishandles date strings before 1970-01-01 UTC, and there is
1457         no use to specify --since=1970-01-01 by default anyway.
1458         * build-aux/gitlog-to-changelog: By default, when no --since option
1459         was given, do not specify explicit --since option to git-log.
1460
1461 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
1462
1463         gitlog-to-changelog: new option --append-dot.
1464         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
1465         first non-blank line of each commit message terminated with a dot.
1466
1467 2011-10-30  Bruno Haible  <bruno@clisp.org>
1468
1469         ffsl, ffsll: Avoid compilation error due to 'restrict'.
1470         * lib/ffsl.h: Include <config.h>.
1471         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
1472
1473 2011-10-30  Jim Meyering  <meyering@redhat.com>
1474
1475         GNUmakefile: reenable "make syntax-check" for most projects
1476         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
1477         build-aux variable", "syntax-check" would do nothing but succeed with
1478         the "No version control files detected..." diagnostic (unless you
1479         happened to override _build-aux via cfg.mk).
1480         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
1481         to precede inclusion of maint.mk.  Otherwise, these variables would
1482         be used undefined in any project that does not override the default.
1483
1484 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
1485
1486         gitlog-to-changelog: treat a message with only blank lines as empty.
1487         * build-aux/gitlog-to-changelog: Move the code that removes leading and
1488         trailing blank lines before the code that issues a warning about an
1489         empty commit message.
1490
1491 2011-10-30  Jim Meyering  <meyering@redhat.com>
1492
1493         test-parse-datetime.c: avoid new DST-related false positive test failure
1494         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
1495         based on the time/date we'll convert, not the current time.
1496         Otherwise, the moment we cross a DST boundary like today's in
1497         Europe, (CEST to CET), that offset ends up being one hour off.
1498
1499 2011-10-27  Bruno Haible  <bruno@clisp.org>
1500
1501         fstat: Tweak documentation.
1502         * modules/fstat (Description): More precise description.
1503
1504 2011-10-27  Bruno Haible  <bruno@clisp.org>
1505
1506         Update documentation regarding 'largefile' module.
1507         * doc/posix-functions/fstat.texi: Tweak wording.
1508         * doc/posix-functions/opendir.texi: Mention that the module fixes the
1509         problems with huge directories and/or small ino_t types.
1510         * doc/posix-functions/readdir.texi: Likewise.
1511         * doc/posix-functions/rewinddir.texi: Likewise.
1512
1513 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
1514
1515         maint.mk: don't maintain a second build-aux variable.
1516         * maint.mk (build_aux): Removed.  The maintainer-makefile module
1517         depends on GNUmakefile, which already maintains a cfg.mk
1518         overridable $(_build-aux) for projects with a non-standard
1519         build-aux directory location, although without the $(srcdir)
1520         prefix.  Use that variable consistently instead of introducing a
1521         second one.  Adjust all call sites.
1522
1523 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
1524
1525         Add stdalign module and use it in other modules.
1526         This is based on a previous proposal by Bruno Haible
1527         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
1528
1529         stdalign: new module
1530         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
1531         * modules/stdalign: New files.
1532         * MODULES.html.sh (c1x_core_properties): Add stdalign.
1533         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
1534
1535         stdalign-tests: new module
1536         * modules/stdalign-tests, tests/test-stdalign.c: New files.
1537
1538         argp: use stdalign
1539         * lib/argp-parse.c: Include <stdalign.h>.
1540         (alignof): Remove.
1541         * modules/argp (Depends-on): Add stdalign.
1542
1543         crypto libraries: use stdalign
1544         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
1545         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
1546         Do not include <stdlib.h> twice, in md4.c.
1547         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
1548         because we are accessing a pointer's bit-pattern, not a size.
1549         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
1550         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
1551         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
1552         * modules/crypto/sha512: Likewise.
1553
1554         sys_socket: use stdalign, not alignof
1555         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
1556         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
1557
1558 2011-10-27  Bruno Haible  <bruno@clisp.org>
1559
1560         raise test: Avoid a test failure on Linux/MIPS.
1561         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
1562         because 99 is a valid signal on Linux/MIPS.
1563
1564 2011-10-27  Bruno Haible  <bruno@clisp.org>
1565
1566         nonblocking tests: Fix test failure on Linux/MIPS.
1567         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
1568         Set to 270000.
1569
1570 2011-10-27  Bruno Haible  <bruno@clisp.org>
1571
1572         utimensat: Work around problem on Linux/hppa.
1573         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
1574         values.
1575         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
1576
1577 2011-10-25  Jim Meyering  <meyering@redhat.com>
1578
1579         maint.mk: fix a bug in sc_prohibit_stddef_without_use
1580         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
1581         after symbols like NULL, size_t, etc.
1582         Reported by Alfred M. Szmidt.
1583
1584         maint.mk: exempt ENODATA from a syntax-check rule
1585         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
1586         from the sc_prohibit_always-defined_macros syntax-check rule.
1587         Add a comment.  See this for more details:
1588         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
1589
1590 2011-10-23  Jim Meyering  <meyering@redhat.com>
1591
1592         fts: close parent dir FD before returning from post-traversal fts_read
1593         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
1594         unlink A, even though an FD open on A remained.  This is suboptimal
1595         (holding a file descriptor open longer than needed), but otherwise not
1596         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
1597         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
1598         that represents a real problem: it causes the removal of A to fail
1599         with e.g., "rm: cannot remove `A': Device or resource busy"
1600
1601         fts visits each directory twice and keeps a cache (fts_fd_ring) of
1602         directory file descriptors.  After completing the final, FTS_DP,
1603         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
1604         cache, but then proceeded to add a new FD to it via the subsequent
1605         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
1606         final file descriptor would be closed only via fts_close's call to
1607         fd_ring_clear.  Now, it is usually closed earlier, via the final
1608         FTS_DP-returning fts_read call.
1609         * lib/fts.c (restore_initial_cwd): New function, converted from
1610         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
1611         Update callers.
1612         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
1613         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
1614
1615 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
1616             Bruno Haible  <bruno@clisp.org>
1617             Jim Meyering  <jim@meyering.net>
1618
1619         readme-release: improve safety of release prep instructions.
1620         * README-release: Don't git pull all branches when only master
1621         is needed for the release process.
1622         Run make maintainer-clean before changing trees and merging.
1623         Don't try to run ./configure right after git pull in case files
1624         that influence the bootstrap process have changed, move the
1625         ./configure step to after running ./bootstrap.
1626         Don't bootstrap "one last time"... it's the first time!
1627
1628 2011-10-22  Bruno Haible  <bruno@clisp.org>
1629
1630         errno, strerror-override: Support for MSVC 10.
1631         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
1632         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
1633         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
1634         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
1635         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
1636         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
1637         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
1638         Assign values compatible with MSVC 10.
1639         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
1640         New macros.
1641         (GNULIB_defined_EWINSOCK): New macro.
1642         * lib/strerror-override.c (strerror_override): Update accordingly.
1643         * lib/strerror-override.h: Likewise.
1644         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
1645         longer equal to the corresponding errno value.
1646         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1647
1648 2011-10-22  Bruno Haible  <bruno@clisp.org>
1649
1650         perror: Recognize when test program crashes.
1651         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
1652         strerror, set gl_cv_func_perror_works to no.
1653         Reported by Daniel Richard G. <skunk@iskunk.org>.
1654
1655         perror: Fix indentation.
1656         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
1657
1658 2011-10-22  Bruno Haible  <bruno@clisp.org>
1659
1660         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
1661         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
1662         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
1663         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
1664         functions, not as a macro.
1665         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
1666         macros.
1667         (isfinite, isinf, isnan, signbit): Check overloaded functions and
1668         absence of macro.
1669         Suggested by Eric Blake.
1670         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1671
1672 2011-10-21  Bruno Haible  <bruno@clisp.org>
1673
1674         relocatable-prog-wrapper: Don't leave object files behind.
1675         * build-aux/install-reloc: Re-synchronize list of .o files to be
1676         removed with list of compilation units.
1677
1678 2011-10-20  Bruno Haible  <bruno@clisp.org>
1679
1680         openpty, posix_openpt: Remove code duplication.
1681         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
1682         * lib/openpty.c: Include <stdlib.h>.
1683         (openpty): Use posix_openpt on all platforms except IRIX.
1684         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
1685
1686 2011-10-20  Bruno Haible  <bruno@clisp.org>
1687
1688         unlockpt: Detect invalid argument.
1689         * lib/unlockpt.c: Include <fcntl.h>.
1690         (unlockpt): Check whether fd is valid, using fcntl().
1691         * modules/unlockpt (Depends-on): Add fcntl-h.
1692
1693 2011-10-20  Bruno Haible  <bruno@clisp.org>
1694
1695         openpty: Avoid compilation error on AIX 6.1.
1696         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
1697
1698 2011-10-20  Bruno Haible  <bruno@clisp.org>
1699
1700         posix_openpt: Support for OpenBSD.
1701         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
1702         (posix_openpt) [OpenBSD]: New code.
1703         * lib/grantpt.c: Include <fcntl.h>.
1704         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
1705         * modules/grantpt (Depends-on): Add fcntl-h.
1706
1707 2011-10-20  Bruno Haible  <bruno@clisp.org>
1708
1709         posix_openpt test: Coding style.
1710         * tests/test-posix_openpt.c: Use GNU coding style.
1711
1712 2011-10-20  Bruno Haible  <bruno@clisp.org>
1713
1714         grantpt: Support --avoid=pt_chown.
1715         * modules/grantpt (Files): Add lib/pty-private.h.
1716
1717 2011-10-20  Bruno Haible  <bruno@clisp.org>
1718
1719         posix_openpt: Fix autoconf macro.
1720         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
1721         unneeded check for _getpty.
1722
1723 2011-10-20  Bruno Haible  <bruno@clisp.org>
1724
1725         openpty: Update comments.
1726         * lib/openpty.c: Add comments about Minix.
1727
1728 2011-10-19  Eric Blake  <eblake@redhat.com>
1729
1730         openpty: relax license
1731         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
1732
1733         pt_chown: use configmake to simplify build
1734         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
1735
1736         ptsname and others: relax license
1737         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
1738         * modules/unlockpt (License): Likewise.
1739         * modules/pt_chown (License): Likewise.
1740         * modules/ptsname (License): Likewise.
1741         * modules/ttyname_r (License): Likewise.
1742
1743 2011-10-19  Jim Meyering  <meyering@redhat.com>
1744
1745         posix_openpt: remove spurious #endif
1746         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
1747
1748 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
1749
1750         maint.mk: Respect $(build_aux) in web-manual rule.
1751         * top/maint.mk (web-manual): Find gen-announce script in user's
1752         $(build_aux) directory instead of hard-coding 'build-aux'.
1753
1754 2011-10-19  Bruno Haible  <bruno@clisp.org>
1755
1756         posix_openpt: Fix compilation error.
1757         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
1758         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
1759         Mention the openpty module as an alternative.
1760
1761 2011-10-19  Bruno Haible  <bruno@clisp.org>
1762
1763         Support for old NeXTstep 3.3 frexp().
1764         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
1765         execution time of the test to 5 seconds.
1766         Reported by Daniel Richard G. <skunk@iskunk.org>.
1767
1768 2011-10-19  Bruno Haible  <bruno@clisp.org>
1769
1770         Support for old NeXTstep 3.3 sed.
1771         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
1772         part, use /.../, not \|...|. Escape periods in the header file name.
1773         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
1774         Reported by Daniel Richard G. <skunk@iskunk.org>.
1775
1776 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1777
1778         Support for old NeXTstep 3.3 gcc.
1779         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
1780         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
1781         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
1782         * lib/spawn.in.h (_Restrict_arr_): Likewise.
1783         * lib/regex.h (_Restrict_arr_): Likewise.
1784         * lib/regex_internal.h (re_token_t): Likewise.
1785         * lib/regexec.c (check_node_accept_bytes): Likewise.
1786         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
1787
1788 2011-10-18  Eric Blake  <eblake@redhat.com>
1789
1790         posix_openpt: new module
1791         * modules/posix_openpt: New module.
1792         * m4/posix_openpt.m4: New file.
1793         * lib/posix_openpt.c: Likewise.
1794         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
1795         (gl_STDLIB_H_DEFAULTS): Set defaults.
1796         * modules/stdlib (Makefile.am): Substitute macros.
1797         * lib/stdlib.in.h (posix_openpt): Declare.
1798         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
1799         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
1800         * modules/posix_openpt-tests: New test module.
1801         * tests/test-posix_openpt.c: New test.
1802
1803 2011-10-15  Bruno Haible  <bruno@clisp.org>
1804
1805         xstrtoll: Fix compilation failure.
1806         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
1807         from lib/strtol.c.
1808         * doc/posix-headers/limits.texi: Mention missing numerical limits on
1809         some platforms.
1810         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1811
1812 2011-10-15  Bruno Haible  <bruno@clisp.org>
1813
1814         vasnprintf: Optimize bit search operation.
1815         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
1816         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
1817         gl_DOUBLE_EXPONENT_LOCATION.
1818         * modules/vasnprintf (Files): Add m4/exponentd.m4.
1819         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1820         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1821         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1822         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1823         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1824         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1825         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1826         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
1827
1828 2011-10-15  Bruno Haible  <bruno@clisp.org>
1829
1830         vasnprintf: Fix comments.
1831         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
1832
1833 2011-10-14  Bruno Haible  <bruno@clisp.org>
1834
1835         Tests for module 'integer_length_ll'.
1836         * modules/integer_length_ll-tests: New file.
1837         * tests/test-integer_length_ll.c: New file.
1838
1839         New module 'integer_length_ll'.
1840         * lib/integer_length_ll.c: New file.
1841         * modules/integer_length_ll: New file.
1842
1843 2011-10-14  Bruno Haible  <bruno@clisp.org>
1844
1845         Tests for module 'integer_length_l'.
1846         * modules/integer_length_l-tests: New file.
1847         * tests/test-integer_length_l.c: New file.
1848
1849         New module 'integer_length_l'.
1850         * lib/integer_length_l.c: New file.
1851         * modules/integer_length_l: New file.
1852
1853 2011-10-14  Bruno Haible  <bruno@clisp.org>
1854
1855         Tests for module 'integer_length'.
1856         * modules/integer_length-tests: New file.
1857         * tests/test-integer_length.c: New file.
1858
1859         New module 'integer_length'.
1860         * lib/integer_length.h: New file.
1861         * lib/integer_length.c: New file.
1862         * modules/integer_length: New file.
1863
1864 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1865
1866         popen: Fix dependency conditions.
1867         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
1868
1869 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1870
1871         perror: Fix autoconf test.
1872         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
1873         <stdlib.h> and <string.h>.
1874
1875 2011-10-14  Bruno Haible  <bruno@clisp.org>
1876
1877         ffsl: Optimize on 64-bit platforms.
1878         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
1879         unrolling.
1880
1881 2011-10-13  Bruno Haible  <bruno@clisp.org>
1882
1883         ffsl: Optimize on 32-bit platforms.
1884         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
1885         use ffs() without a loop.
1886
1887         ffsl, ffsll: Optimize for GCC.
1888         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
1889         * lib/ffsl.c (GCC_BUILTIN): New macro.
1890         * lib/ffsll.c (GCC_BUILTIN): Likewise.
1891
1892 2011-10-13  Bruno Haible  <bruno@clisp.org>
1893
1894         ffs, bcopy, memset: Support symbol renaming via config.h.
1895         * lib/ffs.c: Include <config.h>.
1896         * lib/bcopy.c: Likewise.
1897         * lib/memset.c: Likewise.
1898
1899 2011-10-10  Bruno Haible  <bruno@clisp.org>
1900
1901         atanl: Simplify for platforms where 'long double' == 'double'.
1902         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1903         alternative implementation.
1904         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1905         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1906         * modules/atanl (Depends-on): Add atan. Update conditions.
1907
1908 2011-10-10  Bruno Haible  <bruno@clisp.org>
1909
1910         acosl: Simplify for platforms where 'long double' == 'double'.
1911         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1912         alternative implementation.
1913         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1914         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1915         * modules/acosl (Depends-on): Add acos. Update conditions.
1916
1917 2011-10-10  Bruno Haible  <bruno@clisp.org>
1918
1919         asinl: Simplify for platforms where 'long double' == 'double'.
1920         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1921         alternative implementation.
1922         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1923         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1924         * modules/asinl (Depends-on): Add asin. Update conditions.
1925
1926 2011-10-10  Bruno Haible  <bruno@clisp.org>
1927
1928         tanl: Simplify for platforms where 'long double' == 'double'.
1929         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1930         implementation.
1931         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1932         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1933         * modules/tanl (Depends-on): Add tan. Update conditions.
1934         (configure.ac): Don't compile trigl.c if
1935         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1936
1937 2011-10-10  Bruno Haible  <bruno@clisp.org>
1938
1939         cosl: Simplify for platforms where 'long double' == 'double'.
1940         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1941         implementation.
1942         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1943         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1944         * modules/cosl (Depends-on): Add cos. Update conditions.
1945         (configure.ac): Don't compile sincosl.c and trigl.c if
1946         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1947
1948 2011-10-10  Bruno Haible  <bruno@clisp.org>
1949
1950         sinl: Simplify for platforms where 'long double' == 'double'.
1951         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1952         implementation.
1953         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1954         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1955         * modules/sinl (Depends-on): Add sin. Update conditions.
1956         (configure.ac): Don't compile sincosl.c and trigl.c if
1957         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1958
1959 2011-10-10  Bruno Haible  <bruno@clisp.org>
1960
1961         logl: Simplify for platforms where 'long double' == 'double'.
1962         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1963         implementation.
1964         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1965         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1966         * modules/logl (Depends-on): Add log. Update conditions.
1967
1968 2011-10-10  Bruno Haible  <bruno@clisp.org>
1969
1970         expl: Simplify for platforms where 'long double' == 'double'.
1971         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1972         implementation.
1973         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1974         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1975         * modules/expl (Depends-on): Add exp. Update conditions.
1976
1977 2011-10-10  Bruno Haible  <bruno@clisp.org>
1978
1979         sqrtl: Simplify for platforms where 'long double' == 'double'.
1980         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1981         alternative implementation.
1982         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1983         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1984         * modules/sqrtl (Depends-on): Update conditions.
1985
1986 2011-10-10  Bruno Haible  <bruno@clisp.org>
1987
1988         ldexpl: Simplify for platforms where 'long double' == 'double'.
1989         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1990         alternative implementation.
1991         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1992         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1993         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
1994
1995 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
1996
1997         ffsll: set correct witness
1998         * modules/ffsll (configure.ac): Fix typo.
1999
2000 2011-10-10  Bruno Haible  <bruno@clisp.org>
2001
2002         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
2003         * lib/printf-frexpl.c: Include <config.h>.
2004         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2005         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
2006         second time.
2007         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
2008         gl_LONG_DOUBLE_VS_DOUBLE.
2009         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
2010         conditions.
2011
2012 2011-10-10  Bruno Haible  <bruno@clisp.org>
2013
2014         frexpl: Simplify for platforms where 'long double' == 'double'.
2015         * lib/frexpl.c: Include <config.h>.
2016         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2017         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2018         time.
2019         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2020         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2021         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
2022         * modules/frexpl (Depends-on): Add frexp. Update conditions.
2023         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
2024         conditions.
2025
2026 2011-10-10  Jim Meyering  <meyering@redhat.com>
2027
2028         test-renameat: don't leave behind a temporary file
2029         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
2030           ERROR: files left in build directory after distclean:
2031           ./gltests/test-renameat.too
2032           make[1]: *** [distcleancheck] Error 1
2033         Reported by Tom G. Christensen.
2034
2035 2011-10-09  Bruno Haible  <bruno@clisp.org>
2036
2037         rint: Determine RINT_LIBM correctly on AIX 7.
2038         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
2039         directly, not only through a function pointer. Also accept an optional
2040         4th argument with extra code.
2041         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
2042         rintf() call by gcc when optimizing.
2043
2044         mathfunc.m4: Refactor.
2045         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
2046         m4 variable.
2047
2048 2011-10-09  Bruno Haible  <bruno@clisp.org>
2049
2050         rintl: Simplify for platforms where 'long double' == 'double'.
2051         * lib/rintl.c: Include <config.h>.
2052         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2053         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2054         time.
2055         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2056         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2057         * modules/rintl (Depends-on): Add rint. Update conditions.
2058
2059 2011-10-09  Bruno Haible  <bruno@clisp.org>
2060
2061         roundl: Simplify for platforms where 'long double' == 'double'.
2062         * lib/roundl.c: Include <config.h>.
2063         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2064         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2065         time.
2066         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2067         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2068         * modules/roundl (Depends-on): Add round. Update conditions.
2069
2070 2011-10-09  Bruno Haible  <bruno@clisp.org>
2071
2072         truncl: Simplify for platforms where 'long double' == 'double'.
2073         * lib/truncl.c: Include <config.h>.
2074         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2075         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2076         time.
2077         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2078         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2079         * modules/truncl (Depends-on): Add trunc. Update conditions.
2080
2081 2011-10-09  Bruno Haible  <bruno@clisp.org>
2082
2083         ceill: Simplify for platforms where 'long double' == 'double'.
2084         * lib/ceill.c: Include <config.h>.
2085         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2086         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2087         time.
2088         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2089         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2090         * modules/ceill (Depends-on): Add ceil. Update conditions.
2091
2092 2011-10-09  Bruno Haible  <bruno@clisp.org>
2093
2094         floorl: Simplify for platforms where 'long double' == 'double'.
2095         * lib/floorl.c: Include <config.h>.
2096         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2097         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2098         time.
2099         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2100         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2101         * modules/floorl (Depends-on): Add floor. Update conditions.
2102
2103 2011-10-09  Bruno Haible  <bruno@clisp.org>
2104
2105         rint: Fix ordering constraints.
2106         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
2107         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2108         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2109
2110 2011-10-09  Bruno Haible  <bruno@clisp.org>
2111
2112         copysignl: Simplify for platforms where 'long double' == 'double'.
2113         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
2114         alternative.
2115         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2116         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2117         * modules/copysignl (Depends-on): Add copysign. Update conditions.
2118
2119 2011-10-09  Bruno Haible  <bruno@clisp.org>
2120
2121         Tests for module 'rintl'.
2122         * modules/rintl-tests: New file.
2123         * tests/test-rintl.c: New file.
2124
2125         New module 'rintl'.
2126         * lib/math.in.h (rintl): New declaration.
2127         * lib/rintl.c: New file.
2128         * m4/rintl.m4: New file.
2129         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
2130         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
2131         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
2132         * modules/rintl: New file.
2133         * tests/test-math-c++.cc: Check the declaration of rintl.
2134         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
2135         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
2136         * doc/posix-functions/rintl.texi: Mention the new module.
2137
2138 2011-10-09  Bruno Haible  <bruno@clisp.org>
2139
2140         Tests for module 'rintf'.
2141         * modules/rintf-tests: New file.
2142         * tests/test-rintf.c: New file.
2143
2144         New module 'rintf'.
2145         * lib/math.in.h (rintf): New declaration.
2146         * lib/rintf.c: New file.
2147         * m4/rintf.m4: New file.
2148         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
2149         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
2150         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
2151         * modules/rintf: New file.
2152         * tests/test-math-c++.cc: Check the declaration of rintf.
2153         * doc/posix-functions/rintf.texi: Mention the new module.
2154
2155 2011-10-09  Bruno Haible  <bruno@clisp.org>
2156
2157         rint: Support for MSVC.
2158         * lib/math.in.h (rint): New declaration.
2159         * lib/rint.c: New file.
2160         * m4/rint.m4: New file.
2161         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
2162         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
2163         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
2164         * modules/rint (Description): Fix.
2165         (Files): Add lib/rint.c, m4/rint.m4.
2166         (Depends-on): Add math.
2167         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
2168         gl_MATH_MODULE_INDICATOR.
2169         * tests/test-math-c++.cc: Check the declaration of rint.
2170         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
2171         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
2172         * doc/posix-functions/rint.texi: Mention the replacement provided by
2173         the module.
2174
2175         rint tests: More tests.
2176         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
2177         minus-zero.h, infinity.h, nan.h.
2178         (main): Skip the test if the current rounding mode is not standard. Add
2179         tests for negative numbers, minus zero, infinity, NaN.
2180         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
2181         tests/nan.h.
2182         (Depends-on): Add isnand-nolibm.
2183
2184 2011-10-09  Bruno Haible  <bruno@clisp.org>
2185
2186         Tests for module 'copysignl'.
2187         * modules/copysignl-tests: New file.
2188         * tests/test-copysignl.c: New file.
2189
2190         New module 'copysignl'.
2191         * lib/math.in.h (copysignl): New declaration.
2192         * lib/copysignl.c: New file.
2193         * m4/copysignl.m4: New file.
2194         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
2195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
2196         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
2197         HAVE_COPYSIGNL.
2198         * modules/copysignl: New file.
2199         * tests/test-math-c++.cc: Check the declaration of copysignl.
2200         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
2201         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
2202         * doc/posix-functions/copysignl.texi: Mention the new module.
2203
2204 2011-10-09  Bruno Haible  <bruno@clisp.org>
2205
2206         Tests for module 'copysignf'.
2207         * modules/copysignf-tests: New file.
2208         * tests/test-copysignf.c: New file.
2209
2210         New module 'copysignf'.
2211         * lib/math.in.h (copysignf): New declaration.
2212         * lib/copysignf.c: New file.
2213         * m4/copysignf.m4: New file.
2214         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
2215         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
2216         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
2217         HAVE_COPYSIGNF.
2218         * modules/copysignf: New file.
2219         * tests/test-math-c++.cc: Check the declaration of copysignf.
2220         * doc/posix-functions/copysignf.texi: Mention the new module.
2221
2222 2011-10-09  Bruno Haible  <bruno@clisp.org>
2223
2224         Ensure that HAVE_* variables are set to 1 before they are set to 0.
2225         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
2226         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
2227         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
2228         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
2229         gl_SIGNAL_H_DEFAULTS.
2230
2231 2011-10-09  Bruno Haible  <bruno@clisp.org>
2232
2233         poll: Make macro safer.
2234         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
2235         ac_cv_header_poll_h is not set.
2236
2237 2011-10-09  Bruno Haible  <bruno@clisp.org>
2238
2239         copysign: Provide replacement.
2240         * lib/math.in.h (copysign): New declaration.
2241         * lib/copysign.c: New file.
2242         * m4/copysign.m4: New file.
2243         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
2244         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
2245         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
2246         HAVE_COPYSIGN.
2247         * modules/copysign (Description): Clarify.
2248         (Files): Add lib/copysign.c, m4/copysign.m4.
2249         (Depends-on): Add math, signbit.
2250         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
2251         gl_MATH_MODULE_INDICATOR.
2252         * tests/test-math-c++.cc: Check the declaration of copysign.
2253         * doc/posix-functions/copysign.texi: Mention the effects of the module
2254         on Minix and MSVC.
2255
2256 2011-10-09  Bruno Haible  <bruno@clisp.org>
2257
2258         isinf: Ensure macro on AIX 5.1.
2259         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
2260         macro.
2261         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
2262
2263 2011-10-09  Bruno Haible  <bruno@clisp.org>
2264
2265         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
2266         * modules/snprintf-posix-tests (configure.ac): Require
2267         gl_LONG_DOUBLE_VS_DOUBLE.
2268         * modules/sprintf-posix-tests (configure.ac): Likewise.
2269         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
2270         * modules/vasprintf-posix-tests (configure.ac): Likewise.
2271         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
2272         * modules/vsprintf-posix-tests (configure.ac): Likewise.
2273         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
2274         tests on platforms where 'long double' is the same as 'double'.
2275         * tests/test-sprintf-posix.h (test_function): Likewise.
2276         * tests/test-vasnprintf-posix.c (test_function): Likewise.
2277         * tests/test-vasprintf-posix.c (test_function): Likewise.
2278
2279         *printf: Fix for platforms where 'long double' == 'double'.
2280         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
2281         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
2282         * modules/dprintf-posix (Files): Add m4/math_h.m4.
2283         * modules/fprintf-posix (Files): Likewise.
2284         * modules/obstack-printf-posix (Files): Likewise.
2285         * modules/snprintf-posix (Files): Likewise.
2286         * modules/sprintf-posix (Files): Likewise.
2287         * modules/vasnprintf (Files): Likewise.
2288         * modules/vasnprintf-posix (Files): Likewise.
2289         * modules/vasprintf-posix (Files): Likewise.
2290         * modules/vdprintf-posix (Files): Likewise.
2291         * modules/vfprintf-posix (Files): Likewise.
2292         * modules/vsnprintf-posix (Files): Likewise.
2293         * modules/vsprintf-posix (Files): Likewise.
2294         * modules/unistdio/u8-vasnprintf (Files): Likewise.
2295         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
2296         * modules/unistdio/u16-vasnprintf (Files): Likewise.
2297         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
2298         * modules/unistdio/u32-vasnprintf (Files): Likewise.
2299         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
2300         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
2301
2302         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
2303         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
2304         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2305         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
2306         'long double'.
2307         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
2308
2309         isinf: Fix for platforms where 'long double' == 'double'.
2310         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
2311         Don't blindly assume 80-bit 'long double'.
2312
2313         isfinite: Fix for platforms where 'long double' == 'double'.
2314         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
2315         Don't blindly assume 80-bit 'long double'.
2316
2317         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
2318         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
2319         * modules/isfinite-tests (configure.ac): Require
2320         gl_LONG_DOUBLE_VS_DOUBLE.
2321         * modules/isinf-tests (configure.ac): Likewise.
2322         * modules/isnan-tests (configure.ac): Likewise.
2323         * modules/isnanl-tests (configure.ac): Likewise.
2324         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
2325         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
2326         tests on platforms where 'long double' is the same as 'double'.
2327         * tests/test-isinf.c (test_isinfl): Likewise.
2328         * tests/test-isnan.c (test_long_double): Likewise.
2329         * tests/test-isnanl.h (main): Likewise.
2330
2331 2011-10-08  Bruno Haible  <bruno@clisp.org>
2332
2333         Tests for module 'tanhf'.
2334         * modules/tanhf-tests: New file.
2335         * tests/test-tanhf.c: New file.
2336
2337         New module 'tanhf'.
2338         * lib/math.in.h (tanhf): New declaration.
2339         * lib/tanhf.c: New file.
2340         * m4/tanhf.m4: New file.
2341         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
2342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
2343         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
2344         * modules/tanhf: New file.
2345         * tests/test-math-c++.cc: Check the declaration of tanhf.
2346         * doc/posix-functions/tanhf.texi: Mention the new module.
2347
2348         tanh: Use a .m4 file.
2349         * m4/tanh.m4: New file.
2350         * modules/tanh (Files): Add it.
2351         (configure.ac): Just invoke gl_FUNC_TANH.
2352
2353 2011-10-08  Bruno Haible  <bruno@clisp.org>
2354
2355         Tests for module 'coshf'.
2356         * modules/coshf-tests: New file.
2357         * tests/test-coshf.c: New file.
2358
2359         New module 'coshf'.
2360         * lib/math.in.h (coshf): New declaration.
2361         * lib/coshf.c: New file.
2362         * m4/coshf.m4: New file.
2363         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
2364         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
2365         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
2366         * modules/coshf: New file.
2367         * tests/test-math-c++.cc: Check the declaration of coshf.
2368         * doc/posix-functions/coshf.texi: Mention the new module.
2369
2370         cosh: Use a .m4 file.
2371         * m4/cosh.m4: New file.
2372         * modules/cosh (Files): Add it.
2373         (configure.ac): Just invoke gl_FUNC_COSH.
2374
2375 2011-10-08  Bruno Haible  <bruno@clisp.org>
2376
2377         Tests for module 'sinhf'.
2378         * modules/sinhf-tests: New file.
2379         * tests/test-sinhf.c: New file.
2380
2381         New module 'sinhf'.
2382         * lib/math.in.h (sinhf): New declaration.
2383         * lib/sinhf.c: New file.
2384         * m4/sinhf.m4: New file.
2385         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
2386         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
2387         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
2388         * modules/sinhf: New file.
2389         * tests/test-math-c++.cc: Check the declaration of sinhf.
2390         * doc/posix-functions/sinhf.texi: Mention the new module.
2391
2392         sinh: Use a .m4 file.
2393         * m4/sinh.m4: New file.
2394         * modules/sinh (Files): Add it.
2395         (configure.ac): Just invoke gl_FUNC_SINH.
2396
2397 2011-10-08  Bruno Haible  <bruno@clisp.org>
2398
2399         Tests for module 'atan2f'.
2400         * modules/atan2f-tests: New file.
2401         * tests/test-atan2f.c: New file.
2402
2403         New module 'atan2f'.
2404         * lib/math.in.h (atan2f): New declaration.
2405         * lib/atan2f.c: New file.
2406         * m4/atan2f.m4: New file.
2407         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
2408         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
2409         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
2410         * modules/atan2f: New file.
2411         * tests/test-math-c++.cc: Check the declaration of atan2f.
2412         * doc/posix-functions/atan2f.texi: Mention the new module.
2413
2414         atan2: Use a .m4 file.
2415         * m4/atan2.m4: New file.
2416         * modules/atan2 (Files): Add it.
2417         (configure.ac): Just invoke gl_FUNC_ATAN2.
2418
2419 2011-10-08  Bruno Haible  <bruno@clisp.org>
2420
2421         Tests for module 'atanf'.
2422         * modules/atanf-tests: New file.
2423         * tests/test-atanf.c: New file.
2424
2425         New module 'atanf'.
2426         * lib/math.in.h (atanf): New declaration.
2427         * lib/atanf.c: New file.
2428         * m4/atanf.m4: New file.
2429         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
2430         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
2431         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
2432         * modules/atanf: New file.
2433         * tests/test-math-c++.cc: Check the declaration of atanf.
2434         * doc/posix-functions/atanf.texi: Mention the new module.
2435
2436         atan: Use a .m4 file.
2437         * m4/atan.m4: New file.
2438         * modules/atan (Files): Add it.
2439         (configure.ac): Just invoke gl_FUNC_ATAN.
2440
2441 2011-10-08  Bruno Haible  <bruno@clisp.org>
2442
2443         Tests for module 'acosf'.
2444         * modules/acosf-tests: New file.
2445         * tests/test-acosf.c: New file.
2446
2447         New module 'acosf'.
2448         * lib/math.in.h (acosf): New declaration.
2449         * lib/acosf.c: New file.
2450         * m4/acosf.m4: New file.
2451         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
2452         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
2453         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
2454         * modules/acosf: New file.
2455         * tests/test-math-c++.cc: Check the declaration of acosf.
2456         * doc/posix-functions/acosf.texi: Mention the new module.
2457
2458         acos: Use a .m4 file.
2459         * m4/acos.m4: New file.
2460         * modules/acos (Files): Add it.
2461         (configure.ac): Just invoke gl_FUNC_ACOS.
2462
2463 2011-10-08  Bruno Haible  <bruno@clisp.org>
2464
2465         Tests for module 'asinf'.
2466         * modules/asinf-tests: New file.
2467         * tests/test-asinf.c: New file.
2468
2469         New module 'asinf'.
2470         * lib/math.in.h (asinf): New declaration.
2471         * lib/asinf.c: New file.
2472         * m4/asinf.m4: New file.
2473         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
2474         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
2475         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
2476         * modules/asinf: New file.
2477         * tests/test-math-c++.cc: Check the declaration of asinf.
2478         * doc/posix-functions/asinf.texi: Mention the new module.
2479
2480         asin: Use a .m4 file.
2481         * m4/asin.m4: New file.
2482         * modules/asin (Files): Add it.
2483         (configure.ac): Just invoke gl_FUNC_ASIN.
2484
2485 2011-10-08  Bruno Haible  <bruno@clisp.org>
2486
2487         Tests for module 'tanf'.
2488         * modules/tanf-tests: New file.
2489         * tests/test-tanf.c: New file.
2490
2491         New module 'tanf'.
2492         * lib/math.in.h (tanf): New declaration.
2493         * lib/tanf.c: New file.
2494         * m4/tanf.m4: New file.
2495         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
2496         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
2497         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
2498         * modules/tanf: New file.
2499         * tests/test-math-c++.cc: Check the declaration of tanf.
2500         * doc/posix-functions/tanf.texi: Mention the new module.
2501
2502         tan: Use a .m4 file.
2503         * m4/tan.m4: New file.
2504         * modules/tan (Files): Add it.
2505         (configure.ac): Just invoke gl_FUNC_TAN.
2506
2507 2011-10-08  Bruno Haible  <bruno@clisp.org>
2508
2509         Tests for module 'cosf'.
2510         * modules/cosf-tests: New file.
2511         * tests/test-cosf.c: New file.
2512
2513         New module 'cosf'.
2514         * lib/math.in.h (cosf): New declaration.
2515         * lib/cosf.c: New file.
2516         * m4/cosf.m4: New file.
2517         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
2518         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
2519         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
2520         * modules/cosf: New file.
2521         * tests/test-math-c++.cc: Check the declaration of cosf.
2522         * doc/posix-functions/cosf.texi: Mention the new module.
2523
2524         cos: Use a .m4 file.
2525         * m4/cos.m4: New file.
2526         * modules/cos (Files): Add it.
2527         (configure.ac): Just invoke gl_FUNC_COS.
2528
2529 2011-10-08  Bruno Haible  <bruno@clisp.org>
2530
2531         Tests for module 'sinf'.
2532         * modules/sinf-tests: New file.
2533         * tests/test-sinf.c: New file.
2534
2535         New module 'sinf'.
2536         * lib/math.in.h (sinf): New declaration.
2537         * lib/sinf.c: New file.
2538         * m4/sinf.m4: New file.
2539         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
2540         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
2541         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
2542         * modules/sinf: New file.
2543         * tests/test-math-c++.cc: Check the declaration of sinf.
2544         * doc/posix-functions/sinf.texi: Mention the new module.
2545
2546         sin: Use a .m4 file.
2547         * m4/sin.m4: New file.
2548         * modules/sin (Files): Add it.
2549         (configure.ac): Just invoke gl_FUNC_SIN.
2550
2551 2011-10-08  Bruno Haible  <bruno@clisp.org>
2552
2553         Tests for module 'powf'.
2554         * modules/powf-tests: New file.
2555         * tests/test-powf.c: New file.
2556
2557         New module 'powf'.
2558         * lib/math.in.h (powf): New declaration.
2559         * lib/powf.c: New file.
2560         * m4/powf.m4: New file.
2561         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
2562         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
2563         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
2564         * modules/powf: New file.
2565         * tests/test-math-c++.cc: Check the declaration of powf.
2566         * doc/posix-functions/powf.texi: Mention the new module.
2567
2568         pow: Use a .m4 file.
2569         * m4/pow.m4: New file.
2570         * modules/pow (Files): Add it.
2571         (configure.ac): Just invoke gl_FUNC_POW.
2572
2573 2011-10-08  Bruno Haible  <bruno@clisp.org>
2574
2575         Tests for module 'log10f'.
2576         * modules/log10f-tests: New file.
2577         * tests/test-log10f.c: New file.
2578
2579         New module 'log10f'.
2580         * lib/math.in.h (log10f): New declaration.
2581         * lib/log10f.c: New file.
2582         * m4/log10f.m4: New file.
2583         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
2584         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
2585         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
2586         * modules/log10f: New file.
2587         * tests/test-math-c++.cc: Check the declaration of log10f.
2588         * doc/posix-functions/log10f.texi: Mention the new module.
2589
2590         log10: Use a .m4 file.
2591         * m4/log10.m4: New file.
2592         * modules/log10 (Files): Add it.
2593         (configure.ac): Just invoke gl_FUNC_LOG10.
2594
2595 2011-10-08  Bruno Haible  <bruno@clisp.org>
2596
2597         Tests for module 'logf'.
2598         * modules/logf-tests: New file.
2599         * tests/test-logf.c: New file.
2600
2601         New module 'logf'.
2602         * lib/math.in.h (logf): New declaration.
2603         * lib/logf.c: New file.
2604         * m4/logf.m4: New file.
2605         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
2606         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
2607         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
2608         * modules/logf: New file.
2609         * tests/test-math-c++.cc: Check the declaration of logf.
2610         * doc/posix-functions/logf.texi: Mention the new module.
2611
2612         log: Use a .m4 file.
2613         * m4/log.m4: New file.
2614         * modules/log (Files): Add it.
2615         (configure.ac): Just invoke gl_FUNC_LOG.
2616
2617 2011-10-08  Bruno Haible  <bruno@clisp.org>
2618
2619         Tests for module 'expf'.
2620         * modules/expf-tests: New file.
2621         * tests/test-expf.c: New file.
2622
2623         New module 'expf'.
2624         * lib/math.in.h (expf): New declaration.
2625         * lib/expf.c: New file.
2626         * m4/expf.m4: New file.
2627         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
2628         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
2629         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
2630         * modules/expf: New file.
2631         * tests/test-math-c++.cc: Check the declaration of expf.
2632         * doc/posix-functions/expf.texi: Mention the new module.
2633
2634         exp: Use a .m4 file.
2635         * m4/exp.m4: New file.
2636         * modules/exp (Files): Add it.
2637         (configure.ac): Just invoke gl_FUNC_EXP.
2638
2639 2011-10-08  Bruno Haible  <bruno@clisp.org>
2640
2641         Tests for module 'sqrtf'.
2642         * modules/sqrtf-tests: New file.
2643         * tests/test-sqrtf.c: New file.
2644
2645         New module 'sqrtf'.
2646         * lib/math.in.h (sqrtf): New declaration.
2647         * lib/sqrtf.c: New file.
2648         * m4/sqrtf.m4: New file.
2649         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
2650         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
2651         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
2652         * modules/sqrtf: New file.
2653         * tests/test-math-c++.cc: Check the declaration of sqrtf.
2654         * doc/posix-functions/sqrtf.texi: Mention the new module.
2655
2656 2011-10-08  Bruno Haible  <bruno@clisp.org>
2657
2658         Tests: Avoid link failures w.r.t. libintl.
2659         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
2660         $(LIBINTL).
2661         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
2662         $(LIBINTL).
2663         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
2664         against $(LIBINTL).
2665         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
2666         $(LIBINTL).
2667         * modules/openat-tests (Makefile.am): Link test-fchmodat against
2668         $(LIBINTL).
2669         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
2670
2671 2011-10-08  Bruno Haible  <bruno@clisp.org>
2672
2673         pow tests: Defeat compiler optimizations.
2674         * tests/test-pow.c (main): Assign arguments to x and y before use.
2675
2676 2011-10-08  Bruno Haible  <bruno@clisp.org>
2677
2678         gnulib-tool: Improve last commit.
2679         * gnulib-tool (func_modules_transitive_closure): Simplify code.
2680         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
2681         ignore dependencies that are not among the modules list.
2682
2683 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
2684
2685         gnulib-tool: don't follow dependencies to avoided modules
2686         This fixes a bug that is related to the previous one.
2687         * gnulib-tool (func_modules_transitive_closure)
2688         (func_emit_autoconf_snippets):
2689         Check whether a dependency is acceptable before using it.
2690         (--extract-dependencies): Report an error if --avoid is also used,
2691         since this combination of options is not yet supported.
2692
2693         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
2694         Problem reported by Peter Dyballa in
2695         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
2696         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
2697         when echoing "$condition".
2698
2699 2011-10-07  Bruno Haible  <bruno@clisp.org>
2700
2701         Fix documentation about math functions on MacOS X.
2702         * doc/posix-functions/exp2.texi: Don't say the function is missing on
2703         MacOS X 10.5.
2704         * doc/posix-functions/fdim.texi: Likewise.
2705         * doc/posix-functions/feclearexcept.texi: Likewise.
2706         * doc/posix-functions/fegetenv.texi: Likewise.
2707         * doc/posix-functions/fegetround.texi: Likewise.
2708         * doc/posix-functions/feholdexcept.texi: Likewise.
2709         * doc/posix-functions/feraiseexcept.texi: Likewise.
2710         * doc/posix-functions/fesetenv.texi: Likewise.
2711         * doc/posix-functions/fesetround.texi: Likewise.
2712         * doc/posix-functions/fetestexcept.texi: Likewise.
2713         * doc/posix-functions/feupdateenv.texi: Likewise.
2714         * doc/posix-functions/fmax.texi: Likewise.
2715         * doc/posix-functions/fmin.texi: Likewise.
2716         * doc/posix-functions/log2.texi: Likewise.
2717         * doc/posix-functions/modff.texi: Likewise.
2718         * doc/posix-functions/nan.texi: Likewise.
2719         * doc/posix-functions/nanf.texi: Likewise.
2720         * doc/posix-functions/nextafterf.texi: Likewise.
2721         * doc/posix-functions/remquo.texi: Likewise.
2722
2723 2011-10-07  Bruno Haible  <bruno@clisp.org>
2724
2725         modff: Drop assumption about library that defines modff.
2726         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
2727         AC_CHECK_FUNCS.
2728         * modules/modff (Files): Add m4/mathfunc.m4.
2729
2730 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
2731
2732         raise tests: Avoid a GCC warning.
2733         * tests/test-raise.c (handler): Use _Noreturn.
2734
2735 2011-10-07  Bruno Haible  <bruno@clisp.org>
2736
2737         Tests for module 'ldexpf'.
2738         * modules/ldexpf-tests: New file.
2739         * tests/test-ldexpf.c: New file.
2740
2741         New module 'ldexpf'.
2742         * lib/math.in.h (ldexpf): New declaration.
2743         * lib/ldexpf.c: New file.
2744         * m4/ldexpf.m4: New file.
2745         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
2746         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
2747         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
2748         * modules/ldexpf: New file.
2749         * tests/test-math-c++.cc: Check the declaration of ldexpf.
2750         * doc/posix-functions/ldexpf.texi: Mention the new module.
2751
2752 2011-10-06  Bruno Haible  <bruno@clisp.org>
2753
2754         frexpf: Work around problems on IRIX and mingw.
2755         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
2756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
2757         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
2758         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
2759         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
2760         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
2761         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
2762
2763 2011-10-06  Bruno Haible  <bruno@clisp.org>
2764
2765         fabsf: Drop assumption about library that defines fabsf.
2766         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
2767         AC_CHECK_FUNCS.
2768         * modules/fabsf (Files): Add m4/mathfunc.m4.
2769
2770 2011-10-06  Bruno Haible  <bruno@clisp.org>
2771
2772         frexpf: Drop assumption about library that defines frexpf.
2773         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
2774         'int *', 'float *', 'long double *', 'float', 'long double'.
2775         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
2776         AC_CHECK_FUNCS.
2777         * modules/frexpf (Files): Add m4/mathfunc.m4.
2778
2779         Tests for module 'frexpf'.
2780         * modules/frexpf-tests: New file.
2781         * tests/test-frexpf.c: New file.
2782
2783         New module 'frexpf'.
2784         * lib/math.in.h (frexpf): New declaration.
2785         * lib/frexpf.c: New file.
2786         * m4/frexpf.m4: New file.
2787         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
2788         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
2789         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
2790         * modules/frexpf: New file.
2791         * tests/test-math-c++.cc: Check the declaration of frexpf.
2792         * doc/posix-functions/frexpf.texi: Mention the new module.
2793
2794 2011-10-06  Bruno Haible  <bruno@clisp.org>
2795
2796         math: Sort function declarations of math.in.h.
2797         * lib/math.in.h (frexp, logb): Move declarations.
2798
2799 2011-10-05  Bruno Haible  <bruno@clisp.org>
2800
2801         Tests for module 'modff'.
2802         * modules/modff-tests: New file.
2803         * tests/test-modff.c: New file.
2804
2805         New module 'modff'.
2806         * lib/math.in.h (modff): New declaration.
2807         * lib/modff.c: New file.
2808         * m4/modff.m4: New file.
2809         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
2810         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
2811         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
2812         * modules/modff: New file.
2813         * tests/test-math-c++.cc: Check the declaration of modff.
2814         * doc/posix-functions/modff.texi: Mention the new module.
2815
2816         modf tests: Make test sharper.
2817         * tests/test-modf.c (main): Strengthen upper bound.
2818
2819         modf: Use a .m4 file.
2820         * m4/modf.m4: New file.
2821         * modules/modf (Files): Add it.
2822         (configure.ac): Just invoke gl_FUNC_MODF.
2823
2824 2011-10-05  Bruno Haible  <bruno@clisp.org>
2825
2826         Tests for module 'fmodf'.
2827         * modules/fmodf-tests: New file.
2828         * tests/test-fmodf.c: New file.
2829
2830         New module 'fmodf'.
2831         * lib/math.in.h (fmodf): New declaration.
2832         * lib/fmodf.c: New file.
2833         * m4/fmodf.m4: New file.
2834         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
2835         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
2836         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
2837         * modules/fmodf: New file.
2838         * tests/test-math-c++.cc: Check the declaration of fmodf.
2839         * doc/posix-functions/fmodf.texi: Mention the new module.
2840
2841         fmod: Use a .m4 file.
2842         * m4/fmod.m4: New file.
2843         * modules/fmod (Files): Add it.
2844         (configure.ac): Just invoke gl_FUNC_FMOD.
2845
2846 2011-10-05  Bruno Haible  <bruno@clisp.org>
2847
2848         Tests for module 'fabsf'.
2849         * modules/fabsf-tests: New file.
2850         * tests/test-fabsf.c: New file.
2851
2852         New module 'fabsf'.
2853         * lib/math.in.h (fabsf): New declaration.
2854         * lib/fabsf.c: New file.
2855         * m4/fabsf.m4: New file.
2856         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
2857         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
2858         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
2859         * modules/fabsf: New file.
2860         * tests/test-math-c++.cc: Check the declaration of fabsf.
2861         * doc/posix-functions/fabsf.texi: Mention the new module.
2862
2863         fabs: Use a .m4 file.
2864         * m4/fabs.m4: New file.
2865         * modules/fabs (Files): Add it.
2866         (configure.ac): Just invoke gl_FUNC_FABS.
2867
2868 2011-10-05  Jim Meyering  <meyering@redhat.com>
2869
2870         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
2871         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
2872         ls -lL regression introduced in coreutils-8.12, it does so at the
2873         cost of an additional stat call in the common case.  Besides, now
2874         that the kernel change that prompted commit 95f7c57f has been reverted
2875         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
2876         we have no use for commit 95f7c57f, "file-has-acl: use
2877         acl_extended_file_nofollow if available".
2878
2879 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
2880
2881         file-has-acl: revert unintended change in behavior of ls -L
2882         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
2883         derived from...
2884         (file_has_acl): ...code here.  Call it.
2885         This problem was introduced with 2011-07-22 commit 95f7c57f,
2886         "file-has-acl: use acl_extended_file_nofollow if available".
2887         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
2888
2889 2011-10-03  Bruno Haible  <bruno@clisp.org>
2890
2891         poll: Avoid link errors on MSVC.
2892         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
2893         * modules/poll (Depends-on): Add sockets.
2894         (Link): New section.
2895         * NEWS: Mention the change.
2896         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
2897         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
2898         $(LIB_POLL) instead of $(LIBSOCKET).
2899
2900 2011-10-03  Bruno Haible  <bruno@clisp.org>
2901
2902         sys_select tests: Fix link error on MSVC 9.
2903         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
2904         with $(LIB_SELECT) instead of $(LIBSOCKET).
2905
2906 2011-10-03  Bruno Haible  <bruno@clisp.org>
2907
2908         sys_select: Fix compilation error on mingw.
2909         * lib/sys_select.in.h: On native Windows, include <io.h>.
2910
2911 2011-10-03  Bruno Haible  <bruno@clisp.org>
2912
2913         wmemset: Support for MSVC.
2914         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
2915         whether wmemset() exists.
2916
2917 2011-10-03  Bruno Haible  <bruno@clisp.org>
2918
2919         wmemmove: Support for MSVC.
2920         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
2921         whether wmemmove() exists.
2922
2923 2011-10-03  Bruno Haible  <bruno@clisp.org>
2924
2925         wmemcpy: Support for MSVC.
2926         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
2927         whether wmemcpy() exists.
2928
2929 2011-10-03  Bruno Haible  <bruno@clisp.org>
2930
2931         wmemcmp: Support for MSVC.
2932         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
2933         whether wmemcmp() exists.
2934
2935 2011-10-03  Bruno Haible  <bruno@clisp.org>
2936
2937         wmemchr: Support for MSVC.
2938         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
2939         whether wmemchr() exists.
2940
2941 2011-10-03  Bruno Haible  <bruno@clisp.org>
2942
2943         glthread/*, strsignal: Support for MSVC.
2944         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
2945         including <winsock.h> on MSVC 9.
2946         * lib/glthread/lock.h: Likewise.
2947         * lib/glthread/thread.h: Likewise.
2948         * lib/glthread/tls.h: Likewise.
2949         * lib/glthread/yield.h: Likewise.
2950         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
2951         if HAVE_UNISTD_H is false.
2952         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
2953
2954 2011-10-03  Bruno Haible  <bruno@clisp.org>
2955
2956         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
2957         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
2958         Set to 100000.
2959
2960 2011-10-03  Bruno Haible  <bruno@clisp.org>
2961
2962         acl: Fix specification.
2963         * lib/file-has-acl.c (file_has_acl): Fix specification.
2964
2965 2011-10-03  Bruno Haible  <bruno@clisp.org>
2966
2967         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
2968         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
2969         (compute_curr_prefix, shared_library_fullname,
2970         find_shared_library_fullname, get_shared_library_fullname, relocate):
2971         Use it together with PIC && INSTALLDIR.
2972         Reported by <jojelino@gmail.com>
2973         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
2974
2975 2011-10-01  Jim Meyering  <meyering@redhat.com>
2976
2977         maint.mk: adjust a release-related rule not to require use of gzip
2978         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
2979         Instead, check each file in $(DIST_ARCHIVES).  This is better for
2980         projects that build only .tar.xz files.  Also fix an erroneous test.
2981
2982         test-linkat: don't leave behind a temporary file
2983         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
2984         Otherwise, coreutils' "make distcheck" would fail with this:
2985           Only in /c/cu/tests/torture/coreutils/test/\
2986             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
2987           make[2]: *** [my-distcheck] Error 1
2988
2989         float, math: add omitted file
2990         * lib/itold.c: Add file, required for yesterday's float change.
2991
2992 2011-10-01  Bruno Haible  <bruno@clisp.org>
2993
2994         isinf: Fix for OpenBSD/x86.
2995         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
2996         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
2997         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2998
2999 2011-10-01  Bruno Haible  <bruno@clisp.org>
3000
3001         isfinite: Fix syntax error in configure test.
3002         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
3003
3004         isfinite: Fix typo.
3005         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
3006         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
3007
3008 2011-10-01  Bruno Haible  <bruno@clisp.org>
3009
3010         nonblocking tests: Fix test failure on Linux/IA-64.
3011         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
3012         Set to 270000.
3013
3014 2011-10-01  Bruno Haible  <bruno@clisp.org>
3015
3016         mkfifoat tests: Fix a test failure on mingw.
3017         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
3018         with error ENOSYS.
3019
3020 2011-09-30  Bruno Haible  <bruno@clisp.org>
3021
3022         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
3023         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
3024         'long double'. Set REPLACE_ITOLD.
3025         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
3026         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
3027         * lib/itold.c: New file.
3028         * modules/float (Files): Add lib/itold.c.
3029         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
3030         (Makefile.am): Substitute REPLACE_ITOLD.
3031         * modules/math (Depends-on): Add float.
3032         (Makefile.am): Substitute REPLACE_ITOLD.
3033         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
3034         * doc/posix-headers/math.texi: Likewise.
3035         * doc/posix-functions/logl.texi: Likewise.
3036
3037 2011-09-30  Bruno Haible  <bruno@clisp.org>
3038
3039         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
3040         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
3041         Set to 140000.
3042
3043 2011-09-30  Bruno Haible  <bruno@clisp.org>
3044
3045         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
3046         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
3047         invocation, say "right after AC_PROG_CC_STDC", not "right after
3048         AC_PROG_CC".
3049         Reported by Gary V. Vaughan <gary@gnu.org>.
3050
3051 2011-09-30  Bruno Haible  <bruno@clisp.org>
3052
3053         Centralize C99 requirement.
3054         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
3055         * modules/stdarg (configure.ac-early): Invoke it instead of
3056         AC_PROG_CC_STDC.
3057         Reported by Gary V. Vaughan and Paul Eggert.
3058
3059 2011-09-29  Bruno Haible  <bruno@clisp.org>
3060
3061         float: Fix LDBL_MAX value on Linux/PowerPC.
3062         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
3063         on Linux/PowerPC.
3064         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
3065         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
3066         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
3067         platform.
3068         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
3069
3070 2011-09-29  Bruno Haible  <bruno@clisp.org>
3071
3072         doc: Improve doc about gl_EARLY.
3073         * doc/gnulib-tool.texi (Initial import): Mention where to place an
3074         AC_PROG_CC_STDC invocation.
3075         Reported by Gary V. Vaughan <gary@gnu.org>.
3076
3077 2011-09-28  Bruno Haible  <bruno@clisp.org>
3078
3079         fgetc, fputc, fread, fwrite tests: Fix link error.
3080         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
3081         on non-MSVC platforms.
3082         * tests/test-fputc.c (main): Likewise.
3083         * tests/test-fread.c (main): Likewise.
3084         * tests/test-fwrite.c (main): Likewise.
3085         Reported by Jim Meyering.
3086
3087 2011-09-27  Bruno Haible  <bruno@clisp.org>
3088
3089         fputc, fwrite tests: Avoid test failure on MSVC.
3090         * tests/test-fgetc.c: Include msvc-inval.h.
3091         (main): Invoke gl_msvc_inval_ensure_handler.
3092         * tests/test-fputc.c: Include msvc-inval.h.
3093         (main): Invoke gl_msvc_inval_ensure_handler.
3094         * tests/test-fread.c: Include msvc-inval.h.
3095         (main): Invoke gl_msvc_inval_ensure_handler.
3096         * tests/test-fwrite.c: Include msvc-inval.h.
3097         (main): Invoke gl_msvc_inval_ensure_handler.
3098         * modules/fgetc-tests (Depends-on): Add msvc-inval.
3099         * modules/fputc-tests (Depends-on): Likewise.
3100         * modules/fread-tests (Depends-on): Likewise.
3101         * modules/fwrite-tests (Depends-on): Likewise.
3102
3103 2011-09-27  Bruno Haible  <bruno@clisp.org>
3104
3105         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
3106         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
3107         (raise): Remove older, duplicated declaration.
3108         (_gl_raise_SIGPIPE): New declaration.
3109         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
3110         (rpl_raise): Remove function.
3111         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
3112         a gnulib-defined SIGPIPE here.
3113         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
3114         'sigprocmask' has detected missing signal-blocking and the module
3115         'sigpipe' is enabled.
3116         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
3117
3118 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
3119
3120         base64-tests: avoid memory leak
3121         * tests/test-base64.c (main): Plug memory leak.
3122
3123         base32: new module
3124         * modules/base32: New module.
3125         * lib/base32.c: New file.
3126         * lib/base32.h: Likewise.
3127         * m4/base32.m4: Likewise.
3128         * modules/base32-tests: New test.
3129         * tests/test-base32.c: Likewise.
3130         * MODULES.html.sh (Misc): Mention it.
3131
3132 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3133
3134         gnulib: use more-standard license notice wording
3135         * gnulib-tool (func_emit_copyright_notice): When emitting a
3136         license notice into a file, use the standard wording as suggested
3137         by the current information for GNU maintainers, except say "file"
3138         rather than "program".  The new wording gives a license version
3139         number, which addresses an issue raised by Glenn Morris in
3140         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
3141         * m4/onceonly.m4: Use that same wording here, too.
3142
3143         dup2: minor simplification
3144         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
3145         as lib/dup2.c no longer uses 'inline'.
3146
3147 2011-09-25  Bruno Haible  <bruno@clisp.org>
3148
3149         strings: Fix compilation error on MSVC.
3150         * lib/strings.in.h: Include <stddef.h> for size_t.
3151
3152 2011-09-25  Bruno Haible  <bruno@clisp.org>
3153
3154         fflush et al.: Document limitation on MSVC.
3155         * doc/posix-functions/fflush.texi: Document possible crash in handling
3156         mode other than DEFAULT_HANDLING.
3157         * doc/posix-functions/fgetc.texi: Likewise.
3158         * doc/posix-functions/fputc.texi: Likewise.
3159         * doc/posix-functions/fread.texi: Likewise.
3160         * doc/posix-functions/fwrite.texi: Likewise.
3161
3162 2011-09-25  Bruno Haible  <bruno@clisp.org>
3163
3164         msvc-inval: Allow three invalid parameter handling modes.
3165         * lib/msvc-inval.h: Don't include <stdlib.h> here.
3166         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
3167         macros.
3168         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
3169         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
3170         SANE_LIBRARY_HANDLING as a no-op.
3171         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
3172         <stdlib.h>.
3173         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
3174
3175 2011-09-25  Bruno Haible  <bruno@clisp.org>
3176
3177         msvc-inval: Make handler multithread-safe.
3178         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
3179         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
3180         declarations.
3181         (gl_msvc_inval_current): New declaration.
3182         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
3183         Operate on the structure returned by gl_msvc_inval_current().
3184         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
3185         Remove varaiables.
3186         (tls_index, tls_initialized): New variables.
3187         (not_per_thread): New variable.
3188         (gl_msvc_inval_current): New function.
3189         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
3190         returned by gl_msvc_inval_current().
3191
3192 2011-09-25  Bruno Haible  <bruno@clisp.org>
3193
3194         msvc-inval: Install handler globally.
3195         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
3196         !_MSC_VER.
3197         (gl_msvc_invalid_parameter_handler): Remove declaration.
3198         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
3199         declarations.
3200         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
3201         Install the handler globally, don't uninstall it.
3202         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
3203         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
3204         currently valid, call RaiseException instead.
3205         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
3206         for !_MSC_VER.
3207
3208 2011-09-25  Bruno Haible  <bruno@clisp.org>
3209
3210         strerror_r-posix: Fix for MSVC 9.
3211         * lib/strerror_r.c (local_snprintf): New function.
3212         (snprintf): Define to local_snprintf, not to _snprintf.
3213
3214 2011-09-25  Bruno Haible  <bruno@clisp.org>
3215
3216         ftruncate: Support for MSVC 9.
3217         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
3218         (chsize_nothrow): New function.
3219         (chsize): Redefine as a macro.
3220         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
3221         * modules/ftruncate (Depends-on): Add msvc-inval.
3222
3223 2011-09-25  Bruno Haible  <bruno@clisp.org>
3224
3225         New module 'fstat'.
3226         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
3227         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
3228         * lib/fchdir.c (rpl_fstat): Remove function.
3229         * m4/fstat.m4: New file.
3230         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
3231         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
3232         declared.
3233         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
3234         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
3235         * modules/fstat: New file.
3236         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
3237         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
3238         is set.
3239         * doc/posix-functions/fstat.texi: Mention the new module and the
3240         problem on MSVC.
3241         * NEWS: Mention the change.
3242         * modules/acl (Depends-on): Add fstat.
3243         * modules/chdir-safer (Depends-on): Likewise.
3244         * modules/chown (Depends-on): Likewise.
3245         * modules/copy-file (Depends-on): Likewise.
3246         * modules/fchdir (Depends-on): Likewise.
3247         * modules/fdopendir (Depends-on): Likewise.
3248         * modules/fopen (Depends-on): Likewise.
3249         * modules/fts (Depends-on): Likewise.
3250         * modules/getcwd (Depends-on): Likewise.
3251         * modules/isapipe (Depends-on): Likewise.
3252         * modules/linkat (Depends-on): Likewise.
3253         * modules/lseek (Depends-on): Likewise.
3254         * modules/mkdir-p (Depends-on): Likewise.
3255         * modules/open (Depends-on): Likewise.
3256         * modules/openat (Depends-on): Likewise.
3257         * modules/read-file (Depends-on): Likewise.
3258         * modules/renameat (Depends-on): Likewise.
3259         * modules/utimens (Depends-on): Likewise.
3260
3261 2011-09-25  Bruno Haible  <bruno@clisp.org>
3262
3263         linkat: Fix compilation on MSVC 9.
3264         * lib/linkat.c: Don't include <stdint.h>.
3265
3266 2011-09-25  Bruno Haible  <bruno@clisp.org>
3267
3268         fclose: Support for MSVC 9.
3269         * lib/fclose.c: Include msvc-inval.h.
3270         (fclose_nothrow): New function.
3271         (rpl_fclose): Use it.
3272         * modules/fclose (Depends-on): Add msvc-inval.
3273         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
3274
3275 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
3276
3277         dup2: minor simplifications
3278         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
3279         that it's a performance win.
3280         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
3281         ! defined __CYGWIN__)" to "ifdef F_GETFL".
3282
3283 2011-09-24  Jim Meyering  <meyering@redhat.com>
3284
3285         test-futimens: avoid a warning from gcc -Wshadow
3286         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
3287         to avoid a shadowing warning.
3288
3289 2011-09-24  Bruno Haible  <bruno@clisp.org>
3290
3291         fdopen: Support for MSVC 9.
3292         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
3293         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
3294         * lib/fdopen.c: Include msvc-inval.h.
3295         (fdopen_nothrow): New function.
3296         (rpl_fdopen): Use it.
3297         * modules/fdopen (Depends-on): Add msvc-inval.
3298         * modules/fclose-tests (Depends-on): Add fdopen.
3299         * modules/fflush-tests (Depends-on): Likewise.
3300         * modules/fgetc-tests (Depends-on): Likewise.
3301         * modules/fputc-tests (Depends-on): Likewise.
3302         * modules/fread-tests (Depends-on): Likewise.
3303         * modules/freopen-tests (Depends-on): Likewise.
3304         * modules/fseeko-tests (Depends-on): Likewise.
3305         * modules/ftello-tests (Depends-on): Likewise.
3306         * modules/fwrite-tests  (Depends-on): Likewise.
3307         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
3308
3309 2011-09-24  Bruno Haible  <bruno@clisp.org>
3310
3311         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
3312         * modules/fgetc-tests (Depends-on): Add unistd.
3313         * modules/fputc-tests (Depends-on): Likewise.
3314         * modules/fread-tests (Depends-on): Likewise.
3315         * modules/fwrite-tests (Depends-on): Likewise.
3316
3317 2011-09-24  Bruno Haible  <bruno@clisp.org>
3318
3319         dup: Simplify autoconf test.
3320         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
3321         on gl_MSVC_INVAL's result.
3322
3323 2011-09-24  Bruno Haible  <bruno@clisp.org>
3324
3325         Tests for function fwrite().
3326         * modules/fwrite-tests: New file.
3327         * tests/test-fwrite.c: New file.
3328         * modules/stdio-tests (Depends-on): Add fwrite-tests.
3329
3330         Tests for function fread().
3331         * modules/fread-tests: New file.
3332         * tests/test-fread.c: New file.
3333         * modules/stdio-tests (Depends-on): Add fread-tests.
3334
3335         Activate fputc tests.
3336         * modules/stdio-tests (Depends-on): Add fputc-tests.
3337
3338         Enhance fgetc, fputc tests.
3339         * tests/test-fgetc.c (main): Also test the stream's error indicator.
3340         * tests/test-fputc.c (main): Likewise.
3341
3342 2011-09-24  Bruno Haible  <bruno@clisp.org>
3343
3344         write: Support for MSVC 9.
3345         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
3346         is not 1.
3347         * lib/write.c (write_nothrow): New function.
3348         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
3349         not 1. Use write_nothrow.
3350         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
3351         invalid parameter handler.
3352         (gl_PREREQ_WRITE): New macro.
3353         * modules/write (Depends-on): Add msvc-inval.
3354         (configure.ac): Invoke gl_PREREQ_WRITE.
3355         * doc/posix-functions/write.texi: Mention the problem on MSVC.
3356
3357 2011-09-24  Bruno Haible  <bruno@clisp.org>
3358
3359         read: Fix last commit.
3360         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
3361
3362 2011-09-24  Bruno Haible  <bruno@clisp.org>
3363
3364         dup2: Fix last commit.
3365         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
3366         (rpl_dup2): Disable fcntl workaround on native Windows.
3367
3368         sigprocmask: Make code safer.
3369         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
3370         section that changes macro definitions for this compilation unit.
3371
3372 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3373
3374         dup2: clarify by coalescing Windows-specific material
3375         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
3376         "msvc-nothrow.h"' to the Windows-specific section, so that the
3377         Emacs source need not contain these include files.
3378         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
3379         Windows-specific fixes into this function rather than just the
3380         nothrow fix, as this shortens and clarifies the code.  Always
3381         define as a function, as that's a bit cleaner than having it be
3382         sometimes a function and sometimes a macro.
3383         (rpl_dup2): Move the Windows-specific stuff out of here and into
3384         ms_windows_dup2.  Don't protect the Haiku-related fix with
3385         "#if !defined __linux__", as the same code also works around
3386         a Linux kernel bug, and it doesn't add any system calls on any
3387         platform.  Add comment about FreeBSD 6.1.
3388
3389         sigprocmask: move #include directive
3390         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
3391         Windows-specific section, so that the Emacs source need not
3392         contain msvc-inval.h.
3393
3394 2011-09-23  Bruno Haible  <bruno@clisp.org>
3395
3396         read: Support for MSVC 9.
3397         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
3398         is not 1.
3399         * lib/read.c (read_nothrow): New function.
3400         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
3401         read_nothrow.
3402         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
3403         invalid parameter handler.
3404         (gl_PREREQ_READ): New macro.
3405         * modules/read (Depends-on): Add msvc-inval.
3406         (configure.ac): Invoke gl_PREREQ_READ.
3407         * doc/posix-functions/read.texi: Mention the problem on MSVC.
3408
3409 2011-09-23  Bruno Haible  <bruno@clisp.org>
3410
3411         close: Support for MSVC 9.
3412         * lib/close.c: Include <errno.h>, msvc-inval.h.
3413         (close_nothrow): New function.
3414         (rpl_close): Use it.
3415         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
3416         invalid parameter handler.
3417         * modules/close (Depends-on): Add msvc-inval.
3418         * modules/dup2-tests (Depends-on): Add close.
3419         * modules/dup3-tests (Depends-on): Likewise.
3420         * modules/fcntl-tests (Depends-on): Likewise.
3421         * modules/spawn-pipe-tests (Depends-on): Likewise.
3422         * modules/unistd-safer-tests (Depends-on): Likewise.
3423         * doc/posix-functions/close.texi: Mention the problem on MSVC.
3424
3425 2011-09-23  Bruno Haible  <bruno@clisp.org>
3426
3427         New module 'dup'.
3428         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
3429         Allow replacement.
3430         * lib/dup.c: New file.
3431         * lib/fchdir.c (rpl_dup): Remove function.
3432         * m4/dup.m4: New file.
3433         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
3434         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
3435         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
3436         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
3437         * modules/dup: New file.
3438         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
3439         'dup' module is in use.
3440         * modules/fdopendir (Depends-on): Add dup.
3441         * modules/fdutimensat-tests (Depends-on): Likewise.
3442         * modules/fts (Depends-on): Likewise.
3443         * modules/futimens-tests (Depends-on): Likewise.
3444         * modules/posix_spawnp-tests (Depends-on): Likewise.
3445         * modules/unistd-safer-tests (Depends-on): Likewise.
3446         * modules/utimens-tests (Depends-on): Likewise.
3447         * doc/posix-functions/dup.texi: Mention the new module and the problem
3448         on MSVC.
3449
3450 2011-09-23  Bruno Haible  <bruno@clisp.org>
3451
3452         getdtablesize: Support for MSVC 9.
3453         * lib/getdtablesize.c: Include msvc-inval.h.
3454         (_setmaxstdio_nothrow): New function.
3455         (_setmaxstdio): Redefine it.
3456         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
3457         * modules/getdtablesize (Depends-on): Add msvc-inval.
3458         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
3459
3460 2011-09-23  Bruno Haible  <bruno@clisp.org>
3461
3462         signal-h: Rename from signal.
3463         * modules/signal-h: Renamed from modules/signal.
3464         * modules/pthread_sigmask (Depends-on): Update.
3465         * modules/raise (Depends-on): Likewise.
3466         * modules/sigaction (Depends-on): Likewise.
3467         * modules/sigpipe (Depends-on): Likewise.
3468         * modules/sigprocmask (Depends-on): Likewise.
3469         * modules/sys_select (Depends-on): Likewise.
3470         * modules/signal-h-tests: Renamed from modules/signal-tests.
3471         (Files, Depends-on, Makefile.am): Update.
3472         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
3473         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
3474         (Files, Makefile.am): Update.
3475         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
3476         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
3477         * modules/signal: New placeholder file.
3478         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
3479         * doc/posix-headers/signal.texi: Update.
3480         * NEWS: Mention the change.
3481
3482 2011-09-23  Bruno Haible  <bruno@clisp.org>
3483
3484         sigprocmask: Avoid crashes through signal() on MSVC 9.
3485         * lib/sigprocmask.c: Include msvc-inval.h.
3486         (signal_nothrow): New function.
3487         (signal): Redefine it.
3488         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
3489         * modules/sigprocmask (Depends-on): Add msvc-inval.
3490         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
3491
3492 2011-09-23  Bruno Haible  <bruno@clisp.org>
3493
3494         Tests for module 'raise'.
3495         * modules/raise-tests: New file.
3496         * tests/test-raise.c: New file.
3497
3498         raise: Support for MSVC.
3499         * lib/signal.in.h (raise): New declaration.
3500         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
3501         for native Windows platforms.
3502         * m4/raise.m4: New file.
3503         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
3504         HAVE_RAISE, REPLACE_RAISE.
3505         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
3506         REPLACE_RAISE.
3507         * modules/raise (Status, Notice): Remove fields.
3508         (Files): Add m4/raise.m4.
3509         (Depends-on): Add signal, msvc-inval.
3510         (configure.ac): Use the common idioms.
3511         (Maintainer): Add me.
3512         * tests/test-signal-c++.cc: Check the signature of raise.
3513         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
3514
3515 2011-09-23  Bruno Haible  <bruno@clisp.org>
3516
3517         pipe2: Fix compilation on pre-C99 compilers.
3518         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
3519
3520 2011-09-23  Bruno Haible  <bruno@clisp.org>
3521
3522         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
3523         * lib/msvc-nothrow.h: New file.
3524         * lib/msvc-nothrow.c: New file.
3525         * m4/msvc-nothrow.m4: New file.
3526         * modules/msvc-nothrow: New file.
3527         * lib/dup2.c: Include msvc-nothrow.h.
3528         (rpl_dup2): No need to protect _get_osfhandle call here.
3529         * lib/accept4.c: Include msvc-nothrow.h.
3530         * lib/error.c: Likewise.
3531         * lib/fcntl.c: Likewise.
3532         * lib/lseek.c: Likewise.
3533         * lib/nonblocking.c: Likewise.
3534         * lib/poll.c: Likewise.
3535         * lib/read.c: Likewise.
3536         * lib/select.c: Likewise.
3537         * lib/sockets.h: Likewise.
3538         * lib/sockets.c: Likewise.
3539         * lib/stdio-read.c: Likewise.
3540         * lib/stdio-write.c: Likewise.
3541         * lib/write.c: Likewise.
3542         * lib/w32sock.h: Likewise.
3543         * lib/w32spawn.h: Likewise.
3544         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
3545         * lib/fsync.c: Likewise.
3546         * lib/isapipe.c: Likewise.
3547         * modules/dup2 (Depends-on): Add msvc-nothrow.
3548         * modules/accept4 (Depends-on): Likewise.
3549         * modules/error (Depends-on): Likewise.
3550         * modules/fcntl (Depends-on): Likewise.
3551         * modules/lseek (Depends-on): Likewise.
3552         * modules/nonblocking (Depends-on): Likewise.
3553         * modules/poll (Depends-on): Likewise.
3554         * modules/read (Depends-on): Likewise.
3555         * modules/select (Depends-on): Likewise.
3556         * modules/sockets (Depends-on): Likewise.
3557         * modules/sigpipe (Depends-on): Likewise.
3558         * modules/write (Depends-on): Likewise.
3559         * modules/accept (Depends-on): Likewise.
3560         * modules/bind (Depends-on): Likewise.
3561         * modules/connect (Depends-on): Likewise.
3562         * modules/gethostname (Depends-on): Likewise.
3563         * modules/getpeername (Depends-on): Likewise.
3564         * modules/getsockname (Depends-on): Likewise.
3565         * modules/getsockopt (Depends-on): Likewise.
3566         * modules/ioctl (Depends-on): Likewise.
3567         * modules/listen (Depends-on): Likewise.
3568         * modules/recv (Depends-on): Likewise.
3569         * modules/recvfrom (Depends-on): Likewise.
3570         * modules/send (Depends-on): Likewise.
3571         * modules/sendto (Depends-on): Likewise.
3572         * modules/setsockopt (Depends-on): Likewise.
3573         * modules/shutdown (Depends-on): Likewise.
3574         * modules/socket (Depends-on): Likewise.
3575         * modules/execute (Depends-on): Likewise.
3576         * modules/spawn-pipe (Depends-on): Likewise.
3577         * modules/flock (Depends-on): Likewise.
3578         * modules/fsync (Depends-on): Likewise.
3579         * modules/isapipe (Depends-on): Likewise.
3580         * tests/test-cloexec.c: Include msvc-nothrow.h.
3581         * tests/test-dup-safer.c: Likewise.
3582         * tests/test-dup2.c: Likewise.
3583         * tests/test-dup3.c: Likewise.
3584         * tests/test-fcntl.c: Likewise.
3585         * tests/test-pipe.c: Likewise.
3586         * tests/test-pipe2.c: Likewise.
3587         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
3588         * modules/unistd-safer-tests (Depends-on): Likewise.
3589         * modules/dup2-tests (Depends-on): Likewise.
3590         * modules/dup3-tests (Depends-on): Likewise.
3591         * modules/fcntl-tests (Depends-on): Likewise.
3592         * modules/pipe-posix-tests (Depends-on): Likewise.
3593         * modules/pipe2-tests (Depends-on): Likewise.
3594
3595 2011-09-23  Bruno Haible  <bruno@clisp.org>
3596
3597         dup2: Make code more maintainable.
3598         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
3599         (rpl_dup2): Use it.
3600         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
3601         * modules/dup2 (configure.ac): Invoke it.
3602         Reported by Paul Eggert.
3603
3604 2011-09-23  Bruno Haible  <bruno@clisp.org>
3605
3606         msvc-inval: Fix compilation error.
3607         * lib/msvc-inval.h: Include <excpt.h>.
3608
3609 2011-09-23  Bruno Haible  <bruno@clisp.org>
3610
3611         mkdir: Tweak for MSVC 9.
3612         * lib/sys_stat.in.h: Update comments.
3613         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
3614
3615         Tests for module 'chdir'.
3616         * modules/chdir-tests: New file.
3617         * tests/test-chdir.c: New file.
3618
3619         New module 'chdir'.
3620         * modules/chdir: New file.
3621         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
3622         (chdir): New declaration.
3623         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
3624         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
3625         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
3626         * tests/test-unistd-c++.cc: Check signature of chdir.
3627         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
3628         * modules/chdir-long (Depends-on): Add chdir.
3629         * modules/fchdir (Depends-on): Likewise.
3630         * modules/rename (Depends-on): Likewise.
3631         * modules/savewd (Depends-on): Likewise.
3632
3633         rmdir: Support for mingw, MSVC 9.
3634         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
3635         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
3636
3637         getcwd: Tweak for MSVC 9.
3638         * lib/unistd.in.h: Update comments.
3639         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
3640
3641 2011-09-22  Bruno Haible  <bruno@clisp.org>
3642
3643         strerror_r-posix: Avoid a link error on MSVC.
3644         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
3645         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
3646
3647 2011-09-22  Bruno Haible  <bruno@clisp.org>
3648
3649         select: Avoid link errors on MSVC.
3650         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
3651         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
3652         * modules/pselect (Link): Likewise.
3653         * NEWS: Mention the change.
3654         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
3655         test-select-stdin against $(LIB_SELECT).
3656         * modules/pselect-tests (Makefile.am): Link test-pselect against
3657         $(LIB_SELECT).
3658
3659 2011-09-22  Bruno Haible  <bruno@clisp.org>
3660
3661         select: Avoid compilation error on MSVC.
3662         * lib/select.c: Don't include <stdbool.h>.
3663
3664 2011-09-21  Bruno Haible  <bruno@clisp.org>
3665
3666         Consolidate all uses of PATH_MAX in *.m4 files.
3667         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
3668         macros.
3669         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
3670         and gl_PATHMAX_SNIPPET.
3671         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3672         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3673         * modules/chdir-long (Files): Add m4/pathmax.m4.
3674         * modules/getcwd (Files): Likewise.
3675
3676 2011-09-21  Bruno Haible  <bruno@clisp.org>
3677
3678         ftruncate: Un-deprecate, concentrate on Win32 support.
3679         * modules/ftruncate (Status, Notice): Remove sections.
3680         (Depends-on): Add largefile.
3681         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
3682         non-mingw platforms.
3683         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
3684         include <io.h>.
3685         * modules/perror-tests (Depends-on): Add ftruncate.
3686         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
3687         'ftruncate' module.
3688
3689 2011-09-21  Bruno Haible  <bruno@clisp.org>
3690
3691         Add dependencies to new dirent related modules.
3692         * modules/opendir (Depends-on): Add closedir.
3693         * modules/getcwd (Depends-on): Add opendir, closedir.
3694         * modules/dirent-safer-tests (Depends-on): Likewise.
3695         * modules/fdopendir-tests (Depends-on): Likewise.
3696         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
3697         * modules/renameat-tests (Depends-on): Likewise.
3698
3699 2011-09-21  Bruno Haible  <bruno@clisp.org>
3700
3701         opendir: Avoid compilation error on mingw.
3702         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
3703         * modules/opendir (Depends-on): Add unistd.
3704
3705 2011-09-21  Bruno Haible  <bruno@clisp.org>
3706
3707         ftruncate tests: Avoid a test failure on mingw.
3708         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
3709
3710 2011-09-21  Bruno Haible  <bruno@clisp.org>
3711
3712         select tests: Avoid test failures on OSF/1 5.1 and mingw.
3713         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
3714         native Windows.
3715
3716 2011-09-21  Bruno Haible  <bruno@clisp.org>
3717
3718         New module 'fdopen'.
3719         * lib/stdio.in.h (fdopen): New declaration.
3720         * lib/fdopen.c: New file.
3721         * m4/fdopen.m4: New file.
3722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
3723         REPLACE_FDOPEN.
3724         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
3725         REPLACE_FDOPEN.
3726         * modules/fdopen: New file.
3727         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
3728         * tests/test-stdio-c++.cc: Check signature of fdopen.
3729         * doc/posix-functions/fdopen.texi: Mention the new module.
3730
3731 2011-09-21  Bruno Haible  <bruno@clisp.org>
3732
3733         unlockpt tests: Avoid test failure on NetBSD 5.1.
3734         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
3735         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
3736
3737 2011-09-21  Bruno Haible  <bruno@clisp.org>
3738
3739         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
3740         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
3741         * tests/test-getlogin_r.c (main): Likewise.
3742
3743 2011-09-20  Bruno Haible  <bruno@clisp.org>
3744
3745         time tests: Don't require pid_t.
3746         * doc/posix-headers/time.texi: Revert last change.
3747         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
3748         * tests/test-time.c: Comment out the check for pid_t.
3749
3750 2011-09-20  Bruno Haible  <bruno@clisp.org>
3751
3752         fsync tests: Avoid a test failure on mingw.
3753         * tests/test-fsync.c (main): Allow a failure with EIO.
3754
3755 2011-09-20  Bruno Haible  <bruno@clisp.org>
3756
3757         euidaccess: Update comments.
3758         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
3759
3760 2011-09-20  Bruno Haible  <bruno@clisp.org>
3761
3762         Ensure EBADF returns for socket functions on mingw.
3763         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
3764         descriptor is invalid.
3765         * lib/bind.c (rpl_bind): Likewise.
3766         * lib/connect.c (rpl_connect): Likewise.
3767         * lib/getpeername.c (rpl_getpeername): Likewise.
3768         * lib/getsockname.c (rpl_getsockname): Likewise.
3769         * lib/getsockopt.c (rpl_getsockopt): Likewise.
3770         * lib/listen.c (rpl_listen): Likewise.
3771         * lib/recv.c (rpl_recv): Likewise.
3772         * lib/recvfrom.c (rpl_recvfrom): Likewise.
3773         * lib/send.c (rpl_send): Likewise.
3774         * lib/sendto.c (rpl_sendto): Likewise.
3775         * lib/setsockopt.c (rpl_setsockopt): Likewise.
3776         * lib/shutdown.c (rpl_shutdown): Likewise.
3777
3778 2011-09-20  Bruno Haible  <bruno@clisp.org>
3779
3780         select tests: EBADF tests.
3781         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
3782         test_bad_fd): New functions.
3783         (test_function): Invoke also test_bad_fd.
3784
3785 2011-09-20  Bruno Haible  <bruno@clisp.org>
3786
3787         Tests for module 'posix_spawn_file_actions_addopen.
3788         * modules/posix_spawn_file_actions_addopen-tests: New file.
3789         * tests/test-posix_spawn_file_actions_addopen.c: New file.
3790
3791         Tests for module 'posix_spawn_file_actions_adddup2'.
3792         * modules/posix_spawn_file_actions_adddup2-tests: New file.
3793         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
3794
3795         Tests for module 'posix_spawn_file_actions_addclose'.
3796         * modules/posix_spawn_file_actions_addclose-tests: New file.
3797         * tests/test-posix_spawn_file_actions_addclose.c: New file.
3798
3799 2011-09-20  Bruno Haible  <bruno@clisp.org>
3800
3801         Tests for module 'unlockpt'.
3802         * modules/unlockpt-tests: New file.
3803         * tests/test-unlockpt.c: New file.
3804         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
3805
3806         Tests for module 'grantpt'.
3807         * modules/grantpt-tests: New file.
3808         * tests/test-grantpt.c: New file.
3809         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
3810
3811 2011-09-20  Bruno Haible  <bruno@clisp.org>
3812
3813         freopen tests: EBADF tests.
3814         * tests/test-freopen.c: Include errno.h, unistd.h.
3815         (main): Add tests for EBADF, commented out for the moment.
3816
3817         fclose tests: EBADF tests.
3818         * tests/test-fclose.c (main): Add tests for EBADF.
3819
3820         fflush tests: EBADF tests.
3821         * tests/test-fflush.c: Include errno.h, macros.h.
3822         (main): Add tests for EBADF.
3823
3824         ftello tests: EBADF tests.
3825         * tests/test-ftello4.sh: New file.
3826         * tests/test-ftello4.c: New file.
3827         * modules/ftello-tests (Files): Add them.
3828         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
3829
3830         fseeko tests: EBADF tests.
3831         * tests/test-fseeko4.sh: New file.
3832         * tests/test-fseeko4.c: New file.
3833         * modules/fseeko-tests (Files): Add them.
3834         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
3835
3836         Tests for function fputc().
3837         * modules/fputc-tests: New file.
3838         * tests/test-fputc.c: New file.
3839         * modules/stdio-tests (Depends-on): Add fputc-tests.
3840
3841         Tests for function fgetc().
3842         * modules/fgetc-tests: New file.
3843         * tests/test-fgetc.c: New file.
3844         * modules/stdio-tests (Depends-on): Add fgetc-tests.
3845
3846         Tests for function fdopen().
3847         * modules/fdopen-tests: New file.
3848         * tests/test-fdopen.c: New file.
3849         * modules/stdio-tests (Depends-on): Add fdopen-tests.
3850
3851         Tests for module 'vdprintf'.
3852         * modules/vdprintf-tests: New file.
3853         * tests/test-vdprintf.c: New file.
3854
3855         Tests for module 'dprintf'.
3856         * modules/dprintf-tests: New file.
3857         * tests/test-dprintf.c: New file.
3858
3859 2011-09-20  Bruno Haible  <bruno@clisp.org>
3860
3861         Tests for module 'ioctl'.
3862         * modules/ioctl-tests: New file.
3863         * tests/test-ioctl.c: New file.
3864
3865 2011-09-20  Bruno Haible  <bruno@clisp.org>
3866
3867         fcntl tests: EBADF tests.
3868         * tests/test-fcntl.c (main): Add more tests for EBADF.
3869
3870 2011-09-20  Bruno Haible  <bruno@clisp.org>
3871
3872         utimensat tests: EBADF tests.
3873         * tests/test-utimensat.c (main): Add tests for EBADF.
3874
3875         renameat tests: EBADF tests.
3876         * tests/test-renameat.c (main): Add tests for EBADF.
3877
3878         mkfifoat tests: EBADF tests.
3879         * tests/test-mkfifoat.c (main): Add tests for EBADF.
3880
3881         readlinkat tests: EBADF tests.
3882         * tests/test-readlinkat.c (main): Add tests for EBADF.
3883
3884         symlinkat tests: EBADF tests.
3885         * tests/test-symlinkat.c (main): Add tests for EBADF.
3886
3887         linkat tests: EBADF tests.
3888         * tests/test-linkat.c (main): Add tests for EBADF.
3889
3890         Tests for module 'faccessat'.
3891         * modules/faccessat-tests: New file.
3892         * tests/test-faccessat.c: New file.
3893
3894         fdopendir tests: EBADF tests.
3895         * tests/test-fdopendir.c (main): Add more tests for EBADF.
3896
3897         openat tests: EBADF tests.
3898         * tests/test-fchownat.c (main): Add tests for EBADF.
3899         * tests/test-fstatat.c (main): Likewise.
3900         * tests/test-mkdirat.c (main): Likewise.
3901         * tests/test-openat.c (main): Likewise.
3902         * tests/test-unlinkat.c (main): Likewise.
3903         * tests/test-fchmodat.c: New file.
3904         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
3905         (Makefile.am): Also run 'test-fchmodat'.
3906
3907 2011-09-20  Bruno Haible  <bruno@clisp.org>
3908
3909         utimens, futimens, fdutimensat tests: EBADF tests.
3910         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
3911
3912         Tests for function fstat().
3913         * modules/fstat-tests: New file.
3914         * tests/test-fstat.c: New file.
3915         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
3916
3917 2011-09-20  Bruno Haible  <bruno@clisp.org>
3918
3919         test-ttyname_r tests: EBADF tests.
3920         * tests/test-ttyname_r.c (main): Add tests for EBADF.
3921
3922         Tests for module 'isatty'.
3923         * modules/isatty-tests: New file.
3924         * tests/test-isatty.c: New file.
3925
3926         Tests for module 'write'.
3927         * modules/write-tests: New file.
3928         * tests/test-write.c: New file.
3929
3930         Tests for module 'read'.
3931         * modules/read-tests: New file.
3932         * tests/test-read.c: New file.
3933
3934         pwrite tests: EBADF tests.
3935         * tests/test-pwrite.c (main): Add tests for EBADF.
3936
3937         pread tests: EBADF tests.
3938         * tests/test-pread.c (main): Add tests for EBADF.
3939
3940         lseek tests: EBADF tests.
3941         * tests/test-lseek.c (main): Add more tests for EBADF.
3942
3943         Tests for module 'ftruncate'.
3944         * modules/ftruncate-tests: New file.
3945         * tests/test-ftruncate.sh: New file.
3946         * tests/test-ftruncate.c: New file.
3947
3948         fsync tests: EBADF tests.
3949         * tests/test-fsync.c (main): Add more tests for EBADF.
3950
3951         fdatasync tests: EBADF tests.
3952         * tests/test-fdatasync.c (main): Add more tests for EBADF.
3953
3954         Tests for module 'fchown'.
3955         * modules/fchown-tests: New file.
3956         * tests/test-fchown.c: New file.
3957
3958         Tests for module 'fchmod'.
3959         * modules/fchmod-tests: New file.
3960         * tests/test-fchmod.c: New file.
3961
3962         fchdir tests: EBADF tests.
3963         * tests/test-fchdir.c (main): Add more tests for EBADF.
3964
3965         dup2 tests: EBADF tests.
3966         * tests/test-dup2.c (main): Add more tests for EBADF.
3967
3968         Tests for module 'dup'.
3969         * modules/dup-tests: New file.
3970         * tests/test-dup.c: New file.
3971
3972         Tests for module 'close'.
3973         * modules/close-tests: New file.
3974         * tests/test-close.c: New file.
3975
3976 2011-09-20  Bruno Haible  <bruno@clisp.org>
3977
3978         Tests for module 'shutdown'.
3979         * modules/shutdown-tests: New file.
3980         * tests/test-shutdown.c: New file.
3981
3982         Tests for module 'setsockopt'.
3983         * modules/setsockopt-tests: New file.
3984         * tests/test-setsockopt.c: New file.
3985
3986         Tests for module 'sendto'.
3987         * modules/sendto-tests: New file.
3988         * tests/test-sendto.c: New file.
3989
3990         Tests for module 'send'.
3991         * modules/send-tests: New file.
3992         * tests/test-send.c: New file.
3993
3994         Tests for module 'recvfrom'.
3995         * modules/recvfrom-tests: New file.
3996         * tests/test-recvfrom.c: New file.
3997
3998         Tests for module 'recv'.
3999         * modules/recv-tests: New file.
4000         * tests/test-recv.c: New file.
4001
4002         Tests for module 'listen'.
4003         * modules/listen-tests: New file.
4004         * tests/test-listen.c: New file.
4005
4006         Tests for module 'getsockopt'.
4007         * modules/getsockopt-tests: New file.
4008         * tests/test-getsockopt.c: New file.
4009
4010         Tests for module 'getsockname'.
4011         * modules/getsockname-tests: New file.
4012         * tests/test-getsockname.c: New file.
4013
4014         Tests for module 'getpeername'.
4015         * modules/getpeername-tests: New file.
4016         * tests/test-getpeername.c: New file.
4017
4018         Tests for module 'connect'.
4019         * modules/connect-tests: New file.
4020         * tests/test-connect.c: New file.
4021
4022         Tests for module 'bind'.
4023         * modules/bind-tests: New file.
4024         * tests/test-bind.c: New file.
4025
4026         accept4 tests: Fix for native Windows.
4027         * tests/test-accept4.c: Include sockets.h.
4028         (main): Invoke gl_sockets_startup.
4029         * modules/accept4-tests (Depends-on): Add sockets.
4030
4031         accept tests: Fix for native Windows.
4032         * tests/test-accept.c: Include sockets.h.
4033         (main): Invoke gl_sockets_startup.
4034         * modules/accept-tests (Depends-on): Add sockets.
4035
4036 2011-09-19  Bruno Haible  <bruno@clisp.org>
4037
4038         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
4039         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
4040         do...while(0).
4041         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
4042         Suggested by Paul Eggert.
4043
4044 2011-09-19  Bruno Haible  <bruno@clisp.org>
4045
4046         sched: Ensure pid_t is defined.
4047         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
4048         not define pid_t.
4049         * lib/sched.in.h: Include <sys/types.h>.
4050         * doc/posix-headers/sched.texi: Mention the pid_t problem.
4051         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4052
4053 2011-09-19  Bruno Haible  <bruno@clisp.org>
4054
4055         msvc-inval: Ensure the entire expansion is a single statement.
4056         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
4057         of braces.
4058
4059 2011-09-19  Jim Meyering  <meyering@redhat.com>
4060
4061         tests: use printf, not echo in init.sh's warn_ function
4062         * tests/init.sh (warn_): Use printf, not echo.  The latter would
4063         misbehave when given strings containing a backslash or starting
4064         with e.g., -n.  James Youngman suggested setting IFS.
4065
4066 2011-09-19  Eric Blake  <eblake@redhat.com>
4067
4068         futimens: enhance test
4069         * tests/test-futimens.h (test_futimens): Also check for EBADF on
4070         closed non-negative fd.
4071
4072         date: accept 'hence' as opposite of 'ago'
4073         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
4074         * tests/test-parse-datetime.c (main): Enhance test.
4075         Suggested by Jesse Wilson.
4076
4077 2011-09-19  Jim Meyering  <meyering@redhat.com>
4078
4079         getcwd: don't fail in a deep directory on a system without openat
4080         Before this change, getcwd would fail when called from a directory
4081         of depth PATH_MAX / 3 or greater.  That was due to the fact that
4082         the non-openat implementation used "..", "../..", "../../..", etc.
4083         to access ancestor directories.  With too many, that string would
4084         be longer than PATH_MAX.
4085         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
4086         using gnulib's openat replacement.
4087         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
4088         we're using the replacement function.
4089
4090 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
4091
4092         maint.mk: avoid warnings from perl about missing files
4093         * top/maint.mk (def_sym_regex): Ignore files listed in
4094         $(gl_other_headers_) that do not exist, say because a project
4095         does not use a corresponding module.
4096
4097 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4098
4099         stat: use pathmax.h only if needed
4100         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
4101         This is better for Emacs, which does not have a mingw port and
4102         therefore can avoid the pathmax module.
4103
4104         utimens: remove dependency on dup2
4105         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
4106         to work around the Linux kernel bug.
4107         * modules/utimens (Depends-on): Remove dup2.
4108
4109 2011-09-18  Bruno Haible  <bruno@clisp.org>
4110
4111         inet_ntop, inet_pton: Look for it also in libresolv.
4112         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
4113         libnsl, search for it in libresolv.
4114         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4115         Needed on Solaris 7.
4116
4117 2011-09-18  Bruno Haible  <bruno@clisp.org>
4118
4119         accept, accept4 tests: Avoid link error on Solaris.
4120         * modules/accept-tests (Makefile.am): Link test-accept against
4121         $(LIBSOCKET).
4122         * modules/accept4-tests (Makefile.am): Link test-accept4 against
4123         $(LIBSOCKET).
4124
4125         accept4: Avoid link error on Solaris.
4126         * modules/accept4 (Link): New section.
4127
4128         socket functions: Avoid link errors on Solaris.
4129         * modules/accept (Depends-on): Add socketlib.
4130         (Link): New section.
4131         * modules/bind (Depends-on): Add socketlib.
4132         (Link): New section.
4133         * modules/connect (Depends-on): Add socketlib.
4134         (Link): New section.
4135         * modules/getpeername (Depends-on): Add socketlib.
4136         (Link): New section.
4137         * modules/getsockname (Depends-on): Add socketlib.
4138         (Link): New section.
4139         * modules/getsockopt (Depends-on): Add socketlib.
4140         (Link): New section.
4141         * modules/listen (Depends-on): Add socketlib.
4142         (Link): New section.
4143         * modules/recv (Depends-on): Add socketlib.
4144         (Link): New section.
4145         * modules/recvfrom (Depends-on): Add socketlib.
4146         (Link): New section.
4147         * modules/send (Depends-on): Add socketlib.
4148         (Link): New section.
4149         * modules/sendto (Depends-on): Add socketlib.
4150         (Link): New section.
4151         * modules/setsockopt (Depends-on): Add socketlib.
4152         (Link): New section.
4153         * modules/shutdown (Depends-on): Add socketlib.
4154         (Link): New section.
4155         * modules/socket (Depends-on): Add socketlib.
4156         (Link): New section.
4157
4158 2011-09-18  Bruno Haible  <bruno@clisp.org>
4159
4160         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
4161         * tests/test-ptsname.c (main): Terminate the test if it takes longer
4162         than 5 seconds.
4163         * modules/ptsname-tests (configure.ac): Test for alarm.
4164
4165 2011-09-18  Bruno Haible  <bruno@clisp.org>
4166
4167         posix_spawn_file_actions_add*: Fix module dependencies.
4168         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
4169         posix_spawn_file_actions_init.
4170         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
4171         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
4172
4173 2011-09-18  Bruno Haible  <bruno@clisp.org>
4174
4175         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
4176         * tests/test-rename.h (test_rename): Allow error code EEXIST.
4177         * tests/test-renameat.c (main): Likewise.
4178
4179 2011-09-18  Bruno Haible  <bruno@clisp.org>
4180
4181         Tests for module 'accept4'.
4182         * modules/accept4-tests: New file.
4183         * tests/test-accept4.c: New file.
4184
4185 2011-09-18  Bruno Haible  <bruno@clisp.org>
4186
4187         Tests for module 'accept'.
4188         * modules/accept-tests: New file.
4189         * tests/test-accept.c: New file.
4190
4191 2011-09-18  Bruno Haible  <bruno@clisp.org>
4192
4193         dup2: Support for MSVC.
4194         * lib/dup2.c: Include msvc-inval.h.
4195         (rpl_dup2): Handle invalid parameter notifications during dup2 and
4196         _get_osfhandle calls.
4197         * modules/dup2 (Depends-on): Add msvc-inval.
4198         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
4199
4200         New module 'msvc-inval'.
4201         * lib/msvc-inval.h: New file.
4202         * lib/msvc-inval.c: New file.
4203         * m4/msvc-inval.m4: New file.
4204         * modules/msvc-inval: New file.
4205
4206 2011-09-17  Bruno Haible  <bruno@clisp.org>
4207
4208         Tests for module 'pclose'.
4209         * modules/pclose-tests: New file.
4210
4211         New module 'pclose'.
4212         * lib/stdio.in.h (pclose): New declaration.
4213         * lib/pclose.c: New file.
4214         * m4/pclose.m4: New file.
4215         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
4216         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
4217         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
4218         * modules/pclose: New file.
4219         * modules/popen-tests (Depends-on): Add pclose.
4220         * modules/popen-safer-tests (Depends-on): Likewise.
4221         * doc/posix-functions/pclose.texi: Mention the new module.
4222
4223 2011-09-17  Bruno Haible  <bruno@clisp.org>
4224
4225         popen: Support for MSVC.
4226         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
4227         * lib/popen.c (popen): Provide alternate definition for native Windows.
4228         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
4229         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
4230         * modules/popen (Depends-on, configure.ac): Update condition.
4231         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
4232         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
4233         fixed.
4234
4235 2011-09-17  Bruno Haible  <bruno@clisp.org>
4236
4237         isnanl, isnand, isnanf: Work around MSVC bug.
4238         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
4239
4240 2011-09-17  Bruno Haible  <bruno@clisp.org>
4241
4242         sys_socket tests: Fix recent mistake.
4243         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
4244
4245 2011-09-17  Bruno Haible  <bruno@clisp.org>
4246
4247         putenv: Support for MSVC.
4248         * modules/putenv (Depends-on): Add environ.
4249         * lib/putenv.c (environ): Disable declaration.
4250         * lib/unistd.in.h: Update comment.
4251
4252 2011-09-17  Bruno Haible  <bruno@clisp.org>
4253
4254         math: Avoid macro redefinition warnings on MSVC.
4255         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
4256         Undefine before redefining.
4257
4258 2011-09-17  Bruno Haible  <bruno@clisp.org>
4259
4260         doc: Mention functions which are declared as macros.
4261         * doc/posix-functions/*[fl].texi: Mention that some functions are
4262         defined as macros with arguments only.
4263
4264 2011-09-17  Bruno Haible  <bruno@clisp.org>
4265
4266         Add dependencies to new dirent related modules.
4267         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
4268         * modules/fts (Depends-on): Likewise.
4269         * modules/glob (Depends-on): Likewise.
4270         * modules/savedir (Depends-on): Likewise.
4271         * modules/scandir (Depends-on): Likewise.
4272         * modules/dirent-safer (Depends-on): Add opendir, closedir.
4273         * modules/fdopendir (Depends-on): Add opendir.
4274
4275 2011-09-17  Bruno Haible  <bruno@clisp.org>
4276
4277         inet_pton: Support for MSVC on Windows Vista or newer.
4278         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
4279         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
4280         HAVE_DECL_INET_PTON is defined.
4281         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
4282         On platforms with <winsock2.h>, test whether inet_pton is declared in
4283         <ws2tcpip.h>. If so, arrange to replace it.
4284         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
4285         REPLACE_INET_PTON.
4286         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
4287         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
4288         (Depends-on, configure.ac): Update condition.
4289         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
4290
4291 2011-09-17  Bruno Haible  <bruno@clisp.org>
4292
4293         inet_ntop: Support for MSVC on Windows Vista or newer.
4294         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
4295         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
4296         HAVE_DECL_INET_NTOP is defined.
4297         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
4298         On platforms with <winsock2.h>, test whether inet_ntop is declared in
4299         <ws2tcpip.h>. If so, arrange to replace it.
4300         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
4301         REPLACE_INET_NTOP.
4302         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
4303         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
4304         (Depends-on, configure.ac): Update condition.
4305         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
4306
4307 2011-09-16  Eric Blake  <eblake@redhat.com>
4308
4309         test-fsync: yet another enhancement
4310         * tests/test-fsync.c (main): Also test behavior on read-only text
4311         file.
4312
4313 2011-09-16  Bruno Haible  <bruno@clisp.org>
4314
4315         Enhance fsync, fdatasync tests.
4316         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
4317         * tests/test-fdatasync.c (main): Likewise.
4318
4319 2011-09-16  Bruno Haible  <bruno@clisp.org>
4320
4321         Support for MSVC compiler: Ensure mode_t gets defined.
4322         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
4323         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4324         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
4325         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
4326         * tests/test-fcntl-h.c: Check that mode_t is defined.
4327         * tests/test-sys_stat.c: Likewise.
4328         * tests/test-sys_types.c: Likewise.
4329         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
4330         * doc/posix-headers/sys_stat.texi: Likewise.
4331         * doc/posix-headers/sys_types.texi: Likewise.
4332
4333 2011-09-16  Bruno Haible  <bruno@clisp.org>
4334
4335         sys_stat: Support for MSVC.
4336         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
4337         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
4338         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
4339         MSVC.
4340
4341 2011-09-16  Bruno Haible  <bruno@clisp.org>
4342
4343         Support for MSVC compiler: Ensure off_t gets defined.
4344         * lib/unistd.in.h: Include <sys/types.h>.
4345         * tests/test-fcntl-h.c: Check that off_t is defined.
4346         * tests/test-sys_stat.c: Likewise.
4347         * tests/test-sys_types.c: Likewise.
4348
4349 2011-09-16  Eric Blake  <eblake@redhat.com>
4350
4351         fdatasync: port to Solaris
4352         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
4353         * modules/fdatasync (Link): Document it.
4354         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
4355
4356         fdatasync: port to MacOS X 10.7
4357         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
4358         declared.
4359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
4360         * modules/unistd (Makefile.am): Substitute it.
4361         * lib/unistd.in.h (fdatasync): Declare on MacOS.
4362         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
4363
4364         fdatasync: minor improvements
4365         * modules/fdatasync (Depends-on): Add condition for fsync.
4366         * lib/fdatasync.c (fdatasync): Add comment.
4367         * tests/test-unistd-c++.cc: Test fdatasync.
4368
4369         unistd: update refs to newer POSIX
4370         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
4371         Suggested by Bruno Haible.
4372
4373         fdatasync: new module
4374         * modules/fsync (Description): Document difference to fdatasync.
4375         * modules/fdatasync: New module.
4376         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
4377         * lib/fdatasync.c (fdatasync): Likewise.
4378         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
4379         defaults.
4380         * modules/unistd (Makefile.am): Set witnesses.
4381         * lib/unistd.in.h (fdatasync): Declare.
4382         * MODULES.html.sh: Document it.
4383         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
4384         * modules/fdatasync-tests: New test.
4385         * tests/test-fdatasync.c: Likewise.
4386
4387 2011-09-16  Eric Blake  <eblake@redhat.com>
4388
4389         test-fsync: enhance tests
4390         * modules/fsync-tests (Depends-on): Add errno, for mingw.
4391         * tests/test-fsync.c (main): Enhance test.
4392
4393 2011-09-15  Bruno Haible  <bruno@clisp.org>
4394
4395         Support for MSVC compiler: Ensure ssize_t gets defined.
4396         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
4397         * doc/posix-headers/stdio.texi: Likewise.
4398         * modules/stdio (Depends-on): Add ssize_t.
4399         * modules/sys_socket (Depends-on): Likewise.
4400         * modules/sys_types (Depends-on): Likewise.
4401         * modules/sys_uio (Depends-on): Likewise.
4402         * modules/unistd (Depends-on): Likewise.
4403         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
4404         * tests/test-sys_types.c: Check that ssize_t is defined.
4405
4406 2011-09-14  Bruno Haible  <bruno@clisp.org>
4407
4408         Avoid using #, the m4 comment starter character, near brackets.
4409         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
4410         delimiter character in sed expressions.
4411         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4412         Suggested by Eric Blake.
4413
4414         Properly quote AC_CHECK_DECLS' 4th argument.
4415         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
4416         argument.
4417         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
4418         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
4419         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4420         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
4421         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
4422         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
4423         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
4424         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
4425         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
4426         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
4427         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
4428         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4429         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
4430         * m4/isinf.m4 (gl_ISINF): Likewise.
4431         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
4432         * m4/readutmp.m4 (gl_READUTMP): Likewise.
4433         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
4434         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4435         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4436         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
4437         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
4438         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
4439         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
4440         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
4441         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
4442         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4443         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
4444         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4445         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
4446         Reported by Eric Blake.
4447
4448         Properly quote AC_CHECK_DECL's 4th argument.
4449         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
4450         argument.
4451         * m4/argp.m4 (gl_ARGP): Likewise.
4452         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
4453         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
4454         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
4455         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
4456         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
4457         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
4458         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
4459         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
4460         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
4461         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
4462         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
4463         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
4464         Reported by Eric Blake.
4465
4466 2011-09-14  Eric Blake  <eblake@redhat.com>
4467
4468         opendir: avoid compile warning
4469         * lib/opendir.c (includes): Always include errno.h.
4470         Reported by Tatsuro MATSUOKA.
4471
4472 2011-09-14  Jim Meyering  <meyering@redhat.com>
4473
4474         maint.mk: sc_tight_scope: propagate failure from sub-make
4475         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
4476         Reported by Martin von Gagern.
4477
4478 2011-09-13  Bruno Haible  <bruno@clisp.org>
4479
4480         tempname: Support for MSVC.
4481         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
4482         MSVC.
4483         * modules/tempname (Depends-on): Add fcntl-h.
4484
4485 2011-09-13  Bruno Haible  <bruno@clisp.org>
4486
4487         sys_time: Support for MSVC.
4488         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
4489         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
4490         include <winsock2.h>.
4491         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
4492         function declarations that collide with POSIX.
4493         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
4494         (Makefile.am): Substitute HAVE_WINSOCK2_H.
4495
4496 2011-09-13  Bruno Haible  <bruno@clisp.org>
4497
4498         stat: Support for MSVC.
4499         * lib/stat.c: Include pathmax.h.
4500         * modules/stat (Depends-on): Add pathmax.
4501
4502         pathmax: Support for native Windows.
4503         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
4504
4505 2011-09-12  Bruno Haible  <bruno@clisp.org>
4506
4507         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
4508         * lib/dirent.in.h (struct dirent): New type.
4509         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
4510         DT_WHT): New macros.
4511         (DIR): New type.
4512         (opendir, closedir): Declare only if the module 'opendir' is enabled.
4513         (readdir, rewinddir): New declarations.
4514         * lib/dirent-private.h: New file.
4515         * lib/opendir.c: New file.
4516         * lib/readdir.c: New file.
4517         * lib/rewinddir.c: New file.
4518         * lib/closedir.c: New file.
4519         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
4520         * m4/opendir.m4: New file.
4521         * m4/readdir.m4: New file.
4522         * m4/rewinddir.m4: New file.
4523         * m4/closedir.m4: New file.
4524         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
4525         REPLACE_CLOSEDIR here.
4526         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
4527         readdir, rewinddir are declared.
4528         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
4529         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
4530         HAVE_REWINDDIR, HAVE_CLOSEDIR.
4531         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
4532         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
4533         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
4534         * modules/opendir: New file.
4535         * modules/readdir: New file.
4536         * modules/rewinddir: New file.
4537         * modules/closedir: New file.
4538         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
4539         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
4540         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
4541         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
4542         * NEWS: Mention the 'fchdir' change.
4543
4544 2011-09-11  Bruno Haible  <bruno@clisp.org>
4545
4546         asm-underscore.m4: Support for MSVC.
4547         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
4548         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
4549
4550 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
4551
4552         Doc about crypt functions.
4553         * doc/posix-functions/crypt.texi: Expand range of glibc versions
4554         needing for _GNU_SOURCE to get crypt.
4555         * doc/posix-functions/encrypt.texi: Likewise.
4556         * doc/posix-functions/setkey.texi: Likewise.
4557
4558 2011-09-11  Bruno Haible  <bruno@clisp.org>
4559
4560         doc: Update regarding MSVC 9.
4561         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
4562         tested".
4563         * doc/posix-functions/*.texi: Update with info about MSVC 9.
4564         * doc/posix-headers/*.texi: Likewise.
4565         * doc/pastposix-functions/*.texi: Likewise.
4566         * doc/glibc-functions/*.texi: Likewise.
4567         * doc/glibc-headers/*.texi: Likewise.
4568
4569 2011-09-11  Bruno Haible  <bruno@clisp.org>
4570
4571         unistd et al.: Don't assume <unistd.h> exists.
4572         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
4573         does not exist.
4574         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
4575         exist. But include <stdlib.h>.
4576         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
4577         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
4578         symlink() does not exist.
4579         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
4580         include <io.h> instead.
4581         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
4582         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
4583         include <direct.h> instead.
4584         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4585         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4586         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
4587         <io.h> instead.
4588         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
4589         correctly if the system does not have hard links.
4590         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
4591         <direct.h> instead.
4592         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
4593         it when looking for function declarations.
4594         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
4595         <direct.h> and <io.h> instead.
4596         * doc/posix-headers/unistd.texi: More details about MSVC problem.
4597
4598 2011-09-11  Bruno Haible  <bruno@clisp.org>
4599
4600         strcase: Support for MSVC.
4601         * modules/strcase (Status, Notice): Remove obsoletion mark.
4602         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
4603         * doc/posix-functions/strncasecmp.texi: Likewise.
4604
4605         strings: Don't assume <strings.h> exists.
4606         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
4607         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
4608         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
4609         * doc/posix-headers/strings.texi: Mention the MSVC problem.
4610
4611 2011-09-11  Bruno Haible  <bruno@clisp.org>
4612
4613         dirent: Don't assume <dirent.h> exists.
4614         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
4615         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
4616         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
4617         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
4618
4619 2011-09-11  Bruno Haible  <bruno@clisp.org>
4620
4621         Fix wint_t on MSVC.
4622         * lib/wchar.in.h (wint_t): On MSVC, override it.
4623         * lib/wctype.in.h (wint_t): Likewise.
4624         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
4625         MSVC.
4626         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
4627         * doc/posix-headers/wctype.texi: Likewise.
4628
4629 2011-09-11  Bruno Haible  <bruno@clisp.org>
4630
4631         sys_types: Fix typo.
4632         * lib/sys_types.in.h: Fix typo in comment.
4633         Reported by Paul Eggert.
4634
4635         Support for MSVC compiler: Ensure size_t gets defined.
4636         * modules/strings (Depends-on): Add 'sys_types'.
4637         * modules/sys_uio (Depends-on): Likewise.
4638         * lib/sys_uio.in.h: Update comment.
4639
4640         C++ tests for module 'sys_types'.
4641         * modules/sys_types-c++-tests: New file.
4642         * tests/test-sys_types-c++.cc: New file.
4643
4644         Tests for module 'sys_types'.
4645         * modules/sys_types-tests: New file.
4646         * tests/test-sys_types.c: New file.
4647
4648         New module 'sys_types'.
4649         * lib/sys_types.in.h: New file.
4650         * m4/sys_types_h.m4: New file.
4651         * modules/sys_types: New file.
4652         * doc/posix-headers/sys_types.texi: Mention the new module and the
4653         size_t problem on MSVC 9.
4654
4655 2011-09-11  Bruno Haible  <bruno@clisp.org>
4656
4657         Support for MSVC compiler: Avoid division by a literal 0.
4658         * lib/math.in.h (NAN): Define through a function call also on MSVC.
4659         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
4660         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
4661         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
4662         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
4663         * tests/infinity.h: New file.
4664         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
4665         on MSVC.
4666         * tests/test-ceilf1.c: Include infinity.h.
4667         (main): Use Infinityf.
4668         * tests/test-ceil1.c: Include infinity.h.
4669         (main): Use Infinityd.
4670         * tests/test-ceill.c: Include infinity.h.
4671         (main): Use Infinityl.
4672         * tests/test-dprintf-posix.c: Include infinity.h.
4673         (test_function): Use Infinityd.
4674         * tests/test-floorf1.c: Include infinity.h.
4675         (main): Use Infinityf.
4676         * tests/test-floor1.c: Include infinity.h.
4677         (main): Use Infinityd.
4678         * tests/test-floorl.c: Include infinity.h.
4679         (main): Use Infinityl.
4680         * tests/test-fprintf-posix.c: Include infinity.h.
4681         (test_function): Use Infinityd.
4682         * tests/test-frexp.c: Include infinity.h.
4683         (main): Use Infinityd.
4684         * tests/test-frexpl.c: Include infinity.h.
4685         (main): Use Infinityl.
4686         * tests/test-isfinite.c: Include infinity.h.
4687         (test_isfinitef): Use Infinityf.
4688         (test_isfinited): Use Infinityd.
4689         (test_isfinitel): Use Infinityl.
4690         * tests/test-isinf.c: Include infinity.h.
4691         (test_isinff): Use Infinityf.
4692         (test_isinfd): Use Infinityd.
4693         (test_isinfl): Use Infinityl.
4694         * tests/test-isnan.c: Include infinity.h.
4695         (test_float): Use Infinityf.
4696         (test_double): Use Infinityd.
4697         (test_long_double): Use Infinityl.
4698         * tests/test-isnanf.h: Include infinity.h.
4699         (main): Use Infinityf.
4700         * tests/test-isnand.h: Include infinity.h.
4701         (main): Use Infinityd.
4702         * tests/test-isnanl.h: Include infinity.h.
4703         (main): Use Infinityl.
4704         * tests/test-ldexpl.c: Include infinity.h.
4705         (main): Use Infinityl.
4706         * tests/test-printf-posix.h: Include infinity.h.
4707         (test_function): Use Infinityd.
4708         * tests/test-roundf1.c: Include infinity.h.
4709         (main): Use Infinityf.
4710         * tests/test-round1.c: Include infinity.h.
4711         (main): Use Infinityd.
4712         * tests/test-roundl.c: Include infinity.h.
4713         (main): Use Infinityl.
4714         * tests/test-signbit.c: Include infinity.h.
4715         (test_signbitf): Use Infinityf.
4716         (test_signbitd): Use Infinityd.
4717         (test_signbitl): Use Infinityl.
4718         * tests/test-snprintf-posix.h: Include infinity.h.
4719         (test_function): Use Infinityd, Infinityl.
4720         * tests/test-sprintf-posix.h: Include infinity.h.
4721         (test_function): Use Infinityd, Infinityl.
4722         * tests/test-truncf1.c: Include infinity.h.
4723         (main): Use Infinityf.
4724         * tests/test-trunc1.c: Include infinity.h.
4725         (main): Use Infinityd.
4726         * tests/test-truncl.c: Include infinity.h.
4727         (main): Use Infinityl.
4728         * tests/test-vasnprintf-posix.c: Include infinity.h.
4729         (test_function): Use Infinityd, Infinityl.
4730         * tests/test-vasprintf-posix.c: Include infinity.h.
4731         (test_function): Use Infinityd, Infinityl.
4732         * modules/ceilf-tests (Files): Add tests/infinity.h.
4733         * modules/ceil-tests (Files): Likewise.
4734         * modules/ceill-tests (Files): Likewise.
4735         * modules/dprintf-posix-tests (Files): Likewise.
4736         * modules/floorf-tests (Files): Likewise.
4737         * modules/floor-tests (Files): Likewise.
4738         * modules/floorl-tests (Files): Likewise.
4739         * modules/fprintf-posix-tests (Files): Likewise.
4740         * modules/frexp-tests (Files): Likewise.
4741         * modules/frexp-nolibm-tests (Files): Likewise.
4742         * modules/frexpl-tests (Files): Likewise.
4743         * modules/frexpl-nolibm-tests (Files): Likewise.
4744         * modules/isfinite-tests (Files): Likewise.
4745         * modules/isinf-tests (Files): Likewise.
4746         * modules/isnan-tests (Files): Likewise.
4747         * modules/isnanf-tests (Files): Likewise.
4748         * modules/isnanf-nolibm-tests (Files): Likewise.
4749         * modules/isnand-tests (Files): Likewise.
4750         * modules/isnand-nolibm-tests (Files): Likewise.
4751         * modules/isnanl-tests (Files): Likewise.
4752         * modules/isnanl-nolibm-tests (Files): Likewise.
4753         * modules/ldexpl-tests (Files): Likewise.
4754         * modules/printf-posix-tests (Files): Likewise.
4755         * modules/roundf-tests (Files): Likewise.
4756         * modules/round-tests (Files): Likewise.
4757         * modules/roundl-tests (Files): Likewise.
4758         * modules/signbit-tests (Files): Likewise.
4759         * modules/snprintf-posix-tests (Files): Likewise.
4760         * modules/sprintf-posix-tests (Files): Likewise.
4761         * modules/truncf-tests (Files): Likewise.
4762         * modules/trunc-tests (Files): Likewise.
4763         * modules/truncl-tests (Files): Likewise.
4764         * modules/vasnprintf-posix-tests (Files): Likewise.
4765         * modules/vasprintf-posix-tests (Files): Likewise.
4766         * modules/vdprintf-posix-tests (Files): Likewise.
4767         * modules/vfprintf-posix-tests (Files): Likewise.
4768         * modules/vprintf-posix-tests (Files): Likewise.
4769         * modules/vsnprintf-posix-tests (Files): Likewise.
4770         * modules/vsprintf-posix-tests (Files): Likewise.
4771         * modules/xprintf-posix-tests (Files): Likewise.
4772
4773 2011-09-11  Bruno Haible  <bruno@clisp.org>
4774
4775         Ensure pid_t gets defined.
4776         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
4777         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4778         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
4779         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4780         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
4781         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4782         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
4783         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4784         * tests/test-fcntl-h.c: Check that pid_t is defined.
4785         * tests/test-sched.c: Likewise.
4786         * tests/test-termios.c: Likewise.
4787         * tests/test-time.c: Likewise.
4788         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
4789         * doc/posix-headers/signal.texi: Likewise.
4790         * doc/posix-headers/sys_types.texi: Likewise.
4791         * doc/posix-headers/time.texi: Likewise.
4792
4793 2011-09-11  Bruno Haible  <bruno@clisp.org>
4794
4795         acl: Fix compilation on Solaris 10 (older version).
4796         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
4797         of ACE_EVERYONE.
4798         * lib/set-mode-acl.c (qset_acl): Likewise.
4799         Reported by Christian Jullien <eligis@orange.fr>.
4800
4801 2011-09-10  Bruno Haible  <bruno@clisp.org>
4802
4803         iconv, unsetenv: Add support for MSVC compiler.
4804         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
4805         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
4806
4807 2011-09-10  Bruno Haible  <bruno@clisp.org>
4808
4809         *printf: Add support for MSVC compiler.
4810         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
4811         handles the exception caused by the %n directive. When cross-compiling,
4812         guess no on native Windows.
4813         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
4814         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
4815         emulate it through vsnprintf.
4816         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
4817         * doc/posix-functions/dprintf.texi: Update documentation regarding
4818         MSVC 9.
4819         * doc/posix-functions/fprintf.texi: Likewise.
4820         * doc/posix-functions/printf.texi: Likewise.
4821         * doc/posix-functions/snprintf.texi: Likewise.
4822         * doc/posix-functions/sprintf.texi: Likewise.
4823         * doc/posix-functions/swprintf.texi: Likewise.
4824         * doc/posix-functions/vdprintf.texi: Likewise.
4825         * doc/posix-functions/vfprintf.texi: Likewise.
4826         * doc/posix-functions/vprintf.texi: Likewise.
4827         * doc/posix-functions/vsnprintf.texi: Likewise.
4828         * doc/posix-functions/vsprintf.texi: Likewise.
4829         * doc/glibc-functions/asprintf.texi: Likewise.
4830         * doc/glibc-functions/obstack_printf.texi: Likewise.
4831         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
4832         * doc/glibc-functions/vasprintf.texi: Likewise.
4833
4834 2011-09-10  Bruno Haible  <bruno@clisp.org>
4835
4836         nocrash: Add support for native Windows.
4837         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
4838
4839 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
4840             Bruno Haible  <bruno@clisp.org>
4841
4842         absolute-header, include-next: Add support for MSVC compiler.
4843         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
4844         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
4845         directory separator in #line directives.
4846         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
4847         recognize also backslash as directory separator in #line directives.
4848
4849 2011-09-08  Jim Meyering  <meyering@redhat.com>
4850
4851         maint.mk: mark the post-release commit log with "maint: " prefix
4852         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
4853         one-line commit-log summary.
4854
4855 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
4856             Bruno Haible  <bruno@clisp.org>
4857
4858         Doc about crypt functions.
4859         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
4860         systems.
4861         * doc/posix-functions/encrypt.texi: Likewise.
4862         * doc/posix-functions/setkey.texi: Likewise.
4863
4864 2011-09-08  Simon Josefsson  <simon@josefsson.org>
4865
4866         * lib/gc.h: Fix copyright header.
4867
4868 2011-09-07  Bruno Haible  <bruno@clisp.org>
4869
4870         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
4871         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
4872         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
4873
4874 2011-09-07  Bruno Haible  <bruno@clisp.org>
4875
4876         openat: Work around compilation error with OSF/1 5.1 DTK cc.
4877         * lib/fopen.c: Use different syntax for include of <stdio.h>.
4878         * lib/freopen.c: Likewise.
4879         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
4880         * lib/lstat.c: Likewise.
4881         * lib/stat.c: Likewise.
4882         * lib/open.c: Use different syntax for include of <fcntl.h>.
4883         * lib/openat.c: Include fcntl.h again, explicitly.
4884
4885 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
4886
4887         parse-datetime: document the newly accepted format
4888         * doc/parse-datetime.texi (Combined date and time of day items):
4889         New section.
4890
4891 2011-09-06  Bruno Haible  <bruno@clisp.org>
4892
4893         acl: Fix a test failure on newer Solaris 10 with ZFS.
4894         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
4895         ENOSYS as no ACL.
4896         Reported by Jim Meyering.
4897
4898 2011-09-06  Bruno Haible  <bruno@clisp.org>
4899
4900         acl: Update for AIX >= 5.3 with NFS.
4901         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
4902         ENOSYS as no ACL.
4903
4904         acl: Fix a test failure on AIX >= 5.3 with NFS.
4905         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
4906         as no ACL.
4907
4908 2011-09-06  Bruno Haible  <bruno@clisp.org>
4909
4910         acl: Fix a test failure on IRIX 6.5 with NFS.
4911         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
4912         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
4913         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
4914         * lib/copy-acl.c (qcopy_acl): Likewise.
4915
4916 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4917
4918         openat: port to AIX 7.1 with large files
4919         AIX 7.1 does a "#define openat open64at" if large files are in use,
4920         so we can't simply #undef openat.  Use the orig_openat trick (similar
4921         to orig_open in lib/open.c) to work around the problem.  Problem
4922         reported by Kevin Brott for GNU tar, in the thread containing
4923         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
4924         * lib/openat.c (__need_system_fcntl_h): Define first.
4925         Include <fcntl.h> and <sys/types.h> before undefining.
4926         (orig_openat) [HAVE_OPENAT]: New inline function.
4927         (openat) [HAVE_OPENAT]: Do not undef.
4928         (rpl_openat): Use orig_openat, not openat.
4929
4930 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
4931             Bruno Haible  <bruno@clisp.org>
4932
4933         acl: Avoid errors on NonStop Kernel.
4934         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
4935         ENOTSUP errors.
4936
4937 2011-09-05  Bruno Haible  <bruno@clisp.org>
4938
4939         acl: Clean up Solaris code.
4940         * lib/acl-internal.h: Remove no-op #if.
4941         * lib/file-has-acl.c: Likewise.
4942         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
4943         * lib/copy-acl.c (qcopy_acl): Likewise.
4944
4945 2011-09-05  Bruno Haible  <bruno@clisp.org>
4946
4947         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
4948         binaries built on the original Solaris 10.
4949         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
4950         trivial.
4951
4952 2011-09-05  Bruno Haible  <bruno@clisp.org>
4953
4954         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4955         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
4956         10.
4957         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
4958         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
4959         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
4960         instead of acl_get, facl_get, acl_set, facl_set.
4961
4962 2011-09-05  Bruno Haible  <bruno@clisp.org>
4963
4964         copy-file: Try unit tests on more file systems.
4965         * tests/test-copy-file-1.sh: New file.
4966         * tests/test-copy-file-2.sh: New file.
4967         * modules/copy-file-tests (Files): Add them.
4968         (Makefile.am): Add them to TESTS.
4969
4970         acl: Try unit tests on more file systems.
4971         * tests/test-file-has-acl-1.sh: New file.
4972         * tests/test-file-has-acl-2.sh: New file.
4973         * tests/test-set-mode-acl-1.sh: New file.
4974         * tests/test-set-mode-acl-2.sh: New file.
4975         * tests/test-copy-acl-1.sh: New file.
4976         * tests/test-copy-acl-2.sh: New file.
4977         * modules/acl-tests (Files): Add them.
4978         (Makefile.am): Add them to TESTS.
4979
4980 2011-09-04  Bruno Haible  <bruno@clisp.org>
4981
4982         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4983         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
4984         10.
4985         (OLD_ALLOW, OLD_DENY): New macros.
4986         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
4987         ACE_ACCESS_ALLOWED_ACE_TYPE.
4988         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
4989         ACE_ACCESS_DENIED_ACE_TYPE.
4990         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
4991         (NEW_ACE_EXECUTE): Fix value.
4992         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
4993         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
4994         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
4995         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
4996         NEW_ACE_SYNCHRONIZE): New macros.
4997         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
4998         instead of acl_fromtext, acl_set, facl_set.
4999         Fixes a coreutils/tests/cp/perm failure.
5000
5001 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
5002
5003         openat: test for fstatat (..., 0) bug
5004         Further testing with tar suggests that fstatat (..., 0)
5005         does not work in general, on AIX 7.1; see
5006         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
5007         So, give up entirely on AIX 7.1's fstatat, and fall back on our
5008         replacement fstatat (which is what older AIX releases were using
5009         anyway).
5010         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
5011         use is now changed to orig_fstatat.  This was probably the right
5012         thing to do anyway.
5013         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
5014         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
5015         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
5016         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
5017         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
5018         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
5019         if the bug is found.
5020
5021         openat: test for fstatat (AT_FDCWD, ..., 0) bug
5022         This tests for another fstatat bug on AIX 7.1:
5023         fstatat (AT_FDCWD, ..., 0) does not work.  See
5024         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
5025         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
5026         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
5027         (rpl_fstatat): Adjust so that it works around either (or both)
5028         bugs if present.
5029         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
5030
5031 2011-09-03  Karl Berry  <karl@gnu.org>
5032
5033         * doc/regex.texi (Character Class Operators): Avoid literal ":"
5034         in index entries.
5035
5036 2011-09-02  Bruno Haible  <bruno@clisp.org>
5037
5038         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
5039         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
5040         values of AR, ARFLAGS, RANLIB.
5041         Reported by John W. Eaton <jwe@gnu.org> for Octave.
5042
5043 2011-09-02  Bruno Haible  <bruno@clisp.org>
5044
5045         Find 'ar' program that fits with --host argument.
5046         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
5047
5048 2011-09-02  Bruno Haible  <bruno@clisp.org>
5049
5050         tests: init.sh: Support any non-GNU diff.
5051         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
5052         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
5053         Solaris 8.
5054
5055 2011-09-02  Bruno Haible  <bruno@clisp.org>
5056
5057         tests: init.sh: work also with any non-GNU diff that supports -u
5058         * tests/init.sh: Relax check for diff -u support.
5059         Rather than checking for GNU diff via --version, simply check
5060         for support for -u itself.  Useful at least on OpenBSD 4.9,
5061         AIX 7.1, IRIX 6.5, and Solaris 10.
5062
5063 2011-09-01  Bruno Haible  <bruno@clisp.org>
5064
5065         strtoimax, strtoumax: Document problem on HP-UX 11.
5066         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
5067         * doc/posix-functions/strtoumax.texi: Likewise.
5068
5069 2011-09-01  Bruno Haible  <bruno@clisp.org>
5070
5071         strtoumax: Avoid link error on OSF/1 with DTK cc.
5072         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
5073         defined as a function.
5074         * modules/strtoumax (Depends-on, configure.ac): Test only whether
5075         strtoumax is defined, not whether it is declared.
5076
5077 2011-09-01  Bruno Haible  <bruno@clisp.org>
5078
5079         strtoimax: Avoid link error on OSF/1 with DTK cc.
5080         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
5081         defined as a function.
5082         * modules/strtoimax (Depends-on, configure.ac): Test only whether
5083         strtoimax is defined, not whether it is declared.
5084
5085 2011-09-01  Bruno Haible  <bruno@clisp.org>
5086
5087         imaxdiv: Avoid link error on OSF/1 with DTK cc.
5088         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
5089         as a function.
5090         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
5091         whether it is declared.
5092
5093 2011-09-01  Bruno Haible  <bruno@clisp.org>
5094
5095         imaxabs: Avoid link error on OSF/1 with DTK cc.
5096         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
5097         as a function.
5098         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
5099         whether it is declared.
5100
5101 2011-09-01  Bruno Haible  <bruno@clisp.org>
5102
5103         Tests for module 'strtoumax'.
5104         * modules/strtoumax-tests: New file.
5105         * tests/test-strtoumax.c: New file.
5106
5107         Tests for module 'strtoimax'.
5108         * modules/strtoimax-tests: New file.
5109         * tests/test-strtoimax.c: New file.
5110
5111         Tests for module 'imaxdiv'.
5112         * modules/imaxdiv-tests: New file.
5113         * tests/test-imaxdiv.c: New file.
5114
5115         Tests for module 'imaxabs'.
5116         * modules/imaxabs-tests: New file.
5117         * tests/test-imaxabs.c: New file.
5118
5119 2011-09-01  Bruno Haible  <bruno@clisp.org>
5120
5121         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
5122         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
5123         pthread_create.
5124
5125 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5126
5127         openat: work around AIX 7.1 fstatat issue
5128         This should fix the problem that was not properly fixed
5129         in the previous change, dated 2011-08-30.
5130         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
5131         __need_system_stat_h defined.
5132         (orig_fstatat) [HAVE_FSTATAT]: New function.
5133         (rpl_fstatat): Go back to the old way of doing things,
5134         except call orig_fstatat instead of fstatat.
5135         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
5136         Remove unnecessary check whether fstatat fills in st_size etc.
5137
5138 2011-09-01  Bruno Haible  <bruno@clisp.org>
5139
5140         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
5141         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
5142         just include the system's header.
5143
5144 2011-08-31  Jim Meyering  <meyering@redhat.com>
5145
5146         tests: avoid spurious assertion failure in test-float.c on ppc64
5147         * tests/test-float.c (test_long_double): Comment out an assertion,
5148         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
5149         with gcc-4.4.4.
5150
5151         maint: indent with spaces, not TABs
5152         I need to get in the habit of running gnulib's "make check".
5153         Both of these would have been caught.
5154         * m4/largefile.m4: Indent with spaces, not TABs.
5155         * lib/parse-datetime.y (iso_8601_time): Likewise.
5156         Spotted by Pádraig Brady.
5157
5158         test-parse-datetime.c: accommodate a relatively strict gcc warning
5159         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
5160         to avoid a warning from gcc's -Werror=missing-declarations.
5161         Insert a few spaces-before-funcall-parenthesis.
5162
5163 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
5164
5165         parse-datetime: accept ISO 8601 date and time rep with "T" separator
5166         The parser now accepts ISO 8601 date-time strings with "T" as the
5167         separator.  It has long parsed dates like "2004-02-29 16:21:42"
5168         with a space between the date and time strings.  Now it also parses
5169         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
5170         variants like "2004-02-29T16:21:42.333-07:00"
5171         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
5172         of day representation using the 'T' separator character.
5173         * doc/parse-datetime.texi (General date syntax): replace use of
5174         deprecated --iso-8601 option with --rfc-3339 in example of date
5175         command output formats that can be parsed.
5176         * tests/test-parse-datetime.c (tm_diff): New function, taken from
5177         lib/parse-datetime.y.
5178         (gmt_offset): New function.
5179         (main): Add additional test cases to validate ISO8601 extended
5180         date and time of day parsing.
5181
5182 2011-08-31  Bruno Haible  <bruno@clisp.org>
5183
5184         freopen: Documentation.
5185         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
5186         name.
5187         Reported by Claudio Bley <claudio.bley@gmail.com>.
5188
5189 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
5190
5191         freopen: Don't crash if the filename argument is NULL.
5192         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
5193         NULL.
5194
5195 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5196
5197         openat: work around AIX 7.1 fstatat bug
5198         Problem reported by Kevin Brott for GNU tar, in the thread containing
5199         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
5200         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
5201         FSTATAT_ST_SIZE_ETC_BROKEN.
5202         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
5203         rpl_fstatat.
5204         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
5205         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
5206         AC_CHECK_FUNCS_ONCE for fstatat.
5207         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
5208         fchmodat, mkdirat, openat and unlinkat.
5209
5210 2011-08-30  Bruno Haible  <bruno@clisp.org>
5211
5212         Avoid endless recursions if config.h includes some header files.
5213         * lib/fopen.c (__need_FILE): Define already before including config.h.
5214         * lib/freopen.c (__need_FILE): Likewise.
5215         * lib/open.c (__need_system_fcntl_h): Likewise.
5216         * lib/stat.c (__need_system_sys_stat_h): Likewise.
5217         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
5218         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5219
5220 2011-08-25  Karl Berry  <karl@gnu.org>
5221
5222         * config/srclist.txt (ylwrap): new try.
5223         * build-aux/ylwrap: new file.
5224
5225 2011-08-23  Bruno Haible  <bruno@clisp.org>
5226
5227         tmpdir: Use a good default directory on native Windows.
5228         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
5229         (P_tmpdir): Default to _P_tmpdir on native Windows.
5230         (path_search): On native Windows, try the value returned by GetTempPath
5231         before trying P_tmpdir.
5232         * modules/tmpdir (Depends-on): Add pathmax.
5233         Suggested by John Darrington <john@darrington.wattle.id.au>.
5234
5235 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
5236
5237         doc: fix typo in README-release
5238         * top/README-release: Capitalize first word of a sentence.
5239
5240 2011-08-19  Jim Meyering  <meyering@redhat.com>
5241
5242         fts: do not exhaust memory when processing million-entry directories
5243         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
5244         directory would require about 256*N bytes of memory.  Thus, it was
5245         easy to construct a directory too large to be processed by any of
5246         those tools.  With this change, fts' maximum memory utilization is
5247         now limited to around 30MB.
5248         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
5249         (fts_read): When we've processed the final entry (i.e., when
5250         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
5251         using the parent entry to read any remaining entries.  Dispatch
5252         depending on what fts_build returns:
5253         - NULL+stop, aka failure: stop
5254         - NULL otherwise: move up in the dir hierarchy
5255         - non-NULL: handle this new entry
5256         (fts_build): Declare and use new local, continue_readdir.
5257         Prepare to be called from fts_read, when the entries
5258         from a partially-read directory have just been exhausted.
5259         In that case, we'll skip the opendir and instead use the parent's
5260         fts_dirp and derive dir_fd from that.
5261         Finally, in the readdir loop, if we read max_entries entries,
5262         exit the loop ensuring *not* to call closedir.  This is required
5263         so that fts_dirp can be reused on a subsequent call.
5264         Prompted by Ben England's report of memory exhaustion in find
5265         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
5266
5267         maint: fts: move decl of `dp' down into while loop; split a long line
5268         * lib/fts.c (fts_build): No semantic change.
5269
5270         fts: add/use new struct member, fts_dirp
5271         We are about to use this to manage any directory with
5272         too many entries to read all of them into memory at once.
5273         To do that, we'll need to save the DIR* pointer in each
5274         affected FTSENT struct.
5275         * lib/fts_.h: Include <dirent.h>.
5276         (struct FTSENT) [fts_dirp]: New member.
5277         * lib/fts.c (closedir_and_clear): Define.
5278         Use it in place of closedir so that we are sure to
5279         clear the new fts_dirp member when done with it.
5280         (fts_alloc): Initialize the new member.
5281         (fts_lfree): Free, if needed.
5282
5283         maint: fts: give __opendir2 a new parameter and rename
5284         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
5285         than surreptitiously using sole caller's "dir_fd".
5286         (fts_opendir): Rename from __opendir2.
5287
5288         maint: fts.c: remove __opendir2's now-unused parameter, oflag
5289         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
5290
5291         maint: fts.c: correct off-by-one indentation
5292         * lib/fts.c (fts_build): Correct indentation, change style
5293         of a couple of block comments, and bracing style.
5294
5295         maint: fts.c: move __opendir2 #define "up" out of function body
5296         * lib/fts.c (__opendir2): Move "up".  No semantic change.
5297
5298         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
5299         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
5300         out for a long time and besides was useful only on BSD systems.
5301
5302 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
5303
5304         regex: port to Stratus OpenVOS
5305         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
5306         define to empty, rather than attempting nonportable optimizations.
5307         Problem reported by Paul Green in:
5308         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
5309         and fix suggested by Eric Blake in:
5310         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
5311
5312 2011-08-17  Eric Blake  <eblake@redhat.com>
5313
5314         getcwd: fix test failures on mingw
5315         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
5316         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
5317         test if long directory cannot be created, and allow mingw errno.
5318
5319         getcwd-lgpl: fix m4 to match relaxed test for BSD
5320         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
5321         (gl_FUNC_GETCWD_SIGNATURE): New macro.
5322         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
5323         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
5324         signature problem.
5325
5326         getcwd: fix compilation on mingw64
5327         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
5328         getcwd.
5329         Reported by Marc-André Lureau.
5330
5331         pipe2: silence compiler warning
5332         * lib/pipe2.c (pipe2): Hide label if it is not used.
5333
5334 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
5335
5336         relocatable-prog: fix link error
5337         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
5338         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
5339         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
5340         into modules/relocatable-lib without noticing that
5341         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
5342         also needs to build relocatable.c.
5343
5344 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5345
5346         getaddrinfo: fix sh typo in gai_strerrorA decl checking
5347         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
5348         shell code: it contained a 'break' that was not in a loop.
5349         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
5350         via a shell-language loop; this may have been true in old Autoconf
5351         versions, but it's not true in Autoconf 2.68.  I found this bug
5352         when testing coreutils git on Solaris 8, whose shell complains
5353         about the syntax error.
5354
5355 2011-08-12  Simon Josefsson  <simon@josefsson.org>
5356
5357         * lib/base64.c: Fix comment to reference RFC 4648.
5358         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
5359         <gvtulder@gmail.com>.
5360
5361 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
5362
5363         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
5364
5365         po/Makefile.in.in: fix make -q problem
5366         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
5367         rule, since there's no file named 'check-macro-version' and its
5368         use as a file breaks make -q.
5369         (all): Don't depend on check-macro-version.
5370         (CHECK_MACRO_VERSION): New macro.
5371         (stamp-po): Use it.
5372
5373         configmake: fix make -q problem
5374         * modules/configmake (configmake.h): Update configmake.h's time stamp
5375         even if the file does not change.  Otherwise, 'make -q' fails.
5376         Problem reported by Simon Josefsson in
5377         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
5378
5379 2011-08-11  Jim Meyering  <meyering@redhat.com>
5380
5381         git-version-gen: correct the advice in a comment
5382         * build-aux/git-version-gen: Correct comment.
5383         Don't recommend to list .tarball-version in .gitignore.
5384
5385 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5386
5387         base64: fix off-by-one buffer size bug
5388         Problem and (trivial) fix reported by Gijs van Tulder in
5389         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
5390         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
5391         * tests/test-base64.c (main): Catch the bug.
5392
5393 2011-08-10  Eric Blake  <eblake@redhat.com>
5394
5395         closein: correct comments
5396         * lib/closein.c (close_stdin): Improve comments.
5397
5398 2011-08-09  Bruno Haible  <bruno@clisp.org>
5399
5400         More tests for 'fseeko'.
5401         * tests/test-fseeko3.c: New file, from Eric Blake.
5402         * tests/test-fseeko3.sh: New file.
5403         * modules/fseeko-tests (Files): Add them.
5404         (TESTS): Add test-fseeko3.sh.
5405         (check_PROGRAMS): Add test-fseeko3.
5406
5407 2011-08-09  Eric Blake  <eblake@redhat.com>
5408
5409         fseeko: remove unneeded hack
5410         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
5411
5412         fseeko: fix bug on glibc
5413         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
5414         Reported by John W. Eaton.
5415
5416 2011-08-08  Bruno Haible  <bruno@clisp.org>
5417
5418         unictype/base: Fix interoperability with preinstalled libunistring.
5419         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
5420         Reported by Simon Josefsson.
5421
5422 2011-08-08  Bruno Haible  <bruno@clisp.org>
5423
5424         iswblank: Detect declaration correctly.
5425         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
5426         AC_CHECK_DECLS invocation.
5427
5428 2011-08-08  Bruno Haible  <bruno@clisp.org>
5429
5430         tcgetsid: Detect declaration correctly.
5431         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
5432         AC_CHECK_DECLS invocation.
5433         Reported by Simon Josefsson.
5434
5435 2011-08-08  Eric Blake  <eblake@redhat.com>
5436
5437         largefile: fix typo that regressed large file support
5438         * modules/largefile (configure.ac-early): Fix section name.
5439
5440 2011-08-06  Karl Berry  <karl@gnu.org>
5441
5442         * MODULES.html.sh (func_all_files): _Noreturn is no longer
5443         a separate module.
5444
5445 2011-08-05  Simon Josefsson  <simon@josefsson.org>
5446
5447         openat: Fix warnings and commens when building unlinkat.c on Hurd.
5448         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
5449         get prototype for free.
5450
5451 2011-08-04  Bruno Haible  <bruno@clisp.org>
5452
5453         Tests for module 'pathmax'.
5454         * modules/pathmax-tests: New file.
5455         * tests/test-pathmax.c: New file.
5456
5457         canonicalize-lgpl: Support larger filenames on the Hurd.
5458         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
5459         Reported by Paul Eggert.
5460
5461         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
5462         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
5463         * lib/chdir-long.h: Include pathmax.h.
5464         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
5465         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
5466         (PATH_MAX): Remove code that is done by pathmax.h.
5467         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
5468         * lib/tmpfile.c: Add a comment.
5469         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
5470         * modules/chdir-long (Depends-on): Add pathmax.
5471         * modules/getcwd (Depends-on): Add pathmax.
5472         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
5473         is not defined.
5474         * doc/posix-headers/limits.texi: Mention the pathmax module.
5475         * NEWS: Mention the change.
5476
5477 2011-08-02  Bruno Haible  <bruno@clisp.org>
5478
5479         pthread_sigmask: Actually use results of gl_THREADLIB.
5480         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
5481         gl_THREADLIB, not gl_[]THREADLIB.
5482         Reported by Eric Blake.
5483
5484 2011-08-02  Jim Meyering  <meyering@redhat.com>
5485
5486         maint.mk: relax the default _gl_TS_function_match regexp
5487         * top/maint.mk (_gl_TS_function_match): Don't require at least one
5488         space between function name and "(" in an "extern" declaration.
5489         That would fail to match a decl with no space there: extern void foo();
5490
5491 2011-07-31  Iain Nicol  <iain@thenicols.net>
5492
5493         git-version-gen: document that EXTRA_DIST must include .version
5494         * build-aux/git-version-gen: In the how-to-use comment, document
5495         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
5496         will fail when run from an unpacked distribution tarball.
5497
5498 2011-08-01  Bruno Haible  <bruno@clisp.org>
5499
5500         wctype-h: Fix last change.
5501         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
5502         REPLACE_TOWLOWER to 0.
5503         Reported by Sam Steingold <sds@gnu.org>.
5504
5505 2011-07-31  Bruno Haible  <bruno@clisp.org>
5506
5507         frexpl: Update autoconf test.
5508         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
5509         according to changes of 2011-06-20.
5510
5511 2011-07-31  Bruno Haible  <bruno@clisp.org>
5512
5513         sys_utsname: Add support for Minix.
5514         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
5515         <sys/utsname.h>.
5516         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
5517         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
5518
5519 2011-07-31  Bruno Haible  <bruno@clisp.org>
5520
5521         strings: Add support for Minix.
5522         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
5523         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
5524         * doc/posix-headers/strings.texi: Document the Minix problem.
5525
5526 2011-07-31  Bruno Haible  <bruno@clisp.org>
5527
5528         wctype-h: Add support for Minix.
5529         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
5530         REPLACE_TOWLOWER.
5531         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
5532         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
5533         REPLACE_ISWCNTRL.
5534
5535 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
5536
5537         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
5538         This is a performance improvement for 64-bit hosts: it causes the
5539         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
5540
5541 2011-07-31  Bruno Haible  <bruno@clisp.org>
5542
5543         stdioext: Add support for Minix.
5544         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
5545         * lib/fpurge.c (fpurge): Likewise.
5546         * lib/freadahead.c (freadahead): Likewise.
5547         * lib/freadable.c (freadable): Likewise.
5548         * lib/freading.c (freading): Likewise.
5549         * lib/freadptr.c (freadptr): Likewise.
5550         * lib/freadseek.c (freadptrinc): Likewise.
5551         * lib/fseeko.c (rpl_fseeko): Likewise.
5552         * lib/fseterr.c (fseterr): Likewise.
5553         * lib/fwritable.c (fwritable): Likewise.
5554         * lib/fwriting.c (fwriting): Likewise.
5555         * lib/fflush.c (clear_ungetc_buffer): Update comment.
5556         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
5557
5558 2011-07-31  Bruno Haible  <bruno@clisp.org>
5559
5560         errno: Port to Minix.
5561         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
5562         ECONNABORTED are defined.
5563         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
5564         GNULIB_defined_ECONNABORTED): New macros.
5565         * lib/strerror-override.h (strerror_override): Test also
5566         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
5567         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
5568         ECONNABORTED.
5569         * doc/posix-headers/errno.texi: Mention the Minix problem.
5570
5571 2011-07-31  Bruno Haible  <bruno@clisp.org>
5572
5573         Work around declaration collisions on Minix.
5574         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
5575         defined, set REPLACE_MBSINIT.
5576         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
5577         defined, set REPLACE_MBRTOWC.
5578         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
5579         set REPLACE_MBRLEN.
5580         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
5581         defined, set REPLACE_MBSRTOWCS.
5582         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
5583         defined, set REPLACE_WCRTOMB.
5584         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
5585         defined, set REPLACE_WCSRTOMBS.
5586
5587 2011-07-31  Bruno Haible  <bruno@clisp.org>
5588
5589         Add support for Minix with ACK compiler.
5590         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
5591         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
5592         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
5593
5594 2011-07-31  Bruno Haible  <bruno@clisp.org>
5595
5596         Documentation about Minix.
5597         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
5598         * doc/glibc-headers/*.texi: Likewise.
5599         * doc/posix-functions/*.texi: Likewise.
5600         * doc/glibc-functions/*.texi: Likewise.
5601
5602 2011-07-31  Bruno Haible  <bruno@clisp.org>
5603
5604         snippet/warn-on-use: Fix indentation.
5605         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
5606
5607 2011-07-25  Jim Meyering  <meyering@redhat.com>
5608
5609         tests: test-update-copyright.sh: remove unnecessary "rm" commands
5610         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
5611         commands.
5612
5613 2011-07-27  Jim Meyering  <meyering@redhat.com>
5614
5615         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
5616         * top/maint.mk (gl_extract_significant_defines_): Now that
5617         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
5618         gnulib/lib/signal.in.h, and now that we recommend to
5619         define-if-undefined those two symbols in application code,
5620         we must filter them out of the "significant" list.
5621         This avoids a "make syntax-check" failure in coreutils.
5622
5623 2011-07-26  Eric Blake  <eblake@redhat.com>
5624
5625         warnings: add comments about previous patch
5626         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
5627         * m4/include_next.m4: Likewise.
5628         * m4/warn-on-use.m4: Likewise.
5629         * m4/warnings.m4: Likewise, and simplify use.
5630         Suggested by Stefano Lattarini.
5631
5632         include-next, warnings: support older autoconf
5633         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
5634         AS_VAR_PUSHDEF in a way that works with older autoconf.
5635         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
5636         Reported by Daniel P. Berrange.
5637
5638 2011-07-25  Bruno Haible  <bruno@clisp.org>
5639
5640         fseek, ftell: Fix doc.
5641         * doc/posix-functions/fseek.texi: Reword statement about
5642         AC_SYS_LARGEFILE.
5643         * doc/posix-functions/ftell.texi: Likewise.
5644
5645 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
5646             Bruno Haible  <bruno@clisp.org>
5647
5648         Add dependencies to the 'largefile' module.
5649         * modules/fopen (Depends-on): Add 'largefile'.
5650         * modules/freopen (Depends-on): Likewise.
5651         * modules/fseeko (Depends-on): Likewise.
5652         * modules/ftello (Depends-on): Likewise.
5653         * modules/glob (Depends-on): Likewise.
5654         * modules/lseek (Depends-on): Likewise.
5655         * modules/lstat (Depends-on): Likewise.
5656         * modules/mkostemp (Depends-on): Likewise.
5657         * modules/mkostemps (Depends-on): Likewise.
5658         * modules/mkstemp (Depends-on): Likewise.
5659         * modules/mkstemps (Depends-on): Likewise.
5660         * modules/open (Depends-on): Likewise.
5661         * modules/openat (Depends-on): Likewise.
5662         * modules/pread (Depends-on): Likewise.
5663         * modules/pwrite (Depends-on): Likewise.
5664         * modules/scandir (Depends-on): Likewise.
5665         * modules/stat (Depends-on): Likewise.
5666         * modules/tmpfile (Depends-on): Likewise.
5667         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
5668         since the containing module now depends on the largefile module.
5669         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
5670         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
5671         off_t is fixed by gnulib.
5672         * doc/posix-functions/freopen.texi: Likewise.
5673         * doc/posix-functions/fseeko.texi: Likewise.
5674         * doc/posix-functions/fstatat.texi: Likewise.
5675         * doc/posix-functions/ftello.texi: Likewise.
5676         * doc/posix-functions/glob.texi: Likewise.
5677         * doc/posix-functions/lseek.texi: Likewise.
5678         * doc/posix-functions/lstat.texi: Likewise.
5679         * doc/posix-functions/mkstemp.texi: Likewise.
5680         * doc/posix-functions/open.texi: Likewise.
5681         * doc/posix-functions/openat.texi: Likewise.
5682         * doc/posix-functions/pread.texi: Likewise.
5683         * doc/posix-functions/pwrite.texi: Likewise.
5684         * doc/posix-functions/scandir.texi: Likewise.
5685         * doc/posix-functions/stat.texi: Likewise.
5686         * doc/posix-functions/tmpfile.texi: Likewise.
5687         * doc/glibc-functions/mkostemp.texi: Likewise.
5688         * doc/glibc-functions/mkostemps.texi: Likewise.
5689         * doc/glibc-functions/mkstemps.texi: Likewise.
5690
5691 2011-07-25  Bruno Haible  <bruno@clisp.org>
5692
5693         fcntl: Move AC_LIBOBJ invocation to module description.
5694         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
5695         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
5696
5697         fcntl: Remove call-in from fchdir.m4.
5698         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
5699         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
5700
5701         dup3: Remove potential call-in from fchdir.m4.
5702         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
5703         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
5704
5705         dup2: Move AC_LIBOBJ invocation to module description.
5706         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
5707         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
5708         Don't invoke AC_LIBOBJ.
5709         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
5710
5711         dup2: Remove call-in from fchdir.m4.
5712         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
5713         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
5714
5715         fclose: Move AC_LIBOBJ invocation to module description.
5716         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
5717         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
5718         to 1.
5719         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
5720
5721         fclose: Remove call-in from close.m4.
5722         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
5723         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
5724
5725         close: Move AC_LIBOBJ invocation to module description.
5726         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
5727         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
5728         1.
5729         * modules/close (configure.ac): Invoke AC_LIBOBJ.
5730
5731         close: Remove call-in from fchdir.m4.
5732         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
5733         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
5734
5735         open: Move AC_LIBOBJ invocation to module description.
5736         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
5737         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
5738         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
5739
5740         open: Remove call-in from fchdir.m4.
5741         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
5742         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
5743
5744         fchdir: Start to remove gl_REPLACE_* idiom.
5745         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
5746         (gl_FUNC_FCHDIR): Invoke it.
5747
5748 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
5749
5750         * lib/ftell.c (ftell): Comment out cast.
5751
5752         close: use gl_REPLACE_FCLOSE only if defined
5753         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
5754         is defined.  The close module doesn't depend on the fclose module
5755         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
5756         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
5757         I reproduced the problem with "./gnulib-tool --test close sys_socket".
5758
5759 2011-07-24  Jim Meyering  <meyering@redhat.com>
5760
5761         test-select.h: avoid warning when using gcc's -Wmissing-declarations
5762         * tests/test-select.h (test_function): Declare as "static".
5763
5764 2011-07-24  Bruno Haible  <bruno@clisp.org>
5765
5766         doc: Mention the effects of AC_SYS_LARGEFILE.
5767         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
5768         on this function.
5769         * doc/posix-functions/aio_error.texi: Likewise.
5770         * doc/posix-functions/aio_fsync.texi: Likewise.
5771         * doc/posix-functions/aio_read.texi: Likewise.
5772         * doc/posix-functions/aio_return.texi: Likewise.
5773         * doc/posix-functions/aio_suspend.texi: Likewise.
5774         * doc/posix-functions/aio_write.texi: Likewise.
5775         * doc/posix-functions/fgetpos.texi: Likewise.
5776         * doc/posix-functions/fopen.texi: Likewise.
5777         * doc/posix-functions/freopen.texi: Likewise.
5778         * doc/posix-functions/fsetpos.texi: Likewise.
5779         * doc/posix-functions/fstatvfs.texi: Likewise.
5780         * doc/posix-functions/ftruncate.texi: Likewise.
5781         * doc/posix-functions/ftw.texi: Likewise.
5782         * doc/posix-functions/getrlimit.texi: Likewise.
5783         * doc/posix-functions/glob.texi: Likewise.
5784         * doc/posix-functions/lio_listio.texi: Likewise.
5785         * doc/posix-functions/lockf.texi: Likewise.
5786         * doc/posix-functions/mkstemp.texi: Likewise.
5787         * doc/posix-functions/mmap.texi: Likewise.
5788         * doc/posix-functions/nftw.texi: Likewise.
5789         * doc/posix-functions/openat.texi: Likewise.
5790         * doc/posix-functions/opendir.texi: Likewise.
5791         * doc/posix-functions/posix_fadvise.texi: Likewise.
5792         * doc/posix-functions/posix_fallocate.texi: Likewise.
5793         * doc/posix-functions/pread.texi: Likewise.
5794         * doc/posix-functions/pwrite.texi: Likewise.
5795         * doc/posix-functions/readdir.texi: Likewise.
5796         * doc/posix-functions/readdir_r.texi: Likewise.
5797         * doc/posix-functions/rewinddir.texi: Likewise.
5798         * doc/posix-functions/scandir.texi: Likewise.
5799         * doc/posix-functions/seekdir.texi: Likewise.
5800         * doc/posix-functions/setrlimit.texi: Likewise.
5801         * doc/posix-functions/statvfs.texi: Likewise.
5802         * doc/posix-functions/telldir.texi: Likewise.
5803         * doc/posix-functions/tmpfile.texi: Likewise.
5804         * doc/posix-functions/truncate.texi: Likewise.
5805         * doc/glibc-functions/fallocate.texi: Likewise.
5806         * doc/glibc-functions/fstatfs.texi: Likewise.
5807         * doc/glibc-functions/fts_children.texi: Likewise.
5808         * doc/glibc-functions/fts_read.texi: Likewise.
5809         * doc/glibc-functions/getdirentries.texi: Likewise.
5810         * doc/glibc-functions/mkostemp.texi: Likewise.
5811         * doc/glibc-functions/mkostemps.texi: Likewise.
5812         * doc/glibc-functions/mkstemps.texi: Likewise.
5813         * doc/glibc-functions/preadv.texi: Likewise.
5814         * doc/glibc-functions/pwritev.texi: Likewise.
5815         * doc/glibc-functions/sendfile.texi: Likewise.
5816         * doc/glibc-functions/statfs.texi: Likewise.
5817
5818 2011-07-24  Bruno Haible  <bruno@clisp.org>
5819
5820         doc: Fix typo.
5821         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
5822
5823 2011-07-24  Bruno Haible  <bruno@clisp.org>
5824
5825         doc: Mention fsusage.
5826         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
5827
5828 2011-07-24  Bruno Haible  <bruno@clisp.org>
5829
5830         doc: Mention new glibc headers and functions.
5831         * doc/glibc-headers/gshadow.texi: New file.
5832         * doc/glibc-functions/endsgent.texi: New file.
5833         * doc/glibc-functions/fgetsgent.texi: New file.
5834         * doc/glibc-functions/fgetsgent_r.texi: New file.
5835         * doc/glibc-functions/getsgent.texi: New file.
5836         * doc/glibc-functions/getsgent_r.texi: New file.
5837         * doc/glibc-functions/getsgnam.texi: New file.
5838         * doc/glibc-functions/getsgnam_r.texi: New file.
5839         * doc/glibc-functions/putsgent.texi: New file.
5840         * doc/glibc-functions/setsgent.texi: New file.
5841         * doc/glibc-functions/sgetsgent.texi: New file.
5842         * doc/glibc-functions/sgetsgent_r.texi: New file.
5843         * doc/glibc-functions/malloc_info.texi: New file.
5844         * doc/glibc-functions/preadv.texi: New file.
5845         * doc/glibc-functions/pwritev.texi: New file.
5846         * doc/glibc-functions/register_printf_modifier.texi: New file.
5847         * doc/glibc-functions/register_printf_specifier.texi: New file.
5848         * doc/glibc-functions/register_printf_type.texi: New file.
5849         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
5850         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
5851         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
5852         * doc/glibc-functions/pthread_getname_np.texi: New file.
5853         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
5854         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
5855         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
5856         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
5857         * doc/glibc-functions/pthread_setname_np.texi: New file.
5858         * doc/glibc-functions/pthread_sigqueue.texi: New file.
5859         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
5860         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
5861         * doc/glibc-functions/qsort_r.texi: New file.
5862         * doc/glibc-functions/quick_exit.texi: New file.
5863         * doc/glibc-functions/syncfs.texi: New file.
5864         * doc/gnulib.texi: Include them.
5865         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
5866         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
5867         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
5868         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
5869         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
5870         * doc/glibc-functions/execvpe.texi: Likewise.
5871
5872 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5873
5874         ftell: don't include <unistd.h>
5875         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
5876         guaranteed to define off_t, and the ftell module depends on the
5877         stdio module.
5878
5879         ftell: do not assume wraparound signed arithmetic
5880         * lib/ftell.c: Include <limits.h>.
5881         (ftell): Don't assume wraparound signed arithmetic.
5882
5883 2011-07-24  Bruno Haible  <bruno@clisp.org>
5884
5885         close: No longer depend on module 'fclose'.
5886         * modules/close (Depends-on): Remove fclose.
5887         * NEWS: Mention the change.
5888         Suggested by Sam Steingold <sds@gnu.org>.
5889
5890 2011-07-24  Bruno Haible  <bruno@clisp.org>
5891
5892         fsusage: Enable large volume support on AIX >= 5.2.
5893         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
5894         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
5895         instead of STAT_STATVFS.
5896         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
5897
5898         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
5899         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
5900         f_blocks field only on MacOS X.
5901
5902         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
5903         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
5904         * modules/fsusage (Depends-on): Add largefile.
5905
5906 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5907
5908         * README: Modernize discussion of signed integers.
5909         Assuming overflow wraparound is no longer safe.
5910         Mention ones' complement and signed magnitude.
5911
5912 2011-07-22  Bruno Haible  <bruno@clisp.org>
5913
5914         select tests, pselect tests: Refactor.
5915         * tests/test-select.h: New file, extracted from tests/test-select.c.
5916         (select_fn): New type.
5917         (test, do_select, do_select_nowait, do_select_wait, test_tty,
5918         test_connect_first, test_accept_first, test_pair, test_socket_pair,
5919         test_pipe): Add my_select argument.
5920         (test_function): Renamed from main. Add my_select argument.
5921         * tests/test-select.c: Move most code to tests/test-select.h. Include
5922         test-select.h.
5923         * modules/select-tests (Files): Add tests/test-select.h.
5924         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
5925         (my_select, main): New functions.
5926         * modules/pselect-tests (Files): Add tests/test-select.h,
5927         tests/macros.h, tests/signature.h.
5928         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
5929         (configure.ac): Check for <sys/wait.h>.
5930
5931 2011-07-22  Bruno Haible  <bruno@clisp.org>
5932
5933         sys_select tests: Check the signature of FD_*.
5934         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
5935         signature tests from here...
5936         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
5937         here.
5938         * modules/sys_select-tests (Files): Add tests/signature.h.
5939
5940 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5941
5942         largefile: new module, replacing large-inode
5943         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
5944         * MODULES.html.sh: Add largefile, remove large-inode.
5945         * modules/largefile, m4/largefile.m4: New files.
5946         * modules/large-inode, m4/large-inode.m4: Remove.
5947
5948         fsusage: port to MacOS X 10.7 with 4 TiB file systems
5949         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
5950         implementations that use only 32 bits to count blocks.
5951         On typical hosts with 1024-byte blocks, this fails with file
5952         systems as small as 4 TiB.  Problem reported by Herb Wartens
5953         <http://debbugs.gnu.org/9140> and this should also fix a similar
5954         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
5955
5956         large-inode: New module
5957         * MODULES.html.sh: Add it.
5958         * modules/large-inode, m4/large-inode.m4: New files.
5959
5960         extensions: Enable extensions on MacOS X 10.5 and later.
5961         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
5962
5963 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
5964
5965         file-has-acl: use acl_extended_file_nofollow if available
5966         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
5967         (acl_extended_file): New macro.
5968         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
5969         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
5970
5971 2011-07-21  Bruno Haible  <bruno@clisp.org>
5972
5973         Declare system functions in a way that works with C++.
5974         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
5975         declare fdopendir as extern "C".
5976         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
5977         declare frexpl as extern "C".
5978         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
5979         declare gai_strerror as extern "C".
5980         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
5981         programs, declare gai_strerror as extern "C".
5982         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
5983         declare getlogin_r as extern "C".
5984         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
5985         as extern "C".
5986         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
5987         declare ldexpl as extern "C".
5988         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
5989         as extern "C".
5990         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
5991         program, declare getmntinfo as extern "C".
5992         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
5993         stpncpy as extern "C".
5994         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
5995         program, declare __xpg_strerror_r as extern "C".
5996         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
5997         strndup as extern "C".
5998         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
5999         declare memset and bzero as extern "C".
6000         Reported by Sam Steingold <sds@gnu.org>.
6001
6002 2011-07-12  Jim Meyering  <meyering@redhat.com>
6003
6004         maint.mk: prohibit inclusion of "verify.h" without use
6005         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
6006
6007 2011-07-19  Pádraig Brady  <P@draigBrady.com>
6008
6009         timer-time: A new module to check for timer_settime()
6010         * m4/timer_time.m4: Check for the posix function.
6011         * modules/timer-time: Add the new module.
6012         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
6013         Mention it.
6014
6015 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
6016             Bruno Haible  <bruno@clisp.org>
6017
6018         pthread_sigmask: assume POSIX threads if --avoid=threadlib
6019         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
6020         not defined, assume POSIX threads and look for pthread_sigmask in
6021         $LIBS, without changing $CPPFLAGS.
6022
6023 2011-07-19  Bruno Haible  <bruno@clisp.org>
6024
6025         strstr: Update cross-compilation guess.
6026         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
6027         CPUs, guess no, in view of glibc
6028         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
6029         Suggested by Eric Blake. Reported by Reuben Thomas.
6030
6031 2011-07-19  Pádraig Brady  <P@draigBrady.com>
6032
6033         getopt-gnu: suppress core dumps from detection code
6034         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
6035         to suppress core dumps that may well occur on glibc systems.
6036         * modules/getopt-gnu: Depend on nocrash.
6037
6038 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6039
6040         pthread_sigmask: ensure usleep is declared
6041         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
6042         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
6043
6044 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
6045
6046         doc: Document NonStop portability issues.
6047         * doc/posix-functions/sigaction.texi (sigaction):
6048         * doc/posix-headers/signal.texi (signal.h):
6049         Document NonStop.  See Joachim Schmitz in
6050         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
6051
6052 2011-07-15  Bruno Haible  <bruno@clisp.org>
6053
6054         ffsl, ffsll: Avoid unportable behaviour.
6055         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
6056
6057 2011-07-15  Bruno Haible  <bruno@clisp.org>
6058
6059         ffs: More tests.
6060         * tests/test-ffs.c (NBITS): New macro.
6061         (main): Add more tests.
6062         * tests/test-ffsl.c (NBITS): New macro.
6063         (main): Add more tests.
6064         * tests/test-ffsll.c (NBITS): New macro.
6065         (main): Add more tests.
6066
6067 2011-07-15  Eric Blake  <eblake@redhat.com>
6068
6069         ffsl, ffsll: new modules
6070         * modules/ffsl: New file.
6071         * modules/ffsll: Likewise.
6072         * m4/ffsl.m4: Likewise.
6073         * m4/ffsll.m4: Likewise.
6074         * lib/ffsl.c: Likewise.
6075         * lib/ffsl.h: Likewise.
6076         * lib/ffsll.c: Likewise.
6077         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
6078         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
6079         * modules/string (Makefile.am): Substitute witnesses.
6080         * lib/strings.in.h (ffsl, ffsll): Declare.
6081         * modules/ffsl-tests: New test file.
6082         * modules/ffsll-tests: Likewise.
6083         * tests/test-ffsl.c: Likewise.
6084         * tests/test-ffsll.c: Likewise.
6085         * MODULES.html.sh (Integer arithmetic functions): Mention it.
6086         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
6087         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
6088
6089         ffs: fix m4 prerequisite
6090         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
6091
6092         ffs: avoid undefined behavior
6093         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
6094         * tests/test-ffs.c (naive, main): Avoid signed shifts.
6095         Reported by Bruno Haible.
6096
6097 2011-07-12  Bruno Haible  <bruno@clisp.org>
6098
6099         pthread_sigmask: Rely on module 'threadlib'.
6100         * modules/pthread_sigmask (Depends-on): Add threadlib.
6101         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
6102         is defined.
6103
6104 2011-07-12  Bruno Haible  <bruno@clisp.org>
6105
6106         regex: Depend on module 'strcase'.
6107         * modules/regex (Depends-on): Add strcase, for strcasecmp().
6108
6109 2011-07-12  Jim Meyering  <meyering@redhat.com>
6110
6111         warn-on-use: fix typo in file name
6112         * modules/snippet/warn-on-use (Files): Correct file name:
6113         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
6114
6115 2011-07-12  Bruno Haible  <bruno@clisp.org>
6116
6117         strings: Document module.
6118         * doc/posix-headers/strings.texi: Mention module 'strings'.
6119
6120 2011-07-12  Bruno Haible  <bruno@clisp.org>
6121
6122         Rename module '_Noreturn' to 'snippet/_Noreturn'.
6123         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
6124         (Files, Makefile.am): Update.
6125         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
6126         * modules/stdlib (Depends-on): Update.
6127
6128 2011-07-12  Bruno Haible  <bruno@clisp.org>
6129
6130         * NEWS: Mention the changes.
6131
6132         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
6133         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
6134         (Files, Makefile.am): Update.
6135         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
6136         * modules/arpa_inet (Depends-on): Update.
6137         * modules/ctype (Depends-on): Update.
6138         * modules/dirent (Depends-on): Update.
6139         * modules/fcntl-h (Depends-on): Update.
6140         * modules/glob (Depends-on): Update.
6141         * modules/iconv-h (Depends-on): Update.
6142         * modules/inttypes-incomplete (Depends-on): Update.
6143         * modules/langinfo (Depends-on): Update.
6144         * modules/locale (Depends-on): Update.
6145         * modules/math (Depends-on): Update.
6146         * modules/netdb (Depends-on): Update.
6147         * modules/poll-h (Depends-on): Update.
6148         * modules/pty (Depends-on): Update.
6149         * modules/search (Depends-on): Update.
6150         * modules/signal (Depends-on): Update.
6151         * modules/spawn (Depends-on): Update.
6152         * modules/stdio (Depends-on): Update.
6153         * modules/stdlib (Depends-on): Update.
6154         * modules/string (Depends-on): Update.
6155         * modules/strings (Depends-on): Update.
6156         * modules/sys_file (Depends-on): Update.
6157         * modules/sys_ioctl (Depends-on): Update.
6158         * modules/sys_select (Depends-on): Update.
6159         * modules/sys_socket (Depends-on): Update.
6160         * modules/sys_stat (Depends-on): Update.
6161         * modules/sys_time (Depends-on): Update.
6162         * modules/sys_times (Depends-on): Update.
6163         * modules/sys_utsname (Depends-on): Update.
6164         * modules/sys_wait (Depends-on): Update.
6165         * modules/termios (Depends-on): Update.
6166         * modules/time (Depends-on): Update.
6167         * modules/unistd (Depends-on): Update.
6168         * modules/wchar (Depends-on): Update.
6169         * modules/wctype-h (Depends-on): Update.
6170         * MODULES.html.sh (Support for building libraries and executables):
6171         Update.
6172
6173         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
6174         * modules/snippet/unused-parameter: Renamed from
6175         modules/unused-parameter.
6176         (Files, Makefile.am): Update.
6177         * build-aux/snippet/unused-parameter.h: Renamed from
6178         build-aux/unused-parameter.h.
6179         * modules/selinux-h (Depends-on): Update.
6180         * modules/unistr/base (Depends-on): Update.
6181         * MODULES.html.sh (Core language properties): Update.
6182
6183         Rename module 'link-warning' to 'snippet/link-warning'.
6184         * modules/snippet/link-warning: Renamed from modules/link-warning.
6185         (Files, Makefile.am): Update.
6186         * build-aux/snippet/link-warning.h: Renamed from
6187         build-aux/link-warning.h.
6188         * MODULES.html.sh (Support for building libraries and executables):
6189         Update.
6190
6191         Rename module 'c++defs' to 'snippet/c++defs'.
6192         * modules/snippet/c++defs: Renamed from modules/c++defs.
6193         (Files, Makefile.am): Update.
6194         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
6195         * modules/arpa_inet (Depends-on): Update.
6196         * modules/ctype (Depends-on): Update.
6197         * modules/dirent (Depends-on): Update.
6198         * modules/fcntl-h (Depends-on): Update.
6199         * modules/glob (Depends-on): Update.
6200         * modules/iconv-h (Depends-on): Update.
6201         * modules/langinfo (Depends-on): Update.
6202         * modules/locale (Depends-on): Update.
6203         * modules/math (Depends-on): Update.
6204         * modules/netdb (Depends-on): Update.
6205         * modules/poll-h (Depends-on): Update.
6206         * modules/pty (Depends-on): Update.
6207         * modules/search (Depends-on): Update.
6208         * modules/signal (Depends-on): Update.
6209         * modules/spawn (Depends-on): Update.
6210         * modules/stdio (Depends-on): Update.
6211         * modules/stdlib (Depends-on): Update.
6212         * modules/string (Depends-on): Update.
6213         * modules/strings (Depends-on): Update.
6214         * modules/sys_ioctl (Depends-on): Update.
6215         * modules/sys_select (Depends-on): Update.
6216         * modules/sys_socket (Depends-on): Update.
6217         * modules/sys_stat (Depends-on): Update.
6218         * modules/sys_time (Depends-on): Update.
6219         * modules/sys_wait (Depends-on): Update.
6220         * modules/termios (Depends-on): Update.
6221         * modules/time (Depends-on): Update.
6222         * modules/unistd (Depends-on): Update.
6223         * modules/wchar (Depends-on): Update.
6224         * modules/wctype-h (Depends-on): Update.
6225
6226         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
6227         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
6228         (Files, Makefile.am): Update.
6229         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
6230         * modules/argv-iter (Depends-on): Update.
6231         * modules/arpa_inet (Depends-on): Update.
6232         * modules/dirent (Depends-on): Update.
6233         * modules/fcntl-h (Depends-on): Update.
6234         * modules/fnmatch (Depends-on): Update.
6235         * modules/getopt-posix (Depends-on): Update.
6236         * modules/glob (Depends-on): Update.
6237         * modules/iconv-h (Depends-on): Update.
6238         * modules/inttypes-incomplete (Depends-on): Update.
6239         * modules/locale (Depends-on): Update.
6240         * modules/math (Depends-on): Update.
6241         * modules/netdb (Depends-on): Update.
6242         * modules/search (Depends-on): Update.
6243         * modules/signal (Depends-on): Update.
6244         * modules/spawn (Depends-on): Update.
6245         * modules/stdio (Depends-on): Update.
6246         * modules/stdlib (Depends-on): Update.
6247         * modules/string (Depends-on): Update.
6248         * modules/strings (Depends-on): Update.
6249         * modules/sys_socket (Depends-on): Update.
6250         * modules/sys_stat (Depends-on): Update.
6251         * modules/sys_time (Depends-on): Update.
6252         * modules/sys_times (Depends-on): Update.
6253         * modules/sys_utsname (Depends-on): Update.
6254         * modules/time (Depends-on): Update.
6255         * modules/unistd (Depends-on): Update.
6256         * modules/wchar (Depends-on): Update.
6257         * MODULES.html.sh (Support for building libraries and executables):
6258         Update.
6259
6260 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
6261
6262         Improvements on _Noreturn and related modules.
6263
6264         modules/_Exit-tests: test _Noreturn too
6265         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
6266         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
6267         (main): Use them.
6268
6269         stdnoreturn, stdnoreturn-tests: remove modules
6270         They're not needed here and a bit premature for use elsewhere.  See
6271         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
6272         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
6273         * tests/test-stdnoreturn.c: Remove files.
6274         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
6275         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
6276         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
6277         and using noreturn.
6278         * modules/openat, modules/sigpipe-die, modules/xalloc:
6279         * modules/xmemdup0, modules/xstrtol:
6280         Remove dependency on stdnoreturn.
6281
6282         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
6283         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
6284         Reparenthesize to avoid GCC warning.
6285         Support Microsoft's syntax.
6286         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
6287
6288         _Noreturn-tests: remove module
6289         * modules/_Noreturn-tests: Remove.
6290         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
6291         * tests/test-_Noreturn.c: Remove.
6292         * tests/test-stdnoreturn.c: Merge from the old
6293         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
6294
6295 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
6296
6297         _Noreturn, stdnoreturn, and related modules.
6298
6299         * top/maint.mk: Adjust to new noreturn support.
6300         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
6301         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
6302
6303         xalloc: use stdnoreturn.h
6304         * lib/xalloc.h: Include <stdnoreturn.h>.
6305         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6306         * modules/xalloc (Depends-on): Add stdnoreturn.
6307
6308         xstrtol: use stdnoreturn.h
6309         * lib/xstrtol.h: Include <stdnoreturn.h>.
6310         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6311         * modules/xstrtol (Depends-on): Add stdnoreturn.
6312
6313         xmemdup0: use stdnoreturn.h
6314         * lib/xmemdup0.h: Include <stdnoreturn.h>.
6315         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6316         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
6317
6318         sigpipe-die: use stdnoreturn.h
6319         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
6320         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6321         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
6322
6323         openat: use stdnoreturn.h
6324         * lib/openat.h: Include <stdnoreturn.h>.
6325         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6326         * modules/openat (Depends-on): Add stdnoreturn.
6327
6328         * lib/openat-die.c (openat_save_fail): Modernize comment.
6329
6330         * lib/xalloc-die.c (xalloc_die): Modernize comment.
6331
6332         * lib/glthread/thread.h: Modernize comment.
6333
6334         obstack: use _Noreturn
6335         * lib/obstack.c (__attribute__): Remove macro.
6336         (print_and_abort): Use _Noreturn.
6337
6338         c-stack: use _Noreturn
6339         * lib/c-stack.c (die, overflow_handler, segv_handler):
6340         Use _Noreturn rather than __attribute__((noreturn)).
6341
6342         argmatch-tests, exclude_tests: use _Noreturn
6343         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
6344         Remove.
6345         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
6346
6347         stdlib: use _Noreturn
6348         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
6349         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
6350         * modules/stdlib (Depends-on): Add _Noreturn.
6351         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
6352
6353         stdnoreturn-tests: new module
6354         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
6355
6356         stdnoreturn: new module
6357         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
6358         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
6359
6360         _Noreturn-tests: new module
6361         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
6362
6363         _Noreturn: new module
6364         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
6365         New section, mentioning it.
6366         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
6367
6368         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
6369
6370 2011-07-11  Eric Blake  <eblake@redhat.com>
6371
6372         ffs: new module
6373         * modules/ffs: New file.
6374         * m4/ffs.m4: Likewise.
6375         * lib/ffs.c: Likewise.
6376         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
6377         * modules/strings (Makefile.am): Substitute witness.
6378         (Depends-on): Add c++defs.
6379         * lib/strings.in.h (ffs): Declare.
6380         * modules/ffs-tests: New test file.
6381         * tests/test-ffs.c: Test new module.
6382         * MODULES.html.sh (Integer arithmetic functions): Mention it.
6383         * doc/posix-functions/ffs.texi (ffs): Likewise.
6384
6385         regex: avoid compiler warning
6386         * lib/regex.c (includes): Include <strings.h>, for use of
6387         strcasecmp in regcomp.c.
6388         Reported by Joachim Schmitz.
6389
6390 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6391
6392         stdint: respect system's intmax_t if INTMAX_MAX
6393         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
6394         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
6395         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
6396         long but int64_t is long long, and where we will clash with the
6397         system intmax_t if we override it.  See
6398         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
6399         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
6400         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
6401         similarly for UINTMAX_C.
6402
6403 2011-07-08  Bruno Haible  <bruno@clisp.org>
6404
6405         pthread_sigmask tests: Avoid a compiler warning.
6406         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
6407         non-zero.
6408
6409         sigprocmask tests: A better way to avoid a compiler warning.
6410         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
6411         (main): Complain if system() returns non-zero.
6412         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
6413
6414 2011-07-08  Bruno Haible  <bruno@clisp.org>
6415
6416         pthread_sigmask: Work around IRIX bug.
6417         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
6418         bug.
6419         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
6420         there may be unblocked pending signals.
6421         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
6422
6423 2011-07-08  Bruno Haible  <bruno@clisp.org>
6424
6425         pthread_sigmask: Work around Cygwin bug.
6426         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
6427         bug.
6428         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
6429         the system's pthread_sigmask function.
6430         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
6431
6432 2011-07-08  Bruno Haible  <bruno@clisp.org>
6433
6434         pthread_sigmask: Work around bug in single-threaded implementation.
6435         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
6436         FreeBSD, HP-UX, Solaris bug.
6437         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
6438         * lib/pthread_sigmask.c: Include <stddef.h>.
6439         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
6440         the system's pthread_sigmask function.
6441         * modules/pthread_sigmask (configure.ac): Invoke
6442         gl_PREREQ_PTHREAD_SIGMASK.
6443         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
6444         HP-UX, Solaris.
6445
6446 2011-07-08  Eric Blake  <eblake@redhat.com>
6447
6448         test-sigprocmask: avoid compiler warning
6449         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
6450         * tests/test-sigprocmask.c (main): Use it to silence warning.
6451         Reported by Jim Meyering.
6452
6453         test-snprintf: avoid compiler warning
6454         * tests/test-snprintf.c (main): Avoid shadowed declaration.
6455         * tests/test-vsnprintf.c (main): Likewise.
6456         Reported by Jim Meyering.
6457
6458 2011-07-08  Bruno Haible  <bruno@clisp.org>
6459
6460         Tests for module 'pthread_sigmask'.
6461         * modules/pthread_sigmask-tests: New file.
6462         * tests/test-pthread_sigmask1.c: New file, based on
6463         tests/test-sigprocmask.c.
6464         * tests/test-pthread_sigmask2.c: New file.
6465
6466 2011-07-08  Jim Meyering  <meyering@redhat.com>
6467
6468         test-getopt.h: avoid warning about an unused variable
6469         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
6470
6471 2011-07-07  Jim Meyering  <meyering@redhat.com>
6472
6473         maint: reduce list of files exempt from sc_prohibit_leading_TABs
6474         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
6475         now that it no longer contains leading TABs.
6476         Remove unused "url=FIXME" statement.
6477
6478 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
6479
6480         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
6481         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
6482         When gl_THREADLIB is not in use, assume that the POSIX sematics
6483         are desired.  This is better for Emacs, which uses POSIX semantics
6484         on GNUish and/or POSIXish platforms, and does not use threads at
6485         all otherwise.
6486
6487         pthread_sigmask: fix typo when testing for libraries
6488         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
6489         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
6490
6491 2011-07-08  Eric Blake  <eblake@redhat.com>
6492
6493         fts: introduce FTS_NOATIME
6494         * lib/fts_.h (FTS_NOATIME): New bit flag.
6495         (FTS_OPTIONMASK): Adjust.
6496         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
6497         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
6498
6499 2011-07-08  Bruno Haible  <bruno@clisp.org>
6500
6501         Tests for module 'thread'.
6502         * modules/thread-tests: New file.
6503         * tests/test-thread_self.c: New file.
6504         * tests/test-thread_create.cc: New file.
6505
6506 2011-07-08  Bruno Haible  <bruno@clisp.org>
6507
6508         thread: Avoid gcc warnings when using gl_thread_self().
6509         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
6510         'void *'.
6511         (gl_thread_self_pointer): Update.
6512
6513 2011-07-07  Bruno Haible  <bruno@clisp.org>
6514
6515         signal-c++-tests: Check declaration of pthread_sigmask.
6516         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
6517         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
6518         $(LIB_PTHREAD_SIGMASK).
6519
6520 2011-07-07  Bruno Haible  <bruno@clisp.org>
6521
6522         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
6523         * lib/signal.in.h (pthread_sigmask): Override if
6524         REPLACE_PTHREAD_SIGMASK is 1.
6525         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
6526         REPLACE_PTHREAD_SIGMASK.
6527         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
6528         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
6529         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
6530         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
6531         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
6532
6533 2011-07-07  Bruno Haible  <bruno@clisp.org>
6534
6535         pthread_sigmask: Ensure declaration in <signal.h>.
6536         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
6537         include <pthread.h>.
6538         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
6539         problem.
6540
6541 2011-07-07  Bruno Haible  <bruno@clisp.org>
6542
6543         pthread_sigmask: Document the module.
6544         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
6545
6546 2011-07-07  Bruno Haible  <bruno@clisp.org>
6547
6548         pthread_sigmask: Follow gnulib conventions.
6549         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
6550         gl_PTHREAD_SIGMASK.
6551         * modules/pthread_sigmask (configure.ac): Update.
6552
6553 2011-07-07  Bruno Haible  <bruno@clisp.org>
6554
6555         pthread_sigmask: Make declaration C++ safe.
6556         * lib/signal.in.h: In two special conditions, just do an #include_next.
6557         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
6558         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
6559         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
6560         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
6561         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
6562         not REPLACE_PTHREAD_MASK.
6563         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
6564         not REPLACE_PTHREAD_MASK.
6565         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
6566
6567 2011-07-07  Bruno Haible  <bruno@clisp.org>
6568
6569         pthread_sigmask: Fix return value.
6570         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
6571         * lib/pthread_sigmask.c: New file.
6572         * modules/pthread_sigmask (Files): Add it.
6573         (configure.ac): Invoke AC_LIBOBJ.
6574
6575 2011-07-07  Eric Blake  <eblake@redhat.com>
6576
6577         getopt: more portable argv creation
6578         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
6579         const, use char arrays rather than strings.
6580         Suggested by Paul Eggert.
6581
6582 2011-07-07  Bruno Haible  <bruno@clisp.org>
6583
6584         Tests for module 'sigprocmask'.
6585         * modules/sigprocmask-tests: New file.
6586         * tests/test-sigprocmask.c: New file.
6587
6588 2011-07-07  Bruno Haible  <bruno@clisp.org>
6589
6590         float tests: Tweak.
6591         * tests/test-float.c (main): Tweak skip message.
6592
6593 2011-07-07  Eric Blake  <eblake@redhat.com>
6594
6595         getopt: avoid compiler warning during configure
6596         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
6597         assigning string literals to non-const pointer.
6598
6599         getopt-gnu: avoid crash in glibc getopt
6600         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
6601         * tests/test-getopt.h (test_getopt): Enhance test.
6602         * tests/test-getopt_long.h (test_getopt_long): Likewise.
6603         * doc/posix-functions/getopt.texi (getopt): Document it.
6604         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
6605         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
6606         Likewise.
6607
6608 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
6609
6610         getopt: handle W; without long options in getopt [BZ #12922]
6611         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
6612         but no long options are defined, just return 'W'.
6613
6614 2011-07-07  Bruno Haible  <bruno@clisp.org>
6615
6616         Avoid literal tabs.
6617         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
6618         variable containing a tab instead of a literal tab.
6619         Reported by Jim Meyering.
6620
6621 2011-07-07  Bruno Haible  <bruno@clisp.org>
6622
6623         Comments.
6624         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
6625
6626 2011-07-06  Bruno Haible  <bruno@clisp.org>
6627
6628         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
6629         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
6630         <winsock2.h>.
6631         (rpl_fd_isset, FD_ISSET): New definitions, copied from
6632         lib/sys_socket.in.h.
6633         (close, gethostname): Hide declarations from <winsock2.h>.
6634         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
6635         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
6636         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
6637         (select): Don't override if gnulib's <sys/select.h> was already
6638         included.
6639         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
6640         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
6641         setsockopt, shutdown, select): Tweak indentation.
6642
6643 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6644
6645         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
6646         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
6647         in an application that does not use the sys_select module.
6648
6649 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
6650
6651         poll: do not return 0 on timeout=-1
6652         * lib/poll.c: Loop with yield if no events occured
6653
6654 2011-07-06  Eric Blake  <eblake@redhat.com>
6655
6656         pthread_sigmask: always replace when not using pthread
6657         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
6658         replacement when using some threading other than pthread.  Fix
6659         logic bug.
6660
6661 2011-07-06  Bruno Haible  <bruno@clisp.org>
6662
6663         Comments.
6664         * m4/printf.m4: Update comments about mingw.
6665
6666 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6667
6668         sys_select: define sigset_t more portably
6669         * lib/sys_select.in.h: Always include <sys/types.h>, since
6670         we now need sigset_t and mingw defines it there.
6671         Include <signal.h> before split inclusion guard, to avoid
6672         mishaps on Solaris, whose <signal.h> eventually includes us.
6673         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
6674         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
6675         which come from ...
6676         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
6677         gl_CHECK_TYPE_SIGSET_T.
6678         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
6679         does the real work.
6680         * modules/sys_select (Depends-on): Add 'signal'.
6681
6682         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
6683         Suggested by Bruno Haible.
6684
6685         pselect: Use pthread_sigmask, not sigprocmask.
6686         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
6687         multithreaded apps better than sigprocmask does.
6688         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
6689         sigprocmask directly.
6690
6691 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6692
6693         * lib/pselect.c (pselect): Use plain name, without "rpl_".
6694         Don't #undef,  since we don't need any underlying pselect.
6695         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
6696         (Depends-on): Add select.
6697         (Link): Add $(LIBSOCKET).
6698         These changes suggested by Bruno Haible.
6699
6700         pselect: document better
6701         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
6702         * doc/posix-functions/pselect.texi (pselect): Document new module.
6703
6704         pthread_sigmask: new module
6705         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
6706         * doc/posix-functions/pthread_sigmask.texi: Document new module.
6707         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
6708         This is done only as a macro; I don't know how well that'll
6709         work for C++.  Move <sys/types.h> include before the include_next,
6710         to avoid mishap on Solaris.
6711         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
6712         * modules/signal (Makefile.am): Substitute the check's results.
6713         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
6714
6715         test-pselect: new module
6716         * modules/pselect-tests, tests/test-pselect.c: New files.
6717         * tests/test-select.c, tests/test-sys_select-c++.cc:
6718         If TEST_PSELECT is defined, test pselect instead of testing select.
6719
6720         * tests/test-sys_select.c (sigset_t): Test for it, too.
6721         Suggested by Bruno Haible.
6722
6723 2011-07-05  Eric Blake  <eblake@redhat.com>
6724
6725         snprintf: guarantee %1$d, for libintl
6726         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
6727         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
6728         * doc/posix-functions/snprintf.texi (snprintf): Update.
6729         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
6730         * tests/test-snprintf.c (main): Enhance test.
6731         * tests/test-vsnprintf.c (main): Likewise.
6732
6733 2011-07-05  Jim Meyering  <meyering@redhat.com>
6734
6735         maint: exempt stdio-read.c and stdio-write.c from the cppi check
6736         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
6737         per Bruno's request, to accommodate this idiom (no space after "#")
6738         even when the function is inside an #if block:
6739         char *
6740         gets (char *s)
6741         #undef gets
6742         {
6743           ...
6744         }
6745
6746 2011-07-04  Jim Meyering  <meyering@redhat.com>
6747
6748         maint: indent with spaces, not TABs, and add a rule to check this
6749         * tests/test-userspec.c: Indent with spaces, not TABs.
6750         * tests/test-argp.c: Likewise.
6751         * tests/test-c-stack2.sh: Likewise.
6752         * tests/test-parse-duration.sh: Likewise
6753         * m4/strtod.m4: Likewise.
6754         * m4/alloca.m4: Likewise.
6755         * m4/pselect.m4: Likewise.
6756         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
6757
6758 2011-07-03  Jim Meyering  <meyering@redhat.com>
6759
6760         maint.mk: correct omissions in prohibit_argmatch_without_use check
6761         This rule would mistakenly report that argmatch.h is included without
6762         use even when both the argmatch and invalid_arg macro were used.
6763         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
6764         of argmatch and invalid_arg.
6765
6766 2011-07-03  Bruno Haible  <bruno@clisp.org>
6767
6768         Comments about EINTR.
6769         * lib/safe-read.h: Explain the purpose of this module.
6770         * lib/safe-write.h: Likewise.
6771         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
6772         module.
6773         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
6774         module.
6775         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6776
6777 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6778
6779         xnanosleep: Rewrite to use new dtotimespec module.
6780         It has the conversion code that used to be in xnanosleep.
6781         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
6782         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
6783         (TIME_T_MAX): Remove.
6784         (xnanosleep): Rewrite in terms of dtotimespec.
6785         * modules/xnanosleep (Depends-on): Add dtotimespec.
6786         Remove intprops, stdbool.
6787
6788         timespec-add, timespec-sub: new modules
6789         * lib/timespec.h (timespec_add, timespec_sub): New decls.
6790         * lib/timespec-add.c, lib/timespec-sub.c:
6791         * modules/timespec-add, modules/timespec-sub: New files.
6792
6793         dtotimespec: new module
6794         * lib/timespec.h (dtotimespec): New decl.
6795         * lib/dtotimespec.c, modules/dtotimespec: New files.
6796
6797         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
6798
6799         pselect: new module
6800         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
6801         (pselect): New decls.
6802         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
6803         since the standard pselect decl uses 'restrict'.
6804         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
6805         HAVE_PSELECT, REPLACE_PSELECT.
6806         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
6807         HAVE_PSELECT, REPLACE_PSELECT.
6808         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
6809
6810         sys_select: don't depend on sys_socket
6811         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
6812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
6813         This fix works on GNU and GNU-like platforms, but has not been tested
6814         on native Windows.
6815         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
6816         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
6817         gl_HEADER_SYS_SOCKET.
6818         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
6819         gl_PREREQ_SYS_H_WINSOCK2.
6820
6821 2011-06-29  Eric Blake  <eblake@redhat.com>
6822
6823         pipe2: fix C89 compile problem
6824         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
6825         Reported by Bruno Haible.
6826
6827         pipe, pipe2: don't corrupt fd on error
6828         * lib/pipe.c (pipe): Leave fd unchanged on error.
6829         * lib/pipe2.c (pipe2): Likewise.
6830         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
6831         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
6832
6833 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
6834
6835         mmap-anon: do not use regular expressions inadvertently
6836         * m4/mmap-anon.m4: Remove trailing period from strings sought
6837         in the output.
6838
6839 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6840
6841         nanosleep: fix integer overflow problem
6842         * lib/nanosleep.c (my_usleep): Don't assume signed integer
6843         arithmetic wraps around on overflow.
6844
6845         nanosleep: simplify carrying
6846         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
6847         first call to the underyling nanosleep, not for the last one.
6848         This doesn't fix any bugs, but it simplifies the computation of
6849         the remaining delay.  Found while auditing integer overflow issues.
6850
6851         dup2: remove test for existence of fcntl
6852         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
6853         "#if HAVE_FCNTL", in the configure-time test program.
6854         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
6855         and therefore speeds up "configure" a bit.  Found while
6856         adding the dup2 module to Emacs.
6857
6858 2011-06-24  Eric Blake  <eblake@redhat.com>
6859
6860         maint.mk: enhance useless header checks
6861         * top/maint.mk (_sc_header_without_use): Check both include
6862         styles.
6863         (sc_prohibit_assert_without_use)
6864         (sc_prohibit_close_stream_without_use)
6865         (sc_prohibit_getopt_without_use)
6866         (sc_prohibit_quotearg_without_use)
6867         (sc_prohibit_quote_without_use)
6868         (sc_prohibit_long_options_without_use)
6869         (sc_prohibit_inttostr_without_use)
6870         (sc_prohibit_ignore_value_without_use)
6871         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
6872         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
6873         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
6874         (sc_prohibit_hash_pjw_without_use)
6875         (sc_prohibit_safe_read_without_use)
6876         (sc_prohibit_argmatch_without_use)
6877         (sc_prohibit_canonicalize_without_use)
6878         (sc_prohibit_root_dev_ino_without_use)
6879         (sc_prohibit_openat_without_use)
6880         (sc_prohibit_c_ctype_without_use)
6881         (sc_prohibit_signal_without_use)
6882         (sc_prohibit_stdio--_without_use)
6883         (sc_prohibit_stdio-safer_without_use)
6884         (sc_prohibit_strings_without_use)
6885         (sc_prohibit_intprops_without_use)
6886         (sc_prohibit_stddef_without_use)
6887         (sc_prohibit_xfreopen_without_use): Update clients.
6888
6889 2011-06-24  Jim Meyering  <meyering@redhat.com>
6890
6891         syntax-check: keep one maint.mk rule in sync with its header
6892         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
6893         of the bug Eric has just fixed, with today's commit 25e4c2ec.
6894         I prefer to avoid temporary files here, so use <(...), but that
6895         is not supported by /bin/sh, so...
6896         (SHELL): Define to /bin/bash.
6897
6898 2011-06-24  Eric Blake  <eblake@redhat.com>
6899
6900         maint.mk: update sc_prohibit_intprops_without_use
6901         * top/maint.mk (_intprops_names): Match recent changes.
6902
6903 2011-06-24  Bruno Haible  <bruno@clisp.org>
6904
6905         strerror-override: No-op tweak.
6906         * lib/strerror-override.h (strerror_override): Reorder conditions,
6907         for consistency with lib/strerror-override.c.
6908
6909 2011-06-23  Eric Blake  <eblake@redhat.com>
6910
6911         maint.mk: test further PATH_MAX issues
6912         * top/maint.mk (sc_prohibit_path_max_array): Rename...
6913         (sc_prohibit_path_max_allocation): ...and also test alloca.
6914         Suggested by Jim Meyering.
6915
6916 2011-06-22  Eric Blake  <eblake@redhat.com>
6917
6918         maint.mk: add syntax-check to avoid char[PATH_MAX]
6919         * top/maint.mk (sc_prohibit_path_max_array): New rule.
6920
6921         stat: be robust to PATH_MAX definition
6922         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
6923         * modules/stat (Depends-on): Add verify.
6924
6925         link: work around IRIX bug
6926         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
6927         * lib/link.c (rpl_link): Work around it.
6928         * tests/test-link.h (test_link): Enhance test.
6929         * doc/posix-functions/link.texi (link): Document the bug.
6930
6931         getopt: silence clang warning
6932         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
6933         dereference.
6934         Reported by Gustavo Martin Domato.
6935
6936 2011-06-22  Jim Meyering  <meyering@redhat.com>
6937
6938         bootstrap: do not insert a blank line into each .gitignore file
6939         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
6940
6941 2011-06-21  Eric Blake  <eblake@redhat.com>
6942
6943         perror: test for output mismatch
6944         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
6945         perror on IRIX.
6946
6947         strerror_r: fix OpenBSD behavior on out-of-range
6948         * lib/strerror_r.c (strerror_r): Always use maximal string.
6949         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6950
6951         strerror_r: fix OpenBSD behavior on 0
6952         * lib/strerror-override.c (strerror_override): Also override 0
6953         when needed.
6954         * lib/strerror-override.h (strerror_override): Likewise.
6955         * lib/strerror.c (strerror): Simplify, now that 0 override is done
6956         earlier.
6957         * lib/strerror_r.c (strerror_r): Likewise.
6958         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
6959         behavior...
6960         (gl_FUNC_STRERROR_0): ...into new macro.
6961         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
6962         is overridden.
6963         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
6964         * modules/strerror-override (Files): Add strerror.m4.
6965         (configure.ac): Also provide override for 0 when needed.
6966         * doc/posix-functions/strerror.texi (strerror): Document this.
6967         * doc/posix-functions/perror.texi (perror): Likewise.
6968
6969         perror: adjust array size
6970         * modules/perror (Depends-on): Add strerror-override.
6971         * lib/perror.c (perror): Use it to avoid magic number.
6972
6973         strerror-override: reduce size
6974         * lib/strerror-override.c (strerror_override): Use fewer lines.
6975
6976 2011-06-20  Bruno Haible  <bruno@clisp.org>
6977
6978         pathmax: Ensure correct value for PATH_MAX on HP-UX.
6979         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
6980
6981 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6982
6983         alloca: port to compilers that can optimize like GCC 4.6.0
6984         * lib/alloca.c (find_stack_direction): New signature, taken from
6985         Autoconf git.  This works with GCC 4.6.0.  This code should never
6986         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
6987         be used with other compilers that optimize as well as GCC 4.6.0 does.
6988         (alloca): Adjust to new signature.
6989         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
6990         New macro, which patches Autoconf in a similar way.
6991
6992         c-stack: stop worrying about stack direction
6993         * lib/c-stack.c (find_stack_direction): Remove.
6994         (segv_handler): Don't worry about stack direction growth, as it's
6995         too much of a pain to configure this correctly, given how compilers
6996         are optimizing-away our stack-growth detection code.  Instead, assume
6997         that any access to just before or just after the stack is OK.
6998         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6999         Don't require AC_FUNC_ALLOCA; no longer needed.
7000
7001 2011-06-20  Eric Blake  <eblake@redhat.com>
7002
7003         test-stat: don't allocate PATH_MAX bytes
7004         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
7005         PATH_MAX-sized buffer.
7006         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
7007         * modules/stat-tests (Depends-on): Likewise.
7008         * tests/test-fstatat.c (includes): Drop pathmax.h.
7009         * tests/test-stat.c (includes): Likewise.
7010         Reported by Bruno Haible.
7011
7012 2011-06-20  Bruno Haible  <bruno@clisp.org>
7013
7014         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
7015         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
7016         * lib/float.c: New file.
7017         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
7018         REPLACE_FLOAT_LDBL.
7019         * modules/float (Files): Add lib/float.c.
7020         (configure.ac): Invoke AC_LIBOBJ.
7021         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
7022
7023 2011-06-20  Bruno Haible  <bruno@clisp.org>
7024
7025         Tests for module 'float'.
7026         * modules/float-tests: New file.
7027         * tests/test-float.c: New file.
7028
7029 2011-06-19  Bruno Haible  <bruno@clisp.org>
7030
7031         isinf: Coding style.
7032         * lib/isinf.c: Use GNU coding style.
7033
7034 2011-06-19  Bruno Haible  <bruno@clisp.org>
7035
7036         linkat test: Avoid test failure on AIX 7.1.
7037         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
7038         * tests/test-link.h (test_link): Likewise.
7039
7040 2011-06-19  Bruno Haible  <bruno@clisp.org>
7041
7042         pread test: Avoid test failure on OpenBSD 4.9.
7043         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
7044
7045 2011-06-19  Bruno Haible  <bruno@clisp.org>
7046
7047         sprintf-posix: Fix test failure on AIX 7.1.
7048         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
7049         * doc/posix-functions/dprintf.texi: Mention limited precision problem
7050         on AIX.
7051         * doc/posix-functions/fprintf.texi: Likewise.
7052         * doc/posix-functions/printf.texi: Likewise.
7053         * doc/posix-functions/snprintf.texi: Likewise.
7054         * doc/posix-functions/sprintf.texi: Likewise.
7055         * doc/posix-functions/vdprintf.texi: Likewise.
7056         * doc/posix-functions/vfprintf.texi: Likewise.
7057         * doc/posix-functions/vprintf.texi: Likewise.
7058         * doc/posix-functions/vsnprintf.texi: Likewise.
7059         * doc/posix-functions/vsprintf.texi: Likewise.
7060
7061 2011-06-19  Bruno Haible  <bruno@clisp.org>
7062
7063         roundl-ieee: Fix test failure on AIX 7.1.
7064         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
7065         * doc/posix-functions/roundl.texi: Mention problem with negative
7066         arguments.
7067
7068 2011-06-19  Bruno Haible  <bruno@clisp.org>
7069
7070         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
7071         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
7072         * doc/posix-functions/round.texi: Mention problem with negative
7073         arguments.
7074         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
7075
7076 2011-06-19  Bruno Haible  <bruno@clisp.org>
7077
7078         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
7079         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
7080         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
7081         * doc/posix-functions/roundf.texi: Mention problem with negative
7082         arguments.
7083         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
7084
7085 2011-06-19  Bruno Haible  <bruno@clisp.org>
7086
7087         ceilf-ieee: Work around bug on MacOS X 10.5.
7088         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
7089
7090         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
7091         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
7092         IEEE compliant, avoid compiler optimizations.
7093         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
7094         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
7095         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
7096         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7097         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7098         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
7099         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7100         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7101         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7102         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
7103
7104 2011-06-19  Bruno Haible  <bruno@clisp.org>
7105
7106         ceilf-ieee: Work around bug on AIX 7.1.
7107         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
7108         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
7109
7110 2011-06-19  Bruno Haible  <bruno@clisp.org>
7111
7112         ceil-ieee: Work around bug on AIX 7.1.
7113         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
7114         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
7115
7116 2011-06-18  Bruno Haible  <bruno@clisp.org>
7117
7118         fsync test: Avoid test failure on MacOS X and AIX.
7119         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
7120         EINVAL.
7121
7122 2011-06-18  Bruno Haible  <bruno@clisp.org>
7123
7124         openat, fdopendir tests: Fix link errors.
7125         * modules/openat-tests (Depends-on): Add progname.
7126         * modules/fdopendir-tests (Depends-on): Likewise.
7127         * tests/test-fchownat.c: Include progname.h.
7128         (main): Call set_program_name.
7129         * tests/test-fstatat.c: Include progname.h.
7130         (main): Call set_program_name.
7131         * tests/test-mkdirat.c: Include progname.h.
7132         (main): Call set_program_name.
7133         * tests/test-openat.c: Include progname.h.
7134         (main): Call set_program_name.
7135         * tests/test-unlinkat.c: Include progname.h.
7136         (main): Call set_program_name.
7137         * tests/test-fdopendir.c: Include progname.h.
7138         (main): Call set_program_name.
7139
7140 2011-06-18  Bruno Haible  <bruno@clisp.org>
7141
7142         Doc update.
7143         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
7144         HP-UX.
7145         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
7146
7147 2011-06-18  Bruno Haible  <bruno@clisp.org>
7148
7149         getcwd tests: Avoid compilation error on HP-UX 11.31.
7150         * modules/getcwd-tests (Depends-on): Add pathmax.
7151         * tests/test-getcwd.c: Include pathmax.h.
7152
7153 2011-06-18  Bruno Haible  <bruno@clisp.org>
7154
7155         isfinite, isinf: Fix link error on AIX 6 and 7.
7156         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
7157         needed, also test the macro with a 'float' argument.
7158         * m4/isinf.m4 (gl_ISINF): Likewise.
7159
7160 2011-06-18  Bruno Haible  <bruno@clisp.org>
7161
7162         getloadavg: Don't clobber LIBS. Regression from previous commit.
7163         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
7164         AC_CHECK_LIB from here...
7165         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
7166         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
7167         gl_func_getloadavg_done.
7168         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7169
7170 2011-06-18  Bruno Haible  <bruno@clisp.org>
7171
7172         clean-temp: Improve documentation.
7173         * lib/clean-temp.h: Explain better how to use this module.
7174         Reported by John Darrington <john@darrington.wattle.id.au>.
7175
7176 2011-06-17  Bruno Haible  <bruno@clisp.org>
7177
7178         pread, pwrite: Avoid cc warning on AIX.
7179         * lib/unistd.in.h (pread): Undefine before defining as a macro.
7180         (pwrite): Likewise.
7181
7182 2011-06-17  Bruno Haible  <bruno@clisp.org>
7183
7184         spawn-pipe tests: Fix link error.
7185         * tests/test-spawn-pipe-child.c: Undefine fprintf.
7186         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7187
7188 2011-06-17  Bruno Haible  <bruno@clisp.org>
7189
7190         Tests: Remove unnecessary dependency.
7191         * modules/canonicalize-tests (Depends-on): Remove progname.
7192         * modules/chown-tests (Depends-on): Likewise.
7193         * modules/dirname-tests (Depends-on): Likewise.
7194         * modules/fdopendir-tests (Depends-on): Likewise.
7195         * modules/fdutimensat-tests (Depends-on): Likewise.
7196         * modules/hash-tests (Depends-on): Likewise.
7197         * modules/lchown-tests (Depends-on): Likewise.
7198         * modules/linkat-tests (Depends-on): Likewise.
7199         * modules/renameat-tests (Depends-on): Likewise.
7200         * modules/spawn-pipe-tests (Depends-on): Likewise.
7201         * modules/utimensat-tests (Depends-on): Likewise.
7202
7203 2011-06-17  Bruno Haible  <bruno@clisp.org>
7204
7205         spawn-pipe tests: Fix link error.
7206         * tests/test-spawn-pipe-child.c: Undefine fflush.
7207
7208 2011-06-17  Bruno Haible  <bruno@clisp.org>
7209
7210         Fix tests link errors.
7211         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
7212         * modules/chown-tests (Makefile.am): Don't link test-chown with
7213         LIBINTL.
7214         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
7215         LIBINTL.
7216         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
7217         LIBINTL.
7218         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
7219         LIBINTL.
7220
7221 2011-06-16  Bruno Haible  <bruno@clisp.org>
7222
7223         crypto/gc-sha1: Fix recent regression.
7224         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
7225         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
7226
7227         crypto/gc-md5: Fix recent regression.
7228         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
7229
7230         crypto/gc-md4: Fix recent regression.
7231         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
7232         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
7233
7234         crypto/gc-arctwo: Fix recent regression.
7235         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
7236         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
7237
7238         crypto/gc-rijndael: Fix recent regression.
7239         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
7240         (configure.ac): Invoke AC_LIBOBJ here.
7241         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
7242         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7243
7244         crypto/gc-hmac-sha1: Fix recent regression.
7245         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
7246         (configure.ac): Invoke AC_LIBOBJ here.
7247         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
7248         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7249
7250         crypto/gc-hmac-md5: Fix recent regression.
7251         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
7252         (configure.ac): Invoke AC_LIBOBJ here.
7253         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
7254         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7255
7256         crypto/gc-des: Fix recent regression.
7257         * modules/crypto/gc-des (Files): Remove m4/des.m4.
7258         (configure.ac): Invoke AC_LIBOBJ here.
7259         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
7260         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7261
7262         crypto/gc-arcfour: Fix recent regression.
7263         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
7264         (configure.ac): Invoke AC_LIBOBJ here.
7265         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
7266         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7267
7268 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
7269
7270         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
7271         After the 2011-05-21 change, this macro requires
7272         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
7273         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
7274
7275 2011-06-16  Bruno Haible  <bruno@clisp.org>
7276
7277         fprintftime: Move AC_LIBOBJ invocations to module description.
7278         * m4/fprintftime.m4: Remove file.
7279         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
7280         (configure.ac): Remove gl_FPRINTFTIME call.
7281         (Makefile.am): Augment lib_SOURCES.
7282         Reported by Jim Meyering.
7283
7284 2011-06-16  Bruno Haible  <bruno@clisp.org>
7285
7286         tmpfile-safer: Finish 2011-05-23 commit.
7287         * m4/stdio-safer.m4: Really remove file.
7288         Reported by Jim Meyering.
7289
7290 2011-06-16  Bruno Haible  <bruno@clisp.org>
7291
7292         syntax-check: Fix typo.
7293         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
7294         printf-posix.m4.
7295         Reported by Jim Meyering.
7296
7297 2011-06-13  Jim Meyering  <meyering@redhat.com>
7298
7299         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
7300         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
7301
7302 2011-05-23  Bruno Haible  <bruno@clisp.org>
7303
7304         yesno: Move AC_LIBOBJ invocations to module description.
7305         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
7306         * modules/yesno (Makefile.am): Augment lib_SOURCES.
7307
7308 2011-05-23  Bruno Haible  <bruno@clisp.org>
7309
7310         xstrtol: Move AC_LIBOBJ invocations to module description.
7311         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
7312         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
7313
7314 2011-05-23  Bruno Haible  <bruno@clisp.org>
7315
7316         xstrtold: Move AC_LIBOBJ invocations to module description.
7317         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
7318         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
7319
7320 2011-05-23  Bruno Haible  <bruno@clisp.org>
7321
7322         xstrtod: Move AC_LIBOBJ invocations to module description.
7323         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
7324         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
7325
7326 2011-05-23  Bruno Haible  <bruno@clisp.org>
7327
7328         xnanosleep: Move AC_LIBOBJ invocations to module description.
7329         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
7330         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
7331
7332 2011-05-23  Bruno Haible  <bruno@clisp.org>
7333
7334         xgetcwd: Move AC_LIBOBJ invocations to module description.
7335         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
7336         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
7337
7338 2011-05-23  Bruno Haible  <bruno@clisp.org>
7339
7340         xalloc: Move AC_LIBOBJ invocations to module description.
7341         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
7342         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
7343
7344 2011-05-23  Bruno Haible  <bruno@clisp.org>
7345
7346         write-any-file: Move AC_LIBOBJ invocations to module description.
7347         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
7348         invocation.
7349         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
7350
7351 2011-05-23  Bruno Haible  <bruno@clisp.org>
7352
7353         utimens: Move AC_LIBOBJ invocations to module description.
7354         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
7355         * modules/utimens (Makefile.am): Augment lib_SOURCES.
7356
7357 2011-05-23  Bruno Haible  <bruno@clisp.org>
7358
7359         utimecmp: Move AC_LIBOBJ invocations to module description.
7360         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
7361         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
7362
7363 2011-05-23  Bruno Haible  <bruno@clisp.org>
7364
7365         userspec: Move AC_LIBOBJ invocations to module description.
7366         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
7367         * modules/userspec (Makefile.am): Augment lib_SOURCES.
7368
7369 2011-05-23  Bruno Haible  <bruno@clisp.org>
7370
7371         unlinkdir: Move AC_LIBOBJ invocations to module description.
7372         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
7373         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
7374
7375 2011-05-23  Bruno Haible  <bruno@clisp.org>
7376
7377         unistd-safer: Move AC_LIBOBJ invocations to module description.
7378         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
7379         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
7380
7381 2011-05-23  Bruno Haible  <bruno@clisp.org>
7382
7383         tempname: Move AC_LIBOBJ invocations to module description.
7384         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
7385         * modules/tempname (Makefile.am): Augment lib_SOURCES.
7386
7387 2011-05-23  Bruno Haible  <bruno@clisp.org>
7388
7389         strftime: Move AC_LIBOBJ invocations to module description.
7390         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
7391         * modules/strftime (Makefile.am): Augment lib_SOURCES.
7392
7393 2011-05-23  Bruno Haible  <bruno@clisp.org>
7394
7395         stdlib-safer: Move AC_LIBOBJ invocations to module description.
7396         * m4/stdlib-safer.m4: Remove file.
7397         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
7398         (configure.ac): Remove gl_STDLIB_SAFER call.
7399         (Makefile.am): Augment lib_SOURCES.
7400
7401 2011-05-23  Bruno Haible  <bruno@clisp.org>
7402
7403         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
7404         * m4/stdio-safer.m4: Remove file.
7405         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
7406         (configure.ac): Remove gl_TMPFILE_SAFER call.
7407         (Makefile.am): Augment lib_SOURCES.
7408
7409 2011-05-23  Bruno Haible  <bruno@clisp.org>
7410
7411         popen-safer: Move AC_LIBOBJ invocations to module description.
7412         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
7413         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
7414         (configure.ac): Remove gl_POPEN_SAFER call.
7415         (Makefile.am): Augment lib_SOURCES.
7416
7417 2011-05-23  Bruno Haible  <bruno@clisp.org>
7418
7419         freopen-safer: Move AC_LIBOBJ invocations to module description.
7420         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
7421         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
7422         (configure.ac): Remove gl_FREOPEN_SAFER call.
7423         (Makefile.am): Augment lib_SOURCES.
7424
7425 2011-05-23  Bruno Haible  <bruno@clisp.org>
7426
7427         fopen-safer: Move AC_LIBOBJ invocations to module description.
7428         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
7429         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
7430         (configure.ac): Remove gl_FOPEN_SAFER call.
7431         (Makefile.am): Augment lib_SOURCES.
7432
7433 2011-05-23  Bruno Haible  <bruno@clisp.org>
7434
7435         crypto/sha512: Move AC_LIBOBJ invocations to module description.
7436         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
7437         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
7438
7439 2011-05-23  Bruno Haible  <bruno@clisp.org>
7440
7441         crypto/sha256: Move AC_LIBOBJ invocations to module description.
7442         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
7443         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
7444
7445 2011-05-23  Bruno Haible  <bruno@clisp.org>
7446
7447         crypto/sha1: Move AC_LIBOBJ invocations to module description.
7448         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
7449         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
7450
7451 2011-05-23  Bruno Haible  <bruno@clisp.org>
7452
7453         settime: Move AC_LIBOBJ invocations to module description.
7454         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
7455         * modules/settime (Makefile.am): Augment lib_SOURCES.
7456
7457 2011-05-23  Bruno Haible  <bruno@clisp.org>
7458
7459         savedir: Move AC_LIBOBJ invocations to module description.
7460         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
7461         * modules/savedir (Makefile.am): Augment lib_SOURCES.
7462
7463 2011-05-23  Bruno Haible  <bruno@clisp.org>
7464
7465         save-cwd: Move AC_LIBOBJ invocations to module description.
7466         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
7467         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
7468
7469 2011-05-23  Bruno Haible  <bruno@clisp.org>
7470
7471         same: Move AC_LIBOBJ invocations to module description.
7472         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
7473         * modules/same (Makefile.am): Augment lib_SOURCES.
7474
7475 2011-05-23  Bruno Haible  <bruno@clisp.org>
7476
7477         safe-write: Move AC_LIBOBJ invocations to module description.
7478         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
7479         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
7480         instead of gl_SAFE_WRITE.
7481         (Makefile.am): Augment lib_SOURCES.
7482
7483 2011-05-23  Bruno Haible  <bruno@clisp.org>
7484
7485         safe-read: Move AC_LIBOBJ invocations to module description.
7486         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
7487         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
7488         of gl_SAFE_READ.
7489         (Makefile.am): Augment lib_SOURCES.
7490
7491 2011-05-23  Bruno Haible  <bruno@clisp.org>
7492
7493         safe-alloc: Move AC_LIBOBJ invocations to module description.
7494         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
7495         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
7496
7497 2011-05-23  Bruno Haible  <bruno@clisp.org>
7498
7499         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
7500         * m4/rijndael.m4: Remove file.
7501         * modules/crypto/rijndael (Files): Remove it.
7502         (configure.ac): Remove gl_RIJNDAEL call.
7503         (Makefile.am): Augment lib_SOURCES.
7504
7505 2011-05-23  Bruno Haible  <bruno@clisp.org>
7506
7507         readtokens: Move AC_LIBOBJ invocations to module description.
7508         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
7509         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
7510
7511 2011-05-23  Bruno Haible  <bruno@clisp.org>
7512
7513         read-file: Move AC_LIBOBJ invocations to module description.
7514         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
7515         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
7516         of gl_FUNC_READ_FILE.
7517         (Makefile.am): Augment lib_SOURCES.
7518
7519 2011-05-23  Bruno Haible  <bruno@clisp.org>
7520
7521         quotearg: Move AC_LIBOBJ invocations to module description.
7522         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
7523         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
7524
7525 2011-05-23  Bruno Haible  <bruno@clisp.org>
7526
7527         quote: Move AC_LIBOBJ invocations to module description.
7528         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
7529         * modules/quote (Makefile.am): Augment lib_SOURCES.
7530
7531 2011-05-23  Bruno Haible  <bruno@clisp.org>
7532
7533         posixver: Move AC_LIBOBJ invocations to module description.
7534         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
7535         * modules/posixver (Makefile.am): Augment lib_SOURCES.
7536
7537 2011-05-23  Bruno Haible  <bruno@clisp.org>
7538
7539         posixtm: Move AC_LIBOBJ invocations to module description.
7540         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
7541         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
7542
7543 2011-05-23  Bruno Haible  <bruno@clisp.org>
7544
7545         physmem: Move AC_LIBOBJ invocations to module description.
7546         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
7547         * modules/physmem (Makefile.am): Augment lib_SOURCES.
7548
7549 2011-05-23  Bruno Haible  <bruno@clisp.org>
7550
7551         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
7552         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
7553         invocation.
7554         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
7555
7556 2011-05-23  Bruno Haible  <bruno@clisp.org>
7557
7558         mpsort: Move AC_LIBOBJ invocations to module description.
7559         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
7560         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
7561
7562 2011-05-23  Bruno Haible  <bruno@clisp.org>
7563
7564         modechange: Move AC_LIBOBJ invocations to module description.
7565         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
7566         * modules/modechange (Makefile.am): Augment lib_SOURCES.
7567
7568 2011-05-23  Bruno Haible  <bruno@clisp.org>
7569
7570         mkdir-p: Move AC_LIBOBJ invocations to module description.
7571         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
7572         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
7573
7574 2011-05-23  Bruno Haible  <bruno@clisp.org>
7575
7576         mkancesdirs: Move AC_LIBOBJ invocations to module description.
7577         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
7578         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
7579
7580 2011-05-23  Bruno Haible  <bruno@clisp.org>
7581
7582         mgetgroups: Move AC_LIBOBJ invocations to module description.
7583         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
7584         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
7585
7586 2011-05-23  Bruno Haible  <bruno@clisp.org>
7587
7588         memxor: Move AC_LIBOBJ invocations to module description.
7589         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
7590         * modules/memxor (Makefile.am): Augment lib_SOURCES.
7591
7592 2011-05-23  Bruno Haible  <bruno@clisp.org>
7593
7594         memcoll: Move AC_LIBOBJ invocations to module description.
7595         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
7596         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
7597
7598 2011-05-23  Bruno Haible  <bruno@clisp.org>
7599
7600         memcasecmp: Move AC_LIBOBJ invocations to module description.
7601         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
7602         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
7603
7604 2011-05-23  Bruno Haible  <bruno@clisp.org>
7605
7606         crypto/md5: Move AC_LIBOBJ invocations to module description.
7607         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
7608         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
7609
7610 2011-05-23  Bruno Haible  <bruno@clisp.org>
7611
7612         crypto/md4: Move AC_LIBOBJ invocations to module description.
7613         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
7614         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
7615
7616 2011-05-23  Bruno Haible  <bruno@clisp.org>
7617
7618         crypto/md2: Move AC_LIBOBJ invocations to module description.
7619         * m4/md2.m4: Remove file.
7620         * modules/crypto/md2 (Files): Remove it.
7621         (configure.ac): Remove gl_MD2 call.
7622         (Makefile.am): Augment lib_SOURCES.
7623
7624 2011-05-23  Bruno Haible  <bruno@clisp.org>
7625
7626         long-options: Move AC_LIBOBJ invocations to module description.
7627         * m4/long-options.m4: Remove file.
7628         * modules/long-options (Files): Remove it.
7629         (configure.ac): Remove gl_LONG_OPTIONS call.
7630         (Makefile.am): Augment lib_SOURCES.
7631
7632 2011-05-23  Bruno Haible  <bruno@clisp.org>
7633
7634         i-ring: Move AC_LIBOBJ invocations to module description.
7635         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
7636         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
7637
7638 2011-05-23  Bruno Haible  <bruno@clisp.org>
7639
7640         idcache: Move AC_LIBOBJ invocations to module description.
7641         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
7642         * modules/idcache (Makefile.am): Augment lib_SOURCES.
7643
7644 2011-05-23  Bruno Haible  <bruno@clisp.org>
7645
7646         human: Move AC_LIBOBJ invocations to module description.
7647         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
7648         * modules/human (Makefile.am): Augment lib_SOURCES.
7649
7650 2011-05-23  Bruno Haible  <bruno@clisp.org>
7651
7652         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
7653         * m4/hmac-sha1.m4: Remove file.
7654         * modules/crypto/hmac-sha1 (Files): Remove it.
7655         (configure.ac): Remove gl_HMAC_SHA1 call.
7656         (Makefile.am): Augment lib_SOURCES.
7657
7658 2011-05-23  Bruno Haible  <bruno@clisp.org>
7659
7660         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
7661         * m4/hmac-md5.m4: Remove file.
7662         * modules/crypto/hmac-md5 (Files): Remove it.
7663         (configure.ac): Remove gl_HMAC_MD5 call.
7664         (Makefile.am): Augment lib_SOURCES.
7665
7666 2011-05-23  Bruno Haible  <bruno@clisp.org>
7667
7668         hash: Move AC_LIBOBJ invocations to module description.
7669         * m4/hash.m4: Remove file.
7670         * modules/hash (Files): Remove it.
7671         (configure.ac): Remove gl_HASH call.
7672         (Makefile.am): Augment lib_SOURCES.
7673
7674 2011-05-23  Bruno Haible  <bruno@clisp.org>
7675
7676         hard-locale: Move AC_LIBOBJ invocations to module description.
7677         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
7678         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
7679
7680 2011-05-23  Bruno Haible  <bruno@clisp.org>
7681
7682         getugroups: Move AC_LIBOBJ invocations to module description.
7683         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
7684         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
7685
7686 2011-05-23  Bruno Haible  <bruno@clisp.org>
7687
7688         gettime: Move AC_LIBOBJ invocations to module description.
7689         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
7690         * modules/gettime (Makefile.am): Augment lib_SOURCES.
7691
7692 2011-05-23  Bruno Haible  <bruno@clisp.org>
7693
7694         getndelim2: Move AC_LIBOBJ invocations to module description.
7695         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
7696         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
7697
7698 2011-05-23  Bruno Haible  <bruno@clisp.org>
7699
7700         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
7701         * m4/gc-pbkdf2-sha1.m4: Remove file.
7702         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
7703         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
7704         (Makefile.am): Augment lib_SOURCES.
7705
7706 2011-05-23  Bruno Haible  <bruno@clisp.org>
7707
7708         fts: Move AC_LIBOBJ invocations to module description.
7709         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
7710         * modules/fts (configure.ac): ... to here.
7711
7712 2011-05-23  Bruno Haible  <bruno@clisp.org>
7713
7714         file-type: Move AC_LIBOBJ invocations to module description.
7715         * m4/file-type.m4: Remove file.
7716         * modules/file-type (Files): Remove it.
7717         (configure.ac): Remove gl_FILE_TYPE call.
7718         (Makefile.am): Augment lib_SOURCES.
7719
7720 2011-05-23  Bruno Haible  <bruno@clisp.org>
7721
7722         filenamecat*: Respect rules for use of AC_LIBOBJ.
7723         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
7724         Remove AC_LIBOBJ invocation.
7725         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
7726         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
7727
7728 2011-05-23  Bruno Haible  <bruno@clisp.org>
7729
7730         filemode: Move AC_LIBOBJ invocations to module description.
7731         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
7732         * modules/filemode (Makefile.am): Augment lib_SOURCES.
7733
7734 2011-05-23  Bruno Haible  <bruno@clisp.org>
7735
7736         openat-safer: Move AC_LIBOBJ invocations to module description.
7737         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
7738         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
7739
7740 2011-05-23  Bruno Haible  <bruno@clisp.org>
7741
7742         fcntl-safer: Move AC_LIBOBJ invocations to module description.
7743         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
7744         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
7745
7746 2011-05-23  Bruno Haible  <bruno@clisp.org>
7747
7748         exclude: Move AC_LIBOBJ invocations to module description.
7749         * m4/exclude.m4: Remove file.
7750         * modules/exclude (Files): Remove it.
7751         (configure.ac): Remove gl_EXCLUDE call.
7752         (Makefile.am): Augment lib_SOURCES.
7753
7754 2011-05-23  Bruno Haible  <bruno@clisp.org>
7755
7756         dirname*: Respect rules for use of AC_LIBOBJ.
7757         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
7758         invocations.
7759         * modules/dirname (Makefile.am): Augment lib_SOURCES.
7760         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
7761
7762 2011-05-23  Bruno Haible  <bruno@clisp.org>
7763
7764         dirent-safer: Move AC_LIBOBJ invocations to module description.
7765         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
7766         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
7767
7768 2011-05-23  Bruno Haible  <bruno@clisp.org>
7769
7770         crypto/des: Move AC_LIBOBJ invocations to module description.
7771         * m4/des.m4: Remove file.
7772         * modules/crypto/des (Files): Remove it.
7773         (configure.ac): Remove gl_DES call.
7774         (Makefile.am): Augment lib_SOURCES.
7775
7776 2011-05-23  Bruno Haible  <bruno@clisp.org>
7777
7778         cycle-check: Move AC_LIBOBJ invocations to module description.
7779         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
7780         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
7781
7782 2011-05-23  Bruno Haible  <bruno@clisp.org>
7783
7784         c-strtold: Move AC_LIBOBJ invocations to module description.
7785         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
7786         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
7787
7788 2011-05-23  Bruno Haible  <bruno@clisp.org>
7789
7790         c-strtod: Move AC_LIBOBJ invocations to module description.
7791         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
7792         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
7793
7794 2011-05-23  Bruno Haible  <bruno@clisp.org>
7795
7796         crc: Move AC_LIBOBJ invocations to module description.
7797         * m4/crc.m4: Remove file.
7798         * modules/crc (Files): Remove it.
7799         (configure.ac): Remove gl_CRC call.
7800         (Makefile.am): Augment lib_SOURCES.
7801
7802 2011-05-23  Bruno Haible  <bruno@clisp.org>
7803
7804         close-stream: Move AC_LIBOBJ invocations to module description.
7805         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
7806         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
7807
7808 2011-05-23  Bruno Haible  <bruno@clisp.org>
7809
7810         closeout: Move AC_LIBOBJ invocations to module description.
7811         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
7812         * modules/closeout (Makefile.am): Augment lib_SOURCES.
7813
7814 2011-05-23  Bruno Haible  <bruno@clisp.org>
7815
7816         closein: Move AC_LIBOBJ invocations to module description.
7817         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
7818         * modules/closein (Makefile.am): Augment lib_SOURCES.
7819
7820 2011-05-23  Bruno Haible  <bruno@clisp.org>
7821
7822         cloexec: Move AC_LIBOBJ invocations to module description.
7823         * m4/cloexec.m4: Remove file.
7824         * modules/cloexec (Files): Remove it.
7825         (configure.ac): Remove gl_CLOEXEC call.
7826         (Makefile.am): Augment lib_SOURCES.
7827
7828 2011-05-23  Bruno Haible  <bruno@clisp.org>
7829
7830         check-version: Move AC_LIBOBJ invocations to module description.
7831         * m4/check-version.m4: Remove file.
7832         * modules/check-version (Files): Remove it.
7833         (configure.ac): Remove gl_CHECK_VERSION call.
7834         (Makefile.am): Augment lib_SOURCES.
7835
7836 2011-05-23  Bruno Haible  <bruno@clisp.org>
7837
7838         chdir-safer: Move AC_LIBOBJ invocations to module description.
7839         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
7840         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
7841
7842 2011-05-23  Bruno Haible  <bruno@clisp.org>
7843
7844         canonicalize: Move AC_LIBOBJ invocations to module description.
7845         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
7846         AC_LIBOBJ invocation.
7847         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
7848
7849 2011-05-23  Bruno Haible  <bruno@clisp.org>
7850
7851         canon-host: Move AC_LIBOBJ invocations to module description.
7852         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
7853         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
7854         instead of gl_CANON_HOST.
7855         (Makefile.am): Augment lib_SOURCES.
7856
7857 2011-05-23  Bruno Haible  <bruno@clisp.org>
7858
7859         backupfile: Move AC_LIBOBJ invocations to module description.
7860         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
7861         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
7862
7863 2011-05-23  Bruno Haible  <bruno@clisp.org>
7864
7865         argmatch: Move AC_LIBOBJ invocations to module description.
7866         * m4/argmatch.m4: Remove file.
7867         * modules/argmatch (Files): Remove it.
7868         (configure.ac): Remove gl_ARGMATCH call.
7869         (Makefile.am): Augment lib_SOURCES.
7870
7871 2011-05-23  Bruno Haible  <bruno@clisp.org>
7872
7873         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
7874         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
7875         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
7876
7877 2011-05-23  Bruno Haible  <bruno@clisp.org>
7878
7879         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
7880         * m4/arcfour.m4: Remove file.
7881         * modules/crypto/arcfour (Files): Remove it.
7882         (configure.ac): Remove gl_ARCFOUR call.
7883         (Makefile.am): Augment lib_SOURCES.
7884
7885 2011-05-22  Bruno Haible  <bruno@clisp.org>
7886
7887         write: Move AC_LIBOBJ invocations to module description.
7888         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
7889         * modules/write (configure.ac): ... to here.
7890
7891 2011-05-22  Bruno Haible  <bruno@clisp.org>
7892
7893         wmemset: Move AC_LIBOBJ invocations to module description.
7894         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
7895         here...
7896         * modules/wmemset (configure.ac): ... to here.
7897
7898 2011-05-22  Bruno Haible  <bruno@clisp.org>
7899
7900         wmemmove: Move AC_LIBOBJ invocations to module description.
7901         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
7902         here...
7903         * modules/wmemmove (configure.ac): ... to here.
7904
7905 2011-05-22  Bruno Haible  <bruno@clisp.org>
7906
7907         wmemcpy: Move AC_LIBOBJ invocations to module description.
7908         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
7909         here...
7910         * modules/wmemcpy (configure.ac): ... to here.
7911
7912 2011-05-22  Bruno Haible  <bruno@clisp.org>
7913
7914         wmemcmp: Move AC_LIBOBJ invocations to module description.
7915         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
7916         here...
7917         * modules/wmemcmp (configure.ac): ... to here.
7918
7919 2011-05-22  Bruno Haible  <bruno@clisp.org>
7920
7921         wmemchr: Move AC_LIBOBJ invocations to module description.
7922         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
7923         here...
7924         * modules/wmemchr (configure.ac): ... to here.
7925
7926 2011-05-22  Bruno Haible  <bruno@clisp.org>
7927
7928         wcswidth: Move AC_LIBOBJ invocations to module description.
7929         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
7930         here...
7931         * modules/wcswidth (configure.ac): ... to here.
7932
7933 2011-05-22  Bruno Haible  <bruno@clisp.org>
7934
7935         wcwidth: Respect rules for use of AC_LIBOBJ.
7936         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
7937         invocation from here...
7938         * modules/wcwidth (configure.ac): ... to here.
7939         (Depends-on): Update conditions.
7940
7941 2011-05-22  Bruno Haible  <bruno@clisp.org>
7942
7943         wctype: Move AC_LIBOBJ invocations to module description.
7944         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
7945         invocation from here...
7946         * modules/wctype (configure.ac): ... to here.
7947         (Depends-on): Update conditions.
7948
7949 2011-05-22  Bruno Haible  <bruno@clisp.org>
7950
7951         wctrans: Move AC_LIBOBJ invocations to module description.
7952         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
7953         invocation from here...
7954         * modules/wctrans (configure.ac): ... to here.
7955
7956 2011-05-22  Bruno Haible  <bruno@clisp.org>
7957
7958         wctomb: Move AC_LIBOBJ invocations to module description.
7959         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
7960         invocations from here...
7961         * modules/wctomb (configure.ac): ... to here.
7962
7963 2011-05-22  Bruno Haible  <bruno@clisp.org>
7964
7965         wctob: Move AC_LIBOBJ invocations to module description.
7966         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
7967         gl_PREREQ_WCTOB invocations from here...
7968         * modules/wctob (configure.ac): ... to here.
7969         (Depends-on): Update conditions.
7970
7971 2011-05-22  Bruno Haible  <bruno@clisp.org>
7972
7973         wcsxfrm: Move AC_LIBOBJ invocations to module description.
7974         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
7975         here...
7976         * modules/wcsxfrm (configure.ac): ... to here.
7977
7978 2011-05-22  Bruno Haible  <bruno@clisp.org>
7979
7980         wcstok: Move AC_LIBOBJ invocations to module description.
7981         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
7982         * modules/wcstok (configure.ac): ... to here.
7983
7984 2011-05-22  Bruno Haible  <bruno@clisp.org>
7985
7986         wcsstr: Move AC_LIBOBJ invocations to module description.
7987         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
7988         * modules/wcsstr (configure.ac): ... to here.
7989
7990 2011-05-22  Bruno Haible  <bruno@clisp.org>
7991
7992         wcsspn: Move AC_LIBOBJ invocations to module description.
7993         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
7994         * modules/wcsspn (configure.ac): ... to here.
7995
7996 2011-05-22  Bruno Haible  <bruno@clisp.org>
7997
7998         wcsrtombs: Move AC_LIBOBJ invocations to module description.
7999         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
8000         gl_PREREQ_WCSRTOMBS invocations from here...
8001         * modules/wcsrtombs (configure.ac): ... to here.
8002
8003 2011-05-22  Bruno Haible  <bruno@clisp.org>
8004
8005         wcsrchr: Move AC_LIBOBJ invocations to module description.
8006         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
8007         here...
8008         * modules/wcsrchr (configure.ac): ... to here.
8009
8010 2011-05-22  Bruno Haible  <bruno@clisp.org>
8011
8012         wcspbrk: Move AC_LIBOBJ invocations to module description.
8013         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
8014         here...
8015         * modules/wcspbrk (configure.ac): ... to here.
8016
8017 2011-05-22  Bruno Haible  <bruno@clisp.org>
8018
8019         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
8020         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
8021         gl_PREREQ_WCSNRTOMBS invocations from here...
8022         * modules/wcsnrtombs (configure.ac): ... to here.
8023
8024 2011-05-22  Bruno Haible  <bruno@clisp.org>
8025
8026         wcsnlen: Move AC_LIBOBJ invocations to module description.
8027         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
8028         here...
8029         * modules/wcsnlen (configure.ac): ... to here.
8030
8031 2011-05-22  Bruno Haible  <bruno@clisp.org>
8032
8033         wcsncpy: Move AC_LIBOBJ invocations to module description.
8034         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
8035         here...
8036         * modules/wcsncpy (configure.ac): ... to here.
8037
8038 2011-05-22  Bruno Haible  <bruno@clisp.org>
8039
8040         wcsncmp: Move AC_LIBOBJ invocations to module description.
8041         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
8042         here...
8043         * modules/wcsncmp (configure.ac): ... to here.
8044
8045 2011-05-22  Bruno Haible  <bruno@clisp.org>
8046
8047         wcsncat: Move AC_LIBOBJ invocations to module description.
8048         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
8049         here...
8050         * modules/wcsncat (configure.ac): ... to here.
8051
8052 2011-05-22  Bruno Haible  <bruno@clisp.org>
8053
8054         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
8055         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
8056         from here...
8057         * modules/wcsncasecmp (configure.ac): ... to here.
8058
8059 2011-05-22  Bruno Haible  <bruno@clisp.org>
8060
8061         wcslen: Move AC_LIBOBJ invocations to module description.
8062         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
8063         * modules/wcslen (configure.ac): ... to here.
8064
8065 2011-05-22  Bruno Haible  <bruno@clisp.org>
8066
8067         wcsdup: Move AC_LIBOBJ invocations to module description.
8068         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
8069         * modules/wcsdup (configure.ac): ... to here.
8070
8071 2011-05-22  Bruno Haible  <bruno@clisp.org>
8072
8073         wcscspn: Move AC_LIBOBJ invocations to module description.
8074         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
8075         here...
8076         * modules/wcscspn (configure.ac): ... to here.
8077
8078 2011-05-22  Bruno Haible  <bruno@clisp.org>
8079
8080         wcscpy: Move AC_LIBOBJ invocations to module description.
8081         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
8082         * modules/wcscpy (configure.ac): ... to here.
8083
8084 2011-05-22  Bruno Haible  <bruno@clisp.org>
8085
8086         wcscoll: Move AC_LIBOBJ invocations to module description.
8087         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
8088         here...
8089         * modules/wcscoll (configure.ac): ... to here.
8090
8091 2011-05-22  Bruno Haible  <bruno@clisp.org>
8092
8093         wcscmp: Move AC_LIBOBJ invocations to module description.
8094         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
8095         * modules/wcscmp (configure.ac): ... to here.
8096
8097 2011-05-22  Bruno Haible  <bruno@clisp.org>
8098
8099         wcschr: Move AC_LIBOBJ invocations to module description.
8100         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
8101         * modules/wcschr (configure.ac): ... to here.
8102
8103 2011-05-22  Bruno Haible  <bruno@clisp.org>
8104
8105         wcscat: Move AC_LIBOBJ invocations to module description.
8106         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
8107         * modules/wcscat (configure.ac): ... to here.
8108
8109 2011-05-22  Bruno Haible  <bruno@clisp.org>
8110
8111         wcscasecmp: Move AC_LIBOBJ invocations to module description.
8112         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
8113         here...
8114         * modules/wcscasecmp (configure.ac): ... to here.
8115
8116 2011-05-22  Bruno Haible  <bruno@clisp.org>
8117
8118         wcrtomb: Move AC_LIBOBJ invocations to module description.
8119         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
8120         invocations from here...
8121         * modules/wcrtomb (configure.ac): ... to here.
8122
8123 2011-05-22  Bruno Haible  <bruno@clisp.org>
8124
8125         wcpncpy: Move AC_LIBOBJ invocations to module description.
8126         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
8127         here...
8128         * modules/wcpncpy (configure.ac): ... to here.
8129
8130 2011-05-22  Bruno Haible  <bruno@clisp.org>
8131
8132         wcpcpy: Move AC_LIBOBJ invocations to module description.
8133         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
8134         * modules/wcpcpy (configure.ac): ... to here.
8135
8136 2011-05-22  Bruno Haible  <bruno@clisp.org>
8137
8138         waitpid: Move AC_LIBOBJ invocations to module description.
8139         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
8140         invocation from here...
8141         * modules/waitpid (configure.ac): ... to here.
8142
8143 2011-05-22  Bruno Haible  <bruno@clisp.org>
8144
8145         utimensat: Move AC_LIBOBJ invocations to module description.
8146         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
8147         here...
8148         * modules/utimensat (configure.ac): ... to here.
8149
8150 2011-05-22  Bruno Haible  <bruno@clisp.org>
8151
8152         usleep: Move AC_LIBOBJ invocations to module description.
8153         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
8154         here...
8155         * modules/usleep (configure.ac): ... to here.
8156
8157 2011-05-22  Bruno Haible  <bruno@clisp.org>
8158
8159         unlockpt: Move AC_LIBOBJ invocations to module description.
8160         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
8161         gl_PREREQ_UNLOCKPT invocations from here...
8162         * modules/unlockpt (configure.ac): ... to here.
8163
8164 2011-05-22  Bruno Haible  <bruno@clisp.org>
8165
8166         unlink: Respect rules for use of AC_LIBOBJ.
8167         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
8168         * modules/unlink (configure.ac): ... to here.
8169
8170 2011-05-22  Bruno Haible  <bruno@clisp.org>
8171
8172         uname: Move AC_LIBOBJ invocations to module description.
8173         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
8174         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
8175         here...
8176         * modules/uname (configure.ac): ... to here.
8177
8178 2011-05-22  Bruno Haible  <bruno@clisp.org>
8179
8180         ttyname_r: Move AC_LIBOBJ invocations to module description.
8181         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
8182         gl_PREREQ_TTYNAME_R invocations from here...
8183         * modules/ttyname_r (configure.ac): ... to here.
8184
8185 2011-05-22  Bruno Haible  <bruno@clisp.org>
8186
8187         tsearch: Move AC_LIBOBJ invocations to module description.
8188         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
8189         invocations from here...
8190         * modules/tsearch (configure.ac): ... to here.
8191
8192 2011-05-22  Bruno Haible  <bruno@clisp.org>
8193
8194         towctrans: Move AC_LIBOBJ invocations to module description.
8195         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
8196         AC_LIBOBJ invocation from here...
8197         * modules/towctrans (configure.ac): ... to here.
8198
8199 2011-05-22  Bruno Haible  <bruno@clisp.org>
8200
8201         tmpfile: Move AC_LIBOBJ invocations to module description.
8202         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
8203         invocations from here...
8204         * modules/tmpfile (configure.ac): ... to here.
8205
8206 2011-05-22  Bruno Haible  <bruno@clisp.org>
8207
8208         times: Move AC_LIBOBJ invocations to module description.
8209         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
8210         * modules/times (configure.ac): ... to here.
8211
8212 2011-05-22  Bruno Haible  <bruno@clisp.org>
8213
8214         time_r: Move AC_LIBOBJ invocations to module description.
8215         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
8216         invocations from here...
8217         * modules/time_r (configure.ac): ... to here.
8218
8219 2011-05-22  Bruno Haible  <bruno@clisp.org>
8220
8221         timegm: Move AC_LIBOBJ invocations to module description.
8222         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
8223         invocations from here...
8224         * modules/timegm (configure.ac): ... to here.
8225
8226 2011-05-22  Bruno Haible  <bruno@clisp.org>
8227
8228         tcgetsid: Move AC_LIBOBJ invocations to module description.
8229         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
8230         and gl_PREREQ_TCGETSID invocations from here...
8231         * modules/tcgetsid (configure.ac): ... to here.
8232         (Depends-on): Update conditions.
8233
8234 2011-05-22  Bruno Haible  <bruno@clisp.org>
8235
8236         symlinkat: Move AC_LIBOBJ invocations to module description.
8237         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
8238         here...
8239         * modules/symlinkat (configure.ac): ... to here.
8240
8241 2011-05-22  Bruno Haible  <bruno@clisp.org>
8242
8243         symlink: Move AC_LIBOBJ invocations to module description.
8244         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
8245         here...
8246         * modules/symlink (configure.ac): ... to here.
8247
8248 2011-05-22  Bruno Haible  <bruno@clisp.org>
8249
8250         strverscmp: Move AC_LIBOBJ invocations to module description.
8251         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
8252         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
8253         from here...
8254         * modules/strverscmp (configure.ac): ... to here.
8255
8256 2011-05-22  Bruno Haible  <bruno@clisp.org>
8257
8258         strtok_r: Move AC_LIBOBJ invocations to module description.
8259         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
8260         and gl_PREREQ_STRTOK_R invocations from here...
8261         * modules/strtok_r (configure.ac): ... to here.
8262         (Depends-on): Update conditions.
8263
8264 2011-05-22  Bruno Haible  <bruno@clisp.org>
8265
8266         strtoumax: Move AC_LIBOBJ invocations to module description.
8267         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
8268         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
8269         from here...
8270         * modules/strtoumax (configure.ac): ... to here.
8271
8272 2011-05-22  Bruno Haible  <bruno@clisp.org>
8273
8274         strtoimax: Move AC_LIBOBJ invocations to module description.
8275         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
8276         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
8277         from here...
8278         * modules/strtoimax (configure.ac): ... to here.
8279
8280 2011-05-22  Bruno Haible  <bruno@clisp.org>
8281
8282         strtoull: Move AC_LIBOBJ invocations to module description.
8283         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
8284         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
8285         from here...
8286         * modules/strtoull (configure.ac): ... to here.
8287
8288 2011-05-22  Bruno Haible  <bruno@clisp.org>
8289
8290         strtoll: Move AC_LIBOBJ invocations to module description.
8291         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
8292         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
8293         here...
8294         * modules/strtoll (configure.ac): ... to here.
8295
8296 2011-05-22  Bruno Haible  <bruno@clisp.org>
8297
8298         strtoul: Move AC_LIBOBJ invocations to module description.
8299         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
8300         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
8301         * modules/strtoul (configure.ac): ... to here.
8302
8303 2011-05-22  Bruno Haible  <bruno@clisp.org>
8304
8305         strtol: Move AC_LIBOBJ invocations to module description.
8306         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
8307         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
8308         * modules/strtol (configure.ac): ... to here.
8309
8310 2011-05-22  Bruno Haible  <bruno@clisp.org>
8311
8312         strtod: Move AC_LIBOBJ invocations to module description.
8313         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
8314         invocations from here...
8315         * modules/strtod (configure.ac): ... to here.
8316
8317 2011-05-22  Bruno Haible  <bruno@clisp.org>
8318
8319         strstr*: Move AC_LIBOBJ invocations to module description.
8320         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
8321         invocations from here...
8322         * modules/strstr-simple (configure.ac): ... to here.
8323         * modules/strstr (configure.ac): ... and here.
8324
8325 2011-05-22  Bruno Haible  <bruno@clisp.org>
8326
8327         strsignal: Move AC_LIBOBJ invocations to module description.
8328         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
8329         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
8330         * modules/strsignal (configure.ac): ... to here.
8331         (Depends-on): Update conditions.
8332
8333 2011-05-22  Bruno Haible  <bruno@clisp.org>
8334
8335         strsep: Move AC_LIBOBJ invocations to module description.
8336         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
8337         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
8338         here...
8339         * modules/strsep (configure.ac): ... to here.
8340
8341 2011-05-22  Bruno Haible  <bruno@clisp.org>
8342
8343         strptime: Move AC_LIBOBJ invocations to module description.
8344         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
8345         gl_PREREQ_STRPTIME invocations from here...
8346         * modules/strptime (configure.ac): ... to here.
8347
8348 2011-05-22  Bruno Haible  <bruno@clisp.org>
8349
8350         strpbrk: Move AC_LIBOBJ invocations to module description.
8351         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
8352         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
8353         here...
8354         * modules/strpbrk (configure.ac): ... to here.
8355
8356 2011-05-22  Bruno Haible  <bruno@clisp.org>
8357
8358         strnlen: Move AC_LIBOBJ invocations to module description.
8359         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
8360         invocations from here...
8361         * modules/strnlen (configure.ac): ... to here.
8362
8363 2011-05-22  Bruno Haible  <bruno@clisp.org>
8364
8365         strndup: Move AC_LIBOBJ invocations to module description.
8366         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
8367         invocations from here...
8368         * modules/strndup (configure.ac): ... to here.
8369         (Depends-on): Update conditions.
8370
8371 2011-05-22  Bruno Haible  <bruno@clisp.org>
8372
8373         strncat: Move AC_LIBOBJ invocations to module description.
8374         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
8375         invocations from here...
8376         * modules/strncat (configure.ac): ... to here.
8377
8378 2011-05-22  Bruno Haible  <bruno@clisp.org>
8379
8380         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
8381         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
8382         invocations from here...
8383         * modules/strdup (configure.ac): ... to here.
8384         * modules/strdup-posix (configure.ac): ... and here.
8385
8386 2011-05-22  Bruno Haible  <bruno@clisp.org>
8387
8388         strcspn: Move AC_LIBOBJ invocations to module description.
8389         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
8390         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
8391         here...
8392         * modules/strcspn (configure.ac): ... to here.
8393
8394 2011-05-22  Bruno Haible  <bruno@clisp.org>
8395
8396         strchrnul: Move AC_LIBOBJ invocations to module description.
8397         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
8398         gl_PREREQ_STRCHRNUL invocations from here...
8399         * modules/strchrnul (configure.ac): ... to here.
8400
8401 2011-05-22  Bruno Haible  <bruno@clisp.org>
8402
8403         strcasestr*: Move AC_LIBOBJ invocations to module description.
8404         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
8405         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
8406         * modules/strcasestr-simple (configure.ac): ... to here.
8407         * modules/strcasestr (configure.ac): ... and here.
8408
8409 2011-05-22  Bruno Haible  <bruno@clisp.org>
8410
8411         strcase: Move AC_LIBOBJ invocations to module description.
8412         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
8413         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
8414         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
8415         gl_PREREQ_STRNCASECMP invocations from here...
8416         * modules/strcase (configure.ac): ... to here.
8417
8418 2011-05-22  Bruno Haible  <bruno@clisp.org>
8419
8420         stpncpy: Move AC_LIBOBJ invocations to module description.
8421         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
8422         here...
8423         * modules/stpncpy (configure.ac): ... to here.
8424
8425 2011-05-22  Bruno Haible  <bruno@clisp.org>
8426
8427         stpcpy: Move AC_LIBOBJ invocations to module description.
8428         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
8429         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
8430         here...
8431         * modules/stpcpy (configure.ac): ... to here.
8432
8433 2011-05-21  Bruno Haible  <bruno@clisp.org>
8434
8435         stat: Move AC_LIBOBJ invocations to module description.
8436         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
8437         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
8438         here...
8439         * modules/stat (configure.ac): ... to here.
8440
8441 2011-05-21  Bruno Haible  <bruno@clisp.org>
8442
8443         sleep: Move AC_LIBOBJ invocations to module description.
8444         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
8445         * modules/sleep (configure.ac): ... to here.
8446
8447 2011-05-21  Bruno Haible  <bruno@clisp.org>
8448
8449         signbit: Move AC_LIBOBJ invocations to module description.
8450         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
8451         * modules/signbit (configure.ac): ... to here.
8452
8453 2011-05-21  Bruno Haible  <bruno@clisp.org>
8454
8455         sigprocmask: Move AC_LIBOBJ invocations to module description.
8456         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
8457         gl_PREREQ_SIGPROMASK invocations from here...
8458         * modules/sigprocmask (configure.ac): ... to here.
8459
8460 2011-05-21  Bruno Haible  <bruno@clisp.org>
8461
8462         sigaction: Move AC_LIBOBJ invocations to module description.
8463         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
8464         gl_PREREQ_SIGACTION invocations from here...
8465         * modules/sigaction (configure.ac): ... to here.
8466
8467 2011-05-21  Bruno Haible  <bruno@clisp.org>
8468
8469         sig2str: Move AC_LIBOBJ invocations to module description.
8470         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
8471         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
8472         here...
8473         * modules/sig2str (configure.ac): ... to here.
8474
8475 2011-05-21  Bruno Haible  <bruno@clisp.org>
8476
8477         setlocale: Move AC_LIBOBJ invocations to module description.
8478         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
8479         gl_PREREQ_SETLOCALE invocations from here...
8480         * modules/setlocale (configure.ac): ... to here.
8481
8482 2011-05-21  Bruno Haible  <bruno@clisp.org>
8483
8484         unsetenv: Move AC_LIBOBJ invocations to module description.
8485         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
8486         and gl_PREREQ_UNSETENV invocations from here...
8487         * modules/unsetenv (configure.ac): ... to here.
8488         (Depends-on): Update.
8489
8490 2011-05-21  Bruno Haible  <bruno@clisp.org>
8491
8492         setenv: Move AC_LIBOBJ invocations to module description.
8493         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
8494         here...
8495         * modules/setenv (configure.ac): ... to here.
8496
8497 2011-05-21  Bruno Haible  <bruno@clisp.org>
8498
8499         selinux-h: Move AC_LIBOBJ invocations to module description.
8500         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
8501         AC_LIBOBJ invocation from here...
8502         * modules/selinux-h (configure.ac): ... to here.
8503
8504 2011-05-21  Bruno Haible  <bruno@clisp.org>
8505
8506         select: Respect rules for use of AC_LIBOBJ.
8507         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
8508         here...
8509         * modules/select (configure.ac): ... to here.
8510
8511 2011-05-21  Bruno Haible  <bruno@clisp.org>
8512
8513         scandir: Move AC_LIBOBJ invocations to module description.
8514         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
8515         invocations from here...
8516         * modules/scandir (configure.ac): ... to here.
8517
8518 2011-05-21  Bruno Haible  <bruno@clisp.org>
8519
8520         rpmatch: Move AC_LIBOBJ invocations to module description.
8521         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
8522         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
8523         here...
8524         * modules/rpmatch (configure.ac): ... to here.
8525
8526 2011-05-21  Bruno Haible  <bruno@clisp.org>
8527
8528         rmdir: Respect rules for use of AC_LIBOBJ.
8529         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
8530         * modules/rmdir (configure.ac): ... to here.
8531
8532 2011-05-21  Bruno Haible  <bruno@clisp.org>
8533
8534         renameat: Move AC_LIBOBJ invocations to module description.
8535         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
8536         here...
8537         * modules/renameat (configure.ac): ... to here.
8538
8539 2011-05-21  Bruno Haible  <bruno@clisp.org>
8540
8541         rename: Respect rules for use of AC_LIBOBJ.
8542         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
8543         here...
8544         * modules/rename (configure.ac): ... to here.
8545
8546 2011-05-21  Bruno Haible  <bruno@clisp.org>
8547
8548         remove: Move AC_LIBOBJ invocations to module description.
8549         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
8550         here...
8551         * modules/remove (configure.ac): ... to here.
8552
8553 2011-05-21  Bruno Haible  <bruno@clisp.org>
8554
8555         relocatable-lib: Move AC_LIBOBJ invocations to module description.
8556         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
8557         macro.
8558         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
8559         * modules/relocatable-lib (configure.ac): ... to here.
8560         * modules/relocatable-prog-wrapper (configure.ac): Invoke
8561         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
8562
8563 2011-05-21  Bruno Haible  <bruno@clisp.org>
8564
8565         relocatable-prog: Move AC_LIBOBJ invocations to module description.
8566         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
8567         here...
8568         * modules/relocatable-prog (configure.ac): ... to here.
8569
8570 2011-05-21  Bruno Haible  <bruno@clisp.org>
8571
8572         regex: Move AC_LIBOBJ invocations to module description.
8573         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
8574         invocations from here...
8575         * modules/regex (configure.ac): ... to here.
8576
8577 2011-05-21  Bruno Haible  <bruno@clisp.org>
8578
8579         realloc-*: Move AC_LIBOBJ invocations to module description.
8580         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
8581         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
8582         AC_LIBOBJ invocations from here...
8583         * modules/realloc-gnu (configure.ac): ... to here.
8584         * modules/realloc-posix (configure.ac): ... and here.
8585
8586 2011-05-21  Bruno Haible  <bruno@clisp.org>
8587
8588         readutmp: Move AC_LIBOBJ invocations to module description.
8589         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
8590         * modules/readutmp (configure.ac): ... to here.
8591
8592 2011-05-21  Bruno Haible  <bruno@clisp.org>
8593
8594         readlinkat: Move AC_LIBOBJ invocations to module description.
8595         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
8596         here...
8597         * modules/readlinkat (configure.ac): ... to here.
8598
8599 2011-05-21  Bruno Haible  <bruno@clisp.org>
8600
8601         readlink: Move AC_LIBOBJ invocations to module description.
8602         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
8603         gl_PREREQ_READLINK invocations from here...
8604         * modules/readlink (configure.ac): ... to here.
8605
8606 2011-05-21  Bruno Haible  <bruno@clisp.org>
8607
8608         readline: Move AC_LIBOBJ invocations to module description.
8609         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
8610         gl_PREREQ_READLINE invocations from here...
8611         * modules/readline (configure.ac): ... to here.
8612
8613 2011-05-21  Bruno Haible  <bruno@clisp.org>
8614
8615         read: Move AC_LIBOBJ invocations to module description.
8616         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
8617         * modules/read (configure.ac): ... to here.
8618
8619 2011-05-21  Bruno Haible  <bruno@clisp.org>
8620
8621         rawmemchr: Move AC_LIBOBJ invocations to module description.
8622         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
8623         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
8624         from here...
8625         * modules/rawmemchr (configure.ac): ... to here.
8626
8627 2011-05-21  Bruno Haible  <bruno@clisp.org>
8628
8629         random_r: Move AC_LIBOBJ invocations to module description.
8630         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
8631         gl_PREREQ_RANDOM_R invocations from here...
8632         * modules/random_r (configure.ac): ... to here.
8633
8634 2011-05-21  Bruno Haible  <bruno@clisp.org>
8635
8636         pwrite: Move AC_LIBOBJ invocations to module description.
8637         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
8638         * modules/pwrite (configure.ac): ... to here.
8639
8640 2011-05-21  Bruno Haible  <bruno@clisp.org>
8641
8642         putenv: Move AC_LIBOBJ invocations to module description.
8643         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
8644         * modules/putenv (configure.ac): ... to here.
8645
8646 2011-05-21  Bruno Haible  <bruno@clisp.org>
8647
8648         login_tty: Move AC_LIBOBJ invocations to module description.
8649         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
8650         * modules/login_tty (configure.ac): ... to here.
8651
8652 2011-05-21  Bruno Haible  <bruno@clisp.org>
8653
8654         openpty: Move AC_LIBOBJ invocations to module description.
8655         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
8656         * modules/openpty (configure.ac): ... to here.
8657
8658 2011-05-21  Bruno Haible  <bruno@clisp.org>
8659
8660         forkpty: Move AC_LIBOBJ invocations to module description.
8661         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
8662         * modules/forkpty (configure.ac): ... to here.
8663
8664 2011-05-21  Bruno Haible  <bruno@clisp.org>
8665
8666         ptsname: Move AC_LIBOBJ invocations to module description.
8667         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
8668         invocations from here...
8669         * modules/ptsname (configure.ac): ... to here.
8670
8671 2011-05-21  Bruno Haible  <bruno@clisp.org>
8672
8673         pread: Move AC_LIBOBJ invocations to module description.
8674         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
8675         * modules/pread (configure.ac): ... to here.
8676
8677 2011-05-21  Bruno Haible  <bruno@clisp.org>
8678
8679         posix_spawn*: Move AC_LIBOBJ invocations to module description.
8680         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
8681         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
8682         * modules/posix_spawn (configure.ac): ... to here.
8683         * modules/posix_spawnp (configure.ac): ... and here.
8684
8685 2011-05-21  Bruno Haible  <bruno@clisp.org>
8686
8687         popen: Move AC_LIBOBJ invocations to module description.
8688         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
8689         invocations from here...
8690         * modules/popen (configure.ac): ... to here.
8691
8692 2011-05-21  Bruno Haible  <bruno@clisp.org>
8693
8694         poll: Move AC_LIBOBJ invocations to module description.
8695         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
8696         invocations from here...
8697         * modules/poll (configure.ac): ... to here.
8698
8699 2011-05-21  Bruno Haible  <bruno@clisp.org>
8700
8701         pipe-posix: Move AC_LIBOBJ invocations to module description.
8702         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
8703         * modules/pipe-posix (configure.ac): ... to here.
8704
8705 2011-05-21  Bruno Haible  <bruno@clisp.org>
8706
8707         openat: Respect rules for use of AC_LIBOBJ.
8708         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
8709         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8710         * modules/openat (configure.ac): ... to here.
8711
8712 2011-05-21  Bruno Haible  <bruno@clisp.org>
8713
8714         obstack-printf*: Move AC_LIBOBJ invocations to module description.
8715         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
8716         invocation from here...
8717         * modules/obstack-printf (configure.ac): ... to here.
8718         * modules/obstack-printf-posix (configure.ac): ... and here.
8719
8720 2011-05-21  Bruno Haible  <bruno@clisp.org>
8721
8722         nl_langinfo: Move AC_LIBOBJ invocations to module description.
8723         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
8724         from here...
8725         * modules/nl_langinfo (configure.ac): ... to here.
8726
8727 2011-05-21  Bruno Haible  <bruno@clisp.org>
8728
8729         nanosleep: Move AC_LIBOBJ invocations to module description.
8730         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
8731         gl_PREREQ_NANOSLEEP invocations from here...
8732         * modules/nanosleep (configure.ac): ... to here.
8733
8734 2011-05-21  Bruno Haible  <bruno@clisp.org>
8735
8736         mountlist: Move AC_LIBOBJ invocations to module description.
8737         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
8738         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
8739         * modules/mountlist (configure.ac): ... to here.
8740
8741 2011-05-21  Bruno Haible  <bruno@clisp.org>
8742
8743         mktime: Respect rules for use of AC_LIBOBJ.
8744         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
8745         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
8746         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
8747         (gl_FUNC_MKTIME_INTERNAL): ... and here...
8748         * modules/mktime (configure.ac): ... to here.
8749         * modules/mktime-internal (configure.ac): ... and here.
8750         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
8751
8752 2011-05-21  Bruno Haible  <bruno@clisp.org>
8753
8754         mkstemps: Move AC_LIBOBJ invocations to module description.
8755         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
8756         here...
8757         * modules/mkstemps (configure.ac): ... to here.
8758
8759 2011-05-21  Bruno Haible  <bruno@clisp.org>
8760
8761         mkstemp: Move AC_LIBOBJ invocations to module description.
8762         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
8763         gl_PREREQ_MKSTEMP invocations from here...
8764         * modules/mkstemp (configure.ac): ... to here.
8765
8766 2011-05-21  Bruno Haible  <bruno@clisp.org>
8767
8768         mkostemps: Move AC_LIBOBJ invocations to module description.
8769         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
8770         here...
8771         * modules/mkostemps (configure.ac): ... to here.
8772
8773 2011-05-21  Bruno Haible  <bruno@clisp.org>
8774
8775         mkostemp: Move AC_LIBOBJ invocations to module description.
8776         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
8777         gl_PREREQ_MKOSTEMP invocations from here...
8778         * modules/mkostemp (configure.ac): ... to here.
8779
8780 2011-05-21  Bruno Haible  <bruno@clisp.org>
8781
8782         mknod: Move AC_LIBOBJ invocations to module description.
8783         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
8784         * modules/mknod (configure.ac): ... to here.
8785
8786 2011-05-21  Bruno Haible  <bruno@clisp.org>
8787
8788         mkfifoat: Move AC_LIBOBJ invocations to module description.
8789         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
8790         here...
8791         * modules/mkfifoat (configure.ac): ... to here.
8792
8793 2011-05-21  Bruno Haible  <bruno@clisp.org>
8794
8795         mkfifo: Respect rules for use of AC_LIBOBJ.
8796         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
8797         here...
8798         * modules/mkfifo (configure.ac): ... to here.
8799
8800 2011-05-21  Bruno Haible  <bruno@clisp.org>
8801
8802         mkdtemp: Move AC_LIBOBJ invocations to module description.
8803         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
8804         invocations from here...
8805         * modules/mkdtemp (configure.ac): ... to here.
8806
8807 2011-05-21  Bruno Haible  <bruno@clisp.org>
8808
8809         mkdir: Move AC_LIBOBJ invocations to module description.
8810         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
8811         * modules/mkdir (configure.ac): ... to here.
8812
8813 2011-05-21  Bruno Haible  <bruno@clisp.org>
8814
8815         memset: Move AC_LIBOBJ invocations to module description.
8816         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
8817         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
8818         here...
8819         * modules/memset (configure.ac): ... to here.
8820
8821 2011-05-21  Bruno Haible  <bruno@clisp.org>
8822
8823         memrchr: Move AC_LIBOBJ invocations to module description.
8824         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
8825         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
8826         here...
8827         * modules/memrchr (configure.ac): ... to here.
8828
8829 2011-05-21  Bruno Haible  <bruno@clisp.org>
8830
8831         mempcpy: Move AC_LIBOBJ invocations to module description.
8832         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
8833         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
8834         here...
8835         * modules/mempcpy (configure.ac): ... to here.
8836
8837 2011-05-21  Bruno Haible  <bruno@clisp.org>
8838
8839         memmove: Move AC_LIBOBJ invocations to module description.
8840         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
8841         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
8842         here...
8843         * modules/memmove (configure.ac): ... to here.
8844
8845 2011-05-21  Bruno Haible  <bruno@clisp.org>
8846
8847         memmem*: Move AC_LIBOBJ invocations to module description.
8848         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
8849         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
8850         here...
8851         (gl_FUNC_MEMMEM): ... and here...
8852         * modules/memmem-simple (configure.ac): ... to here.
8853         * modules/memmem (configure.ac): ... and here.
8854
8855 2011-05-21  Bruno Haible  <bruno@clisp.org>
8856
8857         memcpy: Move AC_LIBOBJ invocations to module description.
8858         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
8859         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
8860         here...
8861         * modules/memcpy (configure.ac): ... to here.
8862
8863 2011-05-21  Bruno Haible  <bruno@clisp.org>
8864
8865         memcmp: Simplify autoconf macro.
8866         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
8867         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
8868         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
8869
8870 2011-05-21  Bruno Haible  <bruno@clisp.org>
8871
8872         memcmp: Move AC_LIBOBJ invocations to module description.
8873         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
8874         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
8875         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
8876         * modules/memcmp (configure.ac): ... to here.
8877         (Depends-on): Update conditions.
8878
8879 2011-05-21  Bruno Haible  <bruno@clisp.org>
8880
8881         memchr: Respect rules for use of AC_LIBOBJ.
8882         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
8883         invocations from here...
8884         * modules/memchr (configure.ac): ... to here.
8885
8886 2011-05-21  Bruno Haible  <bruno@clisp.org>
8887
8888         mbtowc: Move AC_LIBOBJ invocations to module description.
8889         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
8890         invocations from here...
8891         * modules/mbtowc (configure.ac): ... to here.
8892
8893 2011-05-21  Bruno Haible  <bruno@clisp.org>
8894
8895         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
8896         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
8897         gl_PREREQ_MBSRTOWCS invocations from here...
8898         * modules/mbsrtowcs (configure.ac): ... to here.
8899
8900 2011-05-21  Bruno Haible  <bruno@clisp.org>
8901
8902         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
8903         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
8904         gl_PREREQ_MBSNRTOWCS invocations from here...
8905         * modules/mbsnrtowcs (configure.ac): ... to here.
8906
8907 2011-05-21  Bruno Haible  <bruno@clisp.org>
8908
8909         mbsinit: Move AC_LIBOBJ invocations to module description.
8910         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
8911         invocations from here...
8912         * modules/mbsinit (configure.ac): ... to here.
8913
8914 2011-05-21  Bruno Haible  <bruno@clisp.org>
8915
8916         mbrlen: Move AC_LIBOBJ invocations to module description.
8917         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
8918         invocations from here...
8919         * modules/mbrlen (configure.ac): ... to here.
8920
8921 2011-05-21  Bruno Haible  <bruno@clisp.org>
8922
8923         mbrtowc: Respect rules for use of AC_LIBOBJ.
8924         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
8925         invocations from here...
8926         * modules/mbrtowc (configure.ac): ... to here.
8927
8928 2011-05-21  Bruno Haible  <bruno@clisp.org>
8929
8930         malloc-*: Move AC_LIBOBJ invocations to module description.
8931         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
8932         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
8933         AC_LIBOBJ invocations from here...
8934         * modules/malloc-gnu (configure.ac): ... to here.
8935         * modules/malloc-posix (configure.ac): ... and here.
8936
8937 2011-05-21  Bruno Haible  <bruno@clisp.org>
8938
8939         lstat, openat: Respect rules for use of AC_LIBOBJ.
8940         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
8941         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
8942         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
8943         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
8944         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
8945         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
8946         here.
8947         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
8948
8949 2011-05-21  Bruno Haible  <bruno@clisp.org>
8950
8951         lseek: Move AC_LIBOBJ invocations to module description.
8952         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
8953         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8954         * modules/lseek (configure.ac): ... to here.
8955
8956 2011-05-21  Bruno Haible  <bruno@clisp.org>
8957
8958         linkat: Move AC_LIBOBJ invocations to module description.
8959         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
8960         here...
8961         * modules/linkat (configure.ac): ... to here.
8962
8963 2011-05-21  Bruno Haible  <bruno@clisp.org>
8964
8965         link: Respect rules for use of AC_LIBOBJ.
8966         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
8967         * modules/link (configure.ac): ... to here.
8968
8969 2011-05-21  Bruno Haible  <bruno@clisp.org>
8970
8971         lchown: Move AC_LIBOBJ invocations to module description.
8972         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8973         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8974         * modules/lchown (configure.ac): ... to here.
8975
8976 2011-05-21  Bruno Haible  <bruno@clisp.org>
8977
8978         iswctype: Move AC_LIBOBJ invocations to module description.
8979         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
8980         here...
8981         * modules/iswctype (configure.ac): ... to here.
8982
8983 2011-05-21  Bruno Haible  <bruno@clisp.org>
8984
8985         iswblank: Move AC_LIBOBJ invocations to module description.
8986         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
8987         here...
8988         * modules/iswblank (configure.ac): ... to here.
8989
8990 2011-05-21  Bruno Haible  <bruno@clisp.org>
8991
8992         atanl: Move AC_LIBOBJ invocations to module description.
8993         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
8994         * modules/atanl (configure.ac): ... to here.
8995
8996 2011-05-21  Bruno Haible  <bruno@clisp.org>
8997
8998         acosl: Move AC_LIBOBJ invocations to module description.
8999         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
9000         * modules/acosl (configure.ac): ... to here.
9001
9002 2011-05-21  Bruno Haible  <bruno@clisp.org>
9003
9004         asinl: Respect rules for use of AC_LIBOBJ.
9005         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
9006         * modules/asinl (configure.ac): ... to here.
9007
9008 2011-05-21  Bruno Haible  <bruno@clisp.org>
9009
9010         tanl: Move AC_LIBOBJ invocations to module description.
9011         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
9012         * modules/tanl (configure.ac): ... to here.
9013
9014 2011-05-21  Bruno Haible  <bruno@clisp.org>
9015
9016         cosl: Move AC_LIBOBJ invocations to module description.
9017         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
9018         * modules/cosl (configure.ac): ... to here.
9019
9020 2011-05-21  Bruno Haible  <bruno@clisp.org>
9021
9022         sinl: Move AC_LIBOBJ invocations to module description.
9023         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
9024         * modules/sinl (configure.ac): ... to here.
9025
9026 2011-05-21  Bruno Haible  <bruno@clisp.org>
9027
9028         logl: Move AC_LIBOBJ invocations to module description.
9029         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
9030         * modules/logl (configure.ac): ... to here.
9031
9032 2011-05-21  Bruno Haible  <bruno@clisp.org>
9033
9034         expl: Move AC_LIBOBJ invocations to module description.
9035         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
9036         * modules/expl (configure.ac): ... to here.
9037
9038 2011-05-21  Bruno Haible  <bruno@clisp.org>
9039
9040         roundl: Move AC_LIBOBJ invocations to module description.
9041         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
9042         * modules/roundl (configure.ac): ... to here.
9043
9044 2011-05-21  Bruno Haible  <bruno@clisp.org>
9045
9046         round: Move AC_LIBOBJ invocations to module description.
9047         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
9048         * modules/round (configure.ac): ... to here.
9049
9050 2011-05-21  Bruno Haible  <bruno@clisp.org>
9051
9052         roundf: Move AC_LIBOBJ invocations to module description.
9053         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
9054         * modules/roundf (configure.ac): ... to here.
9055
9056 2011-05-21  Bruno Haible  <bruno@clisp.org>
9057
9058         truncl: Move AC_LIBOBJ invocations to module description.
9059         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
9060         * modules/truncl (configure.ac): ... to here.
9061
9062 2011-05-21  Bruno Haible  <bruno@clisp.org>
9063
9064         trunc: Move AC_LIBOBJ invocations to module description.
9065         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
9066         * modules/trunc (configure.ac): ... to here.
9067
9068 2011-05-21  Bruno Haible  <bruno@clisp.org>
9069
9070         truncf: Move AC_LIBOBJ invocations to module description.
9071         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
9072         * modules/truncf (configure.ac): ... to here.
9073
9074 2011-05-21  Bruno Haible  <bruno@clisp.org>
9075
9076         ceill: Move AC_LIBOBJ invocations to module description.
9077         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
9078         * modules/ceill (configure.ac): ... to here.
9079
9080 2011-05-21  Bruno Haible  <bruno@clisp.org>
9081
9082         ceil: Move AC_LIBOBJ invocations to module description.
9083         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
9084         * modules/ceil (configure.ac): ... to here.
9085
9086 2011-05-21  Bruno Haible  <bruno@clisp.org>
9087
9088         ceilf: Move AC_LIBOBJ invocations to module description.
9089         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
9090         * modules/ceilf (configure.ac): ... to here.
9091
9092 2011-05-21  Bruno Haible  <bruno@clisp.org>
9093
9094         floorl: Respect rules for use of AC_LIBOBJ.
9095         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
9096         * modules/floorl (configure.ac): ... to here.
9097
9098 2011-05-21  Bruno Haible  <bruno@clisp.org>
9099
9100         floor: Respect rules for use of AC_LIBOBJ.
9101         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
9102         * modules/floor (configure.ac): ... to here.
9103
9104 2011-05-21  Bruno Haible  <bruno@clisp.org>
9105
9106         floorf: Move AC_LIBOBJ invocations to module description.
9107         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
9108         * modules/floorf (configure.ac): ... to here.
9109
9110 2011-05-20  Bruno Haible  <bruno@clisp.org>
9111
9112         sqrtl: Respect rules for use of AC_LIBOBJ.
9113         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
9114         * modules/sqrtl (configure.ac): ... to here.
9115
9116 2011-05-20  Bruno Haible  <bruno@clisp.org>
9117
9118         ldexpl: Respect rules for use of AC_LIBOBJ.
9119         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
9120         * modules/ldexpl (configure.ac): ... to here.
9121
9122 2011-05-20  Bruno Haible  <bruno@clisp.org>
9123
9124         frexpl*: Respect rules for use of AC_LIBOBJ.
9125         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
9126         invocation from here...
9127         * modules/frexpl (configure.ac): ... to here.
9128         * modules/frexpl-nolibm (configure.ac): ... and here.
9129
9130 2011-05-20  Bruno Haible  <bruno@clisp.org>
9131
9132         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
9133         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
9134         invocation from here...
9135         * modules/frexp (configure.ac): ... to here.
9136         * modules/frexp-nolibm (configure.ac): ... and here.
9137
9138 2011-05-20  Bruno Haible  <bruno@clisp.org>
9139
9140         isnan: Respect rules for use of AC_LIBOBJ.
9141         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
9142         invocations here.
9143         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
9144         REPLACE_ISNAN.
9145         * modules/isnand (configure.ac): Likewise.
9146         * modules/isnanl (configure.ac): Likewise.
9147
9148 2011-05-20  Bruno Haible  <bruno@clisp.org>
9149
9150         isnanl*: Respect rules for use of AC_LIBOBJ.
9151         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
9152         invocation from here...
9153         * modules/isnanl (configure.ac): ... to here.
9154         * modules/isnanl-nolibm (configure.ac): ... and here.
9155
9156 2011-05-20  Bruno Haible  <bruno@clisp.org>
9157
9158         isnand*: Move AC_LIBOBJ invocations to module description.
9159         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
9160         invocation from here...
9161         * modules/isnand (configure.ac): ... to here.
9162         * modules/isnand-nolibm (configure.ac): ... and here.
9163
9164 2011-05-20  Bruno Haible  <bruno@clisp.org>
9165
9166         isnanf*: Move AC_LIBOBJ invocations to module description.
9167         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
9168         invocation from here...
9169         * modules/isnanf (configure.ac): ... to here.
9170         * modules/isnanf-nolibm (configure.ac): ... and here.
9171
9172 2011-05-20  Bruno Haible  <bruno@clisp.org>
9173
9174         isnan*: Separate the AC_LIBOBJ invocations.
9175         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
9176         AC_LIBOBJ invocation.
9177         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
9178         here.
9179         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
9180         AC_LIBOBJ invocation.
9181         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
9182         here.
9183         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
9184         AC_LIBOBJ invocation.
9185         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
9186         here.
9187         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
9188
9189 2011-05-08  Bruno Haible  <bruno@clisp.org>
9190
9191         isinf: Move AC_LIBOBJ invocations to module description.
9192         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
9193         * modules/isinf (configure.ac): ... to here.
9194
9195 2011-05-08  Bruno Haible  <bruno@clisp.org>
9196
9197         isfinite: Move AC_LIBOBJ invocations to module description.
9198         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
9199         * modules/isfinite (configure.ac): ... to here.
9200
9201 2011-05-08  Bruno Haible  <bruno@clisp.org>
9202
9203         isblank: Move AC_LIBOBJ invocations to module description.
9204         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
9205         here...
9206         * modules/isblank (configure.ac): ... to here.
9207
9208 2011-05-08  Bruno Haible  <bruno@clisp.org>
9209
9210         isapipe: Move AC_LIBOBJ invocations to module description.
9211         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
9212         gl_PREREQ_ISAPIPE invocations from here...
9213         * modules/isapipe (configure.ac): ... to here.
9214         (Depends-on): Update condition.
9215
9216 2011-05-08  Bruno Haible  <bruno@clisp.org>
9217
9218         ioctl: Move AC_LIBOBJ invocations to module description.
9219         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
9220         invocations from here...
9221         * modules/ioctl (configure.ac): ... to here.
9222         (Depends-on): Update condition.
9223
9224 2011-05-08  Bruno Haible  <bruno@clisp.org>
9225
9226         imaxdiv: Move AC_LIBOBJ invocations to module description.
9227         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
9228         invocations from here...
9229         * modules/imaxdiv (configure.ac): ... to here.
9230
9231 2011-05-08  Bruno Haible  <bruno@clisp.org>
9232
9233         imaxabs: Move AC_LIBOBJ invocations to module description.
9234         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
9235         invocations from here...
9236         * modules/imaxabs (configure.ac): ... to here.
9237
9238 2011-05-08  Bruno Haible  <bruno@clisp.org>
9239
9240         getaddrinfo: Move AC_LIBOBJ invocations to module description.
9241         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
9242         AC_LIBOBJ invocations from here...
9243         * modules/getaddrinfo (configure.ac): ... to here.
9244         (Depends-on): Add conditions.
9245
9246 2011-05-08  Bruno Haible  <bruno@clisp.org>
9247
9248         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
9249         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
9250         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
9251         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
9252         (gl_PREREQ_INET_PTON): ... from here.
9253         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
9254         gl_PREREQ_INET_PTON here.
9255         (Depends-on): Update condition.
9256
9257 2011-05-08  Bruno Haible  <bruno@clisp.org>
9258
9259         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
9260         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
9261         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
9262         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
9263         (gl_PREREQ_INET_NTOP): ... from here.
9264         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
9265         gl_PREREQ_INET_NTOP here.
9266         (Depends-on): Update condition.
9267
9268 2011-05-08  Bruno Haible  <bruno@clisp.org>
9269
9270         iconv_open: Move AC_LIBOBJ invocations to module description.
9271         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
9272         AC_LIBOBJ invocations from here...
9273         * modules/iconv_open (configure.ac): ... to here.
9274
9275 2011-05-08  Bruno Haible  <bruno@clisp.org>
9276
9277         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
9278         If module 'iconv_open' is among the main modules and module
9279         'iconv_open-utf' is among the tests dependencies, then
9280         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
9281         return the special iconv_t values. Therefore iconv() and iconv_close()
9282         must support these special iconv_t values, already in lib, not only in
9283         tests.
9284         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
9285         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
9286         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
9287         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
9288         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
9289         (Depends-on): Add the dependencies of iconv_open-utf.
9290         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
9291         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
9292         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
9293
9294 2011-05-08  Bruno Haible  <bruno@clisp.org>
9295
9296         group-member: Move AC_LIBOBJ invocations to module description.
9297         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
9298         gl_PREREQ_GROUP_MEMBER invocations from here...
9299         * modules/group-member (configure.ac): ... to here.
9300
9301 2011-05-08  Bruno Haible  <bruno@clisp.org>
9302
9303         grantpt: Move AC_LIBOBJ invocations to module description.
9304         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
9305         invocations from here...
9306         * modules/grantpt (configure.ac): ... to here.
9307
9308 2011-05-08  Bruno Haible  <bruno@clisp.org>
9309
9310         glob: Move AC_LIBOBJ invocations to module description.
9311         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
9312         from here...
9313         * modules/glob (configure.ac): ... to here.
9314
9315 2011-05-08  Bruno Haible  <bruno@clisp.org>
9316
9317         getusershell: Move AC_LIBOBJ invocations to module description.
9318         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
9319         Move AC_LIBOBJ invocation from here...
9320         * modules/getusershell (configure.ac): ... to here.
9321         (Depends-on): Update condition.
9322
9323 2011-05-08  Bruno Haible  <bruno@clisp.org>
9324
9325         gettimeofday: Move AC_LIBOBJ invocations to module description.
9326         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
9327         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
9328         gl_PREREQ_GETTIMEOFDAY invocations from here...
9329         * modules/gettimeofday (configure.ac): ... to here.
9330
9331 2011-05-08  Bruno Haible  <bruno@clisp.org>
9332
9333         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
9334         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
9335         just gl_FUNC_TZSET.
9336         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
9337         (gl_FUNC_TZSET_CLOBBER): Remove actions.
9338         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
9339         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
9340
9341 2011-05-08  Bruno Haible  <bruno@clisp.org>
9342
9343         getsubopt: Move AC_LIBOBJ invocations to module description.
9344         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
9345         gl_PREREQ_GETSUBOPT invocations from here...
9346         * modules/getsubopt (configure.ac): ... to here.
9347
9348 2011-05-08  Bruno Haible  <bruno@clisp.org>
9349
9350         getpass-gnu: Move AC_LIBOBJ invocations to module description.
9351         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
9352         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
9353         * modules/getpass-gnu (configure.ac): ... to here.
9354
9355 2011-05-08  Bruno Haible  <bruno@clisp.org>
9356
9357         getpass: Move AC_LIBOBJ invocations to module description.
9358         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
9359         gl_PREREQ_GETPASS invocations from here...
9360         * modules/getpass (configure.ac): ... to here.
9361
9362 2011-05-08  Bruno Haible  <bruno@clisp.org>
9363
9364         getpagesize: Move AC_LIBOBJ invocations to module description.
9365         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
9366         from here...
9367         * modules/getpagesize (configure.ac): ... to here.
9368
9369 2011-05-08  Bruno Haible  <bruno@clisp.org>
9370
9371         getopt: Move AC_LIBOBJ invocations to module description.
9372         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
9373         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
9374         invocations from here...
9375         * modules/getopt-gnu (configure.ac): ... to here.
9376         * modules/getopt-posix (configure.ac): ... and here.
9377         (Depends-on): Update condition.
9378
9379 2011-05-08  Bruno Haible  <bruno@clisp.org>
9380
9381         getopt, argp: Respect rules for use of AC_LIBOBJ.
9382         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
9383         (gl_REPLACE_GETOPT_ALWAYS): New macro.
9384         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
9385         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
9386
9387 2011-05-08  Bruno Haible  <bruno@clisp.org>
9388
9389         getlogin_r: Move AC_LIBOBJ invocations to module description.
9390         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
9391         gl_PREREQ_GETLOGIN_R invocations from here...
9392         * modules/getlogin_r (configure.ac): ... to here.
9393
9394 2011-05-08  Bruno Haible  <bruno@clisp.org>
9395
9396         getlogin: Move AC_LIBOBJ invocations to module description.
9397         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
9398         here...
9399         * modules/getlogin (configure.ac): ... to here.
9400
9401 2011-05-08  Bruno Haible  <bruno@clisp.org>
9402
9403         getloadavg: Move AC_LIBOBJ invocations to module description.
9404         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
9405         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
9406         * modules/getloadavg (configure.ac): ... to here.
9407
9408 2011-05-08  Bruno Haible  <bruno@clisp.org>
9409
9410         gethrxtime: Move AC_LIBOBJ invocations to module description.
9411         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
9412         LIB_GETHRXTIME from here...
9413         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
9414         invocations from here...
9415         * modules/gethrxtime (configure.ac): ... to here.
9416
9417 2011-05-08  Bruno Haible  <bruno@clisp.org>
9418
9419         gethostname: Move AC_LIBOBJ invocations to module description.
9420         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
9421         gl_PREREQ_GETHOSTNAME invocations from here...
9422         * modules/gethostname (configure.ac): ... to here.
9423
9424 2011-05-08  Bruno Haible  <bruno@clisp.org>
9425
9426         getgroups: Move AC_LIBOBJ invocations to module description.
9427         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
9428         here...
9429         * modules/getgroups (configure.ac): ... to here.
9430
9431 2011-05-08  Bruno Haible  <bruno@clisp.org>
9432
9433         getdtablesize: Move AC_LIBOBJ invocations to module description.
9434         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
9435         invocation from here...
9436         * modules/getdtablesize (configure.ac): ... to here.
9437
9438 2011-05-08  Bruno Haible  <bruno@clisp.org>
9439
9440         getdomainname: Move AC_LIBOBJ invocations to module description.
9441         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
9442         gl_PREREQ_GETDOMAINNAME invocations from here...
9443         * modules/getdomainname (configure.ac): ... to here.
9444
9445 2011-05-08  Bruno Haible  <bruno@clisp.org>
9446
9447         getline: Move AC_LIBOBJ invocations to module description.
9448         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
9449         invocations from here...
9450         * modules/getline (configure.ac): ... to here.
9451
9452 2011-05-08  Bruno Haible  <bruno@clisp.org>
9453
9454         getline: Simplify.
9455         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
9456         It's already handled through the module dependency.
9457
9458 2011-05-08  Bruno Haible  <bruno@clisp.org>
9459
9460         getdelim: Move AC_LIBOBJ invocations to module description.
9461         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
9462         and gl_PREREQ_GETDELIM invocations from here...
9463         * modules/getdelim (configure.ac): ... to here.
9464         (Depends-on): Fix condition.
9465
9466 2011-05-08  Bruno Haible  <bruno@clisp.org>
9467
9468         getcwd: Move AC_LIBOBJ invocations to module description.
9469         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
9470         invocations from here...
9471         * modules/getcwd (configure.ac): ... to here.
9472
9473 2011-05-08  Bruno Haible  <bruno@clisp.org>
9474
9475         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
9476         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
9477         here...
9478         * modules/getcwd-lgpl (configure.ac): ... to here.
9479
9480 2011-05-07  Bruno Haible  <bruno@clisp.org>
9481
9482         crypto/gc: Move AC_LIBOBJ invocations to module description.
9483         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
9484         * modules/crypto/gc (configure.ac): ... to here.
9485
9486 2011-05-07  Bruno Haible  <bruno@clisp.org>
9487
9488         fwriting: Move AC_LIBOBJ invocations to module description.
9489         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
9490         here...
9491         * modules/fwriting (configure.ac): ... to here.
9492
9493 2011-05-07  Bruno Haible  <bruno@clisp.org>
9494
9495         fwritable: Move AC_LIBOBJ invocations to module description.
9496         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
9497         here...
9498         * modules/fwritable (configure.ac): ... to here.
9499
9500 2011-05-07  Bruno Haible  <bruno@clisp.org>
9501
9502         futimens: Move AC_LIBOBJ invocations to module description.
9503         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
9504         here...
9505         * modules/futimens (configure.ac): ... to here.
9506
9507 2011-05-07  Bruno Haible  <bruno@clisp.org>
9508
9509         ftruncate: Move AC_LIBOBJ invocations to module description.
9510         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
9511         gl_PREREQ_FTRUNCATE invocations from here...
9512         * modules/ftruncate (configure.ac): ... to here.
9513
9514 2011-05-07  Bruno Haible  <bruno@clisp.org>
9515
9516         fsync: Move AC_LIBOBJ invocations to module description.
9517         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
9518         invocations from here...
9519         * modules/fsync (configure.ac): ... to here.
9520
9521 2011-05-07  Bruno Haible  <bruno@clisp.org>
9522
9523         fsusage: Move AC_LIBOBJ invocations to module description.
9524         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
9525         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
9526         * modules/fsusage (configure.ac): ... to here.
9527
9528 2011-05-07  Bruno Haible  <bruno@clisp.org>
9529
9530         freopen: Move AC_LIBOBJ invocations to module description.
9531         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
9532         invocations from here...
9533         * modules/freopen (configure.ac): ... to here.
9534
9535 2011-05-07  Bruno Haible  <bruno@clisp.org>
9536
9537         free: Move AC_LIBOBJ invocations to module description.
9538         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
9539         invocations from here...
9540         * modules/free (configure.ac): ... to here.
9541
9542 2011-05-07  Bruno Haible  <bruno@clisp.org>
9543
9544         freadable: Move AC_LIBOBJ invocations to module description.
9545         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
9546         here...
9547         * modules/freadable (configure.ac): ... to here.
9548
9549 2011-05-07  Bruno Haible  <bruno@clisp.org>
9550
9551         fpurge: Move AC_LIBOBJ invocations to module description.
9552         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
9553         invocations from here...
9554         * modules/fpurge (configure.ac): ... to here.
9555
9556 2011-05-07  Bruno Haible  <bruno@clisp.org>
9557
9558         fpending: Move AC_LIBOBJ invocations to module description.
9559         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
9560         gl_FUNC_FPENDING.
9561         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
9562         invocations from here...
9563         * modules/fpending (configure.ac): ... to here.
9564
9565 2011-05-07  Bruno Haible  <bruno@clisp.org>
9566
9567         fopen: Move AC_LIBOBJ invocations to module description.
9568         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
9569         invocations from here...
9570         * modules/fopen (configure.ac): ... to here.
9571
9572 2011-05-07  Bruno Haible  <bruno@clisp.org>
9573
9574         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
9575         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
9576         gl_FUNC_FNMATCH_POSIX.
9577         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
9578         invocations from here...
9579         * modules/fnmatch (configure.ac): ... to here.
9580         * modules/fnmatch-gnu (configure.ac): ... and here.
9581
9582 2011-05-07  Bruno Haible  <bruno@clisp.org>
9583
9584         flock: Move AC_LIBOBJ invocations to module description.
9585         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
9586         invocations from here...
9587         * modules/flock (configure.ac): ... to here.
9588
9589 2011-05-07  Bruno Haible  <bruno@clisp.org>
9590
9591         fileblocks: Move AC_LIBOBJ invocations to module description.
9592         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
9593         gl_PREREQ_FILEBLOCKS invocations from here...
9594         * modules/fileblocks (configure.ac): ... to here.
9595
9596 2011-05-06  Bruno Haible  <bruno@clisp.org>
9597
9598         fflush: Move AC_LIBOBJ invocations to module description.
9599         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
9600         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
9601         invocations from here...
9602         * modules/fflush (configure.ac): ... to here.
9603
9604 2011-05-06  Bruno Haible  <bruno@clisp.org>
9605
9606         fdopendir: Move AC_LIBOBJ invocations to module description.
9607         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
9608         here...
9609         * modules/fdopendir (configure.ac): ... to here.
9610         (Depends-on): Improve conditions.
9611
9612 2011-05-06  Bruno Haible  <bruno@clisp.org>
9613
9614         _Exit: Move AC_LIBOBJ invocations to module description.
9615         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
9616         invocations from here...
9617         * modules/_Exit (configure.ac): ... to here.
9618
9619 2011-05-21  Bruno Haible  <bruno@clisp.org>
9620
9621         euidaccess: Respect rules for use of AC_LIBOBJ.
9622         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
9623         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
9624         from here...
9625         * modules/euidaccess (configure.ac): ... to here.
9626
9627 2011-05-06  Bruno Haible  <bruno@clisp.org>
9628
9629         error: Move AC_LIBOBJ invocations to module description.
9630         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
9631         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
9632         invocations from here...
9633         * modules/error (configure.ac): ... to here.
9634
9635 2011-05-06  Bruno Haible  <bruno@clisp.org>
9636
9637         duplocale: Move AC_LIBOBJ invocations to module description.
9638         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
9639         gl_PREREQ_DUPLOCALE invocations from here...
9640         * modules/duplocale (configure.ac): ... to here.
9641
9642 2011-05-05  Bruno Haible  <bruno@clisp.org>
9643
9644         dirfd: Move AC_LIBOBJ invocations to module description.
9645         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
9646         gl_FUNC_DIRFD.
9647         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
9648         here...
9649         * modules/dirfd (configure.ac): ... to here.
9650         (Depends-on): Fix condition.
9651
9652 2011-05-05  Bruno Haible  <bruno@clisp.org>
9653
9654         chown: Respect rules for use of AC_LIBOBJ.
9655         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
9656         * modules/chown (configure.ac): ... to here.
9657
9658 2011-05-05  Bruno Haible  <bruno@clisp.org>
9659
9660         chdir-long: Move AC_LIBOBJ invocations to module description.
9661         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
9662         gl_PREREQ_CHDIR_LONG invocations from here...
9663         * modules/chdir-long (configure.ac): ... to here.
9664
9665 2011-05-05  Bruno Haible  <bruno@clisp.org>
9666
9667         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
9668         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
9669         from here...
9670         * modules/canonicalize-lgpl (configure.ac): ... to here.
9671
9672 2011-05-05  Bruno Haible  <bruno@clisp.org>
9673
9674         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
9675         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
9676         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
9677         REPLACE_CALLOC.
9678         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
9679         * modules/calloc-gnu (configure.ac): Likewise.
9680
9681 2011-05-05  Bruno Haible  <bruno@clisp.org>
9682
9683         btowc: Move AC_LIBOBJ invocations to module description.
9684         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
9685         invocations from here...
9686         * modules/btowc (configure.ac): ... to here.
9687
9688 2011-05-21  Bruno Haible  <bruno@clisp.org>
9689
9690         atexit: Move AC_LIBOBJ invocations to module description.
9691         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
9692         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
9693         here...
9694         * modules/atexit (configure.ac): ... to here.
9695
9696 2011-05-05  Bruno Haible  <bruno@clisp.org>
9697
9698         atoll: Move AC_LIBOBJ invocations to module description.
9699         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
9700         invocations from here...
9701         * modules/atoll (configure.ac): ... to here.
9702
9703 2011-05-05  Bruno Haible  <bruno@clisp.org>
9704
9705         argz: Move AC_LIBOBJ invocations to module description.
9706         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
9707         * modules/argz (configure.ac): ... to here.
9708
9709 2011-05-05  Bruno Haible  <bruno@clisp.org>
9710
9711         alphasort: Move AC_LIBOBJ invocations to module description.
9712         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
9713         gl_PREREQ_ALPHASORT invocations from here...
9714         * modules/alphasort (configure.ac): ... to here.
9715
9716 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
9717
9718         verify: new macro verify_expr; verify_true deprecated
9719         * NEWS: Mention this.
9720         * doc/verify.texi (Compile-time Assertions): Document this.
9721         * lib/verify.h (verify_true): Deprecate.
9722         (verify_expr): New macro.
9723         * tests/test-verify.c (function): Test verify_expr.
9724
9725 2011-06-14  Jim Meyering  <meyering@redhat.com>
9726
9727         init.sh: give more portable redirection-related advice in a comment
9728         * tests/init.sh (stderr_fileno_): Update the advice in comments.
9729         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
9730         for lots of discussion.  Stefano Lattarini suggested the solution
9731         of putting "9>&2" after the command.  Reported by Bruno Haible.
9732
9733 2011-06-13  Bruno Haible  <bruno@clisp.org>
9734
9735         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
9736         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
9737         'none'.
9738
9739 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
9740
9741         ftoastr: use strtof only if HAVE_STRTOF
9742         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
9743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
9744         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
9745         * modules/ftoastr (configure.ac): Check for strtof.
9746
9747 2011-06-13  Bruno Haible  <bruno@clisp.org>
9748
9749         gnulib-tool: Addendum to 2011-06-08 commit.
9750         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
9751         and --witness-c-macro have been given, augment AM_CPPFLAGS.
9752
9753 2011-06-13  Bruno Haible  <bruno@clisp.org>
9754
9755         fseeko: Provide a non-inline replacement of fseek().
9756         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
9757         * modules/fseeko (Depends-on): Add fseek.
9758         * modules/fseek (License): Change to LGPLv2+.
9759
9760 2011-06-13  Bruno Haible  <bruno@clisp.org>
9761
9762         ftello: Provide a non-inline replacement of ftell().
9763         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
9764         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
9765         not have ftello() (such as on mingw).
9766         * modules/ftello (Depends-on): Add ftell.
9767         * modules/ftell (License): Change to LGPLv2+.
9768
9769 2011-05-07  Bruno Haible  <bruno@clisp.org>
9770
9771         ftell: Move AC_LIBOBJ invocations to module description.
9772         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
9773         * modules/ftell (configure.ac): ... to here.
9774
9775 2011-05-07  Bruno Haible  <bruno@clisp.org>
9776
9777         ftello: Respect rules for use of AC_LIBOBJ.
9778         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
9779         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
9780         here...
9781         * modules/ftello (configure.ac): ... to here.
9782
9783 2011-05-07  Bruno Haible  <bruno@clisp.org>
9784
9785         fseeko: Simplify.
9786         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
9787         (gl_FUNC_FSEEKO): Inline it here.
9788
9789 2011-05-07  Bruno Haible  <bruno@clisp.org>
9790
9791         fseek: Move AC_LIBOBJ invocations to module description.
9792         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
9793         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
9794         * modules/fseek (configure.ac): ... to here.
9795
9796 2011-05-07  Bruno Haible  <bruno@clisp.org>
9797
9798         fseek: Respect rules for use of AC_LIBOBJ.
9799         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
9800         here...
9801         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
9802
9803 2011-05-07  Bruno Haible  <bruno@clisp.org>
9804
9805         fseeko: Respect rules for use of AC_LIBOBJ.
9806         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
9807         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
9808         here...
9809         * modules/fseeko (configure.ac): ... to here.
9810
9811 2011-06-13  Bruno Haible  <bruno@clisp.org>
9812
9813         gnulib-tool: Allow comments in the 'Depends-on' section.
9814         * doc/gnulib.texi (Module description): Mention comment syntax in the
9815         Depends-on section.
9816         * gnulib-tool (func_get_dependencies): Filter out comment lines.
9817
9818 2011-06-13  Bruno Haible  <bruno@clisp.org>
9819
9820         file-set.h: guard __attibute__ use, now that it's not always defined
9821         * lib/file-set.h (record_file): Use __attribute__ only with compiler
9822         versions that support it.  This fixes a coreutils build failure with
9823         the vendor cc on HP-UX 11.31.
9824
9825 2011-06-12  Bruno Haible  <bruno@clisp.org>
9826
9827         acl: Add support for HP-UX >= 11.11 JFS ACLs.
9828         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
9829         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
9830         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
9831         (acl, aclsort): New declarations.
9832         (aclv_nontrivial): New declaration.
9833         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
9834         (file_has_acl): Read also the second kind of HP-UX ACLs.
9835         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
9836         kind of HP-UX ACLs if the first kind fails.
9837         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
9838         second kind of HP-UX ACLs.
9839         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
9840         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
9841         agree.
9842         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9843         hpuxjfs.
9844         Handle hpuxjfs.
9845         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9846         hpuxjfs.
9847         Handle hpuxjfs.
9848         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9849         (func_test_same_acls): Use both lsacl and getacl.
9850         Handle hpuxjfs.
9851         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9852         (func_test_same_acls): Use both lsacl and getacl.
9853         Handle hpuxjfs.
9854
9855 2011-06-12  Bruno Haible  <bruno@clisp.org>
9856
9857         acl: Complete the 2010-08-10 fix.
9858         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
9859         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
9860         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
9861         explicitly.
9862         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
9863         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
9864
9865 2011-06-12  Bruno Haible  <bruno@clisp.org>
9866
9867         spawn-pipe tests: Comments.
9868         * tests/test-spawn-pipe-child.c (main): Update comment.
9869         Reported by James Youngman <jay@gnu.org>.
9870
9871 2011-06-11  James Youngman  <jay@gnu.org>
9872
9873         New module 'stat-size'.
9874         * modules/stat-size: New module.  Provides macros for accessing
9875         file size information in instances of struct stat.  Depends on the
9876         fileblocks module because it calls st_blocks.
9877         * lib/stat-size.h: New file, adapted from coreutils' system.h.
9878         * doc/gnulib.texi: Include stat-size.texi.
9879         * doc/stat-size.texi: Documentation for this module.
9880         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
9881         * m4/fileblocks.m4: Mention that stat-size depends on the call to
9882         AC_STRUCT_ST_BLOCKS.
9883
9884 2011-06-09  Bruno Haible  <bruno@clisp.org>
9885
9886         thread: Support pthreads-win32.
9887         * lib/glthread/thread.h (gl_thread_self): Define differently on
9888         pthreads-win32.
9889         (gl_null_thread): New declaration.
9890         (gl_thread_self_pointer): New macro.
9891         * lib/glthread/thread.c (gl_null_thread): New constant.
9892         * tests/test-lock.c: Use gl_thread_self_pointer instead of
9893         gl_thread_self.
9894         * tests/test-tls.c: Likewise.
9895         Suggested by Paul Eggert. Reported by Eric Blake.
9896
9897 2011-06-09  Bruno Haible  <bruno@clisp.org>
9898
9899         thread: Fix confusion between NULL and 0.
9900         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
9901         Reported by Paul Eggert.
9902
9903 2011-06-09  Bruno Haible  <bruno@clisp.org>
9904
9905         spawn-pipe tests: Avoid test failure on HP-UX 11.
9906         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
9907         is closed.
9908
9909 2011-06-09  Bruno Haible  <bruno@clisp.org>
9910
9911         acl tests: Fix compilation error on HP-UX 11.
9912         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
9913
9914 2011-06-09  Bruno Haible  <bruno@clisp.org>
9915
9916         rmdir: Avoid test failure on HP-UX 10.20.
9917         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
9918         EEXIST.
9919
9920 2011-06-08  Eric Blake  <eblake@redhat.com>
9921
9922         perror: fix test on mingw
9923         * modules/perror-tests (Depends-on): Add dup2.
9924
9925         strerror_r-posix: fix on MacOS
9926         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
9927         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
9928         logic bug.
9929         * lib/strerror_r.c (strerror_r): Fix the bug.
9930         * lib/strerror.c (strerror): Likewise.
9931         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
9932         problem.
9933         * doc/posix-functions/strerror.texi (strerror): Likewise.
9934         * doc/posix-functions/perror.texi (perror): Likewise.
9935         * tests/test-strerror.c (main): Enhance test.
9936         * tests/test-strerror_r.c (main): Likewise.
9937
9938 2011-06-08  Bruno Haible  <bruno@clisp.org>
9939
9940         gnulib-tool: Better isolation between different gnulib-tool invocations.
9941         * gnulib-tool: New option --witness-c-macro.
9942         (witness_c_macro): New variable.
9943         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
9944         AM_CPPFLAGS define it as a C macro.
9945         (func_emit_tests_Makefile_am): Likewise.
9946         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
9947         read it from there.
9948         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
9949         m4_define, not AC_DEFUN.
9950         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
9951         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
9952         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
9953         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
9954         s|...|...|, to substitute the values of the GNULIB_* module indicator
9955         variables.
9956         * modules/dirent (Makefile.am): Likewise.
9957         * modules/fcntl-h (Makefile.am): Likewise.
9958         * modules/iconv-h (Makefile.am): Likewise.
9959         * modules/langinfo (Makefile.am): Likewise.
9960         * modules/locale (Makefile.am): Likewise.
9961         * modules/math (Makefile.am): Likewise.
9962         * modules/netdb (Makefile.am): Likewise.
9963         * modules/poll-h (Makefile.am): Likewise.
9964         * modules/pty (Makefile.am): Likewise.
9965         * modules/search (Makefile.am): Likewise.
9966         * modules/signal (Makefile.am): Likewise.
9967         * modules/spawn (Makefile.am): Likewise.
9968         * modules/stdio (Makefile.am): Likewise.
9969         * modules/stdlib (Makefile.am): Likewise.
9970         * modules/string (Makefile.am): Likewise.
9971         * modules/sys_ioctl (Makefile.am): Likewise.
9972         * modules/sys_select (Makefile.am): Likewise.
9973         * modules/sys_socket (Makefile.am): Likewise.
9974         * modules/sys_stat (Makefile.am): Likewise.
9975         * modules/sys_times (Makefile.am): Likewise.
9976         * modules/sys_utsname (Makefile.am): Likewise.
9977         * modules/sys_wait (Makefile.am): Likewise.
9978         * modules/termios (Makefile.am): Likewise.
9979         * modules/time (Makefile.am): Likewise.
9980         * modules/unistd (Makefile.am): Likewise.
9981         * modules/wchar (Makefile.am): Likewise.
9982
9983 2011-06-08  Eric Blake  <eblake@redhat.com>
9984
9985         strerror: simplify replacement
9986         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
9987         * modules/strerror (configure.ac): No prereqs needed here...
9988         * modules/strerror-override (configure.ac): ...but this needs it.
9989         (Files): Add file for needed prereq macro.
9990
9991 2011-06-08  Bruno Haible  <bruno@clisp.org>
9992
9993         strerror_r-posix: Tweaks.
9994         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
9995         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
9996         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
9997         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
9998         (gl_FUNC_STRERROR_R): ... to here.
9999         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
10000
10001 2011-06-07  Eric Blake  <eblake@redhat.com>
10002
10003         perror: document fixed bugs
10004         * doc/posix-functions/perror.texi (perror): Document recent
10005         patches.
10006
10007 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
10008
10009         stat-time: get_stat_birthtime failure is better-defined
10010         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
10011         return a timestamp whose tv_sec and tv_nsec values are both -1.
10012         Previously, the spec said only that the tv_nsec value was negative.
10013         This upward-compatible change simplifies GNU tar a bit.
10014
10015 2011-06-07  Eric Blake  <eblake@redhat.com>
10016
10017         strerror_r-posix: work around cygwin 1.7.9
10018         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
10019         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
10020         bug without replacing strerror_r.
10021         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
10022         strerror_r is buggy, but without requiring strerror_r compilation.
10023         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
10024
10025         test-perror: relax test to ignore cygwin bug
10026         * tests/test-perror2.c (main): Relax test on requiring detection
10027         of stream errors, and use unbuffered stream.
10028         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
10029         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
10030         * doc/posix-functions/fputc.texi (fputc): Likewise.
10031         * doc/posix-functions/fputs.texi (fputs): Likewise.
10032         * doc/posix-functions/fputws.texi (fputws): Likewise.
10033         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
10034         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
10035         * doc/posix-functions/getopt.texi (getopt): Likewise.
10036         * doc/posix-functions/perror.texi (perror): Likewise.
10037         * doc/posix-functions/printf.texi (printf): Likewise.
10038         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
10039         * doc/posix-functions/psignal.texi (psignal): Likewise.
10040         * doc/posix-functions/putc.texi (putc): Likewise.
10041         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
10042         Likewise.
10043         * doc/posix-functions/putchar.texi (putchar): Likewise.
10044         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
10045         Likewise.
10046         * doc/posix-functions/puts.texi (puts): Likewise.
10047         * doc/posix-functions/putwc.texi (putwc): Likewise.
10048         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
10049         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
10050         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
10051         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
10052         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
10053         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
10054         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
10055         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
10056
10057 2011-05-22  Bruno Haible  <bruno@clisp.org>
10058
10059         strerror: Move AC_LIBOBJ invocations to module description.
10060         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
10061         gl_PREREQ_STRERROR invocations from here...
10062         * modules/strerror (configure.ac): ... to here.
10063
10064 2011-05-21  Bruno Haible  <bruno@clisp.org>
10065
10066         perror: Use common idiom.
10067         * modules/perror (configure.ac): Reorder statements.
10068
10069 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10070
10071         tests: fix usage message in 'mktempd_'
10072         * tests/init.sh (mktempd_): In the usage message, use literal
10073         'mktempd_', not '$ME' (which is even undefined), as the name of
10074         the subroutine.
10075
10076 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10077
10078         tests init: new function 'fatal_', for hard errors
10079         Before this patch, the only way offered by tests/init.sh to
10080         properly signal a hard error was the `framework_failure_'
10081         function.  But the error message issued by that function,
10082         as its name would suggest, refers to a set-up failure in the
10083         testsuite, while hard errors can obviously also be due to
10084         other reasons.  The best way to fix this inconsistency is to
10085         introduce a new function with a more general error message.
10086         * tests/init.sh (fatal_): New function.
10087
10088 2011-06-06  Eric Blake  <eblake@redhat.com>
10089
10090         canonicalize-lgpl: use common idiom
10091         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
10092         over newer POSIX -Rf.
10093         Reported by Bruno Haible.
10094
10095         canonicalize-lgpl: work around AIX realpath bug
10096         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
10097         * doc/posix-functions/realpath.texi (realpath): Document it.
10098         Reported by Bruno Haible.
10099
10100         strerror: work around FreeBSD bug
10101         * lib/strerror.c (strerror): Special case 0.
10102         Reported by Bruno Haible.
10103
10104         strerror-override: avoid bloating errno module
10105         * modules/errno (Files, configure.ac): Move replacement strings...
10106         * modules/strerror-override: ...to new module.
10107         * modules/strerror (Depends-on): Add strerror-override.
10108         * modules/strerror_r-posix (Depends-on): Likewise.
10109         * MODULES.html.sh: Document new module.
10110         Reported by Bruno Haible.
10111
10112 2011-06-06  Bruno Haible  <bruno@clisp.org>
10113
10114         spawn-pipe tests: Rename program.
10115         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
10116         * tests/test-spawn-pipe-child.c: Update comment.
10117         * tests/test-spawn-pipe.sh: Update.
10118         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
10119
10120         spawn-pipe tests: Link the child program only against libc.
10121         * tests/test-spawn-pipe-child.c: New file, extracted from
10122         tests/test-spawn-pipe.c.
10123         (main): Expect only one argument.
10124         (is_open): New function, copied from tests/test-pipe.c.
10125         * tests/test-spawn-pipe.c: Don't include <errno.h>.
10126         (child_main): Remove function.
10127         (test_pipe): Pass only one argument to the child program.
10128         (main): Remove child process code. Expect the child program's name as
10129         first argument.
10130         * tests/test-spawn-pipe.sh: Pass the child program's name as first
10131         argument.
10132         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
10133         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
10134         test-spawn-pipe-child against no libraries.
10135
10136 2011-06-06  Bruno Haible  <bruno@clisp.org>
10137
10138         careadlinkat: Avoid mismatch between ssize_t and int.
10139         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
10140         * lib/careadlinkat.c (careadlinkatcwd): Define always.
10141
10142 2011-06-06  Jim Meyering  <meyering@redhat.com>
10143
10144         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
10145         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
10146         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
10147
10148 2011-06-05  Bruno Haible  <bruno@clisp.org>
10149
10150         ansi-c++-opt: Interoperability with libtool.
10151         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
10152         set the variable to "no", not to ":".
10153         * NEWS: Mention the change.
10154
10155 2011-06-05  Bruno Haible  <bruno@clisp.org>
10156
10157         acl: Fix test failure on AIX 7.
10158         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
10159         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
10160
10161 2011-06-05  Bruno Haible  <bruno@clisp.org>
10162
10163         pipe-filter-ii: Fix test failure on AIX and IRIX.
10164         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
10165         with EAGAIN, retry with a smaller buffer size.
10166
10167 2011-06-05  Bruno Haible  <bruno@clisp.org>
10168
10169         localename: Fix link dependencies.
10170         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
10171         * modules/localename-tests (Makefile.am): Link test-localename with
10172         $(LIBTHREAD).
10173
10174 2011-06-05  Bruno Haible  <bruno@clisp.org>
10175
10176         error: Avoid gcc warning.
10177         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
10178
10179 2011-06-05  Bruno Haible  <bruno@clisp.org>
10180
10181         unsetenv: Avoid gcc warning.
10182         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
10183
10184 2011-06-05  Bruno Haible  <bruno@clisp.org>
10185
10186         setenv: Avoid gcc warning.
10187         * lib/setenv.c (setenv): Provide declaration if system lacks it.
10188
10189 2011-06-05  Bruno Haible  <bruno@clisp.org>
10190
10191         sys_select: Ensure memset is declared also on AIX 7.
10192         * lib/sys_select.in.h: Include <string.h> also on AIX.
10193         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
10194         self-contained also on AIX 7.1.
10195
10196 2011-06-04  Jim Meyering  <meyering@redhat.com>
10197
10198         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
10199         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
10200         function name, "error".
10201         (_gl_translatable_diag_func_re): New configurable variable.
10202
10203 2011-06-04  Bruno Haible  <bruno@clisp.org>
10204
10205         getopt: Avoid gcc warning.
10206         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
10207
10208 2011-06-04  Bruno Haible  <bruno@clisp.org>
10209
10210         strerror_r: Fix comments.
10211         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
10212         commit.
10213
10214 2011-06-04  Bruno Haible  <bruno@clisp.org>
10215
10216         perror: Fix compilation error.
10217         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
10218         Undefine fprintf, not sprintf.
10219         * modules/perror (Depends-on): Remove intprops, verify.
10220
10221 2011-06-04  Bruno Haible  <bruno@clisp.org>
10222
10223         setlocale: Enable replacement on Cygwin 1.5.
10224         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
10225         Cygwin 1.5.x.
10226         * doc/posix-functions/setlocale.texi: Mention that the problem with the
10227         LC_CTYPE category also exists on Cygwin 1.5.x.
10228
10229 2011-06-04  Bruno Haible  <bruno@clisp.org>
10230
10231         strerror-override: Don't disable symbol renamings.
10232         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
10233         * lib/strerror-override.c: Include config.h.
10234         (strerror_override): Don't undefine.
10235
10236 2011-06-03  Bruno Haible  <bruno@clisp.org>
10237
10238         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
10239         * lib/localename.h: Update copyright header.
10240         * lib/localename.c: Likewise.
10241         * lib/relocatable.h: Likewise.
10242         * lib/relocatable.c: Likewise.
10243
10244 2011-06-02  Bruno Haible  <bruno@clisp.org>
10245
10246         doc: Fix a module name.
10247         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
10248
10249 2011-06-02  Bruno Haible  <bruno@clisp.org>
10250
10251         pipe2: Remove dependency on 'nonblocking' module.
10252         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
10253         O_NONBLOCK is defined by gnulib.
10254         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
10255         is zero.
10256         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
10257         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
10258         defined by gnulib.
10259         (get_nonblocking_flag): New function.
10260         (main): Test O_NONBLOCK flag only if it is nonzero.
10261         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
10262
10263 2011-06-03  Jim Meyering  <meyering@redhat.com>
10264
10265         maint: three new prohibit-header-without-use rules
10266         Prohibit use of cloexec.h, posixver.h, same.h without use.
10267         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
10268         (sc_prohibit_posixver_without_use): Likewise.
10269         (sc_prohibit_same_without_use): Likewise.
10270
10271 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10272
10273         allocator: 'die' routine is now given requested size
10274         * lib/allocator.h (struct allocator.die): New size arg.
10275         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
10276         If the actual problem is an ssize_t limitation, not a size_t or
10277         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
10278
10279 2011-06-01  Eric Blake  <eblake@redhat.com>
10280
10281         strerror: drop strerror_r dependency
10282         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
10283         * lib/strerror-override.c (strerror_override): ...to new file.
10284         * lib/strerror-override.h: Add prototype.
10285         * lib/strerror-impl.h: Delete.
10286         * lib/strerror.c (strerror): New implementation.
10287         * modules/errno (Files): Add new files.
10288         (configure.ac): Compile new file as appropriate.
10289         * modules/strerror (Files): Drop unused file.
10290         (Depends-on): Drop strerror_r-posix.
10291         * MODULES.html.sh: Document strerror_r-posix.
10292         Requested by Sam Steingold.
10293
10294         perror: call strerror_r directly
10295         * modules/perror (Files): Drop strerror-impl.h.
10296         * lib/perror.c (perror): Use our own stack buffer, rather than
10297         calling a wrapper that uses static storage.
10298         * doc/posix-functions/perror.texi (perror): Document a limitation
10299         of our replacement.
10300
10301         strerror_r: fix includes for FreeBSD
10302         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
10303         since we use abort on some platforms.
10304         Reported by Matthias Bolte.
10305
10306 2011-05-31  Bruno Haible  <bruno@clisp.org>
10307
10308         Fix link errors in tests: openat-die uses gettext-h.
10309         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
10310         against $(LIBINTL).
10311         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
10312         against $(LIBINTL).
10313         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
10314         $(LIBINTL).
10315         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
10316         against $(LIBINTL).
10317         * modules/linkat-tests (Makefile.am): Link test-linkat against
10318         $(LIBINTL).
10319         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
10320         $(LIBINTL).
10321         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
10322         against $(LIBINTL).
10323         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
10324         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
10325         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
10326         $(LIBINTL).
10327         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
10328         $(LIBINTL).
10329         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
10330         $(LIBINTL).
10331         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10332
10333 2011-05-31  Bruno Haible  <bruno@clisp.org>
10334
10335         Fix link errors in tests: wait-process uses gettext-h.
10336         * modules/nonblocking-pipe-tests (Makefile.am): Set
10337         test_nonblocking_pipe_main_LDADD.
10338         * modules/nonblocking-socket-tests (Makefile.am): Link
10339         test-nonblocking-socket-main against $(LIBINTL).
10340         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10341
10342 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
10343
10344         assert-h: work around 'verify' incompatibility
10345         * lib/verify.h: Use @...@ directives, not ifdef.
10346         * modules/assert-h (assert.h): Implement the directives.
10347         (assert.h): Substitute the symbol-prefix more consistently.
10348
10349 2011-05-29  Jim Meyering  <meyering@redhat.com>
10350
10351         trim: remove three superfluous assignments
10352         * lib/trim.c (trim2): Remove three superfluous assignments
10353         and correct brace positioning.
10354
10355 2011-05-29  Bruno Haible  <bruno@clisp.org>
10356
10357         wctype-h: Avoid namespace pollution on Solaris 2.6.
10358         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
10359         identifiers.
10360         * doc/posix-headers/wctype.texi: Mention the problem.
10361         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10362
10363 2011-05-28  Jim Meyering  <meyering@redhat.com>
10364
10365         parse-datetime.y: accommodate -Wstrict-overflow
10366         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
10367         placate -Wstrict-overflow.
10368
10369         trim: avoid a warning from -O2 -Wstrict-overflow
10370         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
10371
10372 2011-05-29  Bruno Haible  <bruno@clisp.org>
10373
10374         gnulib-tool: Fix bug in yesterday's commit.
10375         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
10376         twice.
10377
10378 2011-05-29  Bruno Haible  <bruno@clisp.org>
10379
10380         Allow multiple gnulib generated include files to be combined.
10381         * gnulib-tool (func_compute_include_guard_prefix): New function.
10382         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
10383         ${gl_include_guard_prefix} references.
10384         (func_import, func_create_testdir): Invoke
10385         func_compute_include_guard_prefix.
10386         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
10387         * lib/ctype.in.h: Likewise.
10388         * lib/dirent.in.h: Likewise.
10389         * lib/errno.in.h: Likewise.
10390         * lib/fcntl.in.h: Likewise.
10391         * lib/float.in.h: Likewise.
10392         * lib/getopt.in.h: Likewise.
10393         * lib/iconv.in.h: Likewise.
10394         * lib/langinfo.in.h: Likewise.
10395         * lib/locale.in.h: Likewise.
10396         * lib/math.in.h: Likewise.
10397         * lib/netdb.in.h: Likewise.
10398         * lib/netinet_in.in.h: Likewise.
10399         * lib/poll.in.h: Likewise.
10400         * lib/pthread.in.h: Likewise.
10401         * lib/pty.in.h: Likewise.
10402         * lib/sched.in.h: Likewise.
10403         * lib/se-selinux.in.h: Likewise.
10404         * lib/search.in.h: Likewise.
10405         * lib/signal.in.h: Likewise.
10406         * lib/spawn.in.h: Likewise.
10407         * lib/stdarg.in.h: Likewise.
10408         * lib/stddef.in.h: Likewise.
10409         * lib/stdint.in.h: Likewise.
10410         * lib/stdio.in.h: Likewise.
10411         * lib/stdlib.in.h: Likewise.
10412         * lib/string.in.h: Likewise.
10413         * lib/strings.in.h: Likewise.
10414         * lib/sys_file.in.h: Likewise.
10415         * lib/sys_ioctl.in.h: Likewise.
10416         * lib/sys_select.in.h: Likewise.
10417         * lib/sys_socket.in.h: Likewise.
10418         * lib/sys_stat.in.h: Likewise.
10419         * lib/sys_time.in.h: Likewise.
10420         * lib/sys_times.in.h: Likewise.
10421         * lib/sys_uio.in.h: Likewise.
10422         * lib/sys_utsname.in.h: Likewise.
10423         * lib/sys_wait.in.h: Likewise.
10424         * lib/sysexits.in.h: Likewise.
10425         * lib/termios.in.h: Likewise.
10426         * lib/time.in.h: Likewise.
10427         * lib/unistd.in.h: Likewise.
10428         * lib/wchar.in.h: Likewise.
10429         * lib/wctype.in.h: Likewise.
10430         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
10431         * modules/ctype (Makefile.am): Likewise.
10432         * modules/dirent (Makefile.am): Likewise.
10433         * modules/errno (Makefile.am): Likewise.
10434         * modules/fcntl-h (Makefile.am): Likewise.
10435         * modules/float (Makefile.am): Likewise.
10436         * modules/getopt-posix (Makefile.am): Likewise.
10437         * modules/iconv-h (Makefile.am): Likewise.
10438         * modules/langinfo (Makefile.am): Likewise.
10439         * modules/locale (Makefile.am): Likewise.
10440         * modules/math (Makefile.am): Likewise.
10441         * modules/netdb (Makefile.am): Likewise.
10442         * modules/netinet_in (Makefile.am): Likewise.
10443         * modules/poll-h (Makefile.am): Likewise.
10444         * modules/pthread (Makefile.am): Likewise.
10445         * modules/pty (Makefile.am): Likewise.
10446         * modules/sched (Makefile.am): Likewise.
10447         * modules/search (Makefile.am): Likewise.
10448         * modules/selinux-h (Makefile.am): Likewise.
10449         * modules/signal (Makefile.am): Likewise.
10450         * modules/spawn (Makefile.am): Likewise.
10451         * modules/stdarg (Makefile.am): Likewise.
10452         * modules/stddef (Makefile.am): Likewise.
10453         * modules/stdint (Makefile.am): Likewise.
10454         * modules/stdio (Makefile.am): Likewise.
10455         * modules/stdlib (Makefile.am): Likewise.
10456         * modules/string (Makefile.am): Likewise.
10457         * modules/strings (Makefile.am): Likewise.
10458         * modules/sys_file (Makefile.am): Likewise.
10459         * modules/sys_ioctl (Makefile.am): Likewise.
10460         * modules/sys_select (Makefile.am): Likewise.
10461         * modules/sys_socket (Makefile.am): Likewise.
10462         * modules/sys_stat (Makefile.am): Likewise.
10463         * modules/sys_time (Makefile.am): Likewise.
10464         * modules/sys_times (Makefile.am): Likewise.
10465         * modules/sys_uio (Makefile.am): Likewise.
10466         * modules/sys_utsname (Makefile.am): Likewise.
10467         * modules/sys_wait (Makefile.am): Likewise.
10468         * modules/sysexits (Makefile.am): Likewise.
10469         * modules/termios (Makefile.am): Likewise.
10470         * modules/time (Makefile.am): Likewise.
10471         * modules/unistd (Makefile.am): Likewise.
10472         * modules/wchar (Makefile.am): Likewise.
10473         * modules/wctype-h (Makefile.am): Likewise.
10474         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
10475
10476 2011-05-29  Bruno Haible  <bruno@clisp.org>
10477
10478         assert-h: Allow multiple gnulib generated replacements to coexist.
10479         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
10480
10481 2011-05-29  Bruno Haible  <bruno@clisp.org>
10482
10483         argp: Allow coexistence with strerror_r-posix module.
10484         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
10485         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
10486         by gnulib's <string.h> replacement), assume it has the POSIX signature,
10487         not the glibc signature.
10488
10489 2011-05-28  Bruno Haible  <bruno@clisp.org>
10490
10491         gnulib-tool: Alternative structure of testdirs, similar to --import.
10492         * gnulib-tool: New option --single-configure.
10493         (func_usage): Document it.
10494         (single_configure): New variable.
10495         (func_modules_transitive_closure_separately,
10496         func_modules_transitive_closure_separately,
10497         func_determine_use_libtests, func_modules_add_dummy_separately,
10498         func_modules_to_filelist_separately): New functions, extracted from
10499         func_import.
10500         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
10501         (func_import): Use the new functions.
10502         (func_create_testdir): Set final_modules. Handle $single_configure =
10503         true case.
10504
10505 2011-05-28  Bruno Haible  <bruno@clisp.org>
10506
10507         getloadavg: Remove an unreliable safety check.
10508         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
10509         getloadavg.c is in place.
10510         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
10511         Reported by Sam Steingold <sds@gnu.org>.
10512
10513 2011-05-28  Bruno Haible  <bruno@clisp.org>
10514
10515         doc: Cleanup yet another file produced by texinfo.tex.
10516         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
10517
10518 2011-05-28  Bruno Haible  <bruno@clisp.org>
10519
10520         Finish the conditional dependencies mechanism.
10521         * gnulib-tool: New option --no-conditional-dependencies.
10522         (func_usage): Document it. Don't mark --conditional-dependencies as
10523         experimental.
10524         (cond_dependencies): The possible values can now be true, false, empty.
10525         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
10526         (func_import): Store setting in gnulib-cache.m4 and read it from there.
10527         * doc/gnulib-tool.texi (Conditional dependencies): New section.
10528
10529 2011-05-28  Bruno Haible  <bruno@clisp.org>
10530
10531         doc: Use a recent texinfo.tex.
10532         * doc/Makefile (tex_opts): New variable.
10533         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
10534
10535 2011-05-28  Jim Meyering  <meyering@redhat.com>
10536
10537         intprops.h: adjust comment to match code change
10538         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
10539         only once, it *may* have side effects.  Also fix an unrelated typo.
10540         (_GL_INT_SIGNED): Likewise.
10541
10542 2011-05-26  Simon Josefsson  <simon@josefsson.org>
10543
10544         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
10545
10546 2011-05-26  Bruno Haible  <bruno@clisp.org>
10547
10548         mbsrchr: Avoid collision with system function on Interix.
10549         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
10550         Reported by Markus Duft <mduft@gentoo.org>.
10551
10552 2011-05-15  James Youngman  <jay@gnu.org>
10553
10554         getopt: for ambiguous options, enumerate the possibilities.
10555         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
10556         the ambiguous options when an ambiguous prefix is given. This was
10557         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
10558         glibc change was
10559         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
10560
10561 2011-05-25  Eric Blake  <eblake@redhat.com>
10562
10563         getcwd: work around mingw bug
10564         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
10565         * doc/posix-functions/getcwd.texi (getcwd): Document it.
10566         Reported by Matthias Bolte.
10567
10568 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
10569
10570         test-intprops: disable -Wtype-limits diagnostics
10571         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
10572         diagnostics.  Otherwise, the integer overflow macros generate many
10573         diagnostics.  Reported by Jim Meyering in
10574         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
10575
10576         intprops: shorten, to pacify gcc -Woverlength-strings
10577         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
10578         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
10579         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
10580         likely to run afoul of C compiler limits for string constant lengths.
10581         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
10582
10583 2011-05-24  Eric Blake  <eblake@redhat.com>
10584
10585         docs: document recently fixed glibc printf bug
10586         * doc/posix-functions/fprintf.texi (fprintf): Document it.
10587         * doc/posix-functions/printf.texi (printf): Likewise.
10588         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
10589         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
10590
10591         closein-tests: convert to init.sh
10592         * modules/closein-tests (Files): Add init.sh
10593         * tests/test-closein.sh Use it.
10594
10595         yesno-tests: convert to init.sh
10596         * modules/yesno-tests (Files): Add init.sh.
10597         * tests/test-yesno.sh: Use it.
10598
10599         atexit-tests: ensure reliable exit status
10600         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
10601         Reported by Bruno Haible.
10602
10603 2011-05-24  Bruno Haible  <bruno@clisp.org>
10604
10605         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
10606         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
10607         gl_PREREQ_STRERROR_R invocations from here...
10608         * modules/strerror_r-posix (configure.ac): ... to here.
10609
10610 2011-05-24  Eric Blake  <eblake@redhat.com>
10611
10612         strerror_r: fix missing header
10613         * lib/strerror_r.c: Avoid compiler warning about snprintf.
10614
10615         strerror_r: fix AIX test failures
10616         * lib/strerror_r.c (strerror_r): Convert silent truncation to
10617         ERANGE failure.
10618
10619         strerror_r: fix Solaris test failures
10620         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
10621         failures.
10622         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
10623
10624         strerror_r: enforce POSIX recommendations
10625         * lib/strerror_r.c (safe_copy): New helper method.
10626         (strerror_r): Guarantee a non-empty string.
10627         * tests/test-strerror_r.c (main): Enhance tests to incorporate
10628         recent POSIX rulings and to match our strerror guarantees.
10629         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
10630
10631 2011-05-24  Jim Meyering  <meyering@redhat.com>
10632
10633         test-perror2.c: avoid warning about unused variable
10634         * tests/test-perror2.c (main): Remove declaration of unused "fp".
10635
10636 2011-05-24  Eric Blake  <eblake@redhat.com>
10637
10638         perror: avoid spurious test failure on HP-UX
10639         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
10640
10641         tests: fix logic bug in init.sh
10642         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
10643         shell.
10644
10645 2011-05-24  Jim Meyering  <meyering@redhat.com>
10646
10647         utimensat: do not reference an out-of-scope buffer
10648         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
10649         declared in an inner scope, yet "times" would be dereferenced outside
10650         the scope in which "ts" was valid.
10651         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
10652         of ts[2] "out/up", so that the use of aliased "times" (via
10653         "times = ts;") does not end up referencing an out-of-scope "ts"
10654
10655         opendir-safer.c: don't clobber errno; don't close negative FD
10656         * lib/opendir-safer.c (opendir_safer):
10657         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
10658         file descriptor, and more importantly, don't clobber the
10659         offending errno value with EINVAL.  Before, upon failure
10660         of dup_safer, we would pass the negative file descriptor to
10661         fdopendir, which would clobber errno.
10662
10663 2011-05-23  Bruno Haible  <bruno@clisp.org>
10664
10665         idcache: Fix module description.
10666         * modules/idcache (Include): Set to "idcache.h".
10667
10668 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
10669
10670         gnulib-tool: fix portability problem with MacOS sed
10671         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
10672         before the "}".  Problem reported by Leo in
10673         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
10674         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
10675         sed_extract_condition1, sed_extract_condition2.
10676
10677 2011-05-23  Bruno Haible  <bruno@clisp.org>
10678
10679         hash: Simplify autoconf macro.
10680         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
10681
10682 2011-05-23  Bruno Haible  <bruno@clisp.org>
10683
10684         getugroups: Fix module description.
10685         * modules/getugroups (Include): Set to "getugroups.h".
10686
10687 2011-05-23  Bruno Haible  <bruno@clisp.org>
10688
10689         linkat: Simplify autoconf macro.
10690         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
10691
10692 2011-05-23  Bruno Haible  <bruno@clisp.org>
10693             Eric Blake  <eblake@redhat.com>
10694
10695         linkat, renameat: Update dependencies.
10696         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
10697         * modules/linkat (Depends-on): Likewise. Remove also readlink,
10698         symlinkat.
10699
10700 2011-05-23  Jim Meyering  <meyering@redhat.com>
10701
10702         maint.mk: more tight_scope improvements
10703         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
10704         (_gl_TS_headers): Define only in if-0'd block.
10705         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
10706         sometimes we must *not* use it.  Adjust uses accordingly.
10707         (sc_tight_scope): Use much simpler grep-based test to determine
10708         whether we skip this rule.
10709
10710         maint.mk: generalize/improve the tight-scope rule
10711         * top/maint.mk: Emit a warning when the test is skipped.
10712         (_gl_TS_dir): Add $(srcdir)/ prefix.
10713         (_gl_TS_function_match): Simplify, rather than trying
10714         to enumerate common types.  Otherwise, it would fail to match an
10715         "extern unsigned char const *" declaration in idutils.
10716         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
10717         a way to support use of that type of macro.
10718         (_gl_TS_var_match): Simplify regexp.
10719         (_gl_TS_obj_files): New configurable variable.
10720         (_gl_TS_headers): Likewise.
10721
10722 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
10723
10724         verify: fix bug when gnulib <assert.h> is also included
10725         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
10726         is defined, not if _GL_STATIC_ASSERT_H is not defined.
10727         Perhaps there's a better way, but this fixes the immediate problem.
10728         Problem reported by Bruno Haible in
10729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
10730
10731 2011-05-22  Bruno Haible  <bruno@clisp.org>
10732
10733         xgetcwd: Simplify autoconf macro.
10734         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
10735
10736 2011-05-22  Bruno Haible  <bruno@clisp.org>
10737
10738         New module 'mktime-internal'.
10739         * modules/mktime-internal: New file.
10740         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
10741         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
10742         mktime_internal as a C macro if libc has __mktime_internal.
10743         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
10744         conditions.
10745         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
10746
10747 2011-05-22  Bruno Haible  <bruno@clisp.org>
10748
10749         timegm: Correct mktime replacement statements.
10750         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
10751         defining mktime as a C macro. This completes a 2009-07-28 commit.
10752
10753 2011-05-22  Bruno Haible  <bruno@clisp.org>
10754
10755         timegm: Simplify autoconf macro.
10756         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
10757
10758 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
10759
10760         clock-time: change to LGPLv2+.
10761         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
10762         BSD-like but we have no mark for that; this is good enough for now.
10763
10764 2011-05-21  Bruno Haible  <bruno@clisp.org>
10765
10766         strerror_r: Fix comments.
10767         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
10768
10769 2011-05-21  Bruno Haible  <bruno@clisp.org>
10770
10771         relocatable-prog-wrapper: Fix possible link error.
10772         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
10773         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
10774         (gl_FUNC_SETENV): ... to here.
10775         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
10776         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
10777
10778 2011-05-21  Bruno Haible  <bruno@clisp.org>
10779
10780         relocatable-prog-wrapper: Assume strerror() exists.
10781         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
10782         m4/strerror.m4.
10783         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
10784         * lib/relocwrapper.c: Remove mention of strerror module.
10785         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
10786         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
10787         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
10788         C macro.
10789
10790 2011-05-21  Bruno Haible  <bruno@clisp.org>
10791
10792         select: Simplify replacement idiom.
10793         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
10794         Win32 platforms.
10795         * lib/sys_select.in.h (select): Simplify accordingly.
10796         * modules/select (Depends-on): Likewise.
10797
10798 2011-05-21  Bruno Haible  <bruno@clisp.org>
10799
10800         mkdir-p: Simplify autoconf macro.
10801         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
10802         gl_FUNC_LCHOWN.
10803
10804 2011-05-21  Eric Blake  <eblake@redhat.com>
10805
10806         strerror_r: avoid clobbering strerror on cygwin
10807         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
10808         fall back instead to sys_errlist.
10809         * modules/strerror (configure.ac): Add witness.
10810         * tests/test-strerror_r.c (main): Enhance test.
10811         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10812         * tests/test-perror2.c (main): Free memory before exit.
10813
10814 2011-05-21  Bruno Haible  <bruno@clisp.org>
10815
10816         mkdtemp: Use gnulib naming conventions.
10817         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
10818         * modules/mkdtemp (configure.ac): Update.
10819
10820 2011-05-20  Eric Blake  <eblake@redhat.com>
10821
10822         strerror_r: avoid corrupting errno on Solaris
10823         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
10824         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10825
10826         strerror_r: avoid compiler warning
10827         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
10828
10829         strerror_r: simplify AIX code
10830         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
10831
10832         test-perror: avoid spurious failure on FreeBSD
10833         * modules/perror-tests (Depends-on): Add strerror, now that
10834         strerror_r no longer pulls it in.
10835
10836 2011-05-20  Bruno Haible  <bruno@clisp.org>
10837
10838         strerror_r-posix: Remove unused dependencies.
10839         * modules/strerror_r-posix (Depends-on): Remove strerror.
10840         Reported by Eric Blake.
10841
10842 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10843
10844         intprops: remove assumption about A|B representation
10845         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
10846         is a valid integer if both A and B are.  Although this is true for
10847         all known practical hosts, the C standard doesn't guarantee it,
10848         and the code need not assume it.  Also, this change may work around
10849         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
10850         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
10851
10852 2011-05-20  Eric Blake  <eblake@redhat.com>
10853
10854         perror: work around FreeBSD bug
10855         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
10856         is broken.  Move AC_LIBOBJ...
10857         * modules/perror (configure.ac): Here.
10858         * doc/posix-functions/perror.texi (perror): Document this.
10859         * tests/test-perror2.c (main): Enhance test.
10860
10861         test-perror: check for strerror interactions
10862         * tests/macros.h (STREQ): Add macro.
10863         * modules/perror-tests (Files): Add second test.
10864         * tests/test-perror2.c (main): New file.
10865         * doc/posix-functions/perror.texi (perror): Document glibc bug.
10866
10867         test-perror: rewrite to use init script
10868         * modules/perror-tests (Files): Add init.sh.
10869         * tests/test-perror.sh: Use temporary directory.
10870
10871 2011-05-20  Jim Meyering  <meyering@redhat.com>
10872
10873         maint: replace misused "a" with "an"
10874         * doc/intprops.texi: "a integer"
10875         * doc/regex.texi: "a explanation"
10876         * lib/alignof.h: "a object"
10877         * lib/argmatch.h: "a explanation"
10878         * lib/argp-help.c: "a option" and "a OPTION_DOC"
10879         * lib/stdint.in.h: "a integer"
10880         * lib/userspec.c: "a owner"
10881         * doc/gnulib.texi: Fix "a idea", and reword.
10882
10883 2011-05-19  Jim Meyering  <meyering@redhat.com>
10884
10885         maint: correct misuse of "a" and "an"
10886         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
10887         * lib/argp-help.c: "an docum...": s/an/a/
10888         * lib/argp-parse.c: "An vector": s/An/A/
10889         * lib/execute.c: "an native": s/an/a/
10890         * lib/spawn-pipe.c: Likewise.
10891         * lib/gc.h: "an Gc_rc": s/an/a/
10892         * lib/unigbrk.in.h: "an grapheme": s/an/a/
10893         * lib/fts.c: "an stat.st_dev": s/an/a/
10894
10895 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10896
10897         intprops-tests: work around HP-UX 11.23 cc bug with constants
10898         * tests/test-intprops.c (VERIFY): New macro.
10899         (main): Use it, instead of verify, to work around the compiler bug; see
10900         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10901
10902         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
10903         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
10904         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
10905         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
10906         (_GL_REMAINDER_OVERFLOW): Use it.
10907
10908         intprops-tests: revert unsigned part of previous change
10909         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
10910         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
10911         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
10912         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
10913
10914 2011-05-19  Bruno Haible  <bruno@clisp.org>
10915
10916         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
10917         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
10918         strerror_r() returned without filling the buffer.
10919         Reported by Eric Blake.
10920
10921 2011-05-19  Eric Blake  <eblake@redhat.com>
10922
10923         strerror_r: guarantee unchanged errno
10924         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
10925         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
10926         failure.
10927         * tests/test-strerror_r.c (main): Enhance test.
10928
10929 2011-05-19  Bruno Haible  <bruno@clisp.org>
10930
10931         strerror_r: Reorder #if blocks.
10932         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
10933         for consistency with the previous commit.
10934
10935 2011-05-19  Bruno Haible  <bruno@clisp.org>
10936
10937         perror: Avoid clobbering the strerror buffer when possible.
10938         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
10939         * lib/strerror.c: Include it.
10940         * modules/strerror (Files): Add lib/strerror-impl.h.
10941         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
10942         (my_strerror): New function, defined through lib/strerror-impl.h.
10943         (perror): Use it instead of strerror.
10944         * modules/perror (Files): Add lib/strerror-impl.h.
10945         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
10946
10947 2011-05-19  Eric Blake  <eblake@redhat.com>
10948
10949         strerror_r: fix on newer cygwin
10950         * lib/strerror_r.c (strerror_r): Cygwin now has
10951         __xpg_strerror_r, use it.
10952
10953 2011-05-19  Bruno Haible  <bruno@clisp.org>
10954
10955         strerror_r: Avoid clobbering the strerror buffer when possible.
10956         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
10957         (sys_nerr, sys_errlist): New declarations.
10958         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
10959         HP-UX, native Win32, IRIX, and 32-bit Solaris.
10960         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
10961
10962 2011-05-19  Bruno Haible  <bruno@clisp.org>
10963
10964         strerror_r: Fix test failure on mingw.
10965         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
10966         EXTEND_STRERROR_R.
10967         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
10968         macros from errno.in.h instead.
10969
10970 2011-05-19  Eric Blake  <eblake@redhat.com>
10971
10972         strerror: relax test for Solaris
10973         * tests/test-strerror.c (main): Permit Solaris behavior.
10974         * tests/test-strerror_r.c (main): Likewise.
10975
10976         strerror: enforce POSIX ruling on strerror(0)
10977         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
10978         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10979         * lib/strerror_r.c (rpl_strerror_r): Work around it.
10980         * doc/posix-functions/strerror.texi (strerror): Document it.
10981         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
10982         * tests/test-strerror.c (main): Strengthen test.
10983         * tests/test-strerror_r.c (main): Likewise.
10984
10985 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10986
10987         intprop-tests: port to older and more-pedantic compilers
10988         * modules/intprops-tests (Files): Add tests/macros.h.
10989         * tests/test-intprops.c: Include macros.h.
10990         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
10991         it's no longer documented to expand to an integer constant expression.
10992         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
10993         argument is floating point, as it's no longer documented to expand
10994         to an integer constant expression in that case.
10995         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
10996         compiler bugs reported by Bruno Haible.  See
10997         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10998         (U0, U1): New constants, to work around the same bugs.  Also,
10999         in tests, use e.g., "(unsigned int) 39" rather than "39u".
11000
11001         intprops: work around C compiler bugs
11002         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
11003         bug in Sun C 5.11 2010/08/13 and other compilers; see
11004         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
11005
11006         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
11007         * doc/intprops.texi (Integer Type Determination): Fix
11008         documentation for TYPE_IS_INTEGER: it returns an constant
11009         expression, not an integer constant expression.  Fix doc for
11010         TYPE_SIGNED: it returns an integer constant expression only if its
11011         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
11012         hardly worth documented that way....)
11013
11014 2011-05-18  Bruno Haible  <bruno@clisp.org>
11015
11016         strerror_r: Avoid clobbering the strerror buffer when possible.
11017         * lib/strerror_r.c (strerror_r): Merge the three implementations.
11018         Handle gnulib defined errno values here. When strerror() returns NULL
11019         or an empty string, return EINVAL.
11020         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
11021         gnulib defined errno values here.
11022         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
11023
11024 2011-05-18  Eric Blake  <eblake@redhat.com>
11025
11026         fnmatch: avoid compiler warning
11027         * lib/fnmatch_loop.c (FCT): Use correct type.
11028         Reported by Matthias Bolte.
11029
11030 2011-05-13  Jim Meyering  <meyering@redhat.com>
11031
11032         maint.mk: three new prohibit_<HDR>_without_use rules
11033         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
11034         (sc_prohibit_stdio-safer_without_use): Likewise.
11035         (sc_prohibit_xfreopen_without_use): Likewise.
11036
11037 2011-05-17  Jim Meyering  <meyering@redhat.com>
11038
11039         announce-gen: fail if the NEWS delta is empty
11040         If there's nothing noteworthy in NEWS, then either you forgot
11041         or you shouldn't be releasing.
11042         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
11043
11044 2011-05-17  Pádraig Brady <P@draigBrady.com>
11045
11046         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
11047         reserved symbols starting with double underscore from the check.
11048
11049 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11050
11051         intprops: add doc
11052         * doc/intprops.texi: New file, documenting intprops.
11053         * doc/gnulib.texi (Particular Modules): Include it.
11054
11055         verify: add doc to gnulib manual and fix example
11056         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
11057         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
11058         (Compile-time Assertions): Fix example so it can't overflow.
11059
11060 2011-05-17  Jim Meyering  <meyering@redhat.com>
11061
11062         warnings.m4: don't usurp save_CPPFLAGS variable name
11063         * m4/warnings.m4: Prefix local temporary variable name with gl_.
11064
11065         doc: fix typo
11066         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
11067
11068 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
11069             Bruno Haible  <bruno@clisp.org>
11070
11071         doc: Tweak recent change.
11072         * README (Portability guidelines): Tweak new text.
11073         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
11074         Interix 6.1.
11075
11076 2011-05-16  Eric Blake  <eblake@redhat.com>
11077
11078         inttypes: avoid autoconf warning
11079         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
11080         * m4/stdint.m4 (gl_STDINT_H): Likewise.
11081
11082 2011-05-16  Sam Steingold <sds@gnu.org>
11083         and Eric Blake  <eblake@redhat.com>
11084
11085         vc-list-files: accept multiple directory operands
11086         * build-aux/vc-list-files: Iterate over all remaining operands.
11087
11088 2011-05-16  Bruno Haible  <bruno@clisp.org>
11089
11090         Fix confusion regarding deprecated modules.
11091         * modules/calloc (Status, Notice): Mark module as deprecated, not
11092         obsolete.
11093         * modules/fnmatch-posix (Status, Notice): Likewise.
11094         * modules/getdate (Status, Notice): Likewise.
11095         * modules/getopt (Status, Notice): Likewise.
11096         * modules/malloc (Status, Notice): Likewise.
11097         * modules/pipe (Status, Notice): Likewise.
11098         * modules/realloc (Status, Notice): Likewise.
11099         * modules/rename-dest-slash (Status, Notice): Likewise.
11100         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
11101         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
11102         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
11103         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
11104         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
11105
11106 2011-05-16  Bruno Haible  <bruno@clisp.org>
11107
11108         doc: List the target platforms.
11109         * doc/gnulib-intro.texi (Target Platforms): New section.
11110         * doc/gnulib.texi (Introduction): Update menu.
11111         * README (Portability guidelines): Refer to the new section. Update
11112         statement about oldest supported environment. Remove rationale why
11113         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
11114         unportable C89 function.
11115         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
11116         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
11117
11118 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
11119
11120         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
11121
11122 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11123
11124         intprops-tests: new module
11125         * modules/intprops-tests, tests/test-intprops.c: New files.
11126
11127         intprops: add safe, portable integer overflow checking
11128         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
11129         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
11130         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
11131         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
11132         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
11133         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
11134         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
11135         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
11136         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
11137         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
11138         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
11139
11140 2011-05-12  James Youngman  <jay@gnu.org>
11141
11142         Add a test for glibc's Bugzilla bug #12378.
11143         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
11144         doesn't allow the literal matching of a lone "[" (which is
11145         required by POSIX).
11146         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
11147
11148 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
11149
11150         Sync glibc change fixing Bugzilla bug #12378.
11151         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
11152         beginning and fall back to matching as normal character if the
11153         string ends before the matching ']' is found.  This is what POSIX
11154         requires.
11155
11156 2011-05-13  Eric Blake  <eblake@redhat.com>
11157
11158         getcwd-lgpl: relax test for FreeBSD
11159         * doc/posix-functions/getcwd.texi (getcwd): Document portability
11160         issue.
11161         * tests/test-getcwd-lgpl.c (main): Relax test.
11162         Reported by Matthias Bolte.
11163
11164 2011-05-11  Eric Blake  <eblake@redhat.com>
11165
11166         test-fflush: silence compiler warning
11167         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
11168
11169 2011-05-11  Bruno Haible  <bruno@clisp.org>
11170
11171         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
11172         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
11173         * modules/canonicalize (Depends-on): Add 'nocrash'.
11174         * modules/canonicalize-lgpl (Depends-on): Likewise.
11175         * doc/posix-functions/realpath.texi: Update platforms list.
11176         Reported by Ryan Schmidt <ryandesign@macports.org>.
11177
11178 2011-05-11  Bruno Haible  <bruno@clisp.org>
11179
11180         group-member: Declare function in <unistd.h>.
11181         * lib/unistd.in.h (group_member): New declaration.
11182         * lib/group-member.h: Remove file.
11183         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
11184         * tests/test-unistd-c++.cc: Check signature of group_member.
11185         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
11186         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
11187         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
11188         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
11189         HAVE_GROUP_MEMBER.
11190         * modules/group-member (Files): Remove lib/group-member.h.
11191         (Depends-on): Add unistd. Specify conditions.
11192         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11193         (Include): Change to <unistd.h>.
11194         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
11195         HAVE_GROUP_MEMBER.
11196         * NEWS: Mention the change.
11197         * lib/euidaccess.c: Don't include group-member.h.
11198
11199 2011-05-11  Bruno Haible  <bruno@clisp.org>
11200
11201         group-member: Document module.
11202         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
11203         module.
11204
11205 2011-05-11  Bruno Haible  <bruno@clisp.org>
11206
11207         fclose: Fix mistake earlier today.
11208         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
11209
11210 2011-05-11  Eric Blake  <eblake@redhat.com>
11211
11212         fclose: preserve fflush errors
11213         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
11214         Reported by Jim Meyering.
11215
11216         bootstrap: support a prereq of 'rpcgen -' on RHEL5
11217         * build-aux/bootstrap (check_versions): When no specific version
11218         is required, merely check that the app produces an exit status
11219         that indicates its existence.
11220
11221         maint.mk: drop redundant check
11222         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
11223         the same but better.
11224
11225 2011-05-11  Bruno Haible  <bruno@clisp.org>
11226
11227         fclose: Fix possible link error.
11228         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
11229         unregister_shadow_fd. Improve comments.
11230         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
11231         Eric Blake.
11232
11233 2011-05-11  Jim Meyering  <meyering@redhat.com>
11234
11235         maint.mk: improve "can not" detection and generalize rule name
11236         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
11237         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
11238         Use the same technique as in sc_prohibit_doubled_word, so that
11239         we recognize "can not" also when the words are separated by a newline.
11240         Suggested by Eric Blake.
11241         (perl_filename_lineno_text_): Define.  Factored out of...
11242         (prohibit_doubled_word_): ...here.  Use the new definition.
11243         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
11244         (prohibit_undesirable_word_seq_RE_): New overridable variable.
11245         (ignore_undesirable_word_sequence_RE_): New overridable variable.
11246
11247 2011-05-10  Eric Blake  <eblake@redhat.com>
11248
11249         fclose: avoid double close race when possible
11250         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
11251         all but WINDOWS_SOCKETS.
11252
11253 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
11254
11255         openat: correct new comment
11256         * lib/openat-proc.c (openat_proc_name): Correct the comment.
11257
11258 2011-05-10  Jim Meyering  <meyering@redhat.com>
11259
11260         openat: add comments
11261         * lib/openat-proc.c (openat_proc_name): Add comments,
11262         mostly from Eric Blake.
11263
11264 2011-05-09  Eric Blake  <eblake@redhat.com>
11265
11266         openat: reduce syscalls in first probe of /proc
11267         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
11268         be a directory.  Simplify the probe for .. bugs.
11269         * modules/openat (Depends-on): Drop same-inode.
11270         Reported by Bastien ROUCARIES.
11271
11272 2011-05-09  Jim Meyering  <meyering@redhat.com>
11273
11274         maint.mk: change semantics/name of tight_scope variables
11275         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
11276         Rename variables to align with semantics that make them more useful.
11277
11278         maint.mk: tweak new rule's name not to impinge
11279         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
11280         (sc_tight_scope): Use new rule name rather than $@-0.
11281
11282         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
11283         * top/maint.mk (sc_tight_scope): New rule.
11284         (sc_tight_scope-0): New rule, ifdef'd out.
11285         (_gl_TS_dir): Default.
11286         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
11287         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
11288
11289 2011-05-09  Simon Josefsson  <simon@josefsson.org>
11290
11291         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
11292         Haible <bruno@clisp.org>.
11293
11294 2011-05-08  Bruno Haible  <bruno@clisp.org>
11295
11296         Comments.
11297         * m4/isnanf.m4: Add comment.
11298         * m4/isnanl.m4: Likewise.
11299
11300 2011-05-08  Bruno Haible  <bruno@clisp.org>
11301
11302         glob: Remove obsolete macro.
11303         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
11304
11305 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11306
11307         intprops: Sun C 5.11 supports __typeof__
11308         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
11309         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
11310         which is new.
11311         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
11312
11313         intprops: switch to usual gnulib indenting and naming
11314         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
11315         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
11316
11317         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
11318
11319 2011-05-08  Jim Meyering  <meyering@redhat.com>
11320
11321         maint.mk: suppress "Entering/Leaving directory" diag in announcement
11322         * top/maint.mk (release-prep): Use make's --no-print-directory
11323         option when generating the announcement.  This eliminates the
11324         pesky "make[2]: Entering/Leaving directory" diagnostics in the
11325         generated announcement template.
11326
11327 2011-05-08  Bruno Haible  <bruno@clisp.org>
11328
11329         tzset: Fix gettimeofday wrapper on Solaris 2.6.
11330         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
11331         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
11332
11333 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
11334
11335         ignore-value, verify: Omit include files from lib_SOURCES.
11336         * modules/ignore-value, modules/verify (Makefile.am):
11337         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
11338         that leads Automake to duplicate use of am__objects_... variables
11339         in Makefile.in.  See
11340         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
11341
11342 2011-05-07  Bruno Haible  <bruno@clisp.org>
11343
11344         fclose: Simplify autoconf macro.
11345         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
11346         defined.
11347
11348 2011-05-07  Bruno Haible  <bruno@clisp.org>
11349
11350         canonicalize-lgpl: Fix autoconf macro ordering bug.
11351         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
11352         gl_STDLIB_H_DEFAULTS.
11353
11354 2011-05-06  Eric Blake  <eblake@redhat.com>
11355
11356         maintainer-makefile: make sc_po_check easier to tune
11357         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
11358         to probe for strings, such as an alternate location for gnulib.
11359
11360         fclose: guarantee behavior on seekable stdin
11361         * modules/fclose (Depends-on): Add fflush.
11362         * doc/posix-functions/fclose.texi (fclose): Document this.
11363         * tests/test-fclose.c (main): Make test for this unconditional.
11364
11365 2011-05-06  Bruno Haible  <bruno@clisp.org>
11366
11367         fflush, fpurge: Relicense under LGPLv2+.
11368         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
11369         * modules/fpurge (License): Likewise.
11370         With permission from Eric Blake and Jim Meyering.
11371         Suggested by Eric Blake.
11372
11373 2011-05-06  Karl Berry  <karl@gnu.org>
11374
11375         * MODULES.html.sh (func_all_modules): remove exit.
11376
11377 2011-05-06  Jim Meyering  <meyering@redhat.com>
11378
11379         maint.mk: use info-gnu@ as the default only for a stable release
11380         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
11381         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
11382         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
11383         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
11384
11385 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11386
11387         assert-h: new module, which supports C1X-style static_assert
11388         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
11389         * lib/verify.h: Revamp so that this can be copied into assert.h,
11390         while retaining the ability to use it standalone as before.
11391         Rename private identifiers so as not to encroach on the
11392         standard C namespace, since this is now used by assert.h.
11393         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
11394         the old verify_true.
11395         (_GL_VERIFY_TRUE): New macro, with much of the contents of
11396         the old verify_true.  Use _GL_VERIFY_TYPE.
11397         (_GL_VERIFY): New macro, with much of the contents of the old verify.
11398         (static_assert): New macro, if _GL_STATIC_ASSERT_H
11399         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
11400         defined when this file is copied into the replacement assert.h.
11401         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
11402         and _Static_assert is not built in.
11403         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
11404         defined, and use the new macros mentioned above.
11405         * doc/posix-headers/assert.texi: Document this.
11406
11407 2011-05-05  Bruno Haible  <bruno@clisp.org>
11408
11409         fclose, fflush: Respect rules for use of AC_LIBOBJ.
11410         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
11411         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
11412         gl_REPLACE_FCLOSE here.
11413         * modules/fflush (Depends-on): Remove fclose.
11414         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
11415         combination with module 'fclose'.
11416
11417 2011-05-05  Bruno Haible  <bruno@clisp.org>
11418
11419         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
11420         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
11421         gl_FUNC_FFLUSH.
11422         (gl_FUNC_FFLUSH): Use it.
11423         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
11424         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
11425         gl_REPLACE_FSEEKO here.
11426
11427 2011-05-05  Bruno Haible  <bruno@clisp.org>
11428
11429         tzset: Relicense under LGPL.
11430         * modules/tzset (License): Change to LGPL.
11431         No agreement needed; it's a no-op.
11432
11433         strtoimax, strtoumax: Relicense under LGPL.
11434         * modules/strtoimax (License): Change to LGPL.
11435         * modules/strtoumax (License): Likewise.
11436         With permission from Jim Meyering, Paul Eggert:
11437         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
11438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
11439
11440         getgroups: Relicense under LGPL.
11441         * modules/getgroups (License): Change to LGPL.
11442         With permission from Jim Meyering, Paul Eggert, Eric Blake:
11443         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
11444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
11445         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
11446
11447         nanosleep: Relicense under LGPL.
11448         * modules/nanosleep (License): Change to LGPL.
11449         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
11450         Haible:
11451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
11452         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
11453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
11454         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
11455
11456         futimens: Relicense under LGPL.
11457         * modules/futimens (License): Change to LGPL.
11458         With permission from Eric Blake:
11459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
11460
11461         fflush: Relicense under LGPL.
11462         * modules/fflush (License): Change to LGPL.
11463         With permission from Eric Blake, Bruno Haible, Jim Meyering:
11464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
11465         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
11466         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
11467
11468         tmpfile: Relicense under LGPL.
11469         * modules/tmpfile (License): Change to LGPL.
11470         With permission from Ben Pfaff:
11471         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
11472
11473         isfinite: Relicense under LGPL.
11474         * modules/isfinite (License): Change to LGPL.
11475         With permission from Ben Pfaff, Bruno Haible:
11476         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
11477         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
11478
11479         acosl..tanl: Relicense under LGPL.
11480         * modules/acosl (License): Change to LGPL.
11481         * modules/asinl (License): Likewise.
11482         * modules/atanl (License): Likewise.
11483         * modules/cosl (License): Likewise.
11484         * modules/expl (License): Likewise.
11485         * modules/logl (License): Likewise.
11486         * modules/sinl (License): Likewise.
11487         * modules/sqrtl (License): Likewise.
11488         * modules/tanl (License): Likewise.
11489         Source code originally from glibc and Paolo Bonzini. Agreements:
11490         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
11491         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
11492
11493 2011-05-05  Bruno Haible  <bruno@clisp.org>
11494
11495         signal: Define sighandler_t.
11496         * lib/signal.in.h (sighandler_t): New type.
11497         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
11498         whether sighandler_t is defined.
11499         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
11500         * modules/signal (Depends-on): Add extensions.
11501         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
11502         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
11503         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
11504
11505 2011-05-05  Eric Blake  <eblake@redhat.com>
11506
11507         maint: remove useless REPLACE_*_H macros
11508         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
11509         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
11510         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
11511         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
11512         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
11513         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
11514         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
11515         * m4/btowc.m4: Update callers.
11516         * m4/dirfd.m4: Likewise.
11517         * m4/duplocale.m4: Likewise.
11518         * m4/fchdir.m4: Likewise.
11519         * m4/fdopendir.m4: Likewise.
11520         * m4/inet_ntop.m4: Likewise.
11521         * m4/inet_pton.m4: Likewise.
11522         * m4/ioctl.m4: Likewise.
11523         * m4/mbrlen.m4: Likewise.
11524         * m4/mbrtowc.m4: Likewise.
11525         * m4/mbsinit.m4: Likewise.
11526         * m4/mbsnrtowcs.m4: Likewise.
11527         * m4/mbsrtowcs.m4: Likewise.
11528         * m4/poll.m4: Likewise.
11529         * m4/setlocale.m4: Likewise.
11530         * m4/wcrtomb.m4: Likewise.
11531         * m4/wcsnrtombs.m4: Likewise.
11532         * m4/wcsrtombs.m4: Likewise.
11533         * m4/wctob.m4: Likewise.
11534         * m4/wcwidth.m4: Likewise.
11535         * modules/posix_spawn: Likewise.
11536         * modules/posix_spawn_file_actions_addclose: Likewise.
11537         * modules/posix_spawn_file_actions_adddup2: Likewise.
11538         * modules/posix_spawn_file_actions_addopen: Likewise.
11539         * modules/posix_spawn_file_actions_destroy: Likewise.
11540         * modules/posix_spawn_file_actions_init: Likewise.
11541         * modules/posix_spawnattr_destroy: Likewise.
11542         * modules/posix_spawnattr_getflags: Likewise.
11543         * modules/posix_spawnattr_getpgroup: Likewise.
11544         * modules/posix_spawnattr_getschedparam: Likewise.
11545         * modules/posix_spawnattr_getschedpolicy: Likewise.
11546         * modules/posix_spawnattr_getsigdefault: Likewise.
11547         * modules/posix_spawnattr_getsigmask: Likewise.
11548         * modules/posix_spawnattr_init: Likewise.
11549         * modules/posix_spawnattr_setflags: Likewise.
11550         * modules/posix_spawnattr_setpgroup: Likewise.
11551         * modules/posix_spawnattr_setschedparam: Likewise.
11552         * modules/posix_spawnattr_setschedpolicy: Likewise.
11553         * modules/posix_spawnattr_setsigdefault: Likewise.
11554         * modules/posix_spawnattr_setsigmask: Likewise.
11555         * modules/posix_spawnp: Likewise.
11556
11557 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
11558
11559         Add option to do-release-commit-and-tag to specify branch.
11560         * build-aux/do-release-commit-and-tag: Add --branch.
11561
11562 2011-05-03  Bruno Haible  <bruno@clisp.org>
11563
11564         Avoid unnecessary compilation units, through conditional dependencies.
11565         * modules/accept (Depends-on): Add conditions to the dependencies.
11566         * modules/acosl (Depends-on): Likewise.
11567         * modules/argz (Depends-on): Likewise.
11568         * modules/asinl (Depends-on): Likewise.
11569         * modules/atanl (Depends-on): Likewise.
11570         * modules/atoll (Depends-on): Likewise.
11571         * modules/bind (Depends-on): Likewise.
11572         * modules/btowc (Depends-on): Likewise.
11573         * modules/canonicalize-lgpl (Depends-on): Likewise.
11574         * modules/ceil (Depends-on): Likewise.
11575         * modules/ceilf (Depends-on): Likewise.
11576         * modules/ceill (Depends-on): Likewise.
11577         * modules/chdir-long (Depends-on): Likewise.
11578         * modules/chown (Depends-on): Likewise.
11579         * modules/close (Depends-on): Likewise.
11580         * modules/connect (Depends-on): Likewise.
11581         * modules/cosl (Depends-on): Likewise.
11582         * modules/dirfd (Depends-on): Likewise.
11583         * modules/dprintf (Depends-on): Likewise.
11584         * modules/dprintf-posix (Depends-on): Likewise.
11585         * modules/error (Depends-on): Likewise.
11586         * modules/euidaccess (Depends-on): Likewise.
11587         * modules/expl (Depends-on): Likewise.
11588         * modules/faccessat (Depends-on): Likewise.
11589         * modules/fchdir (Depends-on): Likewise.
11590         * modules/fclose (Depends-on): Likewise.
11591         * modules/fcntl (Depends-on): Likewise.
11592         * modules/fdopendir (Depends-on): Likewise.
11593         * modules/fflush (Depends-on): Likewise.
11594         * modules/floor (Depends-on): Likewise.
11595         * modules/floorf (Depends-on): Likewise.
11596         * modules/floorl (Depends-on): Likewise.
11597         * modules/fnmatch (Depends-on): Likewise.
11598         * modules/fopen (Depends-on): Likewise.
11599         * modules/fprintf-posix (Depends-on): Likewise.
11600         * modules/frexp (Depends-on): Likewise.
11601         * modules/frexp-nolibm (Depends-on): Likewise.
11602         * modules/frexpl (Depends-on): Likewise.
11603         * modules/frexpl-nolibm (Depends-on): Likewise.
11604         * modules/fseek (Depends-on): Likewise.
11605         * modules/fsusage (Depends-on): Likewise.
11606         * modules/ftell (Depends-on): Likewise.
11607         * modules/ftello (Depends-on): Likewise.
11608         * modules/futimens (Depends-on): Likewise.
11609         * modules/getcwd (Depends-on): Likewise.
11610         * modules/getcwd-lgpl (Depends-on): Likewise.
11611         * modules/getdelim (Depends-on): Likewise.
11612         * modules/getdomainname (Depends-on): Likewise.
11613         * modules/getgroups (Depends-on): Likewise.
11614         * modules/gethostname (Depends-on): Likewise.
11615         * modules/getline (Depends-on): Likewise.
11616         * modules/getlogin_r (Depends-on): Likewise.
11617         * modules/getopt-posix (Depends-on): Likewise.
11618         * modules/getpeername (Depends-on): Likewise.
11619         * modules/getsockname (Depends-on): Likewise.
11620         * modules/getsockopt (Depends-on): Likewise.
11621         * modules/getsubopt (Depends-on): Likewise.
11622         * modules/getusershell (Depends-on): Likewise.
11623         * modules/glob (Depends-on): Likewise.
11624         * modules/grantpt (Depends-on): Likewise.
11625         * modules/iconv_open (Depends-on): Likewise.
11626         * modules/iconv_open-utf (Depends-on): Likewise.
11627         * modules/inet_ntop (Depends-on): Likewise.
11628         * modules/inet_pton (Depends-on): Likewise.
11629         * modules/ioctl (Depends-on): Likewise.
11630         * modules/isapipe (Depends-on): Likewise.
11631         * modules/isfinite (Depends-on): Likewise.
11632         * modules/isinf (Depends-on): Likewise.
11633         * modules/lchown (Depends-on): Likewise.
11634         * modules/ldexpl (Depends-on): Likewise.
11635         * modules/link (Depends-on): Likewise.
11636         * modules/linkat (Depends-on): Likewise.
11637         * modules/listen (Depends-on): Likewise.
11638         * modules/logl (Depends-on): Likewise.
11639         * modules/lstat (Depends-on): Likewise.
11640         * modules/mbrlen (Depends-on): Likewise.
11641         * modules/mbrtowc (Depends-on): Likewise.
11642         * modules/mbsinit (Depends-on): Likewise.
11643         * modules/mbsnrtowcs (Depends-on): Likewise.
11644         * modules/mbsrtowcs (Depends-on): Likewise.
11645         * modules/mbtowc (Depends-on): Likewise.
11646         * modules/memcmp (Depends-on): Likewise.
11647         * modules/mkdir (Depends-on): Likewise.
11648         * modules/mkdtemp (Depends-on): Likewise.
11649         * modules/mkfifo (Depends-on): Likewise.
11650         * modules/mkfifoat (Depends-on): Likewise.
11651         * modules/mknod (Depends-on): Likewise.
11652         * modules/mkostemp (Depends-on): Likewise.
11653         * modules/mkostemps (Depends-on): Likewise.
11654         * modules/mkstemp (Depends-on): Likewise.
11655         * modules/mkstemps (Depends-on): Likewise.
11656         * modules/mktime (Depends-on): Likewise.
11657         * modules/nanosleep (Depends-on): Likewise.
11658         * modules/open (Depends-on): Likewise.
11659         * modules/openat (Depends-on): Likewise.
11660         * modules/perror (Depends-on): Likewise.
11661         * modules/poll (Depends-on): Likewise.
11662         * modules/popen (Depends-on): Likewise.
11663         * modules/posix_spawn (Depends-on): Likewise.
11664         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
11665         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
11666         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
11667         * modules/posix_spawnp (Depends-on): Likewise.
11668         * modules/pread (Depends-on): Likewise.
11669         * modules/printf-posix (Depends-on): Likewise.
11670         * modules/ptsname (Depends-on): Likewise.
11671         * modules/putenv (Depends-on): Likewise.
11672         * modules/pwrite (Depends-on): Likewise.
11673         * modules/readline (Depends-on): Likewise.
11674         * modules/readlink (Depends-on): Likewise.
11675         * modules/readlinkat (Depends-on): Likewise.
11676         * modules/recv (Depends-on): Likewise.
11677         * modules/recvfrom (Depends-on): Likewise.
11678         * modules/regex (Depends-on): Likewise.
11679         * modules/remove (Depends-on): Likewise.
11680         * modules/rename (Depends-on): Likewise.
11681         * modules/renameat (Depends-on): Likewise.
11682         * modules/rmdir (Depends-on): Likewise.
11683         * modules/round (Depends-on): Likewise.
11684         * modules/roundf (Depends-on): Likewise.
11685         * modules/roundl (Depends-on): Likewise.
11686         * modules/rpmatch (Depends-on): Likewise.
11687         * modules/select (Depends-on): Likewise.
11688         * modules/send (Depends-on): Likewise.
11689         * modules/sendto (Depends-on): Likewise.
11690         * modules/setenv (Depends-on): Likewise.
11691         * modules/setlocale (Depends-on): Likewise.
11692         * modules/setsockopt (Depends-on): Likewise.
11693         * modules/shutdown (Depends-on): Likewise.
11694         * modules/sigaction (Depends-on): Likewise.
11695         * modules/signbit (Depends-on): Likewise.
11696         * modules/sigprocmask (Depends-on): Likewise.
11697         * modules/sinl (Depends-on): Likewise.
11698         * modules/sleep (Depends-on): Likewise.
11699         * modules/snprintf (Depends-on): Likewise.
11700         * modules/snprintf-posix (Depends-on): Likewise.
11701         * modules/socket (Depends-on): Likewise.
11702         * modules/sprintf-posix (Depends-on): Likewise.
11703         * modules/sqrtl (Depends-on): Likewise.
11704         * modules/stat (Depends-on): Likewise.
11705         * modules/strchrnul (Depends-on): Likewise.
11706         * modules/strdup-posix (Depends-on): Likewise.
11707         * modules/strerror (Depends-on): Likewise.
11708         * modules/strerror_r-posix (Depends-on): Likewise.
11709         * modules/strndup (Depends-on): Likewise.
11710         * modules/strnlen (Depends-on): Likewise.
11711         * modules/strptime (Depends-on): Likewise.
11712         * modules/strsep (Depends-on): Likewise.
11713         * modules/strsignal (Depends-on): Likewise.
11714         * modules/strstr-simple (Depends-on): Likewise.
11715         * modules/strtod (Depends-on): Likewise.
11716         * modules/strtoimax (Depends-on): Likewise.
11717         * modules/strtok_r (Depends-on): Likewise.
11718         * modules/strtoumax (Depends-on): Likewise.
11719         * modules/symlink (Depends-on): Likewise.
11720         * modules/symlinkat (Depends-on): Likewise.
11721         * modules/tanl (Depends-on): Likewise.
11722         * modules/tcgetsid (Depends-on): Likewise.
11723         * modules/tmpfile (Depends-on): Likewise.
11724         * modules/trunc (Depends-on): Likewise.
11725         * modules/truncf (Depends-on): Likewise.
11726         * modules/truncl (Depends-on): Likewise.
11727         * modules/uname (Depends-on): Likewise.
11728         * modules/unlink (Depends-on): Likewise.
11729         * modules/unlockpt (Depends-on): Likewise.
11730         * modules/unsetenv (Depends-on): Likewise.
11731         * modules/usleep (Depends-on): Likewise.
11732         * modules/utimensat (Depends-on): Likewise.
11733         * modules/vasprintf (Depends-on): Likewise.
11734         * modules/vdprintf (Depends-on): Likewise.
11735         * modules/vdprintf-posix (Depends-on): Likewise.
11736         * modules/vfprintf-posix (Depends-on): Likewise.
11737         * modules/vprintf-posix (Depends-on): Likewise.
11738         * modules/vsnprintf (Depends-on): Likewise.
11739         * modules/vsnprintf-posix (Depends-on): Likewise.
11740         * modules/vsprintf-posix (Depends-on): Likewise.
11741         * modules/wcrtomb (Depends-on): Likewise.
11742         * modules/wcscasecmp (Depends-on): Likewise.
11743         * modules/wcscspn (Depends-on): Likewise.
11744         * modules/wcsdup (Depends-on): Likewise.
11745         * modules/wcsncasecmp (Depends-on): Likewise.
11746         * modules/wcsnrtombs (Depends-on): Likewise.
11747         * modules/wcspbrk (Depends-on): Likewise.
11748         * modules/wcsrtombs (Depends-on): Likewise.
11749         * modules/wcsspn (Depends-on): Likewise.
11750         * modules/wcsstr (Depends-on): Likewise.
11751         * modules/wcstok (Depends-on): Likewise.
11752         * modules/wcswidth (Depends-on): Likewise.
11753         * modules/wctob (Depends-on): Likewise.
11754         * modules/wctomb (Depends-on): Likewise.
11755         * modules/wctype (Depends-on): Likewise.
11756         * modules/wcwidth (Depends-on): Likewise.
11757         * modules/write (Depends-on): Likewise.
11758
11759 2011-05-03  Bruno Haible  <bruno@clisp.org>
11760
11761         Support for conditional dependencies.
11762         * doc/gnulib.texi (Module description): Document the syntax of
11763         conditional dependencies.
11764         * gnulib-tool: New option --conditional-dependencies.
11765         (func_usage): Document it.
11766         (cond_dependencies): New variable.
11767         (func_get_automake_snippet_conditional,
11768         func_get_automake_snippet_unconditional): New functions, extracted from
11769         func_get_automake_snippet.
11770         (func_get_automake_snippet): Use them.
11771         (sed_first_32_chars): New variable.
11772         (func_module_shellfunc_name): New function.
11773         (func_module_shellvar_name): New function.
11774         (func_module_conditional_name): New function.
11775         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
11776         func_cond_module_condition): New functions.
11777         (func_modules_transitive_closure): Add support for conditional
11778         dependencies.
11779         (func_emit_lib_Makefile_am): For a conditional module, enclose the
11780         conditional automake snippet in an automake conditional.
11781         (func_emit_autoconf_snippets): Emit shell functions that contain the
11782         code for conditional modules.
11783         (func_import, func_create_testdir): Update specification.
11784
11785 2011-05-03  Eric Blake  <eblake@redhat.com>
11786
11787         test-getaddrinfo: report error information
11788         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
11789
11790 2011-05-03  Jim Meyering  <meyering@redhat.com>
11791
11792         bootstrap: avoid build failure when $GZIP is set
11793         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
11794         program name.  If defined at all, it is supposed to list gzip options.
11795         Reported by Alan Curry in http://debbugs.gnu.org/8609
11796
11797 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
11798
11799         readme-release: new module with release instructions
11800         * modules/readme-release: New module.
11801         * top/README-release: New file, from coreutils, grep, diffutils.
11802         * MODULES.html.sh (Support for maintaining and releasing): Add it.
11803
11804 2011-05-02  Eric Blake  <eblake@redhat.com>
11805
11806         fflush: also replace fclose when fixing fflush
11807         * modules/fflush (Depends-on): Add fclose.
11808         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
11809         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
11810         memstreams with no backing fd.
11811         * doc/posix-functions/fclose.texi (fclose): Document the use of
11812         fflush module to fix the bug.
11813         * tests/test-fclose.c (main): Relax test when fclose is used in
11814         isolation.
11815
11816         fclose: add some tests
11817         * modules/fclose-tests: New test module.
11818         * tests/test-fclose.c: New file.
11819         * doc/posix-functions/fclose.texi (fclose): Document the bug.
11820
11821         fclose: reduced dependencies
11822         * modules/fclose (Depends-on): Switch from fflush/fseeko to
11823         simpler lseek.
11824         * lib/fclose.c (rpl_fclose): Likewise.
11825         Reported by Simon Josefsson.
11826
11827         exit: drop remaining clients
11828         * modules/argmatch (Depends-on): Replace exit with stdlib.
11829         * modules/copy-file (Depends-on): Likewise.
11830         * modules/execute (Depends-on): Likewise.
11831         * modules/exitfail (Depends-on): Likewise.
11832         * modules/obstack (Depends-on): Likewise.
11833         * modules/pagealign_alloc (Depends-on): Likewise.
11834         * modules/pipe-filter-gi (Depends-on): Likewise.
11835         * modules/pipe-filter-ii (Depends-on): Likewise.
11836         * modules/savewd (Depends-on): Likewise.
11837         * modules/spawn-pipe (Depends-on): Likewise.
11838         * modules/wait-process (Depends-on): Likewise.
11839         * modules/xsetenv (Depends-on): Likewise.
11840         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
11841         * modules/git-merge-changelog (Depends-on): Likewise.
11842         * modules/long-options (Depends-on): Likewise.
11843         * modules/pt_chown (Depends-on): Likewise.
11844         * modules/sysexits (Depends-on): Likewise.
11845
11846         freading: relax license from LGPLv3+ to LGPLv2+
11847         * modules/freading (License): Relax LGPL version.
11848
11849 2011-05-02  Bruno Haible  <bruno@clisp.org>
11850
11851         fchdir: Remove unused dependencies.
11852         * modules/fchdir (Depends-on): Remove include_next.
11853
11854 2011-05-02  Bruno Haible  <bruno@clisp.org>
11855
11856         gnulib-tool: Refactor.
11857         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
11858         from func_emit_autoconf_snippets.
11859         (func_emit_autoconf_snippets): Use it.
11860
11861 2011-05-02  Simon Josefsson  <simon@josefsson.org>
11862
11863         * NEWS: Document removal of 'exit'.
11864         * modules/exit: Remove file.
11865
11866 2011-05-01  Bruno Haible  <bruno@clisp.org>
11867
11868         Update DEPENDENCIES.
11869         * DEPENDENCIES (gettext): Recommend the newest release.
11870         Reported by Simon Josefsson.
11871
11872 2011-05-01  Bruno Haible  <bruno@clisp.org>
11873
11874         gnulib-tool: Reduce code duplication.
11875         * gnulib-tool (func_emit_autoconf_snippets): New function.
11876         (func_import, func_create_testdir): Use it.
11877
11878 2011-04-30  Eric Blake  <eblake@redhat.com>
11879
11880         fclose: don't fail on non-seekable input stream
11881         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
11882         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
11883         since fflush is allowed to fail in that case.
11884
11885 2011-04-30  Bruno Haible  <bruno@clisp.org>
11886
11887         dup3: cleanup
11888         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
11889
11890 2011-04-30  Bruno Haible  <bruno@clisp.org>
11891
11892         netdb: Make it work in C++ mode.
11893         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
11894         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
11895         module.
11896         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
11897         gl_MODULE_INDICATOR_FOR_TESTS.
11898         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
11899         * modules/netdb-c++-tests: New file.
11900         * tests/test-netdb-c++.cc: New file.
11901
11902 2011-04-30  Bruno Haible  <bruno@clisp.org>
11903
11904         New modules 'vfscanf', 'vscanf'.
11905         * modules/vfscanf: New file.
11906         * modules/vscanf: New file.
11907         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
11908         here.
11909         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
11910         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
11911
11912 2011-04-30  Bruno Haible  <bruno@clisp.org>
11913
11914         passfd: Add comments.
11915         * lib/passfd.c: Add comments about platforms.
11916
11917 2011-04-30  Bruno Haible  <bruno@clisp.org>
11918
11919         sys_uio: Make <sys/uio.h> self-contained.
11920         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
11921         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
11922
11923 2011-04-30  Bruno Haible  <bruno@clisp.org>
11924
11925         sys_socket: Ensure 'struct iovec' definition.
11926         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
11927         <sys/socket.h>.
11928         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
11929
11930 2011-04-30  Bruno Haible  <bruno@clisp.org>
11931
11932         sys_uio: Protect definition of 'struct iovec'.
11933         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
11934         it as a C struct.
11935
11936 2011-04-30  Bruno Haible  <bruno@clisp.org>
11937
11938         manywarnings: fix indentation
11939         * m4/manywarnings.m4: Indent by 2 spaces consistently.
11940
11941 2011-04-30  Pádraig Brady <P@draigBrady.com>
11942
11943         manywarnings: add -Wno-missing-field-initializers if needed.
11944         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
11945         option if it's needed to allow initialization with { 0, }
11946
11947 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
11948
11949         announce-gen: cosmetic improvement
11950         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
11951
11952 2011-04-29  Jim Meyering  <meyering@redhat.com>
11953
11954         vc-list-files: indent with spaces, not TABs
11955         * build-aux/vc-list-files: Convert leading TABs to spaces,
11956         to match the style of most other files in gnulib.
11957
11958         announce-gen: indent with spaces, not TABs
11959         * build-aux/announce-gen: Convert all TABs to spaces, to match
11960         the style of most other files in gnulib.
11961
11962 2011-04-29  Eric Blake  <eblake@redhat.com>
11963
11964         quotearg: avoid uninitialized variable use
11965         * lib/quotearg.c (quoting_options_from_style): Initialize
11966         remaining fields, and ensure that custom styles are only used via
11967         quoting_options rather than quoting_style.
11968
11969 2011-04-29  Jim Meyering  <meyering@redhat.com>
11970
11971         maint.mk: remove unused VC-tag variable
11972         * top/maint.mk (VC-tag): Remove unused variable.
11973
11974 2011-04-29  Bruno Haible  <bruno@clisp.org>
11975
11976         netdb: fix gai_strerror replacements
11977         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
11978         * modules/netdb: Substitute it.
11979
11980 2011-04-29  Jim Meyering  <meyering@redhat.com>
11981
11982         test-getcwd.c: avoid new set-but-not-used warning
11983         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
11984         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
11985         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
11986         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
11987
11988         test-hash.c: avoid a new shadowing warning
11989         * tests/test-hash.c (main): Don't shadow "dup".
11990
11991 2011-04-28  Eric Blake  <eblake@redhat.com>
11992
11993         getaddrinfo: fix gai_strerror signature
11994         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
11995         and work around mingw with UNICODE defined.
11996         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
11997         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
11998         * modules/netdb (Makefile.am): Substitute it.
11999         * lib/netdb.in.h (gai_strerror): Declare replacement.
12000         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
12001         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
12002         the fix.
12003
12004         getsockopt: avoid compiler warning
12005         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
12006         Reported by Matthias Bolte.
12007
12008         tests: drop unused link dependency
12009         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
12010         * modules/dirent-safer-tests (Makefile.am): Likewise.
12011         * modules/fdopendir-tests (Makefile.am): Likewise.
12012         * modules/mkfifoat-tests (Makefile.am): Likewise.
12013         * modules/openat-safer-tests (Makefile.am): Likewise.
12014         * modules/openat-tests (Makefile.am): Likewise.
12015         * modules/readlinkat-tests (Makefile.am): Likewise.
12016         * modules/symlinkat-tests (Makefile.am): Likewise.
12017         * modules/linkat-tests (Makefile.am): Likewise.
12018         (Depends-on): Switch to filenamecat-lgpl.
12019         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
12020         LIBINTL.
12021         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
12022         * tests/test-linkat.c (main): Don't require xalloc.
12023
12024         hash, mgetgroups: drop xalloc dependency
12025         * lib/hash.c (includes): Adjust includes.
12026         * lib/mgetgroups.c (includes): Likewise.
12027         (xgetgroups): Move...
12028         * lib/xgetgroups.c: ...to new file.
12029         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
12030         * modules/xgetgroups: New file, split from...
12031         * modules/mgetgroups: ...here.
12032         (Depends-on): Add xalloc-oversized.
12033         * modules/hash (Depends-on): Likewise.
12034         * modules/hash-tests (Depends-on): Drop xalloc.
12035         (test_hash_LDADD): Drop unused library.
12036         * tests/test-hash.c (main): Break xalloc dependency.
12037         (includes): Drop unused include.
12038
12039         xalloc-oversized: new module
12040         * modules/xalloc-oversized: New module.
12041         * modules/xalloc (Depends-on): Add it.
12042         * lib/xalloc.h (xalloc_oversized): Move...
12043         * lib/xalloc-oversized.h: ...into new file.
12044
12045         utimecmp: drop dependency on xmalloc
12046         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
12047         due to memory pressure.
12048         * modules/utimecmp (Depends-on): Drop xalloc.
12049
12050 2011-04-27  Eric Blake  <eblake@redhat.com>
12051
12052         getcwd: fix mingw bugs
12053         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
12054         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
12055         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
12056
12057 2011-04-27  Bruno Haible  <bruno@clisp.org>
12058
12059         mkstemps: Ensure declaration on MacOS X 10.5.
12060         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
12061         * doc/glibc-functions/mkstemps.texi: Document header file problem on
12062         MacOS X.
12063
12064 2011-04-27  Bruno Haible  <bruno@clisp.org>
12065
12066         mkstemp: More documentation.
12067         * doc/posix-functions/mkstemp.texi: Document header file problem on
12068         MacOS X.
12069
12070 2011-04-27  Bruno Haible  <bruno@clisp.org>
12071
12072         mkstemp: Tweak configure message when cross-compiling.
12073         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
12074         result as a guess.
12075
12076 2011-04-27  Bruno Haible  <bruno@clisp.org>
12077
12078         clean-temp: Clarify what it does.
12079         * lib/clean-temp.h: Add more comments.
12080         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
12081         module.
12082         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
12083         * doc/glibc-functions/mkstemps.texi: Likewise.
12084         * doc/glibc-functions/mkostemps.texi: Likewise.
12085
12086 2011-04-27  Eric Blake  <eblake@redhat.com>
12087
12088         fchdir: avoid extra chdir and fix test
12089         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
12090         getcwd-lgpl.
12091         * lib/fchdir.c (get_name): Any absolute name will do; it does not
12092         have to be canonical.
12093         (canonicalize_file_name): Drop unused macro.
12094         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
12095
12096         filenamecat-lgpl: fix licence
12097         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
12098         when it was first created.
12099
12100         linkat, renameat: add missing dependency
12101         * modules/linkat (Depends-on): Require getcwd-lgpl.
12102         * modules/renameat (Depends-on): Likewise.
12103
12104         tests: reduce dependencies
12105         * tests/test-linkat.c (main): Use lighter-weight getcwd.
12106         * tests/test-renameat.c (main): Likewise.
12107         * modules/linkat-tests (Depends-on): Relax dependency.
12108         * modules/renameat-tests (Depends-on): Likewise.
12109         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
12110         dependency explicit.
12111
12112         save-cwd: reduce default dependency
12113         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
12114         * lib/save-cwd.c: Update comments.
12115         * NEWS: Document the semantic change.
12116
12117         getcwd: enhance tests
12118         * tests/test-getcwd-lgpl.c: New file, taken from...
12119         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
12120         repeat long path stress tests from m4 probe.
12121         * modules/getcwd-lgpl-tests: New module.
12122         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
12123         * m4/getcwd-abort-bug.m4: Update comment.
12124         * m4/getcwd-path-max.m4: Likewise.
12125
12126         getcwd-lgpl: new module
12127         * modules/getcwd-lgpl: New module.
12128         * lib/getcwd-lgpl.c: New file.
12129         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12130         * MODULES.html.sh (lacking POSIX:2008): Likewise.
12131         * modules/getcwd (configure.ac): Set C witness.
12132         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
12133
12134         getcwd: tweak comments
12135         * m4/getcwd-abort-bug.m4: Fix comments.
12136         * m4/getcwd-path-max.m4: Likewise.
12137         * m4/getcwd.m4: Likewise.
12138
12139 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
12140         and Eric Blake  <eblake@redhat.com>
12141
12142         mkstemp: replace if system version uses wrong permissions
12143         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
12144         read/write mode bits set in file created by mkstemp.
12145         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
12146
12147 2011-04-27  Eric Blake  <eblake@redhat.com>
12148
12149         passfd: avoid compiler warning
12150         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
12151         Reported by Laine Stump.
12152
12153 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
12154
12155         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
12156         required by the NetBSD (and perhaps other 4.4BSD derived) join.
12157
12158 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
12159         and Eric Blake  <eblake@redhat.com>
12160
12161         mkstemp: mention clean-temp module
12162         * lib/mkstemp.c: Add comment.
12163         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
12164
12165 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
12166
12167         inttypes: also provide default values for 32-bit tests
12168         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
12169         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
12170
12171 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
12172
12173         strtoumax: remove dependency on strtoimax
12174         This is like the strtoull change of yesterday.
12175         * modules/strtoumax (Files): Add lib/strtoimax.c.
12176         (Depends-on): Remove strtoimax and add verify.
12177
12178         inttypes-incomplete: new module
12179         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
12180         all but the PRI* and SCN* parts of gl_INTTYPES_H.
12181         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
12182         of gl_INTTYPES_H.
12183         (gl_INTTYPES_H): Rewrite in terms of these new macros.
12184         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
12185         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
12186         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
12187         * modules/strtoumax, modules/xstrtol (Depends-on):
12188         Depend on inttypes-incomplete, not inttypes.
12189         * modules/inttypes-incomplete: New module, containing the contents
12190         of the old modules/inttypes module, except that the Files: section
12191         omits m4/inttypes-pri.m4, and the configure.ac section invokes
12192         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
12193         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
12194         (Depends-on): Depend only on inttypes-incomplete.
12195         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
12196
12197         inttypes: omit now-redundant strtoimax and strtoumax work
12198         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
12199         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
12200
12201         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
12202         This supports apps that need pointers to strtoimax and strtoumax,
12203         and ports to HP-UX 11.00 64.bit, which has macros that expand to
12204         nonexistent functions.  See
12205         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
12206         et seq.
12207         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
12208         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
12209         a macro.
12210         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
12211
12212 2011-04-25  Simon Josefsson  <simon@josefsson.org>
12213
12214         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
12215
12216 2011-04-25  Bruno Haible  <bruno@clisp.org>
12217
12218         strtol, strtoul: Mark modules as obsolete.
12219         * modules/strtol (Status, Notice): New sections.
12220         * modules/strtoul (Status, Notice): New sections.
12221
12222 2011-04-25  Bruno Haible  <bruno@clisp.org>
12223
12224         strtod: Remove check for strtod, unless supporting old platforms.
12225         * modules/strtod-obsolete: New file.
12226         * m4/strtod-obsolete.m4: New file.
12227         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
12228         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
12229         * modules/strtod (Depends-on): Add strtod-obsolete.
12230         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
12231
12232 2011-04-25  Bruno Haible  <bruno@clisp.org>
12233
12234         strcase: Make module obsolete.
12235         * modules/strcase (Status, Notice): New sections.
12236
12237 2011-04-25  Bruno Haible  <bruno@clisp.org>
12238
12239         dup2: Remove check for dup2, unless supporting old obsolete platforms.
12240         * modules/dup2-obsolete: New file.
12241         * m4/dup2-obsolete.m4: New file.
12242         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
12243         gl_FUNC_DUP2_OBSOLETE is not also defined.
12244         * modules/dup2 (Depends-on): Add dup2-obsolete.
12245         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
12246
12247 2011-04-25  Bruno Haible  <bruno@clisp.org>
12248
12249         strnlen: Avoid memchr related link error on old obsolete platforms.
12250         * modules/memchr-obsolete: New file.
12251         * m4/memchr-obsolete.m4: New file.
12252         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
12253         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
12254         * modules/memchr (Depends-on): Add memchr-obsolete.
12255         * modules/strnlen (Depends-on): Likewise.
12256         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
12257
12258 2011-04-25  Jim Meyering  <meyering@redhat.com>
12259
12260         maint.mk: makefile_at_at_check extend and clean up
12261         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
12262         in addition to */Makefile.am.
12263         Exempt legitimate uses of @VAR@ notation, e.g.,
12264         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
12265         Remove obsolete coreutils-specific comment.
12266         Prompted by discussion here:
12267         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
12268
12269 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
12270
12271         strtoul: remove dependency on strtol
12272         This is so that 'configure' need not check for strtol merely because
12273         the application needs strtoul.
12274         * modules/strtoul (Files): Add lib/strtol.c.
12275         (Depends-on): Remove strtol.
12276
12277         strtoull: remove dependency on strtoul
12278         This is like the strtoll change.
12279         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
12280         (Depends-on): Remove strtoul.
12281
12282         strtoll: remove dependency on strtol
12283         This is so that 'configure' need not check for strtol merely because
12284         the application needs strtoll.
12285         * modules/strtoll (Files): Add lib/strtol.c.
12286         (Depends-on): Remove strtol.
12287
12288 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
12289
12290         inttypes: Move some configure check to module 'imaxdiv'.
12291         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
12292         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
12293         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
12294
12295 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
12296
12297         inttypes: Move some configure check to module 'imaxabs'.
12298         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
12299         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
12300         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
12301
12302 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
12303
12304         inttypes: Remove configure tests that are not needed since 2009-12-31.
12305         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
12306         gl_cv_header_working_inttypes_h.
12307
12308 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
12309
12310         * modules/strnlen (Depends-on): Remove memchr.
12311         The strnlen implementation doesn't need the memchr module's fixes; see
12312         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
12313
12314         strtol: remove dependency on wchar
12315         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
12316         * modules/strtol (Depends-on): Remove wchar.
12317
12318 2011-04-21  Eric Blake  <eblake@redhat.com>
12319
12320         passfd: fix test regression on Linux
12321         * modules/passfd-tests (configure.ac): Correct socketpair check.
12322
12323         passfd: speed up configure and drop unused code
12324         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
12325         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
12326         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
12327         Instead of probing at configure for unix_scm_rights_bsd44_way,
12328         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
12329         check to a struct member probe.
12330         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
12331         (sendfd, recvfd): Update preprocessor checks.
12332         * modules/passfd (Files): Reflect rename, and drop unused file.
12333         (Depends-on): Drop unused dependency.
12334
12335         passfd: allow compilation on mingw
12336         * modules/sys_socket (Depends-on): Add sys_uio.
12337         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
12338         iovec and a minimal struct msghdr.
12339         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
12340         * tests/test-sys_socket.c (main): Enhance test.
12341         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
12342         guaranteed to provide what we need.
12343         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
12344         * modules/passfd-tests (Depends-on): Add sys_wait.
12345         * tests/test-passfd.c (main): Skip test on mingw, for now.
12346         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
12347         partial 'struct msghdr' implementation.
12348
12349         sys_uio: new module
12350         * modules/sys_uio: New module.
12351         * modules/sys_uio-tests: Likewise.
12352         * lib/sys_uio.in.h: New file.
12353         * m4/sys_uio_h.m4: Likewise.
12354         * tests/test-sys_uio.c: Likewise.
12355         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
12356         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
12357
12358 2011-04-20  Jim Meyering  <meyering@redhat.com>
12359
12360         useless-if-before-free: avoid false-positive
12361         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
12362         disjunct so that it too requires a terminating ";".  Without that,
12363         this script would identify as useless one statement from gcc that
12364         was not:
12365           if (aligned_ptr)
12366             free (((void **) aligned_ptr) [-1]);
12367
12368 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
12369
12370         doc: update users.txt.
12371         * users.txt: Add barcode.
12372
12373 2011-04-19  Bruno Haible  <bruno@clisp.org>
12374
12375         ioctl: Remove link dependency on native Windows.
12376         * lib/fd-hook.h: Renamed from lib/close-hook.h.
12377         (gl_close_fn, gl_ioctl_fn): New types.
12378         (struct fd_hook): Renamed from struct close_hook. Change type of
12379         private_close_fn field. Add private_ioctl_fn field.
12380         (close_hook_fn): Add parameter for primary close method.
12381         (execute_close_hooks, execute_all_close_hooks): Likewise.
12382         (ioctl_hook_fn): New type.
12383         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
12384         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
12385         argument.
12386         (unregister_fd_hook): Renamed from unregister_close_hook.
12387         * lib/fd-hook.c: Renamed from lib/close-hook.c.
12388         Don't include <unistd.h>.
12389         (close): Remove undef.
12390         (anchor): Update.
12391         (execute_close_hooks): Add argument for primary close method.
12392         (execute_all_close_hooks): Likewise.
12393         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
12394         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
12395         argument. Allow each argument to be NULL.
12396         (unregister_fd_hook): Renamed from unregister_close_hook.
12397         * lib/close.c (rpl_close): Pass 'close' function pointer to
12398         execute_all_close_hooks.
12399         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
12400         (primary_ioctl): New function.
12401         (ioctl): Don't call ioctlsocket here. Instead, call
12402         execute_all_ioctl_hooks.
12403         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
12404         close method.
12405         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
12406         (fd_sockets_hook): Renamed from close_sockets_hook.
12407         (gl_sockets_startup, gl_sockets_cleanup): Update.
12408         * modules/fd-hook: Renamed from modules/close-hook. Update.
12409         * modules/close (Depends-on): Add fd-hook, remove close-hook.
12410         * modules/sockets (Depends-on): Likewise.
12411         * modules/ioctl (Depends-on): Add fd-hook.
12412         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
12413         GNULIB_SOCKET.
12414
12415 2011-04-19  Bruno Haible  <bruno@clisp.org>
12416
12417         Move the support of O_NONBLOCK in open() to the 'open' module.
12418         * modules/nonblocking (Depends-on): Remove 'open'.
12419         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
12420         gl_cv_have_open_O_NONBLOCK.
12421         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
12422         O_NONBLOCK support.
12423         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
12424
12425 2011-04-17  Bruno Haible  <bruno@clisp.org>
12426
12427         pipe2: Simplify code.
12428         * lib/pipe2.c (pipe2): Reduce code duplication.
12429
12430 2011-04-17  Bruno Haible  <bruno@clisp.org>
12431
12432         nonblocking: Add comment.
12433         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
12434
12435 2011-04-17  Bruno Haible  <bruno@clisp.org>
12436
12437         nonblocking: Add tests for sockets.
12438         * tests/test-nonblocking-socket.sh: New file.
12439         * tests/test-nonblocking-socket-main.c: New file.
12440         * tests/test-nonblocking-socket-child.c: New file.
12441         * tests/test-nonblocking-socket.h: New file.
12442         * tests/socket-server.h: New file.
12443         * tests/socket-client.h: New file.
12444         * modules/nonblocking-socket-tests: New file.
12445         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
12446
12447 2011-04-17  Bruno Haible  <bruno@clisp.org>
12448
12449         nonblocking: Add tests for pipes.
12450         * tests/test-nonblocking-pipe.sh: New file.
12451         * tests/test-nonblocking-pipe-main.c: New file.
12452         * tests/test-nonblocking-pipe-child.c: New file.
12453         * tests/test-nonblocking-pipe.h: New file.
12454         * tests/test-nonblocking-writer.h: New file.
12455         * tests/test-nonblocking-reader.h: New file.
12456         * tests/test-nonblocking-misc.h: New file.
12457         * modules/nonblocking-pipe-tests: New file.
12458         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
12459
12460 2011-04-16  Bruno Haible  <bruno@clisp.org>
12461
12462         gettext: Clarify the needed programmer actions.
12463         * modules/gettext (Notice): New field.
12464         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
12465
12466 2011-04-16  Bruno Haible  <bruno@clisp.org>
12467
12468         strchrnul: Tweak last commit.
12469         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
12470         bug.
12471         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
12472         as in _GL_FUNCDECL_SYS.
12473         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
12474         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
12475
12476 2011-04-15  Eric Blake  <eblake@redhat.com>
12477
12478         strchrnul: work around cygwin bug
12479         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
12480         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
12481         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
12482         * modules/string (Makefile.am): Substitute it.
12483         * lib/string.in.h (strchrnul): Use it.
12484
12485 2011-04-15  Bruno Haible  <bruno@clisp.org>
12486
12487         Don't require lib/stdio-write.c when only module 'stdio' is used.
12488         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
12489         invocation.
12490         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
12491
12492 2011-04-14  Bruno Haible  <bruno@clisp.org>
12493
12494         Support non-blocking pipe I/O in read() on native Windows.
12495         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
12496         (read): New declaration.
12497         * lib/read.c: New file.
12498         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
12499         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
12500         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
12501         vscanf): New declarations.
12502         * lib/stdio-read.c: New file.
12503         * m4/read.m4: New file.
12504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
12505         REPLACE_READ.
12506         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
12507         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
12508         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
12509         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
12510         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
12511         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
12512         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
12513         * modules/read: New file.
12514         * modules/nonblocking (Files): Add lib/stdio-read.c.
12515         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
12516         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
12517         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
12518         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
12519         * modules/pread (Depends-on): Add read.
12520         * modules/safe-read (Depends-on): Likewise.
12521         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
12522         gets, scanf, vfscanf, vscanf): Verify signatures.
12523         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
12524         problem with non-blocking pipes.
12525         * doc/posix-functions/fgetc.texi: Likewise.
12526         * doc/posix-functions/fgets.texi: Likewise.
12527         * doc/posix-functions/fread.texi: Likewise.
12528         * doc/posix-functions/fscanf.texi: Likewise.
12529         * doc/posix-functions/getc.texi: Likewise.
12530         * doc/posix-functions/getchar.texi: Likewise.
12531         * doc/posix-functions/gets.texi: Likewise.
12532         * doc/posix-functions/scanf.texi: Likewise.
12533         * doc/posix-functions/vfscanf.texi: Likewise.
12534         * doc/posix-functions/vscanf.texi: Likewise.
12535
12536 2011-04-14  Bruno Haible  <bruno@clisp.org>
12537
12538         Support non-blocking pipe I/O in write() on native Windows.
12539         * lib/write.c (rpl_write): Split a write request that failed merely
12540         because the byte count was larger than the pipe buffer's size.
12541         * doc/posix-functions/write.texi: Mention the problem with large byte
12542         counts.
12543
12544 2011-04-14  Bruno Haible  <bruno@clisp.org>
12545
12546         wchar: Ensure that wchar_t gets defined on uClibc.
12547         * lib/wchar.in.h: On uClibc, include <stddef.h>.
12548         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
12549
12550 2011-04-13  Bruno Haible  <bruno@clisp.org>
12551
12552         safe-write, full-read: Avoid unnecessary compilation units.
12553         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
12554         (Depends-on): Remove safe-read. Add ssize_t.
12555         * modules/full-read (Files): Add lib/full-write.c.
12556         (Depends-on): Add full-write.
12557
12558 2011-04-13  Bruno Haible  <bruno@clisp.org>
12559
12560         Support non-blocking pipe I/O and SIGPIPE in pwrite().
12561         * modules/pwrite (Depends-on): Add 'write'.
12562
12563 2011-04-13  Bruno Haible  <bruno@clisp.org>
12564
12565         Support non-blocking pipe I/O in write() on native Windows.
12566         * lib/unistd.in.h (write): Enable replacement also if
12567         GNULIB_UNISTD_H_NONBLOCKING is 1.
12568         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
12569         (rpl_write): When failing to write on a non-blocking pipe, change
12570         errno from ENOSPC to EAGAIN.
12571         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
12572         putchar, puts, vfprintf, vprintf): Enable replacement also if
12573         GNULIB_STDIO_H_NONBLOCKING is 1.
12574         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
12575         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
12576         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
12577         CALL_WITH_SIGPIPE_EMULATION.
12578         (CALL_WITH_SIGPIPE_EMULATION): Use them.
12579         * m4/nonblocking.m4: New file.
12580         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
12581         for non-blocking I/O support.
12582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12583         GNULIB_UNISTD_H_NONBLOCKING.
12584         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
12585         required for non-blocking I/O support.
12586         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
12587         * modules/nonblocking (Files): Add m4/nonblocking.m4,
12588         lib/stdio-write.c, m4/asm-underscore.m4.
12589         (Depends-on): Add stdio, unistd.
12590         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
12591         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
12592         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
12593         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
12594         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
12595         problem with non-blocking pipes.
12596         * doc/posix-functions/fputc.texi: Likewise.
12597         * doc/posix-functions/fputs.texi: Likewise.
12598         * doc/posix-functions/fwrite.texi: Likewise.
12599         * doc/posix-functions/printf.texi: Likewise.
12600         * doc/posix-functions/putc.texi: Likewise.
12601         * doc/posix-functions/putchar.texi: Likewise.
12602         * doc/posix-functions/puts.texi: Likewise.
12603         * doc/posix-functions/vfprintf.texi: Likewise.
12604         * doc/posix-functions/vprintf.texi: Likewise.
12605         * doc/posix-functions/write.texi: Likewise.
12606
12607 2011-04-10  Jim Meyering  <meyering@redhat.com>
12608
12609         maint.mk: prohibit doubled words
12610         Detect them also when they're separated by a newline.
12611         There are 3 ways to customize it:
12612           - disable the test on a per file basis, as usual with rules using
12613             $(VC_LIST_EXCEPT)
12614           - replace the default doubled-word-selecting regexp (affects all files)
12615           - ignore a particular file-vs-doubled-word match
12616         I nearly used that last one to ignore the "is is" match in
12617         coreutils' NEWS file, since the text was "ls -is is ..."
12618         To do that, I would have added this line to cfg.mk:
12619           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
12620         but it would have ignored any "is is" match in NEWS.
12621         Low probability, but still...
12622         Instead, I changed the text, slightly:
12623           -  ls -is is now consistent with ls -lis in ignoring values returned
12624           +  "ls -is" is now consistent with ls -lis in ignoring values returned
12625         * top/maint.mk (prohibit_double_word_RE_): Provide default.
12626         (prohibit_doubled_word_): Define.
12627         (sc_prohibit_doubled_word): New rule.
12628         (sc_prohibit_the_the): Remove.  Subsumed by the above.
12629
12630 2011-04-10  Jim Meyering  <meyering@redhat.com>
12631
12632         maint: fix doubled-word typo in comment
12633         * m4/gethostname.m4: s/is is/it is/
12634         * m4/getdomainname.m4: Likewise.
12635
12636 2011-04-10  Jim Meyering  <meyering@redhat.com>
12637
12638         maint: remove doubled word: s/it it/it/
12639         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
12640
12641 2011-04-10  Jim Meyering  <meyering@redhat.com>
12642
12643         maint.mk: remove useless semicolon and backslash
12644         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
12645         semicolon and backslash.
12646
12647 2011-04-10  Bruno Haible  <bruno@clisp.org>
12648
12649         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
12650         * modules/stdint-tests (Depends-on): Add wchar.
12651
12652 2011-04-10  Jim Meyering  <meyering@redhat.com>
12653
12654         maint: remove doubled words in comments, e.g., s/a a/a/
12655         * lib/strptime.c (day_of_the_week): s/the the/the/
12656         * tests/test-chown.h (test_chown): s/a a/a/
12657
12658         test-chown.h: correct a cast
12659         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
12660         when the destination is a stat.st_gid.
12661
12662 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
12663
12664         getaddrinfo: Fix test for sa_len member.
12665         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
12666         include <sys/types.h> before <sys/socket.h>.
12667
12668 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
12669
12670         maint: change "can not" to "cannot"
12671         * doc/posix-functions/iconv.texi (iconv): This one crossed line
12672         boundaries.
12673
12674 2011-04-09  Jim Meyering  <meyering@redhat.com>
12675
12676         maint: change "a a" to "a"
12677         * tests/test-lchown.h (test_lchown): s/a a/a/
12678
12679         maint.mk: prohibit \<the the\>
12680         * top/maint.mk (sc_prohibit_the_the): New rule.
12681
12682         maint: fix "the the" in comment
12683         * lib/count-one-bits.h: s/the the/the/
12684
12685         maint: change "can not" to "cannot"
12686         But do not change the occurrences in maintain.texi or in
12687         build-aux/po/Makefile.in.in, which I presume comes from gettext.
12688         * doc/gnulib-tool.texi: s/can not/cannot/
12689         * doc/posix-functions/accept.texi (accept): Likewise.
12690         * doc/posix-functions/socket.texi (socket): Likewise.
12691         * lib/mbrtowc.c: Likewise.
12692
12693         maint.mk: prohibit use of "can not"
12694         * top/maint.mk (sc_prohibit_can_not): New rule.
12695         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
12696
12697 2011-04-09  Bruno Haible  <bruno@clisp.org>
12698
12699         careadlinkat: Guard against misuse of careadlinkatcwd.
12700         * lib/careadlinkat.c: Include <stdlib.h>.
12701         (careadlinkatcwd): Check that the fd argument is as expected.
12702
12703 2011-04-09  Bruno Haible  <bruno@clisp.org>
12704
12705         careadlinkat: Use common coding style.
12706         * lib/careadlinkat.c: Move gnulib includes after system includes.
12707
12708 2011-04-09  Bruno Haible  <bruno@clisp.org>
12709
12710         careadlinkat: Clarify specification.
12711         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
12712         (careadlinkatcwd): Add comment.
12713         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
12714
12715 2011-04-09  Bruno Haible  <bruno@clisp.org>
12716
12717         areadlinkat: Avoid link error on many platforms.
12718         * modules/areadlinkat (Depends-on): Add areadlink.
12719
12720 2011-04-09  Bruno Haible  <bruno@clisp.org>
12721
12722         allocator, careadlinkat: Fix double-inclusion guard.
12723         * lib/allocator.h: Fix double-inclusion guard.
12724         * lib/careadlinkat.h: Likewise.
12725
12726 2011-04-09  Bruno Haible  <bruno@clisp.org>
12727
12728         relocatable-prog-wrapper: Update after module 'areadlink' changed.
12729         * lib/relocwrapper.c: Update dependencies hierarchy.
12730         * build-aux/install-reloc: Update list of files to be compiled.
12731         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
12732         lib/allocator.[hc].
12733
12734 2011-04-08  Eric Blake  <eblake@redhat.com>
12735
12736         strftime: silence gnulib-tool warning
12737         * modules/strftime-tests (Depends-on): Drop automatic dependency.
12738
12739 2011-04-08  Bruno Haible  <bruno@clisp.org>
12740
12741         verify: Fix syntax error with GCC 4.6 in C++ mode.
12742         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
12743         (HAVE_STATIC_ASSERT): New macro.
12744         (verify_true, verify): Use 'static_assert' if it is supported and
12745         '_Static_assert' is not supported.
12746
12747 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
12748
12749         allocator: New module.
12750         * modules/allocator, lib/allocator.c: New files.
12751         * lib/allocator.h (stdlib_allocator): New decl.
12752         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
12753         Remove.  Do not include <stdlib.h>.
12754         (careadlinkat): Use stdlib_allocator instead of rolling our own.
12755         * modules/careadlinkat (Files): Remove lib/allocator.h.
12756         (Depends-on): Add allocator.
12757
12758         stdlib: let modules use system malloc, realloc
12759         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
12760         if !_GL_USE_STDLIB_ALLOC.
12761         (malloc, realloc): Limit this change to a smaller scope.
12762
12763         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
12764         (malloc, realloc): Don't #undef; no longer needed.
12765         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12766         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12767         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
12768         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12769         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12770         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12771         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12772         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
12773
12774         careadlinkat: rename members to avoid problem
12775         * lib/allocator.h (struct allocator): Rename members from
12776         malloc/realloc to allocate/reallocate, to avoid problems if malloc
12777         and realloc are #define'd.  Reported by Eric Blake in
12778         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
12779         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
12780
12781 2011-04-08  Eric Blake  <eblake@redhat.com>
12782
12783         nonblocking: reduce dependency
12784         * tests/test-nonblocking.c: Only test sockets when in use.
12785         * modules/nonblocking-tests (Depends-on): Drop socket.
12786         (Makefile.am): Link even if sockets are not present.
12787         * modules/pipe2-tests (Makefile.am): Likewise.
12788         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
12789
12790         pipe2: fix O_NONBLOCK support on mingw
12791         * modules/pipe2 (Depends-on): Add nonblocking.
12792         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
12793         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
12794         * tests/test-nonblocking.c (main): Likewise.
12795         * modules/pipe2-tests (Makefile.am): Avoid link failure.
12796
12797         fcntl-h: fix O_ACCMODE on cygwin
12798         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
12799         * lib/fcntl.in.h (O_ACCMODE): Fix it.
12800
12801         pipe-filter: drop O_NONBLOCK workarounds
12802         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
12803         * modules/pipe-filter-ii (Depends-on): Likewise.
12804         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
12805
12806         nonblocking: provide O_NONBLOCK for mingw
12807         * modules/nonblocking (Depends-on): Add open.
12808         (configure.ac): Set new witness macro.
12809         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
12810         * modules/fcntl-h (Makefile.am): Substitute it.
12811         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
12812         nonblocking module is in use.
12813         * lib/nonblocking.c: Adjust portability test.
12814         * lib/open.c (open): Don't let native open see gnulib flag.
12815         * tests/test-fcntl-h.c (main): Enhance test.
12816         * tests/test-open.h (test_open): Likewise.
12817         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
12818
12819         careadlinkat: fix compilation error on mingw
12820         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
12821         within struct allocator.
12822
12823 2011-04-06  Eric Blake  <eblake@redhat.com>
12824
12825         binary-io: relicense under LGPLv2+
12826         * modules/binary-io (License): Relax to LGPLv2+.
12827         Requested for libvirt, and required by pipe2.
12828
12829 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
12830
12831         verify: use _Static_assert if available
12832         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
12833         (verify_true, verify): Use it if available.  This generates better
12834         diagnostics with GCC 4.6.0 and later.
12835
12836 2011-04-05  Bruno Haible  <bruno@clisp.org>
12837
12838         Remove leftover generated .h files after config.status changed.
12839
12840         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
12841         GL_GENERATE_ALLOCA_H.
12842         * modules/alloca-opt (Makefile.am): Remove alloca.h if
12843         GL_GENERATE_ALLOCA_H evaluates to false.
12844
12845         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
12846         GL_GENERATE_ARGZ_H.
12847         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
12848         evaluates to false.
12849
12850         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
12851         GL_GENERATE_BYTESWAP_H.
12852         * modules/byteswap (Makefile.am): Remove byteswap.h if
12853         GL_GENERATE_BYTESWAP_H evaluates to false.
12854
12855         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
12856         GL_GENERATE_ERRNO_H.
12857         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
12858         evaluates to false.
12859
12860         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
12861         GL_GENERATE_FLOAT_H.
12862         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
12863         evaluates to false.
12864
12865         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
12866         GL_GENERATE_FNMATCH_H.
12867         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
12868         GL_GENERATE_FNMATCH_H evaluates to false.
12869
12870         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
12871         GL_GENERATE_GLOB_H.
12872         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
12873         evaluates to false.
12874
12875         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
12876         automake conditional GL_GENERATE_ICONV_H.
12877         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
12878         evaluates to false.
12879
12880         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
12881         GL_GENERATE_NETINET_IN_H.
12882         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
12883         GL_GENERATE_NETINET_IN_H evaluates to false.
12884
12885         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
12886         conditional GL_GENERATE_PTHREAD_H.
12887         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
12888         * modules/pthread (Makefile.am): Remove pthread.h if
12889         GL_GENERATE_PTHREAD_H evaluates to false.
12890
12891         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
12892         GL_GENERATE_SCHED_H.
12893         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
12894         evaluates to false.
12895
12896         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
12897         conditional GL_GENERATE_SELINUX_CONTEXT_H.
12898         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
12899         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
12900
12901         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
12902         GL_GENERATE_STDARG_H.
12903         * modules/stdarg (Makefile.am): Remove stdarg.h if
12904         GL_GENERATE_STDARG_H evaluates to false.
12905
12906         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
12907         GL_GENERATE_STDBOOL_H.
12908         * modules/stdbool (Makefile.am): Remove stdbool.h if
12909         GL_GENERATE_STDBOOL_H evaluates to false.
12910
12911         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
12912         conditional GL_GENERATE_STDDEF_H.
12913         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
12914         * modules/stddef (Makefile.am): Remove stddef.h if
12915         GL_GENERATE_STDDEF_H evaluates to false.
12916
12917         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
12918         GL_GENERATE_STDINT_H.
12919         * modules/stdint (Makefile.am): Remove stdint.h if
12920         GL_GENERATE_STDINT_H evaluates to false.
12921
12922         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
12923         GL_GENERATE_SYSEXITS_H.
12924         * modules/sysexits (Makefile.am): Remove sysexits.h if
12925         GL_GENERATE_SYSEXITS_H evaluates to false.
12926
12927         Reported by Karl Berry and Ralf Wildenhues.
12928
12929 2011-04-05  Bruno Haible  <bruno@clisp.org>
12930
12931         Ensure to rebuild generated .h files when config.status has changed.
12932         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
12933         config.status.
12934         * modules/ctype (Makefile.am): Likewise.
12935         * modules/dirent (Makefile.am): Likewise.
12936         * modules/errno (Makefile.am): Likewise.
12937         * modules/fcntl-h (Makefile.am): Likewise.
12938         * modules/float (Makefile.am): Likewise.
12939         * modules/getopt-posix (Makefile.am): Likewise.
12940         * modules/glob (Makefile.am): Likewise.
12941         * modules/iconv-h (Makefile.am): Likewise.
12942         * modules/inttypes (Makefile.am): Likewise.
12943         * modules/langinfo (Makefile.am): Likewise.
12944         * modules/locale (Makefile.am): Likewise.
12945         * modules/math (Makefile.am): Likewise.
12946         * modules/netdb (Makefile.am): Likewise.
12947         * modules/netinet_in (Makefile.am): Likewise.
12948         * modules/poll-h (Makefile.am): Likewise.
12949         * modules/pthread (Makefile.am): Likewise.
12950         * modules/pty (Makefile.am): Likewise.
12951         * modules/sched (Makefile.am): Likewise.
12952         * modules/search (Makefile.am): Likewise.
12953         * modules/selinux-h (Makefile.am): Likewise.
12954         * modules/signal (Makefile.am): Likewise.
12955         * modules/spawn (Makefile.am): Likewise.
12956         * modules/stdarg (Makefile.am): Likewise.
12957         * modules/stdbool (Makefile.am): Likewise.
12958         * modules/stddef (Makefile.am): Likewise.
12959         * modules/stdint (Makefile.am): Likewise.
12960         * modules/stdio (Makefile.am): Likewise.
12961         * modules/stdlib (Makefile.am): Likewise.
12962         * modules/string (Makefile.am): Likewise.
12963         * modules/strings (Makefile.am): Likewise.
12964         * modules/sys_file (Makefile.am): Likewise.
12965         * modules/sys_ioctl (Makefile.am): Likewise.
12966         * modules/sys_select (Makefile.am): Likewise.
12967         * modules/sys_socket (Makefile.am): Likewise.
12968         * modules/sys_stat (Makefile.am): Likewise.
12969         * modules/sys_time (Makefile.am): Likewise.
12970         * modules/sys_times (Makefile.am): Likewise.
12971         * modules/sys_utsname (Makefile.am): Likewise.
12972         * modules/sys_wait (Makefile.am): Likewise.
12973         * modules/sysexits (Makefile.am): Likewise.
12974         * modules/termios (Makefile.am): Likewise.
12975         * modules/time (Makefile.am): Likewise.
12976         * modules/unistd (Makefile.am): Likewise.
12977         * modules/wchar (Makefile.am): Likewise.
12978         * modules/wctype-h (Makefile.am): Likewise.
12979         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
12980
12981 2011-04-05  Bruno Haible  <bruno@clisp.org>
12982
12983         pipe2: Relicense under LGPLv2+.
12984         * modules/pipe2 (License): Change to LGPLv2+.
12985         Requested by Eric Blake, for libvirt.
12986
12987 2011-04-05  Bruce Korb  <bkorb@gnu.org>
12988
12989         bootstrap: compute gnulib_extra_files after updating build_aux
12990         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
12991         change build_aux or also supply gnulib_extra_files.  Handle correctly.
12992
12993 2011-04-05  Eric Blake  <eblake@redhat.com>
12994
12995         bootstrap: preserve git whitelist item sorting
12996         * build-aux/bootstrap (sort_patterns): New function.
12997         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
12998
12999 2011-04-05  Simon Josefsson  <simon@josefsson.org>
13000
13001         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
13002         sc_space_tab check.
13003
13004 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
13005
13006         areadlink, areadlinkat: rewrite in terms of careadlinkat
13007         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
13008         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
13009         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
13010         (malloc, realloc): Remove #undefs.
13011         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
13012         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
13013         readlink, ssize_t, stdint, unistd.
13014         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
13015         areadlink, stdint.
13016
13017         careadlinkat: new module
13018         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
13019         * modules/careadlinkat: New files, written by me with
13020         a review and feedback from Ben Pfaff in
13021         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
13022
13023 2011-04-01  Bruno Haible  <bruno@clisp.org>
13024
13025         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
13026         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
13027         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
13028         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
13029         Reported by Bruce Korb <bruce.korb@gmail.com>.
13030
13031 2011-04-01  Bruno Haible  <bruno@clisp.org>
13032
13033         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
13034         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
13035         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
13036         * modules/wcpcpy (Depends-on): Add extensions.
13037         * modules/wcpncpy (Depends-on): Likewise.
13038         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
13039         systems.
13040         * doc/posix-functions/wcpncpy.texi: Likewise.
13041         * doc/posix-functions/wcwidth.texi: Likewise.
13042
13043 2011-03-31  Eric Blake  <eblake@redhat.com>
13044
13045         nonblocking: fix mingw test failures
13046         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
13047         non-blocking flag on regular file.
13048         (get_nonblocking_flag): Set errno on invalid fd.
13049         * tests/test-nonblocking.c (main): Avoid test failure on
13050         directories if fchdir is not active.
13051         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
13052
13053 2011-03-31  Bruno Haible  <bruno@clisp.org>
13054
13055         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
13056         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
13057         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
13058         Reported by Simon Josefsson <simon@josefsson.org>.
13059
13060 2011-03-31  Bruno Haible  <bruno@clisp.org>
13061         and Eric Blake  <eblake@redhat.com>
13062
13063         nonblocking: new module
13064         * modules/nonblocking: New module.
13065         * modules/nonblocking-tests: Likewise.
13066         * lib/nonblocking.h: New file.
13067         * lib/nonblocking.c: Likewise.
13068         * tests/test-nonblocking.c: New test.
13069         * lib/ioctl.c (ioctl) [mingw]: Update comment.
13070
13071 2011-03-30  Bruno Haible  <bruno@clisp.org>
13072
13073         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
13074         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
13075         instead of 'printf' format for GCC >= 4.4.
13076         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
13077         (fprintf, printf, vfprintf, vprintf): Declare with
13078         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
13079         the system's vfprintf() function.
13080         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
13081
13082 2011-03-30  Eric Blake  <eblake@redhat.com>
13083
13084         passfd: fix scoping bug
13085         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
13086         before sendmsg/recvmsg.
13087
13088         passfd: standardize coding conventions
13089         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
13090         can be learned at compile time.
13091         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
13092         ifdefs.
13093         (sendfd, recvfd): Follow gnulib code conventions.
13094
13095         passfd: fix incorrect sendmsg arguments
13096         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
13097         incorrect msg_controllen value.
13098         * modules/passfd-tests (Depends-on): Check for alarm.
13099         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
13100         Reported by Bastien ROUCARIES.
13101
13102 2011-03-30  Bruno Haible  <bruno@clisp.org>
13103
13104         c-strcasestr: Relicense under LGPLv2+.
13105         * modules/c-strcasestr (License): Change to LGPLv2+.
13106         Requested by Eric Blake, for libvirt.
13107
13108 2011-03-30  Simon Josefsson  <simon@josefsson.org>
13109
13110         * users.txt: Add libidn2.  Fix libtasn1 link.
13111
13112 2011-03-30  Jim Meyering  <meyering@redhat.com>
13113
13114         tests: readlink* ("",... fails with EINVAL on newer kernels
13115         readlink and readlinkat have typically failed with ENOENT for
13116         the invalid, empty file name,  "".  However, with the advent
13117         of linux-2.6.39, they fail with EINVAL.
13118         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
13119         when operating on the empty file name.
13120         * tests/test-readlink.h (test_readlink): Likewise.
13121
13122 2011-03-29  Bruno Haible  <bruno@clisp.org>
13123
13124         Relicense some modules under LGPLv2+, for libidn2.
13125         * modules/array-mergesort (License): Change to LGPLv2+.
13126         * modules/c-strcaseeq (License): Likewise.
13127         * modules/striconveh (License): Likewise.
13128         * modules/striconveha (License): Likewise.
13129         * modules/uniconv/base (License): Likewise.
13130         * modules/uniconv/u8-conv-from-enc (License): Likewise.
13131         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
13132         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
13133         * modules/unictype/base (License): Likewise.
13134         * modules/unictype/bidiclass-of (License): Likewise.
13135         * modules/unictype/category-M (License): Likewise.
13136         * modules/unictype/category-none (License): Likewise.
13137         * modules/unictype/category-of (License): Likewise.
13138         * modules/unictype/category-test (License): Likewise.
13139         * modules/unictype/category-test-withtable (License): Likewise.
13140         * modules/unictype/combining-class (License): Likewise.
13141         * modules/unictype/joiningtype-of (License): Likewise.
13142         * modules/unictype/scripts (License): Likewise.
13143         * modules/uninorm/base (License): Likewise.
13144         * modules/uninorm/canonical-decomposition (License): Likewise.
13145         * modules/uninorm/composition (License): Likewise.
13146         * modules/uninorm/decompose-internal (License): Likewise.
13147         * modules/uninorm/decomposition-table (License): Likewise.
13148         * modules/uninorm/nfc (License): Likewise.
13149         * modules/uninorm/nfd (License): Likewise.
13150         * modules/uninorm/u32-normalize (License): Likewise.
13151         * modules/unistr/base (License): Likewise.
13152         * modules/unistr/u32-cpy (License): Likewise.
13153         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
13154         * modules/unistr/u32-to-u8 (License): Likewise.
13155         * modules/unistr/u32-uctomb (License): Likewise.
13156         * modules/unistr/u8-check (License): Likewise.
13157         * modules/unistr/u8-mblen (License): Likewise.
13158         * modules/unistr/u8-mbtouc (License): Likewise.
13159         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
13160         * modules/unistr/u8-mbtoucr (License): Likewise.
13161         * modules/unistr/u8-prev (License): Likewise.
13162         * modules/unistr/u8-strlen (License): Likewise.
13163         * modules/unistr/u8-to-u32 (License): Likewise.
13164         * modules/unistr/u8-uctomb (License): Likewise.
13165         * modules/unitypes (License): Likewise.
13166         Requested by Simon Josefsson.
13167
13168 2011-03-29  Simon Josefsson  <simon@josefsson.org>
13169
13170         lib-symbol-visibility: Add a notice.
13171         * modules/lib-symbol-visibility (Notice): New field.
13172
13173 2011-03-29  Bruno Haible  <bruno@clisp.org>
13174
13175         getaddrinfo: Doc fix.
13176         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
13177         section "fixed in Gnulib".
13178
13179 2011-03-28  Simon Josefsson  <simon@josefsson.org>
13180
13181         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
13182         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
13183
13184 2011-03-26  Bruno Haible  <bruno@clisp.org>
13185
13186         unictype/property-byname: Reduce the number of load-time relocations.
13187         * lib/unictype/pr_byname.c: Include <stdlib.h>.
13188         (UC_PROPERTY_INDEX_*): New enumeration values.
13189         (uc_property_byname): Convert an index from the lookup table to an
13190         uc_property_t.
13191         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
13192         values.
13193
13194 2011-03-26  Bruno Haible  <bruno@clisp.org>
13195
13196         unictype/property-byname: Allow omitted word separators and aliases.
13197         * lib/unictype/pr_byname.gperf: Add property names without word
13198         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
13199         for 'space'.
13200
13201 2011-03-26  Bruno Haible  <bruno@clisp.org>
13202
13203         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
13204         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
13205         also hyphens to space.
13206         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
13207         without spaces.
13208         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
13209
13210 2011-03-26  Bruno Haible  <bruno@clisp.org>
13211
13212         unictype/joiningtype-byname: Recognize long names as well.
13213         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
13214         a long name.
13215         * lib/unictype/joiningtype_byname.c: Include <string.h>,
13216         unictype/joiningtype_byname.h.
13217         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
13218         * lib/unictype/joiningtype_byname.gperf: New file.
13219         * modules/unictype/joiningtype-byname (Files): Add
13220         lib/unictype/joiningtype_byname.gperf.
13221         (Depends-on): Add gperf.
13222         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
13223         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
13224         long names.
13225
13226         Tests for module 'unictype/joiningtype-longname'.
13227         * modules/unictype/joiningtype-longname-tests: New file.
13228         * tests/unictype/test-joiningtype_longname.c: New file.
13229
13230         New module 'unictype/joiningtype-longname'.
13231         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
13232         * lib/unictype/joiningtype_longname.c: New file.
13233         * modules/unictype/joiningtype-longname: New file.
13234         * modules/unictype/joiningtype-all (Depends-on): Add
13235         unictype/joiningtype-longname.
13236
13237 2011-03-26  Bruno Haible  <bruno@clisp.org>
13238
13239         unictype/bidiclass-byname: Recognize long names as well.
13240         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
13241         name.
13242         * lib/unictype/bidi_byname.c: Include <string.h>,
13243         unictype/bidi_byname.h.
13244         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
13245         * lib/unictype/bidi_byname.gperf: New file.
13246         * modules/unictype/bidiclass-byname (Files): Add
13247         lib/unictype/bidi_byname.gperf.
13248         (Depends-on): Add gperf.
13249         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
13250         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
13251         long names.
13252
13253         Tests for module 'unictype/bidiclass-longname'.
13254         * modules/unictype/bidiclass-longname-tests: New file.
13255         * tests/unictype/test-bidi_longname.c: New file.
13256
13257         New module 'unictype/bidiclass-longname'.
13258         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
13259         * lib/unictype/bidi_longname.c: New file.
13260         * modules/unictype/bidiclass-longname: New file.
13261         * modules/unictype/bidiclass-all (Depends-on): Add
13262         unictype/bidiclass-longname.
13263
13264 2011-03-26  Bruno Haible  <bruno@clisp.org>
13265
13266         unictype/bidi*: Rename modules.
13267         * modules/unictype/bidiclass-all: Renamed from
13268         modules/unictype/bidicategory-all.
13269         * modules/unictype/bidiclass-name: Renamed from
13270         modules/unictype/bidiclass-name.
13271         (Description): Update.
13272         * modules/unictype/bidiclass-name-tests: Renamed from
13273         modules/unictype/bidicategory-name-tests.
13274         * modules/unictype/bidiclass-byname: Renamed from
13275         modules/unictype/bidicategory-byname.
13276         (Description): Update.
13277         * modules/unictype/bidiclass-byname-tests: Renamed from
13278         modules/unictype/bidicategory-byname-tests.
13279         * modules/unictype/bidiclass-of: Renamed from
13280         modules/unictype/bidicategory-of.
13281         (Description): Update.
13282         * modules/unictype/bidiclass-of-tests: Renamed from
13283         modules/unictype/bidicategory-of-tests.
13284         * modules/unictype/bidiclass-test: Renamed from
13285         modules/unictype/bidicategory-test.
13286         (Description): Update.
13287         * modules/unictype/bidiclass-test-tests: Renamed from
13288         modules/unictype/bidicategory-test-tests.
13289         * modules/unictype/bidicategory-all: New file, a simple redirection.
13290         * modules/unictype/bidicategory-name: Likewise.
13291         * modules/unictype/bidicategory-byname: Likewise.
13292         * modules/unictype/bidicategory-of: Likewise.
13293         * modules/unictype/bidicategory-test: Likewise.
13294         * modules/unictype/property-bidi-* (Dependencies): Update.
13295         * lib/unictype/bidi_*.c: Update comment.
13296
13297 2011-03-26  Bruno Haible  <bruno@clisp.org>
13298
13299         unictype/bidi*: Rename functions, part 2.
13300         * modules/unictype/bidicategory-name (configure.ac): Update required
13301         libunistring version.
13302         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
13303
13304 2011-03-25  Bruno Haible  <bruno@clisp.org>
13305
13306         New module 'unictype/combining-class-all'.
13307         * modules/unictype/combining-class-all: New file.
13308
13309         Tests for module 'unictype/combining-class-byname'.
13310         * modules/unictype/combining-class-byname-tests: New file.
13311         * tests/unictype/test-combiningclass_byname.c: New file.
13312
13313         New module 'unictype/combining-class-byname'.
13314         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
13315         * lib/unictype/combiningclass_byname.c: New file.
13316         * lib/unictype/combiningclass_byname.gperf: New file.
13317         * modules/unictype/combining-class-byname: New file.
13318
13319         Tests for module 'unictype/combining-class-longname'.
13320         * modules/unictype/combining-class-longname-tests: New file.
13321         * tests/unictype/test-combiningclass_longname.c: New file.
13322
13323         New module 'unictype/combining-class-longname'.
13324         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
13325         * lib/unictype/combiningclass_longname.c: New file.
13326         * modules/unictype/combining-class-longname: New file.
13327
13328         Tests for module 'unictype/combining-class-name'.
13329         * modules/unictype/combining-class-name-tests: New file.
13330         * tests/unictype/test-combiningclass_name.c: New file.
13331
13332         New module 'unictype/combining-class-name'.
13333         * lib/unictype.in.h (uc_combining_class_name): New declaration.
13334         * lib/unictype/combiningclass_name.c: New file.
13335         * modules/unictype/combining-class-name: New file.
13336
13337 2011-03-25  Bruno Haible  <bruno@clisp.org>
13338
13339         unictype/combining-class: Rename source files.
13340         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
13341         of unictype/combining.h.
13342         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
13343         Update.
13344         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
13345         * modules/unictype/combining-class (Description): Fix.
13346         (Files, Makefile.am): Update.
13347         * tests/unictype/test-combiningclass.c: Renamed from
13348         tests/unictype/test-combining.c.
13349         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
13350
13351 2011-03-25  Bruno Haible  <bruno@clisp.org>
13352
13353         unictype: Update list of canonical combining classes.
13354         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
13355
13356 2011-03-25  Bruno Haible  <bruno@clisp.org>
13357
13358         unictype/category-byname: Recognize long names as well.
13359         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
13360         a long name.
13361         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
13362         unictype/categ_byname.h.
13363         (UC_CATEGORY_INDEX_*): New enumeration values.
13364         (uc_general_category_byname): Use uc_general_category_lookup and
13365         convert from index to value.
13366         * lib/unictype/categ_byname.gperf: New file.
13367         * modules/unictype/category-byname (Files): Add
13368         lib/unictype/categ_byname.gperf.
13369         (Depends-on): Add gperf.
13370         (Makefile.am): Add rule for generating unictype/categ_byname.h.
13371         * tests/unictype/test-categ_byname.c (main): Test the recognition of
13372         long names.
13373
13374         Tests for module 'unictype/category-longname'.
13375         * modules/unictype/category-longname-tests: New file.
13376         * tests/unictype/test-categ_longname.c: New file.
13377
13378         New module 'unictype/category-longname'.
13379         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
13380         * lib/unictype/categ_longname.c: New file.
13381         * modules/unictype/category-longname: New file.
13382         * modules/unictype/category-all (Depends-on): Add it.
13383
13384 2011-03-25  Bruno Haible  <bruno@clisp.org>
13385
13386         Tests for module 'unictype/category-LC'.
13387         * modules/unictype/category-LC-tests: New file.
13388         * tests/unictype/test-categ_LC.c: New file, automatically generated.
13389
13390         New module 'unictype/category-LC'.
13391         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
13392         (UC_CATEGORY_LC): New declaration.
13393         (UC_CASED_LETTER): New macro.
13394         * lib/gen-uni-tables.c (is_category_LC): New function.
13395         (output_categories): Also handle category LC.
13396         (UC_CATEGORY_MASK_LC): New enumeration value.
13397         (general_category_byname): Also handle category LC.
13398         * lib/unictype/categ_LC.c: New file.
13399         * lib/unictype/categ_LC.h: New file, automatically generated.
13400         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
13401         category LC.
13402         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
13403         * modules/unictype/category-LC: New file.
13404         * modules/unictype/category-byname (Depends-on): Add
13405         unictype/category-LC.
13406         * modules/unictype/category-all (Depends-on): Likewise.
13407
13408 2011-03-25  Eric Blake  <eblake@redhat.com>
13409
13410         xmalloc: revert yesterday's regression
13411         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
13412         realloc's underlying behavior (allowing allocation of zero-size
13413         objects, especially if malloc-gnu is also in use).
13414
13415 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
13416
13417         maint.mk: add missing version to VC-tag
13418         * top/maint.mk: git tag was missing actual tag name; add it.
13419
13420         valgrind: do leak checking, and exit with code 1 on error (not 0)
13421         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
13422         to VALGRIND.
13423
13424 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
13425
13426         posix-modules: say what it does.
13427         * posix-modules: Add a line to the --help output saying what it does.
13428
13429 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
13430
13431         xmalloc: Do not leak if underlying realloc is C99 compatible.
13432         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
13433         This avoids a leak on C99-based systems.  See
13434         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
13435
13436 2011-03-24  Eric Blake  <eblake@redhat.com>
13437
13438         realloc: document portability problem
13439         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
13440         passing 0 size to realloc.
13441
13442 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
13443
13444         doc: update users.txt
13445         * users.txt: Add cvsps, tmpwatch
13446
13447 2011-03-23  Matt Rice  <ratmice@gmail.com>
13448
13449         doc: update users.txt
13450         * users.txt: Add gdb.
13451
13452 2011-03-23  Jim Meyering  <meyering@redhat.com>
13453
13454         doc: update users.txt
13455         Looking through matches up to the following URL (there are still
13456         several more pages), I found several projects that use gnulib:
13457         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
13458         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
13459         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
13460
13461 2011-03-22  Bruno Haible  <bruno@clisp.org>
13462
13463         unictype/bidi*: Rename functions.
13464         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
13465         uc_bidi_class, uc_is_bidi_class): New declarations.
13466         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
13467         uc_bidi_category_byname.
13468         (uc_bidi_category_byname): New function.
13469         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
13470         u_bidi_category_name.
13471         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
13472         (uc_bidi_category_name): New function.
13473         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
13474         uc_bidi_category.
13475         (uc_bidi_category): New function.
13476         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
13477         uc_is_bidi_category. Invoke uc_bidi_class.
13478         (uc_is_bidi_category): New function.
13479         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
13480         instead of uc_bidi_category_byname.
13481         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
13482         instead of uc_bidi_category_name.
13483         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
13484         uc_bidi_category.
13485         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
13486         instead of uc_is_bidi_category.
13487
13488 2011-03-21  Bruno Haible  <bruno@clisp.org>
13489
13490         New module 'unictype/joininggroup-all'.
13491         * modules/unictype/joininggroup-all: New file.
13492
13493         Tests for module 'unictype/joininggroup-of'.
13494         * modules/unictype/joininggroup-of-tests: New file.
13495         * tests/unictype/test-joininggroup_of.c: New file.
13496         * tests/unictype/test-joininggroup_of.h: New file, automatically
13497         generated by gen-uni-tables.
13498
13499         New module 'unictype/joininggroup-of'.
13500         * modules/unictype/joininggroup-of: New file.
13501         * lib/unictype/joininggroup_of.c: New file.
13502         * lib/unictype/joininggroup_of.h: New file, automatically generated by
13503         gen-uni-tables.
13504
13505         Tests for module 'unictype/joininggroup-byname'.
13506         * modules/unictype/joininggroup-byname-tests: New file.
13507         * tests/unictype/test-joininggroup_byname.c: New file.
13508
13509         New module 'unictype/joininggroup-byname'.
13510         * modules/unictype/joininggroup-byname: New file.
13511         * lib/unictype/joininggroup_byname.c: New file.
13512         * lib/unictype/joininggroup_byname.gperf: New file.
13513
13514         Tests for module 'unictype/joininggroup-name'.
13515         * modules/unictype/joininggroup-name-tests: New file.
13516         * tests/unictype/test-joininggroup_name.c: New file.
13517
13518         New module 'unictype/joininggroup-name'.
13519         * modules/unictype/joininggroup-name: New file.
13520         * lib/unictype/joininggroup_name.c: New file.
13521         * lib/unictype/joininggroup_name.h: New file.
13522
13523         New module 'unictype/joiningtype-all'.
13524         * modules/unictype/joiningtype-all: New file.
13525
13526         Tests for module 'unictype/joiningtype-of'.
13527         * modules/unictype/joiningtype-of-tests: New file.
13528         * tests/unictype/test-joiningtype_of.c: New file.
13529         * tests/unictype/test-joiningtype_of.h: New file, automatically
13530         generated by gen-uni-tables.
13531
13532         New module 'unictype/joiningtype-of'.
13533         * modules/unictype/joiningtype-of: New file.
13534         * lib/unictype/joiningtype_of.c: New file.
13535         * lib/unictype/joiningtype_of.h: New file, automatically generated by
13536         gen-uni-tables.
13537
13538         Tests for module 'unictype/joiningtype-byname'.
13539         * modules/unictype/joiningtype-byname-tests: New file.
13540         * tests/unictype/test-joiningtype_byname.c: New file.
13541
13542         New module 'unictype/joiningtype-byname'.
13543         * modules/unictype/joiningtype-byname: New file.
13544         * lib/unictype/joiningtype_byname.c: New file.
13545
13546         Tests for module 'unictype/joiningtype-name'.
13547         * modules/unictype/joiningtype-name-tests: New file.
13548         * tests/unictype/test-joiningtype_name.c: New file.
13549
13550         New module 'unictype/joiningtype-name'.
13551         * modules/unictype/joiningtype-name: New file.
13552         * lib/unictype/joiningtype_name.c: New file.
13553
13554         unictype: Add support for Arabic shaping properties.
13555         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
13556         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
13557         declarations.
13558         (UC_JOINING_GROUP_*): New enumeration values.
13559         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
13560         declarations.
13561         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
13562         (unicode_joining_type): New variable.
13563         (UC_JOINING_GROUP_*): New enumeration values.
13564         (unicode_joining_group): New variable.
13565         (fill_arabicshaping, joining_type_as_c_identifier,
13566         output_joining_type_test, output_joining_type,
13567         joining_group_as_c_identifier, output_joining_group_test,
13568         output_joining_group): New functions.
13569         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
13570         fill_arabicshaping and output_joining_type_test, output_joining_type,
13571         output_joining_group_test, output_joining_group.
13572         Reported by Simon Josefsson.
13573
13574 2011-03-21  Jim Meyering  <meyering@redhat.com>
13575
13576         strftime: fix a bug in yesterday's change
13577         * lib/strftime.c (add): Accommodate width's initial value of -1.
13578         Otherwise, nstrftime would copy uninitialized data into
13579         the result buffer.
13580
13581 2011-03-21  Jim Meyering  <meyering@redhat.com>
13582
13583         tests: add strftime-tests module
13584         * tests/test-strftime.c: New file.
13585         * modules/strftime-tests: New module.
13586
13587 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13588
13589         strftime: don't assume a byte count fits in 'int'
13590         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
13591         found this problem by static analysis, using gcc -Wstrict-overflow
13592         (GCC 4.5.2, x86-64).  This reported an optimization that depended
13593         on an integer overflow having undefined behavior, but it turns out
13594         that the argument is a size, which might not fit in 'int' anyway,
13595
13596 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13597
13598         stdio: don't require ignore_value around fwrite
13599
13600         This patch works around libc bug 11959
13601         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
13602         Without this patch, applications must often write
13603         ignore_value (fwrite (...)) even though the ignore_value is
13604         not helpful here.  It's common to write many objects, using
13605         fwrite/printf/etc., and then use ferror to detect output error.
13606
13607         I considered making this patch optional, but decided against it,
13608         because libc is obviously being inconsistent here: there is no
13609         reason libc should insist that user code must inspect fwrite
13610         return's value without also insisting that it inspect printf's,
13611         putchar's, etc.  If user code wants to have a strict style where
13612         all these functions' values are checked (so that ferror need not
13613         be checked), we could add support for that style in a new gnulib
13614         module, but in the meantime it's better to be consistent and to
13615         support common usage.
13616
13617         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
13618         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
13619         that we are compiling in checking mode, and if not C++, and
13620         if not already wrapping fwrite for some other reason.
13621         (fwrite): #define to rpl_fwrite if the latter is defined.
13622
13623 2011-03-20  Bruno Haible  <bruno@clisp.org>
13624
13625         verror: Fix compilation error introduced on 2011-02-13.
13626         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
13627         instead of __attribute__.
13628         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13629
13630 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13631             Bruno Haible  <bruno@clisp.org>
13632
13633         socklen: do not depend on sys_socket
13634         While trying to modify Emacs to use gnulib's socklen module,
13635         I discovered a circular dependency: socklen depends on sys_socket
13636         and vice versa.  Emacs can use socklen, but it does not need
13637         sys_socket because it has its own substitute for sys/socket.h.
13638         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
13639         gl_TYPE_SOCKLEN_T.
13640         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
13641         gl_PREREQ_SYS_H_SOCKET.
13642         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
13643         gl_PREREQ_SYS_H_SOCKET.
13644         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
13645         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
13646         * modules/socklen (Depends-on): Do not depend on sys_socket.
13647         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
13648
13649 2011-03-20  Jim Meyering  <meyering@redhat.com>
13650
13651         maint.mk: sort file names *after* new transformation
13652         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
13653         prefix would have led to an unwarranted failure in GNU parted.
13654         Sort after that transformation.
13655
13656 2011-03-19  Jim Meyering  <meyering@redhat.com>
13657
13658         maint.mk: fix po-file syntax-check rule
13659         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
13660         Patch by Bruno Haible.
13661
13662 2011-03-19  Bruno Haible  <bruno@clisp.org>
13663
13664         socklen: Update comment.
13665         * m4/socklen.m4: Update comment about platforms.
13666
13667 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13668             Bruno Haible  <bruno@clisp.org>
13669
13670         inet_ntop, inet_pton: Simplify.
13671         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
13672         documented to provide socklen_t and we already depend on sys_socket.
13673         * modules/inet_pton (Depends-on): Likewise.
13674         * lib/arpa_inet.in.h: Adjust comment.
13675
13676 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13677             Bruno Haible  <bruno@clisp.org>
13678
13679         netdb: Simplify.
13680         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
13681         documented to provide socklen_t and we already depend on sys_socket.
13682         * lib/netdb.in.h: Adjust comment.
13683
13684 2011-03-19  Bruno Haible  <bruno@clisp.org>
13685
13686         sys_socket, netdb: Document problem with socklen_t.
13687         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
13688         platforms.
13689         * doc/posix-headers/netdb.texi: Likewise.
13690
13691 2011-03-18  Eric Blake  <eblake@redhat.com>
13692
13693         maint.mk: let po check work in VPATH build
13694         * top/maint.mk (po_file): Allow cfg.mk override.
13695         (sc_po_check): Allow VPATH use.
13696         Reported by Jiri Denemark.
13697
13698 2011-03-16  Jim Meyering  <meyering@redhat.com>
13699
13700         maint.mk: allow fine-grained syntax-check exclusion via Make variables
13701         Before, you would have had to create one .x-sc_ file per rule in order
13702         to exempt offending files.  Now, you may instead use a Make variable --
13703         usually defined in cfg.mk -- whose name identifies the affected rule.
13704         * top/maint.mk (_sc_excl): Define.
13705         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
13706         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
13707
13708 2011-03-13  Bruno Haible  <bruno@clisp.org>
13709
13710         ignore-value tests: Avoid warnings.
13711         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
13712         empty for gcc < 3.4.
13713
13714 2011-03-13  Bruno Haible  <bruno@clisp.org>
13715
13716         passfd: Fix link error on Solaris.
13717         * modules/passfd (Description): Correct.
13718         (Depends-on): Add socketlib.
13719         (Link): New section.
13720         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
13721
13722 2011-03-13  Bruno Haible  <bruno@clisp.org>
13723
13724         passfd: Fix link error on AIX 5.2.
13725         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
13726
13727 2011-03-13  Bruno Haible  <bruno@clisp.org>
13728
13729         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
13730         * lib/sys_socket.in.h: Include <stddef.h>.
13731         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
13732         CMSG_FIRSTHDR. Remove unused variable.
13733
13734 2011-03-13  Bruno Haible  <bruno@clisp.org>
13735
13736         passfd: Fix compilation error on OpenBSD.
13737         * lib/passfd.c: Include <sys/uio.h>.
13738
13739 2011-03-13  Bruno Haible  <bruno@clisp.org>
13740
13741         passfd test: Fix warnings.
13742         * tests/test-passfd.c: Include <sys/wait.h>.
13743         (main): Fix typo.
13744
13745 2011-03-13  Bruno Haible  <bruno@clisp.org>
13746
13747         passfd module, part 4, tweaks.
13748         * tests/test-passfd.c: Reorder includes.
13749         (main): Fix perror and printf calls.
13750
13751 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13752
13753         passfd module, part 4.
13754         * modules/passfd-tests: New file.
13755         * tests/test-passfd.c: New file.
13756
13757 2011-03-13  Jim Meyering  <meyering@redhat.com>
13758
13759         Makefile: rely on GNU make; derive syntax-check rule names
13760         Rather than requiring that each sc_ rule be listed as a dependent
13761         of "check", use features of GNU make to derive the list.
13762         * Makefile (syntax-check-rules): Define.
13763         (check): Depend on the new variable, not the hard-coded list.
13764
13765 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
13766             Bruno Haible  <bruno@clisp.org>
13767
13768         passfd module, part 3.
13769         * lib/passfd.h (recvfd): Add a flags argument.
13770         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
13771         (recvfd): Add a flags argument.
13772         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
13773         exists.
13774         * modules/passfd (Depends-on): Add cloexec.
13775         Suggested by Eric Blake.
13776
13777 2011-03-13  Bruno Haible  <bruno@clisp.org>
13778
13779         passfd module, part 2, tweaks.
13780         * modules/passfd (Files): Reorder.
13781         (Depends-on): Remove errno.
13782         (Include): Remove <sys/socket.h>, <sys/un.h>.
13783         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
13784         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
13785         specification header. Include <sys/socket.h> always. Don't include
13786         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
13787         (sendfd): Clarify that it sets errno when it fails.
13788         (recvfd): Fix specification.
13789
13790 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13791
13792         passfd module, part 2.
13793         * modules/passfd: New file.
13794         * lib/passfd.h: New file.
13795         * lib/passfd.c: New file.
13796
13797 2011-03-12  Bruno Haible  <bruno@clisp.org>
13798
13799         wcswidth, mbswidth: Avoid integer overflow.
13800         * lib/wcswidth.c: Include <limits.h>.
13801         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
13802         * lib/mbswidth.c: Include <limits.h>.
13803         (mbsnwidth): Avoid 'int' overflow.
13804         Reported by Jim Meyering.
13805
13806 2011-03-12  Bruno Haible  <bruno@clisp.org>
13807
13808         futimens, utimensat: Avoid endless recursion on Solaris 10.
13809         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
13810         Solaris.
13811         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
13812         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
13813
13814 2011-03-11  Jim Meyering  <meyering@redhat.com>
13815
13816         maint.mk: relax a regexp to accommodate other formatting styles
13817         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
13818         between "ngettext" and the following "(".
13819
13820 2011-03-11  Pádraig Brady <P@draigBrady.com>
13821
13822         maint.mk: suppress a false positive warning
13823         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
13824         diagnostics are marked with ngettext.
13825
13826 2011-03-10  Eric Blake  <eblake@redhat.com>
13827
13828         wchar: add explicit dependencies, for Tru64
13829         * modules/mbmemcasecoll (Depends-on): Add wchar.
13830         * modules/mbtowc (Depends-on): Likewise.
13831         * modules/vasnprintf (Depends-on): Likewise.
13832         * modules/unistdio/u-printf-args (Depends-on): Likewise.
13833         * modules/wctomb (Depends-on): Likewise.
13834         Reported by Peter O'Gorman.
13835
13836 2011-03-08  Bruno Haible  <bruno@clisp.org>
13837
13838         passfd module, part 1, tweaks.
13839         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
13840         Improve indentation. Improve AC_MSG_CHECKING messages.
13841         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
13842         gl_SOCKET_FAMILIES.
13843
13844 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13845
13846         passfd module, part 1.
13847         * m4/afunix.m4: New file.
13848         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
13849         sockets.
13850
13851 2011-03-08  Bruno Haible  <bruno@clisp.org>
13852
13853         regex-quote: New API.
13854         * lib/regex-quote.h: Include <stdbool.h>.
13855         (struct regex_quote_spec): New type.
13856         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13857         New declarations.
13858         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13859         'const struct regex_quote_spec *' argument.
13860         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
13861         (pcre_special): New constant.
13862         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13863         New functions.
13864         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13865         'const struct regex_quote_spec *' argument.
13866         * modules/regex-quote (Depends-on): Add stdbool.
13867         * tests/test-regex-quote.c (check): Update for new API. Add test for
13868         anchored results.
13869         * NEWS: Mention the API change.
13870         Reported by Reuben Thomas and Eric Blake.
13871
13872 2011-03-06  Bruno Haible  <bruno@clisp.org>
13873
13874         regex-quote: Fix creation of POSIX extended regular expressions.
13875         * lib/regex-quote.c (ere_special): Add grouping and alternation
13876         operators.
13877
13878 2011-03-05  Bruno Haible  <bruno@clisp.org>
13879
13880         doc: Improve doc regarding autopoint vs. gnulib.
13881         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
13882         disable autopoint while running autoreconf.
13883         Suggested by Ralf Wildenhues.
13884
13885 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13886
13887         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
13888         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
13889
13890 2011-03-03  Bruce Korb  <bkorb@gnu.org>
13891
13892         parse-duration: remove xalloc.h dependency
13893         * lib/parse-duration.c (parse_period): handle NULL return from
13894         strdup instead of calling xstrdup().
13895         * modules/parse-duration: remove "xalloc" dependency
13896
13897 2011-03-03  Matthew Booth  <mbooth@redhat.com>
13898
13899         bootstrap: honor m4_base when running aclocal
13900         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
13901
13902 2011-03-02  Jim Meyering  <meyering@redhat.com>
13903
13904         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
13905         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
13906         on request from Matt Booth.
13907
13908 2011-03-01  Eric Blake  <eblake@redhat.com>
13909
13910         test-link: work on Hurd
13911         * tests/test-link.h (test_link): Hurd rejects linking directories
13912         with EISDIR instead of the POSIX-mandated EPERM.
13913
13914 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
13915
13916         stdio: simplify by moving files to printf-posix, sigpipe
13917         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
13918         since this symbol is needed only if printf is replaced.
13919         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
13920         Require gl_ASM_SYMBOL_PREFIX.
13921         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
13922         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
13923         (Depends-on): Add 'raise'.
13924         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
13925         * modules/stdio (Files): Remove lib/stdio-write.c,
13926         m4/asm-underscore.m4.
13927         (Depends-on): Remove 'raise'.
13928
13929         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
13930         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
13931         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
13932         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
13933
13934 2011-02-28  Bruno Haible  <bruno@clisp.org>
13935
13936         localcharset: Assume ANSI C behaviour of free().
13937         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
13938         calling free().
13939         Suggested by Simon Josefsson <simon@josefsson.org>.
13940
13941 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
13942             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
13943             Bruno Haible  <bruno@clisp.org>  (tiny change)
13944
13945         On Cygwin, use /proc file system instead of win32 API.
13946         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
13947         Win32 file names.
13948         (DllMain): Simplify by removing Cygwin specific code.
13949         (find_shared_library_fullname): Use Linux specific implementation also
13950         for Cygwin.
13951         (get_shared_library_fullname): Update accordingly.
13952         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
13953         Win32 file names.
13954         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
13955         Cygwin specific code.
13956
13957 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
13958             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
13959
13960         Fix OpenMP flag detection for various Fortran compilers.
13961         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
13962         OpenMP-conditional compilation construct, to force compile
13963         failure with missing OpenMP flag.
13964         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
13965
13966 2011-02-25  Eric Blake  <eblake@redhat.com>
13967
13968         strstr: expand test coverage
13969         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
13970         compilation.
13971         * tests/test-memmem.c (main): Duplicate tests.
13972         * tests/test-strcasestr.c (main): Likewise.
13973         * tests/test-c-strcasestr.c (main): Likewise.
13974
13975 2011-02-25  Jim Meyering  <meyering@redhat.com>
13976
13977         maint.mk: detect missing-NL-at-EOF, too
13978         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
13979         it also detects when a file lacks a newline at EOF.
13980         (require_exactly_one_NL_at_EOF_): Renamed from
13981         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
13982         since people may well have .x-sc_... file names tied to the
13983         existing name.  Suggested by Eric Blake.
13984
13985 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13986
13987         dirname: move m4/dos.m4 functionality into lib/dosname.h
13988
13989         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
13990         extracts symbols from it, puts them into config.h; but it's much
13991         easier to use the symbols directly.  filename.h already does this,
13992         but it disagrees with dos.m4 in some respects.  This patch
13993         introduces a different include file dosname.h that packages up
13994         dos.m4, and then later we can work on merging filename.h and
13995         dosname.h.  Applications that need only the easy-to-configure
13996         symbols should consider including dosname.h rather than dirname.h.
13997         * NEWS: Mention incompatible changes.
13998         * m4/dos.m4: Remove.
13999         * lib/dosname.h, modules/dosname: New files.
14000         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
14001         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
14002         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
14003         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
14004         Include dosname.h, not dirname.h.
14005         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
14006         Include dosname.h, for definitions of symbols like ISSLASH
14007         that used to be in config.h.
14008         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
14009         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
14010         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
14011         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
14012         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
14013         * modules/rmdir (Files): Likewise.
14014         * modules/stat (Files): Likewise.
14015         * modules/unlink (Files): Likewise.
14016         * modules/dirname-lgpl (Depends-on): Add dosname.
14017         * modules/lstat (Depends-on): Likewise.
14018         * modules/openat (Depends-on): Likewise.
14019         * modules/rmdir (Depends-on): Likewise.
14020         * modules/savewd (Depends-on): Likewise.
14021         * modules/stat (Depends-on): Likewise.
14022         * modules/unlink (Depends-on): Likewise.
14023         * modules/openat (Depends-on): Remove dirname-lgpl.
14024         * modules/savewd (Depends-on): Likewise.
14025         * tests/test-dirname.c: Do not use removed symbols like
14026         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
14027         the remaining symbols, e.g., ISSLASH ('\\').
14028
14029 2011-02-25  Eric Blake  <eblake@redhat.com>
14030
14031         strstr: revert patches that introduced bug and pessimization
14032         * lib/str-two-way.h: Add another reference.
14033         (two_way_short_needle, two_way_long_needle): Revert changes from
14034         2011-02-24; they pessimize search speed.
14035         (critical_factorization): Partially revert changes from
14036         2010-06-22; they violate the requirement that the left half of the
14037         needle be smaller than the period of the needle.
14038
14039 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14040
14041         filenamecat: remove unnecessary dependency on dirname-lgpl
14042         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
14043         is no direct dependency, just an indirect one via filenamecat-lgpl.
14044
14045         remove: remove unnecessary use of m4/dos.m4
14046         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
14047         * modules/remove (FILES): Remove m4/dos.m4.
14048
14049         * lib/openat-proc.c: Don't include dirname.h; not needed.
14050
14051         backupfile: remove unnecessary use of m4/dos.m4
14052         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
14053         of its symbols are used by the backupfile code.  backupfile.c does
14054         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
14055         for the rare case of programs that want all their backup file
14056         names to live within 8+3 limits, and dos.m4 doesn't address that.
14057         * modules/backupfile (Files): Remove m4/dos.m4.
14058
14059 2011-02-24  Jim Meyering  <meyering@redhat.com>
14060
14061         strstr: fix a bug whereby strstr would mistakenly return NULL
14062         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
14063         in period calculation.
14064         (two_way_long_needle): Likewise.
14065         The original problem was reported by Mike Stump in
14066         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
14067         Ralf Wildenhues provided the short needle and haystack.
14068         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
14069         Add a more involved test to trigger the bug in two_way_long_needle.
14070
14071 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
14072
14073         gnulib-tool: remove use of bold display in help screen
14074         * gnulib-tool (func_usage): Do not use bold display anymore in the
14075         help screen.  That was just meant to be a temporary emphasis for a
14076         backward-incompatible change.
14077
14078 2011-02-23  Bruno Haible  <bruno@clisp.org>
14079
14080         Fix misindentation of preprocessor directives.
14081         * lib/argp-namefrob.h: Reindent preprocessor directives.
14082         * lib/getopt_int.h (struct _getopt_data): Likewise.
14083         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
14084         * lib/vasnprintf.c (decode_long_double): Likewise.
14085         * tests/test-argmatch.c: Insert blank lines, for clarity.
14086         * tests/test-exclude.c: Likewise.
14087
14088 2011-02-22  Bruno Haible  <bruno@clisp.org>
14089
14090         ioctl: Fix for MacOS X in 64-bit mode.
14091         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
14092         value.
14093         Suggested by Eric Blake.
14094         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
14095
14096 2011-02-22  Jim Meyering  <meyering@redhat.com>
14097
14098         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
14099         * Makefile (sc_cpp_indent_check): Don't limit the check to files
14100         in lib/.
14101
14102 2011-02-22  Eric Blake  <eblake@redhat.com>
14103
14104         maint: avoid any CDPATH issue
14105         * Makefile (sc_cpp_indent_check): Anchor cd argument.
14106
14107         maint: adjust cpp indentation for my modules, as well
14108         * Makefile (sc_cpp_indent_check): Add my name.
14109         * lib/fbufmode.c: Filter through cppi.
14110         * lib/fpurge.c: Likewise.
14111         * lib/freadable.c: Likewise.
14112         * lib/freading.c: Likewise.
14113         * lib/fwritable.c: Likewise.
14114         * lib/fwriting.c: Likewise.
14115         * lib/sigaction.c: Likewise.
14116
14117 2011-02-22  Jim Meyering  <meyering@redhat.com>
14118
14119         maint: adjust cpp indentation to reflect nesting depth
14120         I.e., in a block of code that begins with an unnested "#if",
14121         put one space between the "#" in column 1 and following token.
14122         For example,
14123         -#include <sys/vfs.h>
14124         +# include <sys/vfs.h>
14125         Do this only in .c files that are part of a module I maintain.
14126         * lib/linkat.c: Filter through cppi.
14127         * lib/nanosleep.c: Likewise.
14128         * lib/openat.c: Likewise.
14129         * lib/openat-die.c: Likewise.
14130         * lib/dup3.c: Likewise.
14131         * lib/fchownat.c: Likewise.
14132         * lib/flock.c: Likewise.
14133         * lib/fsync.c: Likewise.
14134         * lib/fts.c: Likewise.
14135         * lib/getpass.c: Likewise.
14136         * lib/gettimeofday.c: Likewise.
14137         * lib/userspec.c: Likewise.
14138         * Makefile (sc_cpp_indent_check): New rule, to check this.
14139
14140 2011-02-22  Bruno Haible  <bruno@clisp.org>
14141
14142         New module 'wctomb'.
14143         * lib/stdlib.in.h (wctomb): New declaration.
14144         * lib/wctomb.c: New file.
14145         * lib/wctomb-impl.h: New file.
14146         * m4/wctomb.m4: New file.
14147         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
14148         REPLACE_WCTOMB.
14149         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
14150         REPLACE_WCTOMB.
14151         * modules/wctomb: New file.
14152         * tests/test-stdlib-c++.cc: Test signature of wctomb.
14153         * doc/posix-functions/wctomb.texi: Mention the new module.
14154         * modules/wctob (Depends-on): Add wctomb.
14155
14156 2011-02-22  Bruno Haible  <bruno@clisp.org>
14157
14158         New module 'mbtowc'.
14159         * lib/stdlib.in.h (mbtowc): New declaration.
14160         * lib/mbtowc.c: New file.
14161         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
14162         * m4/mbtowc.m4: New file.
14163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
14164         REPLACE_MBTOWC.
14165         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
14166         REPLACE_MBTOWC.
14167         * modules/mbtowc: New file.
14168         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
14169         * doc/posix-functions/mbtowc.texi: Mention the new module.
14170         * modules/btowc (Depends-on): Add mbtowc.
14171
14172 2011-02-22  Bruno Haible  <bruno@clisp.org>
14173
14174         wcrtomb: Add more tests for native Windows platforms.
14175         * tests/test-wcrtomb-w32-1.sh: New file.
14176         * tests/test-wcrtomb-w32-2.sh: New file.
14177         * tests/test-wcrtomb-w32-3.sh: New file.
14178         * tests/test-wcrtomb-w32-4.sh: New file.
14179         * tests/test-wcrtomb-w32-5.sh: New file.
14180         * tests/test-wcrtomb-w32.c: New file.
14181         * modules/wcrtomb-tests (Files): Add them.
14182         (Makefile.am): Arrange to run these tests.
14183         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
14184         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
14185
14186 2011-02-20  Bruno Haible  <bruno@clisp.org>
14187
14188         wcrtomb: Enhance test.
14189         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
14190
14191 2011-02-20  Bruno Haible  <bruno@clisp.org>
14192
14193         mbrtowc: Tiny optimization.
14194         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
14195
14196 2011-02-20  Jim Meyering  <meyering@redhat.com>
14197
14198         test-exclude.c: remove unmatched #endif
14199         * tests/test-exclude.c: Remove stray #endif, left over from
14200         the change of a week ago.
14201
14202 2011-02-19  Jim Meyering  <meyering@redhat.com>
14203
14204         git-version-gen: skip "-dirty" check when appropriate
14205         * build-aux/git-version-gen: Don't run any git commands when the
14206         version string comes from .tarball-version.  Prior to this, we
14207         would run git update-index --refresh even from a just-unpacked
14208         tarball directory, and that could affect a .git/ directory in a
14209         parent of the build directory.  Reported by Mike Frysinger.
14210
14211 2011-02-19  Bruno Haible  <bruno@clisp.org>
14212
14213         unictype/property-byname: Reduce the size of the 'data' segment.
14214         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
14215
14216 2011-02-19  Bruno Haible  <bruno@clisp.org>
14217
14218         unictype/scripts: Reduce the size of the 'data' segment.
14219         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
14220         '%pic'.
14221         * lib/unictype/scripts_byname.gperf: Regenerated.
14222
14223 2011-02-19  Bruno Haible  <bruno@clisp.org>
14224
14225         stdint: Update documentation.
14226         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
14227
14228 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
14229
14230         stdint: omit redundant check for wchar.h
14231         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
14232         always tests whether wchar.h exists, so remove the now-redundant test.
14233
14234 2011-02-18  Bruno Haible  <bruno@clisp.org>
14235
14236         stdint: Cut dependency to module 'wchar'.
14237         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
14238         include the necessary prerequisites.
14239         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
14240         * modules/stdint (Depends-on): Remove wchar.
14241         (Makefile.am): Substitute HAVE_WCHAR_H.
14242         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
14243
14244 2011-02-18  Eric Blake  <eblake@redhat.com>
14245
14246         longlong: skip, rather than fail, on cross-compilation
14247         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
14248         when cross-compiling; regression from 2011-02-16.
14249
14250 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
14251
14252         * NEWS: Mention 2011-02-08 change to stdlib.
14253
14254 2011-02-17  Bruno Haible  <bruno@clisp.org>
14255
14256         getloadavg: Add comments about platforms.
14257         * m4/getloadavg.m4: Add comment.
14258         * lib/getloadavg.c: Likewise.
14259
14260 2011-02-17  Bruno Haible  <bruno@clisp.org>
14261
14262         getloadavg: Fix link error on Solaris 2.6.
14263         * modules/getloadavg (Link): New section.
14264         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
14265         linking test-getloadavg.
14266         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
14267         getloadavg.
14268
14269 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
14270
14271         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
14272         It was 'int', but this doesn't match the IRIX 6.5 manual.
14273         Suggested by Bruno Haible in
14274         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
14275
14276 2011-02-17  Bruno Haible  <bruno@clisp.org>
14277
14278         havelib: Fix comments.
14279         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
14280         change.
14281
14282 2011-02-17  Bruno Haible  <bruno@clisp.org>
14283
14284         havelib: Update config.rpath.
14285         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
14286
14287 2011-02-17  Bruno Haible  <bruno@clisp.org>
14288
14289         getloadavg test: Add some plausibility checks.
14290         * tests/test-getloadavg.c (check_avg): Print a warning when the value
14291         is improbable.
14292
14293 2011-02-16  Eric Blake  <eblake@redhat.com>
14294
14295         maintainer-makefile: make syntax-check a no-op from tarballs
14296         * top/maint.mk (no-vc-detected): New rule.
14297         (local-checks-available): Use it to avoid hanging if someone tries
14298         'make syntax-check' from a tarball.  Also append to any non-syntax
14299         checks already defined in cfg.mk.
14300
14301 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
14302
14303         longlong: tune, particularly for common case of c99
14304
14305         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
14306         or running anything if c99, or if unsigned long long int does not
14307         work.  In either case, we know the answer without further tests.
14308         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
14309         it at most once, and use its results for both long long int and
14310         unsigned long long int.  This is more likely to be efficient in
14311         the common case where the program wants to check for both long
14312         long int and unsigned long long int.
14313         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
14314         since the answer is already known.
14315
14316 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
14317
14318         getloadavg: set errno
14319         * lib/getloadavg.c: Set errno when returning -1.  If no other
14320         error number looks appropriate, set it to ENOSYS if the getloadavg
14321         looks like it can't possibly ever work, ENOTSUP otherwise.
14322         Suggested by Bruno Haible in
14323         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
14324
14325         getloadavg: trim unused parts and speed up 'configure'
14326         * NEWS: Document this.
14327         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
14328         always compiled if getloadavg is absent.
14329         Move test code to ...
14330         * tests/test-getloadavg.c: New file, containing previous
14331         contents of test from lib/getloadavg.c.  It also contains
14332         suggestions by Bruno Haible in
14333         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
14334         * modules/getloadavg-tests: New file.
14335         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
14336         Do tests in the same order as they're needed for getloadavg.c.
14337         Omit setgid-related tests that generate symbols KMEM_GROUP,
14338         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
14339         Do only the tests that are needed to see whether the system has
14340         getloadavg, moving the other tests into ...
14341         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
14342         NLIST_NAME_UNION; nobody should be using it.  Do not define
14343         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
14344         relevant, as the user of this module shouldn't care how getloadavg
14345         is implemented.
14346
14347         getloadavg: omit unused var
14348         * lib/getloadavg.c (getloadavg): Omit unused local variable.
14349
14350 2011-02-15  Jim Meyering  <meyering@redhat.com>
14351
14352         doc: update users.txt
14353         * users.txt: Update iwhd's URL.
14354
14355 2011-02-13  Bruno Haible  <bruno@clisp.org>
14356
14357         Consistent macro naming for macros that use GCC __attribute__.
14358         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
14359         _ATTRIBUTE_NONNULL_.
14360         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
14361         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
14362         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
14363         ATTRIBUTE_DEPRECATED.
14364         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
14365         ATTRIBUTE_NORETURN.
14366         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
14367         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
14368         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
14369         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
14370         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
14371         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
14372         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
14373         ATTRIBUTE_SENTINEL.
14374         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
14375         ATTRIBUTE_RETURN_CHECK.
14376         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
14377         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
14378         ATTRIBUTE_NORETURN.
14379         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
14380         Reported by Paul Eggert.
14381
14382 2011-02-13  Bruno Haible  <bruno@clisp.org>
14383
14384         Don't interfere with a program's definition of __attribute__.
14385         * lib/argp.h (__attribute__): Remove definition.
14386         (_GL_ATTRIBUTE_FORMAT): New macro.
14387         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
14388         * lib/argp-fmtstream.h (__attribute__): Remove definition.
14389         (_GL_ATTRIBUTE_FORMAT): New macro.
14390         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
14391         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
14392         GCC 3 or newer.
14393         * lib/error.h (__attribute__): Remove definition.
14394         (_GL_ATTRIBUTE_FORMAT): New macro.
14395         (error, error_at_line): Use it.
14396         * lib/hash.h (__attribute__): Remove definition.
14397         (ATTRIBUTE_WUR): Update definition. Define always.
14398         * lib/openat.h (__attribute__): Remove definition.
14399         (ATTRIBUTE_NORETURN): Update definition. Define always.
14400         * lib/sigpipe-die.h (__attribute__): Remove definition.
14401         (ATTRIBUTE_NORETURN): Update definition. Define always.
14402         * lib/vasnprintf.h (__attribute__): Remove definition.
14403         (_GL_ATTRIBUTE_FORMAT): New macro.
14404         (asnprintf, vasnprintf): Use it.
14405         * lib/xalloc.h (__attribute__): Remove definition.
14406         (ATTRIBUTE_NORETURN): Update definition. Define always.
14407         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
14408         * lib/xmemdup0.h (__attribute__): Remove definition.
14409         (ATTRIBUTE_NORETURN): Update definition. Define always.
14410         * lib/xprintf.h (__attribute__): Remove definition.
14411         (_GL_ATTRIBUTE_FORMAT): New macro.
14412         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
14413         * lib/xstrtol.h (__attribute__): Remove definition.
14414         (ATTRIBUTE_NORETURN): Update definition. Define always.
14415         * lib/xvasprintf.h (__attribute__): Remove definition.
14416         (_GL_ATTRIBUTE_FORMAT): New macro.
14417         (xasprintf, xvasprintf): Use it.
14418         * tests/test-argmatch.c (__attribute__): Remove definition.
14419         (ATTRIBUTE_NORETURN): Update definition. Define always.
14420         * tests/test-exclude.c (__attribute__): Remove definition.
14421         (ATTRIBUTE_NORETURN): Update definition. Define always.
14422         Reported by Paul Eggert.
14423
14424 2011-02-13  Bruno Haible  <bruno@clisp.org>
14425
14426         mbrtowc: Add more tests for native Windows platforms.
14427         * tests/test-mbrtowc-w32-1.sh: New file.
14428         * tests/test-mbrtowc-w32-2.sh: New file.
14429         * tests/test-mbrtowc-w32-3.sh: New file.
14430         * tests/test-mbrtowc-w32-4.sh: New file.
14431         * tests/test-mbrtowc-w32-5.sh: New file.
14432         * tests/test-mbrtowc-w32.c: New file.
14433         * modules/mbrtowc-tests (Files): Add them.
14434         (Makefile.am): Arrange to run these tests.
14435         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
14436         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
14437
14438 2011-02-13  Bruno Haible  <bruno@clisp.org>
14439
14440         mbrtowc: Work around native Windows bug.
14441         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
14442         guess when no suitable locale for testing was found.
14443         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
14444
14445 2011-02-13  Bruno Haible  <bruno@clisp.org>
14446
14447         mbsinit: Work around mingw bug.
14448         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
14449         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
14450         Windows.
14451         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
14452
14453 2011-02-13  Bruno Haible  <bruno@clisp.org>
14454
14455         mbsinit: Don't crash for a NULL argument.
14456         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
14457         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
14458
14459 2011-02-13  Bruno Haible  <bruno@clisp.org>
14460
14461         Don't interfere with a program's definition of __attribute__.
14462         * lib/stdio.in.h (__attribute__): Remove definition.
14463         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
14464         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
14465         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
14466         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
14467         * lib/string.in.h (__attribute__): Remove definition.
14468         Reported by Paul Eggert.
14469
14470 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
14471
14472         stdlib: don't get in the way of non-GCC __attribute__
14473         See thread starting at
14474         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
14475         Revert previous stdlib change, installing the following instead:
14476         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
14477         to get in the way of a non-GCC compiler that supports __attribute__.
14478         (_GL_ATTRIBUTE_RETURN): New macro.
14479         (_Exit): Use it instead of __attribute__.
14480
14481 2011-02-12  Bruno Haible  <bruno@clisp.org>
14482
14483         quotearg test: Avoid test failure on mingw.
14484         * tests/test-quotearg.sh: Convert the locale identifier from native
14485         Windows syntax to Unix syntax.
14486
14487 2011-02-12  Bruno Haible  <bruno@clisp.org>
14488
14489         setlocale: Prefer gnulib's override over libintl's override.
14490         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
14491         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
14492         GNULIB_defined_setlocale is set.
14493
14494 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
14495
14496         stdlib: support non-GCC __attribute__
14497
14498         Fix a serious and tricky problem encountered when attempting to
14499         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
14500         5.5, but it crashed due to memory corruption on Solaris 10 with
14501         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
14502         bits that are otherwise zero.  This tagging is optional inside
14503         Emacs but is preferred and is used when __attribute__ ((__aligned
14504         (8))) works, as it does with both recent-enough GCC and with Sun C
14505         5.11.  However, Sun C 5.11 is not GCC and does not #define
14506         __GNUC__ and __GNUC_MINOR__.
14507
14508         When I added the getloadavg module to Emacs, it brought in
14509         stdlib.in.h, which contained this fragment:
14510
14511            #ifndef __attribute__
14512            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
14513            #  define __attribute__(Spec)   /* empty */
14514            # endif
14515            #endif
14516
14517         When files that include <stdlib.h> were compiled with Sun C 5.11,
14518         the above code disabled __attribute__ ((__aligned (8))), which
14519         caused variables to not be properly aligned, which eventually led
14520         to the pointer corruption mentioned above.  (This was a bit hard
14521         to diagnose, unfortunately.)
14522
14523         Several "#define __attribute__(X) /* empty */" code snippets need
14524         to be eradicated from Gnulib to work with non-GCC compilers that
14525         support __attribute__.  The Autoconf way to do this is to test for
14526         each kind of attribute that we want support for, and selectively
14527         enable that in source code.
14528
14529         Fix this problem just for stdlib.h, by adding a test for the
14530         __noreturn__ attribute, and change stdlib.in.h to use that test
14531         when needed.  This technique can be easily generalized to the
14532         other *.in.h files and attributes, and a similar technique can be
14533         used for *.h and *.c files.  This patch is enough to solve the
14534         problem for Emacs + getloadavg, and I thought I'd publish it for
14535         feedback before undertaking further, similar fixes in other
14536         modules.
14537
14538         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
14539         because it's not needed for stdlib.h.  It merely substitutes the
14540         value directly into stdlib.h.  We may well need to #define it, or
14541         similar symbols, for other modules, but it's nice to also have an
14542         option to not #define it for applications like Emacs that do not
14543         need it.
14544
14545         * lib/stdlib.in.h (__attribute__): Do not #define.
14546         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
14547         be defined only if the _Exit module is also used.
14548         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
14549         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
14550         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
14551         platforms.
14552         * modules/_Exit (Files): Add m4/attribute.m4.
14553         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
14554         * m4/attribute.m4: New file.
14555
14556 2011-02-12  Bruno Haible  <bruno@clisp.org>
14557
14558         wcsrtombs: Work around bug on native Windows.
14559         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
14560         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
14561         instead of len.
14562         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
14563
14564 2011-02-12  Bruno Haible  <bruno@clisp.org>
14565
14566         mbsrtowcs: Work around bug on native Windows.
14567         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
14568         against mingw bug.
14569         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
14570
14571 2011-02-12  Bruno Haible  <bruno@clisp.org>
14572
14573         Avoid setlocale bugs in tests.
14574         * modules/btowc (Dependencies): Add setlocale.
14575         * modules/c-strcase (Dependencies): Likewise.
14576         * modules/mbmemcasecmp (Dependencies): Likewise.
14577         * modules/mbmemcasecoll (Dependencies): Likewise.
14578         * modules/mbrtowc (Dependencies): Likewise.
14579         * modules/mbscasecmp (Dependencies): Likewise.
14580         * modules/mbscasestr (Dependencies): Likewise.
14581         * modules/mbschr (Dependencies): Likewise.
14582         * modules/mbscspn (Dependencies): Likewise.
14583         * modules/mbsinit (Dependencies): Likewise.
14584         * modules/mbsncasecmp (Dependencies): Likewise.
14585         * modules/mbsnrtowcs (Dependencies): Likewise.
14586         * modules/mbspbrk (Dependencies): Likewise.
14587         * modules/mbspcasecmp (Dependencies): Likewise.
14588         * modules/mbsrchr (Dependencies): Likewise.
14589         * modules/mbsrtowcs (Dependencies): Likewise.
14590         * modules/mbsspn (Dependencies): Likewise.
14591         * modules/mbsstr (Dependencies): Likewise.
14592         * modules/nl_langinfo (Dependencies): Likewise.
14593         * modules/quotearg (Dependencies): Likewise.
14594         * modules/unicase/locale-language (Dependencies): Likewise.
14595         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
14596         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
14597         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
14598         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
14599         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
14600         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
14601         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
14602         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
14603         * modules/vasnprintf-posix (Dependencies): Likewise.
14604         * modules/wcrtomb (Dependencies): Likewise.
14605         * modules/wcsnrtombs (Dependencies): Likewise.
14606         * modules/wcsrtombs (Dependencies): Likewise.
14607
14608 2011-02-12  Bruno Haible  <bruno@clisp.org>
14609
14610         setlocale: Workaround native Windows bug.
14611         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
14612         succeeds but sets LC_CTYPE to "C", report a failure.
14613         * tests/test-setlocale2.sh: New file.
14614         * tests/test-setlocale2.c: New file.
14615         * modules/setlocale-tests (Files): Add the new files.
14616         (Makefile.am): Enable test-setlocale2.sh test.
14617         * doc/posix-functions/setlocale.texi: Mention workaround.
14618
14619 2011-02-11  Bruno Haible  <bruno@clisp.org>
14620
14621         Tests for module 'setlocale'.
14622         * modules/setlocale-tests: New file.
14623         * tests/test-setlocale1.sh: New file.
14624         * tests/test-setlocale1.c: New file.
14625
14626         New module 'setlocale'.
14627         * lib/locale.in.h (setlocale): New declaration.
14628         * lib/setlocale.c: New file, based on
14629         gettext/gettext-runtime/intl/setlocale.c.
14630         * m4/setlocale.m4: New file.
14631         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
14632         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
14633         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
14634         REPLACE_SETLOCALE.
14635         * modules/setlocale: New file.
14636         * tests/test-locale-c++.cc: Test the declaration of setlocale.
14637         * doc/posix-functions/setlocale.texi: Mention the new module.
14638
14639 2011-02-11  Bruno Haible  <bruno@clisp.org>
14640
14641         Prepare for locale dependent tests on mingw.
14642         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
14643         because it has the wrong locale encoding.
14644         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
14645         French_France.1252 instead of "fr".
14646         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
14647         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
14648         because it has the wrong locale encoding.
14649         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
14650         native Windows, try Turkish_Turkey.65001.
14651         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
14652         Chinese_China.54936.
14653
14654         Prepare for locale dependent tests on mingw.
14655         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
14656         differently.
14657         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
14658         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
14659         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
14660         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
14661
14662 2011-02-11  Eric Blake  <eblake@redhat.com>
14663
14664         strptime: avoid compiler warnings
14665         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
14666         compiler warnings about dead code.
14667         Reported by Daniel P. Berrange.
14668
14669 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
14670
14671         doc: update users.txt
14672         * users.txt: Add rcs.
14673
14674 2011-02-10  John W. Eaton  <jwe@gnu.org>
14675
14676         doc: update users.txt
14677         * users.txt: Add octave.
14678
14679 2011-02-10  Jim Meyering  <meyering@redhat.com>
14680
14681         doc: update users.txt
14682         * users.txt: Add iwhd.
14683
14684 2011-02-09  Bruno Haible  <bruno@clisp.org>
14685
14686         gnulib-tool: Make copyright notice adjustment more robust.
14687         * gnulib-tool (func_import): In sed_transform_main_lib_file,
14688         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
14689         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
14690         License".
14691         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
14692
14693 2011-02-06  Bruno Haible  <bruno@clisp.org>
14694
14695         New module 'towctrans'.
14696         * modules/towctrans: New file.
14697         * lib/wctype.in.h (towctrans): New declaration.
14698         * lib/towctrans.c: New file.
14699         * lib/towctrans-impl.h: New file.
14700         * m4/towctrans.m4: New file.
14701         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
14702         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
14703         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
14704         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
14705         * doc/posix-functions/towctrans.texi: Mention the new module.
14706
14707 2011-02-06  Bruno Haible  <bruno@clisp.org>
14708
14709         New module 'wctrans'.
14710         * modules/wctrans: New file.
14711         * lib/wctype.in.h (wctrans): New declaration.
14712         * lib/wctrans.c: New file.
14713         * lib/wctrans-impl.h: New file.
14714         * m4/wctrans.m4: New file.
14715         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
14716         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
14717         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
14718         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
14719         * doc/posix-functions/wctrans.texi: Mention the new module.
14720
14721 2011-02-06  Bruno Haible  <bruno@clisp.org>
14722
14723         New module 'iswctype'.
14724         * modules/iswctype: New file.
14725         * lib/wctype.in.h (iswctype): New declaration.
14726         * lib/iswctype.c: New file.
14727         * lib/iswctype-impl.h: New file.
14728         * m4/iswctype.m4: New file.
14729         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
14730         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
14731         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
14732         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
14733         * doc/posix-functions/iswctype.texi: Mention the new module and the
14734         HP-UX 11.00 problem.
14735
14736 2011-02-06  Bruno Haible  <bruno@clisp.org>
14737
14738         New module 'wctype'.
14739         * modules/wctype: Change to represent the wctype() substitute.
14740         * lib/wctype.in.h (wctype): New declaration.
14741         * lib/wctype.c: New file.
14742         * lib/wctype-impl.h: New file.
14743         * m4/wctype.m4: New file.
14744         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
14745         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
14746         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
14747         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
14748         * doc/posix-functions/wctype.texi: Mention the new module and the
14749         HP-UX 11.00 problem.
14750
14751 2011-02-06  Bruno Haible  <bruno@clisp.org>
14752
14753         wctype-h: Ensure wctype_t and wctrans_t are defined.
14754         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
14755         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
14756         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
14757         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
14758         HAVE_WCTRANS_T.
14759         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
14760
14761 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
14762
14763         flock: fix license typo
14764
14765         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
14766         omitted.
14767
14768 2011-02-08  Bruno Haible  <bruno@clisp.org>
14769
14770         Split large sed scripts, for HP-UX sed.
14771         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
14772         to avoid HP-UX limit of 99 commands, in the near future.
14773         * modules/stdlib (Makefile.am): Likewise.
14774         * modules/unistd (Makefile.am): Likewise.
14775         * modules/wchar (Makefile.am): Likewise.
14776         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14777         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
14778         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
14779
14780 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14781             Bruno Haible  <bruno@clisp.org>
14782
14783         stdlib: improve random_r modularization
14784         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
14785         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
14786         you also need the random_r module to get this material right.
14787         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
14788         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
14789         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
14790
14791 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14792
14793         stdlib: don't depend on stdint
14794         * lib/stdlib.in.h: Don't include <stdint.h> merely because
14795         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
14796         be independent of whether stdint.h is needed.
14797         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
14798         here, instead of ...
14799         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
14800         struct random_data should be using the random_r module, not just
14801         the stdlib module (which wouldn't make sense: what package needs
14802         just struct random_data without also needing random_r?).
14803         * modules/stdlib (Depends-on): Remove stdint.
14804
14805         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
14806         See the thread rooted at
14807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
14808         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
14809         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
14810         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
14811         __VMS)); previously it was always included (via fcntl--.h).
14812         (getloadavg): Do not use c_strtod.  Instead, approximate it by
14813         hand; this is good enough for load averages.  Also, do not use
14814         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
14815         flags directly if available and don't bother otherwise.  (Packages
14816         that need the extra reliability should use the modules that define
14817         these flags on older platforms that lack them.)
14818         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
14819         fcntl-safer.
14820
14821 2011-02-08  Jim Meyering  <meyering@redhat.com>
14822
14823         di-set.h, ino-map.h: add multiple-inclusion guard
14824         Technically, the guard is required only for ino-map.h, due to its
14825         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
14826         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
14827         * lib/ino-map.h: Likewise.
14828
14829 2011-02-06  Bruno Haible  <bruno@clisp.org>
14830
14831         iswblank: Ensure declaration on glibc systems.
14832         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
14833         * modules/iswblank (Dependencies): Add 'extensions'.
14834         * doc/posix-functions/iswblank.texi: Document the glibc problem.
14835
14836 2011-02-06  Bruno Haible  <bruno@clisp.org>
14837
14838         New module 'iswblank'.
14839         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
14840         * modules/iswblank: New file.
14841         * modules/wctype-h (Files): Remove lib/iswblank.c.
14842         (Makefile.am): Substitute GNULIB_ISWBLANK.
14843         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
14844         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
14845         (gl_WCTYPE_H_DEFAULTS): New macro.
14846         (gl_WCTYPE_H): Require it. Remove iswblank related code.
14847         * modules/iswblank-tests: New file.
14848         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
14849         * tests/test-wctype-h.c (main): Remove iswblank tests.
14850         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
14851         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
14852         of 'wctype-h'.
14853         * NEWS: Mention the change.
14854         * modules/mbchar (Depends-on): Add iswblank.
14855
14856 2011-02-08  Bruno Haible  <bruno@clisp.org>
14857
14858         di-set tests: Refactor.
14859         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
14860         unnecessary includes.
14861         (ASSERT): Remove macro.
14862         (main): Make C90 compliant by avoiding variable declaration after
14863         statement.
14864         * modules/di-set-tests (Files): Add tests/macros.h.
14865
14866 2011-02-08  Bruno Haible  <bruno@clisp.org>
14867
14868         ino-map tests: Refactor.
14869         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
14870         unnecessary includes.
14871         (ASSERT): Remove macro.
14872         (main): Make C90 compliant by avoiding variable declaration after
14873         statement.
14874         * modules/ino-map-tests (Files): Add tests/macros.h.
14875
14876 2011-02-08  Jim Meyering  <meyering@redhat.com>
14877
14878         di-set: add "const" to a cast
14879         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
14880         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
14881
14882 2011-02-06  Bruno Haible  <bruno@clisp.org>
14883
14884         Rename module 'wctype' to 'wctype-h'.
14885         * modules/wctype-h: Renamed from modules/wctype.
14886         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
14887         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
14888         (Files, Depends-on, Makefile.am): Update.
14889         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
14890         (Files, Makefile.am): Update.
14891         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
14892         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
14893         * doc/posix-headers/wctype.texi: Update.
14894         * doc/posix-functions/iswalnum.texi: Update.
14895         * doc/posix-functions/iswalpha.texi: Update.
14896         * doc/posix-functions/iswblank.texi: Update.
14897         * doc/posix-functions/iswcntrl.texi: Update.
14898         * doc/posix-functions/iswdigit.texi: Update.
14899         * doc/posix-functions/iswgraph.texi: Update.
14900         * doc/posix-functions/iswlower.texi: Update.
14901         * doc/posix-functions/iswprint.texi: Update.
14902         * doc/posix-functions/iswpunct.texi: Update.
14903         * doc/posix-functions/iswspace.texi: Update.
14904         * doc/posix-functions/iswupper.texi: Update.
14905         * doc/posix-functions/iswxdigit.texi: Update.
14906         * doc/posix-functions/towlower.texi: Update.
14907         * doc/posix-functions/towupper.texi: Update.
14908         * NEWS: Mention the change.
14909         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
14910         * modules/mbchar (Dependencies): Likewise.
14911         * modules/mbswidth (Dependencies): Likewise.
14912         * modules/quotearg (Dependencies): Likewise.
14913         * modules/regex (Dependencies): Likewise.
14914         * modules/wcscasecmp (Dependencies): Likewise.
14915         * modules/wcsncasecmp (Dependencies): Likewise.
14916         * modules/wcwidth (Dependencies): Likewise.
14917
14918 2011-02-06  Bruno Haible  <bruno@clisp.org>
14919
14920         New module 'wcswidth'.
14921         * modules/wcswidth: New file.
14922         * lib/wchar.in.h (wcswidth): New declaration.
14923         * lib/wcswidth.c: New file.
14924         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
14925         * m4/wcswidth.m4: New file.
14926         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
14927         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
14928         REPLACE_WCSWIDTH.
14929         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
14930         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
14931         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
14932         * doc/posix-functions/wcswidth.texi: Mention the new module.
14933
14934 2011-02-06  Bruno Haible  <bruno@clisp.org>
14935
14936         New module 'wcstok'.
14937         * modules/wcstok: New file.
14938         * lib/wchar.in.h (wcstok): New declaration.
14939         * lib/wcstok.c: New file.
14940         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
14941         * m4/wcstok.m4: New file.
14942         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
14943         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
14944         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
14945         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
14946         * doc/posix-functions/wcstok.texi: Mention the new module.
14947
14948 2011-02-06  Bruno Haible  <bruno@clisp.org>
14949
14950         New module 'wcsstr'.
14951         * modules/wcsstr: New file.
14952         * lib/wchar.in.h (wcsstr): New declaration.
14953         * lib/wcsstr.c: New file.
14954         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
14955         * m4/wcsstr.m4: New file.
14956         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
14957         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
14958         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
14959         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
14960         * doc/posix-functions/wcsstr.texi: Mention the new module.
14961
14962 2011-02-06  Bruno Haible  <bruno@clisp.org>
14963
14964         New module 'wcspbrk'.
14965         * modules/wcspbrk: New file.
14966         * lib/wchar.in.h (wcspbrk): New declaration.
14967         * lib/wcspbrk.c: New file.
14968         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
14969         * m4/wcspbrk.m4: New file.
14970         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
14971         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
14972         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
14973         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
14974         * doc/posix-functions/wcspbrk.texi: Mention the new module.
14975
14976 2011-02-06  Bruno Haible  <bruno@clisp.org>
14977
14978         New module 'wcsspn'.
14979         * modules/wcsspn: New file.
14980         * lib/wchar.in.h (wcsspn): New declaration.
14981         * lib/wcsspn.c: New file.
14982         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
14983         * m4/wcsspn.m4: New file.
14984         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
14985         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
14986         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
14987         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
14988         * doc/posix-functions/wcsspn.texi: Mention the new module.
14989
14990 2011-02-06  Bruno Haible  <bruno@clisp.org>
14991
14992         New module 'wcscspn'.
14993         * modules/wcscspn: New file.
14994         * lib/wchar.in.h (wcscspn): New declaration.
14995         * lib/wcscspn.c: New file.
14996         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
14997         * m4/wcscspn.m4: New file.
14998         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
14999         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
15000         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
15001         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
15002         * doc/posix-functions/wcscspn.texi: Mention the new module.
15003
15004 2011-02-06  Bruno Haible  <bruno@clisp.org>
15005
15006         New module 'wcsrchr'.
15007         * modules/wcsrchr: New file.
15008         * lib/wchar.in.h (wcsrchr): New declaration.
15009         * lib/wcsrchr.c: New file.
15010         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
15011         * m4/wcsrchr.m4: New file.
15012         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
15013         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
15014         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
15015         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
15016         * doc/posix-functions/wcsrchr.texi: Mention the new module.
15017
15018 2011-02-06  Bruno Haible  <bruno@clisp.org>
15019
15020         New module 'wcschr'.
15021         * modules/wcschr: New file.
15022         * lib/wchar.in.h (wcschr): New declaration.
15023         * lib/wcschr.c: New file.
15024         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
15025         * m4/wcschr.m4: New file.
15026         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
15027         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
15028         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
15029         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
15030         * doc/posix-functions/wcschr.texi: Mention the new module.
15031
15032 2011-02-06  Bruno Haible  <bruno@clisp.org>
15033
15034         New module 'wcsdup'.
15035         * modules/wcsdup: New file.
15036         * lib/wchar.in.h (wcsdup): New declaration.
15037         * lib/wcsdup.c: New file.
15038         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
15039         * m4/wcsdup.m4: New file.
15040         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
15041         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
15042         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
15043         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
15044         * doc/posix-functions/wcsdup.texi: Mention the new module.
15045
15046 2011-02-06  Bruno Haible  <bruno@clisp.org>
15047
15048         New module 'wcsxfrm'.
15049         * modules/wcsxfrm: New file.
15050         * lib/wchar.in.h (wcsxfrm): New declaration.
15051         * lib/wcsxfrm.c: New file.
15052         * lib/wcsxfrm-impl.h: New file.
15053         * m4/wcsxfrm.m4: New file.
15054         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
15055         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
15056         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
15057         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
15058         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
15059
15060 2011-02-06  Bruno Haible  <bruno@clisp.org>
15061
15062         New module 'wcscoll'.
15063         * modules/wcscoll: New file.
15064         * lib/wchar.in.h (wcscoll): New declaration.
15065         * lib/wcscoll.c: New file.
15066         * lib/wcscoll-impl.h: New file.
15067         * m4/wcscoll.m4: New file.
15068         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
15069         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
15070         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
15071         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
15072         * doc/posix-functions/wcscoll.texi: Mention the new module.
15073
15074 2011-02-06  Bruno Haible  <bruno@clisp.org>
15075
15076         New module 'wcsncasecmp'.
15077         * modules/wcsncasecmp: New file.
15078         * lib/wchar.in.h (wcsncasecmp): New declaration.
15079         * lib/wcsncasecmp.c: New file.
15080         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
15081         * m4/wcsncasecmp.m4: New file.
15082         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
15083         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
15084         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
15085         HAVE_WCSNCASECMP.
15086         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
15087         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
15088
15089 2011-02-06  Bruno Haible  <bruno@clisp.org>
15090
15091         New module 'wcscasecmp'.
15092         * modules/wcscasecmp: New file.
15093         * lib/wchar.in.h (wcscasecmp): New declaration.
15094         * lib/wcscasecmp.c: New file.
15095         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
15096         * m4/wcscasecmp.m4: New file.
15097         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
15098         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
15099         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
15100         HAVE_WCSCASECMP.
15101         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
15102         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
15103
15104 2011-02-05  Bruno Haible  <bruno@clisp.org>
15105
15106         New module 'wcsncmp'.
15107         * modules/wcsncmp: New file.
15108         * lib/wchar.in.h (wcsncmp): New declaration.
15109         * lib/wcsncmp.c: New file.
15110         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
15111         * m4/wcsncmp.m4: New file.
15112         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
15113         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
15114         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
15115         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
15116         * doc/posix-functions/wcsncmp.texi: Mention the new module.
15117
15118 2011-02-05  Bruno Haible  <bruno@clisp.org>
15119
15120         New module 'wcscmp'.
15121         * modules/wcscmp: New file.
15122         * lib/wchar.in.h (wcscmp): New declaration.
15123         * lib/wcscmp.c: New file.
15124         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
15125         * m4/wcscmp.m4: New file.
15126         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
15127         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
15128         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
15129         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
15130         * doc/posix-functions/wcscmp.texi: Mention the new module.
15131
15132 2011-02-05  Bruno Haible  <bruno@clisp.org>
15133
15134         New module 'wcsncat'.
15135         * modules/wcsncat: New file.
15136         * lib/wchar.in.h (wcsncat): New declaration.
15137         * lib/wcsncat.c: New file.
15138         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
15139         * m4/wcsncat.m4: New file.
15140         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
15141         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
15142         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
15143         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
15144         * doc/posix-functions/wcsncat.texi: Mention the new module.
15145
15146 2011-02-05  Bruno Haible  <bruno@clisp.org>
15147
15148         New module 'wcscat'.
15149         * modules/wcscat: New file.
15150         * lib/wchar.in.h (wcscat): New declaration.
15151         * lib/wcscat.c: New file.
15152         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
15153         * m4/wcscat.m4: New file.
15154         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
15155         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
15156         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
15157         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
15158         * doc/posix-functions/wcscat.texi: Mention the new module.
15159
15160 2011-02-05  Bruno Haible  <bruno@clisp.org>
15161
15162         New module 'wcpncpy'.
15163         * modules/wcpncpy: New file.
15164         * lib/wchar.in.h (wcpncpy): New declaration.
15165         * lib/wcpncpy.c: New file.
15166         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
15167         * m4/wcpncpy.m4: New file.
15168         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
15169         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
15170         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
15171         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
15172         * doc/posix-functions/wcpncpy.texi: Mention the new module.
15173
15174 2011-02-05  Bruno Haible  <bruno@clisp.org>
15175
15176         New module 'wcsncpy'.
15177         * modules/wcsncpy: New file.
15178         * lib/wchar.in.h (wcsncpy): New declaration.
15179         * lib/wcsncpy.c: New file.
15180         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
15181         * m4/wcsncpy.m4: New file.
15182         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
15183         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
15184         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
15185         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
15186         * doc/posix-functions/wcsncpy.texi: Mention the new module.
15187
15188 2011-02-05  Bruno Haible  <bruno@clisp.org>
15189
15190         New module 'wcpcpy'.
15191         * modules/wcpcpy: New file.
15192         * lib/wchar.in.h (wcpcpy): New declaration.
15193         * lib/wcpcpy.c: New file.
15194         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
15195         * m4/wcpcpy.m4: New file.
15196         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
15197         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
15198         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
15199         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
15200         * doc/posix-functions/wcpcpy.texi: Mention the new module.
15201
15202 2011-02-05  Bruno Haible  <bruno@clisp.org>
15203
15204         New module 'wcscpy'.
15205         * modules/wcscpy: New file.
15206         * lib/wchar.in.h (wcscpy): New declaration.
15207         * lib/wcscpy.c: New file.
15208         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
15209         * m4/wcscpy.m4: New file.
15210         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
15211         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
15212         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
15213         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
15214         * doc/posix-functions/wcscpy.texi: Mention the new module.
15215
15216 2011-02-05  Bruno Haible  <bruno@clisp.org>
15217
15218         New module 'wcsnlen'.
15219         * modules/wcsnlen: New file.
15220         * lib/wchar.in.h (wcsnlen): New declaration.
15221         * lib/wcsnlen.c: New file.
15222         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
15223         * m4/wcsnlen.m4: New file.
15224         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
15225         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
15226         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
15227         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
15228         * doc/posix-functions/wcsnlen.texi: Mention the new module.
15229
15230 2011-02-05  Bruno Haible  <bruno@clisp.org>
15231
15232         New module 'wcslen'.
15233         * modules/wcslen: New file.
15234         * lib/wchar.in.h (wcslen): New declaration.
15235         * lib/wcslen.c: New file.
15236         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
15237         * m4/wcslen.m4: New file.
15238         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
15239         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
15240         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
15241         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
15242         * doc/posix-functions/wcslen.texi: Mention the new module.
15243
15244 2011-02-05  Bruno Haible  <bruno@clisp.org>
15245
15246         New module 'wmemset'.
15247         * modules/wmemset: New file.
15248         * lib/wchar.in.h (wmemset): New declaration.
15249         * lib/wmemset.c: New file.
15250         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
15251         * m4/wmemset.m4: New file.
15252         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
15253         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
15254         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
15255         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
15256         * doc/posix-functions/wmemset.texi: Mention the new module.
15257
15258 2011-02-05  Bruno Haible  <bruno@clisp.org>
15259
15260         New module 'wmemmove'.
15261         * modules/wmemmove: New file.
15262         * lib/wchar.in.h (wmemmove): New declaration.
15263         * lib/wmemmove.c: New file.
15264         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
15265         * m4/wmemmove.m4: New file.
15266         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
15267         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
15268         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
15269         HAVE_WMEMMOVE.
15270         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
15271         * doc/posix-functions/wmemmove.texi: Mention the new module.
15272
15273 2011-02-05  Bruno Haible  <bruno@clisp.org>
15274
15275         New module 'wmemcpy'.
15276         * modules/wmemcpy: New file.
15277         * lib/wchar.in.h (wmemcpy): New declaration.
15278         * lib/wmemcpy.c: New file.
15279         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
15280         * m4/wmemcpy.m4: New file.
15281         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
15282         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
15283         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
15284         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
15285         * doc/posix-functions/wmemcpy.texi: Mention the new module.
15286
15287 2011-02-05  Bruno Haible  <bruno@clisp.org>
15288
15289         New module 'wmemcmp'.
15290         * modules/wmemcmp: New file.
15291         * lib/wchar.in.h (wmemcmp): New declaration.
15292         * lib/wmemcmp.c: New file.
15293         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
15294         * m4/wmemcmp.m4: New file.
15295         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
15296         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
15297         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
15298         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
15299         * doc/posix-functions/wmemcmp.texi: Mention the new module.
15300
15301 2011-02-07  Jim Meyering  <meyering@redhat.com>
15302
15303         di-set, ino-map: new modules, from coreutils
15304         * lib/di-set.c: New file.
15305         * lib/di-set.h: Likewise.
15306         * lib/ino-map.c: Likewise.
15307         * lib/ino-map.h: Likewise.
15308         * modules/di-set: Likewise.
15309         * modules/di-set-tests: Likewise.
15310         * modules/ino-map: Likewise.
15311         * modules/ino-map-tests: Likewise.
15312         * tests/test-di-set.c: Likewise.
15313         * tests/test-ino-map.c: Likewise.
15314
15315 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
15316
15317         getloadavg: merge minor changes from Emacs
15318
15319         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
15320         (getloadavg): Use memset, not bzero.
15321
15322         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
15323         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
15324         clash (bug#86).
15325
15326 2010-11-14  Bruno Haible  <bruno@clisp.org>
15327
15328         Allow multiple gnulib generated replacements to coexist.
15329         * lib/getopt.in.h (struct option): Avoid identical redefinition.
15330         * lib/inttypes.in.h (imaxdiv_t): Likewise.
15331         * lib/langinfo.in.h (nl_item): Likewise.
15332         * lib/math.in.h (_NaN, NAN): Likewise.
15333         * lib/netdb.in.h (struct addrinfo): Likewise.
15334         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
15335         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
15336         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
15337         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
15338         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
15339         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
15340         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
15341         pthread_mutexattr_init, pthread_mutexattr_settype,
15342         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
15343         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
15344         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
15345         pthread_spin_trylock, pthread_spin_unlock): Likewise.
15346         * lib/sched.in.h (struct sched_param): Likewise.
15347         * lib/se-selinux.in.h (security_class_t, security_context_t,
15348         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
15349         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
15350         lsetfilecon, fsetfilecon, security_check_context,
15351         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
15352         Likewise.
15353         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
15354         Likewise.
15355         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
15356         _gl_function_taking_int_returning_void_t, union sigval,
15357         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
15358         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
15359         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
15360         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
15361         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
15362         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
15363         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
15364         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
15365         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
15366         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
15367         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
15368         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
15369         socklen_t, rpl_fd_isset): Likewise.
15370         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
15371         * lib/sys_time.in.h (struct timeval): Likewise.
15372         * lib/sys_times.in.h (struct tms): Likewise.
15373         * lib/sys_utsname.in.h (struct utsname):
15374         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
15375         * lib/unistd.in.h (getpagesize): Likewise.
15376         * lib/wchar.in.h (mbstate_t): Likewise.
15377         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
15378         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
15379         towlower, towupper): Likewise.
15380         Reported by Sam Steingold <sds@gnu.org>.
15381
15382 2011-02-05  Eric Blake  <eblake@redhat.com>
15383
15384         unsetenv: work around Haiku issues
15385         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
15386         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
15387
15388 2010-12-30  Bruce Korb  <bkorb@gnu.org>
15389
15390         libposix: avoid calling error() within libposix
15391         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
15392         is defined.
15393
15394 2011-02-05  Eric Blake  <eblake@redhat.com>
15395
15396         strerror_r-posix: port to cygwin
15397         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
15398         implementation.
15399         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
15400         * tests/test-strerror_r.c (main): Fix test.
15401         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15402         issue.
15403
15404 2011-02-05  Bruno Haible  <bruno@clisp.org>
15405
15406         New module 'wmemchr'.
15407         * modules/wmemchr: New file.
15408         * lib/wchar.in.h (wmemchr): New declaration.
15409         * lib/wmemchr.c: New file.
15410         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
15411         * m4/wmemchr.m4: New file.
15412         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
15413         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
15414         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
15415         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
15416         * doc/posix-functions/wmemchr.texi: Mention the new module.
15417
15418 2011-02-04  Eric Blake  <eblake@redhat.com>
15419
15420         fdopendir: detect FreeBSD bug
15421         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
15422         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
15423
15424 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
15425
15426         stdbool: do not define HAVE_STDBOOL_H
15427         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
15428         AC_HEADER_STDBOOL.  All uses changed.  Do not define
15429         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
15430         imported from the latest Autoconf git.  It was motivated by Emacs,
15431         which uses gnulib but does not need HAVE_STDBOOL_H.
15432
15433 2011-02-04  Bruno Haible  <bruno@clisp.org>
15434
15435         wcsnrtombs: Prepare for new module wwcsnrtombs.
15436         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
15437         * lib/wcsnrtombs.c: Include it.
15438         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
15439
15440         wcsrtombs: Prepare for new module wwcsrtombs.
15441         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
15442         * lib/wcsrtombs.c: Include it.
15443         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
15444
15445         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
15446         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
15447         * lib/mbsnrtowcs.c: Include it.
15448         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
15449
15450         mbsrtowcs: Prepare for new module mbsrtowwcs.
15451         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
15452         * lib/mbsrtowcs.c: Include it.
15453         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
15454
15455 2011-02-04  Bruno Haible  <bruno@clisp.org>
15456
15457         vasnprintf: Reduce use of malloc for small format strings.
15458         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
15459         (arguments): Add room for the first 7 arguments.
15460         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
15461         (char_directives, u8_directives, u16_directives, u32_directives): Add
15462         room for the first 7 directives.
15463         * lib/printf-parse.c: Include <string.h>.
15464         (PRINTF_PARSE): Change memory handling code so that it uses the first
15465         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
15466         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
15467         Reported by Pádraig Brady <P@draigbrady.com>.
15468
15469 2011-01-31  Eric Blake  <eblake@redhat.com>
15470
15471         dup2: work around Haiku bug
15472         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
15473         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
15474         * doc/posix-functions/dup2.texi (dup2): Document the bug.
15475         * tests/test-dup2.c (main): Enhance test.
15476
15477 2011-01-31  Simon Josefsson  <simon@josefsson.org>
15478
15479         doc: off_t is not available in eglibc 2.11.2 stdio.h.
15480         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
15481         declared by eglibc 2.11.2.
15482         * lib/stdio.in.h: Likewise.
15483
15484 2011-01-31  Eric Blake  <eblake@redhat.com>
15485
15486         ignore-value: add missing test dependency
15487         * tests/test-ignore-value.c: Revert previous change; stdio.h
15488         provides off_t.
15489         * modules/ignore-value-tests (Depends-on): Add missing dependency.
15490
15491 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
15492
15493         mktime: clarify long_int width checking
15494         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
15495         the top level, to make it clearer that the assumption about
15496         long_int width is being checked.  See
15497         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
15498
15499 2011-01-30  Simon Josefsson  <simon@josefsson.org>
15500
15501         ignore-value: Fix self-test.
15502         * tests/test-ignore-value.c: Include sys/types.h for off_t.
15503
15504 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
15505
15506         TYPE_MAXIMUM: avoid theoretically undefined behavior
15507         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
15508         negative number, which the C Standard says has undefined behavior.
15509         In practice this is not a problem, but might as well do it by the book.
15510         Reported by Rich Felker and Eric Blake; see
15511         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
15512         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
15513         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
15514         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15515         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
15516         * m4/stdint.m4 (gl_STDINT_H): Likewise.
15517         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
15518
15519         mktime: #undef mktime before #defining it
15520         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
15521
15522         mktime: systematically normalize tm_isdst comparisons
15523         * lib/mktime.c (isdst_differ): New function.
15524         (__mktime_internal): Use it systematically for all isdst comparisons.
15525         This completes the fix for libc BZ #6723, and removes the need for
15526         normalizing tm_isdst.  See
15527         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
15528         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
15529
15530         mktime: fix some integer overflow issues and sidestep the rest
15531
15532         This was prompted by a bug report by Benjamin Lindner for MinGW
15533         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
15534         His bug is due to signed integer overflow (0 - INT_MIN), and I
15535         I scanned through mktime.c looking for other integer overflow
15536         problems, fixing all the bugs I found.
15537
15538         Although the C Standard says the resulting code is still not safe
15539         in the presence of integer overflow, in practice it should be good
15540         enough for all real-world two's-complement implementations, except
15541         for debugging environments that deliberately trap on integer
15542         overflow (e.g., gcc -ftrapv).
15543
15544         * lib/mktime.c (WRAPV): New macro.
15545         (SHR): Also check that long_int and time_t shift right in the
15546         usual way, before using the fast-but-unportable method.
15547         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
15548         used.  The code already assumed two's complement, so there's
15549         no need to test for alternatives.  All uses removed.
15550         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
15551         the C standard.  Problem reported by Rich Felker in
15552         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
15553         (twos_complement_arithmetic): Also check long_int and time_t.
15554         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
15555         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
15556         (__mktime_internal): Avoid integer overflow with unary subtraction
15557         in two instances where -1 - X is an adequate replacement for -X,
15558         since the calculations are approximate.
15559
15560 2011-01-29  Eric Blake  <eblake@redhat.com>
15561
15562         mktime: avoid infinite loop
15563         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
15564         type; behavior is still undefined but portable to all known targets.
15565         Reported by Rich Felker.
15566
15567 2011-01-29  Simon Josefsson  <simon@josefsson.org>
15568
15569         rename, unlink, same-inode: Relicense.
15570         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
15571         * modules/unlink (License): Likewise.
15572         * modules/same-inode (License): Likewise.
15573
15574 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15575
15576         mktime: avoid problems on NetBSD 5 / i386
15577         * lib/mktime.c (long_int): New type.  This works around a problem
15578         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
15579         but time_t is 64 bits, and where I expect the existing code is
15580         wrong in some cases.
15581         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
15582         (ydhms_diff): Bring back the compile-time check for wide-enough
15583         year and yday.
15584
15585         mktime: fix misspelling in comment
15586         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
15587         This merges all recent glibc changes of importance.
15588
15589 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15590
15591         move-if-change: cope with concurrent mv of identical file.
15592         * build-aux/move-if-change (CMPPROG): Accept environment
15593         variable as an override for `cmp'.
15594         (usage): Document CMPPROG.
15595         Adjust comparison to drop stdout.  Cope with failure of mv if
15596         the target file exists and is identical to the source, for
15597         parallel builds.
15598         Report from H.J. Lu against binutils in PR binutils/12283.
15599
15600 2011-01-28  Bruce Korb  <bkorb@gnu.org>
15601
15602         * users.txt: Mention sharutils.
15603
15604 2011-01-28  Simon Josefsson  <simon@josefsson.org>
15605
15606         * users.txt: Mention OATH Toolkit.
15607
15608 2011-01-27  Bruno Haible  <bruno@clisp.org>
15609
15610         Prepare for supporting FreeBSD 10.
15611         * build-aux/config.libpath: Remove handling of freebsd1*.
15612
15613 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
15614
15615         Prepare for supporting FreeBSD 10.
15616         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
15617         match FreeBSD 10.0.
15618
15619 2011-01-27  Bruno Haible  <bruno@clisp.org>
15620
15621         vma-iter, get-rusage-as: Add OpenBSD support.
15622         * modules/vma-iter (configure.ac): Test for mquery.
15623         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
15624         * lib/vma-iter.c: Include <sys/mman.h>.
15625         (vma_iterate): Add an implementation based on mquery().
15626         * lib/resource-ext.h (get_rusage_as): Update comments.
15627         * lib/get-rusage-as.c: Likewise.
15628         * lib/get-rusage-data.c: Likewise.
15629
15630 2011-01-26  Karl Berry  <karl@gnu.org>
15631
15632         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
15633         variables to make it easier to override the makeinfo program used.
15634
15635 2011-01-26  Eric Blake  <eblake@redhat.com>
15636
15637         fcntl: work around Haiku F_DUPFD bugs
15638         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
15639         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
15640         cloexec bit on duplication.
15641         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
15642
15643 2011-01-26  Bruno Haible  <bruno@clisp.org>
15644
15645         Enable memory leak tests on AIX.
15646         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
15647         * tests/test-fprintf-posix3.c (main): Likewise.
15648
15649 2011-01-26  Bruno Haible  <bruno@clisp.org>
15650
15651         Tests for module 'get-rusage-data'.
15652         * modules/get-rusage-data-tests: New file.
15653         * tests/test-get-rusage-data.c: New file.
15654
15655         New module 'get-rusage-data'.
15656         * lib/resource-ext.h (get_rusage_data): New declaration.
15657         * lib/get-rusage-data.c: New file.
15658         * modules/get-rusage-data: New file.
15659
15660 2011-01-25  Bruno Haible  <bruno@clisp.org>
15661
15662         get-rusage-as: Allow for easier testing.
15663         * lib/resource-ext.h (get_rusage_as): Add comment.
15664         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
15665         (main): New function for interactive testing.
15666
15667 2011-01-25  Bruno Haible  <bruno@clisp.org>
15668
15669         vma-iter: Treat Haiku like BeOS.
15670         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
15671         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
15672
15673 2011-01-25  Eric Blake  <eblake@redhat.com>
15674
15675         c-stack: fix regression on cygwin when libsigsegv is present
15676         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
15677
15678 2011-01-24  Bruno Haible  <bruno@clisp.org>
15679
15680         vma-iter: Avoid empty intervals.
15681         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
15682         on an empty interval.
15683
15684 2011-01-24  Jim Meyering  <meyering@redhat.com>
15685
15686         u64: remove unnecessary #include
15687         * lib/u64.h: Don't include <stddef.h>.  It was not used.
15688
15689 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15690
15691         Allow the user to avoid the HAVE_RAW_DECL_* macros.
15692         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
15693
15694 2011-01-23  Bruno Haible  <bruno@clisp.org>
15695
15696         New module 'vma-iter'.
15697         * lib/vma-iter.h: New file.
15698         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
15699         * modules/vma-iter: New file.
15700         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
15701         for get_rusage_as_via_iterator.
15702         (vma_iterate_callback): New function.
15703         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
15704         * modules/get-rusage-as (Depends-on): Add vma-iter.
15705
15706 2011-01-23  Bruno Haible  <bruno@clisp.org>
15707
15708         uninorm: Tweak includes.
15709         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
15710         Reported by Jim Meyering.
15711
15712 2011-01-23  Bruno Haible  <bruno@clisp.org>
15713
15714         get-rusage-as: Improve on NetBSD.
15715         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
15716         /proc, like on FreeBSD.
15717
15718 2011-01-23  Jim Meyering  <meyering@redhat.com>
15719
15720         xreadlink.h: remove unnecessary #include
15721         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
15722
15723         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
15724         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
15725
15726 2011-01-23  Bruno Haible  <bruno@clisp.org>
15727
15728         get-rusage-as: Fix bug.
15729         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
15730         original limit when aborting the first loop.
15731
15732 2011-01-23  Bruno Haible  <bruno@clisp.org>
15733
15734         wctype: Ensure valid C syntax.
15735         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
15736         unconditionally, instead of gl_NEXT_HEADERS conditionally.
15737
15738 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
15739
15740         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
15741         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
15742         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
15743         as they are needed only for configure's test case.
15744         This removes two unnecessary symbols from config.h.
15745
15746         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
15747         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
15748         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
15749         AC_CHECK_HEADERS_ONCE on a header that we also invoke
15750         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
15751         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
15752         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
15753         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
15754         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
15755         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15756         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
15757         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15758         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15759         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15760         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
15761         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15762         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
15763         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
15764
15765 2011-01-21  Eric Blake  <eblake@redhat.com>
15766
15767         maintainer-makefile: work with older git for submodule check
15768         * top/maint.mk (public-submodule-commit): Rewrite to avoid
15769         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
15770         Reported by Matthias Bolte.
15771
15772         bootstrap: minor portability fixes
15773         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
15774         (usage): Omit leading capital and trailing . on help phrases, per
15775         GNU Coding Standards.
15776         (check_versions, top level): Prefix messages with script name.
15777
15778 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
15779
15780         bootstrap: support --no-git option
15781         * build-aux/bootstrap: Add --no-git option, to be used when
15782         --gnulib-srcdir points to the exact desired checkout.
15783
15784 2011-01-21  Eric Blake  <eblake@redhat.com>
15785
15786         strerror_r-posix: work with glibc 2.13
15787         * lib/strerror_r.c (strerror_r): Fix return type.
15788
15789 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15790             Bruno Haible  <bruno@clisp.org>
15791
15792         uN_strstr: New unit tests.
15793         * modules/unistr/u8-strstr-tests: New file.
15794         * modules/unistr/u16-strstr-tests: New file.
15795         * modules/unistr/u32-strstr-tests: New file.
15796         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
15797         * tests/unistr/test-u8-strstr.c: New file.
15798         * tests/unistr/test-u16-strstr.c: New file.
15799         * tests/unistr/test-u32-strstr.c: New file.
15800
15801 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15802             Bruno Haible  <bruno@clisp.org>
15803
15804         Make uN_strstr functions O(n) worst-case.
15805         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
15806         16-bit and 32-bit unit cases, use the unibyte algorithm from
15807         lib/mbsstr.c.
15808         * lib/unistr/u8-strstr.c: Include <string.h>.
15809         (UNIT_IS_UINT8_T): New macro.
15810         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
15811         (U_STRLEN, U_STRNLEN): New macros.
15812         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
15813         (U_STRLEN, U_STRNLEN): New macros.
15814         * modules/unistr/u8-strstr (Depends-on): Add strstr.
15815         (configure.ac): Update required libunistring version.
15816         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
15817         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
15818         malloca.
15819         (configure.ac): Update required libunistring version.
15820         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
15821         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
15822         malloca.
15823         (configure.ac): Update required libunistring version.
15824
15825 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15826             Bruno Haible  <bruno@clisp.org>
15827
15828         Prepare for faster uN_strstr functions.
15829         * lib/str-kmp.h: Support definable UNITs.
15830         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
15831         needle_len argument.
15832         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
15833         * lib/mbscasestr.c (mbscasestr): Likewise.
15834
15835 2011-01-21  Pádraig Brady <P@draigBrady.com>
15836
15837         malloca-tests: make faster by unsetting MALLOC_PERTURB_
15838         * tests/test-malloca.c (main): Unset the environment variable
15839         to greatly speed up the test.
15840         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
15841         * modules/malloca-tests: Depend on unsetenv.
15842
15843 2011-01-21  Pádraig Brady <P@draigBrady.com>
15844
15845         ignore-value: remove stdint dependency
15846         * lib/ignore-value.h: Remove <stdint.h>
15847         * modules/ignore-value: Remove stdint dependency.
15848
15849 2011-01-21  Jim Meyering  <meyering@redhat.com>
15850
15851         maint.mk: adjust variable name to be consistent with other gl_ vars
15852         * top/maint.mk (gl_public_submodule_commit): Rename the variable
15853         to be lower case.
15854
15855 2011-01-20  Jim Meyering  <meyering@redhat.com>
15856
15857         maint.mk: make "check" depend on public-submodule-commit by default
15858         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
15859
15860 2011-01-20  Bruno Haible  <bruno@clisp.org>
15861
15862         mbfile, mbiter: Complete change from 2008-12-21.
15863         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
15864         * m4/mbiter.m4 (gl_MBITER): Likewise.
15865
15866 2011-01-20  Jim Meyering  <meyering@redhat.com>
15867
15868         init.sh: insert space between each function name and "()"
15869         * tests/init.sh: Make it a little easier to see that a function's
15870         name is "warn_", and not "warn" when looking at the first part of
15871         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
15872
15873 2011-01-20  Jim Meyering  <meyering@redhat.com>
15874
15875         mountlist: clean up code formatting
15876         * lib/mountlist.c (read_file_system_list): Split a long line,
15877         correct bracing style, use NULL in place of "(struct statfs *)0",
15878         don't parenthesize return value, add spaces around "=" and after
15879         ";-in-for-stmt".
15880
15881 2011-01-14  Markus Duft <mduft@gentoo.org>
15882
15883         mountlist: add support for Interix
15884         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
15885         Apply statvfs to all entries of /dev/fs.
15886         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
15887         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
15888
15889 2011-01-20  Jim Meyering  <meyering@redhat.com>
15890
15891         maint.mk: improve the public-submodule-commit rule
15892         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
15893         to suppress printing of its commands... unless V=1.
15894         Add git submodule's --quiet option to suppress printing of e.g.,
15895         "Entering gnulib" output.
15896         "cd" into $(srcdir) before running git submodule.
15897
15898 2011-01-20  Bruno Haible  <bruno@clisp.org>
15899
15900         include_next: Fix bug introduced on 2011-01-18.
15901         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
15902         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
15903         ac_cv_header_... variable if the second argument is not 'check'.
15904         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
15905         gl_NEXT_HEADERS_INTERNAL.
15906
15907 2011-01-20  Bruno Haible  <bruno@clisp.org>
15908
15909         Allow the user to avoid the GNULIB_TEST_* macros.
15910         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
15911         Suggested by Paul Eggert.
15912
15913 2011-01-14  Jim Meyering  <meyering@redhat.com>
15914
15915         bootstrap: avoid failure when there is no .gitmodules file
15916         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
15917         has been assigned to, even when its value is the empty string.
15918         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
15919         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
15920         Reported by John W. Eaton <jwe@gnu.org>.
15921
15922 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15923
15924         assume <ctype.h>, ..., <time.h> exist
15925         For years gnulib has been assuming the existence of the headers
15926         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
15927         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
15928         them, since they don't appear to be needed.
15929         * README (Portability guidelines): Document this.
15930         * lib/flock.c: Assume <fcntl.h> exists.
15931         * lib/regex_internal.h: Assume <locale.h> exists.
15932         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
15933         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
15934         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
15935         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
15936         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
15937         * m4/regex.m4 (gl_REGEX): Likewise.
15938         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
15939         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
15940         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
15941         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
15942         * tests/test-argp.c: Likewise.
15943         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
15944
15945         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
15946         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
15947         AA_APPLE_UNIVERSAL_BUILD.  See
15948         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
15949         * NEWS: Document this.
15950
15951 2011-01-19  Eric Blake  <eblake@redhat.com>
15952
15953         c-stack: assume stack overflow if SA_SIGINFO unsupported
15954         * lib/c-stack.c (SIGACTION_WORKS): Rename...
15955         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
15956         sigaction will work.
15957         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
15958         behavior match Linux.
15959         * tests/test-c-stack.c (main): Prefer NULL for pointers.
15960
15961         stdbool-tests: accomodate Haiku
15962         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
15963
15964         binary-io: fix O_TEXT on Haiku
15965         * modules/binary-io (Depends-on): Add fcntl-h.
15966         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
15967         than blindly undefining O_TEXT.
15968         Reported by Scott McCreary.
15969
15970 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15971
15972         include_next: do not check for standard headers like stddef.h
15973
15974         I found this problem when modifying Emacs to use gnulib.
15975         I noticed that it added HAVE_STDDEF_H to config.h, even though
15976         gnulib always assumes <stddef.h> exists as per README and this
15977         symbol is unnecessary.
15978         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
15979         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
15980         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
15981         faster for headers like stddef.h that are known to exist.
15982         (gl_CHECK_NEXT_HEADERS): Use it.
15983         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
15984         rather than gl_CHECK_NEXT_HEADERS.
15985         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
15986         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
15987
15988 2011-01-18  Eric Blake  <eblake@redhat.com>
15989
15990         ansi-c++-opt: skip C++ dependency style if C++ is unused
15991         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
15992         tests when we know C++ compilation is not desired.
15993         Reported by Scott McCreary.
15994
15995 2011-01-18  Bruno Haible  <bruno@clisp.org>
15996
15997         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
15998         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
15999         (main): Perform test also when getrlimit and setrlimit don't exist or
16000         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
16001         limiting the address space size using setrlimit, compare the address
16002         space size before and after the the test.
16003         * tests/test-dprintf-posix2.c: Likewise.
16004         * tests/test-fprintf-posix3.sh: Update skip messages.
16005         * tests/test-dprintf-posix2.sh: Likewise.
16006         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
16007         * modules/dprintf-posix-tests (Depends-on): Likewise.
16008         Reported by Bruce Korb <bkorb@gnu.org> and
16009         Gary V. Vaughan <gary@gnu.org>.
16010
16011 2011-01-18  Bruno Haible  <bruno@clisp.org>
16012
16013         get-rusage-as: Improvement for Cygwin.
16014         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
16015         areas that are merely reserved.
16016
16017 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16018
16019         strftime: remove dependencies on multibyte modules
16020
16021         strftime depended on mbrlen, mbsinit, and wchar, but these modules
16022         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
16023         only if __osf__ is defined, and I suspect OSF doesn't need these
16024         other modules.  If my guess is wrong, we'll need to come up with a
16025         variant of strftime that doesn't need the multibyte modules.
16026
16027         I discovered this problem when attempting modify Emacs to use the
16028         strftime module.  With the previous gnulib, this caused Emacs to
16029         need 31 new files, ranging from lib/config.charset to
16030         m4/wint_t.m4.  This was overkill and I expect would be offputting
16031         to the Emacs maintainers.  After this change, only 6 new files are
16032         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
16033         stdbool.m4, and tm_gmtoff.m4.
16034
16035         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
16036         Suggested by Bruno Haible in
16037         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
16038         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
16039         and do not check for wchar.h.
16040         * modules/strftime (Files): Remove m4/mbstate_t.m4.
16041         (Depends-on): Remove mbrlen, mbsinit, wchar.
16042
16043 2011-01-18  Bruno Haible  <bruno@clisp.org>
16044
16045         Tests for module 'get-rusage-as'.
16046         * modules/get-rusage-as-tests: New file.
16047         * tests/test-get-rusage-as.c: New file.
16048
16049         New module 'get-rusage-as'.
16050         * modules/get-rusage-as: New file.
16051         * lib/resource-ext.h: New file.
16052         * lib/get-rusage-as.c: New file.
16053
16054 2011-01-17  Eric Blake  <eblake@redhat.com>
16055
16056         sigaction: relax license from LGPLv3+ to LGPLv2+
16057         * modules/sigaction (License): Relax to LGPLv2+.
16058
16059 2011-01-14  Bruno Haible  <bruno@clisp.org>
16060
16061         filemode: Make function declarations usable in C++ mode.
16062         * lib/filemode.h: Enclose function declarations in extern "C" block.
16063         Reported by John W. Eaton <jwe@gnu.org>.
16064
16065 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
16066
16067         save-cwd: no longer include "xgetcwd.h"
16068         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
16069         This avoids a compilation failure in projects that use save-cwd
16070         without also using the xgetcwd module.
16071
16072 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
16073
16074         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
16075         This is so that a program like Emacs, which needs only dtoastr,
16076         does not have to bother with distributing and compiling ftoastr
16077         and ldtoastr.
16078         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
16079         * modules/dtoastr, modules/ldtoastr: New files.
16080         * modules/ftoastr: Now works just for 'float'.
16081         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
16082         (Makefile.am): Remove ftoastr.h (not needed and no effect),
16083         dtoastr.c, ldtoastr.c.
16084
16085 2011-01-11  Jim Meyering  <meyering@redhat.com>
16086
16087         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
16088         There is no need to work around the lack of the fchdir function,
16089         since gnulib can now provide a replacement when required.
16090         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
16091         * modules/save-cwd (Depends-on): Add fchdir.
16092
16093 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
16094
16095         openat, save-cwd: avoid xmalloc
16096
16097         This removes a direct (but undocumented) dependency of openat on
16098         xalloc, along with an indirect dependency via save-cwd.  It also
16099         removes a dependency of save-cwd on xgetcwd, and thereby
16100         indirectly on xalloc.  This change causes the openat substitute
16101         to fall back on save_cwd when memory is tight, and for save_cwd to
16102         fail instead of dying when memory is tight, but that's good enough.
16103         Problem and initial idea for fix reported by Bastien Roucaries in
16104         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
16105
16106         * lib/openat-proc.c: Include stdlib.h (for malloc), not
16107         xalloc.h (for xmalloc).
16108         (openat_proc_name): Use malloc, not xmalloc.
16109         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
16110         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
16111
16112         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
16113         This avoids heap allocation for file names whose lengths are in
16114         the range 512..1023, with the upper bound increasing to at most
16115         4031 depending on the platform's PATH_MAX.  (We do not want
16116         pathmax.h here as it might supply a non-constant PATH_MAX.)
16117         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
16118         Perhaps they should be moved to malloca.h?
16119         (OPENAT_BUFFER_SIZE): Use them.
16120
16121 2011-01-10  Bruno Haible  <bruno@clisp.org>
16122
16123         doc: Update users.txt.
16124         * users.txt: Add recutils.
16125
16126 2011-01-09  Karl Berry  <karl@gnu.org>
16127
16128         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
16129
16130         * doc/configmake.texi: New file.
16131         * doc/gnulib.texi: Include it.
16132         * modules/configmake: Move documentation from here.
16133
16134 2011-01-09  Bruno Haible  <bruno@clisp.org>
16135
16136         Update to Unicode 6.0.0.
16137         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
16138         (get_lbp): Update for Unicode 6.0.0.
16139         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
16140         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
16141         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
16142         U+11001, U+11038..U+11046. Remove U+06DE.
16143         (uc_width): Fix bounds of planes.
16144         * tests/uniwidth/test-uc_width2.sh: Same updates as in
16145         lib/uniwidth/width.c.
16146         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
16147         trailing whitespace removed.
16148         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
16149         without comments, but with the original copyright notice.
16150         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
16151         * lib/unicase/ignorable.h: Likewise.
16152         * lib/unicase/tocasefold.h: Likewise.
16153         * lib/unicase/tolower.h: Likewise.
16154         * lib/unicase/totitle.h: Likewise.
16155         * lib/unicase/toupper.h: Likewise.
16156         * lib/unictype/bidi_of.h: Likewise.
16157         * lib/unictype/blocks.h: Likewise.
16158         * lib/unictype/categ_C.h: Likewise.
16159         * lib/unictype/categ_Cn.h: Likewise.
16160         * lib/unictype/categ_L.h: Likewise.
16161         * lib/unictype/categ_Ll.h: Likewise.
16162         * lib/unictype/categ_Lm.h: Likewise.
16163         * lib/unictype/categ_Lo.h: Likewise.
16164         * lib/unictype/categ_Lu.h: Likewise.
16165         * lib/unictype/categ_M.h: Likewise.
16166         * lib/unictype/categ_Mc.h: Likewise.
16167         * lib/unictype/categ_Me.h: Likewise.
16168         * lib/unictype/categ_Mn.h: Likewise.
16169         * lib/unictype/categ_N.h: Likewise.
16170         * lib/unictype/categ_Nd.h: Likewise.
16171         * lib/unictype/categ_No.h: Likewise.
16172         * lib/unictype/categ_P.h: Likewise.
16173         * lib/unictype/categ_Po.h: Likewise.
16174         * lib/unictype/categ_S.h: Likewise.
16175         * lib/unictype/categ_Sc.h: Likewise.
16176         * lib/unictype/categ_Sk.h: Likewise.
16177         * lib/unictype/categ_Sm.h: Likewise.
16178         * lib/unictype/categ_So.h: Likewise.
16179         * lib/unictype/categ_of.h: Likewise.
16180         * lib/unictype/combining.h: Likewise.
16181         * lib/unictype/ctype_alnum.h: Likewise.
16182         * lib/unictype/ctype_alpha.h: Likewise.
16183         * lib/unictype/ctype_graph.h: Likewise.
16184         * lib/unictype/ctype_lower.h: Likewise.
16185         * lib/unictype/ctype_print.h: Likewise.
16186         * lib/unictype/ctype_punct.h: Likewise.
16187         * lib/unictype/ctype_upper.h: Likewise.
16188         * lib/unictype/decdigit.h: Likewise.
16189         * lib/unictype/digit.h: Likewise.
16190         * lib/unictype/numeric.h: Likewise.
16191         * lib/unictype/pr_alphabetic.h: Likewise.
16192         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
16193         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
16194         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
16195         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
16196         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
16197         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
16198         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
16199         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
16200         * lib/unictype/pr_case_ignorable.h: Likewise.
16201         * lib/unictype/pr_cased.h: Likewise.
16202         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
16203         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
16204         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
16205         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
16206         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
16207         * lib/unictype/pr_combining.h: Likewise.
16208         * lib/unictype/pr_composite.h: Likewise.
16209         * lib/unictype/pr_currency_symbol.h: Likewise.
16210         * lib/unictype/pr_decimal_digit.h: Likewise.
16211         * lib/unictype/pr_deprecated.h: Likewise.
16212         * lib/unictype/pr_format_control.h: Likewise.
16213         * lib/unictype/pr_grapheme_base.h: Likewise.
16214         * lib/unictype/pr_grapheme_extend.h: Likewise.
16215         * lib/unictype/pr_grapheme_link.h: Likewise.
16216         * lib/unictype/pr_id_continue.h: Likewise.
16217         * lib/unictype/pr_id_start.h: Likewise.
16218         * lib/unictype/pr_ideographic.h: Likewise.
16219         * lib/unictype/pr_lowercase.h: Likewise.
16220         * lib/unictype/pr_math.h: Likewise.
16221         * lib/unictype/pr_numeric.h: Likewise.
16222         * lib/unictype/pr_other_alphabetic.h: Likewise.
16223         * lib/unictype/pr_other_id_continue.h: Likewise.
16224         * lib/unictype/pr_other_math.h: Likewise.
16225         * lib/unictype/pr_punctuation.h: Likewise.
16226         * lib/unictype/pr_sentence_terminal.h: Likewise.
16227         * lib/unictype/pr_terminal_punctuation.h: Likewise.
16228         * lib/unictype/pr_unassigned_code_value.h: Likewise.
16229         * lib/unictype/pr_unified_ideograph.h: Likewise.
16230         * lib/unictype/pr_uppercase.h: Likewise.
16231         * lib/unictype/pr_xid_continue.h: Likewise.
16232         * lib/unictype/pr_xid_start.h: Likewise.
16233         * lib/unictype/scripts.h: Likewise.
16234         * lib/unictype/scripts_byname.gperf: Likewise.
16235         * lib/unictype/sy_java_ident.h: Likewise.
16236         * lib/unigbrk/gbrkprop.h: Likewise.
16237         * lib/unilbrk/lbrkprop1.h: Likewise.
16238         * lib/unilbrk/lbrkprop2.h: Likewise.
16239         * lib/uninorm/decomposition-table2.h: Likewise.
16240         * lib/uniwbrk/wbrkprop.h: Likewise.
16241         * tests/unicase/test-cased.c: Likewise.
16242         * tests/unicase/test-ignorable.c: Likewise.
16243         * tests/unicase/test-uc_tolower.c: Likewise.
16244         * tests/unicase/test-uc_totitle.c: Likewise.
16245         * tests/unicase/test-uc_toupper.c: Likewise.
16246         * tests/unictype/test-categ_C.c: Likewise.
16247         * tests/unictype/test-categ_Cn.c: Likewise.
16248         * tests/unictype/test-categ_L.c: Likewise.
16249         * tests/unictype/test-categ_Ll.c: Likewise.
16250         * tests/unictype/test-categ_Lm.c: Likewise.
16251         * tests/unictype/test-categ_Lo.c: Likewise.
16252         * tests/unictype/test-categ_Lu.c: Likewise.
16253         * tests/unictype/test-categ_M.c: Likewise.
16254         * tests/unictype/test-categ_Mc.c: Likewise.
16255         * tests/unictype/test-categ_Me.c: Likewise.
16256         * tests/unictype/test-categ_Mn.c: Likewise.
16257         * tests/unictype/test-categ_N.c: Likewise.
16258         * tests/unictype/test-categ_Nd.c: Likewise.
16259         * tests/unictype/test-categ_No.c: Likewise.
16260         * tests/unictype/test-categ_P.c: Likewise.
16261         * tests/unictype/test-categ_Po.c: Likewise.
16262         * tests/unictype/test-categ_S.c: Likewise.
16263         * tests/unictype/test-categ_Sc.c: Likewise.
16264         * tests/unictype/test-categ_Sk.c: Likewise.
16265         * tests/unictype/test-categ_Sm.c: Likewise.
16266         * tests/unictype/test-categ_So.c: Likewise.
16267         * tests/unictype/test-ctype_alnum.c: Likewise.
16268         * tests/unictype/test-ctype_alpha.c: Likewise.
16269         * tests/unictype/test-ctype_graph.c: Likewise.
16270         * tests/unictype/test-ctype_lower.c: Likewise.
16271         * tests/unictype/test-ctype_print.c: Likewise.
16272         * tests/unictype/test-ctype_punct.c: Likewise.
16273         * tests/unictype/test-ctype_upper.c: Likewise.
16274         * tests/unictype/test-decdigit.h: Likewise.
16275         * tests/unictype/test-digit.h: Likewise.
16276         * tests/unictype/test-numeric.h: Likewise.
16277         * tests/unictype/test-pr_alphabetic.c: Likewise.
16278         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
16279         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
16280         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
16281         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
16282         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
16283         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
16284         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
16285         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
16286         * tests/unictype/test-pr_case_ignorable.c: Likewise.
16287         * tests/unictype/test-pr_cased.c: Likewise.
16288         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
16289         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
16290         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
16291         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
16292         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
16293         * tests/unictype/test-pr_combining.c: Likewise.
16294         * tests/unictype/test-pr_composite.c: Likewise.
16295         * tests/unictype/test-pr_currency_symbol.c: Likewise.
16296         * tests/unictype/test-pr_decimal_digit.c: Likewise.
16297         * tests/unictype/test-pr_deprecated.c: Likewise.
16298         * tests/unictype/test-pr_format_control.c: Likewise.
16299         * tests/unictype/test-pr_grapheme_base.c: Likewise.
16300         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
16301         * tests/unictype/test-pr_grapheme_link.c: Likewise.
16302         * tests/unictype/test-pr_id_continue.c: Likewise.
16303         * tests/unictype/test-pr_id_start.c: Likewise.
16304         * tests/unictype/test-pr_ideographic.c: Likewise.
16305         * tests/unictype/test-pr_lowercase.c: Likewise.
16306         * tests/unictype/test-pr_math.c: Likewise.
16307         * tests/unictype/test-pr_numeric.c: Likewise.
16308         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
16309         * tests/unictype/test-pr_other_id_continue.c: Likewise.
16310         * tests/unictype/test-pr_other_math.c: Likewise.
16311         * tests/unictype/test-pr_punctuation.c: Likewise.
16312         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
16313         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
16314         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
16315         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
16316         * tests/unictype/test-pr_uppercase.c: Likewise.
16317         * tests/unictype/test-pr_xid_continue.c: Likewise.
16318         * tests/unictype/test-pr_xid_start.c: Likewise.
16319         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
16320         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
16321         changes.
16322         * lib/unictype/categ_Cc.h: Likewise.
16323         * lib/unictype/categ_Cf.h: Likewise.
16324         * lib/unictype/categ_Co.h: Likewise.
16325         * lib/unictype/categ_Cs.h: Likewise.
16326         * lib/unictype/categ_Lt.h: Likewise.
16327         * lib/unictype/categ_Nl.h: Likewise.
16328         * lib/unictype/categ_Pc.h: Likewise.
16329         * lib/unictype/categ_Pd.h: Likewise.
16330         * lib/unictype/categ_Pe.h: Likewise.
16331         * lib/unictype/categ_Pf.h: Likewise.
16332         * lib/unictype/categ_Pi.h: Likewise.
16333         * lib/unictype/categ_Ps.h: Likewise.
16334         * lib/unictype/categ_Z.h: Likewise.
16335         * lib/unictype/categ_Zl.h: Likewise.
16336         * lib/unictype/categ_Zp.h: Likewise.
16337         * lib/unictype/categ_Zs.h: Likewise.
16338         * lib/unictype/ctype_blank.h: Likewise.
16339         * lib/unictype/ctype_cntrl.h: Likewise.
16340         * lib/unictype/ctype_digit.h: Likewise.
16341         * lib/unictype/ctype_space.h: Likewise.
16342         * lib/unictype/ctype_xdigit.h: Likewise.
16343         * lib/unictype/mirror.h: Likewise.
16344         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
16345         * lib/unictype/pr_bidi_block_separator.h: Likewise.
16346         * lib/unictype/pr_bidi_common_separator.h: Likewise.
16347         * lib/unictype/pr_bidi_control.h: Likewise.
16348         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
16349         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
16350         * lib/unictype/pr_bidi_european_digit.h: Likewise.
16351         * lib/unictype/pr_bidi_pdf.h: Likewise.
16352         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
16353         * lib/unictype/pr_bidi_whitespace.h: Likewise.
16354         * lib/unictype/pr_dash.h: Likewise.
16355         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
16356         * lib/unictype/pr_diacritic.h: Likewise.
16357         * lib/unictype/pr_extender.h: Likewise.
16358         * lib/unictype/pr_hex_digit.h: Likewise.
16359         * lib/unictype/pr_hyphen.h: Likewise.
16360         * lib/unictype/pr_ids_binary_operator.h: Likewise.
16361         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
16362         * lib/unictype/pr_ignorable_control.h: Likewise.
16363         * lib/unictype/pr_iso_control.h: Likewise.
16364         * lib/unictype/pr_join_control.h: Likewise.
16365         * lib/unictype/pr_left_of_pair.h: Likewise.
16366         * lib/unictype/pr_line_separator.h: Likewise.
16367         * lib/unictype/pr_logical_order_exception.h: Likewise.
16368         * lib/unictype/pr_non_break.h: Likewise.
16369         * lib/unictype/pr_not_a_character.h: Likewise.
16370         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
16371         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
16372         * lib/unictype/pr_other_id_start.h: Likewise.
16373         * lib/unictype/pr_other_lowercase.h: Likewise.
16374         * lib/unictype/pr_other_uppercase.h: Likewise.
16375         * lib/unictype/pr_paired_punctuation.h: Likewise.
16376         * lib/unictype/pr_paragraph_separator.h: Likewise.
16377         * lib/unictype/pr_pattern_syntax.h: Likewise.
16378         * lib/unictype/pr_pattern_white_space.h: Likewise.
16379         * lib/unictype/pr_private_use.h: Likewise.
16380         * lib/unictype/pr_quotation_mark.h: Likewise.
16381         * lib/unictype/pr_radical.h: Likewise.
16382         * lib/unictype/pr_soft_dotted.h: Likewise.
16383         * lib/unictype/pr_space.h: Likewise.
16384         * lib/unictype/pr_titlecase.h: Likewise.
16385         * lib/unictype/pr_variation_selector.h: Likewise.
16386         * lib/unictype/pr_white_space.h: Likewise.
16387         * lib/unictype/pr_zero_width.h: Likewise.
16388         * lib/unictype/sy_c_ident.h: Likewise.
16389         * lib/unictype/sy_c_whitespace.h: Likewise.
16390         * lib/unictype/sy_java_whitespace.h: Likewise.
16391         * lib/uninorm/composition-table.gperf: Likewise.
16392         * lib/uninorm/decomposition-table1.h: Likewise.
16393         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
16394         LB8.
16395         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
16396         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
16397         * modules/unictype/*: Bump version number of expected libunistring
16398         version.
16399
16400 2011-01-09  Bruno Haible  <bruno@clisp.org>
16401
16402         Update to Unicode 5.2.0.
16403         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
16404         trailing whitespace removed.
16405
16406 2011-01-09  Bruno Haible  <bruno@clisp.org>
16407
16408         New Unicode character properties, from Unicode 5.2.0.
16409         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
16410         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
16411         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
16412         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
16413         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
16414         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
16415         uc_is_property_cased, uc_is_property_case_ignorable,
16416         uc_is_property_changes_when_lowercased,
16417         uc_is_property_changes_when_uppercased,
16418         uc_is_property_changes_when_titlecased,
16419         uc_is_property_changes_when_casefolded,
16420         uc_is_property_changes_when_casemapped): New declarations.
16421         * lib/unictype/pr_byname.gperf: Add the new properties.
16422         * modules/unictype/property-byname (Depends-on): Depend on the new
16423         properties modules.
16424         * modules/unictype/property-all (Depends-on): Likewise.
16425         * MODULES.html.sh (Unicode string functions): Add
16426         unictype/property-case-ignorable, unictype/property-cased,
16427         unictype/property-changes-when-casefolded,
16428         unictype/property-changes-when-casemapped,
16429         unictype/property-changes-when-lowercased,
16430         unictype/property-changes-when-titlecased,
16431         unictype/property-changes-when-uppercased.
16432
16433         New module 'unictype/property-changes-when-casemapped'.
16434         * modules/unictype/property-changes-when-casemapped: New file.
16435         * lib/unictype/pr_changes_when_casemapped.c: New file.
16436         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
16437         generated by gen-uni-tables.
16438         * modules/unictype/property-changes-when-casemapped-tests: New file.
16439         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
16440         automatically generated by gen-uni-tables.
16441
16442         New module 'unictype/property-changes-when-casefolded'.
16443         * modules/unictype/property-changes-when-casefolded: New file.
16444         * lib/unictype/pr_changes_when_casefolded.c: New file.
16445         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
16446         generated by gen-uni-tables.
16447         * modules/unictype/property-changes-when-casefolded-tests: New file.
16448         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
16449         automatically generated by gen-uni-tables.
16450
16451         New module 'unictype/property-changes-when-titlecased'.
16452         * modules/unictype/property-changes-when-titlecased: New file.
16453         * lib/unictype/pr_changes_when_titlecased.c: New file.
16454         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
16455         generated by gen-uni-tables.
16456         * modules/unictype/property-changes-when-titlecased-tests: New file.
16457         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
16458         automatically generated by gen-uni-tables.
16459
16460         New module 'unictype/property-changes-when-uppercased'.
16461         * modules/unictype/property-changes-when-uppercased: New file.
16462         * lib/unictype/pr_changes_when_uppercased.c: New file.
16463         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
16464         generated by gen-uni-tables.
16465         * modules/unictype/property-changes-when-uppercased-tests: New file.
16466         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
16467         automatically generated by gen-uni-tables.
16468
16469         New module 'unictype/property-changes-when-lowercased'.
16470         * modules/unictype/property-changes-when-lowercased: New file.
16471         * lib/unictype/pr_changes_when_lowercased.c: New file.
16472         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
16473         generated by gen-uni-tables.
16474         * modules/unictype/property-changes-when-lowercased-tests: New file.
16475         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
16476         automatically generated by gen-uni-tables.
16477
16478         New module 'unictype/property-case-ignorable'.
16479         * modules/unictype/property-case-ignorable: New file.
16480         * lib/unictype/pr_case_ignorable.c: New file.
16481         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
16482         by gen-uni-tables.
16483         * modules/unictype/property-case-ignorable-tests: New file.
16484         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
16485         generated by gen-uni-tables.
16486
16487         New module 'unictype/property-cased'.
16488         * modules/unictype/property-cased: New file.
16489         * lib/unictype/pr_cased.c: New file.
16490         * lib/unictype/pr_cased.h: New file, automatically generated by
16491         gen-uni-tables.
16492         * modules/unictype/property-cased-tests: New file.
16493         * tests/unictype/test-pr_cased.c: New file, automatically generated by
16494         gen-uni-tables.
16495
16496 2011-01-09  Bruno Haible  <bruno@clisp.org>
16497
16498         Update to Unicode 5.2.0.
16499         * lib/gen-uni-tables.c (output_predicate, output_category,
16500         output_combclass, output_bidi_category, output_decimal_digit_test,
16501         output_decimal_digit, output_digit_test, output_digit,
16502         output_numeric_test, output_numeric, output_mirror, output_scripts,
16503         output_scripts_byname, output_blocks, output_ident_category): Fix
16504         comment header.
16505         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
16506         get_wbp.
16507         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
16508         items.
16509         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
16510         Changes_When_Lowercased, Changes_When_Uppercased,
16511         Changes_When_Titlecased, Changes_When_Casefolded,
16512         Changes_When_Casemapped.
16513         (is_property_alphabetic, is_property_default_ignorable_code_point):
16514         Update for Unicode 5.2.0.
16515         (is_property_cased, is_property_case_ignorable,
16516         is_property_changes_when_lowercased,
16517         is_property_changes_when_uppercased,
16518         is_property_changes_when_titlecased,
16519         is_property_changes_when_casefolded,
16520         is_property_changes_when_casemapped): New functions.
16521         (output_properties): Output also the properties cased, case_ignorable,
16522         changes_when_lowercased, changes_when_uppercased,
16523         changes_when_titlecased, changes_when_casefolded,
16524         changes_when_casemapped.
16525         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
16526         Unicode TR#11 revision 17 -> 19.
16527         (LBP_CP): New enumeration value.
16528         (LBP_*): Adjust values accordingly.
16529         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
16530         TR#14 revision 22 -> 24.
16531         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
16532         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
16533         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
16534         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
16535         is_WBP_MIDLETTER.
16536         (output_composition_tables): Allow for 24 bits instead of 16 bits in
16537         the code1 and code2 of each composition rule.
16538         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
16539         * lib/unicase/ignorable.h: Likewise.
16540         * lib/unicase/tocasefold.h: Likewise.
16541         * lib/unicase/tolower.h: Likewise.
16542         * lib/unicase/totitle.h: Likewise.
16543         * lib/unicase/toupper.h: Likewise.
16544         * lib/unictype/bidi_of.h: Likewise.
16545         * lib/unictype/blocks.h: Likewise.
16546         * lib/unictype/categ_C.h: Likewise.
16547         * lib/unictype/categ_Cf.h: Likewise.
16548         * lib/unictype/categ_Cn.h: Likewise.
16549         * lib/unictype/categ_L.h: Likewise.
16550         * lib/unictype/categ_Ll.h: Likewise.
16551         * lib/unictype/categ_Lm.h: Likewise.
16552         * lib/unictype/categ_Lo.h: Likewise.
16553         * lib/unictype/categ_Lu.h: Likewise.
16554         * lib/unictype/categ_M.h: Likewise.
16555         * lib/unictype/categ_Mc.h: Likewise.
16556         * lib/unictype/categ_Mn.h: Likewise.
16557         * lib/unictype/categ_N.h: Likewise.
16558         * lib/unictype/categ_Nd.h: Likewise.
16559         * lib/unictype/categ_Nl.h: Likewise.
16560         * lib/unictype/categ_No.h: Likewise.
16561         * lib/unictype/categ_P.h: Likewise.
16562         * lib/unictype/categ_Pd.h: Likewise.
16563         * lib/unictype/categ_Po.h: Likewise.
16564         * lib/unictype/categ_S.h: Likewise.
16565         * lib/unictype/categ_Sc.h: Likewise.
16566         * lib/unictype/categ_So.h: Likewise.
16567         * lib/unictype/categ_of.h: Likewise.
16568         * lib/unictype/combining.h: Likewise.
16569         * lib/unictype/ctype_alnum.h: Likewise.
16570         * lib/unictype/ctype_alpha.h: Likewise.
16571         * lib/unictype/ctype_graph.h: Likewise.
16572         * lib/unictype/ctype_lower.h: Likewise.
16573         * lib/unictype/ctype_print.h: Likewise.
16574         * lib/unictype/ctype_punct.h: Likewise.
16575         * lib/unictype/ctype_upper.h: Likewise.
16576         * lib/unictype/decdigit.h: Likewise.
16577         * lib/unictype/digit.h: Likewise.
16578         * lib/unictype/numeric.h: Likewise.
16579         * lib/unictype/pr_alphabetic.h: Likewise.
16580         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
16581         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
16582         * lib/unictype/pr_bidi_european_digit.h: Likewise.
16583         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
16584         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
16585         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
16586         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
16587         * lib/unictype/pr_combining.h: Likewise.
16588         * lib/unictype/pr_composite.h: Likewise.
16589         * lib/unictype/pr_currency_symbol.h: Likewise.
16590         * lib/unictype/pr_dash.h: Likewise.
16591         * lib/unictype/pr_decimal_digit.h: Likewise.
16592         * lib/unictype/pr_deprecated.h: Likewise.
16593         * lib/unictype/pr_diacritic.h: Likewise.
16594         * lib/unictype/pr_extender.h: Likewise.
16595         * lib/unictype/pr_grapheme_base.h: Likewise.
16596         * lib/unictype/pr_grapheme_extend.h: Likewise.
16597         * lib/unictype/pr_grapheme_link.h: Likewise.
16598         * lib/unictype/pr_id_continue.h: Likewise.
16599         * lib/unictype/pr_id_start.h: Likewise.
16600         * lib/unictype/pr_ideographic.h: Likewise.
16601         * lib/unictype/pr_ignorable_control.h: Likewise.
16602         * lib/unictype/pr_logical_order_exception.h: Likewise.
16603         * lib/unictype/pr_lowercase.h: Likewise.
16604         * lib/unictype/pr_numeric.h: Likewise.
16605         * lib/unictype/pr_other_alphabetic.h: Likewise.
16606         * lib/unictype/pr_punctuation.h: Likewise.
16607         * lib/unictype/pr_sentence_terminal.h: Likewise.
16608         * lib/unictype/pr_terminal_punctuation.h: Likewise.
16609         * lib/unictype/pr_unassigned_code_value.h: Likewise.
16610         * lib/unictype/pr_unified_ideograph.h: Likewise.
16611         * lib/unictype/pr_uppercase.h: Likewise.
16612         * lib/unictype/pr_xid_continue.h: Likewise.
16613         * lib/unictype/pr_xid_start.h: Likewise.
16614         * lib/unictype/pr_zero_width.h: Likewise.
16615         * lib/unictype/scripts.h: Likewise.
16616         * lib/unictype/scripts_byname.gperf: Likewise.
16617         * lib/unictype/sy_java_ident.h: Likewise.
16618         * lib/unigbrk/gbrkprop.h: Likewise.
16619         * lib/unilbrk/lbrkprop1.h: Likewise.
16620         * lib/unilbrk/lbrkprop2.h: Likewise.
16621         * lib/unilbrk/lbrktables.h: Likewise.
16622         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
16623         LBP_CP. Implement rule LB30.
16624         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
16625         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
16626         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
16627         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
16628         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
16629         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
16630         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
16631         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
16632         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
16633         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
16634         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
16635         bits instead of 16 bits in the code1 and code2 of each composition
16636         rule.
16637         (uc_composition): Update for Unicode 5.2.0.
16638         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
16639         * lib/uninorm/decomposition-table2.h: Likewise.
16640         * lib/uniwbrk/wbrkprop.h: Likewise.
16641         * tests/unicase/test-cased.c: Likewise.
16642         * tests/unicase/test-ignorable.c: Likewise.
16643         * tests/unicase/test-uc_tolower.c: Likewise.
16644         * tests/unicase/test-uc_totitle.c: Likewise.
16645         * tests/unicase/test-uc_toupper.c: Likewise.
16646         * tests/unictype/test-categ_C.c: Likewise.
16647         * tests/unictype/test-categ_Cf.c: Likewise.
16648         * tests/unictype/test-categ_Cn.c: Likewise.
16649         * tests/unictype/test-categ_L.c: Likewise.
16650         * tests/unictype/test-categ_Ll.c: Likewise.
16651         * tests/unictype/test-categ_Lm.c: Likewise.
16652         * tests/unictype/test-categ_Lo.c: Likewise.
16653         * tests/unictype/test-categ_Lu.c: Likewise.
16654         * tests/unictype/test-categ_M.c: Likewise.
16655         * tests/unictype/test-categ_Mc.c: Likewise.
16656         * tests/unictype/test-categ_Mn.c: Likewise.
16657         * tests/unictype/test-categ_N.c: Likewise.
16658         * tests/unictype/test-categ_Nd.c: Likewise.
16659         * tests/unictype/test-categ_Nl.c: Likewise.
16660         * tests/unictype/test-categ_No.c: Likewise.
16661         * tests/unictype/test-categ_P.c: Likewise.
16662         * tests/unictype/test-categ_Pd.c: Likewise.
16663         * tests/unictype/test-categ_Po.c: Likewise.
16664         * tests/unictype/test-categ_S.c: Likewise.
16665         * tests/unictype/test-categ_Sc.c: Likewise.
16666         * tests/unictype/test-categ_So.c: Likewise.
16667         * tests/unictype/test-ctype_alnum.c: Likewise.
16668         * tests/unictype/test-ctype_alpha.c: Likewise.
16669         * tests/unictype/test-ctype_graph.c: Likewise.
16670         * tests/unictype/test-ctype_lower.c: Likewise.
16671         * tests/unictype/test-ctype_print.c: Likewise.
16672         * tests/unictype/test-ctype_punct.c: Likewise.
16673         * tests/unictype/test-ctype_upper.c: Likewise.
16674         * tests/unictype/test-decdigit.h: Likewise.
16675         * tests/unictype/test-digit.h: Likewise.
16676         * tests/unictype/test-numeric.h: Likewise.
16677         * tests/unictype/test-pr_alphabetic.c: Likewise.
16678         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
16679         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
16680         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
16681         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
16682         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
16683         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
16684         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
16685         * tests/unictype/test-pr_combining.c: Likewise.
16686         * tests/unictype/test-pr_composite.c: Likewise.
16687         * tests/unictype/test-pr_currency_symbol.c: Likewise.
16688         * tests/unictype/test-pr_dash.c: Likewise.
16689         * tests/unictype/test-pr_decimal_digit.c: Likewise.
16690         * tests/unictype/test-pr_deprecated.c: Likewise.
16691         * tests/unictype/test-pr_diacritic.c: Likewise.
16692         * tests/unictype/test-pr_extender.c: Likewise.
16693         * tests/unictype/test-pr_grapheme_base.c: Likewise.
16694         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
16695         * tests/unictype/test-pr_grapheme_link.c: Likewise.
16696         * tests/unictype/test-pr_id_continue.c: Likewise.
16697         * tests/unictype/test-pr_id_start.c: Likewise.
16698         * tests/unictype/test-pr_ideographic.c: Likewise.
16699         * tests/unictype/test-pr_ignorable_control.c: Likewise.
16700         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
16701         * tests/unictype/test-pr_lowercase.c: Likewise.
16702         * tests/unictype/test-pr_numeric.c: Likewise.
16703         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
16704         * tests/unictype/test-pr_punctuation.c: Likewise.
16705         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
16706         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
16707         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
16708         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
16709         * tests/unictype/test-pr_uppercase.c: Likewise.
16710         * tests/unictype/test-pr_xid_continue.c: Likewise.
16711         * tests/unictype/test-pr_xid_start.c: Likewise.
16712         * tests/unictype/test-pr_zero_width.c: Likewise.
16713         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
16714         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
16715         changed behaviour: line breaking is now disallowed between a letter
16716         or '=' and '('.
16717         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
16718         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
16719         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
16720         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
16721         * tests/uniwidth/test-uc_width2.sh: Same updates as in
16722         lib/uniwidth/width.c.
16723         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
16724         without comments, but with the original copyright notice.
16725         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
16726         changes.
16727         * lib/unictype/categ_Cc.h: Likewise.
16728         * lib/unictype/categ_Co.h: Likewise.
16729         * lib/unictype/categ_Cs.h: Likewise.
16730         * lib/unictype/categ_Lt.h: Likewise.
16731         * lib/unictype/categ_Me.h: Likewise.
16732         * lib/unictype/categ_Pc.h: Likewise.
16733         * lib/unictype/categ_Pe.h: Likewise.
16734         * lib/unictype/categ_Pf.h: Likewise.
16735         * lib/unictype/categ_Pi.h: Likewise.
16736         * lib/unictype/categ_Ps.h: Likewise.
16737         * lib/unictype/categ_Sk.h: Likewise.
16738         * lib/unictype/categ_Sm.h: Likewise.
16739         * lib/unictype/categ_Z.h: Likewise.
16740         * lib/unictype/categ_Zl.h: Likewise.
16741         * lib/unictype/categ_Zp.h: Likewise.
16742         * lib/unictype/categ_Zs.h: Likewise.
16743         * lib/unictype/ctype_blank.h: Likewise.
16744         * lib/unictype/ctype_cntrl.h: Likewise.
16745         * lib/unictype/ctype_digit.h: Likewise.
16746         * lib/unictype/ctype_space.h: Likewise.
16747         * lib/unictype/ctype_xdigit.h: Likewise.
16748         * lib/unictype/mirror.h: Likewise.
16749         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
16750         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
16751         * lib/unictype/pr_bidi_block_separator.h: Likewise.
16752         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
16753         * lib/unictype/pr_bidi_common_separator.h: Likewise.
16754         * lib/unictype/pr_bidi_control.h: Likewise.
16755         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
16756         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
16757         * lib/unictype/pr_bidi_pdf.h: Likewise.
16758         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
16759         * lib/unictype/pr_bidi_whitespace.h: Likewise.
16760         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
16761         * lib/unictype/pr_format_control.h: Likewise.
16762         * lib/unictype/pr_hex_digit.h: Likewise.
16763         * lib/unictype/pr_hyphen.h: Likewise.
16764         * lib/unictype/pr_ids_binary_operator.h: Likewise.
16765         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
16766         * lib/unictype/pr_iso_control.h: Likewise.
16767         * lib/unictype/pr_join_control.h: Likewise.
16768         * lib/unictype/pr_left_of_pair.h: Likewise.
16769         * lib/unictype/pr_line_separator.h: Likewise.
16770         * lib/unictype/pr_math.h: Likewise.
16771         * lib/unictype/pr_non_break.h: Likewise.
16772         * lib/unictype/pr_not_a_character.h: Likewise.
16773         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
16774         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
16775         * lib/unictype/pr_other_id_continue.h: Likewise.
16776         * lib/unictype/pr_other_id_start.h: Likewise.
16777         * lib/unictype/pr_other_lowercase.h: Likewise.
16778         * lib/unictype/pr_other_math.h: Likewise.
16779         * lib/unictype/pr_other_uppercase.h: Likewise.
16780         * lib/unictype/pr_paired_punctuation.h: Likewise.
16781         * lib/unictype/pr_paragraph_separator.h: Likewise.
16782         * lib/unictype/pr_pattern_syntax.h: Likewise.
16783         * lib/unictype/pr_pattern_white_space.h: Likewise.
16784         * lib/unictype/pr_private_use.h: Likewise.
16785         * lib/unictype/pr_quotation_mark.h: Likewise.
16786         * lib/unictype/pr_radical.h: Likewise.
16787         * lib/unictype/pr_soft_dotted.h: Likewise.
16788         * lib/unictype/pr_space.h: Likewise.
16789         * lib/unictype/pr_titlecase.h: Likewise.
16790         * lib/unictype/pr_variation_selector.h: Likewise.
16791         * lib/unictype/pr_white_space.h: Likewise.
16792         * lib/unictype/sy_c_ident.h: Likewise.
16793         * lib/unictype/sy_c_whitespace.h: Likewise.
16794         * lib/unictype/sy_java_whitespace.h: Likewise.
16795         * modules/uni*/*: Bump version number of expected libunistring version.
16796         Reported by Simon Josefsson.
16797
16798 2011-01-09  Karl Heuer  <kwzh@gnu.org>
16799
16800         useless-if-before-free: fix typo in --help and make the internal,
16801         automatic version date update process work once again.
16802         --help output contained a NUL character instead of the
16803         backslash-zero that was intended.  Also, the "must lie within
16804         the first 8 lines" line is on line 9, and hence not getting
16805         automatically updated.
16806         * build-aux/useless-if-before-free: Fix the former by adding a
16807         backslash, and the latter by condensing the three lines of what-it-does
16808         to a single line, leaving one line of slack for the future.
16809
16810 2011-01-09  Bruno Haible  <bruno@clisp.org>
16811
16812         uniwidth/width: Fix width of U+1D173..U+1D17A.
16813         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
16814         symbolic_width, output_width_property_test): New functions.
16815         (main): Invoke output_nonspacing_property, output_width_property_test.
16816         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
16817         U+1D173..U+1D17A.
16818         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
16819         1.
16820         * modules/uniwidth/*: Bump version number of expected libunistring
16821         version.
16822         * modules/unilbrk/*: Likewise.
16823
16824 2011-01-08  Bruno Haible  <bruno@clisp.org>
16825
16826         uninorm tests: Preserve copyright of Unicode data file.
16827         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
16828         Mention modifications.
16829
16830 2011-01-08  Bruno Haible  <bruno@clisp.org>
16831
16832         gen-uni-tables: Prepare for Unicode 5.2.0.
16833         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
16834         (debug_output_lbp, output_lbp): Update.
16835
16836 2011-01-08  Bruno Haible  <bruno@clisp.org>
16837
16838         unilbrk: Clarify gen-uni-tables.c code.
16839         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
16840         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
16841         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
16842
16843 2011-01-07  Bruno Haible  <bruno@clisp.org>
16844
16845         strtod: Restore errno when successfully parsing Infinity or NaN.
16846         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
16847         restore the original errno.
16848
16849 2011-01-07  Bruno Haible  <bruno@clisp.org>
16850
16851         remove test: Avoid failure on HP-UX 11.
16852         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
16853
16854 2011-01-07  Bruno Haible  <bruno@clisp.org>
16855
16856         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
16857         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
16858         error code.
16859
16860 2011-01-07  Pádraig Brady <P@draigBrady.com>
16861
16862         ignore-value: fixup comments, and add Eric Blake
16863         as an author since he rewrote the macros.
16864         * lib/ignore-value.h (ignore_value):  State that
16865         we now support aggregates.  Also specify exactly
16866         when the GCC warn_unused_result feature was added.
16867
16868 2011-01-06  Eric Blake  <eblake@redhat.com>
16869
16870         ignore-value: support aggregate types
16871         * lib/ignore-value.h (ignore_value): Provide separate gcc
16872         definition.
16873         * modules/ignore-value-tests: New test module.
16874         * tests/test-ignore-value.c: New test.
16875
16876         maint.mk: improve sc_prohibit_strcmp regex
16877         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
16878         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
16879         definition of STRNEQ.
16880
16881         signal: work around Haiku issue with SIGBUS
16882         * lib/siglist.h: Add comment.
16883         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
16884         strsignal's favoring of SIGSEGV.
16885         * tests/test-signal.c (main): Avoid test failure.
16886         * doc/posix-headers/signal.texi (signal.h): Document the issue.
16887         Reported by Scott McCreary.
16888
16889         maint.mk: add pre-release check to ensure submodule commits are public
16890         * top/maint.mk (public-submodule-commit): New rule.
16891         (submodule-checks): New variable.
16892         (alpha beta stable): Depend on the variable.
16893
16894 2011-01-05  Pádraig Brady <P@draigBrady.com>
16895         and Jim Meyering  <meyering@redhat.com>
16896
16897         ignore-value: make ignore_value more generic; deprecate ignore_ptr
16898         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
16899         (ATTRIBUTE_DEPRECATED): Define.
16900         (_ignore_case): New function.
16901         (ignore_value): New macro, to replace the old function.
16902         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
16903         * modules/ignore-value (Depends-on): Add stdint.
16904
16905 2011-01-04  Eric Blake  <eblake@redhat.com>
16906
16907         doc: regenerate INSTALL
16908         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
16909         @firstparagraphindent support, now that autoconf dropped it.
16910         (INSTALL_PRELUDE): Reinstate old macro.
16911         * doc/install.texi: Resync from autoconf.
16912         * doc/INSTALL: Reflect recent autoconf update.
16913         * doc/INSTALL.ISO: Likewise.
16914         * doc/INSTALL.UTF-8: Likewise.
16915         Reported by Karl Berry.
16916
16917 2011-01-04  Bruce Korb  <address@hidden>
16918
16919         git-version-gen: avoid a sub-shell
16920         * build-aux/git-version-gen: Redirect stderr in `...` via
16921         "exec 2>...", rather than via an added sub-shell.
16922
16923 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
16924
16925         git-version-gen: use (...) rather than sh -c '...'
16926         * build-aux/git-version-gen: Rather than hard-coding a shell's name
16927         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
16928
16929 2011-01-03  Jim Meyering  <meyering@redhat.com>
16930
16931         git-version-gen: convert leading TABs to spaces
16932         * build-aux/git-version-gen: Expand leading TABs.
16933
16934         git-version-gen: handle failed "git rev-list"
16935         * build-aux/git-version-gen: Rather than leaking a "fatal" error
16936         from git and proceeding as if it had succeeded but printed no SHA1
16937         checksums, suppress the diagnostic and handle the failure.
16938         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
16939
16940         git-version-gen: include command name in one more diagnostic
16941         * build-aux/git-version-gen: When the required .tarball-version file
16942         was missing or unreadable, you might see the diagnostic from "cat",
16943         but no trace of the name of the invoking script.  Now, you still see
16944         the diagnostic from cat, but also get one from "git-version-gen: ".
16945         Inspired by a patch from Bruce Korb.
16946
16947         update-copyright: adjust test to match changed code
16948         * tests/test-update-copyright.sh: Change test's expected output
16949         to match new actual output.
16950
16951 2011-01-02  Bruno Haible  <bruno@clisp.org>
16952
16953         getlogin_r: Avoid test failure on HP-UX 11.
16954         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
16955         ERANGE when the second argument is zero.
16956         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
16957         portability problem.
16958
16959 2011-01-02  Bruce Korb  <bkorb@gnu.org>
16960
16961         * build-aux/update-copyright: doc Simon's changes
16962
16963 2011-01-02  Simon Josefsson  <simon@josefsson.org>
16964
16965         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
16966         environment variable.
16967
16968 2011-01-02  Bruno Haible  <bruno@clisp.org>
16969
16970         unigbrk: Avoid gcc warnings.
16971         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
16972         unused variable.
16973         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
16974         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
16975         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
16976         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
16977         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
16978         Change type of first argument to 'const char *'.
16979         (main): Remove unused variable.
16980         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
16981         type of first argument to 'const char *'.
16982         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
16983         Likewise.
16984         (main): Change type of variable 's'.
16985         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
16986         to 'int'.
16987
16988 2011-01-02  Bruno Haible  <bruno@clisp.org>
16989
16990         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
16991         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
16992         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
16993         bug.
16994         * lib/pwrite.c: Undo 2010-12-31 patch.
16995         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
16996
16997 2011-01-02  Bruno Haible  <bruno@clisp.org>
16998
16999         pread: Fix test whether it works.
17000         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
17001
17002 2011-01-02  Bruno Haible  <bruno@clisp.org>
17003
17004         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
17005         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
17006         ends in "6". Don't require a specific month name. Try also the locale
17007         names found on HP-UX 11 and Solaris 7.
17008
17009 2011-01-02  Bruno Haible  <bruno@clisp.org>
17010
17011         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
17012         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
17013         C linkage.
17014         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
17015
17016 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
17017
17018         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
17019         for consistency, since the "cluster" term is not used elsewhere.
17020         * lib/unigbrk.in.h: Update name.
17021         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
17022         * lib/unigbrk/u16-grapheme-next.c: Update name.
17023         * lib/unigbrk/u16-grapheme-prev.c: Update name.
17024         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
17025         * lib/unigbrk/u32-grapheme-next.c: Update name.
17026         * lib/unigbrk/u32-grapheme-prev.c: Update name.
17027         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
17028         * lib/unigbrk/u8-grapheme-next.c: Update name.
17029         * lib/unigbrk/u8-grapheme-prev.c: Update name.
17030         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
17031         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
17032         Suggested by Bruno Haible.
17033
17034 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
17035
17036         Remove module 'u8-grapheme-len' as too redundant with
17037         'u8-grapheme-next'.
17038         * modules/unigbrk/u8-grapheme-len: Delete file.
17039         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
17040         * lib/unigbrk.in.h: Remove prototype for deleted function.
17041         * lib/unigbrk/u8-grapheme-len.c: Delete file.
17042         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
17043
17044         Remove module 'u16-grapheme-len' as too redundant with
17045         'u16-grapheme-next'.
17046         * modules/unigbrk/u16-grapheme-len: Delete file.
17047         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
17048         * lib/unigbrk.in.h: Remove prototype for deleted function.
17049         * lib/unigbrk/u16-grapheme-len.c: Delete file.
17050         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
17051
17052         Remove module 'u32-grapheme-len' as too redundant with
17053         'u32-grapheme-next'.
17054         * modules/unigbrk/u32-grapheme-len: Delete file.
17055         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
17056         * lib/unigbrk.in.h: Remove prototype for deleted function.
17057         * lib/unigbrk/u32-grapheme-len.c: Delete file.
17058         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
17059
17060         Suggested by Bruno Haible.
17061
17062 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
17063
17064         * unigbrk.in.h: Fix typo: "ben" => "been".
17065         Reported by Bruno Haible.
17066
17067 2011-01-01  Jim Meyering  <meyering@redhat.com>
17068
17069         maint: update almost all copyright ranges to include 2011
17070         Run the new "make update-copyright" rule.
17071
17072 2011-01-01  Jim Meyering  <meyering@redhat.com>
17073
17074         maint: update-copyright: exempt doc/INSTALL*
17075         * Makefile (update-copyright): Also exclude doc/INSTALL*,
17076         since they are generated.  Suggested by Bruno Haible.
17077
17078 2011-01-01  Jim Meyering  <meyering@redhat.com>
17079
17080         maint: refine the update-copyright rule
17081         * Makefile (update-copyright): Also exclude any file that includes
17082         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
17083         code that merely generates the comment.
17084
17085 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
17086
17087         New module 'u8-grapheme-len'.
17088         * modules/unigbrk/u8-grapheme-len: New file.
17089         * modules/unigbrk/u8-grapheme-len-tests: New file.
17090         * lib/unigbrk.in.h: Add prototype for new function.
17091         * lib/unigbrk/u8-grapheme-len.c: New file.
17092         * tests/unigbrk/test-u8-grapheme-len.c: New file.
17093
17094         New module 'u16-grapheme-len'.
17095         * modules/unigbrk/u16-grapheme-len: New file.
17096         * modules/unigbrk/u16-grapheme-len-tests: New file.
17097         * lib/unigbrk.in.h: Add prototype for new function.
17098         * lib/unigbrk/u16-grapheme-len.c: New file.
17099         * tests/unigbrk/test-u16-grapheme-len.c: New file.
17100
17101         New module 'u32-grapheme-len'.
17102         * modules/unigbrk/u32-grapheme-len: New file.
17103         * modules/unigbrk/u32-grapheme-len-tests: New file.
17104         * lib/unigbrk.in.h: Add prototype for new function.
17105         * lib/unigbrk/u32-grapheme-len.c: New file.
17106         * tests/unigbrk/test-u32-grapheme-len.c: New file.
17107
17108         New module 'u8-grapheme-next'.
17109         * modules/unigbrk/u8-grapheme-next: New file.
17110         * modules/unigbrk/u8-grapheme-next-tests: New file.
17111         * lib/unigbrk.in.h: Add prototype for new function.
17112         * lib/unigbrk/u8-grapheme-next.c: New file.
17113         * tests/unigbrk/test-u8-grapheme-next.c: New file.
17114
17115         New module 'u16-grapheme-next'.
17116         * modules/unigbrk/u16-grapheme-next: New file.
17117         * modules/unigbrk/u16-grapheme-next-tests: New file.
17118         * lib/unigbrk.in.h: Add prototype for new function.
17119         * lib/unigbrk/u16-grapheme-next.c: New file.
17120         * tests/unigbrk/test-u16-grapheme-next.c: New file.
17121
17122         New module 'u32-grapheme-next'.
17123         * modules/unigbrk/u32-grapheme-next: New file.
17124         * modules/unigbrk/u32-grapheme-next-tests: New file.
17125         * lib/unigbrk.in.h: Add prototype for new function.
17126         * lib/unigbrk/u32-grapheme-next.c: New file.
17127         * tests/unigbrk/test-u32-grapheme-next.c: New file.
17128
17129         New module 'u8-grapheme-prev'.
17130         * modules/unigbrk/u8-grapheme-prev: New file.
17131         * modules/unigbrk/u8-grapheme-prev-tests: New file.
17132         * lib/unigbrk.in.h: Add prototype for new function.
17133         * lib/unigbrk/u8-grapheme-prev.c: New file.
17134         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
17135
17136         New module 'u16-grapheme-prev'.
17137         * modules/unigbrk/u16-grapheme-prev: New file.
17138         * modules/unigbrk/u16-grapheme-prev-tests: New file.
17139         * lib/unigbrk.in.h: Add prototype for new function.
17140         * lib/unigbrk/u16-grapheme-prev.c: New file.
17141         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
17142
17143         New module 'u32-grapheme-prev'.
17144         * modules/unigbrk/u32-grapheme-prev: New file.
17145         * modules/unigbrk/u32-grapheme-prev-tests: New file.
17146         * lib/unigbrk.in.h: Add prototype for new function.
17147         * lib/unigbrk/u32-grapheme-prev.c: New file.
17148         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
17149
17150         New module 'u8-grapheme-breaks'.
17151         * modules/unigbrk/u8-grapheme-breaks: New file.
17152         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
17153         * lib/unigbrk.in.h: Add prototype for new function.
17154         * lib/unigbrk/u8-grapheme-breaks.c: New file.
17155         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
17156
17157         New module 'u16-grapheme-breaks'.
17158         * modules/unigbrk/u16-grapheme-breaks: New file.
17159         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
17160         * lib/unigbrk.in.h: Add prototype for new function.
17161         * lib/unigbrk/u16-grapheme-breaks.c: New file.
17162         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
17163
17164         New module 'u32-grapheme-breaks'.
17165         * modules/unigbrk/u32-grapheme-breaks: New file.
17166         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
17167         * lib/unigbrk.in.h: Add prototype for new function.
17168         * lib/unigbrk/u32-grapheme-breaks.c: New file.
17169         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
17170
17171         New module 'ulc-grapheme-breaks'.
17172         * modules/unigbrk/ulc-grapheme-breaks: New file.
17173         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
17174         * m4/locale-ar.m4: New file.
17175         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
17176         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
17177         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
17178
17179 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
17180
17181         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
17182         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
17183         modified how this file was generated before I initially submitted
17184         the module, but failed to regenerate it.  This meant that several
17185         of the level2 entries were wrong.
17186         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
17187         Remove the division-by-2 that is folded into the table now that
17188         gbrkprop.h has been regenerated properly.  Now -1 entries are
17189         handled correctly.
17190
17191         New module 'unigbrk/uc-gbrk-prop-tests'.
17192         * modules/unigbrk/uc-gbrk-prop-tests: New file.
17193         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
17194         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
17195         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
17196
17197 2011-01-01  Bruno Haible  <bruno@clisp.org>
17198
17199         Avoid use of hexadecimal escapes.
17200         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
17201         instead of hexadecimal escapes.
17202
17203 2011-01-01  Jim Meyering  <meyering@redhat.com>
17204
17205         maint: new rule to update copyright year ranges
17206         * Makefile (update-copyright): New rule.
17207
17208         maint: indent with TABs in Makefile
17209         * Makefile: Expand leading sequences of spaces to TABs
17210
17211         version-etc: update the copyright year it reports
17212         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
17213
17214 2010-12-31  Bruno Haible  <bruno@clisp.org>
17215
17216         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
17217         * lib/isfinite.c (zerof, zerod, zerol): New variables.
17218         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
17219         zero.
17220
17221 2010-12-31  Bruno Haible  <bruno@clisp.org>
17222
17223         pwrite: Work around HP-UX 11.11 bug.
17224         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
17225         works and set REPLACE_PWRITE if not.
17226         * lib/pwrite.c (pwrite): Add an implementation that uses the system
17227         function.
17228         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
17229
17230 2010-12-31  Bruno Haible  <bruno@clisp.org>
17231
17232         pread: Work around HP-UX 11 bugs.
17233         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
17234         and set REPLACE_PREAD if not.
17235         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
17236
17237 2010-12-31  Eric Blake  <eblake@redhat.com>
17238
17239         nl_langinfo: fix YESEXPR on Irix 6.5
17240         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
17241         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
17242         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
17243         it.
17244
17245 2010-12-31  Bruno Haible  <bruno@clisp.org>
17246
17247         iconv: Document HP-UX 11 bug.
17248         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
17249
17250 2010-12-31  Bruno Haible  <bruno@clisp.org>
17251
17252         ldexpl: Fix link error on HP-UX 11.
17253         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
17254         LDEXPL_LIBM, using $ISNANL_LIBM.
17255
17256 2010-12-31  Eric Blake  <eblake@redhat.com>
17257
17258         ftello: avoid compilation failure with SunStudio c89
17259         * lib/ftello.c (ftello): Use lseek, not llseek.
17260
17261         tests: avoid failing coreutils tests on cygwin
17262         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
17263         (create_exe_shims_): Return 0 when skipping.
17264
17265 2010-12-31  Bruno Haible  <bruno@clisp.org>
17266
17267         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
17268         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
17269
17270 2010-12-31  Bruno Haible  <bruno@clisp.org>
17271
17272         waitpid: Fix link error in C++ mode.
17273         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
17274
17275 2010-12-31  Bruno Haible  <bruno@clisp.org>
17276
17277         isnan: Use GCC built-ins when possible.
17278         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
17279         __builtin_isnan.
17280         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
17281         (isnan): Define using GCC built-ins for GCC >= 4.0.
17282
17283 2010-12-31  Bruno Haible  <bruno@clisp.org>
17284
17285         isnand: Fix mistake.
17286         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
17287         __builtin_isnand.
17288
17289 2010-12-31  Bruno Haible  <bruno@clisp.org>
17290
17291         open: Avoid C++ error on HP-UX 11.
17292         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
17293
17294 2010-12-31  Bruno Haible  <bruno@clisp.org>
17295
17296         time_r: Add missing declarations on HP-UX 11.
17297         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
17298         instead of HAVE_LOCALTIME_R.
17299         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
17300         HAVE_LOCALTIME_R always.
17301         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
17302         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
17303         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
17304         HAVE_LOCALTIME_R.
17305         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
17306         * doc/posix-functions/localtime_r.texi: Likewise.
17307
17308 2010-12-29  Eric Blake  <eblake@redhat.com>
17309
17310         mountlist: tweak previous commit
17311         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
17312         Reported by Paul Eggert.
17313
17314         mountlist: fix local drive detection on cygwin
17315         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
17316         that works for cygwin.
17317
17318 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
17319
17320         ftoastr, snprintf: ftoastr + snprintf module
17321         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
17322         since the snprintf module now should be good enough here.
17323         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
17324         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
17325         and gl_MODULE_INDICATOR([snprintf]), but the former enables
17326         GNULIB_SNPRINTF only for the test directory, and the latter
17327         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
17328         seems to suffice by itself.
17329
17330 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
17331
17332         alloca: one step towards thread-safety
17333         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
17334         need for a static variable.  All callers changed.  This does not
17335         make the alloca replacement thread-safe, but it's one step.
17336
17337         tests: minor indenting change
17338         * tests/init.sh: Sync from coreutils housekeeping patch
17339         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
17340         to keep lines within 80 columns.
17341
17342 2010-12-28  Jim Meyering  <meyering@redhat.com>
17343
17344         regex: don't infloop on persistent failing calloc
17345         * lib/regexec.c (build_trtable): Return failure indication upon
17346         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
17347         In glibc, this was fixed for version 2.13:
17348         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
17349
17350 2010-12-28  Bruno Haible  <bruno@clisp.org>
17351             Paul Eggert <eggert@cs.ucla.edu>
17352
17353         linkat: Make implementation robust against system behaviour variations.
17354         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
17355         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
17356         way, and to -2 if it needs a generic runtime test.
17357         * lib/linkat.c (solaris_optimized_link_immediate,
17358         solaris_optimized_link_follow): New functions.
17359         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
17360         (check_same_link): Use it.
17361
17362 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
17363
17364         New module 'unigbrk/base'.
17365         * modules/unigbrk/base: New file.
17366         * lib/unigbrk.in.h: New file.
17367
17368         New module 'unigbrk/uc-gbrk-prop'.
17369         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
17370         * modules/unigbrk/uc-gbrk-prop: New file.
17371         * lib/unigbrk/gbrkprop.h: New file.
17372         * lib/unigbrk/uc-gbrk-prop.c: New file.
17373
17374         New module 'unigbrk/uc-is-grapheme-break'.
17375         * modules/unigbrk/uc-is-grapheme-break: New file.
17376         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
17377         * lib/unigbrk/uc-is-grapheme-break.c: New file.
17378         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
17379         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
17380         * tests/unigbrk/GraphemeBreakTest.txt: New file.
17381
17382         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
17383
17384 2010-12-27  Bruno Haible  <bruno@clisp.org>
17385
17386         linkat test: Avoid failure on Solaris 11 2010-11.
17387         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
17388
17389 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17390
17391         utimens: work around glibc rounding bug on more platforms
17392         * lib/utimens.c (fdutimens): Work around rounding bug even if
17393         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
17394         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
17395
17396 2010-12-27  Bruno Haible  <bruno@clisp.org>
17397
17398         select tests: Improve comments.
17399         * tests/test-select.c (do_select): Add comments.
17400
17401 2010-12-27  Bruno Haible  <bruno@clisp.org>
17402
17403         select tests: Safer way of handling timeout.
17404         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
17405         at every invocation.
17406
17407 2010-12-27  Bruno Haible  <bruno@clisp.org>
17408
17409         select tests: Use 'bool' where appropriate.
17410         * tests/test-select.c (connect_to_socket): Change argument type to
17411         'bool'.
17412
17413 2010-12-27  Bruno Haible  <bruno@clisp.org>
17414
17415         select tests: Use existing modules.
17416         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
17417         (configure.ac): Don't test for unistd.h.
17418         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
17419         declared in <unistd.h>.
17420
17421 2010-12-27  Bruno Haible  <bruno@clisp.org>
17422
17423         mbrtowc: Work around a Solaris 7 bug.
17424         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
17425         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
17426         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
17427         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
17428         MBRTOWC_NULL_ARG1_BUG.
17429         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
17430         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
17431         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
17432         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
17433
17434 2010-12-27  Jim Meyering  <meyering@redhat.com>
17435
17436         read-file.c: tweak syntax
17437         * lib/read-file.c (fread_file): Remove space after "*" in function
17438         definitions.
17439
17440 2010-12-27  Bruno Haible  <bruno@clisp.org>
17441
17442         times test: Avoid gcc warnings on OSF/1.
17443         * tests/test-times.c (main): Cast printf arguments from clock_t to
17444         'long int'.
17445
17446 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17447
17448         utimens: work around glibc rounding bug on older Linux kernels
17449         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
17450         on Linux with a glibc whose utimes might not work, then work
17451         around a longstanding glibc bug involving rounding rather than
17452         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
17453         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
17454
17455 2010-12-26  Bruno Haible  <bruno@clisp.org>
17456
17457         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
17458         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
17459         _GL_CXXALIAS_SYS.
17460         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17461
17462 2010-12-26  Bruno Haible  <bruno@clisp.org>
17463
17464         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
17465         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
17466         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17467         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
17468         looking for the declaration.
17469         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
17470         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
17471         problem.
17472         * doc/posix-functions/inet_pton.texi: Likewise.
17473
17474 2010-12-26  Bruno Haible  <bruno@clisp.org>
17475
17476         arpa_inet: Use the common idioms with C++ support.
17477         * lib/arpa_inet.in.h: Include c++defs.h.
17478         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
17479         support.
17480         * modules/arpa_inet (Depends-on): Add c++defs.
17481         (Makefile.am): Substitute the contents of c++defs.h.
17482         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
17483         * modules/arpa_inet-c++-tests: New file.
17484         * tests/test-arpa_inet-c++.cc: New file.
17485
17486 2010-12-25  Bruno Haible  <bruno@clisp.org>
17487
17488         Fix more C++ link errors on Solaris 8.
17489         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
17490         $(LIB_EACCESS).
17491         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
17492         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
17493         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
17494         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
17495         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
17496
17497 2010-12-25  Bruno Haible  <bruno@clisp.org>
17498
17499         printf-posix: Fix link error when a non-GCC compiler is used.
17500         * lib/stdio.in.h (printf): When not using GCC, override printf
17501         correctly.
17502         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17503
17504 2010-12-25  Bruno Haible  <bruno@clisp.org>
17505
17506         strerror_r-posix: Update doc.
17507         * doc/posix-functions/strerror_r.texi: Update doc about the return
17508         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
17509
17510 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
17511
17512         utimens: simplify the logic of the previous change
17513         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
17514         This should not affect whether the test succeeds or fails.
17515
17516         utimens: configure better on hosts with NFS clock skew
17517         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
17518         uses the clock of the local host.  It might use the clock of the
17519         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
17520         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
17521
17522 2010-12-25  Bruno Haible  <bruno@clisp.org>
17523
17524         ptsname test: Avoid failure on Solaris.
17525         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
17526         open a pseudo-terminal; don't use BSD-style ptys.
17527         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
17528
17529 2010-12-25  Bruno Haible  <bruno@clisp.org>
17530
17531         ptsname: Avoid ERANGE failure on some systems.
17532         * lib/ptsname.c (buffer): Increase size.
17533
17534 2010-12-25  Bruno Haible  <bruno@clisp.org>
17535
17536         rename, renameat: Avoid test failures at NFS mounted locations.
17537         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
17538         so that subsequent mkdir calls succeed.
17539
17540 2010-12-25  Bruno Haible  <bruno@clisp.org>
17541
17542         iswblank: Fix C++ link error on Solaris 8.
17543         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
17544         _GL_FUNCDECL_SYS.
17545
17546 2010-12-25  Bruno Haible  <bruno@clisp.org>
17547
17548         unistd: Fix C++ link error on Solaris 8.
17549         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
17550
17551 2010-12-25  Bruno Haible  <bruno@clisp.org>
17552
17553         readlink doc: Mention an old glibc bug.
17554         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
17555
17556 2010-12-25  Bruno Haible  <bruno@clisp.org>
17557
17558         fcntl-h: Fix for use of C++ on glibc systems.
17559         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
17560         also on glibc systems in C++ mode.
17561         Reported by Gary V. Vaughan <gary@gnu.org>.
17562
17563 2010-12-25  Bruno Haible  <bruno@clisp.org>
17564
17565         roundl-ieee: Make it work on OSF/1 5.1 with cc.
17566         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
17567
17568 2010-12-25  Bruno Haible  <bruno@clisp.org>
17569
17570         truncl-ieee: Make it work on OSF/1 5.1 with cc.
17571         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
17572         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
17573         test whether truncl works according to ISO C 99 with IEC 60559.
17574         * m4/truncl-ieee.m4: New file.
17575         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
17576         m4/signbit.m4.
17577         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
17578
17579 2010-12-25  Bruno Haible  <bruno@clisp.org>
17580
17581         ceill-ieee: Make it work on OSF/1 5.1 with cc.
17582         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
17583         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
17584         test whether ceill works according to ISO C 99 with IEC 60559.
17585         * m4/ceill-ieee.m4: New file.
17586         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
17587         m4/signbit.m4.
17588         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
17589
17590 2010-12-25  Bruno Haible  <bruno@clisp.org>
17591
17592         Ensure all prerequisites of <wchar.h> are included.
17593         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
17594         before <wchar.h>.
17595         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
17596         gl_MBRLEN_NUL_RETVAL): Likewise.
17597         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17598         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
17599         AC_FUNC_MBRTOWC): Likewise.
17600         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17601         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
17602         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17603         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
17604         Likewise.
17605         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17606         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
17607         (gl_WCHAR_H): Improve comments.
17608         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
17609
17610 2010-12-25  Bruno Haible  <bruno@clisp.org>
17611
17612         strtok_r: Fix C syntax error in autoconf macro.
17613         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
17614         characters in test program.
17615
17616 2010-12-24  Bruno Haible  <bruno@clisp.org>
17617
17618         ceil, trunc, round: Fix gcc warnings.
17619         * lib/ceil.c (MIN): Undefine before redefining.
17620         * lib/trunc.c (MIN): Likewise.
17621         * lib/round.c (MIN): Likewise.
17622         Include <math.h> first.
17623
17624 2010-12-24  Bruno Haible  <bruno@clisp.org>
17625
17626         select tests: Avoid failures on OSF/1 5.1.
17627         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
17628         failure of closing the last socket; it may fail with ECONNRESET.
17629
17630 2010-12-24  Eric Blake  <eblake@redhat.com>
17631
17632         stdint: avoid HP-UX 10.20 preprocessor bug
17633         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
17634         than #if.
17635         * tests/test-floor2.c (main): Likewise.
17636         Reported by Peter O'Gorman.
17637
17638         pipe: make obsoletion transition easier
17639         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
17640         * modules/pipe (Files): Include revived file.
17641         (Include): Drop reference, to mirror getdate's behavior.
17642
17643 2010-12-24  Bruno Haible  <bruno@clisp.org>
17644
17645         sys_socket: Hide mismatch of declarations on NonStop Kernel.
17646         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
17647         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
17648         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17649
17650 2010-12-24  Bruno Haible  <bruno@clisp.org>
17651
17652         gethostname: Ensure declaration on NonStop Kernel.
17653         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
17654         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17655
17656 2010-12-24  Bruno Haible  <bruno@clisp.org>
17657
17658         sys_select: Ensure all necessary types on NonStop Kernel.
17659         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
17660         include <sys/time.h>.
17661         * doc/posix-headers/sys_select.texi: Mention that it's missing on
17662         NonStop Kernel.
17663         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17664
17665 2010-12-24  Bruno Haible  <bruno@clisp.org>
17666
17667         sys_select: Remove unneeded include.
17668         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
17669         have <sys/select.h>.
17670
17671 2010-12-24  Bruno Haible  <bruno@clisp.org>
17672
17673         gethostname: Provide a fallback for HOST_NAME_MAX.
17674         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
17675         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
17676         instead.
17677         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17678
17679 2010-12-24  Bruno Haible  <bruno@clisp.org>
17680
17681         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
17682         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
17683         (SA_RESTART): Likewise.
17684         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17685
17686 2010-12-24  Bruno Haible  <bruno@clisp.org>
17687
17688         signal: Define NSIG.
17689         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
17690         * tests/test-signal.c (nsig): New variable.
17691         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17692
17693 2010-12-24  Bruno Haible  <bruno@clisp.org>
17694
17695         rename, renameat: Avoid test failures on OSF/1 5.1.
17696         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
17697         alternative error codes.
17698         * tests/test-renameat.c (main): Likewise.
17699
17700 2010-12-24  Bruno Haible  <bruno@clisp.org>
17701
17702         *printf: Detect large precisions bug on Solaris 10/SPARC.
17703         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
17704         by Paul Eggert.
17705         * tests/test-snprintf-posix.h (test_function): Add this test code here
17706         too.
17707         * tests/test-sprintf-posix.h (test_function): Likewise.
17708         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17709         * tests/test-vasprintf-posix.c (test_function): Likewise.
17710         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
17711         around by gnulib.
17712         * doc/posix-functions/printf.texi: Likewise.
17713         * doc/posix-functions/snprintf.texi: Likewise.
17714         * doc/posix-functions/sprintf.texi: Likewise.
17715         * doc/posix-functions/vfprintf.texi: Likewise.
17716         * doc/posix-functions/vprintf.texi: Likewise.
17717         * doc/posix-functions/vsnprintf.texi: Likewise.
17718         * doc/posix-functions/vsprintf.texi: Likewise.
17719         * doc/posix-functions/dprintf.texi: Undo last commit.
17720         * doc/posix-functions/vdprintf.texi: Likewise.
17721
17722 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
17723
17724         tests: port test-fdutimensat.c to Solaris 8
17725         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
17726         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
17727         On Solaris 8, it fails with errno == ENOSYS, because there is no
17728         futimens (so it can't use the fd), and there is no lutimens (so it
17729         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
17730
17731         vsnprintf: make more consistent with snprintf; doc fixes
17732
17733         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
17734         the byte count return problem was promoted from the snprintf-posix
17735         to the snprintf module.
17736         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17737         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
17738         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
17739         * tests/test-snprintf.c (main): Check the byte count returned.
17740         * tests/test-vsnprintf.c (main): Likewise.
17741
17742 2010-12-23  Eric Blake  <eblake@redhat.com>
17743
17744         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
17745         * modules/sigpipe (License): Relax license.
17746
17747 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17748
17749         doc: document Solaris printf bug with large float precisions
17750         * doc/posix-functions/dprintf.texi (dprintf):
17751         * doc/posix-functions/fprintf.texi (fprintf):
17752         * doc/posix-functions/printf.texi (printf):
17753         * doc/posix-functions/snprintf.texi (snprintf):
17754         * doc/posix-functions/sprintf.texi (sprintf):
17755         * doc/posix-functions/vdprintf.texi (vdprintf):
17756         * doc/posix-functions/vfprintf.texi (vfprintf):
17757         * doc/posix-functions/vprintf.texi (vprintf):
17758         * doc/posix-functions/vsnprintf.texi (vsnprintf):
17759         * doc/posix-functions/vsprintf.texi (vsprintf):
17760         Mention that these functions mishandle large floating point
17761         precisions on Solaris 10.  The same bug is also present in Solaris
17762         8, and I assume earlier.  This causes "cd gnulib-tests; make
17763         check" to fail on Solaris 8 (and I assume, later) when building
17764         the latest coreutils, in test-vasprintf-posix's call to
17765         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
17766         the wide flavors (e.g., wprintf) so this patch just updates the
17767         documentation for the narrow ones.
17768
17769         test-posixtm.c: add two tests
17770         * tests/test-posixtm.c: Add two tests, to highlight the
17771         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
17772         around this bug; this is merely to document it.
17773
17774 2010-12-22  Bruno Haible  <bruno@clisp.org>
17775
17776         getlogin_r: Work around portability problem on OSF/1.
17777         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
17778         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
17779         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
17780         test for a truncated result.
17781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
17782         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
17783         * modules/getlogin_r (Depends-on): Add memchr.
17784         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
17785
17786 2010-12-22  Bruno Haible  <bruno@clisp.org>
17787
17788         ptsname: Avoid test failure on OSF/1 5.1.
17789         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
17790         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
17791         (same_slave): New function.
17792         (main): Use it to compare ptsname's result with the expected file name.
17793
17794 2010-12-22  Bruno Haible  <bruno@clisp.org>
17795
17796         Port extended stdio modules to HP NonStop Kernel.
17797         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
17798         macros.
17799         * lib/fbufmode.c: Update comments.
17800         * lib/fflush.c: Likewise.
17801         * lib/fpurge.c: Likewise.
17802         * lib/freadable.c: Likewise.
17803         * lib/freadahead.c: Likewise.
17804         * lib/freading.c: Likewise.
17805         * lib/freadptr.c: Likewise.
17806         * lib/freadseek.c: Likewise.
17807         * lib/fseeko.c: Likewise.
17808         * lib/fseterr.c: Likewise.
17809         * lib/fwritable.c: Likewise.
17810         * lib/fwriting.c: Likewise.
17811         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17812
17813 2010-12-22  Bruno Haible  <bruno@clisp.org>
17814
17815         ttyname_r: Work around bug on OSF/1 5.1.
17816         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
17817         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
17818         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
17819         present.
17820         * lib/ttyname_r.c (ttyname_r): Update comments.
17821
17822 2010-12-22  Bruno Haible  <bruno@clisp.org>
17823
17824         round: Implement result sign according to IEEE 754.
17825         * lib/round.c (MIN, MINUS_ZERO): New macros.
17826         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
17827         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
17828         * tests/test-round-ieee.c (main): Likewise.
17829         * tests/test-roundl-ieee.c (main): Likewise.
17830
17831         trunc: Implement result sign according to IEEE 754.
17832         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
17833         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
17834         * tests/test-trunc2.c: Include minus-zero.h.
17835         (MINUS_ZERO): New macro.
17836         (trunc_reference): Keep in sync with lib/trunc.c.
17837         * tests/test-truncf2.c: Include minus-zero.h.
17838         (MINUS_ZERO): New macro.
17839         (truncf_reference): Keep in sync with lib/trunc.c.
17840         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
17841         * tests/test-trunc-ieee.c (main): Likewise.
17842         * tests/test-truncl-ieee.c (main): Likewise.
17843
17844         ceil: Implement result sign according to IEEE 754.
17845         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
17846         (FUNC): Return -0.0 for -1 < x < 0.
17847         * tests/test-ceil2.c: Include minus-zero.h.
17848         (MINUS_ZERO): New macro.
17849         (ceil_reference): Keep in sync with lib/ceil.c.
17850         * tests/test-ceilf2.c: Include minus-zero.h.
17851         (MINUS_ZERO): New macro.
17852         (ceilf_reference): Keep in sync with lib/ceil.c.
17853         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
17854         * tests/test-ceil-ieee.c (main): Likewise.
17855         * tests/test-ceill-ieee.c (main): Likewise.
17856
17857         floor: Implement result sign according to IEEE 754.
17858         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
17859         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
17860         * tests/test-floorf2.c (floorf_reference): Likewise.
17861         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
17862         * tests/test-floor-ieee.c (main): Likewise.
17863         * tests/test-floorl-ieee.c (main): Likewise.
17864
17865 2010-12-22  Bruno Haible  <bruno@clisp.org>
17866
17867         getaddrinfo: Update doc.
17868         * doc/posix-functions/gai_strerror.texi: Return type is also different
17869         on AIX and HP-UX.
17870
17871 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17872
17873         getaddrinfo, inet_ntop: Update doc for Solaris.
17874         * doc/posix-functions/gai_strerror.texi: Return type is also an
17875         issue on Solaris 9 and earlier.
17876         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
17877         on Solaris 10 and earlier.
17878
17879 2010-12-21  Bruno Haible  <bruno@clisp.org>
17880
17881         New module 'roundl-ieee'.
17882         * modules/roundl-ieee: New file.
17883         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
17884         test whether roundl works according to ISO C 99 with IEC 60559.
17885         * m4/roundl-ieee.m4: New file.
17886         * modules/roundl-ieee-tests: New file.
17887         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
17888         * tests/test-roundl.c (main): Remove signbit tests.
17889         * modules/roundl-tests (Depends-on): Remove signbit.
17890         * doc/posix-functions/roundl.texi: Mention the new module.
17891
17892 2010-12-21  Bruno Haible  <bruno@clisp.org>
17893
17894         New module 'truncl-ieee'.
17895         * modules/truncl-ieee: New file.
17896         * modules/truncl-ieee-tests: New file.
17897         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
17898         * tests/test-truncl.c (main): Remove signbit tests.
17899         * modules/truncl-tests (Depends-on): Remove signbit.
17900         * doc/posix-functions/truncl.texi: Mention the new module.
17901
17902 2010-12-21  Bruno Haible  <bruno@clisp.org>
17903
17904         New module 'ceill-ieee'.
17905         * modules/ceill-ieee: New file.
17906         * modules/ceill-ieee-tests: New file.
17907         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
17908         * tests/test-ceill.c (main): Remove signbit tests.
17909         * modules/ceill-tests (Depends-on): Remove signbit.
17910         * doc/posix-functions/ceill.texi: Mention the new module.
17911
17912 2010-12-21  Bruno Haible  <bruno@clisp.org>
17913
17914         New module 'floorl-ieee'.
17915         * modules/floorl-ieee: New file.
17916         * modules/floorl-ieee-tests: New file.
17917         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
17918         * tests/test-floorl.c (main): Remove signbit tests.
17919         * modules/floorl-tests (Depends-on): Remove signbit.
17920         * doc/posix-functions/floorl.texi: Mention the new module.
17921
17922 2010-12-21  Bruno Haible  <bruno@clisp.org>
17923
17924         New module 'round-ieee'.
17925         * modules/round-ieee: New file.
17926         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
17927         whether round works according to ISO C 99 with IEC 60559.
17928         * m4/round-ieee.m4: New file.
17929         * modules/round-ieee-tests: New file.
17930         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
17931         * tests/test-round1.c (main): Remove signbit tests.
17932         * modules/round-tests (Depends-on): Remove 'signbit'.
17933         * doc/posix-functions/round.texi: Mention the new module.
17934
17935 2010-12-21  Bruno Haible  <bruno@clisp.org>
17936
17937         New module 'trunc-ieee'.
17938         * modules/trunc-ieee: New file.
17939         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
17940         whether trunc works according to ISO C 99 with IEC 60559.
17941         * m4/trunc-ieee.m4: New file.
17942         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
17943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
17944         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
17945         * modules/trunc-ieee-tests: New file.
17946         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
17947         * tests/test-trunc1.c (main): Remove signbit tests.
17948         * modules/trunc-tests (Depends-on): Remove 'signbit'.
17949         * doc/posix-functions/trunc.texi: Mention the new module.
17950
17951 2010-12-21  Bruno Haible  <bruno@clisp.org>
17952
17953         New module 'ceil-ieee'.
17954         * modules/ceil-ieee: New file.
17955         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
17956         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
17957         ISO C 99 with IEC 60559.
17958         * m4/ceil-ieee.m4: New file.
17959         * modules/ceil (Files): Add lib/ceil.c.
17960         (Depends-on): Add 'float'.
17961         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17962         * lib/math.in.h (ceil): New declaration.
17963         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
17964         REPLACE_CEIL.
17965         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
17966         * modules/ceil-ieee-tests: New file.
17967         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
17968         * tests/test-math-c++.cc: Check the signature of 'ceil'.
17969         * doc/posix-functions/ceil.texi: Mention the new module.
17970
17971 2010-12-21  Bruno Haible  <bruno@clisp.org>
17972
17973         New module 'floor-ieee'.
17974         * modules/floor-ieee: New file.
17975         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
17976         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
17977         ISO C 99 with IEC 60559.
17978         * m4/floor-ieee.m4: New file.
17979         * modules/floor (Files): Add lib/floor.c.
17980         (Depends-on): Add 'float'.
17981         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17982         * lib/math.in.h (floor): New declaration.
17983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
17984         REPLACE_FLOOR.
17985         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
17986         * modules/floor-ieee-tests: New file.
17987         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
17988         * tests/test-math-c++.cc: Check the signature of 'floor'.
17989         * doc/posix-functions/floor.texi: Mention the new module.
17990
17991 2010-12-21  Bruno Haible  <bruno@clisp.org>
17992
17993         New module 'roundf-ieee'.
17994         * modules/roundf-ieee: New file.
17995         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
17996         test whether roundf works according to ISO C 99 with IEC 60559.
17997         * m4/roundf-ieee.m4: New file.
17998         * modules/roundf-ieee-tests: New file.
17999         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
18000         * tests/test-roundf1.c (main): Remove signbit tests.
18001         * modules/roundf-tests (Depends-on): Remove 'signbit'.
18002         * doc/posix-functions/roundf.texi: Mention the new module.
18003
18004 2010-12-21  Bruno Haible  <bruno@clisp.org>
18005
18006         New module 'truncf-ieee'.
18007         * modules/truncf-ieee: New file.
18008         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
18009         test whether truncf works according to ISO C 99 with IEC 60559.
18010         * m4/truncf-ieee.m4: New file.
18011         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
18012         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
18013         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
18014         * modules/truncf-ieee-tests: New file.
18015         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
18016         * tests/test-truncf1.c (main): Remove signbit tests.
18017         * modules/truncf-tests (Depends-on): Remove 'signbit'.
18018         * doc/posix-functions/truncf.texi: Mention the new module.
18019
18020 2010-12-21  Bruno Haible  <bruno@clisp.org>
18021
18022         New module 'ceilf-ieee'.
18023         * modules/ceilf-ieee: New file.
18024         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
18025         test whether ceilf works according to ISO C 99 with IEC 60559.
18026         * m4/ceilf-ieee.m4: New file.
18027         * modules/ceilf-ieee-tests: New file.
18028         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
18029         * tests/test-ceilf1.c (main): Remove signbit tests.
18030         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
18031         * doc/posix-functions/ceilf.texi: Mention the new module.
18032
18033 2010-12-21  Bruno Haible  <bruno@clisp.org>
18034
18035         New module 'floorf-ieee'.
18036         * modules/floorf-ieee: New file.
18037         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
18038         test whether floorf works according to ISO C 99 with IEC 60559.
18039         * m4/floorf-ieee.m4: New file.
18040         * modules/floorf-ieee-tests: New file.
18041         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
18042         * tests/test-floorf1.c (main): Remove signbit tests.
18043         * modules/floorf-tests (Depends-on): Remove 'signbit'.
18044         * doc/posix-functions/floorf.texi: Mention the new module.
18045
18046 2010-12-21  Bruno Haible  <bruno@clisp.org>
18047
18048         Support for minus zero in autoconf macros.
18049         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
18050         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
18051         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
18052         * tests/minus-zero.h: Update comments.
18053
18054 2010-12-21  Bruno Haible  <bruno@clisp.org>
18055
18056         Tests for module 'ceil'.
18057         * modules/ceil-tests: New file.
18058         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
18059         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
18060
18061 2010-12-21  Bruno Haible  <bruno@clisp.org>
18062
18063         Tests for module 'floor'.
18064         * modules/floor-tests: New file.
18065         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
18066         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
18067
18068 2010-12-21  Bruno Haible  <bruno@clisp.org>
18069
18070         math: Fix indentation.
18071         * lib/math.in.h (floorf): Fix indentation.
18072
18073 2010-12-21  Bruno Haible  <bruno@clisp.org>
18074
18075         Fix cross-compilation guesses on Solaris.
18076         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
18077         not match "solaris2.10".
18078         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
18079         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
18080         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
18081
18082 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
18083
18084         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
18085         This fixes a problem observed with the latest coreutils snapshot
18086         that caused a test to fail on Solaris 8.  src/csplit.c's call
18087         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
18088         earlier, instead of returning the number of bytes that would have
18089         been generated; this causes csplit to incorrectly report memory
18090         exhaustion.
18091         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
18092         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
18093         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
18094         comments to match.
18095         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
18096         Fix typo in matching older versions of Solaris: "solaris2.10"
18097         is matched by the shell pattern "solaris2.[0-9]*".  This matters
18098         only for guessing while cross-compiling.
18099         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
18100
18101 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
18102
18103         ftoastr: fix comment again
18104         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
18105         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
18106         Also, simplify example a bit by using flags = 0.
18107
18108 2010-12-20  Bruno Haible  <bruno@clisp.org>
18109
18110         round*, trunc*: Update documentation regarding glibc.
18111         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
18112         * doc/posix-functions/round.texi: Likewise.
18113         * doc/posix-functions/roundl.texi: Likewise.
18114         * doc/posix-functions/truncf.texi: Likewise.
18115         * doc/posix-functions/trunc.texi: Likewise.
18116         * doc/posix-functions/truncl.texi: Likewise.
18117
18118 2010-12-20  Bruno Haible  <bruno@clisp.org>
18119
18120         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
18121         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
18122         * doc/posix-functions/round.texi: Likewise.
18123         * doc/posix-functions/roundl.texi: Likewise.
18124
18125 2010-12-20  Bruno Haible  <bruno@clisp.org>
18126
18127         ttyname_r: Add missing declaration on HP-UX 11.
18128         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
18129         HAVE_TTYNAME_R.
18130         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
18131         declared. Set HAVE_TTYNAME_R always.
18132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18133         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
18134         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
18135         HAVE_TTYNAME_R.
18136         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
18137
18138 2010-12-20  Bruno Haible  <bruno@clisp.org>
18139
18140         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
18141         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
18142         * doc/posix-functions/getlogin_r.texi: Likewise.
18143         * tests/test-getlogin.c: Include <errno.h>.
18144         (main): Avoid test failure on HP-UX 11.11.
18145         * tests/test-getlogin_r.c (main): Likewise.
18146
18147 2010-12-20  Bruno Haible  <bruno@clisp.org>
18148
18149         getlogin_r: Add missing declaration on HP-UX 11.
18150         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
18151         declared also when it exists as a function.
18152         * doc/posix-functions/getlogin_r.texi: Document this workaround.
18153
18154 2010-12-20  Bruno Haible  <bruno@clisp.org>
18155
18156         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
18157         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
18158         through wcrtomb.
18159
18160 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
18161
18162         ftoastr: fix comment
18163         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
18164         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
18165
18166 2010-12-19  Bruno Haible  <bruno@clisp.org>
18167
18168         isnan: Ensure it is a macro.
18169         * lib/math.in.h (isnan): Define as a macro if not already a macro.
18170         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
18171         Solaris.
18172
18173 2010-12-19  Bruno Haible  <bruno@clisp.org>
18174
18175         ldexpl test: Fix link error on OSF/1 5.1.
18176         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
18177
18178 2010-12-19  Bruno Haible  <bruno@clisp.org>
18179
18180         wctype: Make it work in C++ mode on OSF/1 5.1.
18181         * lib/wctype.in.h (iswblank): Declare but not define here.
18182         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
18183         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
18184         * modules/wctype (Files): Add lib/iswblank.c.
18185
18186 2010-12-19  Bruno Haible  <bruno@clisp.org>
18187
18188         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
18189         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
18190         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
18191
18192 2010-12-19  Bruno Haible  <bruno@clisp.org>
18193
18194         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
18195         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
18196         _POSIX_PII_SOCKET.
18197         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
18198         * doc/posix-functions/recvfrom.texi: Likewise.
18199         * doc/posix-functions/send.texi: Likewise.
18200         * doc/posix-functions/sendto.texi: Likewise.
18201
18202 2010-12-19  Bruno Haible  <bruno@clisp.org>
18203
18204         tcgetsid: Add missing declaration on OSF/1 5.1.
18205         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
18206         HAVE_TCGETSID.
18207         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
18208         Don't set HAVE_TCGETSID.
18209         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
18210         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
18211         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
18212         HAVE_TCGETSID.
18213         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
18214
18215 2010-12-19  Bruno Haible  <bruno@clisp.org>
18216
18217         stdio: Fix problem with popen() declaration on OSF/1 5.1.
18218         * lib/stdio.in.h: During the include_next statement, let recursive
18219         includes of this file include only the system header file.
18220
18221 2010-12-19  Bruno Haible  <bruno@clisp.org>
18222
18223         iconv_open: Fix regression from 2010-12-04.
18224         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
18225         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
18226
18227 2010-12-19  Bruno Haible  <bruno@clisp.org>
18228
18229         stdbool test: Avoid a gcc warning.
18230         * tests/test-stdbool.c (main): Fail if e1 is false.
18231         Reported by Jim Meyering.
18232
18233 2010-12-19  Jim Meyering  <meyering@redhat.com>
18234
18235         setenv: restore to working order
18236         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
18237         mistakenly removed.
18238         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
18239         HAVE_SETENV.
18240         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
18241         HAVE_SETENV.
18242
18243 2010-12-19  Bruno Haible  <bruno@clisp.org>
18244
18245         Document some different function declarations on OSF/1 5.1.
18246         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
18247         * doc/posix-functions/inet_ntop.texi: Likewise.
18248         * doc/posix-functions/gethostname.texi: Likewise.
18249         * lib/unistd.in.h (gethostname): Update comment.
18250
18251 2010-12-19  Bruno Haible  <bruno@clisp.org>
18252
18253         doc: Mention vasprintf-posix module.
18254         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
18255         the 'vasprintf-posix' module.
18256         * doc/glibc-functions/vasprintf.texi: Likewise.
18257
18258 2010-12-19  Bruno Haible  <bruno@clisp.org>
18259
18260         unsetenv: Add missing declaration on OSF/1 5.1.
18261         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
18262         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
18263         Don't set HAVE_UNSETENV. In the test program, set _BSD.
18264         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
18265         not HAVE_UNSETENV.
18266         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
18267         HAVE_UNSETENV.
18268         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
18269
18270 2010-12-19  Bruno Haible  <bruno@clisp.org>
18271
18272         setenv: Add missing declaration on OSF/1 5.1.
18273         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
18274         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
18275         declared. Don't set HAVE_SETENV.
18276         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
18277         not HAVE_SETENV.
18278         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
18279         HAVE_SETENV.
18280         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
18281
18282 2010-12-19  Bruno Haible  <bruno@clisp.org>
18283
18284         nl_langinfo tests: Avoid gcc warning.
18285         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
18286
18287 2010-12-19  Bruno Haible  <bruno@clisp.org>
18288
18289         mknod: Avoid error in C++ mode on OSF/1 with GCC.
18290         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
18291         _GL_CXXALIAS_SYS.
18292
18293 2010-12-19  Bruno Haible  <bruno@clisp.org>
18294
18295         stdbool: Relax test.
18296         * tests/test-stdbool.c (e): Don't require that casts from a variable's
18297         address to 'bool' work in static initializer, for compilers other than
18298         GCC.
18299
18300 2010-12-19  Bruno Haible  <bruno@clisp.org>
18301
18302         ftello: Add missing declaration on OSF/1 5.1.
18303         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
18304         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
18305         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
18306         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
18307         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
18308
18309 2010-12-19  Bruno Haible  <bruno@clisp.org>
18310
18311         fseeko: Add missing declaration on OSF/1 5.1.
18312         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
18313         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
18314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
18315         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
18316         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
18317
18318 2010-12-19  Bruno Haible  <bruno@clisp.org>
18319
18320         fchdir: Add missing declaration on OSF/1 5.1.
18321         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
18322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
18323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
18324         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
18325         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
18326
18327 2010-12-19  Bruno Haible  <bruno@clisp.org>
18328
18329         relocatable-prog-wrapper: Separate from relocatable-prog.
18330         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
18331         uninstall-relocwrapper rule here.
18332         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
18333         Reported by Ian Beckwith <ianb@erislabs.net>.
18334
18335 2010-12-19  Bruno Haible  <bruno@clisp.org>
18336
18337         unistr/u8-mbsnlen: Add missing dependency.
18338         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
18339         Reported by Ian Beckwith <ianb@erislabs.net>.
18340
18341 2010-12-19  Bruno Haible  <bruno@clisp.org>
18342
18343         iconv: Make it possible again to use this module without 'iconv-h'.
18344         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
18345         if it is not defined.
18346         Reported by Ian Beckwith <ianb@erislabs.net>.
18347
18348 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
18349
18350         acl: port to Solaris 8 when copying from tmpfs to ufs
18351         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
18352         error number.  Problem observed on Solaris 8 with latest
18353         coreutils, with "mv A B", where A is on a tmpfs file system and B
18354         is on a ufs file system.  This caused coreutils' mv/part-symlink
18355         test to fail.
18356
18357         tests: set fail=0 at start
18358         * tests/init.sh (setup_): Move fail=0 initialization here ...
18359         (mktempd_): ... from here, so that tests can rely on fail being
18360         set to 0 initially.  This fixes a problem in coreutils; see:
18361         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
18362
18363 2010-12-18  Bruno Haible  <bruno@clisp.org>
18364
18365         memmem-simple: Stylistic changes.
18366         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
18367         Fix preprocessor directive indentation.
18368
18369 2010-12-15  Pádraig Brady <P@draigBrady.com>
18370
18371         memmem, memmem-simple: reorganize and expand empty needle check
18372         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
18373         functional checks to memmem-simple so that one has a fully functional
18374         memmem by using just this module.
18375         Restrict the performance only check to the memmem module.
18376         Also expand the empty needle check to ensure the correct
18377         pointer is returned, not just a non NULL pointer.
18378         * doc/glibc-functions/memmem.texi: Rearrange the portability
18379         documentation to correlate with the rearranged checks.
18380         Clarify exactly how the memmem and memmem-simple modules
18381         relate to each other.
18382
18383 2010-12-15  Pádraig Brady <P@draigBrady.com>
18384             Bruno Haible  <bruno@clisp.org>
18385
18386         Improve cross-compilation guesses for uClibc.
18387         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
18388         that uClibc does not have the glibc bug.
18389         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
18390         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
18391
18392 2010-12-14  Eric Blake  <eblake@redhat.com>
18393
18394         configmake: provide fallbacks for oldest supported autotools
18395         * m4/configmake.m4: New file.
18396         * modules/configmake (Files): Ship it.
18397         (configure.ac): Use it to guarantee fallbacks.
18398
18399 2010-12-13  Pádraig Brady <P@draigBrady.com>
18400
18401         read-file: Improve handling of large files
18402         * lib/read-file.c (fread_file): Minimize realloc()s
18403         for regular files, and better manage sizes around SIZE_MAX.
18404
18405 2010-12-13  Eric Blake  <eblake@redhat.com>
18406
18407         cloexec, fcntl: relax license
18408         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
18409         consent from all contributors.
18410         * modules/fcntl (License): Likewise.
18411
18412 2010-12-10  Bruno Haible  <bruno@clisp.org>
18413
18414         Tests for module 'pipe-posix'.
18415         * modules/pipe-posix-tests: New file.
18416         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
18417
18418 2010-12-10  Bruno Haible  <bruno@clisp.org>
18419
18420         pipe-posix: Make it work in C++ mode.
18421         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
18422         (pipe): Use common idiom, not a macro definition.
18423         * lib/pipe.c: New file.
18424         * m4/pipe.m4: New file.
18425         * modules/pipe-posix (Description): Enhance.
18426         (Files): Add lib/pipe.c, m4/pipe.m4.
18427         (configure.ac): Invoke gl_FUNC_PIPE.
18428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
18429         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
18430         * tests/test-unistd-c++.cc: Check the signature of pipe.
18431
18432 2010-12-10  Bruno Haible  <bruno@clisp.org>
18433
18434         Rename module 'pipe' to 'spawn-pipe'.
18435         * modules/spawn-pipe: New file, renamed from modules/pipe.
18436         (Files, configure.ac, Makefile.am): Update.
18437         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
18438         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
18439         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
18440         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
18441         "spawn-pipe.h" instead of "pipe.h".
18442         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
18443         to gl_SPAWN_PIPE.
18444         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
18445         (Files, Makefile.am): Update.
18446         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
18447         Update.
18448         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
18449         Include "spawn-pipe.h" instead of "pipe.h".
18450         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
18451         * lib/javacomp.c: Likewise.
18452         * lib/javaversion.c: Likewise.
18453         * lib/pipe-filter-gi.c: Likewise.
18454         * lib/pipe-filter-ii.c: Likewise.
18455         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
18456         * modules/javacomp (Depends-on): Likewise.
18457         * modules/javaversion (Depends-on): Likewise.
18458         * modules/pipe-filter-gi (Depends-on): Likewise.
18459         * modules/pipe-filter-ii (Depends-on): Likewise.
18460         * MODULES.html.sh (Executing programs): Update.
18461         * NEWS: Mention the change.
18462
18463 2010-12-10  Eric Blake  <eblake@redhat.com>
18464
18465         pipe-posix: new module
18466         * modules/pipe-posix: New file.
18467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
18468         (gl_UNISTD_H): Check for declaration.
18469         * modules/unistd (Makefile.am): Substitute it.
18470         * lib/unistd.in.h (pipe): Provide it for mingw.
18471         * doc/posix-functions/pipe.texi (pipe): Update documentation.
18472         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
18473
18474 2010-12-07  Bruno Haible  <bruno@clisp.org>
18475
18476         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
18477         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
18478         u8_strcmp_gnu.
18479         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
18480
18481 2010-12-06  Bruno Haible  <bruno@clisp.org>
18482
18483         Update internal documentation.
18484         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
18485
18486 2010-12-04  Bruno Haible  <bruno@clisp.org>
18487
18488         Put more information about failed tests into the test return codes.
18489         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
18490         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
18491         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
18492         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
18493         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
18494         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18495         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18496         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18497         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
18498         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18499         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
18500         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
18501         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
18502         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18503         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
18504         returns a bit mask.
18505         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
18506         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
18507         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
18508         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
18509         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18510         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
18511         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
18512         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
18513         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
18514         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
18515         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
18516         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
18517         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
18518         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
18519         * m4/link.m4 (gl_FUNC_LINK): Likewise.
18520         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
18521         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
18522         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
18523         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18524         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
18525         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
18526         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
18527         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
18528         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
18529         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
18530         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
18531         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
18532         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
18533         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
18534         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
18535         gl_PRINTF_PRECISION): Likewise.
18536         * m4/regex.m4 (gl_REGEX): Likewise.
18537         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
18538         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18539         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
18540         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18541         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
18542         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
18543         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
18544         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
18545         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
18546         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18547         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
18548         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
18549         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
18550         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
18551         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18552         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18553         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
18554         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
18555         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
18556         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
18557         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
18558         enumerated value.
18559         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
18560
18561 2010-12-04  Bruno Haible  <bruno@clisp.org>
18562
18563         Update for Solaris 11 2010-11.
18564         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
18565         Express, released in November 2010.
18566
18567 2010-12-04  Bruno Haible  <bruno@clisp.org>
18568
18569         nproc: Relax license.
18570         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
18571         and Paul Eggert.
18572         Requested by Ludovic Courtès <ludo@gnu.org>.
18573
18574 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
18575
18576         utimecmp: fine-grained src to nearby coarse-grained dest
18577
18578         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
18579         and the source is on a file system with higher-resolution time
18580         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
18581         not work, and the time stamps are close together, the algorithm to
18582         determine the exact resolution from the read-back mtime was buggy:
18583         it had a "!=" where it should have had an "==".  This bug has been
18584         in the code ever since it was introduced to gnulib.
18585         Problem reported by Dan Jacobson in
18586         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
18587
18588 2010-11-30  Bruno Haible  <bruno@clisp.org>
18589
18590         strerror_r-posix: Fix autoconf test.
18591         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
18592
18593 2010-11-28  Bruno Haible  <bruno@clisp.org>
18594             Paul Eggert  <eggert@cs.ucla.edu>
18595
18596         Tests for module 'getdomainname'.
18597         * modules/getdomainname-tests: New file.
18598         * tests/test-getdomainname.c: New file, based on
18599         tests/test-gethostname.c.
18600
18601 2010-11-28  Bruno Haible  <bruno@clisp.org>
18602             Paul Eggert  <eggert@cs.ucla.edu>
18603
18604         getdomainname: Use the system function when possible.
18605         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
18606         (getdomainname): Replace if needed. Provide the declaration if it is
18607         missing. Don't use _GL_CXXALIAS_SYS_CAST.
18608         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
18609         (getdomainname): When the system has getdomainname, call the system
18610         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
18611         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
18612         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
18613         found in libnsl. Look for the declaration also in <netdb.h>. Replace
18614         the function if its second argument is of type 'int' or if it is found
18615         in libnsl.
18616         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
18617         <sys/systeminfo.h> and sysinfo().
18618         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
18619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18620         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
18621         HAVE_GETDOMAINNAME.
18622         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
18623         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
18624         * doc/glibc-functions/getdomainname.texi: Document the problems with
18625         the getdomainname declaration.
18626
18627 2010-11-28  Bruno Haible  <bruno@clisp.org>
18628
18629         sys_socket: Ensure ss_family field on AIX.
18630         * lib/sys_socket.in.h (ss_family): New macro definition.
18631         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
18632         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
18633         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
18634         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
18635         * modules/sys_socket (Makefile.am): Substitute
18636         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
18637         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
18638
18639 2010-11-27  Bruno Haible  <bruno@clisp.org>
18640
18641         readline: Improve configure output.
18642         * m4/readline.m4 (gl_FUNC_READLINE): Make the
18643         "checking for readline..." result understandable.
18644
18645 2010-11-27  Bruno Haible  <bruno@clisp.org>
18646
18647         *printf-posix: Detect a bug on Solaris 10/x86.
18648         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
18649         for floating-point output.
18650         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
18651         directive.
18652         * tests/test-snprintf-posix.h (test_function): Likewise.
18653         * tests/test-sprintf-posix.h (test_function): Likewise.
18654         * tests/test-vasprintf-posix.c (test_function): Likewise.
18655         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
18656         * doc/posix-functions/printf.texi: Likewise.
18657         * doc/posix-functions/snprintf.texi: Likewise.
18658         * doc/posix-functions/sprintf.texi: Likewise.
18659         * doc/posix-functions/vfprintf.texi: Likewise.
18660         * doc/posix-functions/vprintf.texi: Likewise.
18661         * doc/posix-functions/vsnprintf.texi: Likewise.
18662         * doc/posix-functions/vsprintf.texi: Likewise.
18663         * doc/glibc-functions/obstack_printf.texi: Likewise.
18664         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
18665
18666 2010-11-27  Bruno Haible  <bruno@clisp.org>
18667
18668         Fix link error when module libunistring-optional is in use.
18669         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
18670         * modules/striconveha-tests (Makefile.am): Likewise.
18671
18672 2010-11-27  Bruno Haible  <bruno@clisp.org>
18673
18674         regex: Mention link dependencies.
18675         * modules/regex (Link): New section.
18676         * modules/rpmatch (Link): Likewise.
18677         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
18678
18679 2010-11-27  Bruno Haible  <bruno@clisp.org>
18680
18681         ftoastr: Fix compilation error on Solaris.
18682         * lib/ftoastr.c: Include <config.h>.
18683
18684 2010-11-27  Bruno Haible  <bruno@clisp.org>
18685
18686         getloadavg: Update documentation.
18687         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
18688
18689 2010-11-27  Bruno Haible  <bruno@clisp.org>
18690
18691         sys_socket: Fix test whether the functions are declared.
18692         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
18693         not <sys/select.h>.
18694
18695 2010-11-27  Bruno Haible  <bruno@clisp.org>
18696
18697         getpass: Make sure to get system declaration on some platforms.
18698         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
18699         gl_USE_SYSTEM_EXTENSIONS.
18700         * modules/getpass (Depends-on): Add extensions.
18701
18702 2010-11-26  Bruno Haible  <bruno@clisp.org>
18703
18704         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
18705         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
18706         'iconv' module is present.
18707         (ICONV_CONST): New macro.
18708         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
18709         ICONV_CONST.
18710         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
18711         set ICONV_CONST.
18712         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
18713         here.
18714         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
18715         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
18716         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
18717         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
18718         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
18719         present.
18720
18721 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18722
18723         ftoastr: comment fix
18724         * lib/ftoastr.c: "little" -> "little or no" in comment
18725
18726 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
18727
18728         stdint: port to GCC 4.3 + OSX + Octave
18729         On this platform, stdint.h is buggy and defines int64_t to long
18730         long int.  The replacement defined it to long int, causing
18731         problems with C++ style name mangling.  Instead, trust the system
18732         definition if INT64_MAX is defined, and likewise for the unsigned
18733         variant.   Problem reported by Jarno Rajahalme in
18734         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
18735         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
18736         and don't mess with int64_t and INT64_MAX in this case.
18737         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
18738
18739 2010-11-24  Bruno Haible  <bruno@clisp.org>
18740
18741         doc: Corrections regarding MacOS X 10.4 and 10.5.
18742         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
18743         MacOS X.
18744         Reported by Simon Josefsson.
18745
18746 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
18747
18748         Uninstall ".bin" files installed by relocwrapper.
18749         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
18750         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
18751         unless it is already there.
18752
18753 2010-11-21  Bruno Haible  <bruno@clisp.org>
18754
18755         Update for NetBSD 5.0.
18756         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
18757         NetBSD; the test fails on NetBSD 5.0.
18758         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
18759         about NetBSD.
18760
18761 2010-11-21  Bruno Haible  <bruno@clisp.org>
18762
18763         Update for HP-UX 11.23 and HP-UX 11.31.
18764         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
18765         HP-UX.
18766
18767 2010-11-21  Bruno Haible  <bruno@clisp.org>
18768
18769         Update for MacOS X 10.5.
18770         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
18771         MacOS X; the test fails on MacOS X 10.5.8.
18772         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
18773         about MacOS X.
18774
18775 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
18776
18777         bootstrap: add bootstrap_sync option.
18778         See discussion at
18779         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
18780         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
18781         * build-aux/bootstrap: Accept --bootstrap-sync to update
18782         bootstrap if it is not identical to the local gnulib's
18783         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
18784         enable this by default.  Accept --no-bootstrap-sync to disable
18785         it.
18786
18787 2010-11-20  Bruno Haible  <bruno@clisp.org>
18788
18789         Ensure that <features.h> is included before __GLIBC__ is tested.
18790         * lib/printf-parse.h: Include <features.h>.
18791         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
18792         Reported by Mike Frysinger <vapier@gentoo.org>.
18793
18794         Ensure that <features.h> is included before __GLIBC__ is tested.
18795         * lib/wchar.in.h: Include <features.h>.
18796         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
18797         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
18798         Reported by Mike Frysinger <vapier@gentoo.org>.
18799
18800         Ensure that <features.h> is included before __GLIBC__ is tested.
18801         * lib/arpa_inet.in.h: Include <features.h>.
18802         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
18803         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
18804         Reported by Mike Frysinger <vapier@gentoo.org>.
18805
18806         Ensure that <features.h> is included before __GLIBC__ is tested.
18807         * build-aux/link-warning.h: Include <features.h>.
18808         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
18809         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
18810         Reported by Mike Frysinger <vapier@gentoo.org>.
18811
18812         Ensure that <features.h> is included before __GLIBC__ is tested.
18813         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
18814         Reported by Mike Frysinger <vapier@gentoo.org>.
18815
18816 2010-11-20  Bruno Haible  <bruno@clisp.org>
18817
18818         memmem: Fix autoconf test.
18819         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
18820
18821 2010-11-20  Bruno Haible  <bruno@clisp.org>
18822
18823         Port to uClibc.
18824         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
18825         * lib/fcntl.in.h: Likewise.
18826         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
18827         * lib/mbrtowc.c (mbrtowc): Likewise.
18828         * lib/relocatable.c (find_shared_library_fullname): Likewise.
18829         * lib/strerror_r.c: Likewise.
18830         * lib/unistr/u8-strnlen.c: Likewise.
18831         * lib/vasnprintf.c (decimal_point_char): Likewise.
18832         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
18833         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
18834         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
18835         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18836         * tests/test-sigaction.c (handler, main): Likewise.
18837         * lib/freading.h: Treat uClibc like a non-glibc platform.
18838         * lib/freading.c: Likewise.
18839         * lib/gettext.h: Likewise.
18840         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
18841         Likewise.
18842         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
18843         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
18844         * lib/propername.c (proper_name_utf8): Likewise.
18845         * lib/spawn.in.h: Likewise.
18846         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
18847         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
18848         mem_cd_iconveh_internal): Likewise.
18849         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
18850         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
18851         strstr, strcasestr): Likewise.
18852         * lib/unicodeio.c (unicode_to_mb): Likewise.
18853         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
18854         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
18855         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
18856         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
18857         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
18858         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
18859         * lib/unistr/u8-stpncpy.c: Likewise.
18860         * lib/vasnprintf.c (VASNPRINTF): Likewise.
18861         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
18862         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18863         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18864         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18865         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
18866         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
18867         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
18868         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18869         Likewise.
18870         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18871         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18872         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18873         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18874         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18875         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18876         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18877         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18878         * tests/test-getopt.h (OPTIND_MIN): Likewise.
18879         * tests/test-striconveha.c (main): Likewise.
18880         * tests/test-vasnprintf-posix.c (test_function): Likewise.
18881         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
18882         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
18883         * doc/posix-functions/getline.texi: Likewise.
18884         Reported by Mike Frysinger <vapier@gentoo.org>.
18885
18886 2010-11-20  Bruno Haible  <bruno@clisp.org>
18887
18888         nproc: Fix condition.
18889         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
18890         HAVE_PTHREAD_AFFINITY_NP.
18891
18892 2010-11-20  Bruno Haible  <bruno@clisp.org>
18893
18894         Fix a comment.
18895         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
18896
18897 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
18898
18899         ftoastr: don't assume snprintf
18900         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
18901         Implement a subset of snprintf here, by using sprintf safely.
18902         * modules/ftoastr (Depends-on): Remove snprintf.
18903
18904 2010-11-19  Jim Meyering  <meyering@redhat.com>
18905
18906         test-rename.h: fix compilation failure
18907         * tests/test-rename.h (test_rename): Add omitted "}".
18908
18909 2010-11-17  Jim Meyering  <meyering@redhat.com>
18910
18911         maint.mk: add a URL discussing the no-@acronym policy
18912         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
18913
18914 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
18915
18916         ftoastr: depend on snprintf, improve comments
18917         * lib/ftoastr.c: Also mention Loitsch's draft.
18918         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
18919         needed in the current implementation, but it might simplify
18920         speeding up the code later.
18921         * modules/ftoastr: Depend on snprintf; this improves portability.
18922         Suggested by Bruno Haible in the same email.
18923
18924         ftoastr: port to hosts lacking strtof and strtold
18925         Problem reported by Bruno Haible in
18926         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
18927         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
18928         environment and strtold (and presumably strtof) are not available.
18929         * modules/ftoastr (Files): Add m4/c-strtod.m4.
18930         (configure.ac): Require gl_C99_STRTOLD.
18931
18932 2010-11-18  Bruno Haible  <bruno@clisp.org>
18933
18934         c-strtold: Avoid link error on AIX 7.
18935         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
18936         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
18937         (gl_C_STRTOLD): Test whether strtold_l exists.
18938         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18939
18940 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18941
18942         intprops: new macro INT_BITS_STRLEN_BOUND
18943         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
18944         ftoastr.h.  This exposes an internal of intprops.h that was formerly
18945         not exposed.  Also, it uses a slightly tighter bound than before;
18946         though this makes no practical difference, we might as well be as
18947         tight as we easily can.
18948
18949         ftoastr: new module, for lossless conversion of floats to short strings
18950         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
18951         * modules/ftoastr: New files.
18952
18953 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18954
18955         bootstrap: port to Solaris sed
18956         * build-aux/bootstrap (get_version): Port to Solaris sed.
18957         See Ralf Wildenhues's note in
18958         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
18959
18960 2010-11-14  Jim Meyering  <meyering@redhat.com>
18961
18962         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
18963         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
18964         and move definition closer to sole use.
18965
18966 2010-11-13  Jim Meyering  <meyering@redhat.com>
18967
18968         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
18969         Now we require at least autoconf-2.59, which means the work-around
18970         is no longer needed.
18971         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
18972         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18973         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
18974         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18975         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18976
18977 2010-11-13  Bruno Haible  <bruno@clisp.org>
18978
18979         rename, renameat: Avoid test failures at NFS mounted locations.
18980         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
18981         functions.
18982         (test_rename): Use assert_nonexistent.
18983         * tests/test-rename.c: Include <dirent.h>.
18984         * tests/test-renameat.c: Likewise.
18985         Reported by Gary V. Vaughan <gary@gnu.org>.
18986
18987         rename, renameat: Document Linux bug with NFS
18988         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
18989         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
18990         * doc/posix-functions/renameat.texi: Likewise.
18991         Suggested by Eric Blake.
18992
18993 2010-11-13  Bruno Haible  <bruno@clisp.org>
18994
18995         rename test: Add comments.
18996         * tests/test-rename.h (test_rename): Add structure and comments.
18997
18998 2010-11-13  Eric Blake  <eblake@redhat.com>
18999
19000         maintainer-makefile: cover a few more files
19001         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
19002         scripts generated within C files, for libvirt.
19003
19004 2010-11-13  Bruno Haible  <bruno@clisp.org>
19005
19006         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
19007         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
19008         character, return the number of bytes that belong together, not always
19009         1.
19010         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
19011         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
19012         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
19013         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
19014         number of bytes of an invalid character.
19015         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
19016         (main): Invoke it.
19017         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
19018         results.
19019         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
19020         malformed byte sequences.
19021         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
19022         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
19023         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
19024         Reported by Ben Pfaff and Paolo Bonzini.
19025
19026 2010-11-13  Bruno Haible  <bruno@clisp.org>
19027
19028         openat: Work around glibc bug with fchownat() and empty file names.
19029         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
19030         (gl_FUNC_FCHOWNAT): Invoke it.
19031         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
19032         * doc/posix-functions/fchownat.texi: Document the glibc bug.
19033         Reported by Gary V. Vaughan <gary@gnu.org>.
19034
19035 2010-11-13  Bruno Haible  <bruno@clisp.org>
19036
19037         openat: Ensure autoconf macro ordering.
19038         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
19039         gl_USE_SYSTEM_EXTENSIONS.
19040         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
19041
19042 2010-11-13  Bruno Haible  <bruno@clisp.org>
19043
19044         Update comments.
19045         * lib/unistr/u8-check.c: Update file name in comments.
19046         * lib/unistr/u8-mblen.c: Likewise.
19047         * lib/unistr/u8-prev.c: Likewise.
19048         * lib/unistr/u8-strmblen.c: Likewise.
19049         * lib/unistr/u8-strmbtouc.c: Likewise.
19050
19051 2010-11-13  Jim Meyering  <meyering@redhat.com>
19052
19053         tests: avoid test failure on Solaris 10 due to lack of PATH export
19054         * tests/test-update-copyright.sh: Don't forget to export PATH.
19055
19056         init.sh: ensure that IFS is defined, just in case...
19057         * tests/init.sh (setup_): Ensure that IFS is defined,
19058         so that saving and restoring it works as expected.  This
19059         appears to be useful at least for an old version of dash
19060         from a long time ago (RH 6).  See here for details:
19061         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
19062
19063         maint.mk: tighten "test a == b" check
19064         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
19065         test to files that contain something like #!/bin/sh.
19066         Without this, coreutils would get two false positives in
19067         the comments of C source files.
19068
19069 2010-11-12  Eric Blake  <eblake@redhat.com>
19070
19071         bootstrap: fix typo in previous attempt
19072         * build-aux/bootstrap (buildreq): Correct the grouping.
19073         Reported by Paul Eggert.
19074
19075         maintainer-makefile: prohibit test x == x
19076         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
19077         Based on a report by Matthias Bolte.
19078
19079         bootstrap: allow FreeBSD gzip
19080         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
19081         which has no '.' and goes to stderr.
19082         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
19083         Reported by Matthias Bolte.
19084
19085         maintainer-makefile: check for i18n setup
19086         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
19087         will likely work.
19088
19089 2010-11-12  Bruno Haible  <bruno@clisp.org>
19090
19091         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
19092         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
19093         * lib/nanosleep.c (nanosleep): Likewise.
19094
19095 2010-11-11  Bruno Haible  <bruno@clisp.org>
19096
19097         fcntl-h: Fix for use of C++ on glibc systems.
19098         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19099         also on glibc systems in C++ mode.
19100         Reported by Gary V. Vaughan <gary@gnu.org>.
19101
19102 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
19103
19104         mknod: avoid false failure with dash
19105         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
19106
19107 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
19108
19109         unlink: Fix "is it should" typo in diagnostic.
19110         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
19111         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
19112
19113 2010-11-11  Bruno Haible  <bruno@clisp.org>
19114
19115         Tests for module 'strerror_r-posix'.
19116         * modules/strerror_r-posix-tests: New file.
19117         * tests/test-strerror_r.c: New file.
19118         * tests/test-string-c++.cc: Check the signature of strerror_r.
19119
19120         New module 'strerror_r-posix'.
19121         * lib/string.in.h (strerror_r): New declaration.
19122         * lib/strerror_r.c: New file.
19123         * m4/strerror_r.m4: New file.
19124         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
19125         of strerror_r.
19126         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
19127         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
19128         * modules/strerror_r-posix: New file.
19129         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
19130         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
19131         * doc/posix-functions/strerror_r.texi: Mention the new module and the
19132         portability problems.
19133
19134 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
19135
19136         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
19137         line is also considered for output. Quoted function name in shell
19138         command, so temporary files for functions like MyClass::operator()
19139         are removed correctly without errors.
19140
19141 2010-11-09  Bruno Haible  <bruno@clisp.org>
19142
19143         * doc/posix-functions/strerror.texi: List more failing platforms.
19144
19145         * doc/posix-functions/strerror.texi: Add a comment.
19146
19147 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
19148
19149         fdopendir: fix bug on MacOS X when low on file descriptors
19150
19151         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
19152         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
19153         All callers changed.
19154         (fdopendir): Invoke save_cwd at the top level, not after using
19155         multiple dup() calls to use up file descriptors.  Then retry
19156         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
19157         less than the maximum number of open file descriptors, because
19158         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
19159         on Mac OS X 10.6.4 for tar 1.24
19160         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
19161         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
19162         and for tar 1.25
19163         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
19164
19165 2010-11-07  Bruno Haible  <bruno@clisp.org>
19166
19167         vasnprintf: Support I flag on glibc systems.
19168         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
19169         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
19170         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
19171         snprintf function.
19172         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
19173         glibc systems.
19174         * tests/test-vasnprintf-posix3.c: New file.
19175         * modules/vasnprintf-posix-tests (Files): Add it.
19176         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
19177
19178 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
19179
19180         [html] Fix copy/paste bug: Use unique name for compiler warnings.
19181         * MODULES.html.sh: For compiler warnings, use name
19182         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
19183
19184 2010-11-05  Eric Blake  <eblake@redhat.com>
19185
19186         ceil, floor: avoid spurious failure with icc
19187         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
19188         [denormals-as-zero] when optimizing without -mieee-fp option.
19189         * tests/test-floorf2.c (floorf_reference): Likewise.
19190         * tests/test-ceilf1.c (dummy): New function.
19191         (main): Use it to outsmart icc's optimization.
19192         * tests/test-floorf1.c (dummy, main): Likewise.
19193
19194         tests: require working signbit
19195         * modules/ceilf-tests (Depends-on): Add signbit.
19196         * modules/ceill-tests (Depends-on): Likewise.
19197         * modules/floorf-tests (Depends-on): Likewise.
19198         * modules/floorl-tests (Depends-on): Likewise.
19199         * modules/round-tests (Depends-on): Likewise.
19200         * modules/roundf-tests (Depends-on): Likewise.
19201         * modules/roundl-tests (Depends-on): Likewise.
19202         * modules/trunc-tests (Depends-on): Likewise.
19203         * modules/truncf-tests (Depends-on): Likewise.
19204         * modules/truncl-tests (Depends-on): Likewise.
19205
19206         strtod: work around icc bug
19207         * lib/strtod.c (minus_zero): Define to working value.
19208         (strtod): Use it to avoid icc bug.
19209
19210         copysign: enhance tests
19211         * modules/copysign-tests (Files): Add minus-zero.h.
19212         * tests/test-copysign.c (main): Also test zeros.
19213
19214 2010-11-04  Eric Blake  <eblake@redhat.com>
19215
19216         ceil, floor, round, trunc: enhance tests of -0
19217         * tests/test-ceilf1.c (main): Ensure correct sign of result.
19218         * tests/test-ceill.c (main): Likewise.
19219         * tests/test-floorf1.c (main): Likewise.
19220         * tests/test-floorl.c (main): Likewise.
19221         * tests/test-round1.c (main): Likewise.
19222         * tests/test-roundf1.c (main): Likewise.
19223         * tests/test-roundl.c (main): Likewise.
19224         * tests/test-trunc1.c (main): Likewise.
19225         * tests/test-truncf1.c (main): Likewise.
19226         * tests/test-truncl.c (main): Likewise.
19227
19228 2010-11-04  Eric Blake  <eblake@redhat.com>
19229
19230         frexp, tests: work around ICC bug with -zero
19231         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
19232         works with more compilers.
19233         * tests/minus-zero.h: New file.
19234         * modules/ceilf-tests (Files): Include it.
19235         * modules/ceill-tests (Files): Likewise.
19236         * modules/floorf-tests (Files): Likewise.
19237         * modules/floorl-tests (Files): Likewise.
19238         * modules/frexp-nolibm-tests (Files): Likewise.
19239         * modules/frexp-tests (Files): Likewise.
19240         * modules/frexpl-nolibm-tests (Files): Likewise.
19241         * modules/frexpl-tests (Files): Likewise.
19242         * modules/isnan-tests (Files): Likewise.
19243         * modules/isnand-nolibm-tests (Files): Likewise.
19244         * modules/isnand-tests (Files): Likewise.
19245         * modules/isnanf-nolibm-tests (Files): Likewise.
19246         * modules/isnanf-tests (Files): Likewise.
19247         * modules/isnanl-nolibm-tests (Files): Likewise.
19248         * modules/isnanl-tests (Files): Likewise.
19249         * modules/round-tests (Files): Likewise.
19250         * modules/roundf-tests (Files): Likewise.
19251         * modules/roundl-tests (Files): Likewise.
19252         * modules/ldexpl-tests (Files): Likewise.
19253         * modules/signbit-tests (Files): Likewise.
19254         * modules/snprintf-posix-tests (Files): Likewise.
19255         * modules/sprintf-posix-tests (Files): Likewise.
19256         * modules/strtod-tests (Files): Likewise.
19257         * modules/trunc-tests (Files): Likewise.
19258         * modules/truncf-tests (Files): Likewise.
19259         * modules/truncl-tests (Files): Likewise.
19260         * modules/vsnprintf-posix-tests (Files): Likewise.
19261         * modules/vsprintf-posix-tests (Files): Likewise.
19262         * modules/vasnprintf-posix-tests (Files): Likewise.
19263         * modules/vasprintf-posix-tests (Files): Likewise.
19264         * tests/test-ceilf1.c (main): Use it.
19265         * tests/test-ceill.c (main): Likewise.
19266         * tests/test-floorf1.c (main): Likewise.
19267         * tests/test-floorl.c (main): Likewise.
19268         * tests/test-frexp.c (main): Likewise.
19269         * tests/test-frexpl.c (main): Likewise.
19270         * tests/test-isnan.c (main): Likewise.
19271         * tests/test-isnand.h (main): Likewise.
19272         * tests/test-isnanf.h (main): Likewise.
19273         * tests/test-isnanl.h (main): Likewise.
19274         * tests/test-ldexpl.c (main): Likewise.
19275         * tests/test-round.c (main): Likewise.
19276         * tests/test-roundf.c (main): Likewise.
19277         * tests/test-roundl.c (main): Likewise.
19278         * tests/test-signbit.c (test_signbitf, test_signbitd)
19279         (test_signbitl): Likewise.
19280         * tests/test-snprintf-posix.h (test_function): Likewise.
19281         * tests/test-sprintf-posix.h (test_function): Likewise.
19282         * tests/test-strtod.c (main): Likewise.
19283         * tests/test-trunc1.c (main): Likewise.
19284         * tests/test-truncf1.c (main): Likewise.
19285         * tests/test-truncl.c (main): Likewise.
19286
19287         isnanl: work around icc bug
19288         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
19289
19290 2010-11-03  Eric Blake  <eblake@redhat.com>
19291
19292         tests: fix compiler warnings
19293         * tests/test-getopt.h (test_getopt): Fix condition.
19294         * tests/test-getopt_long.h (test_getopt_long): Likewise.
19295         * tests/test-pipe2.c (main): Likewise.
19296         * tests/test-quotearg-simple.c (main): Avoid icc warning.
19297
19298         utimens: fix broken m4 test
19299         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
19300
19301 2010-10-28  Bruno Haible  <bruno@clisp.org>
19302
19303         posix_spawn*, getdtablesize: Relax license.
19304         * modules/posix_spawn (License): Change to LGPLv2+.
19305         * modules/posix_spawnp (License): Likewise.
19306         * modules/posix_spawn-internal (License): Likewise.
19307         * modules/posix_spawnattr_init (License): Likewise.
19308         * modules/posix_spawnattr_getflags (License): Likewise.
19309         * modules/posix_spawnattr_setflags (License): Likewise.
19310         * modules/posix_spawnattr_getpgroup (License): Likewise.
19311         * modules/posix_spawnattr_setpgroup (License): Likewise.
19312         * modules/posix_spawnattr_getschedparam (License): Likewise.
19313         * modules/posix_spawnattr_setschedparam (License): Likewise.
19314         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
19315         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
19316         * modules/posix_spawnattr_getsigdefault (License): Likewise.
19317         * modules/posix_spawnattr_setsigdefault (License): Likewise.
19318         * modules/posix_spawnattr_getsigmask (License): Likewise.
19319         * modules/posix_spawnattr_setsigmask (License): Likewise.
19320         * modules/posix_spawnattr_destroy (License): Likewise.
19321         * modules/posix_spawn_file_actions_init (License): Likewise.
19322         * modules/posix_spawn_file_actions_addclose (License): Likewise.
19323         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
19324         * modules/posix_spawn_file_actions_addopen (License): Likewise.
19325         * modules/posix_spawn_file_actions_destroy (License): Likewise.
19326         * modules/getdtablesize (License): Likewise.
19327         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
19328
19329 2010-10-26  Bruno Haible  <bruno@clisp.org>
19330
19331         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
19332         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
19333         Cygwin and mingw.
19334         Suggested by Eric Blake.
19335
19336 2010-10-26  Bruno Haible  <bruno@clisp.org>
19337
19338         stdio: Work around compilation error due to renameat() on Solaris 10.
19339         * lib/stdio.in.h: Include <unistd.h> on Solaris.
19340         * lib/renameat.c: Don't include <unistd.h> here.
19341         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
19342         Reported by Paul Eggert and Eric Blake.
19343
19344 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
19345
19346         renameat: port to Solaris 10, which declares renameat in unistd.h
19347
19348         * lib/renameat.c: Include unistd.h before stdio.h, because
19349         Solaris 10 declares renameat in unistd.h.  Problem encountered
19350         when building GNU tar 1.24 on Solaris 10.
19351
19352 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
19353
19354         fdopendir: fix C89 compilation
19355         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
19356         compilers.
19357
19358 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
19359
19360         inttostr: simplify by removing unnecessary redundancy
19361         * lib/anytostr.c: Don't include verify.h.
19362         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
19363         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
19364         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
19365         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
19366         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
19367         Likewise.
19368         * modules/inttostr (Depends-on): Remove 'verify'.
19369
19370 2010-10-23  Bruno Haible  <bruno@clisp.org>
19371
19372         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
19373         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
19374         Reported by Eric Blake.
19375
19376 2010-10-23  Bruno Haible  <bruno@clisp.org>
19377
19378         Tests: Fix LOCALE_JA on MirBSD 10.
19379         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
19380         to an UTF-8 locale.
19381         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
19382         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19383         Reported by Eric Blake.
19384
19385 2010-10-21  Bruno Haible  <bruno@clisp.org>
19386
19387         nl_langinfo test: Avoid test failure on NetBSD 5.
19388         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
19389         Reported by Eric Blake.
19390
19391 2010-10-21  Eric Blake  <eblake@redhat.com>
19392
19393         c-stack: work around libsigsegv 2.8 bug
19394         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
19395         overflow on at least PowerPC64.
19396
19397 2010-10-17  Bruno Haible  <bruno@clisp.org>
19398
19399         userspec: Drop redundant file.
19400         * modules/userspec (Files): Remove lib/inttostr.h.
19401
19402 2010-10-17  Bruno Haible  <bruno@clisp.org>
19403
19404         nl_langinfo tests: Silence some warnings.
19405         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
19406         Reported by Jim Meyering.
19407
19408 2010-10-17  Bruno Haible  <bruno@clisp.org>
19409
19410         Make use of GCC's attribute __alloc_size__.
19411         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
19412         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
19413         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
19414         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
19415         __alloc_size__.
19416         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
19417         Suggested by Jim Meyering.
19418
19419 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
19420
19421         bootstrap: anchor .gitignore entries.
19422         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
19423         with...
19424         (insert_vc_ignore): ... this new function, which prepends `/' to
19425         all .gitignore entries before passing them to
19426         insert_sorted_if_absent.
19427
19428 2010-10-16  Bruno Haible  <bruno@clisp.org>
19429
19430         nextafter: Fix configure check.
19431         * modules/nextafter (configure.ac): Correct expected prototype.
19432
19433 2010-10-16  Bruno Haible  <bruno@clisp.org>
19434
19435         termios: Update documentation.
19436         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
19437
19438 2010-10-16  Bruno Haible  <bruno@clisp.org>
19439
19440         tests: Make them compile with TinyCC.
19441         * tests/test-strstr.c (main): Remove parentheses around array
19442         initializer.
19443
19444 2010-10-15  Eric Blake  <eblake@redhat.com>
19445
19446         ignore-value: make header idempotent
19447         * lib/ignore-value.h: Add double-inclusion guards.
19448         Reported by Stefan Berger.
19449
19450 2010-10-15  Jim Meyering  <meyering@redhat.com>
19451
19452         GNUmakefile: handle "stable" target, not "major"
19453         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
19454         lists in maint.mk and announce-gen.  Without this, "make stable"
19455         would fail to ensure that $(VERSION) is up to date.
19456
19457 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
19458
19459         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
19460         & co.
19461
19462 2010-10-14  Bruno Haible  <bruno@clisp.org>
19463
19464         vasnprintf: Don't set errno to 0.
19465         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
19466         block that sets it to 0.
19467         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
19468
19469 2010-10-14  Bruno Haible  <bruno@clisp.org>
19470
19471         socketlib: Fix.
19472         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
19473         gl_PREREQ_SYS_H_WINSOCK2.
19474         Reported by Ian Beckwith <ianb@erislabs.net>.
19475
19476 2010-10-13  Jim Meyering  <meyering@redhat.com>
19477
19478         test-select-stdin.c: avoid warn_unused_result warnings
19479         * tests/test-select-stdin.c: Include "macros.h".
19480         ASSERT that read and fflush succeed.
19481
19482 2010-10-13  Jim Meyering  <meyering@redhat.com>
19483
19484         git-version-gen: do require git-VC'd files in cwd
19485         * build-aux/git-version-gen: Reject a git version string
19486         if there are no commits associated with the current directory.
19487         This avoids an unlikely false-positive (unrelated dir whose parent
19488         repository also contains a tag matching v*), as pointed out
19489         by Giuseppe Scrivano in
19490         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
19491
19492 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
19493
19494         argv-iter: omit nonconforming declaration
19495         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
19496         enum arg_iter_err declaration, which doesn't conform to C99.
19497         Solaris 10 cc warns about this.
19498
19499 2010-10-13  Eric Blake  <eblake@redhat.com>
19500
19501         termios: fix compilation on mingw
19502         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
19503         (gl_TERMIOS_H): Adjust it on mingw.
19504         * modules/termios (Makefile.am): Substitute new key.
19505         * lib/termios.in.h (includes): Make include_next conditional.
19506         * doc/posix-headers/termios.texi (termios.h): Update
19507         documentation.
19508         Reported by Daniel P. Berrange.
19509
19510 2010-10-13  Jim Meyering  <meyering@redhat.com>
19511
19512         git-version-gen: don't require that .git/ be in the current dir
19513         * build-aux/git-version-gen: Adjust this script so that it works
19514         when run from any working directory beneath the top-level .git/-
19515         containing directory.  Inspired by a patch from Giuseppe Scrivano,
19516         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
19517
19518         test-select: avoid warn_unused_result warnings
19519         * tests/test-select.c: Include "macros.h".
19520         ASSERT that each call to read, write, and pipe succeeds.
19521         While not technically required, also check each "close".
19522         * modules/select-tests (Files): Add tests/macros.h.
19523
19524         test-symlinkat: remove declaration of unused local
19525         * tests/test-symlinkat.c (main): Remove unused local, "buf".
19526
19527         test-inttostr: avoid shadowing warnings
19528         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
19529         and use malloc rather than the stack for the same reason as
19530         mentioned in the comment justifying the other allocation.
19531
19532 2010-10-11  Bruno Haible  <bruno@clisp.org>
19533
19534         stdlib: Allow multiple gnulib generated replacements to coexist.
19535         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
19536         Reported by Sam Steingold <sds@gnu.org>.
19537
19538 2010-10-11  Jim Meyering  <meyering@redhat.com>
19539
19540         fix a documentation typo
19541         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
19542
19543 2010-10-11  Eric Blake  <eblake@redhat.com>
19544
19545         futimens: work around Solaris 11 bug
19546         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
19547         * tests/test-futimens.h (test_futimens): Enhance, rather than
19548         weaken test.
19549         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19550
19551 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
19552
19553         Indentation.
19554         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
19555         higher-level operators more to the left.
19556
19557 2010-10-11  Jim Meyering  <meyering@redhat.com>
19558
19559         test-futimens: avoid unwarranted test failure on Solaris 5.11
19560         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
19561         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
19562         because it tries to dereference the NULL name argument.
19563
19564 2010-10-11  Bruno Haible  <bruno@clisp.org>
19565
19566         Indentation.
19567         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
19568         indentation.
19569
19570 2010-10-11  Jim Meyering  <meyering@redhat.com>
19571
19572         spawn.in.h: make indentation consistent with parentheses
19573         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
19574         Make indentation consistent with parentheses.
19575
19576 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
19577
19578         Fix mismatched parens in previous commit
19579         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
19580         parens.
19581
19582 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
19583
19584         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
19585
19586         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
19587         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
19588         * lib/malloca.c: Include "verify.h".
19589         (verify1): Remove, replacing with a verify call.
19590         * lib/relocwrapper.c (verify1): Likewise.
19591         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
19592         Likewise.
19593         * modules/malloca (Depends-on): Add 'verify'.
19594         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
19595         * modules/vasnprintf (Depends-on): Add 'verify'.
19596         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19597         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19598         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19599         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19600         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19601         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19602         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19603
19604         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
19605
19606         Formerly the style was sometimes 2*X - 1, because the C standard
19607         was wrongly thought to disallow ?: in integral constant expressions.
19608         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
19609         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
19610         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19611         * lib/stdint.in.h (_verify_intmax_size): Likewise.
19612         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
19613         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
19614         verify that time_t cannot be floating.
19615
19616 2010-10-08  Eric Blake  <eblake@redhat.com>
19617
19618         time: enforce recent POSIX ruling that time_t is integral
19619         * lib/time.in.h (__time_t_must_be_integral): Detect any
19620         problematic systems, allowing the rest of gnulib to assume POSIX.
19621
19622 2010-10-08  Jim Meyering  <meyering@redhat.com>
19623
19624         fdopendir: fix a bug on systems lacking openat and /proc support
19625         OpenBSD 4.7 is one such system.  The most noticeable effect was
19626         failure of any application making nontrivial use of fts: rm, du,
19627         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
19628           ./rm: traversal failed: `a': Bad file descriptor
19629         Debugging that, you see that even though FD 6 was closed just
19630         prior to the opendir call in fd_clone_opendir, its resulting
19631         dir->dd_fd was 8, rather than the expected value of 6:
19632
19633         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
19634         93                close (fd);
19635         (gdb) n
19636         94                dir = fd_clone_opendir (dupfd);
19637         (gdb) n
19638         95                saved_errno = errno;
19639         (gdb) p dir->dd_fd
19640         $11 = 8
19641
19642         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
19643         The problem is that on OpenBSD, fd_clone_opendir has to resort
19644         to using the old-style save/restore CWD mechanism, due to its
19645         lack of openat/proc support, and *that* would steal the FD (6)
19646         that opendir was supposed to use.
19647
19648         The fix is to squirrel away the desired FD so that save_cwd uses a
19649         different one, and then free the dest FD right before calling opendir.
19650         That guarantees opendir will use the required file descriptor.
19651
19652         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
19653
19654 2010-10-08  Bruno Haible  <bruno@clisp.org>
19655
19656         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
19657         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
19658
19659 2010-10-08  Bruno Haible  <bruno@clisp.org>
19660
19661         nanosleep: Make replacement POSIX compliant.
19662         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
19663         is out of range.
19664         Reported by Jim Meyering.
19665
19666 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
19667
19668         bootstrap: add hook for altering gnulib.mk, for Bison
19669         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
19670         the Bison bootstrapping process can rewrite file names and variables
19671         in this file before later parts of 'bootstrap' use the file.
19672         Bison wants to include lib/gnulib.mk from the top-level makefile,
19673         so it needs the file names in this file to be relative to the top
19674         level, not relative to lib; plus it needs variable names to be
19675         rewritten.
19676         (slurp): Use the new function.
19677
19678         bootstrap: reformat for readability
19679         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
19680
19681 2010-10-08  Eric Blake  <eblake@redhat.com>
19682
19683         docs: update cygwin progress
19684         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
19685         1.7.7.
19686         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
19687         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
19688         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
19689         * doc/posix-functions/carg.texi (carg): Likewise.
19690         * doc/posix-functions/cargf.texi (cargf): Likewise.
19691         * doc/posix-functions/casin.texi (casin): Likewise.
19692         * doc/posix-functions/casinf.texi (casinf): Likewise.
19693         * doc/posix-functions/casinh.texi (casinh): Likewise.
19694         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
19695         * doc/posix-functions/catan.texi (catan): Likewise.
19696         * doc/posix-functions/catanf.texi (catanf): Likewise.
19697         * doc/posix-functions/catanh.texi (catanh): Likewise.
19698         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
19699         * doc/posix-functions/ccos.texi (ccos): Likewise.
19700         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
19701         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
19702         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
19703         * doc/posix-functions/cexp.texi (cexp): Likewise.
19704         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
19705         * doc/posix-functions/cimag.texi (cimag): Likewise.
19706         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
19707         * doc/posix-functions/clog.texi (clog): Likewise.
19708         * doc/posix-functions/clogf.texi (clogf): Likewise.
19709         * doc/posix-functions/conj.texi (conj): Likewise.
19710         * doc/posix-functions/conjf.texi (conjf): Likewise.
19711         * doc/posix-functions/cpow.texi (cpow): Likewise.
19712         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
19713         * doc/posix-functions/cproj.texi (cproj): Likewise.
19714         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
19715         * doc/posix-functions/creal.texi (creal): Likewise.
19716         * doc/posix-functions/crealf.texi (crealf): Likewise.
19717         * doc/posix-functions/csin.texi (csin): Likewise.
19718         * doc/posix-functions/csinf.texi (csinf): Likewise.
19719         * doc/posix-functions/csinh.texi (csinh): Likewise.
19720         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
19721         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
19722         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
19723         * doc/posix-functions/ctan.texi (ctan): Likewise.
19724         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
19725         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
19726         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
19727         * doc/posix-headers/complex.texi (complex.h): Likewise.
19728
19729 2010-10-07  Jim Meyering  <meyering@redhat.com>
19730
19731         parse-datetime: avoid compilation failure on OpenBSD 4.7
19732         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
19733         This works around a compilation failure on OpenBSD 4.7:
19734         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
19735
19736 2010-10-07  Eric Blake  <eblake@redhat.com>
19737
19738         docs: update cygwin progress
19739         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
19740         1.7.6.
19741         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
19742         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
19743         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
19744         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
19745         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
19746         Likewise.
19747         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
19748         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
19749         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
19750         Likewise.
19751         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
19752         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
19753         Likewise.
19754         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
19755         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
19756         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
19757         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
19758         Likewise.
19759         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
19760         Likewise.
19761         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
19762
19763         docs: update parse-datetime history
19764         * doc/parse-datetime.texi (Authors of parse_datetime): Better
19765         documentation of this function's history and alternatives.
19766
19767         cygwin: use more robust version check
19768         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
19769         exclude an eventual cygwin 1.9.1.
19770         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19771         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
19772         (gl_FUNC_STRCASESTR): Likewise.
19773         Reported by Bruno Haible.
19774
19775 2010-10-06  Bruno Haible  <bruno@clisp.org>
19776
19777         string, sys_select: Avoid #including large headers unless necessary.
19778         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
19779         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
19780         OSF/1, BeOS, Haiku.
19781         Reported by Jim Meyering.
19782
19783 2010-10-05  Eric Blake  <eblake@redhat.com>
19784
19785         memmem, strstr, strcasestr: fix bug with long periodic needle
19786         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
19787         periodic needle having false positive.
19788         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
19789         and cygwin 1.7.7.
19790         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
19791         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
19792         (gl_FUNC_STRCASESTR): Likewise.
19793         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19794         * tests/test-memmem.c (main): Expose the bug.
19795         * tests/test-strcasestr.c (main): Likewise.
19796         * tests/test-strstr.c (main): Likewise.
19797         * tests/test-c-strcasestr.c (main): Likewise.
19798         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
19799         * doc/posix-functions/strstr.texi (strstr): Likewise.
19800         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19801         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
19802
19803 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19804
19805         parse-datetime: do some more renaming
19806         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
19807         parse_datetime, not get_date.  Mention the renaming.
19808         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
19809         in comments.
19810         * m4/bison.m4: Likewise.
19811
19812 2010-10-05  Eric Blake  <eblake@redhat.com>
19813
19814         parse-datetime: better name than get_date
19815         * NEWS: Reword the deprecation notice.
19816         * modules/get_date: Rename to modules/parse-datetime.
19817         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
19818         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
19819         * lib/get_date.y: Rename to lib/parse-datetime.y.
19820         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
19821         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
19822         * doc/getdate.texi: Provide fallback wrapper.
19823         * lib/getdate.h: Move guts, and wrap...
19824         * lib/parse-datetime.h: ...new file.
19825         * lib/parse-datetime.y (get_date): Rename...
19826         (parse_datetime): ...to this.
19827         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
19828         (gl_PARSE_DATETIME): ...to this.
19829         * doc/posix-functions/getdate.texi (get_date): Provide fallback
19830         documentation.
19831         * modules/getdate (Files): Provide fallback docs and header.
19832         (Notice, Depends-on): Update references.
19833         * tests/test-parse-datetime.c: Likewise.
19834         * DEPENDENCIES: Likewise.
19835         * MODULES.html.sh (Date and time <time.h>): Likewise.
19836         * doc/parse-datetime.texi (Date input formats)
19837         (Authors of parse_datetime): Likewise.
19838         * modules/parse-datetime (Files, configure.ac, Makefile.am)
19839         (Include): Likewise.
19840         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
19841         * gnulib-tool: Likewise.
19842         * m4/bison.m4 (gl_BISON): Likewise.
19843         Suggested by Bruno Haible.
19844
19845 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19846
19847         more ports to Solaris tr, which needs [] around ranges
19848         * gnulib-tool: Solaris tr needs [] around ranges.
19849         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
19850         * tests/test-pipe-filter-gi1.c (main): Likewise.
19851         * tests/test-pipe-filter-ii1.c (main): Likewise.
19852
19853 2010-10-05  Eric Blake  <eblake@redhat.com>
19854
19855         bootstrap: fix Solaris regression
19856         * build-aux/bootstrap (check_versions): Solaris tr still needs []
19857         around ranges.
19858         Reported by Pádraig Brady.
19859
19860         bootstrap: work with pkg-config
19861         * build-aux/bootstrap (check_versions): Also transliterate - in
19862         prerequisite name.
19863         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
19864         prerequisites that were already found, to avoid confusion.
19865         Reported by Justin Clift.
19866
19867         faccessat: remove unused wrappers
19868         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
19869         presence of these wrappers dragged in -lgen on Solaris.
19870         Reported by Clemens Brogi; fix suggested by Paul Eggert.
19871
19872 2010-10-05  Jim Meyering  <meyering@redhat.com>
19873
19874         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
19875         * Makefile (sc_pragma_columns): New syntax-check rule.
19876
19877 2010-10-04  Bruno Haible  <bruno@clisp.org>
19878
19879         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
19880         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
19881         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
19882         Reported by Bruce Korb and Eric Blake.
19883
19884 2010-10-04  Bruno Haible  <bruno@clisp.org>
19885
19886         threadlib: Make option --with-libpth-prefix work.
19887         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
19888         use $LIBPTH, not just -lpth.
19889
19890 2010-10-04  Bruno Haible  <bruno@clisp.org>
19891
19892         Avoid line length limitation from HP NonStop system header files.
19893         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
19894         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
19895         * lib/ctype.in.h: Likewise.
19896         * lib/dirent.in.h: Likewise.
19897         * lib/errno.in.h: Likewise.
19898         * lib/fcntl.in.h: Likewise.
19899         * lib/float.in.h: Likewise.
19900         * lib/getopt.in.h: Likewise.
19901         * lib/iconv.in.h: Likewise.
19902         * lib/inttypes.in.h: Likewise.
19903         * lib/langinfo.in.h: Likewise.
19904         * lib/locale.in.h: Likewise.
19905         * lib/math.in.h: Likewise.
19906         * lib/netdb.in.h: Likewise.
19907         * lib/netinet_in.in.h: Likewise.
19908         * lib/poll.in.h: Likewise.
19909         * lib/pthread.in.h: Likewise.
19910         * lib/pty.in.h: Likewise.
19911         * lib/sched.in.h: Likewise.
19912         * lib/se-selinux.in.h: Likewise.
19913         * lib/search.in.h: Likewise.
19914         * lib/signal.in.h: Likewise.
19915         * lib/spawn.in.h: Likewise.
19916         * lib/stdarg.in.h: Likewise.
19917         * lib/stddef.in.h: Likewise.
19918         * lib/stdint.in.h: Likewise.
19919         * lib/stdio.in.h: Likewise.
19920         * lib/stdlib.in.h: Likewise.
19921         * lib/string.in.h: Likewise.
19922         * lib/strings.in.h: Likewise.
19923         * lib/sys_file.in.h: Likewise.
19924         * lib/sys_ioctl.in.h: Likewise.
19925         * lib/sys_select.in.h: Likewise.
19926         * lib/sys_socket.in.h: Likewise.
19927         * lib/sys_stat.in.h: Likewise.
19928         * lib/sys_time.in.h: Likewise.
19929         * lib/sys_times.in.h: Likewise.
19930         * lib/sys_utsname.in.h: Likewise.
19931         * lib/sys_wait.in.h: Likewise.
19932         * lib/sysexits.in.h: Likewise.
19933         * lib/termios.in.h: Likewise.
19934         * lib/time.in.h: Likewise.
19935         * lib/unistd.in.h: Likewise.
19936         * lib/wchar.in.h: Likewise.
19937         * lib/wctype.in.h: Likewise.
19938         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
19939         * modules/ctype (Makefile.am): Likewise.
19940         * modules/dirent (Makefile.am): Likewise.
19941         * modules/errno (Makefile.am): Likewise.
19942         * modules/fcntl-h (Makefile.am): Likewise.
19943         * modules/float (Makefile.am): Likewise.
19944         * modules/getopt-posix (Makefile.am): Likewise.
19945         * modules/iconv-h (Makefile.am): Likewise.
19946         * modules/inttypes (Makefile.am): Likewise.
19947         * modules/langinfo (Makefile.am): Likewise.
19948         * modules/locale (Makefile.am): Likewise.
19949         * modules/math (Makefile.am): Likewise.
19950         * modules/netdb (Makefile.am): Likewise.
19951         * modules/netinet_in (Makefile.am): Likewise.
19952         * modules/poll-h (Makefile.am): Likewise.
19953         * modules/pthread (Makefile.am): Likewise.
19954         * modules/pty (Makefile.am): Likewise.
19955         * modules/sched (Makefile.am): Likewise.
19956         * modules/search (Makefile.am): Likewise.
19957         * modules/selinux-h (Makefile.am): Likewise.
19958         * modules/signal (Makefile.am): Likewise.
19959         * modules/spawn (Makefile.am): Likewise.
19960         * modules/stdarg (Makefile.am): Likewise.
19961         * modules/stddef (Makefile.am): Likewise.
19962         * modules/stdint (Makefile.am): Likewise.
19963         * modules/stdio (Makefile.am): Likewise.
19964         * modules/stdlib (Makefile.am): Likewise.
19965         * modules/string (Makefile.am): Likewise.
19966         * modules/strings (Makefile.am): Likewise.
19967         * modules/sys_file (Makefile.am): Likewise.
19968         * modules/sys_ioctl (Makefile.am): Likewise.
19969         * modules/sys_select (Makefile.am): Likewise.
19970         * modules/sys_socket (Makefile.am): Likewise.
19971         * modules/sys_stat (Makefile.am): Likewise.
19972         * modules/sys_time (Makefile.am): Likewise.
19973         * modules/sys_times (Makefile.am): Likewise.
19974         * modules/sys_utsname (Makefile.am): Likewise.
19975         * modules/sys_wait (Makefile.am): Likewise.
19976         * modules/sysexits (Makefile.am): Likewise.
19977         * modules/termios (Makefile.am): Likewise.
19978         * modules/time (Makefile.am): Likewise.
19979         * modules/unistd (Makefile.am): Likewise.
19980         * modules/wchar (Makefile.am): Likewise.
19981         * modules/wctype (Makefile.am): Likewise.
19982
19983 2010-10-04  Bruno Haible  <bruno@clisp.org>
19984
19985         read-file tests: Avoid a test failure on NonStop Kernel.
19986         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
19987         a regular file.
19988         Reported by Joachim Schmitz <schmitz@hp.com>.
19989
19990 2010-10-03  Bruno Haible  <bruno@clisp.org>
19991
19992         gnulib-tool: Fixes for --create-testdir with --libtool.
19993         * gnulib-tool (func_get_automake_snippet): Don't augment
19994         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
19995         an executable.
19996         (func_create_testdir): Handle module 'alloca' like func_import.
19997         Reported by Bruce Korb <bruce.korb@gmail.com>.
19998
19999 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
20000
20001         Avoid some lines longer than 80 characters.
20002         * lib/stdint.in.h: Break long comment lines.
20003         * lib/math.in.h: Likewise.
20004         (_GL_NUM_UINT_WORDS): New macro, for readability.
20005         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
20006         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
20007         * lib/stdlib.in.h: Likewise.
20008         * lib/spawn.in.h: Likewise.
20009         * lib/sys_socket.in.h: Update an URL.
20010         * lib/sys_stat.in.h: Break long line.
20011
20012 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
20013
20014         Improve pmccabe2html.
20015         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
20016         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
20017         when the sources change. Remove the line in the HTML about "Used
20018         ranges" (which implied that there might be other unused ranges),
20019         rename "Resume" to "Summary" (easier to understand for more users).
20020         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
20021         styles, and some unnecessary blank lines.
20022
20023 2010-10-03  Bruno Haible  <bruno@clisp.org>
20024             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
20025
20026         acl: Add support for ACLs on NonStop Kernel.
20027         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
20028         Check whether the function aclsort() exists.
20029         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
20030         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
20031         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
20032         (acl_nontrivial [HAVE_ACLSORT]: New function.
20033         (file_has_acl): Implement for NonStop Kernel.
20034         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
20035         (qset_acl): Implement for NonStop Kernel.
20036         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
20037         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
20038         (main): Implement for NonStop Kernel.
20039         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
20040         Kernel. Handle this flavor.
20041         * tests/test-set-mode-acl.sh: Likewise.
20042         * tests/test-copy-acl.sh: Likewise.
20043         * tests/test-copy-file.sh: Likewise.
20044
20045 2010-10-03  Bruno Haible  <bruno@clisp.org>
20046
20047         Info about ACLs on NonStop Kernel.
20048         * doc/acl-resources.txt: Add info about NonStop Kernel.
20049         References by Joachim Schmitz <schmitz@hp.com>.
20050
20051 2010-10-02  Bruno Haible  <bruno@clisp.org>
20052
20053         Define missing EDQUOT on NonStop Kernel.
20054         * lib/errno.in.h (EDQUOT): Assign a value if missing.
20055         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
20056         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
20057         missing.
20058         * doc/posix-headers/errno.texi: Mention the NSK bug.
20059         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
20060         Reported by Joachim Schmitz <schmitz@hp.com>.
20061
20062 2010-10-02  Bruno Haible  <bruno@clisp.org>
20063
20064         Update doc for POSIX:2008.
20065         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
20066         Update URL of POSIX specification.
20067
20068 2010-10-02  Bruno Haible  <bruno@clisp.org>
20069
20070         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
20071         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
20072         from gnulib, not from Automake.
20073
20074 2010-10-02  Bruno Haible  <bruno@clisp.org>
20075
20076         New module 'system-posix'.
20077         * modules/system-posix: New file.
20078         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
20079         module is present.
20080         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
20081         GNULIB_SYSTEM_POSIX.
20082         * modules/stdlib (Depends-on): Remove sys_wait.
20083         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
20084         * doc/posix-functions/system.texi: Mention the new module.
20085         * doc/posix-headers/stdlib.texi: Likewise.
20086         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
20087         define test_sys_wait_macros to a no-op.
20088         Reported by Sam Steingold <sds@gnu.org>.
20089
20090 2010-09-30  Bruno Haible  <bruno@clisp.org>
20091
20092         More renaming from 'getdate' to 'get_date'.
20093         * doc/get_date.texi: Renamed from doc/getdate.texi.
20094         * modules/get_date (Files): Update.
20095         * MODULES.html.sh (Date and time <time.h>): Update.
20096         * DEPENDENCIES: Update.
20097         * gnulib-tool: Update comment.
20098         * m4/bison.m4 (gl_BISON): Likewise.
20099         * m4/get_date.m4 (gl_GET_DATE): Likewise.
20100
20101 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
20102
20103         bootstrap: support ACLOCAL_FLAGS during aclocal
20104         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
20105         can add additional -I dir for third-party .m4 files.
20106
20107 2010-09-30  Eric Blake  <eblake@redhat.com>
20108
20109         bootstrap: use glibtoolize on MacOS
20110         * build-aux/bootstrap (check_versions): Convert libtool into
20111         libtoolize.
20112         (tool search): Move libtool check earlier, and look for
20113         glibtoolize for MacOS.
20114         (gnulib_tool_options): Auto-add --libtool when appropriate.
20115         Reported by Justin Clift.
20116
20117         poll: fix typo that broke test on MacOS
20118         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
20119         Reported by Justin Clift.
20120
20121         getdate: rename to get_date
20122         Note: getdate.h is not renamed, to minimize client impact.
20123         * modules/getdate: Mark obsolete.  Move old contents...
20124         * modules/get_date: ...to new module name.
20125         * modules/getdate-tests: Move...
20126         * modules/get_date-tests: ...here.
20127         * m4/getdate.m4: Move...
20128         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
20129         * lib/getdate.y: Move...
20130         * lib/get_date.y: ...here.
20131         * tests/test-getdate.c: Move...
20132         * tests/test-get_date.c: ...here.
20133         * doc/posix-functions/getdate.texi (getdate): Update name.
20134         * NEWS: Mention the change.
20135
20136 2010-09-29  Bruno Haible  <bruno@clisp.org>
20137
20138         Separate the module 'waitpid' from the module 'sys_wait'.
20139         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
20140         present.
20141         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
20142         gl_MODULE_INDICATOR_FOR_TESTS.
20143         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
20144         * modules/sys_wait (Depends-on): Remove waitpid.
20145         (Makefile.am): Substitute GNULIB_WAITPID.
20146         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
20147         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
20148         signature only if the 'waitpid' module is present.
20149         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
20150         * NEWS: Mention the change.
20151         * modules/grantpt (Depends-on): Add waitpid.
20152         * modules/wait-process (Depends-on): Likewise.
20153
20154 2010-09-29  Bruno Haible  <bruno@clisp.org>
20155
20156         More tests for module 'sys_wait'.
20157         * modules/sys_wait-c++-tests: New file.
20158         * tests/test-sys_wait-c++.cc: New file.
20159         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
20160         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
20161
20162 2010-09-29  Bruno Haible  <bruno@clisp.org>
20163
20164         New module 'waitpid'.
20165         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
20166         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
20167         Don't include <process.h>.
20168         (waitpid): Declare only, using modern idiom.
20169         * m4/waitpid.m4: New file.
20170         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
20171         * modules/waitpid: New file.
20172         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
20173         (Makefile.am): Update.
20174         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
20175
20176 2010-09-28  Bruno Haible  <bruno@clisp.org>
20177
20178         poll: Assume ANSI C.
20179         * lib/poll.c (poll): Use an ANSI C declaration.
20180
20181 2010-09-28  Bruno Haible  <bruno@clisp.org>
20182
20183         poll-h: Create poll.h on all platforms.
20184         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
20185         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
20186         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
20187         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
20188         (gl_REPLACE_POLL_H): Don't set POLL_H.
20189         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
20190         * modules/poll-h (Depends-on): Add include_next.
20191         (Makefile.am): Create poll.h unconditionally. Substitute also
20192         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
20193
20194 2010-09-28  Bruno Haible  <bruno@clisp.org>
20195
20196         Tests for module 'poll-h'.
20197         * modules/poll-h-c++-tests: New file.
20198         * tests/test-poll-h-c++.cc: New file.
20199
20200         Tests for module 'poll-h'.
20201         * modules/poll-h-tests: New file.
20202         * tests/test-poll-h.c: New file.
20203
20204 2010-09-28  Bruno Haible  <bruno@clisp.org>
20205
20206         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
20207         * modules/poll-h (Depends-on): Add 'extensions'.
20208
20209 2010-09-28  Bruno Haible  <bruno@clisp.org>
20210
20211         New module 'poll-h'.
20212         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
20213         (poll): Use modern idiom.
20214         * modules/poll-h: New file.
20215         * modules/poll (Files): Remove lib/poll.in.h.
20216         (Depends-on): Add poll-h.
20217         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
20218         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
20219         * m4/poll_h.m4: New file.
20220         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
20221         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
20222         and invoke gl_REPLACE_POLL_H.
20223         * lib/poll.c: Use common idiom.
20224         * tests/test-poll.c: Likewise.
20225         * doc/posix-headers/poll.texi: Mention the poll-h module.
20226         Suggested by Eric Blake.
20227
20228 2010-09-26  Bruno Haible  <bruno@clisp.org>
20229
20230         sys_wait: Implement WSTOPSIG.
20231         * lib/sys_wait.in.h (WSTOPSIG): New macro.
20232         Reported by Simon Josefsson.
20233
20234 2010-09-26  Simon Josefsson  <simon@josefsson.org>
20235
20236         stdlib, sys_wait: Avoid compilation error on mingw.
20237         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
20238
20239 2010-09-26  Bruno Haible  <bruno@clisp.org>
20240
20241         stdlib tests: Avoid code duplication.
20242         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
20243         * modules/sys_wait-tests (Files): Likewise.
20244         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
20245         * tests/test-stdlib.c: Include test-sys_wait.h.
20246         (main): Invoke test_sys_wait_macros.
20247         * tests/test-sys_wait.c: Include test-sys_wait.h.
20248         (main): Invoke test_sys_wait_macros.
20249
20250 2010-09-25  Simon Josefsson  <simon@josefsson.org>
20251
20252         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
20253         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
20254         sure Windows sockets are working before calling getaddrinfo.
20255         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
20256         * doc/gnulib.texi (Windows sockets): Fix typo.
20257
20258 2010-09-25  Bruno Haible  <bruno@clisp.org>
20259
20260         Tests for module 'regex-quote'.
20261         * modules/regex-quote-tests: New file.
20262         * tests/test-regex-quote.c: New file.
20263
20264         New module 'regex-quote'.
20265         * lib/regex-quote.h: New file.
20266         * lib/regex-quote.c: New file.
20267         * modules/regex-quote: New file.
20268         Suggested by Reuben Thomas <rrt@sc3d.org>.
20269
20270 2010-09-24  Bruno Haible  <bruno@clisp.org>
20271
20272         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
20273         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
20274
20275 2010-09-23  Bruno Haible  <bruno@clisp.org>
20276
20277         setenv: Relax license.
20278         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
20279         Blake.
20280         Requested by Eric Blake.
20281
20282 2010-09-22  Bruno Haible  <bruno@clisp.org>
20283
20284         termios: Relax license.
20285         * modules/termios (License): Change to LGPLv2+.
20286         Requested by Eric Blake.
20287
20288 2010-09-22  Bruno Haible  <bruno@clisp.org>
20289
20290         threadlib: Allow the package to change the default to 'no'.
20291         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
20292         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
20293         Reported by Paul Eggert.
20294
20295 2010-09-22  Pádraig Brady  <P@draigbrady.com>
20296             Bruno Haible  <bruno@clisp.org>
20297
20298         Fix endless loop in mbmemcasecoll.
20299         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
20300         byte.
20301         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
20302
20303 2010-09-22  Bruno Haible  <bruno@clisp.org>
20304
20305         Tests for module 'memcoll'.
20306         * modules/memcoll-tests: New file.
20307         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
20308
20309         memcoll, xmemcoll: Clarify size vs. length.
20310         * modules/memcoll.c (memcoll0): Clarify specification.
20311         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
20312         passed to collate_error.
20313
20314 2010-09-22  Bruno Haible  <bruno@clisp.org>
20315
20316         Tests for module 'memcasecmp'.
20317         * modules/memcasecmp-tests: New file.
20318         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
20319
20320 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20321
20322         * lib/pthread.in.h: Add split double-inclusion guard, and include
20323         system <pthread.h> if there is one.  Use @@-style as in other
20324         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
20325         pthread.h doesn't.
20326         (pthread_mutexattr_destroy, pthread_mutexattr_init):
20327         (pthread_mutexattr_settype, pthread_mutex_trylock):
20328         New static inline functions, if there's no system <pthread.h>.
20329         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
20330         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
20331         Approximate with mutexes if the system lacks spinlocks, as in
20332         MacOS.
20333         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
20334         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
20335         @@-style.  Check for spinlocks separately.
20336         (gl_PTHREAD_DEFAULTS): New macro.
20337         * modules/pthread: Redo to use a more typical style for in.h files.
20338
20339 2010-09-21  Eric Blake  <eblake@redhat.com>
20340
20341         net_if: enhance tests
20342         * tests/test-net_if.c (main): Move signature checks earlier.
20343         Print failures to stderr.
20344         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
20345         Document the bug that we do not yet fix.
20346
20347 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
20348
20349         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
20350         about gnulib, not GSS.
20351
20352 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
20353
20354         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
20355         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
20356         for Emacs.
20357         * build-aux/pmccabe2html: Make Makefile.am example code more
20358         cut-and-paste friendly.
20359
20360 2010-09-21  Simon Josefsson  <simon@josefsson.org>
20361
20362         * tests/test-net_if.c: New file.
20363         * modules/net_if-tests: New file.
20364
20365 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
20366
20367         pthread: add pthread_spin_destroy
20368         * lib/pthread.in.h (pthread_spin_destroy): New function.
20369
20370 2010-09-19  Bruno Haible  <bruno@clisp.org>
20371
20372         gnulib-tool: Fix --help output.
20373         * gnulib-tool (func_usage): Fix help message.
20374         Reported by Reuben Thomas <rrt@sc3d.org>.
20375
20376 2010-09-18  Jim Meyering  <meyering@redhat.com>
20377
20378         maint.mk: avoid unexpanded \n in two diagnostics
20379         * top/maint.mk (sc_prohibit_always_true_header_tests):
20380         Don't use a literal \n in a halt=... assignment.  It would not be
20381         expanded, and the two \n bytes would appear in the diagnostic output
20382         rather than the desired newline.  Use halt=$$(printf ... instead.
20383         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
20384
20385 2010-09-18  Bruno Haible  <bruno@clisp.org>
20386
20387         netinet_in: Doc tweak.
20388         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
20389         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20390
20391 2010-09-18  Jim Meyering  <meyering@redhat.com>
20392
20393         init.sh: correct an outdated comment
20394         * tests/init.sh (create_exe_shims_):  s/function/alias/
20395
20396         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
20397         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
20398         a file named "*.exe" is removed between the glob expansion and the
20399         processing of that oddly named file.
20400
20401 2010-09-17  Eric Blake  <eblake@redhat.com>
20402
20403         mirbsd: add some more support
20404         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
20405         in BSD family.
20406         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
20407         devices as OpenBSD.
20408         * m4/host-os.m4 (mirbsd): Add MirBSD.
20409
20410         tests: fix unportable assumption on sys/wait.h
20411         * tests/test-sys_wait.c (main): Relax test.
20412         * tests/test-stdlib.c (main): Likewise.
20413
20414         init.sh: accomodate directory with no .exes
20415         * tests/init.sh: Accomodate directory containing only scripts.
20416
20417         tests: avoid compiler warning
20418         * tests/test-stdlib.c (main): Use the variable.
20419
20420         fdutimens, fdutimensat: update signature, again
20421         * lib/utimens.h (gl_futimens): Delete, and move signature...
20422         (fdutimens): ...here.
20423         (fdutimensat): Rearrange signature.
20424         (lutimensat): Rename variable for clarity.
20425         * lib/fdutimensat.c (fdutimensat): Update signature.
20426         * lib/utimens.c (fdutimens): Likewise.
20427         (gl_futimens): Delete.
20428         (utimens, lutimens): Update callers.
20429         * lib/futimens.c (futimens): Likewise.
20430         * tests/test-fdutimensat.c: Likewise.
20431         * tests/test-utimens.c: Likewise.
20432         * tests/test-futimens.h: Update comment.
20433         * NEWS: Mention this.
20434         Suggested by Paul Eggert.
20435
20436 2010-09-17  Bruno Haible  <bruno@clisp.org>
20437
20438         Take over the maintenance of some older macros from Autoconf.
20439         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
20440         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
20441         GNU Autoconf.
20442         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
20443         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
20444
20445 2010-09-17  Eric Blake  <eblake@redhat.com>
20446
20447         fdutimensat: drop atflag validation
20448         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
20449         with valid fd, to close a race scenario where futimens is
20450         unsupported and FILE was replaced by a symlink.
20451         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
20452         accordingly.
20453         Suggested by Paul Eggert.
20454
20455 2010-09-16  Bruno Haible  <bruno@clisp.org>
20456
20457         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
20458         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
20459
20460 2010-09-16  Bruno Haible  <bruno@clisp.org>
20461
20462         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
20463         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
20464         login_tty exists.
20465         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20466
20467 2010-09-16  Bruno Haible  <bruno@clisp.org>
20468
20469         login_tty: Make the replacement code work on BSD systems.
20470         * lib/login_tty.c: Include <sys/ioctl.h>.
20471         (login_tty): Use ioctl TIOCSCTTY when available.
20472         * modules/login_tty (Depends-on): Add sys_ioctl.
20473         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20474
20475 2010-09-16  Bruno Haible  <bruno@clisp.org>
20476
20477         login_tty: Stricter unit test.
20478         * modules/login_tty-tests (Depends-on): Add tcgetsid.
20479         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
20480         and tcgetsid() after login_tty.
20481         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20482
20483 2010-09-16  Bruno Haible  <bruno@clisp.org>
20484
20485         New module 'tcgetsid'.
20486         * lib/tcgetsid.c: New file.
20487         * m4/tcgetsid.m4: New file.
20488         * modules/tcgetsid: New file.
20489         * modules/termios (Depends-on): Add c++defs, warn-on-use.
20490         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
20491         GNULIB_TCGETSID, HAVE_TCGETSID.
20492         * lib/termios.in.h: Include <sys/types.h>.
20493         (tcgetsid): New declaration.
20494         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
20495         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
20496         * doc/posix-functions/tcgetsid.texi: Mention the new module.
20497         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
20498
20499 2010-09-16  Bruno Haible  <bruno@clisp.org>
20500
20501         Tests for module 'termios'.
20502         * modules/termios-c++-tests: New file.
20503         * modules/termios-tests: New file.
20504         * tests/test-termios-c++.cc: New file.
20505         * tests/test-termios.c: New file.
20506
20507         New module 'termios'.
20508         * modules/termios: New file.
20509         * lib/termios.in.h: New file.
20510         * m4/termios_h.m4: New file.
20511         * doc/posix-headers/termios.texi: Mention the new module.
20512
20513 2010-09-16  Eric Blake  <eblake@redhat.com>
20514
20515         fdutimensat: add an atflag parameter
20516         * lib/fdutimensat.c (fdutimensat): Add new parameter.
20517         * lib/utimens.h (fdutimensat): Update prototype.
20518         * tests/test-fdutimensat.c: Adjust test to match.
20519         * NEWS: Document the change.
20520         Suggested by Paul Eggert.
20521
20522 2010-09-16  Bruno Haible  <bruno@clisp.org>
20523
20524         Fix typos in comments.
20525         * lib/striconveh.h: Fix typo in comment.
20526         * lib/login_tty.c (login_tty): Likewise.
20527
20528 2010-09-15  Bruno Haible  <bruno@clisp.org>
20529
20530         stdlib: clarify MirBSD WEXITSTATUS bug
20531         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
20532         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
20533
20534 2010-09-15  Eric Blake  <eblake@redhat.com>
20535
20536         stdlib: work around MirBSD WEXITSTATUS bug
20537         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
20538         * modules/stdlib (Depends-on): Add sys_wait.
20539         * tests/test-sys_wait.c (main): Enhance test.
20540         * tests/test-stdlib.c (main): Likewise.
20541         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
20542
20543         docs: mention MacOS issue with WEXITSTATUS(constant)
20544         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
20545         issue.
20546         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
20547
20548         strnlen: add tests
20549         * modules/strnlen-tests: New file.
20550         * tests/test-strnlen.c: Likewise.
20551
20552 2010-09-14  Bruno Haible  <bruno@clisp.org>
20553
20554         unistr/base: Avoid link errors when module 'libunistring' is also used.
20555         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
20556         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
20557         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
20558         Declare also when HAVE_LIBUNISTRING is set.
20559         Reported by Pádraig Brady <P@draigbrady.com>.
20560
20561 2010-09-14  Eric Blake  <eblake@redhat.com>
20562
20563         test-rawmemchr: make more robust
20564         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
20565         (Depends-on, configure.ac): Add needed prerequisites to use it.
20566         * modules/memchr-tests (Files, Depends-on, configure.ac):
20567         Likewise, to avoid implicit reliance on memchr module prereqs.
20568         * tests/test-memchr.c (main): Ensure proper masking.
20569         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
20570         reads.
20571
20572         memchr: detect glibc Alpha bug
20573         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
20574         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
20575         Alpha.
20576         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
20577         * tests/test-memchr.c (main): Enhance test.
20578         Reported by Nelson H. F. Beebe.
20579
20580 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
20581
20582         fts, getcwd, glob: audit for dirfd returning -1
20583         * lib/fts.c (opendir): Remove #define; no longer used.
20584         (opendirat): New arg PDIR_FD.  All callers changed.
20585         (fts_build, _opendir2): Use new opendirat to avoid the need for
20586         dirfd, or for checking whether dirfd returns a negative value.
20587         Don't use opendir; always use openat followed by fdopendir.
20588         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
20589         it.
20590         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
20591         returns -1 here.
20592         * modules/fts (Depends-on): Remove dirfd.
20593         * modules/getcwd (Depends-on): Likewise.
20594
20595 2010-09-13  Eric Blake  <eblake@redhat.com>
20596
20597         float: fix broken MirBSD header
20598         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
20599         * doc/posix-headers/float.texi (float.h): Document it.
20600
20601 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
20602
20603         fts: use O_NOFOLLOW to avoid race condition when opening a directory
20604         * lib/fts.c (opendirat): New arg extra_flags.
20605         (__opendir2): Use it to avoid following symlinks when opening
20606         a directory, if symlinks are not supposed to be followed.  See
20607         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
20608
20609         fdopendir: preserve argument fd before returning
20610         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
20611         (fdopendir_with_dup, fd_clone_opendir): New static functions.
20612         (fdopendir): Use them, arranging for FD to be open to the same
20613         directory that it was when it started.  (It might be temporarily
20614         closed while fdopendir is running, so this not thread- or
20615         signal-safe.)  Be careful to do the right thing even when file
20616         descriptors are scarce and dup fails with errno == EMFILE.  See
20617         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
20618
20619 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
20620
20621         regex: Pass the system regex if its only problem is 32-bit regoff_t.
20622         * NEWS: Document change.
20623         * m4/regex.m4: Disable test for regoff_t size.
20624
20625 2010-09-13  Jim Meyering  <meyering@redhat.com>
20626
20627         fts: don't operate on an invalid file descriptor after failed dup
20628         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
20629         negative file descriptor.
20630
20631 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
20632
20633         savedir: add streamsavedir, deprecate fdsavedir
20634         * NEWS: Mention deprecation of fdsavedir.
20635         * lib/savedir.c (streamsavedir): New extern function, whose name
20636         ends in "savedir" to be consistent with the others.  This differs
20637         from savedirstream in that it doesn't close its argument.  The
20638         next version of GNU tar will use this instead of fdsavedir, to
20639         avoid some race conditions and conserve file descriptors.
20640         (savedirstream): Reimplement as a wrapper around streamsavedir.
20641         (fdsavedir): Add a comment deprecating this function.  As far as
20642         I know, only GNU tar used it, and GNU tar doesn't need it any more.
20643         * lib/savedir.h (streamsavedir): New decl.
20644         (fdsavedir): Add a comment deprecating this.
20645
20646 2010-09-10  Bruno Haible  <bruno@clisp.org>
20647
20648         langinfo: Fix last commit.
20649         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
20650         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
20651         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20652
20653 2010-09-10  Bruno Haible  <bruno@clisp.org>
20654
20655         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
20656         * lib/progreloc.c (O_EXEC): Define fallback.
20657
20658 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20659
20660         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
20661         * NEWS: Document recent changes to fcntl-h.
20662         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
20663         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
20664         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
20665         Similarly for O_SEARCH; this last was already true, but not documented.
20666         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
20667         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
20668         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
20669         Likewise.
20670         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
20671         is zero, not whether it is defined.
20672         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
20673         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
20674         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
20675
20676 2010-09-10  Bruno Haible  <bruno@clisp.org>
20677
20678         langinfo, nl_langinfo: Fix for IRIX 5.3.
20679         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
20680         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
20681         HAVE_LANGINFO_YESEXPR.
20682         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
20683         HAVE_LANGINFO_YESEXPR.
20684         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
20685         HAVE_LANGINFO_T_FMT_AMPM is 0.
20686         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
20687         HAVE_LANGINFO_YESEXPR is 0.
20688         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
20689         NOEXPR.
20690         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
20691         * doc/posix-functions/nl_langinfo.texi: Likewise.
20692         Reported by Eric Blake.
20693
20694 2010-09-10  Bruno Haible  <bruno@clisp.org>
20695
20696         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
20697         * doc/glibc-functions/login_tty.texi: Mention the include file problem
20698         on FreeBSD 8.0 and OpenBSD 4.6.
20699         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
20700         * m4/pty_h.m4 (gl_PTY_H): Likewise.
20701         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
20702         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
20703         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
20704         ac_includes_default.
20705         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20706
20707 2010-09-09  Eric Blake  <eblake@redhat.com>
20708
20709         strsignal: work around NetBSD bug
20710         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
20711         * lib/string.in.h (includes): Likewise.
20712         * doc/posix-functions/strsignal.texi (strsignal): Document the
20713         bug.
20714         Reported by Nelson H. F. Beebe.
20715
20716         gnulib-tool: work with NetBSD /bin/sh
20717         * gnulib-tool (func_cache_var, func_cache_lookup_module)
20718         (func_get_description, func_get_comment, func_get_status)
20719         (func_get_notice, func_get_applicability, func_get_filelist)
20720         (func_get_dependencies, func_get_autoconf_early_snippet)
20721         (func_get_autoconf_snippet, func_get_automake_snippet)
20722         (func_get_include_directive, func_get_link_directive)
20723         (func_get_license, func_get_maintainer, func_import): Avoid
20724         shell syntax errors from parsing syntax extensions.
20725
20726 2010-09-09  Bruno Haible  <bruno@clisp.org>
20727
20728         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
20729         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
20730         a reliable way to determine whether the 'alias' command works.
20731
20732 2010-09-08  Jim Meyering  <meyering@redhat.com>
20733
20734         init.sh: penalize a set-x-impaired shell; don't disqualify it
20735         * tests/init.sh: Too many shells corrupt application stderr when
20736         you set -x, so we can't afford to disqualify them, since at least
20737         on Irix-6.5, that would disqualify all bourne shells.
20738         Instead, use a two-pass approach.
20739         On the first pass, try to find a shell that meets the stricter
20740         condition that set -x does not corrupt stderr.
20741         If no shell meets the stricter condition, retest each candidate
20742         shell, but without that extra condition.  Finally, when
20743         VERBOSE=yes is requested and set -x might cause trouble, simply
20744         issue a warning and refrain from enabling debug output.
20745
20746 2010-09-08  Eric Blake  <eblake@redhat.com>
20747
20748         unsetenv: fix OpenBSD bug
20749         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
20750         * doc/posix-functions/unsetenv.texi (unsetenv): Update
20751         documentation.
20752         Reported by Jim Meyering.
20753
20754         strtod: work around IRIX 6.5 bug
20755         * lib/strtod.c (strtod): Reparse number on shorter string if
20756         exponent parse was invalid.
20757         * tests/test-strtod.c (main): Add check for "0x1p 2".
20758         Reported by Tom G. Christensen.
20759
20760         getopt: optimize previous patch
20761         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
20762         empty variable.  Speed up awk script.
20763         Reported by Paolo Bonzini.
20764
20765 2010-09-08  Jim Meyering  <meyering@redhat.com>
20766
20767         test.sh: disqualify shells for which set -x corrupts stderr
20768         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
20769         and OpenBSD 4.7.  They make it so with "set -x", environment settings
20770         appear in stderr output.  For example, this command:
20771             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
20772         prints "P=1" on those two systems:
20773
20774 2010-09-08  Bruno Haible  <bruno@clisp.org>
20775
20776         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
20777         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
20778         commands, because some shells ignore redirections when there is an
20779         error in the command lookup.
20780         Reported by Eric Blake.
20781
20782 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
20783
20784         * lib/regex.h: Fix a mention of `regex_compile' (should be
20785         `re_compile_pattern').
20786         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
20787         (re_set_registers): Correct name of parameter in comment.
20788
20789         * doc/regex.texi: Add documentation for missing syntax flags.
20790         Remove commented-out documentation of defunct syntax option
20791         RE_NO_EMPTY_ALTS.
20792         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
20793         Add documentation of re_set_registers.
20794         Document trick to re-use a pattern buffer by setting fastmap manually.
20795         Update documentation of struct re_pattern_buffer per public members.
20796         Uncomment documentation of equivalence class operators and
20797         collating symbol operators, since they are now implemented,
20798         Explain leftmost-longest matching in relation to alternatives.
20799         Tidy documentation of substring matching.
20800         Remove POSIX documentation, which is done better in
20801         glibc, and refer the reader there. Keep BSD API documentation, as
20802         that is not readily available elsewhere.
20803
20804 2010-09-07  Eric Blake  <eblake@redhat.com>
20805
20806         getopt: handle POSIXLY_CORRECT set but not exported
20807         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
20808         export state of POSIXLY_CORRECT, due to bash set -o posix.
20809         Reported by Dustin J. Mitchell.
20810
20811 2010-09-05  Bruno Haible  <bruno@clisp.org>
20812
20813         gnulib-tool: Highlight the changed options.
20814         * gnulib-tool (func_usage): Display the --import, --add-import,
20815         --remove-import explanations in bold font.
20816
20817 2010-09-06  Karl Berry  <karl@gnu.org>
20818
20819         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
20820
20821 2010-09-05  Bruno Haible  <bruno@clisp.org>
20822
20823         uniwidth/width: Update comment.
20824         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
20825         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
20826
20827 2010-09-05  Bruno Haible  <bruno@clisp.org>
20828
20829         isinf, isnan: Relax license.
20830         * modules/isinf (License): Change from GPL to LGPL, with consent from
20831         Ben Pfaff.
20832         * modules/isnan (License): Likewise.
20833         Requested by Ludovic Courtès.
20834
20835 2010-09-04  Bruno Haible  <bruno@clisp.org>
20836
20837         gnulib-tool: Help migration from --import to --add-import or --update.
20838         * gnulib-tool: Emit a verbose error message when --import is used
20839         without any module name.
20840
20841 2010-09-04  Bruno Haible  <bruno@clisp.org>
20842
20843         Update doc about gnulib-tool.
20844         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
20845         'gnulib-tool --update' in more detail.
20846         Reported by Eric Blake.
20847
20848 2010-09-04  Bruno Haible  <bruno@clisp.org>
20849
20850         gnulib-tool: Change --import. New options --add/remove-import.
20851         * gnulib-tool: New options --add-import, --remove-import.
20852         (func_usage): Document them.
20853         (have_associative): Define always.
20854         (func_import): In import mode, don't merge the specified settings with
20855         the cached settings. Implement remove-import mode.
20856         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
20857         Explain when to use them versus --import.
20858         (Simple update): Use --add-import instead of --import.
20859         * NEWS: Mention the change.
20860
20861 2010-09-04  Bruno Haible  <bruno@clisp.org>
20862
20863         * doc/gnulib-tool.texi (Initial import): Update paragraph about
20864         separate gnulib.mk.
20865
20866 2010-09-04  Bruno Haible  <bruno@clisp.org>
20867
20868         gnulib-tool: Don't talk about CVS any more.
20869         * gnulib-tool (func_usage, func_import): Write "version control"
20870         instead of CVS.
20871
20872 2010-09-04  Jim Meyering  <meyering@redhat.com>
20873
20874         maint.mk: avoid obscure sc_copyright_check failure in coreutils
20875         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
20876         false positives (whose names may be ill-chosen) when searching
20877         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
20878         would cause a false-positive.
20879
20880         avoid coreutils "make distcheck" failure
20881         Coreutils tests with an absolute build directory name that contains
20882         a space.  Not quoting this directory name caused a failure.
20883         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
20884         * tests/test-vc-list-files-cvs.sh: Likewise.
20885
20886 2010-09-04  Bruno Haible  <bruno@clisp.org>
20887
20888         gnulib-tool: Avoid error when run in a package without Makefile.am.
20889         * gnulib-tool: When collecting the m4dirs in a package that does not
20890         have a Makefile.am, eliminate those directories that contain no
20891         gnulib-cache.m4. Fix expression that counts these directories.
20892
20893 2010-09-04  Bruno Haible  <bruno@clisp.org>
20894
20895         update-copyright test: Improve output when perl is missing or too old.
20896         * tests/test-update-copyright.sh: Move test of Perl version down after
20897         the test whether Perl exists. Provide an explanation relating Perl's
20898         error message to Automake's SKIP: message.
20899
20900 2010-09-04  Bruno Haible  <bruno@clisp.org>
20901
20902         Don't augment PATH in TESTS_ENVIRONMENT.
20903         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
20904         set abs_aux_dir instead of augmenting PATH.
20905         * modules/vc-list-files-tests (Makefile.am): Likewise.
20906         * tests/test-update-copyright.sh: Augment PATH here.
20907         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
20908         path_prepend_.
20909         * tests/test-vc-list-files-git.sh: Likewise.
20910
20911 2010-09-04  Jim Meyering  <meyering@redhat.com>
20912
20913         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
20914         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
20915
20916 2010-09-04  Bruno Haible  <bruno@clisp.org>
20917
20918         strdup: Fix compilation error in C++ mode.
20919         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
20920         the macro.
20921
20922 2010-09-04  Bruno Haible  <bruno@clisp.org>
20923
20924         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
20925         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
20926         macro into a function.
20927         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20928
20929 2010-09-04  Bruno Haible  <bruno@clisp.org>
20930
20931         Set PATH_SEPARATOR the same way autoconf does.
20932         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
20933         the value of PATH_SEPARATOR the same way autoconf-generated configure
20934         scripts do.
20935         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
20936         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20937
20938 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20939
20940         Set PATH_SEPARATOR the same way autoconf does.
20941         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
20942         the same way autoconf-generated configure scripts do.
20943         * posix-modules: Likewise.
20944
20945 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20946
20947         hash: fix safe_hasher const typo
20948         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
20949         const; otherwise, there is a type error later.
20950
20951 2010-09-02  Jim Meyering  <meyering@redhat.com>
20952
20953         test-update-copyright.sh: require perl 5.8.0
20954         * tests/test-update-copyright.sh: Require 5.8.0,
20955         which Tom G. Christensen has confirmed is adequate,
20956         while 5.6.1 is not.
20957
20958 2010-09-02  Eric Blake  <eblake@redhat.com>
20959
20960         tests: init.sh improvements for re-exec'ing with zsh
20961         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
20962         -vx through shell re-exec.
20963         Reported by Tom G. Christensen.
20964
20965         wctype: fix typo in previous commit
20966         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
20967         Reported by Ludovic Courtès.
20968
20969 2010-09-02  Jim Meyering  <meyering@redhat.com>
20970
20971         test-update-copyright.sh: skip test if Perl is too old
20972         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
20973         Reported by Tom G. Christensen.
20974
20975 2010-09-02  Bruno Haible  <bruno@clisp.org>
20976
20977         wctype: Avoid compilation error on IRIX 6.5.30.
20978         * lib/wctype.in.h (iswblank): Declare with a replacement if
20979         REPLACE_ISWBLANK is set.
20980         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
20981         declared. Set REPLACE_ISWBLANK.
20982         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
20983         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
20984         * doc/posix-headers/wctype.texi: Likewise.
20985         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20986
20987 2010-09-01  Bruno Haible  <bruno@clisp.org>
20988
20989         New module 'socketlib'.
20990         * modules/socketlib: New file.
20991         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
20992         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
20993         * modules/sockets (Depends-on): Add socketlib.
20994         Suggested by Sam Steingold <sds@gnu.org>.
20995
20996 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20997
20998         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
20999
21000         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
21001         when one needs search access to a directory but not read access.
21002         On systems where it is available, it works in some cases where
21003         O_RDONLY does not, namely on directories that are searchable but
21004         not readable, and which need only to be searchable.  If O_SEARCH
21005         is not available, fall back to the traditional method of using
21006         O_RDONLY.
21007
21008         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
21009         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
21010         when opening a directory that needs only to be searchable.
21011         * lib/chdir-safer.c (chdir_no_follow): Likewise.
21012         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
21013         * lib/openat-proc.c (openat_proc_name): Likewise.
21014         * lib/openat.c (openat_needs_fchdir): Likewise.
21015         * lib/save-cwd.c (save_cwd): Likewise.
21016         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
21017
21018 2010-08-28  Bruno Haible  <bruno@clisp.org>
21019
21020         New module 'host-cpu-c-abi'.
21021         * modules/host-cpu-c-abi: New file.
21022         * m4/host-cpu-c-abi.m4: New file, based on part of
21023         clisp/src/m4/general.m4.
21024         Requested by Sam Steingold <sds@gnu.org>.
21025
21026 2010-08-31  Eric Blake  <eblake@redhat.com>
21027         and Jim Meyering  <meyering@redhat.com>
21028
21029         hash: factor, and guard against misbehaving hasher function
21030         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
21031         of table->hasher's return value.  Also protect against a hash value
21032         so large that adding it to table->bucket results in a NULL pointer.
21033         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
21034         Use it in place of open-coded check-and-abort.
21035
21036 2010-08-30  Bruno Haible  <bruno@clisp.org>
21037
21038         hash: silence spurious clang warning
21039         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
21040         Reported by Eric Blake.
21041
21042 2010-08-30  Eric Blake  <eblake@redhat.com>
21043
21044         strstr, memmem, strcasestr: avoid leaked shell message
21045         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
21046         FreeBSD.
21047         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21048         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21049
21050         tests: silence clang warning
21051         * tests/test-malloca.c (do_allocation): Avoid dead store.
21052
21053 2010-08-29  Bruno Haible  <bruno@clisp.org>
21054
21055         gettext: Fix recent mistake.
21056         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
21057
21058 2010-08-29  Bruno Haible  <bruno@clisp.org>
21059
21060         selinux-h: Offer a --without-selinux option.
21061         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
21062         --without-selinux was specified, skip all tests and define
21063         HAVE_SELINUX_SELINUX_H to 0.
21064         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
21065         set LIB_SELINUX to empty.
21066         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
21067         gl_LIBSELINUX. If --without-selinux was specified, replace
21068         selinux/context.h.
21069         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
21070
21071 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
21072             Bruno Haible  <bruno@clisp.org>
21073
21074         Make the module 'realloc-gnu' work again on AIX and OSF/1.
21075         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
21076         of HAVE_REALLOC.
21077         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
21078         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
21079         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
21080         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
21081
21082 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
21083             Bruno Haible  <bruno@clisp.org>
21084
21085         Make the module 'calloc-gnu' work again on AIX and OSF/1.
21086         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
21087         HAVE_CALLOC.
21088         * lib/xmalloc.c: Update accordingly.
21089         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
21090         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
21091         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
21092
21093 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
21094             Bruno Haible  <bruno@clisp.org>
21095
21096         Make the module 'malloc-gnu' work again on AIX and OSF/1.
21097         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
21098         HAVE_MALLOC.
21099         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
21100         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
21101         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
21102
21103 2010-08-29  Bruno Haible  <bruno@clisp.org>
21104
21105         Update modules list.
21106         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
21107         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
21108         (String handling <string.h>): Add astrxfrm.
21109         (File system functions): Add readlinkat.
21110
21111 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21112
21113         Tests for module 'realloc-gnu'.
21114         * modules/realloc-gnu-tests: New file.
21115         * tests/test-realloc-gnu.c: New file.
21116
21117         Tests for module 'calloc-gnu'.
21118         * modules/calloc-gnu-tests: New file.
21119         * tests/test-calloc-gnu.c: New file.
21120
21121         Tests for module 'malloc-gnu'.
21122         * modules/malloc-gnu-tests: New file.
21123         * tests/test-malloc-gnu.c: New file.
21124
21125 2010-08-28  Bruno Haible  <bruno@clisp.org>
21126
21127         Rename module 'realloc' -> 'realloc-gnu'.
21128         * modules/realloc-gnu: New file, copied from modules/realloc.
21129         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
21130         obsolete.
21131         * modules/mgetgroups (Depends-on): Update.
21132         * doc/posix-functions/realloc.texi: Update.
21133         * NEWS: Mention the change.
21134
21135         Rename module 'calloc' -> 'calloc-gnu'.
21136         * modules/calloc-gnu: New file, copied from modules/calloc.
21137         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
21138         obsolete.
21139         * doc/posix-functions/calloc.texi: Update.
21140         * NEWS: Mention the change.
21141
21142         Rename module 'malloc' -> 'malloc-gnu'.
21143         * modules/malloc-gnu: New file, copied from modules/malloc.
21144         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
21145         obsolete.
21146         * modules/argp (Depends-on): Update.
21147         * modules/regex (Depends-on): Update.
21148         * doc/posix-functions/malloc.texi: Update.
21149         * NEWS: Mention the change.
21150
21151 2010-08-28  Eric Blake  <eblake@redhat.com>
21152
21153         pread, pwrite: add missing dependency
21154         * modules/pread (Depends-on): Add extensions.
21155         * modules/pwrite (Depends-on): Likewise.
21156
21157 2010-08-28  Bruno Haible  <bruno@clisp.org>
21158
21159         unistr/u*-strchr: Fix tests dependencies.
21160         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
21161         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
21162         Reported by Ian Beckwith <ianb@erislabs.net>.
21163
21164 2010-08-28  Bruno Haible  <bruno@clisp.org>
21165
21166         read-file: Don't occupy too much unused memory.
21167         * lib/read-file.c (fread_file): Shrink the buffer at the end.
21168
21169 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
21170             Eric Blake  <eblake@redhat.com>
21171             Bruno Haible  <bruno@clisp.org>
21172
21173         read-file: Avoid memory reallocations with regular files.
21174         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
21175         (fread_file): With regular files, use the remaining length as the
21176         initial buffer size.  Check against overflow.
21177         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
21178         sys_stat.
21179
21180 2010-08-28  Bruno Haible  <bruno@clisp.org>
21181
21182         ftello: Relax license.
21183         * modules/ftello (License): Relax to LGPLv2+.
21184         Reported by Eric Blake.
21185
21186 2010-08-28  Bruno Haible  <bruno@clisp.org>
21187
21188         Avoid relocwrapper link errors due to gnulib replacement functions.
21189         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
21190         function.
21191         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21192
21193 2010-08-28  Bruno Haible  <bruno@clisp.org>
21194
21195         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
21196         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
21197         defined.
21198         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
21199         Suggested by Eric Blake.
21200
21201 2010-08-28  Bruno Haible  <bruno@clisp.org>
21202
21203         sys_socket, netdb: Ensure socklen_t gets defined.
21204         * modules/sys_socket (Depends-on): Add socklen.
21205         * modules/netdb (Depends-on): Likewise.
21206         * modules/getaddrinfo (Depends-on): Remove socklen.
21207         * modules/getsockopt (Depends-on): Likewise.
21208         * modules/setsockopt (Depends-on): Likewise.
21209         * tests/test-sys_socket.c: Check that socklen_t is defined.
21210         * tests/test-netdb.c: Likewise.
21211         * m4/socklen.m4: Update comments.
21212         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21213
21214 2010-08-27  Eric Blake  <eblake@redhat.com>
21215
21216         login_tty: add missing dependency
21217         * modules/login_tty (Depends-on): Add pty.
21218
21219 2010-08-26  Eric Blake  <eblake@redhat.com>
21220
21221         lib-symbol-versions: fix m4 quoting
21222         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
21223         format for AC_LINK_IFELSE.
21224
21225         glob: fix compile test
21226         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
21227
21228         btowc: fix missing file
21229         * modules/btowc (Files): Also ship locale-fr.m4.
21230
21231         lseek: fix link test
21232         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
21233         AC_LINK_IFELSE.
21234
21235         include_next: silence autoconf 2.68 warning
21236         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
21237         AC_COMPILE_IFELSE as special.
21238         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
21239         autoconf < 2.68.
21240
21241         acl: fix compilation test
21242         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
21243         AC_COMPILE_IFELSE.
21244
21245 2010-08-26  Bruno Haible  <bruno@clisp.org>
21246
21247         Modernize AC_TRY_RUN invocations.
21248         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
21249         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
21250         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
21251         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
21252         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
21253         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
21254         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21255         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
21256         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21257         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21258         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
21259         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21260         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
21261         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21262         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
21263         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21264         gl_MBRLEN_NUL_RETVAL): Likewise.
21265         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21266         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
21267         Likewise.
21268         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21269         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21270         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21271         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21272         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
21273         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
21274         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
21275         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
21276         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
21277         Likewise.
21278         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
21279         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
21280         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
21281         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
21282         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
21283         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
21284         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21285         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
21286         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21287         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
21288
21289 2010-08-26  Bruno Haible  <bruno@clisp.org>
21290
21291         Modernize AC_TRY_LINK invocations.
21292         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
21293         AC_TRY_LINK.
21294         * m4/argp.m4 (gl_ARGP): Likewise.
21295         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
21296         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
21297         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
21298         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
21299         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
21300         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
21301         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
21302         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
21303         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
21304         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
21305         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
21306         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
21307         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
21308         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21309         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
21310         * m4/hostent.m4 (gl_HOSTENT): Likewise.
21311         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21312         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
21313         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
21314         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
21315         Likewise.
21316         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
21317         Likewise.
21318         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
21319         Likewise.
21320         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
21321         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
21322         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
21323         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
21324         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
21325         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21326         * m4/servent.m4 (gl_SERVENT): Likewise.
21327         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
21328         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
21329         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
21330         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
21331         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
21332         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
21333         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
21334         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
21335         * modules/tsearch-tests (configure.ac): Likewise.
21336
21337 2010-08-26  Bruno Haible  <bruno@clisp.org>
21338
21339         Modernize AC_TRY_COMPILE invocations.
21340         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
21341         AC_TRY_COMPILE.
21342         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
21343         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
21344         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
21345         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
21346         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
21347         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
21348         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
21349         * m4/lock.m4 (gl_LOCK): Likewise.
21350         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
21351         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
21352         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
21353         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
21354         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
21355         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
21356         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
21357         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
21358         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
21359         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
21360         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
21361         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
21362         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
21363         extraneous semicolon.
21364
21365 2010-08-26  Jim Meyering  <meyering@redhat.com>
21366
21367         stat-time: relax license LGPL
21368         * modules/stat-time (License): Change from GPL to LGPL,
21369         with consent from all contributors, for use in libguile.
21370         Requested by Ludovic Courtès.
21371
21372 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
21373
21374         poll: return immediately on POLLHUP.
21375         * lib/poll.c (poll): Always set timeout before wait_timeout is
21376         computed.
21377
21378 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21379
21380         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
21381         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
21382         rmdir ("dir/.//"), unlinkat.
21383
21384 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21385
21386         stdbool: avoid spurious failure with modern xlc
21387         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
21388
21389 2010-08-24  Bruno Haible  <bruno@clisp.org>
21390
21391         getloadavg: simplify code
21392         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
21393         gl_have_func. Update comments.
21394
21395 2010-08-24  Eric Blake  <eblake@redhat.com>
21396
21397         getloadavg: don't define SVR4 on cygwin
21398         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
21399         only define SVR4 when -lkvm is required.
21400         Reported by Yaakov Selkowitz.
21401
21402 2010-08-24  Bruno Haible  <bruno@clisp.org>
21403
21404         priv-set: fix comment
21405         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
21406
21407 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
21408
21409         priv-set: fix comments
21410         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
21411         to match code, as suggested by David Bartley in:
21412         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
21413
21414 2010-08-23  Eric Blake  <eblake@redhat.com>
21415
21416         stdbool: avoid rejecting clang
21417         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
21418         * tests/test-stdbool.c: Enable more tests if using the system
21419         <stdbool.h> instead of the gnulib replacement.
21420         (main): Move xlc bug test to a runtime test for all compilers.
21421         Reported by Anders Kaseorg.
21422
21423         argz: fix shell quoting issue
21424         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
21425         Reported by Charles Wilson.
21426
21427 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
21428             Erik Faye-Lund <kusmabite@gmail.com>
21429
21430         poll, select: handle ERROR_BROKEN_PIPE.
21431         * lib/poll.c (win32_compute_revents): Return POLLHUP when
21432         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
21433         * lib/select.c (win32_compute_revents): Do not mark a pipe
21434         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
21435
21436 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
21437
21438         fts: allow compilation with C++
21439         * lib/fts_.h: Specify extern "C" linkage with C++.
21440
21441 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21442
21443         Fix gnulib-tool sed script de-commentation for AIX sed.
21444         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
21445         sed.
21446
21447 2010-08-17  Eric Blake  <eblake@redhat.com>
21448
21449         test-stddef: test for (some) offsetof bugs
21450         * tests/test-stddef.c: Enhance test to ensure correct type of
21451         offsetof.
21452         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
21453         that we are not fixing at this time.
21454
21455 2010-08-15  Bruno Haible  <bruno@clisp.org>
21456
21457         stpncpy: Allow stpncpy to be defined as a macro.
21458         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
21459         if it's already correctly declared.
21460         * lib/string.in.h (stpncpy): Undefine before redefining.
21461         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
21462
21463 2010-08-14  Bruno Haible  <bruno@clisp.org>
21464
21465         Rename module 'memxfrm' to 'amemxfrm'.
21466         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
21467         (amemxfrm): Renamed from memxfrm.
21468         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
21469         (amemxfrm): Renamed from memxfrm.
21470         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
21471         * NEWS: Mention the change.
21472         * MODULES.html.sh (String handling <string.h>): Update.
21473         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
21474         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
21475         * lib/unicase/u16-casexfrm.c: Likewise.
21476         * lib/unicase/u32-casexfrm.c: Likewise.
21477         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
21478         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
21479         * lib/uninorm/u16-normxfrm.c: Likewise.
21480         * lib/uninorm/u32-normxfrm.c: Likewise.
21481         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
21482         memxfrm.
21483         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
21484         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
21485         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
21486         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
21487         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
21488         Suggested by Paul Eggert.
21489
21490 2010-08-14  Bruno Haible  <bruno@clisp.org>
21491
21492         Tests for module 'astrxfrm'.
21493         * modules/astrxfrm-tests: New file.
21494         * tests/test-astrxfrm.c: New file.
21495
21496         New module 'astrxfrm'.
21497         * lib/astrxfrm.h: New file.
21498         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
21499         * modules/astrxfrm: New file.
21500
21501 2010-08-14  Reuben Thomas <rrt@sc3d.org>
21502
21503         regex: Tweak doc.
21504         * doc/regex.texi (Overview): Don't mention regex.c.
21505         (GNU Regular Expression Compiling): Likewise.
21506         (Match-end-of-line Operator): Mention 'not_eol'.
21507
21508 2010-08-14  Brian Gough  <bjg@gnu.org>
21509             Bruno Haible  <bruno@clisp.org>
21510
21511         git-merge-changelog: add doc relating to use with bzr and hg.
21512         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
21513
21514 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
21515
21516         pthread: fix pthread.h creation for srcdir != builddir
21517         * modules/pthread (Makefile.am): Fix the rule to work also in a
21518         non-srcdir build.
21519
21520 2010-08-13  Karl Berry  <karl@gnu.org>
21521
21522         * doc/regex.texi (Predefined Syntaxes): @smallexample.
21523         * doc/posix-*/*: force line break before @url of POSIX
21524         specifications.
21525         Suggested by Werner Lemberg.
21526
21527 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
21528
21529         strtod: fix const diagnostic
21530         * lib/strtod.c (strtod): Don't assign const char * to char *,
21531         as this elicits a warning from GCC when warnings are enabled.
21532
21533 2010-08-10  Pádraig Brady <P@draigbrady.com>
21534         and Eric Blake  <eblake@redhat.com>
21535
21536         copy-acl: ignore ENOTSUP on HP-UX
21537         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
21538         so that it is available for HP-UX.
21539         * lib/copy-acl.c (qcopy_acl): Use it.
21540         Reported by Patrick M. Callahan.
21541
21542 2010-08-10  Eric Blake  <eblake@redhat.com>
21543
21544         open, chown: relax license
21545         * modules/open (License): Change to LGPLv2+, with consent by all
21546         authors, for use in augeas.
21547         * modules/chown (License): Likewise.
21548         * modules/lchown (Likewise): Likewise.
21549         Requested by Adam Stokes.
21550
21551 2010-08-09  Karl Berry  <karl@gnu.org>
21552
21553         * build-aux/ar-lib: new file, import from Automake.
21554         * config/srclist.txt: autocheck for updates.
21555
21556 2010-08-09  Eric Blake  <eblake@redhat.com>
21557
21558         readlinkat: adjust client modules
21559         * modules/areadlinkat (Depends-on): Use readlinkat, not
21560         symlinkat.
21561         * modules/areadlinkat-with-size (Depends-on): Likewise.
21562
21563         mknod: be more vocal about danger of running tests as root
21564         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
21565         root, since that is just asking for problems.
21566         Suggested by Bruno Haible, based on a report by Rainer Tammer.
21567
21568         readlinkat: split into its own module
21569         * modules/symlinkat: Split readlinkat...
21570         * modules/readlinkat: ...into separate module.
21571         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
21572         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
21573         * lib/symlinkat.c (readlinkat): Move...
21574         * lib/readlinkat.c: ...into new file.
21575         * modules/symlinkat-tests: Split readlinkat test...
21576         * modules/readlinkat-tests: ...into separate module.
21577         * tests/test-symlinkat.c: Split...
21578         * tests/test-readlinkat.c: ...into new file.
21579         * NEWS: Document the split.
21580         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
21581         * lib/unistd.in.h (readlinkat): Likewise.
21582         Suggested by Bruno Haible.
21583
21584 2010-08-08  Bruno Haible  <bruno@clisp.org>
21585
21586         memxfrm: Speed up.
21587         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
21588         that usually only one call to strxfrm is necessary for each string
21589         part.
21590         Reported by Paul Eggert <eggert@cs.ucla.edu>.
21591
21592 2010-08-07  Karl Berry  <karl@gnu.org>
21593
21594         * doc/posix-headers/limits.texi,
21595         * doc/posix-functions/malloc.texi,
21596         * doc/posix-functions/strsignal.texi: missing @item.
21597         * doc/ld-version-script.texi: spurious leading i.
21598         * doc/regex.texi (Interval Operators): no commas inside @var.
21599
21600 2010-08-01  Bruno Haible  <bruno@clisp.org>
21601
21602         Integrate the regex documentation.
21603         * doc/gnulib.texi: Define 'cn' index.
21604         (Regular expressions): New a chapter that includes regex.texi and
21605         regexprops-generic.texi.
21606         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
21607         syntax.
21608
21609         Whitespace cleanup.
21610         * doc/regex.texi: Remove trailing spaces.
21611
21612         Add regex documentation.
21613         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
21614         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
21615         Written by Kathy A. Hargreaves and Karl Berry.
21616
21617 2010-08-01  Bruno Haible  <bruno@clisp.org>
21618
21619         link: Update documentation.
21620         * doc/posix-functions/link.texi: Update regarding Solaris.
21621
21622 2010-07-31  Bruno Haible  <bruno@clisp.org>
21623
21624         Update modules list.
21625         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
21626         (String handling <string.h>): Add memcmp2, memxfrm.
21627         (Container data structures): Add xlist, xsublist, xoset.
21628         (Core language properties): Add alignof, unused-parameter.
21629         (Process control, Numeric conversion functions <stdlib.h>): Renamed
21630         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
21631         (Unibyte characters <ctype.h>): New section.
21632         (String handling <string.h>): New section.
21633         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
21634         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
21635         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
21636         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
21637         tan, tanh, tanl, y0, y1, yn.
21638         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
21639         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
21640         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
21641         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
21642         unlockpt, vdprintf, vdprintf-posix.
21643         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
21644         (File system functions): Add concat-filename, sys_file, sys_ioctl,
21645         xconcat-filename.
21646         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
21647         getdtablesize, pipe2, pipe2-safer.
21648         (Security): New section.
21649         (Networking functions): Add accept4.
21650         (Signal handling): Add sigpipe.
21651         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
21652         mbmemcasecoll.
21653         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
21654         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
21655         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
21656         pipe-filter-ii.
21657         (Misc): Add argp-version-etc, login_tty, parse-duration.
21658
21659 2010-07-31  Bruno Haible  <bruno@clisp.org>
21660
21661         Improve doc in MODULES.html.
21662         * modules/linkat (Description): Add the word "function".
21663         * modules/mkfifo (Description): Likewise.
21664         * modules/mknod (Description): Likewise.
21665         * modules/remove (Description): Likewise.
21666         * modules/renameat (Description): Likewise.
21667         * modules/stat (Description): Likewise.
21668         * modules/symlink (Description): Likewise.
21669         * modules/unlink (Description): Likewise.
21670
21671 2010-07-31  Bruno Haible  <bruno@clisp.org>
21672
21673         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
21674         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
21675         option --enable/disable-c++ instead of --enable/disable-cxx.
21676         * NEWS: Mention the change.
21677
21678 2010-07-31  Bruno Haible  <bruno@clisp.org>
21679
21680         readlink, areadlink: Relax test a bit.
21681         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
21682         alternative to ENOTDIR.
21683         * tests/test-areadlink.h (test_areadlink): Likewise.
21684         Reported by Rainer Tammer.
21685
21686 2010-07-31  Bruno Haible  <bruno@clisp.org>
21687
21688         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
21689         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
21690         character, perform the search using U_STRCHR.
21691         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
21692         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
21693         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
21694         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
21695         Suggested by Paolo Bonzini.
21696
21697 2010-07-31  Bruno Haible  <bruno@clisp.org>
21698
21699         unistr/u*-strstr: Fix dependencies.
21700         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
21701         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
21702         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
21703
21704 2010-07-31  Bruno Haible  <bruno@clisp.org>
21705
21706         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
21707         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
21708         the beginning of the loop.
21709         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
21710         cases in 'switch' statement.
21711
21712         unistr/u8-strchr: Fix several bugs.
21713         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
21714         the string. When not found, return NULL, not a pointer near the end.
21715
21716         More tests for unistr/u8-strchr.
21717         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
21718         that the function does not read past the first occurrence of the byte
21719         being searched.
21720         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
21721         * tests/unistr/test-u16-strchr.c (main): New function.
21722         * tests/unistr/test-u32-strchr.c (main): New function.
21723
21724 2010-07-31  Bruno Haible  <bruno@clisp.org>
21725
21726         posix-modules: Ignore backup files of documentation files.
21727         * posix-modules: grep only through files named *.texi.
21728
21729 2010-07-31  Bruno Haible  <bruno@clisp.org>
21730
21731         symlinkat: Fix documentation.
21732         * doc/posix-functions/readlinkat.texi: Fix module name.
21733
21734 2010-07-31  Bruno Haible  <bruno@clisp.org>
21735
21736         fchownat: Replace also when chown has the trailing slash bug.
21737         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
21738         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
21739         introduced on 2010-04-10.
21740         Reported by Rainer Tammer.
21741
21742 2010-07-31  Bruno Haible  <bruno@clisp.org>
21743
21744         linkat: Work around AIX 7.1 bug.
21745         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
21746         whether linkat handles trailing slash correctly. If not, replace linkat
21747         and define LINKAT_TRAILING_SLASH_BUG.
21748         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
21749         check whether (fd1,file1) points to a directory if file1 or file2 ends
21750         in a slash. Code taken from lib/link.c.
21751         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
21752         Reported by Rainer Tammer.
21753
21754 2010-07-31  Bruno Haible  <bruno@clisp.org>
21755
21756         Correctly determine whether pow is available in libc on AIX 7 with xlc.
21757         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
21758         This disables an xlc optimization that was causing wrong test results.
21759         Reported by Rainer Tammer.
21760
21761 2010-07-31  Bruno Haible  <bruno@clisp.org>
21762
21763         iconv: Work around AIX 6.1..7.1 bug.
21764         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
21765         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
21766         cross-compiling, guess no on all versions of AIX.
21767         Reported by Rainer Tammer.
21768
21769 2010-07-31  Bruno Haible  <bruno@clisp.org>
21770
21771         readlink: Relax test a bit.
21772         * tests/test-readlink.h (test_readlink): Allow different errno value
21773         when readlink is called with a file name that ends in / and refers to
21774         a file.
21775         Suggested by Eric Blake.
21776         Reported by Rainer Tammer.
21777
21778 2010-07-31  Bruno Haible  <bruno@clisp.org>
21779
21780         copysign: Does not require -lm on glibc systems.
21781         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
21782         gl_COMMON_DOUBLE_MATHFUNC.
21783         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
21784
21785 2010-07-31  Bruno Haible  <bruno@clisp.org>
21786
21787         duplocale: Work around AIX 7.1 bug.
21788         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
21789         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
21790         * lib/duplocale.c (rpl_duplocale): Update comment.
21791         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
21792         Reported by Rainer Tammer.
21793
21794 2010-07-30  Bruno Haible  <bruno@clisp.org>
21795
21796         dirfd: Avoid link error on AIX 7.1.
21797         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
21798         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
21799         exist, set REPLACE_DIRFD.
21800         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
21801         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
21802         * doc/posix-functions/dirfd.texi: Update.
21803         Reported by Rainer Tammer.
21804
21805 2010-07-30  Eric Blake  <eblake@redhat.com>
21806
21807         strtod: next round of AIX fixes
21808         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
21809         exponent.
21810         * tests/test-strtod.c (main): Enhance tests.
21811         * doc/posix-functions/strtod.texi (strtod): Document next bug.
21812         Reported by Rainer Tammer.
21813
21814         futimens: fix configure check
21815         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
21816         Reported by Bruno Haible.
21817
21818 2010-07-30  Bruno Haible  <bruno@clisp.org>
21819
21820         getline: Update regarding AIX.
21821         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
21822         Reported by Rainer Tammer.
21823
21824 2010-07-30  Bruno Haible  <bruno@clisp.org>
21825
21826         wcwidth: Drop replacement on AIX 7.
21827         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
21828         AIX 7.
21829         Reported by Rainer Tammer.
21830
21831 2010-07-30  Bruno Haible  <bruno@clisp.org>
21832
21833         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
21834         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
21835         a 'char *'.
21836         Reported by Rainer Tammer.
21837
21838 2010-07-30  Bruno Haible  <bruno@clisp.org>
21839
21840         unlink: Update regarding AIX.
21841         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
21842         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
21843         Reported by Rainer Tammer.
21844
21845 2010-07-30  Bruno Haible  <bruno@clisp.org>
21846
21847         symlink: Update regarding AIX.
21848         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
21849         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
21850         Reported by Rainer Tammer.
21851
21852 2010-07-30  Bruno Haible  <bruno@clisp.org>
21853
21854         strndup: Update regarding AIX.
21855         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
21856         AIX 7.
21857         Reported by Rainer Tammer.
21858
21859 2010-07-30  Bruno Haible  <bruno@clisp.org>
21860
21861         stat: Update regarding AIX.
21862         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
21863         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
21864         Reported by Rainer Tammer.
21865
21866 2010-07-30  Bruno Haible  <bruno@clisp.org>
21867
21868         truncl: Fix autoconf test.
21869         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
21870         whether truncl works.
21871         Reported by Rainer Tammer.
21872
21873 2010-07-30  Bruno Haible  <bruno@clisp.org>
21874
21875         round: Update regarding AIX.
21876         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
21877         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
21878         Reported by Rainer Tammer.
21879
21880 2010-07-30  Bruno Haible  <bruno@clisp.org>
21881
21882         rename: Update regarding AIX.
21883         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
21884         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
21885         Reported by Rainer Tammer.
21886
21887 2010-07-30  Bruno Haible  <bruno@clisp.org>
21888
21889         printf.m4: Update regarding AIX.
21890         * m4/printf.m4: Update comments regarding AIX.
21891         Reported by Rainer Tammer.
21892
21893 2010-07-30  Bruno Haible  <bruno@clisp.org>
21894
21895         iconv: Update regarding AIX.
21896         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
21897         AIX 7.
21898         Reported by Rainer Tammer.
21899
21900 2010-07-30  Bruno Haible  <bruno@clisp.org>
21901
21902         getopt: Update regarding AIX.
21903         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
21904         no on AIX.
21905         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
21906         Reported by Rainer Tammer.
21907
21908 2010-07-30  Bruno Haible  <bruno@clisp.org>
21909
21910         ldexpl; Update regarding AIX.
21911         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
21912         on AIX 7.
21913         Reported by Rainer Tammer.
21914
21915 2010-07-30  Bruno Haible  <bruno@clisp.org>
21916
21917         frexpl: Update regarding AIX.
21918         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
21919         on AIX 7.
21920         Reported by Rainer Tammer.
21921
21922 2010-07-30  Bruno Haible  <bruno@clisp.org>
21923
21924         open, fopen: Update regarding AIX.
21925         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
21926         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
21927         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
21928         * doc/posix-functions/fopen.texi: Likewise.
21929         Reported by Rainer Tammer.
21930
21931 2010-07-30  Bruno Haible  <bruno@clisp.org>
21932
21933         chown: Update doc regarding AIX.
21934         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
21935         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
21936         Reported by Rainer Tammer.
21937
21938 2010-07-30  Eric Blake  <eblake@redhat.com>
21939
21940         strtod: fix bug in replacement function on AIX
21941         * lib/strtod.c (strtod): Special case broken "0x" parse in
21942         underlying strtod.
21943         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
21944         * doc/posix-functions/strtod.texi (strtod): Likewise.
21945         Reported by Rainer Tammer.
21946
21947 2010-07-30  Bruno Haible  <bruno@clisp.org>
21948
21949         mbrlen: Fix cross-compilation guess for AIX.
21950         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
21951         guess. Leftover from 2008-12-22.
21952
21953 2010-07-30  Bruno Haible  <bruno@clisp.org>
21954
21955         mbrtowc: Fix cross-compilation guess for AIX.
21956         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
21957         guess. Leftover from 2008-12-21.
21958
21959 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
21960
21961         init.sh: work around trap limitation of some shells
21962         * tests/init.sh (setup_): Move exit trap outside of shell function.
21963
21964 2010-07-29  Eric Blake  <eblake@redhat.com>
21965
21966         strtod: aid debugging
21967         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
21968         understanding why strtod is rejected.
21969
21970 2010-07-28  Bruno Haible  <bruno@clisp.org>
21971
21972         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
21973         * lib/unistr/u8-chr.c: Include <string.h>.
21974         * tests/unistr/test-u8-chr.c: Likewise.
21975         * tests/unistr/test-u16-chr.c: Likewise.
21976         * tests/unistr/test-u32-chr.c: Likewise.
21977         * tests/unistr/test-u8-strchr.c: Likewise.
21978         * tests/unistr/test-u16-strchr.c: Likewise.
21979         * tests/unistr/test-u32-strchr.c: Likewise.
21980         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
21981         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
21982         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
21983         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
21984
21985 2010-07-28  Bruno Haible  <bruno@clisp.org>
21986
21987         Use spaces for indentation, not tabs.
21988         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21989
21990 2010-07-27  Bruno Haible  <bruno@clisp.org>
21991
21992         mbspcasecmp: Fix function specification.
21993         * lib/string.in.h (mbspcasecmp): Fix specification comment.
21994         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
21995         Reported by Eric Blake <eblake@redhat.com>.
21996
21997 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
21998
21999         timespec: use cast and not conditional, as truncation isn't possible
22000         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
22001         instead of a conditional.  Comment about the situation in more detail.
22002         This undoes most of the 2009-10-29 patch.
22003
22004 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
22005
22006         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
22007         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
22008         * lib/unistr/u8-strchr.c: Likewise.
22009         * modules/unistr/u8-chr: Depend on memchr.
22010
22011         unistr/u*-strchr: add tests
22012         * modules/unistr/u8-strchr-tests: New file.
22013         * modules/unistr/u16-strchr-tests: New file.
22014         * modules/unistr/u32-strchr-tests: New file.
22015         * tests/unistr/test-strchr.h: New file.
22016         * tests/unistr/test-u8-strchr.c: New file.
22017         * tests/unistr/test-u16-strchr.c: New file.
22018         * tests/unistr/test-u32-strchr.c: New file.
22019
22020         unistr/u*-chr: test multibyte sequences more
22021         * tests/unistr/test-chr.h: Do complete testing of the characters in the
22022         test vector.
22023         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
22024         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
22025         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
22026
22027         unistr/u*-chr: test multibyte sequences
22028         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
22029
22030         unistr/u*-chr: prepare for multibyte tests
22031         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
22032         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
22033         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
22034         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
22035         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
22036         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
22037
22038 2010-07-18  Bruno Haible  <bruno@clisp.org>
22039
22040         unistr/u8-strchr: Optimize non-ASCII argument case.
22041         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
22042         because the first byte often matches anyway.
22043         Reported by Pádraig Brady <P@draigbrady.com>.
22044
22045 2010-07-15  Karl Berry  <karl@gnu.org>
22046
22047         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
22048
22049 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
22050
22051         getcwd: on Solaris, work better if ancestors are inaccessible
22052         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
22053         buffer and size, try again with a large buffer.  This works better
22054         on Solaris, since its getcwd succeeds even if the path to the root
22055         is inaccessible, and this is helpful in common cases such as .zfs
22056         hidden directories.  Problem reported by J Chapman Flack in
22057         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
22058         Use system getcwd if it's declared, not merely if it's partly
22059         working; use the partly-working test only to avoid needless effort
22060         if the system getcwd fails.
22061         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
22062         comment that was already obsolete and is now even more obsolete.
22063         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
22064         now might call strdup.
22065
22066 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
22067
22068         pthread: Add enough so that coreutils/src/sort.c compiles.
22069         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
22070         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
22071         gnulib. Include <sched.h> and <time.h>, as per POSIX.
22072         Include <sys/types.h>, in case it defines pthread_t.
22073         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
22074         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
22075         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
22076         (pthread_rwlockattr_t, pthread_spinlock_t):
22077         New typedefs, if HAVE_PTHREAD_T is not defined.
22078         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
22079         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
22080         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
22081         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
22082         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
22083         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
22084         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
22085         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
22086         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
22087         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
22088         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
22089         New macros.
22090         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
22091         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
22092         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
22093         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
22094         (pthread_spin_unlock): New dummy functions.
22095         (pthread_create): Return EAGAIN; don't set errno.
22096         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
22097         require AC_C_INLINE.
22098         * modules/pthread (Depends-on): Add sched, time.
22099         (pthread.h): Use AM_V_GEN.
22100
22101 2010-07-13  Bruno Haible  <bruno@clisp.org>
22102
22103         striconveh: Don't malloc memory if the result buffer is sufficient.
22104         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
22105         buffer if its size is sufficient.
22106         Reported by Ludovic Courtès <ludo@gnu.org>.
22107
22108 2010-07-13  Bruno Haible  <bruno@clisp.org>
22109
22110         strtod: Add safety check.
22111         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
22112
22113 2010-07-12  Bruno Haible  <bruno@clisp.org>
22114
22115         Unify tests that set gl_cv_func_ldexpl_no_libm.
22116         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
22117         gl_FUNC_LDEXPL.
22118         (gl_FUNC_LDEXPL): Invoke it.
22119         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
22120
22121 2010-07-12  Bruno Haible  <bruno@clisp.org>
22122
22123         Unify tests that set gl_cv_func_ldexp_no_libm.
22124         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
22125         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
22126         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
22127         (configure.ac): Simply invoke gl_FUNC_LDEXP.
22128         * modules/strtod (Files): Add m4/ldexp.m4.
22129
22130 2010-07-12  Bruno Haible  <bruno@clisp.org>
22131
22132         Unify tests that set gl_cv_func_frexpl_no_libm.
22133         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
22134         gl_FUNC_FREXPL_NO_LIBM.
22135         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
22136         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
22137
22138 2010-07-12  Bruno Haible  <bruno@clisp.org>
22139
22140         Unify tests that set gl_cv_func_frexp_no_libm.
22141         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
22142         gl_FUNC_FREXP_NO_LIBM.
22143         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
22144         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
22145
22146 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
22147
22148         memcoll: clarify sizes versus lengths, document better, and tweak perf
22149         * lib/memcoll.c (strcoll_loop, memcoll0):
22150         Improve quality of descriptive comments.  Name variables
22151         consistently as to whether they are lengths (which do not include
22152         terminating null) versus sizes (which do).
22153         * lib/xmemcoll.c (xmemcoll0): Likewise.
22154         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
22155         returned when s1size == 0; this is easier to compile and saves
22156         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
22157
22158 2010-07-12  Bruno Haible  <bruno@clisp.org>
22159
22160         Tests for module '_Exit'.
22161         * modules/_Exit-tests: New file.
22162         * tests/test-_Exit.sh: New file.
22163         * tests/test-_Exit.c: New file.
22164
22165         New module '_Exit'.
22166         * lib/stdlib.in.h (__attribute__): New macro.
22167         (_Exit): New declaration.
22168         * lib/_Exit.c: New file.
22169         * m4/_Exit.m4: New file.
22170         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
22171         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
22172         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
22173         * modules/_Exit: New file.
22174         * tests/test-stdlib-c++.cc (_Exit): Check signature.
22175         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
22176
22177 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
22178
22179         strtod: make it more-accurate typically, and don't require libm
22180         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
22181         Include limits.h.  Don't include string.h.
22182         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
22183         (locale_isspace): New function, so that no casts are needed to
22184         check whether *s is a space.
22185         (ldexp): Provide an unused dummy if not available.
22186         (scale_radix_exp, parse_number, underlying_strtod): New functions.
22187         (strtod): Use them.  This implementation prefers to use the
22188         underlying strtod if available, falling back on our own code
22189         only to fix known bugs.  This is more likely to produce an
22190         accurate result.  Also, it avoids the use of libm functions.
22191         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
22192         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
22193         was absent, but it caused a test failure with coreutils.
22194         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
22195         with libm.
22196         * modules/strtod (Makefile.am, Link): libm is no longer needed.
22197         * modules/strtod-tests (Makefile.am): Likewise.
22198
22199 2010-07-11  Pádraig Brady  <P@draigBrady.com>
22200             Bruno Haible  <bruno@clisp.org>
22201
22202         unistr/u8-strchr: Optimize ASCII argument case.
22203         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
22204
22205 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
22206
22207         (x)memcoll: minor tweaks
22208         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
22209         is after the type that it qualifies.
22210         (memcoll0): Likewise.
22211         * lib/memcoll.h (memcoll0): Likewise.
22212         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
22213         * lib/xmemcoll.h (xmemcoll0): Likewise.
22214         * lib/memcoll.c (memcoll0): Correct the comment.  This function
22215         differs from memcoll in that the NUL byte is part of the argument.
22216         Omit the abort-checks, as performance is a real issue here.  Plus,
22217         the checks were wrong anyway (an off-by-one error).  Omit local
22218         variable 'diff', as it's a bit clearer that way.
22219         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
22220         no longer needed.
22221
22222 2010-07-08  Chen Guo <chenguo4@yahoo.com>
22223
22224         (x)memcoll: speedup when input is known to be NUL delimited
22225         * lib/memcoll.c: Include stdlib.
22226         (memcoll0): New function.
22227         (strcoll_loop): New function, refactored for use in both memcoll
22228         and memcoll0.
22229         * lib/memcoll.h (memcoll0): Add prototype.
22230         * lib/xmemcoll.c (xmemcoll0): New function.
22231         (collate_error): New function, refactored for use in both xmemcoll
22232         and xmemcoll0.
22233         * lib/xmemcoll.h (xmemcoll0): Add prototype.
22234         * m4/memcoll.m4: add inline invocation.
22235
22236 2010-07-06  Pádraig Brady  <P@draigBrady.com>
22237
22238         * build-aux/bootstrap: Remove any local translations
22239         from the translation project synchronization directory,
22240         so that local only translations are not distributed.
22241
22242 2010-07-04  Bruno Haible  <bruno@clisp.org>
22243
22244         fsusage: Clarify which code applies to which platforms.
22245         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
22246         platform.
22247         * lib/fsusage.c (get_fs_usage): Likewise.
22248
22249 2010-07-04  Bruno Haible  <bruno@clisp.org>
22250
22251         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
22252         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
22253         Reported by Martin Lambers <marlam@marlam.de>.
22254
22255 2010-07-04  Jim Meyering  <meyering@redhat.com>
22256
22257         hash: once again explicitly disallow insertion of NULL
22258         * lib/hash.c (hash_insert0): Reinstate just-removed test:
22259         inserting a NULL pointer cannot work with these functions.
22260         Add a comment with details.
22261         This reverts part of the 2010-07-01 commit, 5bef1a35
22262         "hash: extend module to deal with non-pointer keys".
22263
22264 2010-07-01  Bruno Haible  <bruno@clisp.org>
22265
22266         stdbool: Update doc.
22267         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
22268         Info from Christian Weisgerber <naddy@mips.inka.de>.
22269
22270 2010-07-01  Jim Meyering  <meyering@redhat.com>
22271
22272         hash: extend module to deal with non-pointer keys
22273         * lib/hash.c (hash_insert0): New interface, much like hash_insert
22274         but that allows insertion of non-pointer entries.
22275         Do not disallow an ENTRY value of NULL.
22276         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
22277         * lib/hash.h (hash_insert0): Declare.
22278
22279 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22280
22281         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
22282         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
22283         not present (i.e. with autoconf 2.59 and when using gettextize, not
22284         gnulib), require AC_GNU_SOURCE instead.
22285
22286 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
22287
22288         idpriv-drop: Fix tests.
22289         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
22290         not to the test-idpriv-droptemp program.
22291
22292 2010-06-29  Bruno Haible  <bruno@clisp.org>
22293
22294         string: Fix syntax error with g++ 2.96.
22295         * lib/string.in.h (__pure__): Remove definition.
22296         (_GL_ATTRIBUTE_PURE): New macro.
22297         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
22298         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
22299         Reported by Christian Weisgerber <naddy@mips.inka.de>.
22300
22301 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
22302
22303         unitypes: Fix bug introduced on 2010-05-18.
22304         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
22305
22306 2010-06-22  Eric Blake  <eblake@redhat.com>
22307
22308         memmem: slight optimization
22309         * lib/str-two-way.h (critical_factorization): Update comments.
22310         Reduce work during factorization phase.
22311         Reported by Carlos Bueno <carlos@bueno.org>.
22312
22313 2010-06-21  Bruno Haible  <bruno@clisp.org>
22314
22315         Fix HAVE_CALLOC_POSIX misnomer.
22316         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
22317         !HAVE_CALLOC_POSIX.
22318         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
22319         HAVE_CALLOC_POSIX.
22320         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
22321         instead of HAVE_CALLOC_POSIX.
22322         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
22323         HAVE_CALLOC_POSIX.
22324
22325         Use modern idiom for calloc() replacement.
22326         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
22327         AC_FUNC_CALLOC.
22328         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
22329         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
22330         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
22331         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
22332         (gl_REPLACE_CALLOC): New macro.
22333
22334 2010-06-21  Bruno Haible  <bruno@clisp.org>
22335
22336         Fix HAVE_REALLOC_POSIX misnomer.
22337         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
22338         !HAVE_REALLOC_POSIX.
22339         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
22340         HAVE_REALLOC_POSIX.
22341         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
22342         instead of HAVE_REALLOC_POSIX.
22343         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
22344         HAVE_REALLOC_POSIX.
22345
22346         Use modern idiom for realloc() replacement.
22347         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
22348         AC_FUNC_REALLOC.
22349         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
22350         Autoconf's AC_FUNC_REALLOC.
22351         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
22352         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
22353         (gl_REPLACE_REALLOC): New macro.
22354         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
22355
22356 2010-06-21  Bruno Haible  <bruno@clisp.org>
22357
22358         Fix HAVE_MALLOC_POSIX misnomer.
22359         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
22360         !HAVE_MALLOC_POSIX.
22361         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
22362         HAVE_MALLOC_POSIX.
22363         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
22364         instead of HAVE_MALLOC_POSIX.
22365         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
22366         HAVE_MALLOC_POSIX.
22367
22368         Use modern idiom for malloc() replacement.
22369         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
22370         AC_FUNC_MALLOC.
22371         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
22372         Autoconf's AC_FUNC_MALLOC.
22373         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
22374         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
22375         (gl_REPLACE_MALLOC): New macro.
22376         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
22377
22378 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
22379
22380         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
22381         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
22382         This macro takes 3 arguments, not 4.
22383
22384 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
22385
22386         ipv6: fix detection under mingw
22387         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
22388         in6_addr.
22389
22390 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
22391
22392         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
22393         that strtod() works when cross-compiling to a glibc version known
22394         to work.
22395
22396 2010-06-15  Bruno Haible  <bruno@clisp.org>
22397
22398         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
22399
22400 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
22401
22402         select: Correct timeout.
22403         * lib/select.c (rpl_select): Compute wait_timeout correctly.
22404
22405 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22406
22407         git-version-gen: init shell var to avoid env var influence
22408         * build-aux/git-version-gen (v): Init shell var to empty.
22409
22410 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
22411
22412         priv-set: Don't assume that priv.h exists merely because getppriv does.
22413         See Jan Andersen's bug report about AIX 5L in
22414         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
22415         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
22416         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
22417         * lib/priv-set.h: Likewise.
22418         * tests/test-priv-set.c: Likewise.
22419
22420 2010-06-13  Bruno Haible  <bruno@clisp.org>
22421
22422         relocatable: Make it easier to test whether to install wrappers.
22423         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
22424         RELOCATABLE_VIA_WRAPPER.
22425
22426 2010-06-13  Bruno Haible  <bruno@clisp.org>
22427
22428         gnulib-tool: Display specified modules and dependencies differently.
22429         * gnulib-tool (func_show_module_list): New function.
22430         (func_import, func_create_testdir): Invoke it.
22431         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
22432
22433 2010-06-13  Bruno Haible  <bruno@clisp.org>
22434
22435         gnulib-tool: Align code of func_import and func_create_testdir.
22436         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
22437         specified_modules.
22438
22439 2010-06-12  Jim Meyering  <meyering@redhat.com>
22440
22441         test-inttostr: avoid spurious failure on Solaris 9
22442         * tests/test-inttostr.c (main): Skip the test when snprintf fails
22443         to accept "%ju".  Reported by Bruno Haible.
22444
22445 2010-06-11  Jim Meyering  <meyering@redhat.com>
22446
22447         test-sys_socket: mark variables as used more readably
22448         * tests/test-sys_socket.c (main): Mark otherwise unused variables
22449         as "used" explicitly via (void) statement casts.  This is more
22450         readable than using them in an artificial return expression.
22451         Suggestion from Bruno Haible.
22452
22453 2010-06-11  Bruno Haible  <bruno@clisp.org>
22454
22455         Avoid some more warnings from "gcc -Wwrite-strings".
22456         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
22457         to 'const char *'.
22458         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
22459         * tests/test-c-strcasestr.c (main): Likewise.
22460         * tests/test-mbscasestr1.c (main): Likewise.
22461         * tests/test-mbscasestr2.c (main): Likewise.
22462         * tests/test-memmem.c (main): Likewise.
22463         * tests/test-strstr.c (main): Likewise.
22464         * tests/test-strcasestr.c (main): Likewise.
22465
22466 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22467
22468         init.sh: change framework_failure_ to fail with status 99, not 1
22469         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
22470         automake's parallel-tests rule that this is an unexpected failure,
22471         even if the test is listed in XFAIL_TESTS.
22472
22473 2010-06-11  Jim Meyering  <meyering@redhat.com>
22474
22475         test-inttostr: avoid warnings about 4-6KB literal strings
22476         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
22477         Include "macros.h", for its definition of ASSERT.
22478         (CK): s/assert/ASSERT/
22479         * modules/inttostr-tests (Files): Add macros.h.
22480
22481         init.sh: don't use $ME_ or skip_ before they are defined
22482         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
22483         their first uses.  Also hoist their companions: warn_, fail_,
22484         framework_failure_, $stderr_fileno.  Prompted by a patch from
22485         Stefano Lattarini.
22486
22487         test-sys_socket: avoid set-but-not-used warnings from gcc
22488         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
22489         avoid warning about set-but-not-used variables.
22490
22491         test-xvasprintf: avoid 'const' discard warnings
22492         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
22493         "const" when assigning from literal strings.
22494         (test_xasprintf): Add "void" in function argument list to placate
22495         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
22496
22497         tests: avoid compilation warnings in argmatch and exclude tests...
22498         in packages that define ARGMATCH_DIE_DECL, like coreutils.
22499         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
22500         Since it always exits, declare with the "noreturn" attribute.
22501         * tests/test-argmatch.c: Likewise.
22502
22503         tests: avoid 'const' discard warnings in mbsstr tests
22504         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
22505         * tests/test-mbsstr2.c (main): Likewise.
22506
22507         test-verify: avoid warning from gcc's -Wmissing-declarations
22508         * tests/test-verify.c (function): Declare to be static.
22509
22510         test-inttostr.c: include <string.h> for use of strcmp
22511         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
22512
22513         test-linkat: avoid failed assertion on "other" architectures
22514         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
22515         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
22516         sparc: https://bugs.launchpad.net/bugs/591968
22517
22518 2010-06-11  Jim Meyering  <meyering@redhat.com>
22519
22520         printf.m4: avoid autoconf's "Expanded Before Required" warning
22521         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
22522         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
22523         autoconf warning.
22524
22525 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
22526
22527         Replacement header templates are now named with ".in", not "_".
22528         * doc/gnulib-intro.texi: Correct.
22529
22530 2010-06-10  Jim Meyering  <meyering@redhat.com>
22531
22532         inttostr-tests: depend on snprintf, not snprintf-posix
22533         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
22534         snprintf-posix, to avoid this aclocal failure:
22535           missing file gnulib-tests/vasnprintf.c
22536           configure.ac:45: error: expected source file, required through \
22537           AC_LIBSOURCES, not found
22538
22539 2010-06-10  Jim Meyering  <meyering@redhat.com>
22540
22541         inttostr: add a new function, inttostr, and tests
22542         The namesake function was not available.  The existence of the
22543         template file, inttostr.c makes its addition nontrivial.
22544         * lib/anytostr.c: Rename from inttostr.c.
22545         (anytostr): Rename from inttostr.
22546         * lib/inttostr.c: New file.
22547         * modules/inttostr (Files): Add anytostr.c.
22548         (Makefile.am): Set lib_SOURCES instead of ...
22549         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
22550         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
22551         * lib/offtostr.c: Likewise.
22552         * lib/uinttostr.c: Likewise.
22553         * lib/umaxtostr.c: Likewise.
22554         * modules/inttostr-tests: New file.
22555         * tests/test-inttostr.c: New file.  Test these functions.
22556
22557 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
22558             Bruno Haible  <bruno@clisp.org>
22559
22560         Add "Extending Gnulib" chapter to manual.
22561         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
22562         chapter.
22563         (Extending Gnulib): New chapter.
22564         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
22565         chapter.
22566
22567 2010-06-09  Bruno Haible  <bruno@clisp.org>
22568
22569         Avoid relocwrapper link errors due to gnulib replacement functions.
22570         * lib/areadlink.c: Use the system's malloc, realloc functions.
22571         (areadlink): Set errno to ENOMEM explicitly.
22572         * modules/areadlink (Depends-on): Remove malloc-posix.
22573         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22574
22575 2010-06-09  Bruno Haible  <bruno@clisp.org>
22576
22577         Avoid relocwrapper link errors due to gnulib replacement functions.
22578         * lib/canonicalize-lgpl.c: Use the system's malloc function.
22579         * lib/malloca.c: Likewise.
22580         * lib/relocatable.c: Likewise.
22581         * lib/progreloc.c: Use the system's malloc, sprintf functions.
22582         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
22583         * lib/setenv.c: Use the system's malloc, realloc functions.
22584         * lib/strerror.c: Use the system's sprintf function.
22585         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22586
22587 2010-06-04  Bruno Haible  <bruno@clisp.org>
22588
22589         Prefer documented low-level autoconf macro names.
22590         * m4/lib-link.m4: Use m4_translit instead of translit.
22591         * m4/environ.m4: Likewise.
22592         * m4/mathfunc.m4: Likewise.
22593         * m4/onceonly.m4: Likewise.
22594         * m4/stdint.m4: Likewise.
22595         Suggested by Eric Blake.
22596
22597 2010-06-04  Martin Lambers  <marlam@marlam.de>
22598             Bruno Haible  <bruno@clisp.org>
22599
22600         havelib: Allow library names with '+' characters.
22601         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
22602         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
22603
22604 2010-06-09  Bruno Haible  <bruno@clisp.org>
22605
22606         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
22607         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
22608         realloc failed.
22609
22610 2010-06-08  Peter Simons  <simons@cryp.to>
22611
22612         maint.mk: make the news-check rule more configurable
22613         * top/maint.mk (news-check-lines-spec): New variable.
22614         (news-check): Use "sed -n 1,10p" in place of "head".
22615
22616 2010-06-07  Jim Meyering  <meyering@redhat.com>
22617
22618         do-release-commit-and-tag: fix typo in --help
22619         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
22620
22621         regex: avoid new dead-code warning with gcc-4.6.0
22622         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
22623         if-block containing a while-loop.  It's been unused for at least
22624         5 years.
22625
22626 2010-06-05  Bruno Haible  <bruno@clisp.org>
22627
22628         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
22629         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
22630
22631 2010-06-04  Bruno Haible  <bruno@clisp.org>
22632
22633         Update to GNU gettext 0.18.1.
22634         * modules/gettext (configure.ac): Require gettext infrastructure from
22635         version 0.18.1.
22636
22637 2010-06-03  Bruno Haible  <bruno@clisp.org>
22638
22639         Don't use AC_LIBOBJ with file names in subdirectories.
22640         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
22641         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
22642         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
22643         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
22644         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
22645         gl_LIBUNISTRING_LIBSOURCE.
22646         (Makefile.am): Augment lib_SOURCES here, conditionally.
22647         * NEWS: Drop requirement for Automake option 'subdir-objects'.
22648
22649 2010-06-03  Bruno Haible  <bruno@clisp.org>
22650
22651         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
22652         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
22653         expansion does not end with a newline.
22654         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
22655         unnecessary newline.
22656
22657 2010-06-03  Bruno Haible  <bruno@clisp.org>
22658
22659         Reduce dependencies.
22660         * tests/test-quotearg.h: New file, extracted from
22661         tests/test-quotearg.c.
22662         * tests/test-quotearg-simple.c: New file, extracted from
22663         tests/test-quotearg.c.
22664         * tests/test-quotearg.c: Don't include <ctype.h>.
22665         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
22666         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
22667         use_quote_double_quotes, use_quotearg_colon): Moved to
22668         tests/test-quotearg.h.
22669         (results_g, flag_results, custom_quotes, custom_results): Moved
22670         to tests/test-quotearg-simple.c.
22671         (main): Moved the part that does not depend on gettext to
22672         tests/test-quotearg-simple.c. Return 77 if the test cannot be
22673         performed.
22674         * modules/quotearg-simple: New file.
22675         * modules/quotearg-simple-tests: New file.
22676         * modules/quotearg (Depends-on): Add quotearg-simple.
22677         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
22678         (Files): Add tests/test-quotearg.h.
22679         Reported by Paolo Bonzini.
22680
22681 2010-06-03  Bruno Haible  <bruno@clisp.org>
22682
22683         Reduce dependencies.
22684         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
22685
22686 2010-06-03  Bruno Haible  <bruno@clisp.org>
22687
22688         time: Undefine more broken macros.
22689         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
22690         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
22691         Reported by Eric Blake.
22692
22693 2010-06-03  Bruno Haible  <bruno@clisp.org>
22694
22695         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
22696         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
22697         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
22698         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
22699         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
22700         Reported by Ludovic Courtès <ludo@gnu.org>.
22701
22702 2010-06-02  Eric Blake  <eblake@redhat.com>
22703
22704         time: work with mingw + pthreads-win32 library
22705         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
22706         if timespec is defined only in pthread.h.
22707         * modules/time (Makefile.am): Substitute it.
22708         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
22709         <pthread.h>, when needed.
22710         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
22711         from the library.
22712
22713 2010-05-31  Bruno Haible  <bruno@clisp.org>
22714
22715         Avoid expanding two macros in the wrong order.
22716         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
22717         gl_LIBUNISTRING if it is defined.
22718         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
22719         autoconf >= 2.64.
22720         Reported by Ludovic Courtès <ludo@gnu.org>.
22721
22722 2010-05-27  Jim Meyering  <meyering@redhat.com>
22723
22724         maint.mk: also prohibit "#undef" of always-defined symbols
22725         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
22726         Allow more than one space before the symbol name.
22727         (sc_prohibit_always-defined_macros): Use grep's -E, now that
22728         the regexp uses alternation.
22729
22730 2010-05-26  Eric Blake  <eblake@redhat.com>
22731
22732         maint.mk: avoid echo -e
22733         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
22734         Convert all uses of echo -* to printf.
22735         Reported by Matthias Bolte.
22736
22737 2010-05-25  Bruno Haible  <bruno@clisp.org>
22738
22739         Update to GNU gettext 0.18, part 2.
22740         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
22741         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
22742
22743 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22744
22745         Add missing include in test-pwrite.c.
22746         * tests/test-pwrite.c: Include string.h, for strcmp.
22747
22748 2010-05-24  Bruno Haible  <bruno@clisp.org>
22749
22750         * NEWS: Mention requirement for Automake option 'subdir-objects'.
22751
22752 2010-05-24  Bruno Haible  <bruno@clisp.org>
22753
22754         Don't use conversion with transliteration in u{8,16,32}_strcoll.
22755         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
22756         iconveh_error argument.
22757         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
22758         U_STRCONV_TO_LOCALE.
22759         * lib/unistr/u16-strcoll.c: Likewise.
22760         * lib/unistr/u32-strcoll.c: Likewise.
22761         * modules/unistr/u8-strcoll (Depends-on): Add
22762         uniconv/u8-strconv-to-enc, localcharset. Remove
22763         uniconv/u8-strconv-to-locale.
22764         (configure.ac): Bump version number.
22765         * modules/unistr/u16-strcoll (Depends-on): Add
22766         uniconv/u16-strconv-to-enc, localcharset. Remove
22767         uniconv/u16-strconv-to-locale.
22768         (configure.ac): Bump version number.
22769         * modules/unistr/u32-strcoll (Depends-on): Add
22770         uniconv/u32-strconv-to-enc, localcharset. Remove
22771         uniconv/u32-strconv-to-locale.
22772         (configure.ac): Bump version number.
22773
22774 2010-05-24  Bruno Haible  <bruno@clisp.org>
22775
22776         Avoid a test failure on NetBSD 5.0.
22777         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
22778         an iconv() bug.
22779
22780 2010-05-24  Bruno Haible  <bruno@clisp.org>
22781
22782         Adjust #include directive style.
22783         * modules/regex (Includes): Recommend to write <regex.h>.
22784
22785 2010-05-24  Bruno Haible  <bruno@clisp.org>
22786
22787         regex: Don't require alloca.
22788         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
22789         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
22790         only inside if (0).
22791
22792 2010-05-23  Jim Meyering  <meyering@redhat.com>
22793
22794         test-renameat.c: include <sys/stat.h>
22795         * tests/test-renameat.c: Include <sys/stat.h>; required for
22796         definition of S_IS* macros.
22797
22798 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
22799
22800         Update maintainer documentation for 'relocatable-prog' module.
22801         * doc/relocatable-maint.texi: Update.
22802         Comments by Bruno Haible.
22803
22804 2010-05-23  Bruno Haible  <bruno@clisp.org>
22805
22806         git-merge-changelog: Enable --split-merged-entry by default.
22807         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
22808         (usage): Don't mention this option any more.
22809         Reported by Ralf Wildenhues.
22810
22811 2010-05-23  Jim Meyering  <meyering@redhat.com>
22812
22813         test-pwrite: do not leave behind a test file named "out"
22814         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
22815         The trivial-looking use of init.sh is really necessary.
22816         It ensures that the temporary file, "out", is created in
22817         a temporary directory, and removed upon termination.
22818         * tests/test-pwrite.sh: Re-add file.
22819         * modules/pwrite-tests: Reference it.
22820
22821 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22822
22823         Fix output redirection buglet in init.sh.
22824         * tests/init.sh: Fix redirection of stderr.
22825
22826 2010-05-20  Simon Josefsson  <simon@josefsson.org>
22827
22828         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
22829
22830 2010-05-17  Simon Josefsson  <simon@josefsson.org>
22831
22832         * modules/valgrind-tests: New file.
22833         * m4/valgrind-tests.m4: New file.
22834         * doc/valgrind-tests.texi: New file.
22835         * doc/gnulib.texi (Running self-tests under valgrind): New
22836         section.
22837
22838 2010-05-19  Bruno Haible  <bruno@clisp.org>
22839
22840         Clean up dead code in recent commit.
22841         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
22842         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
22843         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
22844         Suggested by Paolo Bonzini.
22845
22846 2010-05-19  Bruno Haible  <bruno@clisp.org>
22847
22848         Avoid valgrind error reports from libunistring.
22849         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
22850         * modules/libunistring (Files): Add it.
22851         * modules/libunistring-optional (Files): Likewise.
22852
22853 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
22854             Bruno Haible  <bruno@clisp.org>
22855
22856         New module 'libunistring-optional'.
22857         * modules/libunistring-optional: New file.
22858         * m4/libunistring-base.m4: New file.
22859         * m4/libunistring-optional.m4: New file.
22860         * lib/unicase.in.h: Renamed from lib/unicase.h.
22861         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
22862         * lib/unictype.in.h: Renamed from lib/unictype.h.
22863         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
22864         * lib/uniname.in.h: Renamed from lib/uniname.h.
22865         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
22866         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
22867         * lib/unistr.in.h: Renamed from lib/unistr.h.
22868         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
22869         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
22870         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
22871         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
22872         gl_LIBUNISTRING. If the library was found, determine the installed
22873         version and set LIBUNISTRING_VERSION.
22874         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
22875         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
22876         handle a configuration option --with-included-libunistring.
22877         * modules/libunistring (Files): Add m4/absolute-header.m4.
22878         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
22879         Add m4/libunistring-base.m4.
22880         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22881         (Makefile.am): Build unicase.h from unicase.in.h.
22882         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
22883         Add m4/libunistring-base.m4.
22884         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22885         (Makefile.am): Build uniconv.h from uniconv.in.h.
22886         * modules/unictype/base (Files): Use unictype.in.h instead of
22887         unictype.h. Add m4/libunistring-base.m4.
22888         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22889         (Makefile.am): Build unictype.h from unictype.in.h.
22890         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
22891         Add m4/libunistring-base.m4.
22892         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22893         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
22894         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
22895         Add m4/libunistring-base.m4.
22896         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22897         (Makefile.am): Build uniname.h from uniname.in.h.
22898         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
22899         Add m4/libunistring-base.m4.
22900         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22901         (Makefile.am): Build uninorm.h from uninorm.in.h.
22902         * modules/unistdio/base (Files): Use unistdio.in.h instead of
22903         unistdio.h. Add m4/libunistring-base.m4.
22904         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22905         (Makefile.am): Build unistdio.h from unistdio.in.h.
22906         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
22907         Add m4/libunistring-base.m4.
22908         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22909         (Makefile.am): Build unistr.h from unistr.in.h.
22910         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
22911         Add m4/libunistring-base.m4.
22912         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22913         (Makefile.am): Build unitypes.h from unitypes.in.h.
22914         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
22915         Add m4/libunistring-base.m4.
22916         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22917         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
22918         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
22919         uniwidth.h. Add m4/libunistring-base.m4.
22920         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22921         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
22922         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
22923         instead of augmenting lib_SOURCES.
22924         * modules/unicase/empty-suffix-context: Likewise.
22925         * modules/unicase/locale-language: Likewise.
22926         * modules/unicase/tolower: Likewise.
22927         * modules/unicase/totitle: Likewise.
22928         * modules/unicase/toupper: Likewise.
22929         * modules/unicase/u8-casecmp: Likewise.
22930         * modules/unicase/u8-casecoll: Likewise.
22931         * modules/unicase/u8-casefold: Likewise.
22932         * modules/unicase/u8-casexfrm: Likewise.
22933         * modules/unicase/u8-ct-casefold: Likewise.
22934         * modules/unicase/u8-ct-tolower: Likewise.
22935         * modules/unicase/u8-ct-totitle: Likewise.
22936         * modules/unicase/u8-ct-toupper: Likewise.
22937         * modules/unicase/u8-is-cased: Likewise.
22938         * modules/unicase/u8-is-casefolded: Likewise.
22939         * modules/unicase/u8-is-lowercase: Likewise.
22940         * modules/unicase/u8-is-titlecase: Likewise.
22941         * modules/unicase/u8-is-uppercase: Likewise.
22942         * modules/unicase/u8-prefix-context: Likewise.
22943         * modules/unicase/u8-suffix-context: Likewise.
22944         * modules/unicase/u8-tolower: Likewise.
22945         * modules/unicase/u8-totitle: Likewise.
22946         * modules/unicase/u8-toupper: Likewise.
22947         * modules/unicase/u16-casecmp: Likewise.
22948         * modules/unicase/u16-casecoll: Likewise.
22949         * modules/unicase/u16-casefold: Likewise.
22950         * modules/unicase/u16-casexfrm: Likewise.
22951         * modules/unicase/u16-ct-casefold: Likewise.
22952         * modules/unicase/u16-ct-tolower: Likewise.
22953         * modules/unicase/u16-ct-totitle: Likewise.
22954         * modules/unicase/u16-ct-toupper: Likewise.
22955         * modules/unicase/u16-is-cased: Likewise.
22956         * modules/unicase/u16-is-casefolded: Likewise.
22957         * modules/unicase/u16-is-lowercase: Likewise.
22958         * modules/unicase/u16-is-titlecase: Likewise.
22959         * modules/unicase/u16-is-uppercase: Likewise.
22960         * modules/unicase/u16-prefix-context: Likewise.
22961         * modules/unicase/u16-suffix-context: Likewise.
22962         * modules/unicase/u16-tolower: Likewise.
22963         * modules/unicase/u16-totitle: Likewise.
22964         * modules/unicase/u16-toupper: Likewise.
22965         * modules/unicase/u32-casecmp: Likewise.
22966         * modules/unicase/u32-casecoll: Likewise.
22967         * modules/unicase/u32-casefold: Likewise.
22968         * modules/unicase/u32-casexfrm: Likewise.
22969         * modules/unicase/u32-ct-casefold: Likewise.
22970         * modules/unicase/u32-ct-tolower: Likewise.
22971         * modules/unicase/u32-ct-totitle: Likewise.
22972         * modules/unicase/u32-ct-toupper: Likewise.
22973         * modules/unicase/u32-is-cased: Likewise.
22974         * modules/unicase/u32-is-casefolded: Likewise.
22975         * modules/unicase/u32-is-lowercase: Likewise.
22976         * modules/unicase/u32-is-titlecase: Likewise.
22977         * modules/unicase/u32-is-uppercase: Likewise.
22978         * modules/unicase/u32-prefix-context: Likewise.
22979         * modules/unicase/u32-suffix-context: Likewise.
22980         * modules/unicase/u32-tolower: Likewise.
22981         * modules/unicase/u32-totitle: Likewise.
22982         * modules/unicase/u32-toupper: Likewise.
22983         * modules/unicase/ulc-casecmp: Likewise.
22984         * modules/unicase/ulc-casecoll: Likewise.
22985         * modules/unicase/ulc-casexfrm: Likewise.
22986         * modules/uniconv/u8-conv-from-enc: Likewise.
22987         * modules/uniconv/u8-conv-to-enc: Likewise.
22988         * modules/uniconv/u8-strconv-from-enc: Likewise.
22989         * modules/uniconv/u8-strconv-from-locale: Likewise.
22990         * modules/uniconv/u8-strconv-to-enc: Likewise.
22991         * modules/uniconv/u8-strconv-to-locale: Likewise.
22992         * modules/uniconv/u16-conv-from-enc: Likewise.
22993         * modules/uniconv/u16-conv-to-enc: Likewise.
22994         * modules/uniconv/u16-strconv-from-enc: Likewise.
22995         * modules/uniconv/u16-strconv-from-locale: Likewise.
22996         * modules/uniconv/u16-strconv-to-enc: Likewise.
22997         * modules/uniconv/u16-strconv-to-locale: Likewise.
22998         * modules/uniconv/u32-conv-from-enc: Likewise.
22999         * modules/uniconv/u32-conv-to-enc: Likewise.
23000         * modules/uniconv/u32-strconv-from-enc: Likewise.
23001         * modules/uniconv/u32-strconv-from-locale: Likewise.
23002         * modules/uniconv/u32-strconv-to-enc: Likewise.
23003         * modules/uniconv/u32-strconv-to-locale: Likewise.
23004         * modules/unictype/bidicategory-byname: Likewise.
23005         * modules/unictype/bidicategory-name: Likewise.
23006         * modules/unictype/bidicategory-of: Likewise.
23007         * modules/unictype/bidicategory-test: Likewise.
23008         * modules/unictype/block-list: Likewise.
23009         * modules/unictype/block-test: Likewise.
23010         * modules/unictype/category-C: Likewise.
23011         * modules/unictype/category-Cc: Likewise.
23012         * modules/unictype/category-Cf: Likewise.
23013         * modules/unictype/category-Cn: Likewise.
23014         * modules/unictype/category-Co: Likewise.
23015         * modules/unictype/category-Cs: Likewise.
23016         * modules/unictype/category-L: Likewise.
23017         * modules/unictype/category-Ll: Likewise.
23018         * modules/unictype/category-Lm: Likewise.
23019         * modules/unictype/category-Lo: Likewise.
23020         * modules/unictype/category-Lt: Likewise.
23021         * modules/unictype/category-Lu: Likewise.
23022         * modules/unictype/category-M: Likewise.
23023         * modules/unictype/category-Mc: Likewise.
23024         * modules/unictype/category-Me: Likewise.
23025         * modules/unictype/category-Mn: Likewise.
23026         * modules/unictype/category-N: Likewise.
23027         * modules/unictype/category-Nd: Likewise.
23028         * modules/unictype/category-Nl: Likewise.
23029         * modules/unictype/category-No: Likewise.
23030         * modules/unictype/category-P: Likewise.
23031         * modules/unictype/category-Pc: Likewise.
23032         * modules/unictype/category-Pd: Likewise.
23033         * modules/unictype/category-Pe: Likewise.
23034         * modules/unictype/category-Pf: Likewise.
23035         * modules/unictype/category-Pi: Likewise.
23036         * modules/unictype/category-Po: Likewise.
23037         * modules/unictype/category-Ps: Likewise.
23038         * modules/unictype/category-S: Likewise.
23039         * modules/unictype/category-Sc: Likewise.
23040         * modules/unictype/category-Sk: Likewise.
23041         * modules/unictype/category-Sm: Likewise.
23042         * modules/unictype/category-So: Likewise.
23043         * modules/unictype/category-Z: Likewise.
23044         * modules/unictype/category-Zl: Likewise.
23045         * modules/unictype/category-Zp: Likewise.
23046         * modules/unictype/category-Zs: Likewise.
23047         * modules/unictype/category-and: Likewise.
23048         * modules/unictype/category-and-not: Likewise.
23049         * modules/unictype/category-byname: Likewise.
23050         * modules/unictype/category-name: Likewise.
23051         * modules/unictype/category-none: Likewise.
23052         * modules/unictype/category-of: Likewise.
23053         * modules/unictype/category-or: Likewise.
23054         * modules/unictype/category-test: Likewise.
23055         * modules/unictype/combining-class: Likewise.
23056         * modules/unictype/ctype-alnum: Likewise.
23057         * modules/unictype/ctype-alpha: Likewise.
23058         * modules/unictype/ctype-blank: Likewise.
23059         * modules/unictype/ctype-cntrl: Likewise.
23060         * modules/unictype/ctype-digit: Likewise.
23061         * modules/unictype/ctype-graph: Likewise.
23062         * modules/unictype/ctype-lower: Likewise.
23063         * modules/unictype/ctype-print: Likewise.
23064         * modules/unictype/ctype-punct: Likewise.
23065         * modules/unictype/ctype-space: Likewise.
23066         * modules/unictype/ctype-upper: Likewise.
23067         * modules/unictype/ctype-xdigit: Likewise.
23068         * modules/unictype/decimal-digit: Likewise.
23069         * modules/unictype/digit: Likewise.
23070         * modules/unictype/mirror: Likewise.
23071         * modules/unictype/numeric: Likewise.
23072         * modules/unictype/property-alphabetic: Likewise.
23073         * modules/unictype/property-ascii-hex-digit: Likewise.
23074         * modules/unictype/property-bidi-arabic-digit: Likewise.
23075         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
23076         * modules/unictype/property-bidi-block-separator: Likewise.
23077         * modules/unictype/property-bidi-boundary-neutral: Likewise.
23078         * modules/unictype/property-bidi-common-separator: Likewise.
23079         * modules/unictype/property-bidi-control: Likewise.
23080         * modules/unictype/property-bidi-embedding-or-override: Likewise.
23081         * modules/unictype/property-bidi-eur-num-separator: Likewise.
23082         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
23083         * modules/unictype/property-bidi-european-digit: Likewise.
23084         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
23085         * modules/unictype/property-bidi-left-to-right: Likewise.
23086         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
23087         * modules/unictype/property-bidi-other-neutral: Likewise.
23088         * modules/unictype/property-bidi-pdf: Likewise.
23089         * modules/unictype/property-bidi-segment-separator: Likewise.
23090         * modules/unictype/property-bidi-whitespace: Likewise.
23091         * modules/unictype/property-byname: Likewise.
23092         * modules/unictype/property-combining: Likewise.
23093         * modules/unictype/property-composite: Likewise.
23094         * modules/unictype/property-currency-symbol: Likewise.
23095         * modules/unictype/property-dash: Likewise.
23096         * modules/unictype/property-decimal-digit: Likewise.
23097         * modules/unictype/property-default-ignorable-code-point: Likewise.
23098         * modules/unictype/property-deprecated: Likewise.
23099         * modules/unictype/property-diacritic: Likewise.
23100         * modules/unictype/property-extender: Likewise.
23101         * modules/unictype/property-format-control: Likewise.
23102         * modules/unictype/property-grapheme-base: Likewise.
23103         * modules/unictype/property-grapheme-extend: Likewise.
23104         * modules/unictype/property-grapheme-link: Likewise.
23105         * modules/unictype/property-hex-digit: Likewise.
23106         * modules/unictype/property-hyphen: Likewise.
23107         * modules/unictype/property-id-continue: Likewise.
23108         * modules/unictype/property-id-start: Likewise.
23109         * modules/unictype/property-ideographic: Likewise.
23110         * modules/unictype/property-ids-binary-operator: Likewise.
23111         * modules/unictype/property-ids-trinary-operator: Likewise.
23112         * modules/unictype/property-ignorable-control: Likewise.
23113         * modules/unictype/property-iso-control: Likewise.
23114         * modules/unictype/property-join-control: Likewise.
23115         * modules/unictype/property-left-of-pair: Likewise.
23116         * modules/unictype/property-line-separator: Likewise.
23117         * modules/unictype/property-logical-order-exception: Likewise.
23118         * modules/unictype/property-lowercase: Likewise.
23119         * modules/unictype/property-math: Likewise.
23120         * modules/unictype/property-non-break: Likewise.
23121         * modules/unictype/property-not-a-character: Likewise.
23122         * modules/unictype/property-numeric: Likewise.
23123         * modules/unictype/property-other-alphabetic: Likewise.
23124         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
23125         * modules/unictype/property-other-grapheme-extend: Likewise.
23126         * modules/unictype/property-other-id-continue: Likewise.
23127         * modules/unictype/property-other-id-start: Likewise.
23128         * modules/unictype/property-other-lowercase: Likewise.
23129         * modules/unictype/property-other-math: Likewise.
23130         * modules/unictype/property-other-uppercase: Likewise.
23131         * modules/unictype/property-paired-punctuation: Likewise.
23132         * modules/unictype/property-paragraph-separator: Likewise.
23133         * modules/unictype/property-pattern-syntax: Likewise.
23134         * modules/unictype/property-pattern-white-space: Likewise.
23135         * modules/unictype/property-private-use: Likewise.
23136         * modules/unictype/property-punctuation: Likewise.
23137         * modules/unictype/property-quotation-mark: Likewise.
23138         * modules/unictype/property-radical: Likewise.
23139         * modules/unictype/property-sentence-terminal: Likewise.
23140         * modules/unictype/property-soft-dotted: Likewise.
23141         * modules/unictype/property-space: Likewise.
23142         * modules/unictype/property-terminal-punctuation: Likewise.
23143         * modules/unictype/property-test: Likewise.
23144         * modules/unictype/property-titlecase: Likewise.
23145         * modules/unictype/property-unassigned-code-value: Likewise.
23146         * modules/unictype/property-unified-ideograph: Likewise.
23147         * modules/unictype/property-uppercase: Likewise.
23148         * modules/unictype/property-variation-selector: Likewise.
23149         * modules/unictype/property-white-space: Likewise.
23150         * modules/unictype/property-xid-continue: Likewise.
23151         * modules/unictype/property-xid-start: Likewise.
23152         * modules/unictype/property-zero-width: Likewise.
23153         * modules/unictype/scripts: Likewise.
23154         * modules/unictype/syntax-c-ident: Likewise.
23155         * modules/unictype/syntax-c-whitespace: Likewise.
23156         * modules/unictype/syntax-java-ident: Likewise.
23157         * modules/unictype/syntax-java-whitespace: Likewise.
23158         * modules/unilbrk/u8-possible-linebreaks: Likewise.
23159         * modules/unilbrk/u8-width-linebreaks: Likewise.
23160         * modules/unilbrk/u16-possible-linebreaks: Likewise.
23161         * modules/unilbrk/u16-width-linebreaks: Likewise.
23162         * modules/unilbrk/u32-possible-linebreaks: Likewise.
23163         * modules/unilbrk/u32-width-linebreaks: Likewise.
23164         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
23165         * modules/unilbrk/ulc-width-linebreaks: Likewise.
23166         * modules/uniname/uniname: Likewise.
23167         * modules/uninorm/canonical-decomposition: Likewise.
23168         * modules/uninorm/composition: Likewise.
23169         * modules/uninorm/decomposing-form: Likewise.
23170         * modules/uninorm/decomposition: Likewise.
23171         * modules/uninorm/filter: Likewise.
23172         * modules/uninorm/nfc: Likewise.
23173         * modules/uninorm/nfd: Likewise.
23174         * modules/uninorm/nfkc: Likewise.
23175         * modules/uninorm/nfkd: Likewise.
23176         * modules/uninorm/u8-normalize: Likewise.
23177         * modules/uninorm/u8-normcmp: Likewise.
23178         * modules/uninorm/u8-normcoll: Likewise.
23179         * modules/uninorm/u8-normxfrm: Likewise.
23180         * modules/uninorm/u16-normalize: Likewise.
23181         * modules/uninorm/u16-normcmp: Likewise.
23182         * modules/uninorm/u16-normcoll: Likewise.
23183         * modules/uninorm/u16-normxfrm: Likewise.
23184         * modules/uninorm/u32-normalize: Likewise.
23185         * modules/uninorm/u32-normcmp: Likewise.
23186         * modules/uninorm/u32-normcoll: Likewise.
23187         * modules/uninorm/u32-normxfrm: Likewise.
23188         * modules/unistdio/u8-asnprintf: Likewise.
23189         * modules/unistdio/u8-asprintf: Likewise.
23190         * modules/unistdio/u8-snprintf: Likewise.
23191         * modules/unistdio/u8-sprintf: Likewise.
23192         * modules/unistdio/u8-u8-asnprintf: Likewise.
23193         * modules/unistdio/u8-u8-asprintf: Likewise.
23194         * modules/unistdio/u8-u8-snprintf: Likewise.
23195         * modules/unistdio/u8-u8-sprintf: Likewise.
23196         * modules/unistdio/u8-u8-vasnprintf: Likewise.
23197         * modules/unistdio/u8-u8-vasprintf: Likewise.
23198         * modules/unistdio/u8-u8-vsnprintf: Likewise.
23199         * modules/unistdio/u8-u8-vsprintf: Likewise.
23200         * modules/unistdio/u8-vasnprintf: Likewise.
23201         * modules/unistdio/u8-vasprintf: Likewise.
23202         * modules/unistdio/u8-vsnprintf: Likewise.
23203         * modules/unistdio/u8-vsprintf: Likewise.
23204         * modules/unistdio/u16-asnprintf: Likewise.
23205         * modules/unistdio/u16-asprintf: Likewise.
23206         * modules/unistdio/u16-snprintf: Likewise.
23207         * modules/unistdio/u16-sprintf: Likewise.
23208         * modules/unistdio/u16-u16-asnprintf: Likewise.
23209         * modules/unistdio/u16-u16-asprintf: Likewise.
23210         * modules/unistdio/u16-u16-snprintf: Likewise.
23211         * modules/unistdio/u16-u16-sprintf: Likewise.
23212         * modules/unistdio/u16-u16-vasnprintf: Likewise.
23213         * modules/unistdio/u16-u16-vasprintf: Likewise.
23214         * modules/unistdio/u16-u16-vsnprintf: Likewise.
23215         * modules/unistdio/u16-u16-vsprintf: Likewise.
23216         * modules/unistdio/u16-vasnprintf: Likewise.
23217         * modules/unistdio/u16-vasprintf: Likewise.
23218         * modules/unistdio/u16-vsnprintf: Likewise.
23219         * modules/unistdio/u16-vsprintf: Likewise.
23220         * modules/unistdio/u32-asnprintf: Likewise.
23221         * modules/unistdio/u32-asprintf: Likewise.
23222         * modules/unistdio/u32-snprintf: Likewise.
23223         * modules/unistdio/u32-sprintf: Likewise.
23224         * modules/unistdio/u32-u32-asnprintf: Likewise.
23225         * modules/unistdio/u32-u32-asprintf: Likewise.
23226         * modules/unistdio/u32-u32-snprintf: Likewise.
23227         * modules/unistdio/u32-u32-sprintf: Likewise.
23228         * modules/unistdio/u32-u32-vasnprintf: Likewise.
23229         * modules/unistdio/u32-u32-vasprintf: Likewise.
23230         * modules/unistdio/u32-u32-vsnprintf: Likewise.
23231         * modules/unistdio/u32-u32-vsprintf: Likewise.
23232         * modules/unistdio/u32-vasnprintf: Likewise.
23233         * modules/unistdio/u32-vasprintf: Likewise.
23234         * modules/unistdio/u32-vsnprintf: Likewise.
23235         * modules/unistdio/u32-vsprintf: Likewise.
23236         * modules/unistdio/ulc-asnprintf: Likewise.
23237         * modules/unistdio/ulc-asprintf: Likewise.
23238         * modules/unistdio/ulc-fprintf: Likewise.
23239         * modules/unistdio/ulc-snprintf: Likewise.
23240         * modules/unistdio/ulc-sprintf: Likewise.
23241         * modules/unistdio/ulc-vasnprintf: Likewise.
23242         * modules/unistdio/ulc-vasprintf: Likewise.
23243         * modules/unistdio/ulc-vfprintf: Likewise.
23244         * modules/unistdio/ulc-vsnprintf: Likewise.
23245         * modules/unistdio/ulc-vsprintf: Likewise.
23246         * modules/unistr/u8-check: Likewise.
23247         * modules/unistr/u8-chr: Likewise.
23248         * modules/unistr/u8-cmp: Likewise.
23249         * modules/unistr/u8-cmp2: Likewise.
23250         * modules/unistr/u8-cpy: Likewise.
23251         * modules/unistr/u8-cpy-alloc: Likewise.
23252         * modules/unistr/u8-endswith: Likewise.
23253         * modules/unistr/u8-mblen: Likewise.
23254         * modules/unistr/u8-mbsnlen: Likewise.
23255         * modules/unistr/u8-mbtouc: Likewise.
23256         * modules/unistr/u8-mbtouc-unsafe: Likewise.
23257         * modules/unistr/u8-mbtoucr: Likewise.
23258         * modules/unistr/u8-move: Likewise.
23259         * modules/unistr/u8-next: Likewise.
23260         * modules/unistr/u8-prev: Likewise.
23261         * modules/unistr/u8-set: Likewise.
23262         * modules/unistr/u8-startswith: Likewise.
23263         * modules/unistr/u8-stpcpy: Likewise.
23264         * modules/unistr/u8-stpncpy: Likewise.
23265         * modules/unistr/u8-strcat: Likewise.
23266         * modules/unistr/u8-strchr: Likewise.
23267         * modules/unistr/u8-strcmp: Likewise.
23268         * modules/unistr/u8-strcoll: Likewise.
23269         * modules/unistr/u8-strcpy: Likewise.
23270         * modules/unistr/u8-strcspn: Likewise.
23271         * modules/unistr/u8-strdup: Likewise.
23272         * modules/unistr/u8-strlen: Likewise.
23273         * modules/unistr/u8-strmblen: Likewise.
23274         * modules/unistr/u8-strmbtouc: Likewise.
23275         * modules/unistr/u8-strncat: Likewise.
23276         * modules/unistr/u8-strncmp: Likewise.
23277         * modules/unistr/u8-strncpy: Likewise.
23278         * modules/unistr/u8-strnlen: Likewise.
23279         * modules/unistr/u8-strpbrk: Likewise.
23280         * modules/unistr/u8-strrchr: Likewise.
23281         * modules/unistr/u8-strspn: Likewise.
23282         * modules/unistr/u8-strstr: Likewise.
23283         * modules/unistr/u8-strtok: Likewise.
23284         * modules/unistr/u8-to-u16: Likewise.
23285         * modules/unistr/u8-to-u32: Likewise.
23286         * modules/unistr/u8-uctomb: Likewise.
23287         * modules/unistr/u16-check: Likewise.
23288         * modules/unistr/u16-chr: Likewise.
23289         * modules/unistr/u16-cmp: Likewise.
23290         * modules/unistr/u16-cmp2: Likewise.
23291         * modules/unistr/u16-cpy: Likewise.
23292         * modules/unistr/u16-cpy-alloc: Likewise.
23293         * modules/unistr/u16-endswith: Likewise.
23294         * modules/unistr/u16-mblen: Likewise.
23295         * modules/unistr/u16-mbsnlen: Likewise.
23296         * modules/unistr/u16-mbtouc: Likewise.
23297         * modules/unistr/u16-mbtouc-unsafe: Likewise.
23298         * modules/unistr/u16-mbtoucr: Likewise.
23299         * modules/unistr/u16-move: Likewise.
23300         * modules/unistr/u16-next: Likewise.
23301         * modules/unistr/u16-prev: Likewise.
23302         * modules/unistr/u16-set: Likewise.
23303         * modules/unistr/u16-startswith: Likewise.
23304         * modules/unistr/u16-stpcpy: Likewise.
23305         * modules/unistr/u16-stpncpy: Likewise.
23306         * modules/unistr/u16-strcat: Likewise.
23307         * modules/unistr/u16-strchr: Likewise.
23308         * modules/unistr/u16-strcmp: Likewise.
23309         * modules/unistr/u16-strcoll: Likewise.
23310         * modules/unistr/u16-strcpy: Likewise.
23311         * modules/unistr/u16-strcspn: Likewise.
23312         * modules/unistr/u16-strdup: Likewise.
23313         * modules/unistr/u16-strlen: Likewise.
23314         * modules/unistr/u16-strmblen: Likewise.
23315         * modules/unistr/u16-strmbtouc: Likewise.
23316         * modules/unistr/u16-strncat: Likewise.
23317         * modules/unistr/u16-strncmp: Likewise.
23318         * modules/unistr/u16-strncpy: Likewise.
23319         * modules/unistr/u16-strnlen: Likewise.
23320         * modules/unistr/u16-strpbrk: Likewise.
23321         * modules/unistr/u16-strrchr: Likewise.
23322         * modules/unistr/u16-strspn: Likewise.
23323         * modules/unistr/u16-strstr: Likewise.
23324         * modules/unistr/u16-strtok: Likewise.
23325         * modules/unistr/u16-to-u32: Likewise.
23326         * modules/unistr/u16-to-u8: Likewise.
23327         * modules/unistr/u16-uctomb: Likewise.
23328         * modules/unistr/u32-check: Likewise.
23329         * modules/unistr/u32-chr: Likewise.
23330         * modules/unistr/u32-cmp: Likewise.
23331         * modules/unistr/u32-cmp2: Likewise.
23332         * modules/unistr/u32-cpy: Likewise.
23333         * modules/unistr/u32-cpy-alloc: Likewise.
23334         * modules/unistr/u32-endswith: Likewise.
23335         * modules/unistr/u32-mblen: Likewise.
23336         * modules/unistr/u32-mbsnlen: Likewise.
23337         * modules/unistr/u32-mbtouc: Likewise.
23338         * modules/unistr/u32-mbtouc-unsafe: Likewise.
23339         * modules/unistr/u32-mbtoucr: Likewise.
23340         * modules/unistr/u32-move: Likewise.
23341         * modules/unistr/u32-next: Likewise.
23342         * modules/unistr/u32-prev: Likewise.
23343         * modules/unistr/u32-set: Likewise.
23344         * modules/unistr/u32-startswith: Likewise.
23345         * modules/unistr/u32-stpcpy: Likewise.
23346         * modules/unistr/u32-stpncpy: Likewise.
23347         * modules/unistr/u32-strcat: Likewise.
23348         * modules/unistr/u32-strchr: Likewise.
23349         * modules/unistr/u32-strcmp: Likewise.
23350         * modules/unistr/u32-strcoll: Likewise.
23351         * modules/unistr/u32-strcpy: Likewise.
23352         * modules/unistr/u32-strcspn: Likewise.
23353         * modules/unistr/u32-strdup: Likewise.
23354         * modules/unistr/u32-strlen: Likewise.
23355         * modules/unistr/u32-strmblen: Likewise.
23356         * modules/unistr/u32-strmbtouc: Likewise.
23357         * modules/unistr/u32-strncat: Likewise.
23358         * modules/unistr/u32-strncmp: Likewise.
23359         * modules/unistr/u32-strncpy: Likewise.
23360         * modules/unistr/u32-strnlen: Likewise.
23361         * modules/unistr/u32-strpbrk: Likewise.
23362         * modules/unistr/u32-strrchr: Likewise.
23363         * modules/unistr/u32-strspn: Likewise.
23364         * modules/unistr/u32-strstr: Likewise.
23365         * modules/unistr/u32-strtok: Likewise.
23366         * modules/unistr/u32-to-u16: Likewise.
23367         * modules/unistr/u32-to-u8: Likewise.
23368         * modules/unistr/u32-uctomb: Likewise.
23369         * modules/uniwbrk/u8-wordbreaks: Likewise.
23370         * modules/uniwbrk/u16-wordbreaks: Likewise.
23371         * modules/uniwbrk/u32-wordbreaks: Likewise.
23372         * modules/uniwbrk/ulc-wordbreaks: Likewise.
23373         * modules/uniwbrk/wordbreak-property: Likewise.
23374         * modules/uniwidth/u8-strwidth: Likewise.
23375         * modules/uniwidth/u8-width: Likewise.
23376         * modules/uniwidth/u16-strwidth: Likewise.
23377         * modules/uniwidth/u16-width: Likewise.
23378         * modules/uniwidth/u32-strwidth: Likewise.
23379         * modules/uniwidth/u32-width: Likewise.
23380         * modules/uniwidth/width: Likewise.
23381         * modules/unicase/cased-tests (Makefile.am): Link all test programs
23382         with $(LIBUNISTRING).
23383         * modules/unicase/ignorable-tests: Likewise.
23384         * modules/unicase/locale-language-tests: Likewise.
23385         * modules/unicase/tolower-tests: Likewise.
23386         * modules/unicase/totitle-tests: Likewise.
23387         * modules/unicase/toupper-tests: Likewise.
23388         * modules/unicase/u8-casecmp-tests: Likewise.
23389         * modules/unicase/u8-casecoll-tests: Likewise.
23390         * modules/unicase/u8-casefold-tests: Likewise.
23391         * modules/unicase/u8-is-cased-tests: Likewise.
23392         * modules/unicase/u8-is-casefolded-tests: Likewise.
23393         * modules/unicase/u8-is-lowercase-tests: Likewise.
23394         * modules/unicase/u8-is-titlecase-tests: Likewise.
23395         * modules/unicase/u8-is-uppercase-tests: Likewise.
23396         * modules/unicase/u8-tolower-tests: Likewise.
23397         * modules/unicase/u8-totitle-tests: Likewise.
23398         * modules/unicase/u8-toupper-tests: Likewise.
23399         * modules/unicase/u16-casecmp-tests: Likewise.
23400         * modules/unicase/u16-casecoll-tests: Likewise.
23401         * modules/unicase/u16-casefold-tests: Likewise.
23402         * modules/unicase/u16-is-cased-tests: Likewise.
23403         * modules/unicase/u16-is-casefolded-tests: Likewise.
23404         * modules/unicase/u16-is-lowercase-tests: Likewise.
23405         * modules/unicase/u16-is-titlecase-tests: Likewise.
23406         * modules/unicase/u16-is-uppercase-tests: Likewise.
23407         * modules/unicase/u16-tolower-tests: Likewise.
23408         * modules/unicase/u16-totitle-tests: Likewise.
23409         * modules/unicase/u16-toupper-tests: Likewise.
23410         * modules/unicase/u32-casecmp-tests: Likewise.
23411         * modules/unicase/u32-casecoll-tests: Likewise.
23412         * modules/unicase/u32-casefold-tests: Likewise.
23413         * modules/unicase/u32-is-cased-tests: Likewise.
23414         * modules/unicase/u32-is-casefolded-tests: Likewise.
23415         * modules/unicase/u32-is-lowercase-tests: Likewise.
23416         * modules/unicase/u32-is-titlecase-tests: Likewise.
23417         * modules/unicase/u32-is-uppercase-tests: Likewise.
23418         * modules/unicase/u32-tolower-tests: Likewise.
23419         * modules/unicase/u32-totitle-tests: Likewise.
23420         * modules/unicase/u32-toupper-tests: Likewise.
23421         * modules/unicase/ulc-casecmp-tests: Likewise.
23422         * modules/unicase/ulc-casecoll-tests: Likewise.
23423         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
23424         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
23425         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
23426         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
23427         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
23428         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
23429         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
23430         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
23431         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
23432         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
23433         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
23434         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
23435         * modules/unictype/bidicategory-byname-tests: Likewise.
23436         * modules/unictype/bidicategory-name-tests: Likewise.
23437         * modules/unictype/bidicategory-of-tests: Likewise.
23438         * modules/unictype/bidicategory-test-tests: Likewise.
23439         * modules/unictype/block-list-tests: Likewise.
23440         * modules/unictype/block-of-tests: Likewise.
23441         * modules/unictype/block-test-tests: Likewise.
23442         * modules/unictype/category-C-tests: Likewise.
23443         * modules/unictype/category-Cc-tests: Likewise.
23444         * modules/unictype/category-Cf-tests: Likewise.
23445         * modules/unictype/category-Cn-tests: Likewise.
23446         * modules/unictype/category-Co-tests: Likewise.
23447         * modules/unictype/category-Cs-tests: Likewise.
23448         * modules/unictype/category-L-tests: Likewise.
23449         * modules/unictype/category-Ll-tests: Likewise.
23450         * modules/unictype/category-Lm-tests: Likewise.
23451         * modules/unictype/category-Lo-tests: Likewise.
23452         * modules/unictype/category-Lt-tests: Likewise.
23453         * modules/unictype/category-Lu-tests: Likewise.
23454         * modules/unictype/category-M-tests: Likewise.
23455         * modules/unictype/category-Mc-tests: Likewise.
23456         * modules/unictype/category-Me-tests: Likewise.
23457         * modules/unictype/category-Mn-tests: Likewise.
23458         * modules/unictype/category-N-tests: Likewise.
23459         * modules/unictype/category-Nd-tests: Likewise.
23460         * modules/unictype/category-Nl-tests: Likewise.
23461         * modules/unictype/category-No-tests: Likewise.
23462         * modules/unictype/category-P-tests: Likewise.
23463         * modules/unictype/category-Pc-tests: Likewise.
23464         * modules/unictype/category-Pd-tests: Likewise.
23465         * modules/unictype/category-Pe-tests: Likewise.
23466         * modules/unictype/category-Pf-tests: Likewise.
23467         * modules/unictype/category-Pi-tests: Likewise.
23468         * modules/unictype/category-Po-tests: Likewise.
23469         * modules/unictype/category-Ps-tests: Likewise.
23470         * modules/unictype/category-S-tests: Likewise.
23471         * modules/unictype/category-Sc-tests: Likewise.
23472         * modules/unictype/category-Sk-tests: Likewise.
23473         * modules/unictype/category-Sm-tests: Likewise.
23474         * modules/unictype/category-So-tests: Likewise.
23475         * modules/unictype/category-Z-tests: Likewise.
23476         * modules/unictype/category-Zl-tests: Likewise.
23477         * modules/unictype/category-Zp-tests: Likewise.
23478         * modules/unictype/category-Zs-tests: Likewise.
23479         * modules/unictype/category-and-not-tests: Likewise.
23480         * modules/unictype/category-and-tests: Likewise.
23481         * modules/unictype/category-byname-tests: Likewise.
23482         * modules/unictype/category-name-tests: Likewise.
23483         * modules/unictype/category-none-tests: Likewise.
23484         * modules/unictype/category-of-tests: Likewise.
23485         * modules/unictype/category-or-tests: Likewise.
23486         * modules/unictype/category-test-withtable-tests: Likewise.
23487         * modules/unictype/combining-class-tests: Likewise.
23488         * modules/unictype/ctype-alnum-tests: Likewise.
23489         * modules/unictype/ctype-alpha-tests: Likewise.
23490         * modules/unictype/ctype-blank-tests: Likewise.
23491         * modules/unictype/ctype-cntrl-tests: Likewise.
23492         * modules/unictype/ctype-digit-tests: Likewise.
23493         * modules/unictype/ctype-graph-tests: Likewise.
23494         * modules/unictype/ctype-lower-tests: Likewise.
23495         * modules/unictype/ctype-print-tests: Likewise.
23496         * modules/unictype/ctype-punct-tests: Likewise.
23497         * modules/unictype/ctype-space-tests: Likewise.
23498         * modules/unictype/ctype-upper-tests: Likewise.
23499         * modules/unictype/ctype-xdigit-tests: Likewise.
23500         * modules/unictype/decimal-digit-tests: Likewise.
23501         * modules/unictype/digit-tests: Likewise.
23502         * modules/unictype/mirror-tests: Likewise.
23503         * modules/unictype/numeric-tests: Likewise.
23504         * modules/unictype/property-alphabetic-tests: Likewise.
23505         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
23506         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
23507         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
23508         * modules/unictype/property-bidi-block-separator-tests: Likewise.
23509         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
23510         * modules/unictype/property-bidi-common-separator-tests: Likewise.
23511         * modules/unictype/property-bidi-control-tests: Likewise.
23512         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
23513         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
23514         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
23515         * modules/unictype/property-bidi-european-digit-tests: Likewise.
23516         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
23517         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
23518         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
23519         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
23520         * modules/unictype/property-bidi-pdf-tests: Likewise.
23521         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
23522         * modules/unictype/property-bidi-whitespace-tests: Likewise.
23523         * modules/unictype/property-byname-tests: Likewise.
23524         * modules/unictype/property-combining-tests: Likewise.
23525         * modules/unictype/property-composite-tests: Likewise.
23526         * modules/unictype/property-currency-symbol-tests: Likewise.
23527         * modules/unictype/property-dash-tests: Likewise.
23528         * modules/unictype/property-decimal-digit-tests: Likewise.
23529         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
23530         * modules/unictype/property-deprecated-tests: Likewise.
23531         * modules/unictype/property-diacritic-tests: Likewise.
23532         * modules/unictype/property-extender-tests: Likewise.
23533         * modules/unictype/property-format-control-tests: Likewise.
23534         * modules/unictype/property-grapheme-base-tests: Likewise.
23535         * modules/unictype/property-grapheme-extend-tests: Likewise.
23536         * modules/unictype/property-grapheme-link-tests: Likewise.
23537         * modules/unictype/property-hex-digit-tests: Likewise.
23538         * modules/unictype/property-hyphen-tests: Likewise.
23539         * modules/unictype/property-id-continue-tests: Likewise.
23540         * modules/unictype/property-id-start-tests: Likewise.
23541         * modules/unictype/property-ideographic-tests: Likewise.
23542         * modules/unictype/property-ids-binary-operator-tests: Likewise.
23543         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
23544         * modules/unictype/property-ignorable-control-tests: Likewise.
23545         * modules/unictype/property-iso-control-tests: Likewise.
23546         * modules/unictype/property-join-control-tests: Likewise.
23547         * modules/unictype/property-left-of-pair-tests: Likewise.
23548         * modules/unictype/property-line-separator-tests: Likewise.
23549         * modules/unictype/property-logical-order-exception-tests: Likewise.
23550         * modules/unictype/property-lowercase-tests: Likewise.
23551         * modules/unictype/property-math-tests: Likewise.
23552         * modules/unictype/property-non-break-tests: Likewise.
23553         * modules/unictype/property-not-a-character-tests: Likewise.
23554         * modules/unictype/property-numeric-tests: Likewise.
23555         * modules/unictype/property-other-alphabetic-tests: Likewise.
23556         * modules/unictype/property-other-default-ignorable-code-point-tests:
23557         Likewise.
23558         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
23559         * modules/unictype/property-other-id-continue-tests: Likewise.
23560         * modules/unictype/property-other-id-start-tests: Likewise.
23561         * modules/unictype/property-other-lowercase-tests: Likewise.
23562         * modules/unictype/property-other-math-tests: Likewise.
23563         * modules/unictype/property-other-uppercase-tests: Likewise.
23564         * modules/unictype/property-paired-punctuation-tests: Likewise.
23565         * modules/unictype/property-paragraph-separator-tests: Likewise.
23566         * modules/unictype/property-pattern-syntax-tests: Likewise.
23567         * modules/unictype/property-pattern-white-space-tests: Likewise.
23568         * modules/unictype/property-private-use-tests: Likewise.
23569         * modules/unictype/property-punctuation-tests: Likewise.
23570         * modules/unictype/property-quotation-mark-tests: Likewise.
23571         * modules/unictype/property-radical-tests: Likewise.
23572         * modules/unictype/property-sentence-terminal-tests: Likewise.
23573         * modules/unictype/property-soft-dotted-tests: Likewise.
23574         * modules/unictype/property-space-tests: Likewise.
23575         * modules/unictype/property-terminal-punctuation-tests: Likewise.
23576         * modules/unictype/property-test-tests: Likewise.
23577         * modules/unictype/property-titlecase-tests: Likewise.
23578         * modules/unictype/property-unassigned-code-value-tests: Likewise.
23579         * modules/unictype/property-unified-ideograph-tests: Likewise.
23580         * modules/unictype/property-uppercase-tests: Likewise.
23581         * modules/unictype/property-variation-selector-tests: Likewise.
23582         * modules/unictype/property-white-space-tests: Likewise.
23583         * modules/unictype/property-xid-continue-tests: Likewise.
23584         * modules/unictype/property-xid-start-tests: Likewise.
23585         * modules/unictype/property-zero-width-tests: Likewise.
23586         * modules/unictype/scripts-tests: Likewise.
23587         * modules/unictype/syntax-c-ident-tests: Likewise.
23588         * modules/unictype/syntax-c-whitespace-tests: Likewise.
23589         * modules/unictype/syntax-java-ident-tests: Likewise.
23590         * modules/unictype/syntax-java-whitespace-tests: Likewise.
23591         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
23592         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
23593         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
23594         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
23595         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
23596         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
23597         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
23598         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
23599         * modules/uniname/uniname-tests: Likewise.
23600         * modules/uninorm/canonical-decomposition-tests: Likewise.
23601         * modules/uninorm/compat-decomposition-tests: Likewise.
23602         * modules/uninorm/composition-tests: Likewise.
23603         * modules/uninorm/decomposing-form-tests: Likewise.
23604         * modules/uninorm/decomposition-tests: Likewise.
23605         * modules/uninorm/filter-tests: Likewise.
23606         * modules/uninorm/nfc-tests: Likewise.
23607         * modules/uninorm/nfd-tests: Likewise.
23608         * modules/uninorm/nfkc-tests: Likewise.
23609         * modules/uninorm/nfkd-tests: Likewise.
23610         * modules/uninorm/u8-normcmp-tests: Likewise.
23611         * modules/uninorm/u8-normcoll-tests: Likewise.
23612         * modules/uninorm/u16-normcmp-tests: Likewise.
23613         * modules/uninorm/u16-normcoll-tests: Likewise.
23614         * modules/uninorm/u32-normcmp-tests: Likewise.
23615         * modules/uninorm/u32-normcoll-tests: Likewise.
23616         * modules/unistdio/u8-asnprintf-tests: Likewise.
23617         * modules/unistdio/u8-vasnprintf-tests: Likewise.
23618         * modules/unistdio/u8-vasprintf-tests: Likewise.
23619         * modules/unistdio/u8-vsnprintf-tests: Likewise.
23620         * modules/unistdio/u8-vsprintf-tests: Likewise.
23621         * modules/unistdio/u16-asnprintf-tests: Likewise.
23622         * modules/unistdio/u16-vasnprintf-tests: Likewise.
23623         * modules/unistdio/u16-vasprintf-tests: Likewise.
23624         * modules/unistdio/u16-vsnprintf-tests: Likewise.
23625         * modules/unistdio/u16-vsprintf-tests: Likewise.
23626         * modules/unistdio/u32-asnprintf-tests: Likewise.
23627         * modules/unistdio/u32-vasnprintf-tests: Likewise.
23628         * modules/unistdio/u32-vasprintf-tests: Likewise.
23629         * modules/unistdio/u32-vsnprintf-tests: Likewise.
23630         * modules/unistdio/u32-vsprintf-tests: Likewise.
23631         * modules/unistdio/ulc-asnprintf-tests: Likewise.
23632         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
23633         * modules/unistdio/ulc-vasprintf-tests: Likewise.
23634         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
23635         * modules/unistdio/ulc-vsprintf-tests: Likewise.
23636         * modules/unistr/u8-check-tests: Likewise.
23637         * modules/unistr/u8-chr-tests: Likewise.
23638         * modules/unistr/u8-cmp-tests: Likewise.
23639         * modules/unistr/u8-cmp2-tests: Likewise.
23640         * modules/unistr/u8-cpy-alloc-tests: Likewise.
23641         * modules/unistr/u8-cpy-tests: Likewise.
23642         * modules/unistr/u8-mblen-tests: Likewise.
23643         * modules/unistr/u8-mbsnlen-tests: Likewise.
23644         * modules/unistr/u8-mbtouc-tests: Likewise.
23645         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
23646         * modules/unistr/u8-mbtoucr-tests: Likewise.
23647         * modules/unistr/u8-move-tests: Likewise.
23648         * modules/unistr/u8-next-tests: Likewise.
23649         * modules/unistr/u8-prev-tests: Likewise.
23650         * modules/unistr/u8-set-tests: Likewise.
23651         * modules/unistr/u8-stpcpy-tests: Likewise.
23652         * modules/unistr/u8-stpncpy-tests: Likewise.
23653         * modules/unistr/u8-strcat-tests: Likewise.
23654         * modules/unistr/u8-strcmp-tests: Likewise.
23655         * modules/unistr/u8-strcoll-tests: Likewise.
23656         * modules/unistr/u8-strcpy-tests: Likewise.
23657         * modules/unistr/u8-strdup-tests: Likewise.
23658         * modules/unistr/u8-strlen-tests: Likewise.
23659         * modules/unistr/u8-strmblen-tests: Likewise.
23660         * modules/unistr/u8-strmbtouc-tests: Likewise.
23661         * modules/unistr/u8-strncat-tests: Likewise.
23662         * modules/unistr/u8-strncmp-tests: Likewise.
23663         * modules/unistr/u8-strncpy-tests: Likewise.
23664         * modules/unistr/u8-strnlen-tests: Likewise.
23665         * modules/unistr/u8-to-u16-tests: Likewise.
23666         * modules/unistr/u8-to-u32-tests: Likewise.
23667         * modules/unistr/u8-uctomb-tests: Likewise.
23668         * modules/unistr/u16-check-tests: Likewise.
23669         * modules/unistr/u16-chr-tests: Likewise.
23670         * modules/unistr/u16-cmp-tests: Likewise.
23671         * modules/unistr/u16-cmp2-tests: Likewise.
23672         * modules/unistr/u16-cpy-alloc-tests: Likewise.
23673         * modules/unistr/u16-cpy-tests: Likewise.
23674         * modules/unistr/u16-mblen-tests: Likewise.
23675         * modules/unistr/u16-mbsnlen-tests: Likewise.
23676         * modules/unistr/u16-mbtouc-tests: Likewise.
23677         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
23678         * modules/unistr/u16-mbtoucr-tests: Likewise.
23679         * modules/unistr/u16-move-tests: Likewise.
23680         * modules/unistr/u16-next-tests: Likewise.
23681         * modules/unistr/u16-prev-tests: Likewise.
23682         * modules/unistr/u16-set-tests: Likewise.
23683         * modules/unistr/u16-stpcpy-tests: Likewise.
23684         * modules/unistr/u16-stpncpy-tests: Likewise.
23685         * modules/unistr/u16-strcat-tests: Likewise.
23686         * modules/unistr/u16-strcmp-tests: Likewise.
23687         * modules/unistr/u16-strcoll-tests: Likewise.
23688         * modules/unistr/u16-strcpy-tests: Likewise.
23689         * modules/unistr/u16-strdup-tests: Likewise.
23690         * modules/unistr/u16-strlen-tests: Likewise.
23691         * modules/unistr/u16-strmblen-tests: Likewise.
23692         * modules/unistr/u16-strmbtouc-tests: Likewise.
23693         * modules/unistr/u16-strncat-tests: Likewise.
23694         * modules/unistr/u16-strncmp-tests: Likewise.
23695         * modules/unistr/u16-strncpy-tests: Likewise.
23696         * modules/unistr/u16-strnlen-tests: Likewise.
23697         * modules/unistr/u16-to-u32-tests: Likewise.
23698         * modules/unistr/u16-to-u8-tests: Likewise.
23699         * modules/unistr/u16-uctomb-tests: Likewise.
23700         * modules/unistr/u32-check-tests: Likewise.
23701         * modules/unistr/u32-chr-tests: Likewise.
23702         * modules/unistr/u32-cmp-tests: Likewise.
23703         * modules/unistr/u32-cmp2-tests: Likewise.
23704         * modules/unistr/u32-cpy-alloc-tests: Likewise.
23705         * modules/unistr/u32-cpy-tests: Likewise.
23706         * modules/unistr/u32-mblen-tests: Likewise.
23707         * modules/unistr/u32-mbsnlen-tests: Likewise.
23708         * modules/unistr/u32-mbtouc-tests: Likewise.
23709         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
23710         * modules/unistr/u32-mbtoucr-tests: Likewise.
23711         * modules/unistr/u32-move-tests: Likewise.
23712         * modules/unistr/u32-next-tests: Likewise.
23713         * modules/unistr/u32-prev-tests: Likewise.
23714         * modules/unistr/u32-set-tests: Likewise.
23715         * modules/unistr/u32-stpcpy-tests: Likewise.
23716         * modules/unistr/u32-stpncpy-tests: Likewise.
23717         * modules/unistr/u32-strcat-tests: Likewise.
23718         * modules/unistr/u32-strcmp-tests: Likewise.
23719         * modules/unistr/u32-strcoll-tests: Likewise.
23720         * modules/unistr/u32-strcpy-tests: Likewise.
23721         * modules/unistr/u32-strdup-tests: Likewise.
23722         * modules/unistr/u32-strlen-tests: Likewise.
23723         * modules/unistr/u32-strmblen-tests: Likewise.
23724         * modules/unistr/u32-strmbtouc-tests: Likewise.
23725         * modules/unistr/u32-strncat-tests: Likewise.
23726         * modules/unistr/u32-strncmp-tests: Likewise.
23727         * modules/unistr/u32-strncpy-tests: Likewise.
23728         * modules/unistr/u32-strnlen-tests: Likewise.
23729         * modules/unistr/u32-to-u16-tests: Likewise.
23730         * modules/unistr/u32-to-u8-tests: Likewise.
23731         * modules/unistr/u32-uctomb-tests: Likewise.
23732         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
23733         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
23734         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
23735         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
23736         * modules/uniwidth/u8-strwidth-tests: Likewise.
23737         * modules/uniwidth/u8-width-tests: Likewise.
23738         * modules/uniwidth/u16-strwidth-tests: Likewise.
23739         * modules/uniwidth/u16-width-tests: Likewise.
23740         * modules/uniwidth/u32-strwidth-tests: Likewise.
23741         * modules/uniwidth/u32-width-tests: Likewise.
23742         * modules/uniwidth/width-tests: Likewise.
23743
23744 2010-05-18  Richard Jones  <rjones@redhat.com>
23745
23746         doc: users.txt: list hivex
23747         * users.txt: Add hivex.
23748
23749 2010-05-18  Richard Jones  <rjones@redhat.com>
23750
23751         doc: users.txt: list febootstrap
23752         * users.txt: Add febootstrap.
23753
23754 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
23755
23756         bootstrap: fix an error when gnulib is not used as a git submodule
23757         * build-aux/bootstrap (gnulib_path): If its length is zero then
23758         assign "gnulib" to it.
23759         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
23760
23761 2010-05-16  Bruno Haible  <bruno@clisp.org>
23762
23763         Avoid autoconf warnings about AM_ICONV.
23764         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
23765         2.64.
23766
23767 2010-05-16  Bruno Haible  <bruno@clisp.org>
23768
23769         absolute-header: Make the macro usable in more situations.
23770         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
23771         from gl_ABSOLUTE_HEADER.
23772         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
23773
23774 2010-05-16  James Youngman  <jay@gnu.org>
23775
23776         doc: update users.txt
23777         * users.txt: Add CSSC.
23778
23779 2010-05-16  Jim Meyering  <meyering@redhat.com>
23780
23781         init.sh: fix an error in the previous change; add more comments
23782         * tests/init.sh: Compare exit code in loop against 9, not 2.
23783         Patch by Bruno Haible.
23784         Make the two tests more similar by adding an empty "then" clause.
23785         Add comments.
23786
23787         init.sh: avoid unnecessary shell re-exec
23788         * tests/init.sh: Improve the re-exec-required check to first test the
23789         current shell.  If it passes the test, do not search for a shell that
23790         does pass, and do not re-exec.  This test is particularly contorted to
23791         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
23792         of $(...) evokes a syntax error and causes immediate shell exit with
23793         status 2.  Bruno Haible reported that the re-exec made it impossible
23794         to single-step through any init.sh-using script.
23795
23796 2010-05-16  Bruno Haible  <bruno@clisp.org>
23797
23798         Fix collision between gnulib's and libintl's printf replacements.
23799         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
23800         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
23801         (printf): When using GNU C, map the __printf__ function to rpl_printf
23802         via __asm__. When not using GNU C, define rpl_printf instead of
23803         __printf__.
23804         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
23805         commit.
23806         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
23807         commit.
23808         * m4/asm-underscore.m4: New file.
23809         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
23810         * modules/stdio (Files): Add m4/asm-underscore.m4.
23811         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
23812         Reported by Ben Pfaff.
23813
23814 2010-05-16  Bruno Haible  <bruno@clisp.org>
23815
23816         verify: Avoid skipping the test on openSUSE 11.0.
23817         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
23818
23819 2010-05-13  Bruno Haible  <bruno@clisp.org>
23820
23821         Avoid useless warnings from G++.
23822         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
23823         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
23824         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23825
23826 2010-05-11  Jim Meyering  <meyering@redhat.com>
23827
23828         maint.mk: tweak preceding change
23829         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
23830         regexps tighter by anchoring at EOL, and make the new group "shy"
23831         for slightly decreased overhead.
23832
23833 2010-05-11  Eric Blake  <eblake@redhat.com>
23834
23835         maint.mk: gnulib doesn't guarantee NSIG
23836         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
23837
23838 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23839
23840         test-pwrite.c: Remove unused variable declaration.
23841         * tests/test-pwrite.c (main): Remove read_buf declaration.
23842
23843         Remove useless test-pwrite.sh file.
23844         * tests/test-pwrite.sh: Delete file.
23845         * modules/pwrite-tests: Remove references.
23846         Reported by Bruno Haible.
23847
23848 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23849
23850         init.sh: fix a typo
23851         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
23852
23853 2010-05-10  Jim Meyering  <meyering@redhat.com>
23854
23855         maint.mk: avoid using a temporary file in the always-defined-macros check
23856         * top/maint.mk (.re-defmac): Remove rule.
23857         (gl_trap_): Remove definition.
23858         (sc_prohibit_always-defined_macros): Rewrite not to create and
23859         depend on a temporary file.  Instead, depend on GNU grep's ability
23860         to read a list of regular expressions from stdin when given "-f -".
23861
23862 2010-05-09  Bruno Haible  <bruno@clisp.org>
23863
23864         Update to GNU gettext 0.18, part 1.
23865         * m4/gettext.m4: Update to GNU gettext 0.18.
23866         * m4/intl.m4: Likewise.
23867         * m4/po.m4: Likewise.
23868         * modules/gettext (Files): Add m4/fcntl-o.m4.
23869         (configure.ac): Require gettext infrastructure from version 0.18.
23870
23871 2010-05-09  Jim Meyering  <meyering@redhat.com>
23872
23873         init.sh: enable MALLOC_PERTURB_
23874         * tests/init.sh: Enable glibc's malloc-perturbing option.
23875
23876         maint.mk: improve sc_cross_check_PATH_usage_in_tests
23877         With my recent change in init.sh from the two-line form:
23878             -#   : ${srcdir=.}
23879             -#   . "$srcdir/init.sh"; path_prepend_ .
23880             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
23881         I noticed that using the one-line form would cause this test
23882         to fail with a false-positive, or to stop working altogether,
23883         depending on whether help-version changed or all the tests did.
23884         * top/maint.mk (_hv_regex): Remove this definition.
23885         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
23886         (_hv_regex_strong): Use a stronger regex to check for conformance.
23887         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
23888         Give a separate diagnostic for lack of conforming use.
23889
23890         maint.mk: prohibit definition of symbols defined by gnulib
23891         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
23892         definition of symbols defined by gnulib.
23893
23894 2010-05-09  Bruno Haible  <bruno@clisp.org>
23895
23896         acl: Avoid test failure on Cygwin-hosted mingw.
23897         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
23898
23899 2010-05-09  Bruno Haible  <bruno@clisp.org>
23900
23901         error: Use system's fcntl function.
23902         * lib/error.c (fcntl): Undefine.
23903
23904 2010-05-09  Jim Meyering  <meyering@redhat.com>
23905
23906         verify: adjust formatting to be more consistent
23907         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
23908         argument-list '('s, and after one comma.
23909
23910 2010-05-09  Bruno Haible  <bruno@clisp.org>
23911
23912         error: More reliable output on mingw.
23913         * lib/error.c: Include <windows.h>.
23914         (is_open): New function.
23915         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
23916         defined.
23917
23918 2010-05-09  Bruno Haible  <bruno@clisp.org>
23919
23920         vasnprintf: Fix syntax errors in libintl build on mingw.
23921         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
23922         pad_ourselves and prec_ourselves after use.
23923
23924 2010-05-08  Bruno Haible  <bruno@clisp.org>
23925
23926         * lib/config.charset: Update comments for Cygwin 1.7.
23927         * lib/localcharset.c: Likewise.
23928
23929 2010-05-07  Jim Meyering  <meyering@redhat.com>
23930
23931         init.sh: improve comments
23932         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
23933         . "${srcdir=.}/init.sh"; path_prepend_ .
23934         Add a note about path_prepend_ and the alternative of using
23935         TESTS_ENVIRONMENT.
23936
23937 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23938
23939         exclude: Unescape hashed patterns in wildcard mode.
23940         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
23941         to the hash list.
23942         * tests/test-exclude8.sh: New test case.
23943         * modules/exclude-tests: Add new test.
23944
23945 2010-05-05  Eric Blake  <eblake@redhat.com>
23946
23947         verify: automate tests
23948         * modules/verify-tests: New module.
23949         * tests/test-verify.sh: New file.
23950         * tests/test-verify.c: Guard each negative test with a unique id.
23951         Also avoid warning about unused left hand of comma expressions.
23952
23953 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
23954
23955         Further improvements to verify.h, suggested by Eric Blake.
23956         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
23957         the GL_* versions, to avoid collision with OpenGL.
23958         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
23959         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
23960         than testing merely whether it's defined.
23961
23962         Modify verify.h to pacify gcc -Wredundant_decls.
23963         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
23964         These use the prefix "GL_" since they're likely to be useful elsewhere.
23965         We may need to break them out into a different .h file.
23966         (__COUNTER__): Define to 0 if the compiler doesn't support it.
23967         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
23968         of verify_function__.
23969
23970 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23971
23972         Tests for module pwrite.
23973         * modules/pwrite-tests: New file.
23974         * tests/test-pwrite.sh: New file.
23975         * tests/test-pwrite.c: New file.
23976
23977         New module pwrite.
23978         * lib/unistd.in.h (pwrite): New declaration.
23979         * lib/pwrite.c: New file, from glibc with modifications.
23980         * m4/pwrite.m4: New file.
23981         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
23982         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
23983         REPLACE_PWRITE.
23984         * modules/pwrite: New file.
23985         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
23986         REPLACE_PWRITE.
23987         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
23988         * doc/posix-functions/pwrite.texi: Mention the new module.
23989
23990 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23991
23992         pread: Update documentation.
23993         * doc/posix-functions/pread.texi: Mention the 'pread' module.
23994
23995 2010-05-04  Eric Blake  <eblake@redhat.com>
23996
23997         docs: update cygwin progress
23998         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
23999         this bug.
24000         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
24001         Added in cygwin 1.7.2.
24002         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
24003         Likewise.
24004         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
24005         Likewise.
24006         * doc/glibc-functions/dup3.texi (dup3): Likewise.
24007         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
24008         * doc/glibc-functions/accept4.texi (accept4): Likewise.
24009         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
24010         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
24011         Mention nproc module.
24012         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
24013         bug in cygwin 1.7.5 addition.
24014         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
24015         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
24016         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
24017         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
24018         1.7.5.
24019         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
24020         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
24021         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
24022         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
24023         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
24024         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
24025         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
24026         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
24027         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
24028         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
24029         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
24030         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
24031         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
24032         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
24033         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
24034         Likewise.
24035         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
24036         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
24037         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
24038         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
24039         Likewise.
24040         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
24041         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
24042         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
24043         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
24044         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
24045         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
24046         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
24047         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
24048         Likewise.
24049         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
24050         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
24051         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
24052         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
24053         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
24054         Likewise.
24055         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
24056         Likewise.
24057         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
24058         Likewise.
24059         * doc/glibc-functions/xdrrec_endofrecord.texi
24060         (xdrrec_endofrecord): Likewise.
24061         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
24062         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
24063         Likewise.
24064         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
24065         Likewise.
24066
24067 2010-05-04  Jim Meyering  <meyering@redhat.com>
24068
24069         gendocs.sh: make its "-s FILE" option more useful
24070         * build-aux/gendocs.sh: When honoring the -s FILE option, update
24071         $PACKAGE to reflect the probably-different basename of "FILE".
24072
24073 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
24074
24075         bootstrap: don't ignore download_po_files failure
24076         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
24077         failure.
24078
24079 2010-05-03  Jim Meyering  <meyering@redhat.com>
24080
24081         maint.mk: allow to pass options to gendocs.sh
24082         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
24083         (gendocs_options_): New overridable variable.
24084
24085         gnu-web-doc-update: don't ignore configure or build failure
24086         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
24087
24088         announce-gen: backslash-escape '@'s in --help output
24089         * build-aux/announce-gen: Fix syntax errors.
24090
24091         maint.mk, announce-gen: allow project-specific announcement mail headers
24092         * top/maint.mk (translation_project_): Define default.
24093         (announcement_Cc_, announcement_mail_headers_): Likewise.
24094         (announcement): Invoke announce-gen with new --mail-headers option.
24095         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
24096
24097         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
24098         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
24099         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
24100         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
24101         line in the "err2" output file when running "make check" in verbose
24102         mode (i.e., with set -x enabled).
24103
24104 2010-05-03  Bruno Haible  <bruno@clisp.org>
24105
24106         wctob: Fix for weird platforms.
24107         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
24108         argument value.
24109
24110 2010-05-03  Jim Meyering  <meyering@redhat.com>
24111
24112         maint.mk: prohibit unwarranted use of <strings.h>
24113         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
24114         strings.h in a file that does not also use strcasecmp, strncasecmp,
24115         ffs or ffsll.
24116
24117         maint.mk: remove obsolete comments
24118         * top/maint.mk: Remove stale, commented-out rules.
24119
24120 2010-05-02  Bruno Haible  <bruno@clisp.org>
24121
24122         wcwidth: Declare also when it's aliased.
24123         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
24124         macro.
24125
24126 2010-05-02  Bruno Haible  <bruno@clisp.org>
24127
24128         Fix regression from 2010-04-25.
24129         * gnulib-tool (func_modules_transitive_closure): Check the status of
24130         all modules, not only of the tests that are of the form foo-tests where
24131         foo is a module.
24132
24133 2010-05-02  Bruno Haible  <bruno@clisp.org>
24134
24135         wctob: Work around nasty Cygwin 1.7.2 bug.
24136         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
24137         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
24138
24139 2010-05-01  Bruno Haible  <bruno@clisp.org>
24140
24141         fpurge: Sharper test.
24142         * tests/test-fpurge.c (main): Add one more ftell check.
24143         * modules/fpurge-tests (Depends-on): Add ftell.
24144         Suggested by Eric Blake.
24145
24146 2010-05-01  Bruno Haible  <bruno@clisp.org>
24147
24148         ftello: Another test.
24149         * tests/test-ftello3.c: New file.
24150         * modules/ftello-tests (Files): Add it.
24151         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
24152         MOSTLYCLEANFILES.
24153
24154         ftell: Another test.
24155         * tests/test-ftell3.c: New file.
24156         * modules/ftell-tests (Files): Add it.
24157         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
24158         MOSTLYCLEANFILES.
24159
24160 2010-05-01  Bruno Haible  <bruno@clisp.org>
24161
24162         ftell, ftello: Work around Solaris bug.
24163         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
24164         * lib/ftello.c: Include stdio-impl.h.
24165         (ftello): On Solaris, when _IOWRT is set, compute the result without
24166         looking at _IOREAD.
24167         * modules/ftello (Files): Add lib/stdio-impl.h.
24168         * doc/posix-functions/ftell.texi: Mention Solaris bug.
24169         * doc/posix-functions/ftello.texi: Likewise.
24170         Reported by Eric Blake.
24171
24172 2010-05-01  Bruno Haible  <bruno@clisp.org>
24173
24174         freading: Adapt to special meaning of _IOREAD flag on Solaris.
24175         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
24176         the _IOWRT flag is also set.
24177
24178 2010-05-01  Bruno Haible  <bruno@clisp.org>
24179
24180         Fix doc about a HP-UX stdio bug.
24181         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
24182         * doc/posix-functions/ftello.texi: Likewise.
24183
24184 2010-05-01  Bruno Haible  <bruno@clisp.org>
24185
24186         lseek test: Fix failure on Solaris.
24187         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
24188         output.
24189
24190 2010-04-30  Jim Meyering  <meyering@redhat.com>
24191
24192         bootstrap: don't ignore failure to generate po*/Makevars
24193         * build-aux/bootstrap (with_gettext): Don't ignore failure
24194         to create po/Makevars or runtime-po/Makevars.
24195
24196 2010-04-29  Eric Blake  <eblake@redhat.com>
24197
24198         headers: relax license to LGPLv2+
24199         * modules/fcntl-h (License): Relax license.
24200         * modules/getopt-posix (License): Likewise.
24201         * modules/locale (License): Likewise.
24202         * modules/math (License): Likewise.
24203         * modules/pty (License): Likewise.
24204         * modules/sched (License): Likewise.
24205         * modules/search (License): Likewise.
24206         * modules/spawn (License): Likewise.
24207         * modules/stdarg (License): Likewise.
24208         * modules/sysexits (License): Likewise.
24209
24210 2010-04-29  Jim Meyering  <meyering@redhat.com>
24211
24212         inttypes: relax license to LGPLv2+
24213         * modules/inttypes (License): Relax license.
24214
24215 2010-04-29  Simon Josefsson  <simon@josefsson.org>
24216
24217         * top/maint.mk (indent): Run twice to produce idempotent results.
24218
24219 2010-04-28  Bruno Haible  <bruno@clisp.org>
24220
24221         getdate: Generate getdate.c in the source directory.
24222         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
24223         MOSTLYCLEANFILES.
24224         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
24225
24226 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
24227
24228         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
24229         is not declared as a const *; avoid warnings in that case.
24230
24231 2010-04-28  Eric Blake  <eblake@redhat.com>
24232
24233         canonicalize-lgpl: avoid compiler warning
24234         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
24235         declaration' / 'extraneous semicolon' warning with some compilers.
24236         Reported by Andreas Gruenbacher.
24237
24238 2010-04-28  Jim Meyering  <meyering@redhat.com>
24239
24240         init.sh: ensure a more reliable exit status when exiting via trap
24241         * tests/init.sh (setup_): Don't rely on $? in signal handler.
24242         Inspired by patches from Dmitry V. Levin.
24243         Also trap on signal 3 (SIGQUIT).
24244
24245 2010-04-27  Bruno Haible  <bruno@clisp.org>
24246
24247         Update doc about utimes().
24248         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
24249         'utimens' module.
24250         Reported by Andreas Gruenbacher <agruen@suse.de>.
24251
24252 2010-04-27  Eric Blake  <eblake@redhat.com>
24253
24254         full-read, full-write: relax license
24255         * modules/full-read (License): Drop to LGPLv2+.
24256         * modules/full-write (License): Likewise.
24257         * modules/safe-read (License): Likewise.
24258         * modules/safe-write (License): Likewise.
24259
24260         pthread: mention library for linking
24261         * modules/pthread (Link): Mention $(LIB_PTHREAD).
24262
24263 2010-04-27  Jim Meyering  <meyering@redhat.com>
24264
24265         maint.mk: fix a bug introduced in last change
24266         * top/maint.mk (gl_assured_headers_): Now that all names are on
24267         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
24268         is not anchored to end of word, it should be adequate.
24269
24270         maint.mk: avoid side-effect in latest syntax-check
24271         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
24272         to run commands via $(shell...), and hence to incur cost only when
24273         the new rule is actually run.
24274
24275         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
24276         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
24277         and use that to create a regexp used to detect all #if HAVE_..._H uses.
24278         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
24279         (gl_assured_headers_, az_, AZ_): Define.
24280         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
24281
24282 2010-04-26  Jim Meyering  <jim@meyering.net>
24283             Bruno Haible  <bruno@clisp.org>
24284
24285         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
24286         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
24287         Prompted by an exchange with Gilles Espinasse.
24288
24289 2010-04-26  Jim Meyering  <meyering@redhat.com>
24290
24291         git-version-gen: aesthetic tweak
24292         * build-aux/git-version-gen: Use "$nl" rather than a literal,
24293         so that the command remains on a single line.
24294
24295 2010-04-26  Eric Blake  <eblake@redhat.com>
24296
24297         git-version-gen: allow use on EBCDIC hosts
24298         * build-aux/git-version-gen (dirty): Use literal rather than tying
24299         ourselves to ascii.
24300         Reported by Steve Goetze.
24301
24302 2010-04-25  Bruno Haible  <bruno@clisp.org>
24303
24304         netdb: Add support for GNULIB_POSIXCHECK.
24305         * lib/netdb.in.h: Include warn-on-use.h.
24306         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
24307         functions are used when GNULIB_POSIXCHECK is defined and the
24308         getaddrinfo module is not in use.
24309         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
24310         freeaddrinfo, gai_strerror, getnameinfo are declared.
24311         * modules/netdb (Depends-on): Add warn-on-use.
24312         (Makefile.am): Include warn-on-use.h in netdb.h.
24313
24314 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
24315
24316         build: avoid "make check" failure without .git/ directory
24317         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
24318         there is no .git/ directory.
24319
24320 2010-04-25  Bruno Haible  <bruno@clisp.org>
24321
24322         ptsname: Fix misuse of ttyname_r.
24323         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
24324         of errno.
24325
24326 2010-04-25  Bruno Haible  <bruno@clisp.org>
24327
24328         ttyname_r: Make it work on Solaris 10.
24329         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
24330         if the system function has the POSIX declaration. Test whether the
24331         function fails if the buffer is less than 128 bytes large.
24332         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
24333         system's ttyname_r function. Provide a reasonably large buffer.
24334         * modules/ttyname_r (Depends-on): Add extensions.
24335         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
24336
24337 2010-04-25  Bruno Haible  <bruno@clisp.org>
24338
24339         Use the 'extensions' module for some more functions on Solaris.
24340         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
24341         module.
24342         * doc/posix-functions/ctime_r.texi: Likewise.
24343         * doc/posix-functions/getgrgid_r.texi: Likewise.
24344         * doc/posix-functions/getgrnam_r.texi: Likewise.
24345         * doc/posix-functions/getpwnam_r.texi: Likewise.
24346         * doc/posix-functions/getpwuid_r.texi: Likewise.
24347         * doc/posix-functions/readdir_r.texi: Likewise.
24348         * doc/posix-functions/sigwait.texi: Likewise.
24349         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
24350         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
24351
24352 2010-04-25  Bruno Haible  <bruno@clisp.org>
24353
24354         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
24355         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
24356         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
24357         * lib/ttyname_r.c: Include <limits.h>.
24358         (ttyname_r): Define using the system's ttyname_r function, if it exists
24359         and not on Solaris.
24360         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
24361         set.
24362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
24363         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
24364         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
24365         Reported by Simon Josefsson.
24366
24367 2010-04-25  Bruno Haible  <bruno@clisp.org>
24368
24369         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
24370         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
24371         * doc/posix-functions/ctime_r.texi: Likewise.
24372         * doc/posix-functions/getgrgid_r.texi: Likewise.
24373         * doc/posix-functions/getgrnam_r.texi: Likewise.
24374         * doc/posix-functions/getlogin_r.texi: Likewise.
24375         * doc/posix-functions/getpwnam_r.texi: Likewise.
24376         * doc/posix-functions/getpwuid_r.texi: Likewise.
24377         * doc/posix-functions/readdir_r.texi: Likewise.
24378         * doc/posix-functions/sigwait.texi: Likewise.
24379         * doc/posix-functions/ttyname_r.texi: Likewise.
24380         Reported by Simon Josefsson.
24381
24382 2010-04-25  Bruno Haible  <bruno@clisp.org>
24383
24384         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
24385         * gnulib-tool (func_usage): Document that --with-*-tests options apply
24386         also to --create-testdir.
24387         (func_acceptable): Don't consider the status of *-tests modules here.
24388         (func_modules_transitive_closure): Consider it here, before including a
24389         test module.
24390         (func_import, func_create_testdir): Set inc_all_direct_tests,
24391         inc_all_indirect_tests.
24392         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
24393         --create-testdir and --create-megatestdir.
24394
24395 2010-04-25  Bruno Haible  <bruno@clisp.org>
24396
24397         gnulib-tool: Add --without-*-tests options.
24398         * gnulib-tool (func_usage): Document the --without-*-tests options.
24399         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
24400         excl_unportable_tests): New variables.
24401         Fail if they are specified with --import or --update.
24402         (func_acceptable): Respect the excl_*_tests variables.
24403         (func_import): Set the excl_*_tests variables to empty.
24404
24405 2010-04-25  Simon Josefsson  <simon@josefsson.org>
24406             Bruno Haible  <bruno@clisp.org>
24407
24408         Work around a MacOS X 10.4 bug with openpty.
24409         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
24410         * tests/test-openpty.c (main): Close the master side explicitly.
24411
24412 2010-04-25  Bruno Haible  <bruno@clisp.org>
24413
24414         strnlen: Fix a C++ test error on MacOS X and Solaris.
24415         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
24416         the function is not declared.
24417         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
24418         Simon Josefsson.
24419
24420 2010-04-24  Bruno Haible  <bruno@clisp.org>
24421
24422         Avoid a gcc warning.
24423         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
24424         of correct type for %08lx directive.
24425         Reported by Eric Blake.
24426
24427 2010-04-24  Bruno Haible  <bruno@clisp.org>
24428
24429         vasnprintf: Correct errno value in case of out-of-memory.
24430         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
24431         or sprintf. Use the errno value from SNPRINTF or sprintf.
24432         Reported by Ian Beckwith <ianb@erislabs.net>.
24433
24434 2010-04-24  Bruno Haible  <bruno@clisp.org>
24435
24436         ansi-c++-opt: Find correct compiler when cross-compiling.
24437         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
24438         AC_CHECK_PROGS.
24439         Reported by Simon Josefsson.
24440
24441 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
24442
24443         vc-list-files: Add support for subversion
24444         * build-aux/vc-list-files: Use "svn list" to generate the list of
24445         files controlled by subversion.
24446
24447 2010-04-23  Jim Meyering  <meyering@redhat.com>
24448
24449         vc-list-files tests: convert to use init.sh
24450         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
24451         path_prepend_.
24452         Use Exit, not exit.
24453         Use skip_ rather than open coding it.
24454         Remove trap set-up and compare definitions.
24455         * tests/test-vc-list-files-git.sh: Likewise.
24456         * modules/vc-list-files-tests (Files): Add tests/init.sh.
24457
24458 2010-04-22  Simon Josefsson  <simon@josefsson.org>
24459
24460         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
24461         backup files.
24462
24463 2010-04-21  Simon Josefsson  <simon@josefsson.org>
24464
24465         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
24466
24467 2010-04-20  Eric Blake  <eblake@redhat.com>
24468
24469         tests: be robust to ignored SIGPIPE
24470         * tests/test-select-in.sh: Consume all output.
24471         * tests/test-lseek.sh: Check correct exit status, while avoiding
24472         EPIPE.
24473
24474 2010-04-20  Simon Josefsson  <simon@josefsson.org>
24475             Bruno Haible  <bruno@clisp.org>
24476
24477         visibility: Don't use -fvisibility if it leads to a warning.
24478         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
24479         yes, don't pretend that visibility works if it leads to a warning.
24480         Reported by Mike Gran <spk121@yahoo.com>.
24481
24482 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
24483
24484         * build-aux/bootstrap: Use "git -h" for testing for supported options
24485         instead of "git --help".  The short-form option only shows a summary,
24486         and doesn't layout the full man page.  Grep for the full option name
24487         in the summary, too.
24488
24489 2010-04-19  Bruno Haible  <bruno@clisp.org>
24490
24491         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
24492         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
24493         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
24494         mention of RELOCATABLE_STRIP.
24495         Reported by Sylvain Beucler <beuc@beuc.net>.
24496
24497 2010-04-19  Bruno Haible  <bruno@clisp.org>
24498
24499         * lib/diffseq.h: Fix typo in comment.
24500         Reported by Eric Blake.
24501
24502 2010-04-19  Bruno Haible  <bruno@clisp.org>
24503
24504         ioctl: Move autoconf macro to a .m4 file.
24505         * m4/ioctl.m4: New file, extracted from modules/ioctl.
24506         * modules/ioctl (Files): Add it.
24507         (configure.ac): Simply invoke gl_FUNC_IOCTL.
24508         Reported by Ian Beckwith <ianb@erislabs.net>.
24509
24510 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
24511             Bruno Haible  <bruno@clisp.org>
24512
24513         diffseq: Accommodate use-case with abstract arrays.
24514         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
24515         is not defined.
24516         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
24517         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
24518
24519 2010-04-18  Bruno Haible  <bruno@clisp.org>
24520
24521         * doc/posix-headers/stdbool.texi: More precise wording.
24522
24523 2010-04-17  Jim Meyering  <meyering@redhat.com>
24524
24525         maint.mk: use gnu-style indentation in an embedded perl script
24526         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
24527         Rename variable: s/two/last_two_bytes/
24528
24529 2010-04-16  Eric Blake  <eblake@redhat.com>
24530
24531         test-stdbool: skip test that fails with Solaris CC
24532         * tests/test-stdbool.c (f): Skip test that causes compilation
24533         error under buggy C++ compiler.
24534         * lib/stdbool.in.h: Document the limitation.
24535         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
24536
24537         setenv: allow compilation with C++
24538         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
24539         register keyword.
24540
24541         stdint: allow test to pass with C++
24542         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
24543
24544         getopt: allow compilation with C++
24545         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
24546         struct.
24547         * lib/getopt.c (_getopt_internal_r): Use correct type.
24548         Reported by Dagobert Michelson, via Joel E. Denny.
24549
24550 2010-04-16  Bruno Haible  <bruno@clisp.org>
24551
24552         Override netdb.h always.
24553         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
24554         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
24555         Reported by Ludovic Courtès <ludo@gnu.org>.
24556
24557 2010-04-15  Bruno Haible  <bruno@clisp.org>
24558
24559         openpty: Fix mistake from 2010-03-21.
24560         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
24561         Reported by Simon Josefsson.
24562
24563 2010-04-15  Eric Blake  <eblake@redhat.com>
24564
24565         test-forkpty: fix expected signature
24566         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
24567         Reported by Simon Josefsson.
24568
24569 2010-04-15  Jim Meyering  <meyering@redhat.com>
24570
24571         maint.mk: texinfo_suffix_re_: correct the default regexp
24572         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
24573
24574         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
24575         make it configurable via texinfo_suffix_re_.
24576
24577 2010-04-14  Eric Blake  <eblake@redhat.com>
24578
24579         strtok_r: relax license to LGPLv2+
24580         * modules/strtok_r (License): Relax license.
24581         Reported by Matthias Bolte.
24582
24583 2010-04-14  Simon Josefsson  <simon@josefsson.org>
24584
24585         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
24586         version 1.4.4 by default instead of requiring the libgcrypt
24587         version used during build.  This makes it possible to use the
24588         application with older but still binary compatible libgcrypt
24589         versions.
24590
24591 2010-04-13  Eric Blake  <eblake@redhat.com>
24592
24593         getopt-gnu: match recent glibc fixes and posix ruling
24594         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
24595         '+' handling, when requesting extensions.
24596         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
24597         'W;' handling.
24598         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
24599         * doc/posix-functions/getopt.texi (getopt): Document this.
24600         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
24601         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24602         Likewise.
24603
24604         getopt: merge bug fixes from glibc
24605         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
24606         diagnostics.  Honor '+:' correctly.  Reject ';'.
24607
24608         getopt-posix: detect MacOS bug
24609         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
24610         optind when missing a required argument.
24611         * doc/posix-functions/getopt.texi (getopt): Document the bug.
24612         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
24613         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24614         Likewise.
24615
24616         getopt-posix: avoid spurious failure on Solaris
24617         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
24618         an indicator that setting optind=1 is sufficient for reset.
24619
24620         getopt-posix: avoid spurious failure on FreeBSD
24621         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
24622         in POSIX mode, since the m4 test uses it.
24623
24624         gnulib-tool: silence warning on BSD sh
24625         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
24626
24627 2010-04-13  Jim Meyering  <meyering@redhat.com>
24628
24629         doc: users.txt: GNU patch now uses gnulib
24630         * users.txt: Add patch.
24631
24632 2010-04-12  Jim Meyering  <meyering@redhat.com>
24633
24634         maint.mk: generate more concise timing data for syntax-check rules
24635         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
24636         " done" from each line that reports a syntax-check test duration.
24637
24638 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
24639
24640         git-version-gen: use "git update-index..." rather than "git status"
24641         * build-aux/git-version-gen: Use git update-index --refresh, not
24642         "git status".  With some versions of git, "git status" would fail
24643         to update the index and result in an unwarranted "-dirty" suffix.
24644
24645 2010-04-11  Jim Meyering  <meyering@redhat.com>
24646
24647         openat: correct formatting (no semantic change)
24648         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
24649         Suggested by Bruno Haible.
24650
24651 2010-04-11  Bruno Haible  <bruno@clisp.org>
24652
24653         Stricter declaration checking in testdirs.
24654         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
24655         If for_tests is true, augment AM_CPPFLAGS to define
24656         GNULIB_STRICT_CHECKING.
24657         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
24658         GNULIB_STRICT_CHECKING is defined, verify that the function is
24659         declared.
24660
24661 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
24662             Bruno Haible  <bruno@clisp.org>
24663
24664         libunistring: Improve configure output.
24665         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
24666         Don't say "consider installing GNU libunistring" when checking again
24667         with libiconv.
24668
24669 2010-04-11  Bruno Haible  <bruno@clisp.org>
24670
24671         libunistring: Correct value of $LTLIBUNISTRING.
24672         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
24673         correct the value of $LTLIBUNISTRING.
24674
24675 2010-04-11  Bruno Haible  <bruno@clisp.org>
24676
24677         havelib: Add static libraries to LIBS in the right order.
24678         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
24679         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
24680
24681 2010-04-11  Bruno Haible  <bruno@clisp.org>
24682
24683         libunistring: Detect libunistring also when it depends on libiconv.
24684         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
24685         the second AC_LIB_HAVE_LINKFLAGS invocation.
24686
24687 2010-04-11  James Youngman  <jay@gnu.org>
24688
24689         close-stream: declare local scalars to be "const"
24690         * lib/close-stream.c (close_stream): Make boolean variables const
24691         to document the fact that we set but do not change them.
24692
24693 2010-04-11  Bruno Haible  <bruno@clisp.org>
24694
24695         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
24696
24697 2010-04-11  Jim Meyering  <meyering@redhat.com>
24698
24699         maint.mk: don't include dist-check.mk
24700         * top/maint.mk: Remove bogus include directive.
24701
24702         maint.mk: improve empty-line-at-EOF check
24703         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
24704         solution, rather than tail+Perl-based one.  The latter would read
24705         a few kilobytes from the end of each file, and did not handle empty
24706         files properly.
24707
24708         maint.mk: print the elapsed time for each syntax-check rule
24709         * top/maint.mk (sc_m_rules_): Save start time in a file.
24710         (sc_z_rules_): New rules: remove temp file and print elapsed time.
24711         (local-check): Interpose the .z rules
24712
24713 2010-04-11  Jim Meyering  <meyering@redhat.com>
24714
24715         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
24716         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
24717         empty file with one that ends in an empty line.
24718
24719 2010-04-10  Bruno Haible  <bruno@clisp.org>
24720
24721         mkdir: Make it work on mingw64.
24722         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
24723         * lib/mkdir.c: Update comment.
24724         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
24725
24726 2010-04-10  Bruno Haible  <bruno@clisp.org>
24727
24728         Don't override improved macro from newer autoconf.
24729         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
24730         autoconf >= 2.62.
24731         Reported by Joel E. Denny <jdenny@clemson.edu>.
24732
24733 2010-04-10  Jim Meyering  <meyering@redhat.com>
24734
24735         maint.mk: new syntax-check rule: prohibit empty lines at end of file
24736         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
24737
24738         maint.mk: correct a diagnostic
24739         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
24740         in diagnostic; now use $prohibit.
24741
24742 2010-04-10  Bruno Haible  <address@hidden>
24743
24744         fchownat: Fix a C++ test error on Solaris 8.
24745         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
24746         the function does not exist.
24747
24748 2010-04-10  Bruno Haible  <bruno@clisp.org>
24749
24750         vasnprintf: Add more tests.
24751         * tests/test-vasnprintf-posix.c: Include <errno.h>.
24752         (test_function): Test converting an invalid wide string.
24753
24754         vasnprintf: Correct handling of unconvertible wide string arguments.
24755         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
24756         VASNPRINTF.
24757         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
24758         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
24759         smaller than the expected maximum need for the directive. Set errno to
24760         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
24761         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
24762         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
24763         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
24764         * modules/vasnprintf (Files): Add m4/printf.m4.
24765         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24766
24767 2010-04-10  Bruno Haible  <bruno@clisp.org>
24768
24769         vasnprintf: Fix crash in %ls directive.
24770         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
24771         string is passed as argument to %ls, with no precision and no width.
24772         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24773
24774 2010-04-10  Bruno Haible  <bruno@clisp.org>
24775
24776         vasnprintf: Fix multiple test failures on mingw.
24777         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
24778         _snprintf, or snwprintf, not _snwprintf.
24779
24780 2010-04-10  Bruno Haible  <bruno@clisp.org>
24781
24782         write: Fix a C++ test error on mingw.
24783         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
24784
24785 2010-04-10  Bruno Haible  <bruno@clisp.org>
24786
24787         vasnprintf test: Reduce code duplication.
24788         * tests/test-vasnprintf.c (test_function): New function, extracted from
24789         test_vasnprintf.
24790         (test_vasnprintf, test_asnprintf): Invoke it.
24791
24792 2010-04-10  Bruno Haible  <bruno@clisp.org>
24793
24794         strnlen: Fix warning in C++ mode on MacOS X.
24795         * lib/string.in.h (strnlen): Use the modern idiom.
24796         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
24797         defining strnlen as a macro already in <config.h>.
24798         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24799         REPLACE_STRNLEN.
24800         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
24801         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24802
24803 2010-04-08  James Youngman  <jay@gnu.org>
24804
24805         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
24806         the example.
24807
24808 2010-04-09  Jim Meyering  <meyering@redhat.com>
24809
24810         maint.mk: print better diagnostic when there is no $(_hv_file)
24811         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
24812         announce that when $(_hv_file) (aka help-version) does not exist.
24813
24814         init.sh: run tr in the "C" locale to avoid multibyte interpretation
24815         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
24816         not try to interpret its random input bytes.  Jarno Rajahalme reported
24817         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
24818         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
24819         (mktempd_): Likewise, just in case.
24820
24821         ftruncate: add two years to projected module removal date: 2012
24822         * m4/ftruncate.m4: Adjust comments.
24823
24824         ftruncate: mark module as obsolete; even MinGW provides it, now
24825         * modules/ftruncate (Status): Obsolete.
24826         (Notice): Say that.
24827         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
24828         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
24829
24830 2010-04-08  Bruno Haible  <bruno@clisp.org>
24831
24832         Fix side effects from tests-related modules.
24833         * modules/dprintf-posix (Comment): New section.
24834         * modules/fprintf-posix (Comment): Likewise.
24835         * modules/obstack-printf-posix (Comment): Likewise.
24836         * modules/printf-posix (Comment): Likewise.
24837         * modules/snprintf-posix (Comment): Likewise.
24838         * modules/sprintf-posix (Comment): Likewise.
24839         * modules/vasnprintf-posix (Comment): Likewise.
24840         * modules/vasprintf-posix (Comment): Likewise.
24841         * modules/vdprintf-posix (Comment): Likewise.
24842         * modules/vfprintf-posix (Comment): Likewise.
24843         * modules/vprintf-posix (Comment): Likewise.
24844         * modules/vsnprintf-posix (Comment): Likewise.
24845         * modules/vsprintf-posix (Comment): Likewise.
24846         * modules/xprintf-posix (Comment): Likewise.
24847         * modules/xvasprintf-posix (Comment): Likewise.
24848         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
24849         * modules/floorf-tests (Depends-on): Likewise.
24850         * modules/round-tests (Depends-on): Likewise.
24851         * modules/roundf-tests (Depends-on): Likewise.
24852         * modules/trunc-tests (Depends-on): Likewise.
24853         * modules/truncf-tests (Depends-on): Likewise.
24854         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
24855         'fprintf-posix' module is not present.
24856         * tests/test-floorf2.c (check): Likewise.
24857         * tests/test-trunc2.c (check): Likewise.
24858         * tests/test-truncf2.c (check): Likewise.
24859         * tests/test-round2.c (equal): Likewise.
24860         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24861
24862 2010-04-07  Karl Berry  <karl@gnu.org>
24863
24864         * config/srclist.txt,
24865         * config/srclistvars.sh,
24866         * config/srclist-update: doc fixes.
24867
24868 2010-04-07  Jim Meyering  <meyering@redhat.com>
24869
24870         maint.mk: add a PATH crosschecking syntax-check rule
24871         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
24872         Useful if you use a test like the one in help-version (coreutils,
24873         diffutils, grep, gzip) that ensures $(VERSION) matches what is
24874         printed by prog --version.
24875
24876 2010-04-06  Bruno Haible  <bruno@clisp.org>
24877
24878         Fix link error on mingw.
24879         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
24880         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
24881
24882 2010-04-06  Bruno Haible  <bruno@clisp.org>
24883
24884         Assume rmdir exists.
24885         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
24886
24887 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
24888
24889         doc: update users.txt
24890         * users.txt: Add gcal.
24891
24892 2010-04-06  Jim Meyering  <meyering@redhat.com>
24893
24894         init.sh: simply unset TMPDIR rather than risking env -i
24895         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
24896         although it probably works fine on all Unix-based systems, some
24897         systems (Cygwin?) cannot tolerate a totally cleared environment.
24898         Suggestion from Eric Blake.
24899
24900 2010-04-06  Jim Meyering  <meyering@redhat.com>
24901
24902         init.sh: portability fix: use env's POSIX-specified -i option not -u
24903         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
24904         than unportable env -u.  Solaris 5.11's env lacks support for -u.
24905
24906 2010-04-05  Bruno Haible  <bruno@clisp.org>
24907
24908         btowc: Work around Cygwin 1.7.2 bug.
24909         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
24910         does not map NUL to 0.
24911         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
24912
24913 2010-04-05  Bruno Haible  <bruno@clisp.org>
24914
24915         Make the multithread modules work on Cygwin 1.7.2.
24916         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
24917         imported symbols can be declared weak, so that it returns "no" on
24918         Cygwin 1.7.2.
24919
24920 2010-04-05  Bruno Haible  <bruno@clisp.org>
24921
24922         Use the module 'strncat'.
24923         * modules/unistr/u8-strncat (Depends-on): Add strncat.
24924
24925         Tests for module 'strncat'.
24926         * modules/strncat-tests: New file.
24927         * tests/test-strncat.c: New file.
24928
24929         New module 'strncat'.
24930         * lib/string.in.h (strncat): New declaration.
24931         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
24932         * m4/strncat.m4: New file, based on m4/memchr.m4.
24933         * modules/strncat: New file.
24934         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
24935         is declared.
24936         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
24937         REPLACE_STRNCAT.
24938         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
24939         REPLACE_STRNCAT.
24940         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
24941         module.
24942         * tests/test-string-c++.cc: Check signature of strncat.
24943
24944 2010-04-05  Jim Meyering  <meyering@redhat.com>
24945
24946         xstrtoumax-tests: convert to use init.sh
24947         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
24948         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24949         Use Exit, not exit.
24950         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24951
24952         xstrtoimax-tests: convert to use init.sh
24953         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
24954         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24955         Use Exit, not exit.
24956         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24957
24958 2010-04-05  Bruno Haible  <bruno@clisp.org>
24959
24960         sys_socket: Avoid #define replacements in C++ mode.
24961         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
24962         warning to the function if possible, rather than #defining the symbol
24963         to a dysfunctional alias.
24964
24965 2010-04-05  Bruno Haible  <bruno@clisp.org>
24966
24967         fseeko: Fix C++ test error on mingw.
24968         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
24969         gl_FUNC_FSEEKO.
24970         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
24971         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
24972         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
24973         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
24974
24975 2010-04-05  Bruno Haible  <bruno@clisp.org>
24976
24977         duplocale: Improve test output.
24978         * tests/test-duplocale.c (main): Print reason for skipped test.
24979
24980 2010-04-05  Bruno Haible  <bruno@clisp.org>
24981
24982         Assume rmdir exists.
24983         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
24984         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
24985
24986 2010-04-05  Bruno Haible  <bruno@clisp.org>
24987
24988         Fix link error on Solaris 8 with cc.
24989         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
24990
24991 2010-04-05  Bruno Haible  <bruno@clisp.org>
24992
24993         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24994         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
24995
24996 2010-04-05  Bruno Haible  <bruno@clisp.org>
24997
24998         vasprintf: Update documentation.
24999         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
25000
25001 2010-04-05  Bruno Haible  <bruno@clisp.org>
25002
25003         ptsname: Improve test.
25004         * tests/test-ptsname.c (main): Also try the various master names of BSD
25005         systems.
25006
25007 2010-04-05  Bruno Haible  <bruno@clisp.org>
25008
25009         memchr: Avoid a possible C++ test error.
25010         * lib/string.in.h (memchr): Provide declaration if function is missing.
25011         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
25012         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
25013         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
25014         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
25015
25016 2010-04-05  Bruno Haible  <bruno@clisp.org>
25017
25018         strtok_r: Improve idiom.
25019         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
25020         AC_LIBOBJ is used.
25021
25022 2010-04-05  Bruno Haible  <bruno@clisp.org>
25023
25024         strdup: Improve idiom.
25025         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
25026         AC_LIBOBJ is used.
25027         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
25028         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
25029         when AC_LIBOBJ is used.
25030
25031 2010-04-05  Bruno Haible  <bruno@clisp.org>
25032
25033         mbsinit, mbrtowc, wcrtomb: Improve idioms.
25034         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
25035         don't set REPLACE_MBSINIT to 1.
25036         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
25037         don't set REPLACE_MBRTOWC to 1.
25038         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
25039         exist, don't set REPLACE_MBSRTOWCS to 1.
25040         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
25041         exist, don't set REPLACE_MBSNRTOWCS to 1.
25042         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
25043         don't set REPLACE_WCRTOMB to 1.
25044         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
25045         exist, don't set REPLACE_WCSRTOMBS to 1.
25046         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
25047         exist, don't set REPLACE_WCSNRTOMBS to 1.
25048
25049 2010-04-05  Bruno Haible  <bruno@clisp.org>
25050
25051         ldexpl: Improve idiom.
25052         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
25053         make sure to set HAVE_DECL_LDEXPL to 0.
25054
25055 2010-04-05  Jim Meyering  <meyering@redhat.com>
25056
25057         xstrtol-tests: convert to use init.sh
25058         * modules/xstrtol-tests (Files): Add tests/init.sh.
25059         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
25060         Use Exit, not exit.
25061         Remove uses of $EXEEXT and "./" to run a program in the current dir.
25062
25063         atexit-tests: convert to use init.sh
25064         * modules/atexit-tests (Files): Add tests/init.sh.
25065         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
25066         Use Exit, not exit.
25067         Remove uses of $EXEEXT and "./" to run a program in the current dir.
25068
25069         init.sh: fix typo
25070         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
25071
25072         init.sh: make it easier for a test script to write to the tty, ...
25073         when using automake's parallel-tests mode.
25074         * tests/init.sh (stderr_fileno_): Define overridable variable.
25075         (warn_): New function, to use it.
25076         (fail_, skip_, framework_failure_): Use warn_.
25077
25078 2010-04-04  Bruno Haible  <bruno@clisp.org>
25079
25080         btowc: Avoid warning.
25081         * lib/btowc.c: Include <stdlib.h>.
25082         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
25083
25084 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
25085             Bruno Haible  <bruno@clisp.org>
25086
25087         wchar: Port to NetBSD 1.5.
25088         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
25089         * lib/wctype.in.h (WEOF): Likewise.
25090
25091 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
25092             Bruno Haible  <bruno@clisp.org>
25093
25094         Port extended stdio to NetBSD 1.5.
25095         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
25096         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
25097         older.
25098
25099 2010-04-04  Bruno Haible  <bruno@clisp.org>
25100
25101         string: Remove unused substitution.
25102         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
25103         HAVE_DECL_STRERROR.
25104         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
25105
25106 2010-04-04  Bruno Haible  <bruno@clisp.org>
25107
25108         strtod: Avoid a possible C++ test error.
25109         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
25110         set REPLACE_STRTOD.
25111
25112 2010-04-04  Bruno Haible  <bruno@clisp.org>
25113
25114         strerror: Update documentation.
25115         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
25116
25117 2010-04-04  Bruno Haible  <bruno@clisp.org>
25118
25119         stdio: Fix some C++ test errors on Solaris 8 with GCC.
25120         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
25121         _GL_CXXALIAS_SYS_CAST.
25122
25123 2010-04-04  Bruno Haible  <bruno@clisp.org>
25124
25125         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
25126         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
25127         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
25128         REPLACE_FREXPL to 1.
25129         * doc/posix-functions/frexpl.texi: Update documentation.
25130
25131 2010-04-04  Bruno Haible  <bruno@clisp.org>
25132
25133         math: Fix some C++ test errors on Solaris 8 and Cygwin.
25134         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
25135
25136 2010-04-04  Bruno Haible  <bruno@clisp.org>
25137
25138         Implement nanosleep for native Windows.
25139         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
25140
25141 2010-04-04  Bruno Haible  <bruno@clisp.org>
25142
25143         math: Fix some C++ test errors on Solaris 8.
25144         * lib/math.in.h (truncf, trunc): Use simpler idiom.
25145
25146 2010-04-04  Bruno Haible  <bruno@clisp.org>
25147
25148         math: Fix some C++ test errors on Cygwin.
25149         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
25150         truncl): Provide declaration if the system does not have it.
25151         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
25152         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
25153         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
25154         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
25155         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
25156         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
25157         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
25158         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
25159         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
25160         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
25161         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
25162         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
25163         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
25164         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
25165         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
25166         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
25167         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
25168         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
25169         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
25170         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
25171         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
25172         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
25173
25174 2010-04-04  Bruno Haible  <bruno@clisp.org>
25175
25176         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
25177         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
25178         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
25179         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
25180         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
25181         * m4/isinf.m4 (gl_ISINF): Likewise.
25182         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25183
25184 2010-04-04  Bruno Haible  <bruno@clisp.org>
25185
25186         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
25187         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25188
25189 2010-04-04  Bruno Haible  <bruno@clisp.org>
25190
25191         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
25192         * modules/tmpfile (configure.ac): Update.
25193
25194         tmpfile: Fix C++ test error on mingw.
25195         * lib/stdio.in.h (tmpfile): New declaration.
25196         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
25197         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
25198         * modules/tmpfile (Depends-on): Add stdio.
25199         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
25200         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
25201         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
25202         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
25203         REPLACE_TMPFILE.
25204         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
25205
25206 2010-04-04  Bruno Haible  <bruno@clisp.org>
25207
25208         ioctl: Fix C++ test error on mingw.
25209         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
25210         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
25211         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
25212
25213 2010-04-03  Bruno Haible  <bruno@clisp.org>
25214
25215         wcwidth: Fix C++ test error on mingw.
25216         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
25217         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
25218         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
25219
25220 2010-04-03  Bruno Haible  <bruno@clisp.org>
25221
25222         nanosleep: Fix C++ test error on mingw.
25223         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
25224         * lib/time.in.h (nanosleep): Use modern idiom.
25225         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
25226         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
25227         REPLACE_NANOSLEEP to 1.
25228         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
25229         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
25230
25231 2010-04-03  Bruno Haible  <bruno@clisp.org>
25232
25233         strptime: Fix C++ test error on mingw.
25234         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
25235         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
25236         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
25237         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
25238         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
25239         not REPLACE_STRPTIME.
25240         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
25241         REPLACE_STRPTIME.
25242
25243 2010-04-03  Bruno Haible  <bruno@clisp.org>
25244
25245         timegm: Fix C++ test error on mingw.
25246         * lib/time.in.h (timegm): Use modern idiom.
25247         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
25248         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
25249         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
25250         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
25251
25252 2010-04-03  Bruno Haible  <bruno@clisp.org>
25253
25254         timegm: Assume declaration if function exists.
25255         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
25256         if it exists. Don't clobber ac_cv_func_timegm.
25257
25258 2010-04-03  Bruno Haible  <bruno@clisp.org>
25259
25260         time_r: Fix C++ test error on mingw.
25261         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
25262         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
25263         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
25264         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
25265         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
25266
25267 2010-04-03  Bruno Haible  <bruno@clisp.org>
25268
25269         time_r: Minor updates.
25270         * modules/time_r (Description): Mention the provided functions.
25271         * lib/time_r.c: Don't include <string.h>.
25272         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
25273         * doc/posix-functions/localtime_r.texi: Likewise.
25274
25275 2010-04-03  Bruno Haible  <bruno@clisp.org>
25276
25277         time: Fix regression introduced on 2010-03-08.
25278         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
25279         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
25280
25281 2010-04-03  Jim Meyering  <meyering@redhat.com>
25282
25283         maint.mk: don't silently disable project-specific syntax-check rules
25284         * top/maint.mk (_prohibit_regexp): Define, to help people realize
25285         that they need to convert their project-specific syntax-check rules
25286         to use the new _sc_search_regexp.
25287
25288 2010-04-03  Bruno Haible  <bruno@clisp.org>
25289
25290         fchdir: Fix regression introduced on 2010-03-08.
25291         * lib/unistd.in.h (fchdir): Fix declaration.
25292         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
25293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
25294         REPLACE_FCHDIR.
25295         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
25296         REPLACE_FCHDIR.
25297
25298 2010-04-03  Bruno Haible  <bruno@clisp.org>
25299
25300         getpagesize: Fix C++ test error on mingw.
25301         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
25302         system does not declare the function.
25303         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
25304         declared.
25305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25306         HAVE_DECL_GETPAGESIZE.
25307         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
25308
25309 2010-04-03  Bruno Haible  <bruno@clisp.org>
25310
25311         stdio: Make C++ tests work on mingw.
25312         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
25313         does not declare the function.
25314
25315 2010-04-03  Bruno Haible  <bruno@clisp.org>
25316
25317         ftello: Fix C++ test error on mingw.
25318         * lib/stdio.in.h (ftello): Use modern idiom.
25319         * lib/ftello.c (ftello): Renamed from rpl_ftello.
25320         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
25321         is missing and that it needs to be replaced.
25322         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
25323         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
25324         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
25325
25326 2010-04-03  Bruno Haible  <bruno@clisp.org>
25327
25328         fseeko: Fix C++ test error on mingw.
25329         * lib/stdio.in.h (fseeko): Use modern idiom.
25330         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
25331         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
25332         is missing and that it needs to be replaced.
25333         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
25334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
25335         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
25336
25337 2010-04-03  Bruno Haible  <bruno@clisp.org>
25338
25339         mkstemp: Fix C++ test error on mingw.
25340         * lib/stdlib.in.h (mkstemp): Use modern idiom.
25341         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
25342         function is missing and that it needs to be replaced.
25343         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
25344         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
25345
25346 2010-04-03  Bruno Haible  <bruno@clisp.org>
25347
25348         stpncpy: Fix C++ test error on mingw.
25349         * lib/string.in.h (stpncpy): Use modern idiom.
25350         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
25351         function is missing and that it needs to be replaced.
25352         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25353         REPLACE_STPNCPY.
25354         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
25355
25356 2010-04-03  Bruno Haible  <bruno@clisp.org>
25357
25358         sys_stat: Fix C++ test error on mingw.
25359         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
25360         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
25361
25362 2010-04-03  Bruno Haible  <bruno@clisp.org>
25363
25364         pty: Update doc.
25365         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
25366
25367 2010-04-03  Bruno Haible  <bruno@clisp.org>
25368
25369         unistd: Fix C++ test error on mingw.
25370         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
25371
25372 2010-04-03  Bruno Haible  <bruno@clisp.org>
25373
25374         Update doc regarding mingw.
25375         * doc/glibc-functions/openpty.texi: Update regarding mingw.
25376         * doc/glibc-functions/login_tty.texi: Likewise.
25377         * doc/glibc-functions/forkpty.texi: Likewise.
25378
25379 2010-04-03  Bruno Haible  <bruno@clisp.org>
25380
25381         stdlib: Avoid compilation failure of c-strtold on mingw.
25382         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
25383
25384 2010-04-03  Bruno Haible  <bruno@clisp.org>
25385
25386         locale: Make C++ tests work on Cygwin and mingw.
25387         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
25388         cannot provide the function.
25389         Reported by Simon Josefsson.
25390
25391 2010-04-03  Bruno Haible  <bruno@clisp.org>
25392
25393         localename: Port to MacOS X 10.6.
25394         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
25395         memory layout of the locales in MacOS X 10.6 as well.
25396         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
25397
25398 2010-04-02  Bruno Haible  <bruno@clisp.org>
25399
25400         gnulib-tool: Ensure that long-running tests are executed last.
25401         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
25402         running tests after the one for the other tests.
25403
25404 2010-04-02  Bruno Haible  <bruno@clisp.org>
25405
25406         gnulib-tool: Ensure the tests in the main directory are executed first.
25407         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
25408         start with the current directory.
25409
25410 2010-04-02  Bruno Haible  <bruno@clisp.org>
25411
25412         Tests for module 'havelib', moved here from GNU gettext.
25413         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
25414         modifications.
25415         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
25416         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
25417         with modifications.
25418         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
25419         modifications.
25420         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
25421         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
25422         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
25423         with modifications.
25424         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
25425         with modifications.
25426         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
25427         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
25428         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
25429         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
25430         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
25431         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
25432         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
25433         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
25434         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
25435         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
25436         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
25437         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
25438         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
25439         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
25440         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
25441         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
25442         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
25443         with modifications.
25444         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
25445         with modifications.
25446         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
25447         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
25448         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
25449         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
25450         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
25451         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
25452         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
25453         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
25454         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
25455         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
25456         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
25457         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
25458         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
25459         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
25460         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
25461         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
25462         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
25463         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
25464         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
25465         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
25466         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
25467         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
25468         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
25469         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
25470         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
25471         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
25472         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
25473         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
25474         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
25475         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
25476         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
25477         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
25478         * tests/havelib/rpathx/rpathx.c: New file, from
25479         gettext/autoconf-lib-link.
25480         * tests/havelib/rpathx/Makefile.am: New file, from
25481         gettext/autoconf-lib-link.
25482         * tests/havelib/rpathx/configure.ac: New file, from
25483         gettext/autoconf-lib-link with modifications.
25484         * tests/havelib/rpathy/rpathy.c: New file, from
25485         gettext/autoconf-lib-link.
25486         * tests/havelib/rpathy/Makefile.am: New file, from
25487         gettext/autoconf-lib-link.
25488         * tests/havelib/rpathy/configure.ac: New file, from
25489         gettext/autoconf-lib-link with modifications.
25490         * tests/havelib/rpathz/rpathz.c: New file, from
25491         gettext/autoconf-lib-link.
25492         * tests/havelib/rpathz/Makefile.am: New file, from
25493         gettext/autoconf-lib-link.
25494         * tests/havelib/rpathz/configure.ac: New file, from
25495         gettext/autoconf-lib-link with modifications.
25496         * tests/havelib/rpathlx/usex.c: New file, from
25497         gettext/autoconf-lib-link.
25498         * tests/havelib/rpathlx/Makefile.am: New file, from
25499         gettext/autoconf-lib-link.
25500         * tests/havelib/rpathlx/configure.ac: New file, from
25501         gettext/autoconf-lib-link with modifications.
25502         * tests/havelib/rpathly/usey.c: New file, from
25503         gettext/autoconf-lib-link.
25504         * tests/havelib/rpathly/Makefile.am: New file, from
25505         gettext/autoconf-lib-link.
25506         * tests/havelib/rpathly/configure.ac: New file, from
25507         gettext/autoconf-lib-link with modifications.
25508         * tests/havelib/rpathlz/usez.c: New file, from
25509         gettext/autoconf-lib-link.
25510         * tests/havelib/rpathlz/Makefile.am: New file, from
25511         gettext/autoconf-lib-link.
25512         * tests/havelib/rpathlz/configure.ac: New file, from
25513         gettext/autoconf-lib-link with modifications.
25514         * tests/havelib/rpathlyx/usey.c: New file, from
25515         gettext/autoconf-lib-link.
25516         * tests/havelib/rpathlyx/Makefile.am: New file, from
25517         gettext/autoconf-lib-link.
25518         * tests/havelib/rpathlyx/configure.ac: New file, from
25519         gettext/autoconf-lib-link with modifications.
25520         * tests/havelib/rpathlzyx/usez.c: New file, from
25521         gettext/autoconf-lib-link.
25522         * tests/havelib/rpathlzyx/Makefile.am: New file, from
25523         gettext/autoconf-lib-link.
25524         * tests/havelib/rpathlzyx/configure.ac: New file, from
25525         gettext/autoconf-lib-link with modifications.
25526         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
25527         with modifications.
25528
25529 2010-04-02  Bruno Haible  <bruno@clisp.org>
25530
25531         gnulib-tool: Create distributed built sources also for the tests.
25532         * gnulib-tool (func_create_testdir): Also generate distributed built
25533         sources in the tests directory.
25534
25535 2010-04-02  Bruno Haible  <bruno@clisp.org>
25536
25537         gnulib-tool: Obey user's environment variables.
25538         * gnulib-tool (func_create_testdir): When creating built sources,
25539         respect the environment variables for autoconf, automake, etc. given by
25540         the user.
25541
25542 2010-04-02  Bruno Haible  <bruno@clisp.org>
25543
25544         gnulib-tool: Provide the value of --m4-base to modules.
25545         * gnulib-tool (func_import, func_create_testdir): Emit a definition
25546         of gl_m4_base.
25547
25548 2010-04-02  Eric Blake  <eblake@redhat.com>
25549
25550         maint.mk: fix some fallout
25551         * NEWS: Document the incompatible change, and its effect on cfg.mk.
25552         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
25553
25554 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
25555
25556         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
25557         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
25558         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
25559         (sc_cast_of_x_alloc_return_value): Likewise.
25560         (sc_cast_of_alloca_return_value): Likewise.
25561         (sc_space_tab): Likewise.
25562         (sc_prohibit_atoi_atof): Likewise.
25563         (sc_prohibit_magic_number_exit): Likewise.
25564         (sc_error_exit_success): Likewise.
25565         (sc_file_system): Likewise.
25566         (sc_prohibit_have_config_h): Likewise.
25567         (sc_require_config_h): Likewise.
25568         (sc_prohibit_HAVE_MBRTOWC): Likewise.
25569         (sc_obsolete_symbols): Likewise.
25570         (sc_changelog): Likewise.
25571         (sc_program_name): Likewise.
25572         (sc_the_the): Likewise.
25573         (sc_trailing_blank): Likewise.
25574         (sc_two_space_separator_in_usage): Likewise.
25575         (sc_useless_cpp_parens): Likewise.
25576         (sc_GPL_version): Likewise.
25577         (sc_GFDL_version): Likewise.
25578         (sc_texinfo_acronym): Likewise.
25579         (sc_prohibit_cvs_keyword): Likewise.
25580         (sc_prohibit_stat_st_blocks): Likewise.
25581         (sc_prohibit_S_IS_definition): Likewise.
25582         (sc_redundant_const): Likewise.
25583         (sc_makefile_TAB_only_indentation): Likewise.
25584         (sc_m4_quote_check): Likewise.
25585         (sc_makefile_path_separator_check): Likewise.
25586         (sc_copyright_check): Likewise.
25587         (sc_Wundef_boolean): Likewise.
25588         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25589
25590         maint.mk: match 0 or more whitespace-before-function-call '('
25591         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
25592         that have zero or two-and-more spaces between the function name
25593         and the open parenthesis.
25594         (sc_error_message_warn_fatal): Likewise.
25595         (sc_error_message_uppercase): Likewise.
25596         (sc_error_message_period): Likewise.
25597
25598 2010-03-31  Eric Blake  <eblake@redhat.com>
25599
25600         maint.mk: check for [ as well as test
25601         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
25602         Based on a libvirt report by Matthias Bolte.
25603
25604         gnumakefile: don't squelch _version output
25605         * top/GNUmakefile (_version): Create one-shot dependency rather
25606         than using $(shell) when version must be regenerated.
25607         (_autoreconf): Run verbosely, by default.
25608
25609         sys_time: avoid compiler warnings
25610         * lib/sys_time.in.h (includes): Ensure gcc pragma is
25611         unconditional, fixing regression from 2010-03-29.
25612         Reported by Simon Josefsson.
25613
25614 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
25615
25616         maint.mk: s/_header_without_use/_sc_header_without_use/
25617         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
25618         (sc_prohibit_assert_without_use): Use the new name.
25619         (sc_prohibit_close_stream_without_use): Likewise.
25620         (sc_prohibit_getopt_without_use): Likewise.
25621         (sc_prohibit_quotearg_without_use): Likewise.
25622         (sc_prohibit_quote_without_use): Likewise.
25623         (sc_prohibit_long_options_without_use): Likewise.
25624         (sc_prohibit_inttostr_without_use): Likewise.
25625         (sc_prohibit_ignore_value_without_use): Likewise.
25626         (sc_prohibit_error_without_use): Likewise.
25627         (sc_prohibit_xalloc_without_use): Likewise.
25628         (sc_prohibit_hash_without_use): Likewise.
25629         (sc_prohibit_hash_pjw_without_use): Likewise.
25630         (sc_prohibit_safe_read_without_use): Likewise.
25631         (sc_prohibit_argmatch_without_use): Likewise.
25632         (sc_prohibit_canonicalize_without_use): Likewise.
25633         (sc_prohibit_root_dev_ino_without_use): Likewise.
25634         (sc_prohibit_openat_without_use): Likewise.
25635         (sc_prohibit_c_ctype_without_use): Likewise.
25636         (sc_prohibit_signal_without_use): Likewise.
25637         (sc_prohibit_intprops_without_use): Likewise.
25638
25639 2010-03-30  Eric Blake  <eblake@redhat.com>
25640
25641         maint: improve module indicators
25642         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
25643         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
25644         columns, and avoid extra macro expansion.
25645
25646         fdopendir: work around FreeBSD bug
25647         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
25648         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
25649         * modules/dirent (Makefile.am): Substitute it.
25650         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
25651         declaration.
25652         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
25653         fix.
25654         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25655
25656 2010-03-29  Bruno Haible  <bruno@clisp.org>
25657
25658         Emit #pragma system_header after the inclusion guard, not before.
25659         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
25660         guard that spans the entire file, not before. This enables an
25661         optimization in GCC's preprocessor.
25662         * lib/ctype.in.h: Likewise.
25663         * lib/dirent.in.h: Likewise.
25664         * lib/errno.in.h: Likewise.
25665         * lib/float.in.h: Likewise.
25666         * lib/getopt.in.h: Likewise.
25667         * lib/iconv.in.h: Likewise.
25668         * lib/langinfo.in.h: Likewise.
25669         * lib/locale.in.h: Likewise.
25670         * lib/math.in.h: Likewise.
25671         * lib/netdb.in.h: Likewise.
25672         * lib/netinet_in.in.h: Likewise.
25673         * lib/pty.in.h: Likewise.
25674         * lib/sched.in.h: Likewise.
25675         * lib/se-selinux.in.h: Likewise.
25676         * lib/search.in.h: Likewise.
25677         * lib/spawn.in.h: Likewise.
25678         * lib/stdarg.in.h: Likewise.
25679         * lib/stdint.in.h: Likewise.
25680         * lib/string.in.h: Likewise.
25681         * lib/strings.in.h: Likewise.
25682         * lib/sys_file.in.h: Likewise.
25683         * lib/sys_ioctl.in.h: Likewise.
25684         * lib/sys_time.in.h: Likewise.
25685         * lib/sys_times.in.h: Likewise.
25686         * lib/sys_utsname.in.h: Likewise.
25687         * lib/sys_wait.in.h: Likewise.
25688         * lib/sysexits.in.h: Likewise.
25689         * lib/wctype.in.h: Likewise.
25690
25691 2010-03-28  James Youngman  <jay@gnu.org>
25692
25693         save-cwd: don't leak a file descriptor when the caller execs.
25694         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
25695         saved file descriptor.
25696         * modules/save-cwd (Depends-on): Depend on cloexec.
25697
25698 2010-03-29  Bruno Haible  <bruno@clisp.org>
25699
25700         Remove vestiges of fts-lgpl module.
25701         * lib/fts_.h: Assume GNULIB_FTS is 1.
25702         * lib/fts.c: Likewise.
25703         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
25704
25705 2010-03-28  Bruno Haible  <bruno@clisp.org>
25706
25707         Fix definition of tests witness macro.
25708         * gnulib-tool (func_import): Fix definition of witness macro.
25709
25710 2010-03-28  Bruno Haible  <bruno@clisp.org>
25711
25712         Fix ioctl's protoype on glibc systems.
25713         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
25714         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
25715         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
25716         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
25717         signature. If not, arrange to replace the ioctl function.
25718         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
25719         REPLACE_IOCTL.
25720         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
25721         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
25722         Reported by Ludovic Courtès <ludo@gnu.org>.
25723
25724 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
25725
25726         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
25727         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
25728         made it so grep -r --include=GLOB* ... did not work.
25729
25730 2010-03-26  Jim Meyering  <meyering@redhat.com>
25731             Eric Blake  <eblake@redhat.com>
25732
25733         maint.mk: prohibit use of test's -o and -a operators
25734         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
25735
25736 2010-03-28  Bruno Haible  <bruno@clisp.org>
25737
25738         Remove unused GNULIB_XYZ macro definitions.
25739         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
25740         invocation.
25741
25742 2010-03-28  Bruno Haible  <bruno@clisp.org>
25743
25744         Mark privileged tests modules.
25745         * modules/idpriv-drop-tests (Status): New section.
25746         * modules/idpriv-droptemp-tests (Status): New section.
25747
25748 2010-03-28  Bruno Haible  <bruno@clisp.org>
25749
25750         Split C++ tests into separate tests modules.
25751         * modules/dirent-c++-tests: New file, extracted from
25752         modules/dirent-tests.
25753         * modules/dirent-tests: Depend on it.
25754         * modules/fcntl-h-c++-tests: New file, extracted from
25755         modules/fcntl-h-tests.
25756         * modules/fcntl-h-tests: Depend on it.
25757         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
25758         * modules/glob-tests: Depend on it.
25759         * modules/iconv-h-c++-tests: New file, extracted from
25760         modules/iconv-h-tests.
25761         * modules/iconv-h-tests: Depend on it.
25762         * modules/langinfo-c++-tests: New file, extracted from
25763         modules/langinfo-tests.
25764         * modules/langinfo-tests: Depend on it.
25765         * modules/locale-c++-tests: New file, extracted from
25766         modules/locale-tests.
25767         * modules/locale-tests: Depend on it.
25768         * modules/math-c++-tests: New file, extracted from modules/math-tests.
25769         * modules/math-tests: Depend on it.
25770         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
25771         * modules/pty-tests: Depend on it.
25772         * modules/search-c++-tests: New file, extracted from
25773         modules/search-tests.
25774         * modules/search-tests: Depend on it.
25775         * modules/signal-c++-tests: New file, extracted from
25776         modules/signal-tests.
25777         * modules/signal-tests: Depend on it.
25778         * modules/spawn-c++-tests: New file, extracted from
25779         modules/spawn-tests.
25780         * modules/spawn-tests: Depend on it.
25781         * modules/stdio-c++-tests: New file, extracted from
25782         modules/stdio-tests.
25783         * modules/stdio-tests: Depend on it.
25784         * modules/stdlib-c++-tests: New file, extracted from
25785         modules/stdlib-tests.
25786         * modules/stdlib-tests: Depend on it.
25787         * modules/string-c++-tests: New file, extracted from
25788         modules/string-tests.
25789         * modules/string-tests: Depend on it.
25790         * modules/sys_ioctl-c++-tests: New file, extracted from
25791         modules/sys_ioctl-tests.
25792         * modules/sys_ioctl-tests: Depend on it.
25793         * modules/sys_select-c++-tests: New file, extracted from
25794         modules/sys_select-tests.
25795         * modules/sys_select-tests: Depend on it.
25796         * modules/sys_socket-c++-tests: New file, extracted from
25797         modules/sys_socket-tests.
25798         * modules/sys_socket-tests: Depend on it.
25799         * modules/sys_stat-c++-tests: New file, extracted from
25800         modules/sys_stat-tests.
25801         * modules/sys_stat-tests: Depend on it.
25802         * modules/sys_time-c++-tests: New file, extracted from
25803         modules/sys_time-tests.
25804         * modules/sys_time-tests: Depend on it.
25805         * modules/time-c++-tests: New file, extracted from modules/time-tests.
25806         * modules/time-tests: Depend on it.
25807         * modules/unistd-c++-tests: New file, extracted from
25808         modules/unistd-tests.
25809         * modules/unistd-tests: Depend on it.
25810         * modules/wchar-c++-tests: New file, extracted from
25811         modules/wchar-tests.
25812         * modules/wchar-tests: Depend on it.
25813         * modules/wctype-c++-tests: New file, extracted from
25814         modules/wctype-tests.
25815         * modules/wctype-tests: Depend on it.
25816         Reported by Simon Josefsson.
25817
25818 2010-03-28  Bruno Haible  <bruno@clisp.org>
25819
25820         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
25821         * gnulib-tool (func_exists_module): New function, extracted from
25822         func_verify_module.
25823         (func_verify_module): Use it.
25824         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
25825         'foo' only if 'foo' exists.
25826         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
25827         module.
25828
25829 2010-03-28  Bruno Haible  <bruno@clisp.org>
25830
25831         gnulib-tool: Add support for special categories of tests.
25832         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
25833         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
25834         (func_usage): Document them.
25835         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
25836         inc_unportable_tests, inc_all_tests): New variables.
25837         (func_acceptable): Consider these variables.
25838         (func_modules_transitive_closure): Make it work when the 'Status' field
25839         consists of multiple words.
25840         (func_import): Store and restore the values of inc_cxx_tests,
25841         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
25842         inc_all_tests in gnulib-comp.m4.
25843         (func_create_testdir): Set inc_all_tests to true.
25844         * doc/gnulib.texi (Extra tests modules): New section.
25845         Suggested by Jim Meyering.
25846
25847 2010-03-28  Bruno Haible  <bruno@clisp.org>
25848
25849         ansi-c++-opt: Allow turning off the C++ build by default.
25850         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
25851         gl_CXX_CHOICE_DEFAULT_NO is defined.
25852         Requested by Eric Blake.
25853
25854 2010-03-28  Bruno Haible  <bruno@clisp.org>
25855
25856         unistd: Avoid #define replacements in C++ mode.
25857         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
25858         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
25859         setsockopt, shutdown, select): In C++, attach a warning to the function
25860         if possible, rather than #defining the symbol to a dysfunctional alias.
25861         Reported by John W. Eaton <jwe@gnu.org>.
25862
25863 2010-03-28  Bruno Haible  <bruno@clisp.org>
25864
25865         Fix link errors on mingw.
25866         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
25867         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
25868         $(LIBSOCKET).
25869         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
25870         $(LIBSOCKET).
25871
25872 2010-03-28  Bruno Haible  <bruno@clisp.org>
25873             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25874
25875         lib-ignore: Determine different options for different compilers.
25876         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
25877         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
25878         Add comments.
25879         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
25880         * NEWS: Mention the change.
25881
25882 2010-03-27  Bruno Haible  <bruno@clisp.org>
25883
25884         Remove unused GNULIB_XYZ macro definitions.
25885         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
25886         * modules/fseek (configure.ac): Likewise.
25887         * modules/ioctl (configure.ac): Likewise.
25888         * modules/open (configure.ac): Likewise.
25889         * modules/stdlib-safer (configure.ac): Likewise.
25890
25891 2010-03-27  Bruno Haible  <bruno@clisp.org>
25892
25893         Add a remark about certain modules.
25894         * modules/malloc (Comment): New section.
25895         * modules/realloc (Comment): Likewise.
25896         * modules/sigpipe (Comment): Likewise.
25897
25898 2010-03-27  Bruno Haible  <bruno@clisp.org>
25899
25900         Resolve conflict between the two kinds of module indicators.
25901         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
25902         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
25903         * modules/canonicalize (configure.ac): Invoke
25904         gl_MODULE_INDICATOR_FOR_TESTS.
25905         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
25906         GNULIB_XYZ.
25907         * tests/test-dirent-c++.cc: Likewise.
25908         * tests/test-dirent-safer.c: Likewise.
25909         * tests/test-dup2.c: Likewise.
25910         * tests/test-fchdir.c: Likewise.
25911         * tests/test-fcntl-h-c++.cc: Likewise.
25912         * tests/test-getopt.c: Likewise.
25913         * tests/test-getopt.h: Likewise.
25914         * tests/test-langinfo-c++.cc: Likewise.
25915         * tests/test-locale-c++.cc: Likewise.
25916         * tests/test-math-c++.cc: Likewise.
25917         * tests/test-pty-c++.cc: Likewise.
25918         * tests/test-search-c++.cc: Likewise.
25919         * tests/test-signal-c++.cc: Likewise.
25920         * tests/test-spawn-c++.cc: Likewise.
25921         * tests/test-stdio-c++.cc: Likewise.
25922         * tests/test-stdlib-c++.cc: Likewise.
25923         * tests/test-string-c++.cc: Likewise.
25924         * tests/test-sys_ioctl-c++.cc: Likewise.
25925         * tests/test-sys_select-c++.cc: Likewise.
25926         * tests/test-sys_socket-c++.cc: Likewise.
25927         * tests/test-sys_stat-c++.cc: Likewise.
25928         * tests/test-sys_time-c++.cc: Likewise.
25929         * tests/test-time-c++.cc: Likewise.
25930         * tests/test-unistd-c++.cc: Likewise.
25931         * tests/test-wchar-c++.cc: Likewise.
25932         * tests/uninorm/test-u8-nfc.c: Likewise.
25933         * tests/uninorm/test-u8-nfd.c: Likewise.
25934         * tests/uninorm/test-u8-nfkc.c: Likewise.
25935         * tests/uninorm/test-u8-nfkd.c: Likewise.
25936         * tests/uninorm/test-u16-nfc.c: Likewise.
25937         * tests/uninorm/test-u16-nfd.c: Likewise.
25938         * tests/uninorm/test-u16-nfkc.c: Likewise.
25939         * tests/uninorm/test-u16-nfkd.c: Likewise.
25940         * tests/uninorm/test-u32-nfc.c: Likewise.
25941         * tests/uninorm/test-u32-nfc-big.c: Likewise.
25942         * tests/uninorm/test-u32-nfd.c: Likewise.
25943         * tests/uninorm/test-u32-nfd-big.c: Likewise.
25944         * tests/uninorm/test-u32-nfkc.c: Likewise.
25945         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
25946         * tests/uninorm/test-u32-nfkd.c: Likewise.
25947         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
25948         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25949
25950 2010-03-27  Bruno Haible  <bruno@clisp.org>
25951
25952         Distinguish two kinds of module indicators.
25953         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
25954         gl_MODULE_INDICATOR.
25955         (gl_MODULE_INDICATOR): New macro.
25956         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25957         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
25958         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25959         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25960         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25961         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25962         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25963         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25964         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25965         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25966         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25967         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25968         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25969         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25970         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25971         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25972         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25973         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25974         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25975         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25976         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25977         * modules/cloexec (configure.ac): Likewise.
25978         * modules/getopt-gnu (configure.ac): Likewise.
25979         * modules/uninorm/u8-normalize (configure.ac): Likewise.
25980         * modules/uninorm/u16-normalize (configure.ac): Likewise.
25981         * modules/uninorm/u32-normalize (configure.ac): Likewise.
25982         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
25983
25984 2010-03-27  Bruno Haible  <bruno@clisp.org>
25985
25986         New module description field 'Comment'.
25987         * gnulib-tool: New option --extract-comment.
25988         (func_usage): Document it.
25989         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
25990         (func_get_comment): New function.
25991         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
25992
25993 2010-03-27  Bruno Haible  <bruno@clisp.org>
25994
25995         Addendum to 2010-02-07 commit.
25996         * gnulib-tool (func_usage): Document --extract-applicability option.
25997
25998 2010-03-27  Bruno Haible  <bruno@clisp.org>
25999
26000         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
26001         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
26002         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
26003         rather than link errors.
26004
26005 2010-03-27  Bruno Haible  <bruno@clisp.org>
26006
26007         Avoid side effects from tests-related modules on the compilation of lib.
26008         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
26009         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
26010         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
26011         parameter. Emit into AM_CPPFLAGS a definition of the designated C
26012         macro.
26013         (func_import): Define a witness macro. Assign it a value that depends
26014         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
26015         tests-related modules.
26016         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
26017         Reported by Jim Meyering.
26018
26019 2010-03-27  Bruno Haible  <bruno@clisp.org>
26020
26021         Factorize common .m4 code.
26022         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
26023         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
26024         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
26025         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
26026         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
26027         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
26028         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
26029         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
26030         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
26031         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
26032         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
26033         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
26034         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
26035         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
26036         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
26037         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
26038         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
26039         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
26040         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
26041         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
26042         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
26043         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
26044         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
26045         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
26046         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
26047         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
26048         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
26049         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
26050         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
26051         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
26052         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
26053         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
26054
26055 2010-03-27  Bruno Haible  <bruno@clisp.org>
26056
26057         Fix a compilation error on Cygwin with g++ >= 4.3.
26058         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
26059         if it is undefined or if we alias it to chmod.
26060         (lstat): Don't warn about the use of this function if it is undefined
26061         or if we alias it to stat.
26062         Reported by Simon Josefsson.
26063
26064 2010-03-27  Bruno Haible  <bruno@clisp.org>
26065
26066         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
26067         * modules/getlogin (configure.ac): Update.
26068
26069         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
26070         * modules/getlogin_r (configure.ac): Update.
26071
26072         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
26073         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
26074         * modules/inet_ntop (configure.ac): Update.
26075
26076         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
26077         * modules/inet_pton (configure.ac): Update.
26078
26079         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
26080         * modules/mbslen (configure.ac): Update.
26081
26082         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
26083         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
26084         * modules/forkpty (configure.ac): Update.
26085         * modules/openpty (configure.ac): Update.
26086
26087 2010-03-26  Simon Josefsson  <simon@josefsson.org>
26088
26089         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
26090         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
26091
26092 2010-03-25  Eric Blake  <eblake@redhat.com>
26093
26094         maint: use pragma consistently across replacement headers
26095         * lib/ctype.in.h (system_header): Hoist for consistent placement.
26096         * lib/dirent.in.h (system_header): Likewise.
26097         * lib/errno.in.h (system_header): Likewise.
26098         * lib/float.in.h (system_header): Likewise.
26099         * lib/getopt.in.h (system_header): Likewise.
26100         * lib/iconv.in.h (system_header): Likewise.
26101         * lib/inttypes.in.h (system_header): Likewise.
26102         * lib/langinfo.in.h (system_header): Likewise.
26103         * lib/locale.in.h (system_header): Likewise.
26104         * lib/math.in.h (system_header): Likewise.
26105         * lib/netdb.in.h (system_header): Likewise.
26106         * lib/netinet_in.in.h (system_header): Likewise.
26107         * lib/pty.in.h (system_header): Likewise.
26108         * lib/sched.in.h (system_header): Likewise.
26109         * lib/se-selinux.in.h (system_header): Likewise.
26110         * lib/search.in.h (system_header): Likewise.
26111         * lib/spawn.in.h (system_header): Likewise.
26112         * lib/stdarg.in.h (system_header): Likewise.
26113         * lib/stdint.in.h (system_header): Likewise.
26114         * lib/string.in.h (system_header): Likewise.
26115         * lib/strings.in.h (system_header): Likewise.
26116         * lib/sys_file.in.h (system_header): Likewise.
26117         * lib/sys_ioctl.in.h (system_header): Likewise.
26118         * lib/sys_socket.in.h (system_header): Likewise.
26119         * lib/sys_times.in.h (system_header): Likewise.
26120         * lib/sys_utsname.in.h (system_header): Likewise.
26121         * lib/sys_wait.in.h (system_header): Likewise.
26122         * lib/sysexits.in.h (system_header): Likewise.
26123         * lib/unistd.in.h (system_header): Likewise.
26124         * lib/wctype.in.h (system_header): Likewise.
26125
26126         arpa/inet: fix mingw compilation warning
26127         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
26128         Reported by Matthew Bolte.
26129
26130 2010-03-25  Bruno Haible  <bruno@clisp.org>
26131
26132         Avoid collision between gnulib wrapper and libintl wrapper.
26133         * lib/printf.c (printf): Don't define if a printf wrapper is already
26134         defined in intl/printf.c.
26135         Reported by Michel Boaventura <michel@michelboaventura.com>.
26136
26137 2010-03-25  Bruno Haible  <bruno@clisp.org>
26138
26139         Use ANSI C.
26140         * lib/readutmp.h (getutent): Provide ANSI C prototype.
26141
26142 2010-03-25  Bruno Haible  <bruno@clisp.org>
26143
26144         Minor formatting changes.
26145         * lib/acosl.c: Insert space before function argument list.
26146         * lib/argz.c: Likewise.
26147         * lib/asinl.c: Likewise.
26148         * lib/expl.c: Likewise.
26149         * lib/gen-uni-tables.c: Likewise.
26150         * lib/gettext.h: Likewise.
26151         * lib/glthread/lock.h: Likewise.
26152         * lib/tanl.c: Likewise.
26153         * lib/uniname/uniname.c: Likewise.
26154         * tests/test-idpriv-drop.c: Likewise.
26155         * tests/test-idpriv-droptemp.c: Likewise.
26156         * tests/test-lock.c: Likewise.
26157         * tests/test-tls.c: Likewise.
26158         * lib/argp-help.c: Insert space before function-like macro argument
26159         list.
26160         * lib/memcmp.c: Likewise.
26161         * tests/test-base64.c: Likewise.
26162         * lib/localename.c: Insert space before sizeof's argument list.
26163         * lib/safe-alloc.h: Likewise.
26164         * lib/file-set.h: Insert space before macro argument list.
26165         * tests/test-argp.c: Likewise.
26166         * lib/argp-namefrob.h: Insert space before function parameter list.
26167         * lib/getaddrinfo.c: Likewise.
26168         * lib/netdb.in.h: Likewise.
26169         * lib/parse-duration.h: Likewise.
26170         * lib/parse-duration.c: Likewise.
26171         * lib/poll.c: Likewise.
26172         * lib/select.c: Likewise.
26173         * lib/trim.h: Likewise.
26174         * tests/test-usleep.c: Likewise.
26175         * lib/ldexpl.c: Insert space before function parameter list and before
26176         function argument list.
26177         * lib/logl.c: Likewise.
26178         * lib/sqrtl.c: Likewise.
26179         * lib/trim.c: Likewise.
26180         * lib/cosl.c: Use GNU style indentation. Insert space before function
26181         argument list.
26182         * lib/sinl.c: Likewise.
26183         * lib/tsearch.c: Insert space after 'for'.
26184         Reported by Jim Meyering.
26185
26186 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
26187
26188         * maint.mk (sc_Wundef_boolean): Check for the presence of the
26189         config header before grepping, as it's not present before
26190         autoreconf/configure are run.  Reported by Simon Josefsson.
26191
26192 2010-03-23  Bruno Haible  <bruno@clisp.org>
26193
26194         pt_chown: Make it work with automake < 1.11.
26195         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
26196         Reported by Simon Josefsson.
26197
26198 2010-03-23  Bruno Haible  <bruno@clisp.org>
26199
26200         pt_chown: Don't depend on GPLed modules.
26201         * lib/pt_chown.c: Don't include idpriv.h.
26202         (main): Don't drop privileges.
26203         * modules/pt_chown (Depends-on): Remove idpriv-drop.
26204         Reported by Simon Josefsson.
26205
26206 2010-03-24  Simon Josefsson  <simon@josefsson.org>
26207
26208         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
26209         suggestions from karl@freefriends.org (Karl Berry).
26210
26211 2010-03-22  Eric Blake  <eblake@redhat.com>
26212
26213         gethostname: further tweaks
26214         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
26215         are overriding gethostname.
26216         Suggested by Bruno Haible.
26217
26218 2010-03-21  Bruno Haible  <bruno@clisp.org>
26219
26220         Fix comments.
26221         * lib/forkpty.c (rpl_forkpty): Fix comment.
26222         * lib/openpty.c (rpl_openpty): Likewise.
26223         Reported by Eric Blake.
26224
26225 2010-03-22  Eric Blake  <eblake@redhat.com>
26226
26227         gethostname: fix build on mingw
26228         * lib/unistd.in.h (includes): Work around fact that mingw
26229         <winsock2.h> re-includes <unistd.h>, by avoiding any
26230         redeclarations if we are being included by <winsock2.h>.
26231         Reported by Matthias Bolte.
26232
26233 2010-03-21  Bruno Haible  <bruno@clisp.org>
26234
26235         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
26236         * lib/forkpty.c (forkpty): New replacement function, from glibc with
26237         modifications.
26238         * lib/pty.in.h (forkpty): Update declaration. Add comments.
26239         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
26240         provide the replacement.
26241         * modules/forkpty (Depends-on): Add openpty, login_tty.
26242         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
26243         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
26244         * doc/glibc-functions/forkpty.texi: More supported platforms.
26245         * config/srclist.txt: Add forkpty.c (commented).
26246
26247 2010-03-21  Bruno Haible  <bruno@clisp.org>
26248
26249         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
26250         (Makefile.am): Verify that PTY_LIB is defined.
26251
26252         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
26253
26254 2010-03-21  Bruno Haible  <bruno@clisp.org>
26255
26256         Tests for module 'login_tty'.
26257         * modules/login_tty-tests: New file.
26258         * tests/test-login_tty.c: New file.
26259
26260         New module 'login_tty'.
26261         * lib/login_tty.c: New file.
26262         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
26263         * modules/login_tty: New file.
26264         * doc/glibc-functions/login_tty.texi: Mention the new module.
26265
26266 2010-03-21  Bruno Haible  <bruno@clisp.org>
26267
26268         login_tty: Documentation.
26269         * doc/glibc-functions/login_tty.texi: New file.
26270         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
26271
26272 2010-03-21  Bruno Haible  <bruno@clisp.org>
26273
26274         pty: Consistent macro naming.
26275         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
26276         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
26277         * modules/pty (configure.ac): Update.
26278
26279 2010-03-21  Bruno Haible  <bruno@clisp.org>
26280
26281         Tests for openpty: Make stricter.
26282         * tests/test-openpty.c (main): Add test of canonical processing and
26283         erase.
26284         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
26285
26286         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
26287         * lib/openpty.c (openpty): New replacement function.
26288         * lib/pty.in.h: Include <termios.h>.
26289         (openpty): Update declaration. Add comments.
26290         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
26291         is not declared, arrange to provide the replacement. Check for _getpty
26292         and posix_openpt.
26293         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
26294         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
26295         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
26296         * modules/pty-tests (test_pty_c___LDADD): New variable.
26297         * doc/glibc-functions/openpty.texi: More supported platforms.
26298
26299 2010-03-21  Bruno Haible  <bruno@clisp.org>
26300
26301         setenv: Tweaks.
26302         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
26303         the test program.
26304         * doc/posix-functions/setenv.texi: Update platforms list.
26305
26306 2010-03-21  Bruno Haible  <bruno@clisp.org>
26307
26308         New module 'unlockpt'.
26309         * lib/unlockpt.c: New file, from glibc with modifications.
26310         * m4/unlockpt.m4: New file.
26311         * modules/unlockpt: New file.
26312         * lib/stdlib.in.h (unlockpt): New declaration.
26313         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
26314         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
26315         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
26316         HAVE_UNLOCKPT.
26317         * doc/posix-functions/unlockpt.texi: Mention the new module.
26318         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
26319         * config/srclist.txt: Add unlockpt.c (commented).
26320
26321 2010-03-21  Jim Meyering  <meyering@redhat.com>
26322
26323         maint.mk: prohibit inclusion of "intprops.h" without use
26324         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
26325
26326 2010-03-21  Bruno Haible  <bruno@clisp.org>
26327
26328         New module 'grantpt'.
26329         * lib/grantpt.c: New file, from glibc with modifications.
26330         * m4/grantpt.m4: New file.
26331         * modules/grantpt: New file.
26332         * lib/stdlib.in.h (grantpt): New declaration.
26333         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
26334         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
26335         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
26336         HAVE_GRANTPT.
26337         * doc/posix-functions/grantpt.texi: Mention the new module.
26338         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
26339         * config/srclist.txt: Add grantpt.c (commented).
26340
26341 2010-03-21  Bruno Haible  <bruno@clisp.org>
26342
26343         New module 'pt_chown'.
26344         * lib/pt_chown.c: New file, from glibc with modifications.
26345         * lib/pty-private.h: New file, from glibc with modifications.
26346         * modules/pt_chown: New file.
26347         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
26348
26349 2010-03-21  Bruno Haible  <bruno@clisp.org>
26350
26351         Tests for module 'ptsname'.
26352         * modules/ptsname-tests: New file.
26353         * tests/test-ptsname.c: New file.
26354
26355         New module 'ptsname'.
26356         * lib/ptsname.c: New file, from glibc with modifications.
26357         * m4/ptsname.m4: New file.
26358         * modules/ptsname: New file.
26359         * lib/stdlib.in.h (ptsname): New declaration.
26360         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
26361         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
26362         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
26363         HAVE_PTSNAME.
26364         * doc/posix-functions/ptsname.texi: Mention the new module.
26365         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
26366         * config/srclist.txt: Add ptsname.c (commented).
26367
26368 2010-03-21  Bruno Haible  <bruno@clisp.org>
26369
26370         Tests for module 'ttyname_r'.
26371         * modules/ttyname_r-tests: New file.
26372         * tests/test-ttyname_r.c: New file.
26373
26374         New module 'ttyname_r'.
26375         * lib/ttyname_r.c: New file.
26376         * m4/ttyname_r.m4: New file.
26377         * modules/ttyname_r: New file.
26378         * lib/unistd.in.h (ttyname_r): New declaration.
26379         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
26380         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
26381         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
26382         HAVE_TTYNAME_R.
26383         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
26384         * doc/posix-functions/ttyname_r.texi: Mention the new module.
26385
26386 2010-03-20  Bruno Haible  <bruno@clisp.org>
26387
26388         signal: Undefine macro definitions in C++ mode.
26389         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
26390         sigfillset): Undefine macro definitions from the system header in C++
26391         mode.
26392         Reported by John W. Eaton <jwe@gnu.org>.
26393
26394 2010-03-20  Bruno Haible  <bruno@clisp.org>
26395
26396         Ensure no #include statements inside extern "C" { ... }.
26397         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
26398         contain #include statements.
26399         * lib/time.in.h: Likewise.
26400
26401 2010-03-20  Bruno Haible  <bruno@clisp.org>
26402
26403         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
26404         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
26405         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
26406         Reported by John W. Eaton <jwe@gnu.org>.
26407
26408 2010-03-20  Bruno Haible  <bruno@clisp.org>
26409
26410         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
26411         Reported by Jim Meyering.
26412
26413 2010-03-20  Bruno Haible  <bruno@clisp.org>
26414
26415         pipe: Set errno upon failure.
26416         * lib/pipe.h: Specify that when -1 is returned, errno is set.
26417         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
26418         errno value in error message.
26419
26420 2010-03-20  Bruno Haible  <bruno@clisp.org>
26421             Jim Meyering  <meyering@redhat.com>
26422
26423         lchown: Avoid "unused variable" warning.
26424         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
26425
26426 2010-03-20  Bruno Haible  <bruno@clisp.org>
26427
26428         Work around unlink() bug on MacOS X 10.5.6.
26429         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
26430         attempting to unlink a parent directory.
26431         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
26432         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
26433         activate for the replacement function.
26434         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
26435
26436 2010-03-20  Bruno Haible  <bruno@clisp.org>
26437
26438         Fix link errors on Solaris 8.
26439         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
26440         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
26441
26442 2010-03-19  Jim Meyering  <meyering@redhat.com>
26443
26444         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
26445         The _LIBC implementation of build_range_exp correctly honors the
26446         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
26447         However, the non-_LIBC implementation would ignore that syntax-bit
26448         flag and return REG_ERANGE unconditionally.
26449         This change makes it honor that flag.
26450         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
26451         Make two pointer parameters "const".
26452         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
26453         (parse_bracket_exp): Update caller.
26454
26455         regex.m4: correct the reversed range endpoint ([b-a]) test
26456         * m4/regex.m4: When requiring that [b-a] evoke failure,
26457         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
26458         test pass once again for x86-based systems.
26459
26460 2010-03-19  Bruno Haible  <bruno@clisp.org>
26461
26462         scandir: Fix link error on Solaris 8.
26463         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
26464         macros.
26465
26466 2010-03-19  Bruno Haible  <bruno@clisp.org>
26467
26468         getusershell: Fix documentation.
26469         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
26470         module.
26471         * doc/glibc-functions/setusershell.texi: Likewise.
26472
26473         getusershell: Provide declaration, missing on Solaris 9.
26474         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
26475         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
26476         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
26477         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
26478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26479         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
26480         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
26481         HAVE_GETUSERSHELL.
26482         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
26483
26484 2010-03-19  Bruno Haible  <bruno@clisp.org>
26485
26486         wctype: Provide iswblank function.
26487         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
26488         exists and is fine.
26489         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
26490         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
26491         * tests/test-wctype.c (main): Re-enable the iswblank tests.
26492         * doc/posix-functions/iswblank.texi: Update.
26493
26494 2010-03-19  Bruno Haible  <bruno@clisp.org>
26495
26496         Tests of module 'pty' in C++ mode.
26497         * modules/pty-tests: New file.
26498         * tests/test-pty-c++.cc: New file.
26499         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26500
26501 2010-03-19  Eric Blake  <eblake@redhat.com>
26502
26503         logb: fix documentation
26504         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
26505         1.5 declaration bug.
26506
26507         forkpty, openpty: prefer glibc's const-safe prototype
26508         * lib/forkpty.c (rpl_forkpty): New file.
26509         * lib/openpty.c (rpl_openpty): Likewise.
26510         * modules/forkpty (Files): Distribute it.
26511         * modules/openpty (Files): Likewise.
26512         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
26513         check...
26514         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
26515         replacement for for non-const BSD signature.
26516         * modules/pty (Makefile.am): Substitute witnesses.
26517         * lib/pty.in.h (forkpty, openpty): Declare replacements.
26518         * tests/test-forkpty.c: Update signature check.
26519         * tests/test-openpty.c: Likewise.
26520         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
26521         * doc/glibc-functions/openpty.texi (openpty): Likewise.
26522
26523         forkpty, openpty: split functions into new modules
26524         * modules/pty (Makefile.am): Substitute new witnesses.
26525         (Libraries): Move library detection...
26526         * modules/forkpty: ...into new module.
26527         * modules/openpty: Another new module.
26528         * modules/pty-tests: Rename and split...
26529         * modules/forkpty-tests: ...to this...
26530         * modules/openpty-tests: ...and this.
26531         * tests/test-pty.c: Rename and split...
26532         * tests/test-forkpty.c: ...to this...
26533         * tests/test-openpty.c: ...and this.
26534         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
26535         (gl_PTY): Split library searching...
26536         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
26537         (gl_FORKPTY, gl_OPENPTY): New macros.
26538         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
26539         * NEWS: Mention the split.
26540         * MODULES.html.sh (Misc): Document the modules.
26541         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
26542         * doc/glibc-functions/openpty.texi (openpty): Likewise.
26543
26544         pty: improve replacement header
26545         * lib/pty.in.h: New file.
26546         * modules/pty (Files): Ship it.
26547         (Makefile.am): Always build replacement.
26548         * m4/pty.m4: Rename...
26549         * m4/pty_h.m4: ...to this.
26550         (gl_PTY): Modernize setting of witness macros; update check of
26551         forkpty to take proper advantage of cache.
26552         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
26553
26554         getopt: avoid compiler warning
26555         * lib/getopt.c (attribute_hidden): Remove unused macro.
26556
26557 2010-03-18  Bruno Haible  <bruno@clisp.org>
26558
26559         Fix link errors on Solaris 8.
26560         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
26561         * modules/search-tests (test_search_c___LDADD): Likewise.
26562         * modules/signal-tests (test_signal_c___LDADD): Likewise.
26563         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
26564         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
26565         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
26566         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
26567         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
26568         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
26569
26570 2010-03-18  Bruno Haible  <bruno@clisp.org>
26571
26572         Fix bug introduced on 2010-03-14.
26573         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
26574         (gl_SPAWN_H): Require it.
26575         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
26576         Reported by Simon Josefsson.
26577
26578 2010-03-18  Bruno Haible  <bruno@clisp.org>
26579
26580         Fix typo introduced on 2009-12-31.
26581         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
26582         posix_spawn_file_actions_adddup2.
26583
26584 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
26585         and Eric Blake  <eblake@redhat.com>
26586
26587         test-vc-list-files-git: make more robust
26588         * tests/test-vc-list-files-git.sh: Unset problematic environment
26589         variables.  Chain commands together.
26590
26591 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
26592
26593         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
26594         `AC_CHECK_DECL' invocation.
26595
26596 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
26597
26598         * lib/inttostr.c (inttostr): Make sure the invocation of verify
26599         appears before executable statements. Suggested by Petr Sumbera
26600         <Petr.Sumbera@Sun.COM>.
26601
26602 2010-03-14  Bruno Haible  <bruno@clisp.org>
26603
26604         * tests/test-flock.c (test_exclusive): Comment out a test that causes
26605         portability problems. Instead use a simpler test.
26606         (main): Check that invalid arguments are rejected only on Linux.
26607
26608 2010-03-14  Bruno Haible  <bruno@clisp.org>
26609
26610         Fix bug introduced on 2009-12-31.
26611         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
26612         gl_PREREQ_SYS_H_WINSOCK2 always.
26613         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
26614         SYS_SOCKET_H variable.
26615         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
26616         Update comments.
26617         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
26618         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
26619         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26620         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
26621         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
26622
26623 2010-03-14  Bruno Haible  <bruno@clisp.org>
26624
26625         Fix values returned by sinl, cosl.
26626         * lib/trigl.h: Add specification comments.
26627         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
26628         that combines the values from the precomputed table with the values of
26629         the Chebyshev polynomials.
26630
26631 2010-03-14  Bruno Haible  <bruno@clisp.org>
26632
26633         Fix compilation error when modules 'posix_spawn[p]' are not used.
26634         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
26635         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
26636
26637 2010-03-14  Bruno Haible  <bruno@clisp.org>
26638
26639         Fix compilation error on mingw when module 'time_r' is not used.
26640         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
26641         is 1.
26642         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
26643         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26644         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
26645         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
26646
26647 2010-03-14  Bruno Haible  <bruno@clisp.org>
26648
26649         Fix compilation error with Sun C.
26650         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
26651         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
26652         instead of GCC specific ULONG_LONG_MAX.
26653         * lib/xstrtoll.c: Likewise.
26654         * lib/xstrtoull.c: Likewise.
26655
26656 2010-03-13  Bruno Haible  <bruno@clisp.org>
26657
26658         Allow the user to disable C++ code and tests.
26659         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
26660         (gl_PROG_ANSI_CXX): Require it.
26661
26662 2010-03-13  Bruno Haible  <bruno@clisp.org>
26663
26664         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
26665         cases.
26666
26667 2010-03-13  Bruno Haible  <bruno@clisp.org>
26668
26669         Test that gnulib does not break the standard C++ headers.
26670         * tests/test-locale-c++2.cc: New file.
26671         * modules/locale-tests (Files): Add it.
26672         (Makefile.am): Compile it for test-locale-c++.
26673         * tests/test-math-c++2.cc: New file.
26674         * modules/math-tests (Files): Add it.
26675         (Makefile.am): Compile it for test-math-c++.
26676         * tests/test-signal-c++2.cc: New file.
26677         * modules/signal-tests (Files): Add it.
26678         (Makefile.am): Compile it for test-signal-c++.
26679         * tests/test-stdio-c++2.cc: New file.
26680         * modules/stdio-tests (Files): Add it.
26681         (Makefile.am): Compile it for test-stdio-c++.
26682         * tests/test-stdlib-c++2.cc: New file.
26683         * modules/stdlib-tests (Files): Add it.
26684         (Makefile.am): Compile it for test-stdlib-c++.
26685         * tests/test-string-c++2.cc: New file.
26686         * modules/string-tests (Files): Add it.
26687         (Makefile.am): Compile it for test-string-c++.
26688         * tests/test-time-c++2.cc: New file.
26689         * modules/time-tests (Files): Add it.
26690         (Makefile.am): Compile it for test-time-c++.
26691         Reported by John W. Eaton <jwe@gnu.org>.
26692
26693 2010-03-13  Bruno Haible  <bruno@clisp.org>
26694
26695         * gnulib-tool (func_usage): Clarify which options are available for
26696         --create-testdir and --create-megatestdir.
26697
26698 2010-03-13  Bruno Haible  <bruno@clisp.org>
26699
26700         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
26701         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
26702         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
26703         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
26704         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
26705         when appropriate.
26706         Reported by Jim Meyering.
26707
26708 2010-03-12  Simon Josefsson  <simon@josefsson.org>
26709
26710         * gnulib-tool (func_import): Explain origin of code.
26711
26712 2010-03-12  Bruno Haible  <bruno@clisp.org>
26713
26714         Fix problem with automake's definition of CXXLINK.
26715         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
26716         Reported by Simon Josefsson and Ludovic Courtès.
26717
26718 2010-03-12  Bruno Haible  <bruno@clisp.org>
26719
26720         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
26721         stable releases.
26722
26723 2010-03-11  Bruno Haible  <bruno@clisp.org>
26724
26725         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
26726         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
26727         whether the system provides one variant or multiple variants of the
26728         function.
26729         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
26730         C++ compilers.
26731         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
26732         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
26733         Reported by Jim Meyering.
26734
26735 2010-03-09  Simon Josefsson  <simon@josefsson.org>
26736
26737         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
26738
26739 2010-03-08  Bruno Haible  <bruno@clisp.org>
26740
26741         gnulib-tool: Add support for --libtool in --create-testdir.
26742         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
26743         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
26744
26745 2010-03-08  Eric Blake  <eblake@redhat.com>
26746
26747         gnulib-tool.texi: mention possibility of git submodule
26748         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
26749         submodules.
26750         * doc/.gitignore: Ignore another generated file.
26751
26752 2010-03-08  Karl Berry  <karl@gnu.org>
26753
26754         * doc/gnulib-tool.texi (VCS Issues): Mention third option
26755         of committing gnulib files while skipping others.
26756
26757 2010-03-07  Bruno Haible  <bruno@clisp.org>
26758
26759         Tests of module 'wctype' in C++ mode.
26760         * tests/test-wctype-c++.cc: New file.
26761         * modules/wctype-tests (Files): Add it and tests/signature.h.
26762         (Depends-on): Add ansi-c++-opt.
26763         (Makefile.am): Arrange to compile and run test-wctype-c++.
26764
26765         Tests of module 'wchar' in C++ mode.
26766         * tests/test-wchar-c++.cc: New file.
26767         * modules/wchar-tests (Files): Add it and tests/signature.h.
26768         (Depends-on): Add ansi-c++-opt.
26769         (Makefile.am): Arrange to compile and run test-wchar-c++.
26770         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
26771         gl_MODULE_INDICATOR.
26772
26773         Tests of module 'unistd' in C++ mode.
26774         * tests/test-unistd-c++.cc: New file.
26775         * modules/unistd-tests (Files): Add it and tests/signature.h.
26776         (Depends-on): Add ansi-c++-opt.
26777         (Makefile.am): Arrange to compile and run test-unistd-c++.
26778         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
26779         gl_MODULE_INDICATOR.
26780
26781         Tests of module 'time' in C++ mode.
26782         * tests/test-time-c++.cc: New file.
26783         * modules/time-tests (Files): Add it and tests/signature.h.
26784         (Depends-on): Add ansi-c++-opt.
26785         (Makefile.am): Arrange to compile and run test-time-c++.
26786         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26787
26788         Tests of module 'sys_time' in C++ mode.
26789         * tests/test-sys_time-c++.cc: New file.
26790         * modules/sys_time-tests (Files): Add it and tests/signature.h.
26791         (Depends-on): Add ansi-c++-opt.
26792         (Makefile.am): Arrange to compile and run test-sys_time-c++.
26793         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
26794         gl_MODULE_INDICATOR.
26795
26796         Tests of module 'sys_stat' in C++ mode.
26797         * tests/test-sys_stat-c++.cc: New file.
26798         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
26799         (Depends-on): Add ansi-c++-opt.
26800         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
26801         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
26802         gl_MODULE_INDICATOR.
26803
26804         Tests of module 'sys_socket' in C++ mode.
26805         * tests/test-sys_socket-c++.cc: New file.
26806         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
26807         (Depends-on): Add ansi-c++-opt.
26808         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
26809         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
26810         gl_MODULE_INDICATOR.
26811
26812         Tests of module 'sys_select' in C++ mode.
26813         * tests/test-sys_select-c++.cc: New file.
26814         * modules/sys_select-tests (Files): Add it and tests/signature.h.
26815         (Depends-on): Add ansi-c++-opt.
26816         (Makefile.am): Arrange to compile and run test-sys_select-c++.
26817         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
26818         gl_MODULE_INDICATOR.
26819
26820         Tests of module 'sys_ioctl' in C++ mode.
26821         * tests/test-sys_ioctl-c++.cc: New file.
26822         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
26823         (Depends-on): Add ansi-c++-opt.
26824         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
26825         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
26826         gl_MODULE_INDICATOR.
26827
26828         Tests of module 'string' in C++ mode.
26829         * tests/test-string-c++.cc: New file.
26830         * modules/string-tests (Files): Add it and tests/signature.h.
26831         (Depends-on): Add ansi-c++-opt.
26832         (Makefile.am): Arrange to compile and run test-string-c++.
26833         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
26834         gl_MODULE_INDICATOR.
26835
26836         Tests of module 'stdlib' in C++ mode.
26837         * tests/test-stdlib-c++.cc: New file.
26838         * modules/stdlib-tests (Files): Add it and tests/signature.h.
26839         (Depends-on): Add ansi-c++-opt.
26840         (Makefile.am): Arrange to compile and run test-stdlib-c++.
26841         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
26842         gl_MODULE_INDICATOR.
26843
26844         Tests of module 'stdio' in C++ mode.
26845         * tests/test-stdio-c++.cc: New file.
26846         * modules/stdio-tests (Files): Add it and tests/signature.h.
26847         (Depends-on): Add ansi-c++-opt.
26848         (Makefile.am): Arrange to compile and run test-stdio-c++.
26849         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
26850         gl_MODULE_INDICATOR.
26851
26852         Tests of module 'spawn' in C++ mode.
26853         * tests/test-spawn-c++.cc: New file.
26854         * modules/spawn-tests (Files): Add it and tests/signature.h.
26855         (Depends-on): Add ansi-c++-opt.
26856         (Makefile.am): Arrange to compile and run test-spawn-c++.
26857         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
26858         gl_MODULE_INDICATOR.
26859
26860         Tests of module 'signal' in C++ mode.
26861         * tests/test-signal-c++.cc: New file.
26862         * modules/signal-tests (Files): Add it and tests/signature.h.
26863         (Depends-on): Add ansi-c++-opt.
26864         (Makefile.am): Arrange to compile and run test-signal-c++.
26865         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
26866         gl_MODULE_INDICATOR.
26867
26868         Tests of module 'search' in C++ mode.
26869         * tests/test-search-c++.cc: New file.
26870         * modules/search-tests (Files): Add it and tests/signature.h.
26871         (Depends-on): Add ansi-c++-opt.
26872         (Makefile.am): Arrange to compile and run test-search-c++.
26873         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
26874         gl_MODULE_INDICATOR.
26875
26876         Tests of module 'math' in C++ mode.
26877         * tests/test-math-c++.cc: New file.
26878         * modules/math-tests (Files): Add it and tests/signature.h.
26879         (Depends-on): Add ansi-c++-opt.
26880         (Makefile.am): Arrange to compile and run test-math-c++.
26881         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26882
26883         Tests of module 'locale' in C++ mode.
26884         * tests/test-locale-c++.cc: New file.
26885         * modules/locale-tests (Files): Add it and tests/signature.h.
26886         (Depends-on): Add ansi-c++-opt.
26887         (Makefile.am): Arrange to compile and run test-locale-c++.
26888         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
26889         gl_MODULE_INDICATOR.
26890
26891         Tests of module 'langinfo' in C++ mode.
26892         * tests/test-langinfo-c++.cc: New file.
26893         * modules/langinfo-tests (Files): Add it and tests/signature.h.
26894         (Depends-on): Add ansi-c++-opt.
26895         (Makefile.am): Arrange to compile and run test-langinfo-c++.
26896         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
26897         gl_MODULE_INDICATOR.
26898
26899         Tests of module 'iconv-h' in C++ mode.
26900         * tests/test-iconv-h-c++.cc: New file.
26901         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
26902         (Depends-on): Add ansi-c++-opt.
26903         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
26904
26905         Tests of module 'glob' in C++ mode.
26906         * tests/test-glob-c++.cc: New file.
26907         * modules/glob-tests (Files): Add it.
26908         (Depends-on): Add ansi-c++-opt.
26909         (Makefile.am): Arrange to compile and run test-glob-c++.
26910
26911         Tests of module 'fcntl-h' in C++ mode.
26912         * tests/test-fcntl-h-c++.cc: New file.
26913         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
26914         (Depends-on): Add ansi-c++-opt.
26915         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
26916         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
26917         gl_MODULE_INDICATOR.
26918
26919         Tests of module 'dirent' in C++ mode.
26920         * tests/test-dirent-c++.cc: New file.
26921         * modules/dirent-tests (Files): Add it and tests/signature.h.
26922         (Depends-on): Add ansi-c++-opt.
26923         (Makefile.am): Arrange to compile and run test-dirent-c++.
26924         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
26925         gl_MODULE_INDICATOR.
26926
26927         New module 'ansi-c++-opt'.
26928         * modules/ansi-c++-opt: New file.
26929         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
26930
26931         Document C++ namespace mode.
26932         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
26933
26934         wctype: Avoid #define replacements in C++ mode.
26935         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
26936         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
26937         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
26938         In C++, define a namespaced alias symbol.
26939         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
26940         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
26941         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
26942         rule.
26943
26944         wchar: Avoid #define replacements in C++ mode.
26945         * lib/wchar.in.h: Include c++defs.h.
26946         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
26947         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
26948         symbol.
26949         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
26950         * modules/wchar (Depends-on): Add c++defs.
26951         (Makefile.am): Update wchar.h rule.
26952
26953         unistd: Avoid #define replacements in C++ mode.
26954         * lib/unistd.in.h: Include c++defs.h.
26955         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
26956         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
26957         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
26958         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
26959         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
26960         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
26961         symbol.
26962         (environ): Update.
26963         * modules/unistd (Depends-on): Add c++defs.
26964         (Makefile.am): Update unistd.h rule.
26965
26966         time: Avoid #define replacements in C++ mode.
26967         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
26968         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
26969         define a namespaced alias symbol.
26970         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
26971         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
26972         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
26973         * modules/time (Depends-on): Add c++defs, warn-on-use.
26974         (Makefile.am): Update time.h rule.
26975         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26976         * modules/nanosleep (configure.ac): Likewise.
26977         * modules/strptime (configure.ac): Likewise.
26978         * modules/timegm (configure.ac): Likewise.
26979
26980         sys_time: Avoid #define replacements in C++ mode.
26981         * lib/sys_time.in.h: Include c++defs.h.
26982         (gettimeofday): In C++, define a namespaced alias symbol.
26983         * modules/sys_time (Depends-on): Add c++defs.
26984         (Makefile.am): Update sys/time.h rule.
26985
26986         sys_stat: Avoid #define replacements in C++ mode.
26987         * lib/sys_stat.in.h: Include c++defs.h.
26988         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
26989         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
26990         namespaced alias symbol.
26991         In C++, define a namespaced alias symbol.
26992         * modules/sys_stat (Depends-on): Add c++defs.
26993         (Makefile.am): Update sys/stat.h rule.
26994
26995         sys_socket: Avoid #define replacements in C++ mode.
26996         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
26997         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
26998         definitions also when the system has a <sys/socket.h>.
26999         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
27000         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
27001         In C++, define a namespaced alias symbol.
27002         * modules/sys_socket (Depends-on): Add c++defs.
27003         (Makefile.am): Update sys/socket.h rule.
27004
27005         sys_select: Avoid #define replacements in C++ mode.
27006         * lib/sys_select.in.h: Include c++defs.h. Enable the function
27007         definitions also when the system has a <sys/select.h>.
27008         (select): In C++, define a namespaced alias symbol.
27009         * modules/sys_select (Depends-on): Add c++defs.
27010         (Makefile.am): Update sys/select.h rule.
27011
27012         sys_ioctl: Avoid #define replacements in C++ mode.
27013         * lib/sys_ioctl.in.h: Include c++defs.h.
27014         (ioctl): In C++, define a namespaced alias symbol.
27015         * modules/sys_ioctl (Depends-on): Add c++defs.
27016         (Makefile.am): Update sys/ioctl.h rule.
27017
27018         string: Avoid #define replacements in C++ mode.
27019         * lib/string.in.h: Include c++defs.h.
27020         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
27021         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
27022         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
27023         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
27024         strsignal, strverscmp): In C++, define a namespaced alias symbol.
27025         * modules/string (Depends-on): Add c++defs.
27026         (Makefile.am): Update string.h rule.
27027
27028         stdlib: Avoid #define replacements in C++ mode.
27029         * lib/stdlib.in.h: Include c++defs.h.
27030         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
27031         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
27032         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
27033         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
27034         symbol.
27035         * modules/stdlib (Depends-on): Add c++defs.
27036         (Makefile.am): Update stdlib.h rule.
27037
27038         stdio: Avoid #define replacements in C++ mode.
27039         * lib/stdio.in.h: Include c++defs.h.
27040         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
27041         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
27042         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
27043         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
27044         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
27045         namespaced alias symbol.
27046         * modules/stdio (Depends-on): Add c++defs.
27047         (Makefile.am): Update stdio.h rule.
27048
27049         spawn: Avoid #define replacements in C++ mode.
27050         * lib/spawn.in.h: Include c++defs.h.
27051         (posix_spawn, posix_spawnp, posix_spawnattr_init,
27052         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
27053         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
27054         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
27055         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
27056         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
27057         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
27058         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
27059         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
27060         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
27061         In C++, define a namespaced alias symbol.
27062         * modules/spawn (Depends-on): Add c++defs.
27063         (Makefile.am): Update spawn.h rule.
27064
27065         signal: Avoid #define replacements in C++ mode.
27066         * lib/signal.in.h: Include c++defs.h.
27067         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
27068         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
27069         namespaced alias symbol.
27070         * modules/signal (Depends-on): Add c++defs.
27071         (Makefile.am): Update signal.h rule.
27072
27073         search: Avoid #define replacements in C++ mode.
27074         * lib/search.in.h: Include c++defs.h.
27075         (_gl_search_compar_fn, _gl_search_action_fn): New types.
27076         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
27077         symbol.
27078         * modules/search (Depends-on): Add c++defs.
27079         (Makefile.am): Update search.h rule.
27080
27081         math: Avoid #define replacements in C++ mode.
27082         * lib/math.in.h: Include c++defs.h.
27083         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
27084         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
27085         trunc, truncl): In C++, define a namespaced alias symbol.
27086         * modules/math (Depends-on): Add c++defs.
27087         (Makefile.am): Update math.h rule.
27088
27089         locale: Avoid #define replacements in C++ mode.
27090         * lib/locale.in.h: Include c++defs.h.
27091         (duplocale): In C++, define a namespaced alias symbol.
27092         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
27093         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
27094         * modules/locale (Depends-on): Add c++defs.
27095         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
27096
27097         langinfo: Avoid #define replacements in C++ mode.
27098         * lib/langinfo.in.h: Include c++defs.h.
27099         (nl_langinfo): In C++, define a namespaced alias symbol.
27100         * modules/langinfo (Depends-on): Add c++defs.
27101         (Makefile.am): Update langinfo.h rule.
27102
27103         iconv-h: Avoid #define replacements in C++ mode.
27104         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
27105         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
27106         symbol.
27107         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
27108         whenever iconv is present.
27109         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
27110         (Makefile.am): Update iconv.h rule.
27111
27112         glob: Avoid #define replacements in C++ mode.
27113         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
27114         (_gl_glob_errfunc_fn): New type.
27115         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
27116         symbol.
27117         * modules/glob (Depends-on): Add c++defs, warn-on-use.
27118         (Makefile.am): Update glob.h rule.
27119
27120         fcntl-h: Avoid #define replacements in C++ mode.
27121         * lib/fcntl.in.h: Include c++defs.h.
27122         (fcntl, open, openat): In C++, define a namespaced alias symbol.
27123         * modules/fcntl-h (Depends-on): Add c++defs.
27124         (Makefile.am): Update fcntl.h rule.
27125
27126         dirent: Avoid #define replacements in C++ mode.
27127         * lib/dirent.in.h: Include c++defs.h.
27128         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
27129         namespaced alias symbol.
27130         (dirfd): Update declaration.
27131         * modules/dirent (Depends-on): Add c++defs.
27132         (Makefile.am): Update dirent.h rule.
27133
27134         ctype: Make it usable in C++ code.
27135         * lib/ctype.in.h: Include c++defs.h.
27136         (isblank): Declare as extern "C".
27137         * modules/ctype (Depends-on): Add c++defs.
27138         (Makefile.am): Update ctype.h rule.
27139
27140         New module 'c++defs'.
27141         * modules/c++defs: New file.
27142         * build-aux/c++defs.h: New file.
27143         Reported by John W. Eaton <jwe@gnu.org>.
27144
27145 2010-03-07  Bruno Haible  <bruno@clisp.org>
27146
27147         logb: Provide missing declaration for Cygwin.
27148         * lib/math.in.h (logb): New declaration.
27149         * m4/logb.m4: New file.
27150         * modules/logb (Files): Add m4/logb.m4.
27151         (Depends-on): Add math.
27152         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
27153         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
27154         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
27155         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
27156         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
27157
27158 2010-03-07  Bruno Haible  <bruno@clisp.org>
27159
27160         Fix test-cond link error.
27161         * tests/test-cond.c: Include <stdio.h>.
27162
27163 2010-03-07  Bruno Haible  <bruno@clisp.org>
27164
27165         Fix test-dirent-safer link error.
27166         * modules/dirent-safer-tests (Makefile.am): Define
27167         test_dirent_safer_LDADD.
27168
27169 2010-03-07  Bruno Haible  <bruno@clisp.org>
27170
27171         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
27172         among default module list.
27173
27174 2010-03-07  Bruno Haible  <bruno@clisp.org>
27175
27176         Fix link error on platforms with GNU libiconv.
27177         * modules/unistr/u8-strcoll-tests (Makefile): Define
27178         test_u8_strcoll_LDADD.
27179         * modules/unistr/u16-strcoll-tests (Makefile): Define
27180         test_u16_strcoll_LDADD.
27181         * modules/unistr/u32-strcoll-tests (Makefile): Define
27182         test_u32_strcoll_LDADD.
27183
27184 2010-03-07  Bruno Haible  <bruno@clisp.org>
27185
27186         Use POSIX declarations for socket functions.
27187         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
27188         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
27189         rpl_sendto): Change declaration to match POSIX.
27190         * lib/connect.c (rpl_connect): Likewise.
27191         * lib/accept.c (rpl_accept): Likewise.
27192         * lib/bind.c (rpl_bind): Likewise.
27193         * lib/getpeername.c (rpl_getpeername): Likewise.
27194         * lib/getsockname.c (rpl_getsockname): Likewise.
27195         * lib/recv.c (rpl_recv): Likewise.
27196         * lib/send.c (rpl_send): Likewise.
27197         * lib/recvfrom.c (rpl_recvfrom): Likewise.
27198         * lib/sendto.c (rpl_sendto): Likewise.
27199
27200 2010-03-06  Bruno Haible  <bruno@clisp.org>
27201
27202         Clarify access, euidaccess, faccessat.
27203         * doc/posix-functions/faccessat.texi: Mention security problem under
27204         "Other problems", not "Portability problems".
27205         * doc/posix-functions/access.texi: Likewise. Mention a related security
27206         problem.
27207         * doc/glibc-functions/euidaccess.texi: Mention security problems.
27208         * lib/euidaccess.c: Add comments about platforms.
27209         * lib/unistd.in.h (access, euidaccess): Add warnings.
27210
27211 2010-03-07  Bruno Haible  <bruno@clisp.org>
27212
27213         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
27214         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
27215         (POSIX_SPAWN_SETSCHEDULER): Likewise.
27216         (POSIX_SPAWN_USEVFORK): Define in a way that works when
27217         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
27218         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
27219         declare when POSIX_SPAWN_SETSCHEDULER is zero.
27220         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
27221         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
27222         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
27223         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
27224         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
27225         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
27226         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
27227         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
27228         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
27229         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
27230         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
27231         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
27232         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
27233         Likewise.
27234         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
27235         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
27236         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
27237         Likewise.
27238         * tests/test-spawn.c (main): Make it work when
27239         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
27240
27241 2010-03-07  Bruno Haible  <bruno@clisp.org>
27242
27243         Fix incorrect Makefile.am generation in German locale.
27244         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
27245         Execute sed command with character range in C locale.
27246
27247 2010-03-06  Bruno Haible  <bruno@clisp.org>
27248
27249         Tests for module 'iconv-h'.
27250         * modules/iconv-h-tests: New file.
27251         * tests/test-iconv-h.c: New file.
27252
27253         New module 'iconv-h'.
27254         * modules/iconv-h: New file.
27255         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
27256         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
27257         (configure.ac): Remove gl_ICONV_H.
27258         (Makefile.am): Remove rule for iconv.h.
27259
27260 2010-03-06  Bruno Haible  <bruno@clisp.org>
27261
27262         More consistent naming of *.m4 files.
27263         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
27264         * modules/wctype (Files): Update.
27265
27266         More consistent naming of *.m4 files.
27267         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
27268         * modules/wchar (Files): Update.
27269
27270 2010-03-06  Jim Meyering  <meyering@redhat.com>
27271
27272         euidaccess: relax license to LGPLv2+
27273         * modules/euidaccess (License): Relax to LGPLv2+.
27274
27275 2010-03-06  Bruno Haible  <bruno@clisp.org>
27276
27277         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
27278         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
27279         (Makefile.am): Augment lib_SOURCES instead.
27280
27281 2010-03-04  Jim Meyering  <meyering@redhat.com>
27282
27283         utime: remove obsolete module
27284         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
27285         unnecessary for years, and has been marked as obsolete for 10 months.
27286         * modules/utime: Remove file.
27287         * lib/utime.c: Remove file.
27288         * m4/utime.m4: Remove file.
27289         * m4/utimes-null.m4: Remove file.
27290         * doc/posix-functions/utime.texi (utime): Remove reference to
27291         the module.  Move the sole "fixed by gnulib" item into the
27292         "problems not fixed by Gnulib" list.
27293         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
27294
27295 2010-03-05  Simon Josefsson  <simon@josefsson.org>
27296
27297         * modules/exit (License): Relax license to LGPLv2+.
27298         (Status): Mark as obsolete.
27299         * NEWS: Mention deprecated 'exit' module.
27300         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
27301         of now obsolete 'exit'.
27302
27303 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27304
27305         fts-lgpl: remove unused module
27306         * modules/fts-lgpl: Remove.
27307         * MODULES.html.sh (func_all_modules): Adjust.
27308         * check-module (find_included_lib_files): Adjust.
27309         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
27310
27311 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
27312
27313         copy-acl: enhance Solaris ACL error handling
27314         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
27315         * lib/set-mode-acl.c (qset_acl): Likewise.
27316
27317 2010-03-02  Bruno Haible  <bruno@clisp.org>
27318
27319         spawn: Don't override the system defined values on FreeBSD 8.
27320         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
27321         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
27322         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
27323         if HAVE_POSIX_SPAWN is 1.
27324         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
27325
27326 2010-03-01  Bruno Haible  <bruno@clisp.org>
27327
27328         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
27329         regarding Automake.
27330
27331 2010-02-25  Bruno Haible  <bruno@clisp.org>
27332
27333         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
27334         * gnulib-tool: Define 'echo' as a function only before the ksh alias
27335         setting, not afterwards.
27336         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
27337
27338 2010-02-24  Eric Blake  <eblake@redhat.com>
27339
27340         bootstrap, git-version-gen: use timestamp
27341         * build-aux/git-version-gen (scriptversion): Force UTC.
27342         * build-aux/bootstrap (scriptversion): New variable.
27343
27344         bootstrap: allow older git
27345         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
27346         older than 1.6.4.  Requested by the libvirt project.
27347
27348 2010-02-23  Eric Blake  <eblake@redhat.com>
27349
27350         warn-on-use: work with old autoconf
27351         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
27352         AS_VAR semantics of autoconf 2.60.
27353         Reported by Bruno Haible.
27354
27355         bootstrap: improve some comments
27356         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
27357         clarification comments.
27358
27359         gettimeofday: provide correct function
27360         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
27361         when replacement is declared, otherwise provide gettimeofday.
27362         Reported by Michael Goffioul.
27363
27364 2010-02-23  Jim Meyering  <meyering@redhat.com>
27365
27366         lib-ignore: relax license to "unlimited", not LGPLv2+
27367         * modules/lib-ignore (License): Relax to "unlimited".
27368
27369 2010-02-23  Jim Meyering  <meyering@redhat.com>
27370
27371         lib-ignore: relax license to LGPLv2+
27372         * modules/lib-ignore (License): Relax to LGPLv2+.
27373
27374 2010-02-22  Eric Blake  <eblake@redhat.com>
27375
27376         lseek: avoid bash 3.2 broken pipe bug
27377         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
27378         warning from bash 3.2.
27379         Reported by Ben Pfaff, with analysis from Bruno Haible.
27380
27381         bootstrap: support non-FSF copyright holder
27382         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
27383         bootstrap.conf override of COPYRIGHT_HOLDER.
27384         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
27385
27386         bootstrap: interoperate with gettext 0.14.1
27387         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
27388
27389         bootstrap: allow for alternate submodule location
27390         * build-aux/bootstrap (gnulib_path): New variable; use instead of
27391         hardcoding submodule location.
27392         (gnulib_mk): Allow direct use of Makefile.am.
27393
27394         bootstrap: use GNULIB_SRCDIR to reduce disk usage
27395         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
27396         rather than reconfiguring where the submodule points.
27397
27398         gettimeofday: restore support for platforms that lack function
27399         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
27400         replacement if function is missing.
27401         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
27402         * modules/sys_time (Makefile.am): Substitute it.
27403         * lib/sys_time.in.h (gettimeofday): Check it.
27404         Reported by Michael Goffioul.
27405
27406 2010-02-21  Bruno Haible  <bruno@clisp.org>
27407
27408         * lib/stdio.in.h (obstack_printf): Fix typo.
27409
27410 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
27411
27412         vc-list-files: use bzr ls's -R option
27413         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
27414         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
27415
27416 2010-02-21  Jim Meyering  <meyering@redhat.com>
27417
27418         init.sh: fix EXEEXT shims to work also for names like test-prog
27419         * tests/init.sh: Re-exec a better shell, when needed.
27420         If the current shell lacks support for posix $(...), an init.sh-using
27421         test will now try to find a shell that supports that.  If EXEEXT is
27422         nonempty, we also require support for hyphen-in-alias-name and shell
27423         substitutions like ${var#glob}.  Failure to find such a shell results
27424         in a skipped test.
27425
27426 2010-02-21  Bruno Haible  <bruno@clisp.org>
27427
27428         Really work around around "broken pipe" error message from bash 3.2.
27429         * gnulib-tool (func_reset_sigpipe): Remove function.
27430         (echo): In bash 3.2, define to a function that uses printf.
27431         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
27432
27433 2010-02-20  Bruno Haible  <bruno@clisp.org>
27434
27435         Restore support for automake 1.9.6 with autoconf 2.61.
27436         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
27437         Reported by James Youngman <jay@gnu.org>.
27438
27439 2010-02-20  Bruno Haible  <bruno@clisp.org>
27440
27441         Improve *printf warning condition.
27442         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
27443         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
27444         and the function is overridden due to SIGPIPE emulation.
27445
27446 2010-02-20  Bruno Haible  <bruno@clisp.org>
27447
27448         * lib/stdio.in.h: Tweak comments.
27449
27450 2010-02-19  Bruno Haible  <bruno@clisp.org>
27451
27452         Make it easier to find modules. New gnulib-tool option '--find'.
27453         * gnulib-tool: New option --find.
27454         (func_usage): Document it.
27455         (func_sanitize_modulelist): New function, extracted from
27456         func_all_modules.
27457         (func_all_modules): Invoke it.
27458         * doc/gnulib-tool.texi (Which modules?): New node.
27459
27460 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
27461
27462         * lib/sys_select.in.h: Provide select replacement even if
27463         sys/select.h exists on a system, for Interix.
27464
27465 2010-02-18  Jim Meyering  <meyering@redhat.com>
27466
27467         init.sh: don't use $(...) just yet
27468         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
27469         to accommodate e.g., Solaris' /bin/sh.
27470
27471 2010-02-17  Bruno Haible  <bruno@clisp.org>
27472
27473         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
27474         Reported by Ludovic Courtès <ludo@gnu.org>.
27475
27476 2010-02-16  Simon Josefsson  <simon@josefsson.org>
27477
27478         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
27479         linking with -lintl.
27480
27481 2010-02-17  Simon Josefsson  <simon@josefsson.org>
27482
27483         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
27484         if not provided by the system's netdb.h.  Reported by
27485         ludo@gnu.org (Ludovic Courtès).
27486
27487 2010-02-15  Jim Meyering  <meyering@redhat.com>
27488
27489         init.sh: improve portability and efficiency
27490         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
27491         "dummy" in a for loop.
27492         Use '!', not '^' to select the complement of a character set used
27493         in a "case" statement.
27494         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
27495         Suggestions from Eric Blake.
27496
27497         init.sh: automatically accommodate programs with the .exe suffix
27498         Automatically arrange for an invocation of "prog" to execute the
27499         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
27500         may use the simpler "prog", yet still work when built on a system
27501         that requires specifying the added suffix.
27502         Do this by constructing a function named "prog" that invokes
27503         "prog.exe" for each .exe file in selected directories.
27504         * tests/init.sh (find_exe_basenames_): New function.
27505         (create_exe_shim_functions_): New function.
27506         (path_prepend_): Use it.
27507
27508         maint.mk: mark syntax-check sc_*.m rules as .PHONY
27509         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
27510         "make -t syntax-check" doesn't create a ton of sc_*.m files.
27511
27512 2010-02-14  Jim Meyering  <meyering@redhat.com>
27513
27514         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
27515         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
27516         (sc_prohibit_hash_pjw_without_use): New rule.
27517
27518         maint.mk: allow the default upload destination dir to be overridden
27519         * top/maint.mk (upload_dest_dir_): Define with a default that
27520         preserves the status quo.
27521         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
27522         Reported by Peter Simons.
27523
27524         maint.mk: prohibit inclusion of "hash.h" without_use
27525         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
27526
27527 2010-02-10  Jim Meyering  <meyering@redhat.com>
27528
27529         maint.mk: prohibit inclusion of "ignore-value.h" without_use
27530         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
27531
27532 2010-02-09  Eric Blake  <ebb9@byu.net>
27533         and Bruno Haible  <bruno@clisp.org>
27534
27535         obstack-printf-posix: ensure declaration
27536         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
27537         extracted from gl_FUNC_OBSTACK_PRINTF.
27538         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
27539         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
27540         Likewise.
27541         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
27542         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
27543         0.
27544
27545 2010-02-08  Bruno Haible  <bruno@clisp.org>
27546
27547         gnulib-tool: Fix typo in 2010-02-07 commit.
27548         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
27549         Reported by Eric Blake.
27550
27551 2010-02-07  Bruno Haible  <bruno@clisp.org>
27552
27553         gnulib-tool: Fix up caching patches.
27554         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
27555         option --no-cache. Use associative arrays when supported by the shell.
27556         (sed_comments): New variable.
27557         (modcache): Renamed from do_cache.
27558         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
27559         abbreviate unnecessarily.
27560         (have_associative): New variable.
27561         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
27562         way also for ksh and zsh.
27563         (func_init_sed_convert_to_cache_statements): New function, extracted
27564         from func_cache_lookup_module. Add support for associative arrays.
27565         Don't set the c_MODULE_cached variable here. Ignore all lines before
27566         the first field header. Remove only the final newline, not all trailing
27567         newlines. Support empty fields correctly. Limit the use of 'eval' to
27568         assignments.
27569         (func_get_description, func_get_status, func_get_notice,
27570         func_get_applicability, func_get_filelist, func_get_dependencies,
27571         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
27572         func_get_automake_snippet, func_get_include_directive,
27573         func_get_link_directive, func_get_license, func_get_maintainer):
27574         Update documentation. List the unoptimized code first. Add support for
27575         associative arrays. Limit the use of 'eval' to assignments.
27576         (func_get_applicability): Undo stylistic pessimisations.
27577         (func_get_automake_snippet, func_get_include_directive): Reduce code
27578         duplication.
27579         (func_modules_transitive_closure, func_modules_add_dummy,
27580         func_modules_notice, func_modules_to_filelist, func_add_file,
27581         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
27582         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
27583         func_create_testdir, func_create_megatestdir): Update documentation.
27584
27585 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27586
27587         * gnulib-tool (func_cache_lookup_module): Store the module name
27588         belonging to the cache variable; error out if two different
27589         module names map to the same cache variable name.
27590
27591 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27592
27593         gnulib-tool: Make caching optional.
27594         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
27595         Update matching short versions of --no-changelog.
27596         (func_usage): Update.
27597         (sed_extract_cache_prog): Renamed from ...
27598         (sed_extract_prog): ... this; revert to old extraction script.
27599         (func_get_description, func_get_status)
27600         (func_get_notice, func_get_applicability, func_get_filelist)
27601         (func_get_dependencies, func_get_autoconf_early_snippet)
27602         (func_get_autoconf_snippet, func_get_automake_snippet)
27603         (func_get_include_directive, func_get_link_directive)
27604         (func_get_license, func_get_maintainer): If $do_cache is false,
27605         use old, non-caching extraction scripts.
27606         Suggestion by Bruno Haible.
27607
27608 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27609
27610         gnulib-tool: cache module metainformation.
27611         * gnulib-tool (sed_extract_prog): Match newline before each
27612         header, and rewrite header to a shell variable suffix.
27613         (func_cache_var, func_cache_lookup_module): New functions,
27614         to turn a module name into a cache variable prefix, and to
27615         look up and cache module metainformation.
27616         (func_get_description, func_get_status)
27617         (func_get_notice, func_get_applicability, func_get_filelist)
27618         (func_get_dependencies, func_get_autoconf_early_snippet)
27619         (func_get_autoconf_snippet, func_get_automake_snippet)
27620         (func_get_include_directive, func_get_link_directive)
27621         (func_get_license, func_get_maintainer): Use
27622         func_cache_lookup_module.
27623
27624 2010-02-07  Bruno Haible  <bruno@clisp.org>
27625
27626         fnctl: Fix missing dependency.
27627         * modules/fcntl (Depends-on): Add getdtablesize.
27628         Reported by John W. Eaton <jwe@gnu.org>.
27629
27630 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
27631
27632         Argp: fix recognition of short alias options.
27633
27634         * lib/argp-parse.c (convert_options): Fix improper use of
27635         `|' between character values.
27636         * tests/test-argp.c (group1_option): New alias option
27637         --read (-r).
27638         (group1_parser): Special handling for 'r'.
27639         (test15): New test case.
27640         (test_fun): Add test15.
27641         * tests/test-argp-2.sh: Update expected --help and --usage
27642         outputs.
27643
27644 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
27645
27646         * tests/test-argp.c: Fix indentation.
27647
27648 2010-02-04  Eric Blake  <ebb9@byu.net>
27649
27650         gettimeofday: expose type of second argument
27651         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
27652         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
27653         * tests/test-gettimeofday.c: Use it to silence warning.
27654         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
27655         the issue.
27656
27657 2010-02-03  Jim Meyering  <meyering@redhat.com>
27658
27659         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
27660         * lib/regcomp.c (TYPE_SIGNED): Define.
27661         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
27662
27663         regcomp.c: avoid a new -Wshadow warning
27664         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
27665
27666 2010-02-01  Jim Meyering  <meyering@redhat.com>
27667
27668         removing useless parentheses in cpp #define directives
27669         For motivation, see commit c0221df4, "define STREQ(a,b)
27670         consistently, removing useless parentheses"
27671         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
27672         * lib/mountlist.c (MNT_IGNORE): Likewise.
27673         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
27674
27675 2010-02-01  Eric Blake  <ebb9@byu.net>
27676
27677         sys_time: use link-warning
27678         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
27679         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
27680         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
27681         * modules/sys_time (Depends-on): Add warn-on-use.
27682         (Makefile.am): Always build replacement.
27683         (configure.ac): Update substitutions.
27684         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
27685         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
27686         bother with SYS_TIME_H.
27687         * modules/gettimeofday (configure.ac): Declare indicator.
27688         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
27689         in use.
27690
27691         closein-tests: silence compiler warning
27692         * tests/test-closein.c (main): Ignore fread result.
27693         * modules/closein-tests (Depends-on): Add ignore-value.
27694
27695         tests: silence warning about system return
27696         * tests/test-areadlink-with-size.c (main): Ignore system result.
27697         * tests/test-areadlink.c (main): Likewise.
27698         * tests/test-areadlinkat-with-size.c (main): Likewise.
27699         * tests/test-areadlinkat.c (main): Likewise.
27700         * tests/test-canonicalize-lgpl.c (main): Likewise.
27701         * tests/test-canonicalize.c (main): Likewise.
27702         * tests/test-chown.c (main): Likewise.
27703         * tests/test-fchownat.c (main): Likewise.
27704         * tests/test-fdutimensat.c (main): Likewise.
27705         * tests/test-fstatat.c (main): Likewise.
27706         * tests/test-futimens.c (main): Likewise.
27707         * tests/test-lchown.c (main): Likewise.
27708         * tests/test-link.c (main): Likewise.
27709         * tests/test-linkat.c (main): Likewise.
27710         * tests/test-lstat.c (main): Likewise.
27711         * tests/test-mkdir.c (main): Likewise.
27712         * tests/test-mkdirat.c (main): Likewise.
27713         * tests/test-mkfifo.c (main): Likewise.
27714         * tests/test-mkfifoat.c (main): Likewise.
27715         * tests/test-mknod.c (main): Likewise.
27716         * tests/test-readlink.c (main): Likewise.
27717         * tests/test-remove.c (main): Likewise.
27718         * tests/test-rename.c (main): Likewise.
27719         * tests/test-renameat.c (main): Likewise.
27720         * tests/test-rmdir.c (main): Likewise.
27721         * tests/test-symlink.c (main): Likewise.
27722         * tests/test-symlinkat.c (main): Likewise.
27723         * tests/test-unlink.c (main): Likewise.
27724         * tests/test-unlinkat.c (main): Likewise.
27725         * tests/test-utimens.c (main): Likewise.
27726         * tests/test-utimensat.c (main): Likewise.
27727         * modules/areadlink-tests (Depends-on): Add ignore-value.
27728         * modules/areadlink-with-size-tests (Depends-on): Likewise.
27729         * modules/areadlinkat-tests (Depends-on): Likewise.
27730         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
27731         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27732         * modules/canonicalize-tests (Depends-on): Likewise.
27733         * modules/chown-tests (Depends-on): Likewise.
27734         * modules/fdutimensat-tests (Depends-on): Likewise.
27735         * modules/futimens-tests (Depends-on): Likewise.
27736         * modules/lchown-tests (Depends-on): Likewise.
27737         * modules/link-tests (Depends-on): Likewise.
27738         * modules/linkat-tests (Depends-on): Likewise.
27739         * modules/lstat-tests (Depends-on): Likewise.
27740         * modules/mkdir-tests (Depends-on): Likewise.
27741         * modules/mkfifo-tests (Depends-on): Likewise.
27742         * modules/mkfifoat-tests (Depends-on): Likewise.
27743         * modules/mknod-tests (Depends-on): Likewise.
27744         * modules/openat-tests (Depends-on): Likewise.
27745         * modules/readlink-tests (Depends-on): Likewise.
27746         * modules/remove-tests (Depends-on): Likewise.
27747         * modules/rename-tests (Depends-on): Likewise.
27748         * modules/renameat-tests (Depends-on): Likewise.
27749         * modules/rmdir-tests (Depends-on): Likewise.
27750         * modules/symlink-tests (Depends-on): Likewise.
27751         * modules/symlinkat-tests (Depends-on): Likewise.
27752         * modules/unlink-tests (Depends-on): Likewise.
27753         * modules/utimens-tests (Depends-on): Likewise.
27754         * modules/utimensat-tests (Depends-on): Likewise.
27755
27756 2010-01-31  Bruno Haible  <bruno@clisp.org>
27757
27758         Perform the same test for many <math.h> functions.
27759         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
27760         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
27761         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
27762         of gl_MATHFUNC.
27763         * modules/acos (configure.ac): Likewise.
27764         * modules/asin (configure.ac): Likewise.
27765         * modules/atan (configure.ac): Likewise.
27766         * modules/atan2 (configure.ac): Likewise.
27767         * modules/cbrt (configure.ac): Likewise.
27768         * modules/copysign (configure.ac): Likewise.
27769         * modules/cos (configure.ac): Likewise.
27770         * modules/cosh (configure.ac): Likewise.
27771         * modules/erf (configure.ac): Likewise.
27772         * modules/erfc (configure.ac): Likewise.
27773         * modules/exp (configure.ac): Likewise.
27774         * modules/fmod (configure.ac): Likewise.
27775         * modules/hypot (configure.ac): Likewise.
27776         * modules/j0 (configure.ac): Likewise.
27777         * modules/j1 (configure.ac): Likewise.
27778         * modules/jn (configure.ac): Likewise.
27779         * modules/lgamma (configure.ac): Likewise.
27780         * modules/log (configure.ac): Likewise.
27781         * modules/log10 (configure.ac): Likewise.
27782         * modules/log1p (configure.ac): Likewise.
27783         * modules/pow (configure.ac): Likewise.
27784         * modules/remainder (configure.ac): Likewise.
27785         * modules/sin (configure.ac): Likewise.
27786         * modules/sinh (configure.ac): Likewise.
27787         * modules/tan (configure.ac): Likewise.
27788         * modules/tanh (configure.ac): Likewise.
27789         * modules/y0 (configure.ac): Likewise.
27790         * modules/y1 (configure.ac): Likewise.
27791         * modules/yn (configure.ac): Likewise.
27792         Suggested by Paolo Bonzini.
27793
27794 2010-01-31  Bruno Haible  <bruno@clisp.org>
27795
27796         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
27797
27798 2010-01-31  Bruno Haible  <bruno@clisp.org>
27799
27800         Work around getdelim() bug on FreeBSD 8.0.
27801         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
27802         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
27803         not work.
27804         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
27805         is 1.
27806         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
27807         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
27808         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
27809         a non-zero size.
27810         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
27811
27812 2010-01-31  Bruno Haible  <bruno@clisp.org>
27813
27814         Work around getline() bug on FreeBSD 8.0.
27815         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
27816         and a non-zero size.
27817         * tests/test-getline.c (main): Likewise.
27818         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
27819         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
27820
27821 2010-01-28  Eric Blake  <ebb9@byu.net>
27822
27823         regex: fix build failure
27824         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
27825         platforms.
27826
27827 2010-01-28  Jim Meyering  <meyering@redhat.com>
27828
27829         regex: do not ignore memory allocation failure
27830         * lib/regex_internal.c (create_cd_newstate): Detect
27831         re_node_set_init_copy failure.   Extracted from glibc commit
27832         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27833
27834         regex: sync more white-space changes from libc
27835         * lib/regex_internal.c: White-space only changes.
27836         * lib/regexec.c: Likewise.
27837
27838         regex: add many uses of __attribute_warn_unused_result__
27839         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
27840         * lib/regexec.c: Likewise.
27841         Extracted from a messy glibc commit.
27842
27843         regcomp.c: spelling and merge-artifact from glibc
27844         * lib/regcomp.c: Merge remainder of glibc's
27845         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27846
27847         regcomp.c: sync white-space changes from glibc
27848         * lib/regcomp.c: Merge to accommodate white space
27849         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27850
27851         regcomp.c: do not ignore internal return values
27852         * lib/regcomp.c: Do not ignore internal return values.
27853         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
27854         but without its white-space changes and spelling fixes.
27855
27856         regex_internal.h: define __attribute_warn_unused_result__
27857         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
27858
27859         maint: add a syntax-check rule to check for vulnerable Makefile.in
27860         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
27861
27862 2010-01-27  Jim Meyering  <meyering@redhat.com>
27863
27864         ncftpput-ftp: clean up spaces
27865         * build-aux/ncftpput-ftp: Make Copyright line consistent.
27866         Remove trailing blanks.
27867
27868 2010-01-27  Simon Josefsson  <simon@josefsson.org>
27869
27870         * build-aux/git-version-gen: Fix copyright statement.
27871         * build-aux/gnupload: Likewise.
27872         * tests/test-arcfour.c: Likewise.
27873         * tests/test-arctwo.c: Likewise.
27874         * tests/test-count-one-bits.c: Likewise.
27875         * tests/test-crc.c: Likewise.
27876         * tests/test-des.c: Likewise.
27877         * tests/test-gc-arcfour.c: Likewise.
27878         * tests/test-gc-arctwo.c: Likewise.
27879         * tests/test-gc-des.c: Likewise.
27880         * tests/test-gc-hmac-md5.c: Likewise.
27881         * tests/test-gc-hmac-sha1.c: Likewise.
27882         * tests/test-gc-md2.c: Likewise.
27883         * tests/test-gc-md4.c: Likewise.
27884         * tests/test-gc-md5.c: Likewise.
27885         * tests/test-gc-pbkdf2-sha1.c: Likewise.
27886         * tests/test-gc-rijndael.c: Likewise.
27887         * tests/test-gc-sha1.c: Likewise.
27888         * tests/test-gc.c: Likewise.
27889         * tests/test-gethostname.c: Likewise.
27890         * tests/test-gettimeofday.c: Likewise.
27891         * tests/test-hash.c: Likewise.
27892         * tests/test-hmac-md5.c: Likewise.
27893         * tests/test-hmac-sha1.c: Likewise.
27894         * tests/test-md2.c: Likewise.
27895         * tests/test-md4.c: Likewise.
27896         * tests/test-md5.c: Likewise.
27897         * tests/test-memchr.c: Likewise.
27898         * tests/test-memchr2.c: Likewise.
27899         * tests/test-memcmp.c: Likewise.
27900         * tests/test-memmem.c: Likewise.
27901         * tests/test-memrchr.c: Likewise.
27902         * tests/test-rawmemchr.c: Likewise.
27903         * tests/test-read-file.c: Likewise.
27904         * tests/test-rijndael.c: Likewise.
27905         * tests/test-sockets.c: Likewise.
27906         * tests/test-strchrnul.c: Likewise.
27907         * tests/test-strstr.c: Likewise.
27908         * tests/test-strtod.c: Likewise.
27909         * build-aux/ncftpput-ftp: Likewise.
27910
27911 2010-01-26  Eric Blake  <ebb9@byu.net>
27912
27913         ignore-value: update recommended header name
27914         * modules/ignore-value (Include): Only use <> for headers that
27915         exist in glibc.
27916
27917 2010-01-26  Jim Meyering  <meyering@redhat.com>
27918
27919         test-userspec.c: avoid compiler warnings
27920         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
27921         and "initialization discards qualifiers..." warnings.
27922         Put the first "uid" in its own scope, and make char* members "const".
27923
27924 2010-01-25  Bruno Haible  <bruno@clisp.org>
27925
27926         gnulib-tool: Make warning diagnostics consistent.
27927         * gnulib-tool (func_warning): New function.
27928         Use it everywhere where gnulib-tool produces output to stderr and it is
27929         not a fatal error.
27930
27931 2010-01-25  Bruno Haible  <bruno@clisp.org>
27932
27933         Fix test dependencies.
27934         * modules/xstrtol-tests (Depends-on): Add inttypes.
27935         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
27936
27937 2010-01-25 Pádraig Brady <P@draigBrady.com>
27938
27939         syntax-check: detect incorrect boolean macro values in config.h
27940         * modules/maintainer-makefile (configure.ac): Parameterize the location
27941         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
27942         The logic is from Eric Blake and the location indicated by Jim Meyering.
27943         Note the more natural CONFIG_HEADER name is prohibited by automake
27944         for backwards compatibility reasons.
27945         * top/maint.mk (sc_Wundef_boolean): New rule.
27946
27947 2010-01-25  Jim Meyering  <meyering@redhat.com>
27948
27949         bootstrap: detect MacOS 10.6's shasum, too
27950         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
27951         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
27952
27953 2010-01-23  Jim Meyering  <meyering@redhat.com>
27954
27955         xstrtoll: new module
27956         * modules/xstrtoll: New file.
27957         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
27958         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
27959         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
27960         ./configure fails if you use this module and lack "long long".
27961         * modules/xstrtoll-tests: New module.
27962         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
27963         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
27964         new init.sh-based test framework.
27965
27966 2010-01-24  Bruno Haible  <bruno@clisp.org>
27967
27968         Tests for module 'yn'.
27969         * modules/yn-tests: New file.
27970         * tests/test-yn.c: New file.
27971
27972         Tests for module 'y1'.
27973         * modules/y1-tests: New file.
27974         * tests/test-y1.c: New file.
27975
27976         Tests for module 'y0'.
27977         * modules/y0-tests: New file.
27978         * tests/test-y0.c: New file.
27979
27980         Tests for module 'tanh'.
27981         * modules/tanh-tests: New file.
27982         * tests/test-tanh.c: New file.
27983
27984         Tests for module 'tan'.
27985         * modules/tan-tests: New file.
27986         * tests/test-tan.c: New file.
27987
27988         Tests for module 'sqrt'.
27989         * modules/sqrt-tests: New file.
27990         * tests/test-sqrt.c: New file.
27991
27992         Tests for module 'sinh'.
27993         * modules/sinh-tests: New file.
27994         * tests/test-sinh.c: New file.
27995
27996         Tests for module 'sin'.
27997         * modules/sin-tests: New file.
27998         * tests/test-sin.c: New file.
27999
28000         Tests for module 'rint'.
28001         * modules/rint-tests: New file.
28002         * tests/test-rint.c: New file.
28003
28004         Tests for module 'remainder'.
28005         * modules/remainder-tests: New file.
28006         * tests/test-remainder.c: New file.
28007
28008         Tests for module 'pow'.
28009         * modules/pow-tests: New file.
28010         * tests/test-pow.c: New file.
28011
28012         Tests for module 'nextafter'.
28013         * modules/nextafter-tests: New file.
28014         * tests/test-nextafter.c: New file.
28015
28016         Tests for module 'modf'.
28017         * modules/modf-tests: New file.
28018         * tests/test-modf.c: New file.
28019
28020         Tests for module 'logb'.
28021         * modules/logb-tests: New file.
28022         * tests/test-logb.c: New file.
28023
28024         Tests for module 'log1p'.
28025         * modules/log1p-tests: New file.
28026         * tests/test-log1p.c: New file.
28027
28028         Tests for module 'log10'.
28029         * modules/log10-tests: New file.
28030         * tests/test-log10.c: New file.
28031
28032         Tests for module 'log'.
28033         * modules/log-tests: New file.
28034         * tests/test-log.c: New file.
28035
28036         Tests for module 'lgamma'.
28037         * modules/lgamma-tests: New file.
28038         * tests/test-lgamma.c: New file.
28039
28040         Tests for module 'ldexp'.
28041         * modules/ldexp-tests: New file.
28042         * tests/test-ldexp.c: New file.
28043
28044         Tests for module 'jn'.
28045         * modules/jn-tests: New file.
28046         * tests/test-jn.c: New file.
28047
28048         Tests for module 'j1'.
28049         * modules/j1-tests: New file.
28050         * tests/test-j1.c: New file.
28051
28052         Tests for module 'j0'.
28053         * modules/j0-tests: New file.
28054         * tests/test-j0.c: New file.
28055
28056         Tests for module 'hypot'.
28057         * modules/hypot-tests: New file.
28058         * tests/test-hypot.c: New file.
28059
28060         Tests for module 'fmod'.
28061         * modules/fmod-tests: New file.
28062         * tests/test-fmod.c: New file.
28063
28064         Tests for module 'fabs'.
28065         * modules/fabs-tests: New file.
28066         * tests/test-fabs.c: New file.
28067
28068         Tests for module 'exp'.
28069         * modules/exp-tests: New file.
28070         * tests/test-exp.c: New file.
28071
28072         Tests for module 'erfc'.
28073         * modules/erfc-tests: New file.
28074         * tests/test-erfc.c: New file.
28075
28076         Tests for module 'erf'.
28077         * modules/erf-tests: New file.
28078         * tests/test-erf.c: New file.
28079
28080         Tests for module 'cosh'.
28081         * modules/cosh-tests: New file.
28082         * tests/test-cosh.c: New file.
28083
28084         Tests for module 'cos'.
28085         * modules/cos-tests: New file.
28086         * tests/test-cos.c: New file.
28087
28088         Tests for module 'copysign'.
28089         * modules/copysign-tests: New file.
28090         * tests/test-copysign.c: New file.
28091
28092         Tests for module 'cbrt'.
28093         * modules/cbrt-tests: New file.
28094         * tests/test-cbrt.c: New file.
28095
28096         Tests for module 'atan2'.
28097         * modules/atan2-tests: New file.
28098         * tests/test-atan2.c: New file.
28099
28100         Tests for module 'atan'.
28101         * modules/atan-tests: New file.
28102         * tests/test-atan.c: New file.
28103
28104         Tests for module 'asin'.
28105         * modules/asin-tests: New file.
28106         * tests/test-asin.c: New file.
28107
28108         Tests for module 'acos'.
28109         * modules/acos-tests: New file.
28110         * tests/test-acos.c: New file.
28111
28112 2010-01-24  Bruno Haible  <bruno@clisp.org>
28113
28114         Fix tests for common <math.h> functions.
28115         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
28116         code snippet that references the function pointer, rather than merely
28117         calling the function. Substitute the FUNC_LIBM variable.
28118         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
28119         * modules/acos (configure.ac): Likewise.
28120         * modules/asin (configure.ac): Likewise.
28121         * modules/atan (configure.ac): Likewise.
28122         * modules/atan2 (configure.ac): Likewise.
28123         * modules/cbrt (configure.ac): Likewise.
28124         * modules/copysign (configure.ac): Likewise.
28125         * modules/cos (configure.ac): Likewise.
28126         * modules/cosh (configure.ac): Likewise.
28127         * modules/erf (configure.ac): Likewise.
28128         * modules/erfc (configure.ac): Likewise.
28129         * modules/exp (configure.ac): Likewise.
28130         * modules/fabs (configure.ac): Likewise.
28131         * modules/fmod (configure.ac): Likewise.
28132         * modules/hypot (configure.ac): Likewise.
28133         * modules/j0 (configure.ac): Likewise.
28134         * modules/j1 (configure.ac): Likewise.
28135         * modules/jn (configure.ac): Likewise.
28136         * modules/ldexp (configure.ac): Likewise.
28137         * modules/lgamma (configure.ac): Likewise.
28138         * modules/log (configure.ac): Likewise.
28139         * modules/log10 (configure.ac): Likewise.
28140         * modules/log1p (configure.ac): Likewise.
28141         * modules/logb (configure.ac): Likewise.
28142         * modules/modf (configure.ac): Likewise.
28143         * modules/nextafter (configure.ac): Likewise.
28144         * modules/pow (configure.ac): Likewise.
28145         * modules/remainder (configure.ac): Likewise.
28146         * modules/rint (configure.ac): Likewise.
28147         * modules/sin (configure.ac): Likewise.
28148         * modules/sinh (configure.ac): Likewise.
28149         * modules/tan (configure.ac): Likewise.
28150         * modules/tanh (configure.ac): Likewise.
28151         * modules/y0 (configure.ac): Likewise.
28152         * modules/y1 (configure.ac): Likewise.
28153         * modules/yn (configure.ac): Likewise.
28154
28155 2010-01-24  Bruno Haible  <bruno@clisp.org>
28156
28157         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
28158         * tests/test-acosl.c (x): New variable.
28159         (main): Store argument in x and fetch it from x.
28160         * tests/test-asinl.c (x): New variable.
28161         (main): Store argument in x and fetch it from x.
28162         * tests/test-atanl.c (x): New variable.
28163         (main): Store argument in x and fetch it from x.
28164         * tests/test-cosl.c (x): New variable.
28165         (main): Store argument in x and fetch it from x.
28166         * tests/test-expl.c (x): New variable.
28167         (main): Store argument in x and fetch it from x.
28168         * tests/test-logl.c (x): New variable.
28169         (main): Store argument in x and fetch it from x.
28170         * tests/test-sinl.c (x): New variable.
28171         (main): Store argument in x and fetch it from x.
28172         * tests/test-sqrtl.c (x): New variable.
28173         (main): Store argument in x and fetch it from x.
28174         * tests/test-tanl.c (x): New variable.
28175         (main): Store argument in x and fetch it from x.
28176
28177 2010-01-24  Bruno Haible  <bruno@clisp.org>
28178
28179         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
28180         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
28181         assignments to the initial TESTS_ENVIRONMENT.
28182         * doc/gnulib.texi (Unit test modules): Document it.
28183         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
28184         TESTS_ENVIRONMENT.
28185         * modules/btowc-tests (Makefile.am): Likewise.
28186         * modules/c-stack-tests (Makefile.am): Likewise.
28187         * modules/c-strcase-tests (Makefile.am): Likewise.
28188         * modules/copy-file-tests (Makefile.am): Likewise.
28189         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
28190         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
28191         * modules/mbrtowc-tests (Makefile.am): Likewise.
28192         * modules/mbscasecmp-tests (Makefile.am): Likewise.
28193         * modules/mbscasestr-tests (Makefile.am): Likewise.
28194         * modules/mbschr-tests (Makefile.am): Likewise.
28195         * modules/mbscspn-tests (Makefile.am): Likewise.
28196         * modules/mbsinit-tests (Makefile.am): Likewise.
28197         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
28198         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
28199         * modules/mbspbrk-tests (Makefile.am): Likewise.
28200         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
28201         * modules/mbsrchr-tests (Makefile.am): Likewise.
28202         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
28203         * modules/mbsspn-tests (Makefile.am): Likewise.
28204         * modules/mbsstr-tests (Makefile.am): Likewise.
28205         * modules/nl_langinfo-tests (Makefile.am): Likewise.
28206         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
28207         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
28208         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
28209         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
28210         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
28211         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
28212         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
28213         * modules/wcrtomb-tests (Makefile.am): Likewise.
28214         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
28215         * modules/wcsrtombs-tests (Makefile.am): Likewise.
28216         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
28217         assignments from TESTS_ENVIRONMENT.
28218         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
28219         augmentation.
28220         * modules/argp-version-etc-tests (Makefile.am): Likewise.
28221         * modules/atexit-tests (Makefile.am): Likewise.
28222         * modules/binary-io-tests (Makefile.am): Likewise.
28223         * modules/closein-tests (Makefile.am): Likewise.
28224         * modules/dprintf-posix-tests (Makefile.am): Likewise.
28225         * modules/exclude-tests (Makefile.am): Likewise.
28226         * modules/fflush-tests (Makefile.am): Likewise.
28227         * modules/fpending-tests (Makefile.am): Likewise.
28228         * modules/fprintf-posix-tests (Makefile.am): Likewise.
28229         * modules/freadahead-tests (Makefile.am): Likewise.
28230         * modules/freadptr-tests (Makefile.am): Likewise.
28231         * modules/freadseek-tests (Makefile.am): Likewise.
28232         * modules/fseek-tests (Makefile.am): Likewise.
28233         * modules/fseeko-tests (Makefile.am): Likewise.
28234         * modules/ftell-tests (Makefile.am): Likewise.
28235         * modules/ftello-tests (Makefile.am): Likewise.
28236         * modules/idpriv-drop-tests (Makefile.am): Likewise.
28237         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
28238         * modules/lseek-tests (Makefile.am): Likewise.
28239         * modules/parse-duration-tests (Makefile.am): Likewise.
28240         * modules/perror-tests (Makefile.am): Likewise.
28241         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
28242         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
28243         * modules/pipe-tests (Makefile.am): Likewise.
28244         * modules/pread-tests (Makefile.am): Likewise.
28245         * modules/printf-posix-tests (Makefile.am): Likewise.
28246         * modules/select-tests (Makefile.am): Likewise.
28247         * modules/sigpipe-tests (Makefile.am): Likewise.
28248         * modules/tsearch-tests (Makefile.am): Likewise.
28249         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
28250         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
28251         * modules/uniname/uniname-tests (Makefile.am): Likewise.
28252         * modules/uniwidth/width-tests (Makefile.am): Likewise.
28253         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
28254         * modules/version-etc-tests (Makefile.am): Likewise.
28255         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
28256         * modules/vprintf-posix-tests (Makefile.am): Likewise.
28257         * modules/xalloc-die-tests (Makefile.am): Likewise.
28258         * modules/xprintf-posix-tests (Makefile.am): Likewise.
28259         * modules/xstrtoimax-tests (Makefile.am): Likewise.
28260         * modules/xstrtol-tests (Makefile.am): Likewise.
28261         * modules/xstrtoumax-tests (Makefile.am): Likewise.
28262         * modules/yesno-tests (Makefile.am): Likewise.
28263         Suggested by Jim Meyering.
28264
28265 2010-01-24  Bruno Haible  <bruno@clisp.org>
28266
28267         More documentation.
28268         * doc/gnulib.texi (Writing modules): New chapter.
28269         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
28270         the new chapter.
28271
28272 2010-01-24  Jim Meyering  <meyering@redhat.com>
28273
28274         maint.mk: do not prepend "./" after filtering
28275         * top/maint.mk (_prepend_srcdir_prefix): New variable
28276         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
28277         "./" when $(srcdir) is ".".
28278
28279         define STREQ(a,b) consistently, removing useless parentheses
28280         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
28281         since the only risk is that "a" or "b" contains an unparenthesized
28282         comma, but if either did that, STREQ would have 3 or more arguments.
28283         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
28284         * lib/fts.c (STREQ): Remove unnecessary parentheses.
28285         * lib/hash-triple.c (STREQ): Likewise.
28286         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
28287         * lib/getugroups.c (STREQ): Likewise.
28288
28289 2010-01-23  Jim Meyering  <meyering@redhat.com>
28290
28291         maint.mk: fix syntax-check in a non-srcdir build directory
28292         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
28293         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
28294
28295 2010-01-22  Jim Meyering  <meyering@redhat.com>
28296
28297         userspec: add unit tests
28298         * tests/test-userspec.c: New file.
28299         * modules/userspec-tests: Likewise.
28300
28301 2010-01-21  Jim Meyering  <meyering@redhat.com>
28302
28303         maint.mk: handle source file names containing "." robustly
28304         * top/maint.mk (_dot_escaped_srcdir): Define.
28305         (VC_LIST): Use it in LHS of sed substitution.
28306
28307 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
28308
28309         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
28310         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
28311         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
28312         from a non-srcdir build.
28313
28314 2010-01-20  Eric Blake  <ebb9@byu.net>
28315
28316         warn-on-use: use instead of link-warning
28317         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
28318         * modules/unistd (Depends-on, Makefile.am): Likewise.
28319         * modules/arpa_inet (Depends-on): Replace link-warning with
28320         warn-on-use.
28321         (Makefile.am): Update rules accordingly.
28322         * modules/ctype (Depends-on, Makefile.am): Likewise.
28323         * modules/dirent (Depends-on, Makefile.am): Likewise.
28324         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
28325         * modules/inttypes (Depends-on, Makefile.am): Likewise.
28326         * modules/langinfo (Depends-on, Makefile.am): Likewise.
28327         * modules/locale (Depends-on, Makefile.am): Likewise.
28328         * modules/math (Depends-on, Makefile.am): Likewise.
28329         * modules/search (Depends-on, Makefile.am): Likewise.
28330         * modules/signal (Depends-on, Makefile.am): Likewise.
28331         * modules/spawn (Depends-on, Makefile.am): Likewise.
28332         * modules/stdlib (Depends-on, Makefile.am): Likewise.
28333         * modules/string (Depends-on, Makefile.am): Likewise.
28334         * modules/strings (Depends-on, Makefile.am): Likewise.
28335         * modules/sys_file (Depends-on, Makefile.am): Likewise.
28336         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
28337         * modules/sys_select (Depends-on, Makefile.am): Likewise.
28338         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
28339         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
28340         * modules/sys_times (Depends-on, Makefile.am): Likewise.
28341         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
28342         * modules/wchar (Depends-on, Makefile.am): Likewise.
28343         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
28344         should be poisoned.
28345         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
28346         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
28347         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
28348         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28349         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28350         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28351         * m4/math_h.m4 (gl_MATH_H): Likewise.
28352         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28353         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
28354         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
28355         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
28356         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
28357         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
28358         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
28359         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
28360         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28361         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28362         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28363         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
28364         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28365         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28366         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28367         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28368         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
28369         GL_LINK_WARNING.
28370         * lib/ctype.in.h: Likewise.
28371         * lib/dirent.in.h: Likewise.
28372         * lib/fcntl.in.h: Likewise.
28373         * lib/inttypes.in.h: Likewise.
28374         * lib/langinfo.in.h: Likewise.
28375         * lib/locale.in.h: Likewise.
28376         * lib/math.in.h: Likewise.
28377         * lib/search.in.h: Likewise.
28378         * lib/signal.in.h: Likewise.
28379         * lib/spawn.in.h: Likewise.
28380         * lib/stdio.in.h: Likewise.
28381         * lib/stdlib.in.h: Likewise.
28382         * lib/string.in.h: Likewise.
28383         * lib/strings.in.h: Likewise.
28384         * lib/sys_file.in.h: Likewise.
28385         * lib/sys_ioctl.in.h: Likewise.
28386         * lib/sys_select.in.h: Likewise.
28387         * lib/sys_socket.in.h: Likewise.
28388         * lib/sys_stat.in.h: Likewise.
28389         * lib/sys_times.in.h: Likewise.
28390         * lib/sys_utsname.in.h: Likewise.
28391         * lib/unistd.in.h: Likewise.
28392         * lib/wchar.in.h: Likewise.
28393
28394 2010-01-20  Bruno Haible  <bruno@clisp.org>
28395
28396         Avoid duplicate -lm.
28397         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
28398         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
28399         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
28400         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
28401         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
28402         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
28403         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
28404         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
28405         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
28406         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
28407         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
28408         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
28409         Reported by Paolo Bonzini.
28410
28411 2010-01-19  Bruno Haible  <bruno@clisp.org>
28412
28413         langinfo, nl_langinfo: Relicense under LGPLv2+.
28414         * modules/langinfo (License): Change to LGPLv2+.
28415         * modules/nl_langinfo (License): Likewise.
28416         Patch by David Lutterkort <lutter@redhat.com>.
28417
28418 2010-01-19  Bruno Haible  <bruno@clisp.org>
28419
28420         Avoid compilation error with cc on OSF/1 5.1.
28421         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
28422         statement, not before.
28423         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28424
28425 2010-01-18  Bruno Haible  <bruno@clisp.org>
28426
28427         Avoid a link error due to the __printf__ symbol.
28428         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
28429         and 2.6.x.
28430         (__format__, __printf__): Remove definitions.
28431         * lib/argp-fmtstream.h: Likewise.
28432         * lib/argp.h: Likewise.
28433         * lib/error.h: Likewise.
28434         * lib/vasnprintf.h: Likewise.
28435         * lib/xprintf.h: Likewise.
28436         * lib/xvasprintf.h: Likewise.
28437         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28438
28439 2010-01-18  Bruno Haible  <bruno@clisp.org>
28440
28441         Tests for module 'tanl'.
28442         * modules/tanl-tests: New file.
28443         * tests/test-tanl.c: New file.
28444
28445         Tests for module 'sqrtl'.
28446         * modules/sqrtl-tests: New file.
28447         * tests/test-sqrtl.c: New file.
28448
28449         Tests for module 'sinl'.
28450         * modules/sinl-tests: New file.
28451         * tests/test-sinl.c: New file.
28452
28453         Tests for module 'logl'.
28454         * modules/logl-tests: New file.
28455         * tests/test-logl.c: New file.
28456
28457         Tests for module 'expl'.
28458         * modules/expl-tests: New file.
28459         * tests/test-expl.c: New file.
28460
28461         Tests for module 'cosl'.
28462         * modules/cosl-tests: New file.
28463         * tests/test-cosl.c: New file.
28464
28465         Tests for module 'atanl'.
28466         * modules/atanl-tests: New file.
28467         * tests/test-atanl.c: New file.
28468
28469         Tests for module 'asinl'.
28470         * modules/asinl-tests: New file.
28471         * tests/test-asinl.c: New file.
28472
28473         Tests for module 'acosl'.
28474         * modules/acosl-tests: New file.
28475         * tests/test-acosl.c: New file.
28476
28477         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
28478         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
28479         tanl): Use the standard gnulib idiom.
28480         * lib/cosl.c: Don't include trigl.c and sincosl.c.
28481         * lib/sinl.c: Likewise.
28482         * lib/tanl.c: Don't include trigl.c.
28483         (kernel_tanl): Make static.
28484         * lib/sincosl.c: Include trigl.h first.
28485         * lib/trigl.c: Likewise.
28486         * m4/acosl.m4: New file.
28487         * m4/asinl.m4: New file.
28488         * m4/atanl.m4: New file.
28489         * m4/cosl.m4: New file.
28490         * m4/expl.m4: New file.
28491         * m4/logl.m4: New file.
28492         * m4/sinl.m4: New file.
28493         * m4/sqrtl.m4: New file.
28494         * m4/tanl.m4: New file.
28495         * m4/mathl.m4: Remove file.
28496         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
28497         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
28498         Don't initialize GNULIB_MATHL.
28499         * modules/acosl: New file.
28500         * modules/asinl: New file.
28501         * modules/atanl: New file.
28502         * modules/cosl: New file.
28503         * modules/expl: New file.
28504         * modules/logl: New file.
28505         * modules/sinl: New file.
28506         * modules/sqrtl: New file.
28507         * modules/tanl: New file.
28508         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
28509         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
28510         substitute GNULIB_MATHL.
28511         * modules/mathl: Rewritten.
28512         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
28513         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
28514         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
28515         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
28516         * doc/posix-functions/expl.texi: Mention the 'expl' module.
28517         * doc/posix-functions/logl.texi: Mention the 'logl' module.
28518         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
28519         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
28520         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
28521
28522 2010-01-18  Bruno Haible  <bruno@clisp.org>
28523
28524         sqrt: Make gl_FUNC_SQRT requirable.
28525         * m4/sqrt.m4: New file.
28526         * modules/sqrt (Files): Add it.
28527         (configure.ac): Invoke gl_FUNC_SQRT.
28528
28529 2010-01-18  Bruno Haible  <bruno@clisp.org>
28530
28531         New modules for common <math.h> functions.
28532         * m4/mathfunc.m4: New file.
28533         * modules/acos: New file.
28534         * modules/asin: New file.
28535         * modules/atan: New file.
28536         * modules/atan2: New file.
28537         * modules/cbrt: New file.
28538         * modules/copysign: New file.
28539         * modules/cos: New file.
28540         * modules/cosh: New file.
28541         * modules/erf: New file.
28542         * modules/erfc: New file.
28543         * modules/exp: New file.
28544         * modules/fabs: New file.
28545         * modules/fmod: New file.
28546         * modules/hypot: New file.
28547         * modules/j0: New file.
28548         * modules/j1: New file.
28549         * modules/jn: New file.
28550         * modules/ldexp: New file.
28551         * modules/lgamma: New file.
28552         * modules/log: New file.
28553         * modules/log10: New file.
28554         * modules/log1p: New file.
28555         * modules/logb: New file.
28556         * modules/modf: New file.
28557         * modules/nextafter: New file.
28558         * modules/pow: New file.
28559         * modules/remainder: New file.
28560         * modules/rint: New file.
28561         * modules/sin: New file.
28562         * modules/sinh: New file.
28563         * modules/sqrt: New file.
28564         * modules/tan: New file.
28565         * modules/tanh: New file.
28566         * modules/y0: New file.
28567         * modules/y1: New file.
28568         * modules/yn: New file.
28569         * doc/posix-functions/acos.texi: Mention the 'acos' module.
28570         * doc/posix-functions/asin.texi: Mention the 'asin' module.
28571         * doc/posix-functions/atan.texi: Mention the 'atan' module.
28572         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
28573         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
28574         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
28575         * doc/posix-functions/cos.texi: Mention the 'cos' module.
28576         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
28577         * doc/posix-functions/erf.texi: Mention the 'erf' module.
28578         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
28579         * doc/posix-functions/exp.texi: Mention the 'exp' module.
28580         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
28581         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
28582         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
28583         * doc/posix-functions/j0.texi: Mention the 'j0' module.
28584         * doc/posix-functions/j1.texi: Mention the 'j1' module.
28585         * doc/posix-functions/jn.texi: Mention the 'jn' module.
28586         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
28587         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
28588         * doc/posix-functions/log.texi: Mention the 'log' module.
28589         * doc/posix-functions/log10.texi: Mention the 'log10' module.
28590         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
28591         * doc/posix-functions/logb.texi: Mention the 'logb' module.
28592         * doc/posix-functions/modf.texi: Mention the 'modf' module.
28593         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
28594         * doc/posix-functions/pow.texi: Mention the 'pow' module.
28595         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
28596         * doc/posix-functions/rint.texi: Mention the 'rint' module.
28597         * doc/posix-functions/sin.texi: Mention the 'sin' module.
28598         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
28599         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
28600         * doc/posix-functions/tan.texi: Mention the 'tan' module.
28601         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
28602         * doc/posix-functions/y0.texi: Mention the 'y0' module.
28603         * doc/posix-functions/y1.texi: Mention the 'y1' module.
28604         * doc/posix-functions/yn.texi: Mention the 'yn' module.
28605
28606 2010-01-18  Jim Meyering  <meyering@redhat.com>
28607
28608         ignore-value: relax license to LGPLv2+
28609         * modules/ignore-value (License): Relax to LGPLv2+.
28610
28611         getdate: don't leak when TZ contains two or more '"'s
28612         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
28613         double quote in TZ after the first one.
28614
28615         readtokens: do not leak internal token_lengths buffer
28616         * lib/readtokens.c (readtokens): Free the local, lengths,
28617         when the supplied "token_lengths" parameter is NULL.
28618
28619 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28620
28621         Fix a couple of missing LIBTHREAD link failures on AIX.
28622         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
28623         $(LIBTHREAD).
28624         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
28625
28626         Link test-poll against INET_PTON_LIB.
28627         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
28628         for inet_pton on Solaris 10.
28629
28630 2010-01-17  Bruno Haible  <bruno@clisp.org>
28631
28632         unistdio/*-sprintf: Fix typo in module description.
28633         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
28634         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
28635         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
28636         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
28637         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
28638         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
28639         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
28640         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28641
28642 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28643
28644         gnulib-tool: fix filelist for AIX, HP-UX ksh.
28645         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
28646         variables in shell case patterns, for AIX and HP-UX ksh.
28647
28648         Split large sed scripts, for HP-UX sed.
28649         * modules/stdio: Split sed scripts around 50 sed commands,
28650         to avoid HP-UX limit of 99 commands, in the near future.
28651         * modules/string: Likewise.
28652         * modules/unistd: Likewise.
28653
28654         gnulib-tool: avoid writing in the current directory.
28655         * gnulib-tool (func_emit_lib_Makefile_am)
28656         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
28657         not in the current directory, so concurrent gnulib-tool
28658         instances do not interfere.
28659
28660 2010-01-16  Jim Meyering  <meyering@redhat.com>
28661
28662         doc: update users.txt
28663         * users.txt: Add grep.
28664         (diffutils, gzip): Update URLs.
28665
28666 2010-01-12  Bruno Haible  <bruno@clisp.org>
28667
28668         posix_spawn: Avoid test failure on Cygwin.
28669         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
28670         characters.
28671         Reported by Simon Josefsson.
28672
28673 2010-01-12  Bruno Haible  <bruno@clisp.org>
28674
28675         * tests/test-cond.c (main): When skipping the test, show the reason.
28676
28677 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28678
28679         * lib/striconv.c (str_cd_iconv): Avoid if before free.
28680
28681 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28682
28683         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
28684         VC_LIST_ALWAYS_EXCLUDE_REGEX.
28685
28686 2010-01-12  Eric Blake  <ebb9@byu.net>
28687
28688         build: guarantee AS_VAR_IF
28689         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
28690         (gl_AS_VAR_IF): Move...
28691         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
28692         Reported by Simon Josefsson.
28693
28694 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28695
28696         * lib/stdio.in.h: Fix typo.
28697
28698 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28699
28700         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
28701         libgpg-error.
28702
28703 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28704
28705         * tests/test-xalloc-die.sh: Use $EXEEXT.
28706
28707 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28708             Bruno Haible  <bruno@clisp.org>
28709
28710         getlogin, getlogin_r: Avoid test failure.
28711         * tests/test-getlogin.c: Include <stdio.h>.
28712         (main): Skip the test when the function fails because stdin is not a
28713         tty.
28714         * tests/test-getlogin_r.c: Include <stdio.h>.
28715         (main): Skip the test when the function fails because stdin is not a
28716         tty.
28717
28718 2010-01-11  Eric Blake  <ebb9@byu.net>
28719
28720         tests: avoid more large file warnings
28721         * tests/test-fflush.c: Avoid warning about ftell use.
28722         * tests/test-fseek.c: Avoid warning about fseek use.
28723
28724 2010-01-10  Bruno Haible  <bruno@clisp.org>
28725
28726         nproc: Work better on Linux when /proc and /sys are not mounted.
28727         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
28728         as lower bound when, on glibc/Linux systems,
28729         sysconf (_SC_NPROCESSORS_CONF) returns 1.
28730         Suggested by Pádraig Brady <P@draigbrady.com>.
28731         Reported by Dmitry V. Levin <ldv@altlinux.org>.
28732
28733         nproc: Refactor.
28734         * lib/nproc.c (num_processors_via_affinity_mask): New function,
28735         extracted from num_processors.
28736         (num_processors): Call it.
28737
28738 2010-01-11  Jim Meyering  <meyering@redhat.com>
28739
28740         utimecmp: avoid new warning from upcoming gcc-4.5.0
28741         * lib/utimecmp.c (BILLION): Define using #define rather than an
28742         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
28743
28744 2010-01-11  Eric Blake  <ebb9@byu.net>
28745
28746         math: add portability warnings for classification macros
28747         * modules/math (Depends-on): Add warn-on-use.
28748         (Makefile.am): Provide new substitutions.
28749         * m4/math_h.m4 (gl_MATH_H): Require inline.
28750         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
28751         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
28752         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
28753         implement warnings.
28754
28755         unistd: warn on use of environ without module
28756         * modules/unistd (Depends-on): Add warn-on-use.
28757         (Makefile.am): Provide new substitutions.
28758         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
28759         * lib/unistd.in.h (environ): Wrap with a warning helper function.
28760
28761         stdio: warn on suspicious uses
28762         * modules/stdio (Depends-on): Add warn-on-use.
28763         (Makefile.am): Provide new substitutions.
28764         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
28765         fseeko.
28766         * lib/stdio.in.h (gets): Always warn on use.
28767         (fseek, ftell): Adjust when warnings are issued, and honor
28768         _GL_NO_LARGE_FILES as a way to silence the warning.
28769         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
28770         any warning about large file offsets.
28771         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
28772         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
28773         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
28774         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
28775         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
28776         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
28777         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
28778         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
28779
28780         warn-on-use: new module
28781         * modules/warn-on-use: New file.
28782         * build-aux/warn-on-use.h: Likewise.
28783         * m4/warn-on-use.m4: Likewise.
28784         * MODULES.html.sh (Support for building): Mention it.
28785
28786 2010-01-10  Bruno Haible  <bruno@clisp.org>
28787
28788         Tests for module 'unistr/u32-strdup'.
28789         * modules/unistr/u32-strdup-tests: New file.
28790         * tests/unistr/test-u32-strdup.c: New file.
28791
28792         Tests for module 'unistr/u16-strdup'.
28793         * modules/unistr/u16-strdup-tests: New file.
28794         * tests/unistr/test-u16-strdup.c: New file.
28795
28796         Tests for module 'unistr/u8-strdup'.
28797         * modules/unistr/u8-strdup-tests: New file.
28798         * tests/unistr/test-u8-strdup.c: New file.
28799         * tests/unistr/test-strdup.h: New file.
28800
28801         Tests for module 'unistr/u32-strncmp'.
28802         * modules/unistr/u32-strncmp-tests: New file.
28803         * tests/unistr/test-u32-strncmp.c: New file.
28804
28805         Tests for module 'unistr/u16-strncmp'.
28806         * modules/unistr/u16-strncmp-tests: New file.
28807         * tests/unistr/test-u16-strncmp.c: New file.
28808
28809         Tests for module 'unistr/u8-strncmp'.
28810         * modules/unistr/u8-strncmp-tests: New file.
28811         * tests/unistr/test-u8-strncmp.c: New file.
28812         * tests/unistr/test-strncmp.h: New file.
28813
28814         Tests for module 'unistr/u32-strcoll'.
28815         * modules/unistr/u32-strcoll-tests: New file.
28816         * tests/unistr/test-u32-strcoll.c: New file.
28817
28818         Tests for module 'unistr/u16-strcoll'.
28819         * modules/unistr/u16-strcoll-tests: New file.
28820         * tests/unistr/test-u16-strcoll.c: New file.
28821
28822         Tests for module 'unistr/u8-strcoll'.
28823         * modules/unistr/u8-strcoll-tests: New file.
28824         * tests/unistr/test-u8-strcoll.c: New file.
28825
28826         Tests for module 'unistr/u32-strcmp'.
28827         * modules/unistr/u32-strcmp-tests: New file.
28828         * tests/unistr/test-u32-strcmp.c: New file.
28829         * tests/unistr/test-u32-strcmp.h: New file.
28830
28831         Tests for module 'unistr/u16-strcmp'.
28832         * modules/unistr/u16-strcmp-tests: New file.
28833         * tests/unistr/test-u16-strcmp.c: New file.
28834         * tests/unistr/test-u16-strcmp.h: New file.
28835
28836         Tests for module 'unistr/u8-strcmp'.
28837         * modules/unistr/u8-strcmp-tests: New file.
28838         * tests/unistr/test-u8-strcmp.c: New file.
28839         * tests/unistr/test-u8-strcmp.h: New file.
28840         * tests/unistr/test-strcmp.h: New file.
28841
28842         Tests for module 'unistr/u32-strncat'.
28843         * modules/unistr/u32-strncat-tests: New file.
28844         * tests/unistr/test-u32-strncat.c: New file.
28845
28846         Tests for module 'unistr/u16-strncat'.
28847         * modules/unistr/u16-strncat-tests: New file.
28848         * tests/unistr/test-u16-strncat.c: New file.
28849
28850         Tests for module 'unistr/u8-strncat'.
28851         * modules/unistr/u8-strncat-tests: New file.
28852         * tests/unistr/test-u8-strncat.c: New file.
28853         * tests/unistr/test-strncat.h: New file.
28854
28855         Tests for module 'unistr/u32-strcat'.
28856         * modules/unistr/u32-strcat-tests: New file.
28857         * tests/unistr/test-u32-strcat.c: New file.
28858
28859         Tests for module 'unistr/u16-strcat'.
28860         * modules/unistr/u16-strcat-tests: New file.
28861         * tests/unistr/test-u16-strcat.c: New file.
28862
28863         Tests for module 'unistr/u8-strcat'.
28864         * modules/unistr/u8-strcat-tests: New file.
28865         * tests/unistr/test-u8-strcat.c: New file.
28866         * tests/unistr/test-strcat.h: New file.
28867
28868         Tests for module 'unistr/u32-stpncpy'.
28869         * modules/unistr/u32-stpncpy-tests: New file.
28870         * tests/unistr/test-u32-stpncpy.c: New file.
28871
28872         Tests for module 'unistr/u16-stpncpy'.
28873         * modules/unistr/u16-stpncpy-tests: New file.
28874         * tests/unistr/test-u16-stpncpy.c: New file.
28875
28876         Tests for module 'unistr/u8-stpncpy'.
28877         * modules/unistr/u8-stpncpy-tests: New file.
28878         * tests/unistr/test-u8-stpncpy.c: New file.
28879         * tests/unistr/test-stpncpy.h: New file.
28880
28881         Tests for module 'unistr/u32-strncpy'.
28882         * modules/unistr/u32-strncpy-tests: New file.
28883         * tests/unistr/test-u32-strncpy.c: New file.
28884
28885         Tests for module 'unistr/u16-strncpy'.
28886         * modules/unistr/u16-strncpy-tests: New file.
28887         * tests/unistr/test-u16-strncpy.c: New file.
28888
28889         Tests for module 'unistr/u8-strncpy'.
28890         * modules/unistr/u8-strncpy-tests: New file.
28891         * tests/unistr/test-u8-strncpy.c: New file.
28892         * tests/unistr/test-strncpy.h: New file.
28893
28894         Tests for module 'unistr/u32-stpcpy'.
28895         * modules/unistr/u32-stpcpy-tests: New file.
28896         * tests/unistr/test-u32-stpcpy.c: New file.
28897
28898         Tests for module 'unistr/u16-stpcpy'.
28899         * modules/unistr/u16-stpcpy-tests: New file.
28900         * tests/unistr/test-u16-stpcpy.c: New file.
28901
28902         Tests for module 'unistr/u8-stpcpy'.
28903         * modules/unistr/u8-stpcpy-tests: New file.
28904         * tests/unistr/test-u8-stpcpy.c: New file.
28905         * tests/unistr/test-stpcpy.h: New file.
28906
28907         Tests for module 'unistr/u32-strcpy'.
28908         * modules/unistr/u32-strcpy-tests: New file.
28909         * tests/unistr/test-u32-strcpy.c: New file.
28910
28911         Tests for module 'unistr/u16-strcpy'.
28912         * modules/unistr/u16-strcpy-tests: New file.
28913         * tests/unistr/test-u16-strcpy.c: New file.
28914
28915         Tests for module 'unistr/u8-strcpy'.
28916         * modules/unistr/u8-strcpy-tests: New file.
28917         * tests/unistr/test-u8-strcpy.c: New file.
28918         * tests/unistr/test-strcpy.h: New file.
28919
28920         Tests for module 'unistr/u32-strnlen'.
28921         * modules/unistr/u32-strnlen-tests: New file.
28922         * tests/unistr/test-u32-strnlen.c: New file.
28923
28924         Tests for module 'unistr/u16-strnlen'.
28925         * modules/unistr/u16-strnlen-tests: New file.
28926         * tests/unistr/test-u16-strnlen.c: New file.
28927
28928         Tests for module 'unistr/u8-strnlen'.
28929         * modules/unistr/u8-strnlen-tests: New file.
28930         * tests/unistr/test-u8-strnlen.c: New file.
28931         * tests/unistr/test-strnlen.h: New file.
28932
28933         Tests for module 'unistr/u32-strlen'.
28934         * modules/unistr/u32-strlen-tests: New file.
28935         * tests/unistr/test-u32-strlen.c: New file.
28936
28937         Tests for module 'unistr/u16-strlen'.
28938         * modules/unistr/u16-strlen-tests: New file.
28939         * tests/unistr/test-u16-strlen.c: New file.
28940
28941         Tests for module 'unistr/u8-strlen'.
28942         * modules/unistr/u8-strlen-tests: New file.
28943         * tests/unistr/test-u8-strlen.c: New file.
28944
28945         Tests for module 'unistr/u32-prev'.
28946         * modules/unistr/u32-prev-tests: New file.
28947         * tests/unistr/test-u32-prev.c: New file.
28948
28949         Tests for module 'unistr/u16-prev'.
28950         * modules/unistr/u16-prev-tests: New file.
28951         * tests/unistr/test-u16-prev.c: New file.
28952
28953         Tests for module 'unistr/u8-prev'.
28954         * modules/unistr/u8-prev-tests: New file.
28955         * tests/unistr/test-u8-prev.c: New file.
28956
28957         Tests for module 'unistr/u32-next'.
28958         * modules/unistr/u32-next-tests: New file.
28959         * tests/unistr/test-u32-next.c: New file.
28960
28961         Tests for module 'unistr/u16-next'.
28962         * modules/unistr/u16-next-tests: New file.
28963         * tests/unistr/test-u16-next.c: New file.
28964
28965         Tests for module 'unistr/u8-next'.
28966         * modules/unistr/u8-next-tests: New file.
28967         * tests/unistr/test-u8-next.c: New file.
28968
28969         Tests for module 'unistr/u32-strmbtouc'.
28970         * modules/unistr/u32-strmbtouc-tests: New file.
28971         * tests/unistr/test-u32-strmbtouc.c: New file.
28972
28973         Tests for module 'unistr/u16-strmbtouc'.
28974         * modules/unistr/u16-strmbtouc-tests: New file.
28975         * tests/unistr/test-u16-strmbtouc.c: New file.
28976
28977         Tests for module 'unistr/u8-strmbtouc'.
28978         * modules/unistr/u8-strmbtouc-tests: New file.
28979         * tests/unistr/test-u8-strmbtouc.c: New file.
28980
28981         Tests for module 'unistr/u32-strmblen'.
28982         * modules/unistr/u32-strmblen-tests: New file.
28983         * tests/unistr/test-u32-strmblen.c: New file.
28984
28985         Tests for module 'unistr/u16-strmblen'.
28986         * modules/unistr/u16-strmblen-tests: New file.
28987         * tests/unistr/test-u16-strmblen.c: New file.
28988
28989         Tests for module 'unistr/u8-strmblen'.
28990         * modules/unistr/u8-strmblen-tests: New file.
28991         * tests/unistr/test-u8-strmblen.c: New file.
28992
28993         Tests for module 'unistr/u32-cpy-alloc'.
28994         * modules/unistr/u32-cpy-alloc-tests: New file.
28995         * tests/unistr/test-u32-cpy-alloc.c: New file.
28996
28997         Tests for module 'unistr/u16-cpy-alloc'.
28998         * modules/unistr/u16-cpy-alloc-tests: New file.
28999         * tests/unistr/test-u16-cpy-alloc.c: New file.
29000
29001         Tests for module 'unistr/u8-cpy-alloc'.
29002         * modules/unistr/u8-cpy-alloc-tests: New file.
29003         * tests/unistr/test-u8-cpy-alloc.c: New file.
29004         * tests/unistr/test-cpy-alloc.h: New file.
29005
29006         Tests for module 'unistr/u32-mbsnlen'.
29007         * modules/unistr/u32-mbsnlen-tests: New file.
29008         * tests/unistr/test-u32-mbsnlen.c: New file.
29009
29010         Tests for module 'unistr/u16-mbsnlen'.
29011         * modules/unistr/u16-mbsnlen-tests: New file.
29012         * tests/unistr/test-u16-mbsnlen.c: New file.
29013
29014         Tests for module 'unistr/u8-mbsnlen'.
29015         * modules/unistr/u8-mbsnlen-tests: New file.
29016         * tests/unistr/test-u8-mbsnlen.c: New file.
29017
29018         Tests for module 'unistr/u32-chr'.
29019         * modules/unistr/u32-chr-tests: New file.
29020         * tests/unistr/test-u32-chr.c: New file.
29021
29022         Tests for module 'unistr/u16-chr'.
29023         * modules/unistr/u16-chr-tests: New file.
29024         * tests/unistr/test-u16-chr.c: New file.
29025
29026         Tests for module 'unistr/u8-chr'.
29027         * modules/unistr/u8-chr-tests: New file.
29028         * tests/unistr/test-u8-chr.c: New file.
29029         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
29030
29031         Tests for module 'unistr/u32-cmp2'.
29032         * modules/unistr/u32-cmp2-tests: New file.
29033         * tests/unistr/test-u32-cmp2.c: New file.
29034
29035         Tests for module 'unistr/u16-cmp2'.
29036         * modules/unistr/u16-cmp2-tests: New file.
29037         * tests/unistr/test-u16-cmp2.c: New file.
29038
29039         Tests for module 'unistr/u8-cmp2'.
29040         * modules/unistr/u8-cmp2-tests: New file.
29041         * tests/unistr/test-u8-cmp2.c: New file.
29042         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
29043
29044         Tests for module 'unistr/u32-cmp'.
29045         * modules/unistr/u32-cmp-tests: New file.
29046         * tests/unistr/test-u32-cmp.c: New file.
29047
29048         Tests for module 'unistr/u16-cmp'.
29049         * modules/unistr/u16-cmp-tests: New file.
29050         * tests/unistr/test-u16-cmp.c: New file.
29051
29052         Tests for module 'unistr/u8-cmp'.
29053         * modules/unistr/u8-cmp-tests: New file.
29054         * tests/unistr/test-u8-cmp.c: New file.
29055         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
29056
29057         Tests for module 'unistr/u32-set'.
29058         * modules/unistr/u32-set-tests: New file.
29059         * tests/unistr/test-u32-set.c: New file.
29060
29061         Tests for module 'unistr/u16-set'.
29062         * modules/unistr/u16-set-tests: New file.
29063         * tests/unistr/test-u16-set.c: New file.
29064
29065         Tests for module 'unistr/u8-set'.
29066         * modules/unistr/u8-set-tests: New file.
29067         * tests/unistr/test-u8-set.c: New file.
29068         * tests/unistr/test-set.h: New file.
29069
29070         Tests for module 'unistr/u32-move'.
29071         * modules/unistr/u32-move-tests: New file.
29072         * tests/unistr/test-u32-move.c: New file.
29073
29074         Tests for module 'unistr/u16-move'.
29075         * modules/unistr/u16-move-tests: New file.
29076         * tests/unistr/test-u16-move.c: New file.
29077
29078         Tests for module 'unistr/u8-move'.
29079         * modules/unistr/u8-move-tests: New file.
29080         * tests/unistr/test-u8-move.c: New file.
29081         * tests/unistr/test-move.h: New file.
29082
29083         Tests for module 'unistr/u32-cpy'.
29084         * modules/unistr/u32-cpy-tests: New file.
29085         * tests/unistr/test-u32-cpy.c: New file.
29086
29087         Tests for module 'unistr/u16-cpy'.
29088         * modules/unistr/u16-cpy-tests: New file.
29089         * tests/unistr/test-u16-cpy.c: New file.
29090
29091         Tests for module 'unistr/u8-cpy'.
29092         * modules/unistr/u8-cpy-tests: New file.
29093         * tests/unistr/test-u8-cpy.c: New file.
29094         * tests/unistr/test-cpy.h: New file.
29095
29096 2010-01-09  Bruno Haible  <bruno@clisp.org>
29097
29098         Tests for module 'unistr/u32-uctomb'.
29099         * modules/unistr/u32-uctomb-tests: New file.
29100         * tests/unistr/test-u32-uctomb.c: New file.
29101
29102         Tests for module 'unistr/u16-uctomb'.
29103         * modules/unistr/u16-uctomb-tests: New file.
29104         * tests/unistr/test-u16-uctomb.c: New file.
29105
29106         Tests for module 'unistr/u8-uctomb'.
29107         * modules/unistr/u8-uctomb-tests: New file.
29108         * tests/unistr/test-u8-uctomb.c: New file.
29109
29110         Tests for module 'unistr/u32-mbtoucr'.
29111         * modules/unistr/u32-mbtoucr-tests: New file.
29112         * tests/unistr/test-u32-mbtoucr.c: New file.
29113
29114         Tests for module 'unistr/u16-mbtoucr'.
29115         * modules/unistr/u16-mbtoucr-tests: New file.
29116         * tests/unistr/test-u16-mbtoucr.c: New file.
29117
29118         Tests for module 'unistr/u8-mbtoucr'.
29119         * modules/unistr/u8-mbtoucr-tests: New file.
29120         * tests/unistr/test-u8-mbtoucr.c: New file.
29121
29122         Tests for module 'unistr/u32-mbtouc'.
29123         * modules/unistr/u32-mbtouc-tests: New file.
29124         * tests/unistr/test-u32-mbtouc.c: New file.
29125
29126         Tests for module 'unistr/u16-mbtouc'.
29127         * modules/unistr/u16-mbtouc-tests: New file.
29128         * tests/unistr/test-u16-mbtouc.c: New file.
29129
29130         Tests for module 'unistr/u8-mbtouc'.
29131         * modules/unistr/u8-mbtouc-tests: New file.
29132         * tests/unistr/test-u8-mbtouc.c: New file.
29133
29134         Tests for module 'unistr/u32-mbtouc-unsafe'.
29135         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
29136         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
29137         * tests/unistr/test-u32-mbtouc.h: New file.
29138
29139         Tests for module 'unistr/u16-mbtouc-unsafe'.
29140         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
29141         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
29142         * tests/unistr/test-u16-mbtouc.h: New file.
29143
29144         Tests for module 'unistr/u8-mbtouc-unsafe'.
29145         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
29146         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
29147         * tests/unistr/test-u8-mbtouc.h: New file.
29148
29149         Tests for module 'unistr/u32-mblen'.
29150         * modules/unistr/u32-mblen-tests: New file.
29151         * tests/unistr/test-u32-mblen.c: New file.
29152
29153         Tests for module 'unistr/u16-mblen'.
29154         * modules/unistr/u16-mblen-tests: New file.
29155         * tests/unistr/test-u16-mblen.c: New file.
29156
29157         Tests for module 'unistr/u8-mblen'.
29158         * modules/unistr/u8-mblen-tests: New file.
29159         * tests/unistr/test-u8-mblen.c: New file.
29160
29161         Tests for module 'unistr/u32-to-u16'.
29162         * modules/unistr/u32-to-u16-tests: New file.
29163         * tests/unistr/test-u32-to-u16.c: New file.
29164
29165         Tests for module 'unistr/u32-to-u8'.
29166         * modules/unistr/u32-to-u8-tests: New file.
29167         * tests/unistr/test-u32-to-u8.c: New file.
29168
29169         Tests for module 'unistr/u16-to-u32'.
29170         * modules/unistr/u16-to-u32-tests: New file.
29171         * tests/unistr/test-u16-to-u32.c: New file.
29172
29173         Tests for module 'unistr/u16-to-u8'.
29174         * modules/unistr/u16-to-u8-tests: New file.
29175         * tests/unistr/test-u16-to-u8.c: New file.
29176
29177         Tests for module 'unistr/u8-to-u32'.
29178         * modules/unistr/u8-to-u32-tests: New file.
29179         * tests/unistr/test-u8-to-u32.c: New file.
29180
29181         Tests for module 'unistr/u8-to-u16'.
29182         * modules/unistr/u8-to-u16-tests: New file.
29183         * tests/unistr/test-u8-to-u16.c: New file.
29184
29185         Tests for module 'unistr/u32-check'.
29186         * modules/unistr/u32-check-tests: New file.
29187         * tests/unistr/test-u32-check.c: New file.
29188
29189         Tests for module 'unistr/u16-check'.
29190         * modules/unistr/u16-check-tests: New file.
29191         * tests/unistr/test-u16-check.c: New file.
29192
29193         Tests for module 'unistr/u8-check'.
29194         * modules/unistr/u8-check-tests: New file.
29195         * tests/unistr/test-u8-check.c: New file.
29196
29197         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
29198         (category_equals): New function.
29199         (main): Add more tests.
29200         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
29201
29202         * tests/unictype/test-bidi_byname.c (main): Add more tests.
29203
29204 2010-01-10  Bruno Haible  <bruno@clisp.org>
29205
29206         unistr/u*-strcoll: Try harder to distinguish different strings.
29207         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
29208         compare s1 and s2 to see if they are different.
29209
29210 2010-01-10  Bruno Haible  <bruno@clisp.org>
29211
29212         unistr/u*-stpncpy: Fix the return value.
29213         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
29214         description of the return value consistent with stpncpy in glibc.
29215         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
29216         written non-NUL unit.
29217
29218 2010-01-10  Bruno Haible  <bruno@clisp.org>
29219
29220         unistr/u*-next: Add missing dependencies.
29221         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
29222         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
29223         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
29224
29225 2010-01-10  Bruno Haible  <bruno@clisp.org>
29226
29227         unistr/u8-mbsnlen: Fix return value for incomplete character.
29228         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
29229         u8_mblen.
29230         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
29231         Remove unistr/u8-mblen.
29232         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
29233         u16_mblen.
29234         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
29235         Remove unistr/u16-mblen.
29236
29237 2010-01-10  Bruno Haible  <bruno@clisp.org>
29238
29239         wchar: Fix compilation error when <wchar.h> is used from coreutils.
29240         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
29241         Reported by Brian Gough <bjg@gnu.org> and
29242         Chris Clayton <chris2553@googlemail.com> via
29243         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
29244
29245 2010-01-09  Bruno Haible  <bruno@clisp.org>
29246
29247         unistr/u16-to-u32: Reject invalid input.
29248         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
29249         u16_mbtouc.
29250         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
29251         Remove unistr/u16-mbtouc.
29252
29253         unistr/u16-to-u8: Reject invalid input.
29254         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
29255         u16_mbtouc.
29256         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
29257         Remove unistr/u16-mbtouc.
29258
29259         unistr/u8-to-u32: Reject invalid input.
29260         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
29261         u8_mbtouc.
29262         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
29263         Remove unistr/u8-mbtouc.
29264
29265         unistr/u8-to-u16: Reject invalid input.
29266         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
29267         u8_mbtouc.
29268         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
29269         Remove unistr/u8-mbtouc.
29270
29271 2010-01-09  Bruno Haible  <bruno@clisp.org>
29272
29273         Tests for module 'getlogin'.
29274         * modules/getlogin-tests: New file.
29275         * tests/test-getlogin.c: New file.
29276
29277         New module 'getlogin'.
29278         * lib/unistd.in.h (getlogin): New declaration.
29279         * lib/getlogin.c: New file.
29280         * m4/getlogin.m4: New file.
29281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
29282         HAVE_GETLOGIN.
29283         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
29284         HAVE_GETLOGIN.
29285         * modules/getlogin: New file.
29286         * doc/posix-functions/getlogin.texi: Mention the new module.
29287         Reported by John W. Eaton <jwe@gnu.org>.
29288
29289 2010-01-09  Bruno Haible  <bruno@clisp.org>
29290
29291         getlogin_r: Support for native Windows.
29292         * lib/getlogin_r.c: Include <windows.h>
29293         (getlogin_r): Implement for native Windows.
29294         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
29295         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
29296         via John W. Eaton <jwe@gnu.org>.
29297
29298 2010-01-09  Bruno Haible  <bruno@clisp.org>
29299
29300         getlogin_r: Small fixes.
29301         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
29302         succeeds.
29303         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
29304         before testing whether getlogin_r is declared. No need to set
29305         HAVE_DECL_GETLOGIN_R to 1.
29306         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
29307
29308 2010-01-09  Bruno Haible  <bruno@clisp.org>
29309
29310         * lib/unistd.in.h (getlogin_r): Add comment.
29311
29312 2010-01-09  Bruno Haible  <bruno@clisp.org>
29313
29314         Tests for module 'getlogin_r'.
29315         * modules/getlogin_r-tests: New file.
29316         * tests/test-getlogin_r.c: New file.
29317
29318 2010-01-09  Jim Meyering  <meyering@redhat.com>
29319
29320         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
29321         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
29322         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
29323
29324 2010-01-08  Simon Josefsson  <simon@josefsson.org>
29325
29326         * lib/dup2.c (rpl_dup2): Improve comment.
29327
29328 2010-01-08  Eric Blake  <ebb9@byu.net>
29329
29330         maint.mk: allow packages to add makefile @@ exceptions
29331         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
29332         (sc_makefile_check): Rename...
29333         (sc_makefile_at_at_check): ...to this, and use hook.
29334
29335         dup2: work around mingw bug
29336         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
29337         Reported by Simon Josefsson.
29338
29339 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
29340
29341         glob: Fix C++ compilation.
29342         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
29343         C++.
29344
29345 2010-01-07  Bruno Haible  <bruno@clisp.org>
29346
29347         Fix indentation of wctype.in.h, broken since 2007-01-06.
29348         * lib/wctype.in.h: Fix indentation of preprocessor directives.
29349
29350 2010-01-07  Bruno Haible  <bruno@clisp.org>
29351
29352         mbslen: Avoid collision with system function.
29353         * lib/string.in.h [MirBSD]: Include <wchar.h>.
29354         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
29355         * m4/mbslen.m4: New file.
29356         * modules/mbslen (Files): Add it.
29357         (configure.ac): Invoke gl_MBSLEN.
29358         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
29359         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
29360         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
29361         via Ian Beckwith <ianb@erislabs.net>.
29362
29363 2010-01-07  Bruno Haible  <bruno@clisp.org>
29364
29365         dirent: Document the last fix.
29366         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
29367
29368 2010-01-07  Bruno Haible  <bruno@clisp.org>
29369
29370         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
29371         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
29372         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
29373         va_list are defined.
29374         * doc/posix-headers/stdio.texi: Document the bug of missing types.
29375         Reported by Eric Blake.
29376
29377 2010-01-07  Bruno Haible  <bruno@clisp.org>
29378
29379         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
29380         * modules/xlist (Depends-on): Add 'list',
29381         * modules/xoset (Depends-on): Add 'oset'.
29382         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29383
29384 2010-01-07  Bruno Haible  <bruno@clisp.org>
29385
29386         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
29387         * doc/posix-functions/strncasecmp.texi: Likewise.
29388
29389 2010-01-07  Bruno Haible  <bruno@clisp.org>
29390
29391         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
29392
29393 2010-01-07  John W. Eaton  <jwe@octave.org>
29394
29395         wctype: allow C++ use
29396         * lib/wctype.in.h: Add extern "C" block for C++.
29397
29398 2010-01-06  Eric Blake  <ebb9@byu.net>
29399
29400         maint.mk: detect incorrect GFDL usage
29401         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
29402
29403 2010-01-06  Jim Meyering  <meyering@redhat.com>
29404         and Eric Blake  <ebb9@byu.net>
29405
29406         maint.mk: ignore multi-line copyright in NEWS
29407         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
29408
29409 2010-01-06  Eric Blake  <ebb9@byu.net>
29410
29411         select: add missing dependency
29412         * modules/select-tests (Depends-on): Move sockets dependency...
29413         * modules/select (Depends-on): ...here.
29414         Reported by Ian Beckwith.
29415
29416         doc: regenerate INSTALL
29417         * doc/INSTALL: Reflect recent autoconf update.
29418         * doc/INSTALL.ISO: Likewise.
29419         * doc/INSTALL.UTF-8: Likewise.
29420
29421         pread: fix compilation on glibc
29422         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
29423         Reported by Ralf Wildenhues.
29424
29425         dirent: fix test failure
29426         * lib/dirent.in.h (includes): Guarantee ino_t.
29427         Reported by Ralf Wildenhues.
29428
29429 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
29430
29431         linkat, renameat: avoid bad free
29432         * lib/at-func2.c (at_func2): Fix typo.
29433         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
29434
29435 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29436
29437         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
29438         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
29439         to avoid failure of symlink test later.
29440
29441 2010-01-06  Eric Blake  <ebb9@byu.net>
29442
29443         stdio, unistd: guarantee ssize_t
29444         * lib/unistd.in.h (includes): Ensure that types required by POSIX
29445         2008 are exposed when needed.
29446         * lib/stdio.in.h (includes): Likewise.
29447         Reported by Ralf Wildenhues.
29448
29449 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
29450
29451         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
29452         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
29453         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
29454
29455 2010-01-06  Jim Meyering  <meyering@redhat.com>
29456
29457         readtokens: this module *does* require xalloc.h
29458         It uses only functions that were omitted by the old syntax-check rule.
29459         * lib/readtokens.c: Include "xalloc.h" once again.
29460         * modules/readtokens (Depends-on): Add xalloc.
29461         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
29462
29463 2010-01-05  Eric Blake  <ebb9@byu.net>
29464
29465         maint: support 'make announcement' from a VPATH build
29466         * top/maint.mk (announcement): Look for correct NEWS file.
29467
29468 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
29469
29470         utimens (fdutimens): ignore a negative FD, per contract
29471         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
29472         when we have a valid file descriptor.  Otherwise, using a brand
29473         new glibc (with just-patched futimens that now fails with EBADF)
29474         would cause this function to fail with ENOSYS.
29475         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
29476         See also http://bugzilla.redhat.com/552320.
29477
29478 2010-01-05  Eric Blake  <ebb9@byu.net>
29479
29480         strcase: document what it provides
29481         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
29482         gnulib module.
29483         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
29484         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
29485
29486 2010-01-05  Jim Meyering  <meyering@redhat.com>
29487
29488         maint: remove useless inclusions of "xalloc.h"
29489         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
29490         * lib/readtokens.c: Likewise.
29491         * lib/same.c: Likewise.
29492         * modules/getloadavg (Depends-on): Remove xalloc.
29493         * modules/readtokens: Likewise.
29494         * modules/same: Likewise.
29495
29496         maint.mk: include 4 more function names in alloca.h-checking regexp
29497         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
29498         regexp.  Before, we would give a false-positive (saying alloca.h
29499         is included unnecessarily) when the only uses involved omitted symbols.
29500
29501         xalloc.h: use consistent formatting
29502         * lib/xalloc.h: Move declarations to start in the first column.
29503
29504 2010-01-05  Eric Blake  <ebb9@byu.net>
29505
29506         mkdir: avoid xalloc
29507         * lib/mkdir.c (includes): Drop unused header.
29508         Reported by John W. Eaton.
29509
29510 2010-01-04  Jim Meyering  <meyering@redhat.com>
29511
29512         nl_langinfo: avoid configure-time syntax error
29513         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
29514         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
29515         the empty string.  Don't let that provoke a shell syntax error.
29516
29517         regcomp, regexec, fnmatch: avoid array bounds read error
29518         * lib/regcomp.c (build_equiv_class): From glibc:
29519         Use only the low 24 bits of a findidx return value as an index
29520         into the weights array.  Patch by Ulrich Drepper:
29521         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
29522         * lib/regexec.c (check_node_accept_bytes): Likewise.
29523         * lib/fnmatch_loop.c (FCT): Likewise.
29524
29525         regcomp: skip collseq lookup when there are no rules
29526         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
29527         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
29528
29529         regcomp: recognize ill-formed { } expressions
29530         * lib/regcomp.c (parse_dup_op): From glibc:
29531         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
29532
29533         regcomp: fix typo in comment
29534         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
29535         s/satisfy/satisfies/.
29536
29537         regcomp: sync from glibc: remove dead store
29538         * lib/regcomp.c (duplicate_node_closure): Remove useless
29539         search_duplicated_node call and dead store.
29540
29541         regcomp: sync from glibc; always use nl_langinfo
29542         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
29543         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
29544         * modules/regex (Depends-on): Add nl_langinfo.
29545
29546 2010-01-04  Eric Blake  <ebb9@byu.net>
29547
29548         fdopendir: fix configure test
29549         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
29550
29551 2010-01-01  Bruno Haible  <bruno@clisp.org>
29552
29553         wchar: Remove unused configure check.
29554         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
29555
29556 2010-01-01  Eric Blake  <ebb9@byu.net>
29557
29558         headers: make check of system header explicit
29559         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
29560         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
29561         ourselves.
29562         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
29563         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29564         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
29565         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
29566         internals.
29567         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
29568         missing.
29569         Suggested by Bruno Haible.
29570
29571 2010-01-01  Jim Meyering  <meyering@redhat.com>
29572
29573         ChangeLog: tweak to eliminate unnecessary copyright line
29574         * ChangeLog: Remove a copyright line that was mistakenly updated
29575         by today's update-copyright run.  Reported by Eric Blake.
29576
29577         test-update-copyright: don't let envvar setting cause test failure
29578         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29579
29580 2010-01-01  Bruno Haible  <bruno@clisp.org>
29581
29582         localename: Avoid gcc warning.
29583         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
29584         function if it is not used.
29585
29586 2010-01-01  Jim Meyering  <meyering@redhat.com>
29587
29588         update nearly all FSF copyright year lists to include 2010
29589         Use the same procedure as for 2009, outlined in
29590         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
29591
29592         version-etc: set COPYRIGHT_YEAR to 2010
29593         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
29594
29595 2009-12-31  Eric Blake  <ebb9@byu.net>
29596
29597         doc: correct availability of cygwin 1.5.x getopt
29598         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
29599         variables.
29600         * doc/posix-functions/opterr.texi (opterr): Likewise.
29601         * doc/posix-functions/optind.texi (optind): Likewise.
29602         * doc/posix-functions/optopt.texi (optopt): Likewise.
29603         * doc/posix-functions/tzname.texi (tzname): Likewise.
29604
29605         openat: update maintainer
29606         * modules/openat (Maintainer): Add myself.
29607
29608         utimens: avoid shadowing warning
29609         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
29610         buffers into one, to avoid shadowing, as well as avoiding a
29611         redundant stat.
29612         Reported by Jim Meyering.
29613
29614         test-dup2: avoid compiler warning
29615         * tests/test-dup2.c (is_inheritable): Only define if used.
29616
29617 2010-01-01  Bruno Haible  <bruno@clisp.org>
29618
29619         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
29620         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
29621         defined, use wctomb instead of wcrtomb.
29622
29623 2010-01-01  Bruno Haible  <bruno@clisp.org>
29624
29625         iconv: Reject native Solaris iconv.
29626         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
29627         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
29628
29629 2009-12-31  Bruno Haible  <bruno@clisp.org>
29630
29631         * tests/test-signal.c (main): Remove test of 'SIG'.
29632
29633 2009-12-31  Bruno Haible  <bruno@clisp.org>
29634
29635         spawn: Fix incomplete fix.
29636         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
29637         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
29638         warnings for GNULIB_POSIXCHECK again.
29639         Reported by Eric Blake.
29640
29641 2009-12-31  Bruno Haible  <bruno@clisp.org>
29642
29643         Avoid namespace pollution on glibc systems.
29644         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
29645         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
29646         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
29647         glibc systems.
29648
29649 2009-12-31  Bruno Haible  <bruno@clisp.org>
29650
29651         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
29652         (gl_REPLACE_WCHAR_H): Turn into a no-op.
29653         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
29654         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
29655         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
29656         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
29657         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
29658
29659 2009-12-31  Bruno Haible  <bruno@clisp.org>
29660
29661         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
29662         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
29663         afterwards.
29664
29665 2009-12-31  Bruno Haible  <bruno@clisp.org>
29666
29667         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
29668         SYS_UTSNAME_H.
29669
29670 2009-12-31  Bruno Haible  <bruno@clisp.org>
29671
29672         spawn: Fix misapplied patch.
29673         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
29674         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
29675         warnings for GNULIB_POSIXCHECK.
29676
29677 2009-12-31  Bruno Haible  <bruno@clisp.org>
29678
29679         times: Update after sys_times changed.
29680         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
29681         * modules/times (Files): Add it.
29682         (configure.ac): Invoke gl_FUNC_TIMES.
29683
29684 2009-12-31  Bruno Haible  <bruno@clisp.org>
29685
29686         Use AC_C_INLINE where necessary.
29687         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
29688         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29689         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
29690         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
29691         * m4/mbfile.m4 (gl_MBFILE): Likewise.
29692         * m4/mbiter.m4 (gl_MBITER): Likewise.
29693         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
29694         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
29695         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
29696         * modules/u64 (configure.ac): Likewise.
29697
29698 2009-12-31  Bruno Haible  <bruno@clisp.org>
29699
29700         Use AC_C_INLINE instead of module 'inline' where possible.
29701         * modules/inline (Description): Clarify purpose.
29702         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
29703         * modules/count-one-bits (Depends-on): Remove inline.
29704         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
29705         * modules/openat (Depends-on): Remove inline.
29706         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
29707         instead of depending on module 'inline'.
29708         * modules/filevercmp (Depends-on, configure.ac): Likewise.
29709         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
29710         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
29711         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
29712         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
29713         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
29714         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
29715         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
29716         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
29717         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
29718         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
29719         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
29720         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
29721         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
29722         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
29723         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
29724         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
29725         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
29726         Likewise.
29727         * modules/unictype/property-ascii-hex-digit (Depends-on,
29728         configure.ac): Likewise.
29729         * modules/unictype/property-bidi-arabic-digit (Depends-on,
29730         configure.ac): Likewise.
29731         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
29732         configure.ac): Likewise.
29733         * modules/unictype/property-bidi-block-separator (Depends-on,
29734         configure.ac): Likewise.
29735         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
29736         configure.ac): Likewise.
29737         * modules/unictype/property-bidi-common-separator (Depends-on,
29738         configure.ac): Likewise.
29739         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
29740         Likewise.
29741         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
29742         configure.ac): Likewise.
29743         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
29744         configure.ac): Likewise.
29745         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
29746         configure.ac): Likewise.
29747         * modules/unictype/property-bidi-european-digit (Depends-on,
29748         configure.ac): Likewise.
29749         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
29750         configure.ac): Likewise.
29751         * modules/unictype/property-bidi-left-to-right (Depends-on,
29752         configure.ac): Likewise.
29753         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
29754         configure.ac): Likewise.
29755         * modules/unictype/property-bidi-other-neutral (Depends-on,
29756         configure.ac): Likewise.
29757         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
29758         Likewise.
29759         * modules/unictype/property-bidi-segment-separator (Depends-on,
29760         configure.ac): Likewise.
29761         * modules/unictype/property-bidi-whitespace (Depends-on,
29762         configure.ac): Likewise.
29763         * modules/unictype/property-combining (Depends-on, configure.ac):
29764         Likewise.
29765         * modules/unictype/property-composite (Depends-on, configure.ac):
29766         Likewise.
29767         * modules/unictype/property-currency-symbol (Depends-on,
29768         configure.ac): Likewise.
29769         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
29770         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
29771         Likewise.
29772         * modules/unictype/property-default-ignorable-code-point (Depends-on,
29773         configure.ac): Likewise.
29774         * modules/unictype/property-deprecated (Depends-on, configure.ac):
29775         Likewise.
29776         * modules/unictype/property-diacritic (Depends-on, configure.ac):
29777         Likewise.
29778         * modules/unictype/property-extender (Depends-on, configure.ac):
29779         Likewise.
29780         * modules/unictype/property-format-control (Depends-on, configure.ac):
29781         Likewise.
29782         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
29783         Likewise.
29784         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
29785         Likewise.
29786         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
29787         Likewise.
29788         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
29789         Likewise.
29790         * modules/unictype/property-hyphen (Depends-on, configure.ac):
29791         Likewise.
29792         * modules/unictype/property-id-continue (Depends-on, configure.ac):
29793         Likewise.
29794         * modules/unictype/property-id-start (Depends-on, configure.ac):
29795         Likewise.
29796         * modules/unictype/property-ideographic (Depends-on, configure.ac):
29797         Likewise.
29798         * modules/unictype/property-ids-binary-operator (Depends-on,
29799         configure.ac): Likewise.
29800         * modules/unictype/property-ids-trinary-operator (Depends-on,
29801         configure.ac): Likewise.
29802         * modules/unictype/property-ignorable-control (Depends-on,
29803         configure.ac): Likewise.
29804         * modules/unictype/property-iso-control (Depends-on, configure.ac):
29805         Likewise.
29806         * modules/unictype/property-join-control (Depends-on, configure.ac):
29807         Likewise.
29808         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
29809         Likewise.
29810         * modules/unictype/property-line-separator (Depends-on, configure.ac):
29811         Likewise.
29812         * modules/unictype/property-logical-order-exception (Depends-on,
29813         configure.ac): Likewise.
29814         * modules/unictype/property-lowercase (Depends-on, configure.ac):
29815         Likewise.
29816         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
29817         * modules/unictype/property-non-break (Depends-on, configure.ac):
29818         Likewise.
29819         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
29820         Likewise.
29821         * modules/unictype/property-numeric (Depends-on, configure.ac):
29822         Likewise.
29823         * modules/unictype/property-other-alphabetic (Depends-on,
29824         configure.ac): Likewise.
29825         * modules/unictype/property-other-default-ignorable-code-point
29826         (Depends-on, configure.ac): Likewise.
29827         * modules/unictype/property-other-grapheme-extend (Depends-on,
29828         configure.ac): Likewise.
29829         * modules/unictype/property-other-id-continue (Depends-on,
29830         configure.ac): Likewise.
29831         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
29832         Likewise.
29833         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
29834         Likewise.
29835         * modules/unictype/property-other-math (Depends-on, configure.ac):
29836         Likewise.
29837         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
29838         Likewise.
29839         * modules/unictype/property-paired-punctuation (Depends-on,
29840         configure.ac): Likewise.
29841         * modules/unictype/property-paragraph-separator (Depends-on,
29842         configure.ac): Likewise.
29843         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
29844         Likewise.
29845         * modules/unictype/property-pattern-white-space (Depends-on,
29846         configure.ac): Likewise.
29847         * modules/unictype/property-private-use (Depends-on, configure.ac):
29848         Likewise.
29849         * modules/unictype/property-punctuation (Depends-on, configure.ac):
29850         Likewise.
29851         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
29852         Likewise.
29853         * modules/unictype/property-radical (Depends-on, configure.ac):
29854         Likewise.
29855         * modules/unictype/property-sentence-terminal (Depends-on,
29856         configure.ac): Likewise.
29857         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
29858         Likewise.
29859         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
29860         * modules/unictype/property-terminal-punctuation (Depends-on,
29861         configure.ac): Likewise.
29862         * modules/unictype/property-titlecase (Depends-on, configure.ac):
29863         Likewise.
29864         * modules/unictype/property-unassigned-code-value (Depends-on,
29865         configure.ac): Likewise.
29866         * modules/unictype/property-unified-ideograph (Depends-on,
29867         configure.ac): Likewise.
29868         * modules/unictype/property-uppercase (Depends-on, configure.ac):
29869         Likewise.
29870         * modules/unictype/property-variation-selector (Depends-on,
29871         configure.ac): Likewise.
29872         * modules/unictype/property-white-space (Depends-on, configure.ac):
29873         Likewise.
29874         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
29875         Likewise.
29876         * modules/unictype/property-xid-start (Depends-on, configure.ac):
29877         Likewise.
29878         * modules/unictype/property-zero-width (Depends-on, configure.ac):
29879         Likewise.
29880         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
29881         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
29882         Likewise.
29883
29884 2009-12-31  Bruno Haible  <bruno@clisp.org>
29885
29886         Remove unnecessary AC_C_INLINE invocation.
29887         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
29888         since 2009-08-21.
29889
29890 2009-12-31  Jim Meyering  <meyering@redhat.com>
29891
29892         maint.mk: don't require explicit gpg_key_ID in cfg.mk
29893         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
29894         With this change, we can all remove the gpg_key_ID = ... definition
29895         from our respective cfg.mk files.
29896
29897         maint.mk: create announcement template in ~/, not in /tmp
29898         * top/maint.mk (emit_upload_commands): Adjust.
29899         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
29900         Remove temporary file, .ci-msg.
29901
29902 2009-12-31  Eric Blake  <ebb9@byu.net>
29903
29904         link-warning: always build headers with link warnings
29905         * modules/arpa_inet (Makefile.am): Always build replacement
29906         header.
29907         * modules/ctype (Makefile.am): Likewise.
29908         * modules/dirent (Makefile.am): Likewise.
29909         * modules/inttypes (Makefile.am): Likewise.
29910         * modules/langinfo (Makefile.am): Likewise.
29911         * modules/locale (Makefile.am): Likewise.
29912         * modules/spawn (Makefile.am): Likewise.
29913         * modules/sys_file (Makefile.am): Likewise.
29914         * modules/sys_ioctl (Makefile.am): Likewise.
29915         * modules/sys_select (Makefile.am): Likewise.
29916         * modules/sys_socket (Makefile.am): Likewise.
29917         * modules/sys_times (Makefile.am): Likewise.
29918         * modules/sys_utsname (Makefile.am): Likewise.
29919         * modules/sys_wait (Makefile.am): Likewise.
29920         * modules/wchar (Makefile.am): Likewise.
29921         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
29922         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
29923         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
29924         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
29925         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
29926         Likewise.
29927         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29928         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29929         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
29930         Likewise.
29931         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
29932         Likewise.
29933         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
29934         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
29935         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
29936         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29937         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29938         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29939         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29940         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
29941         (gl_WCHAR_H_DEFAULTS): Likewise.
29942
29943 2009-12-31  Eric Blake  <ebb9@byu.net>
29944
29945         signal, spawn: use link warnings
29946         * lib/signal.in.h (sigset_t): Make unconditional.
29947         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
29948         (sigpending, sigprocmask, sigaction): Add link warnings.
29949         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
29950         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
29951         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
29952         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
29953         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
29954         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
29955         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
29956         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
29957         (posix_spawn_file_actions_destroy)
29958         (posix_spawn_file_actions_addopen)
29959         (posix_spawn_file_actions_addclose)
29960         (posix_spawn_file_actions_adddup2): Likewise.
29961         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
29962         * tests/test-signal.c (main): Enhance test.
29963
29964         spawn: improve wrapper support
29965         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
29966         (gl_SPAWN_H_DEFAULTS): New defaults.
29967         * modules/spawn (Makefile.am): Substitute them.
29968         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
29969         Only declare if missing or broken.
29970
29971         sys_times, sys_utsname: use include_next
29972         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
29973         header.
29974         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
29975         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29976         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29977         * modules/sys_times (Depends-on): Add include_next.
29978         (Makefile.am): Substitute additional values.
29979         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29980         * lib/sys_times.in.h (includes): Include native header, if
29981         available.
29982         * lib/sys_utsname.in.h (includes): Likewise.
29983         * tests/test-sys_times.c (main): Enhance test.
29984
29985         fdutimensat: revert prior patch
29986         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
29987         utimens.h.
29988         Reported by Bruno Haible.
29989
29990 2009-12-30  Eric Blake  <ebb9@byu.net>
29991
29992         sys_wait: drop link-warning dependency
29993         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
29994         link-warning efforts.
29995         * lib/sys_wait.in.h: Likewise.
29996
29997         fdutimensat: remove bogus dependency
29998         * modules/fdutimensat (Depends-on): Drop inline.
29999
30000         unistd: fix typo
30001         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
30002
30003 2009-12-30  Bruno Haible  <bruno@clisp.org>
30004
30005         Fix compilation error with Solaris cc.
30006         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
30007         * lib/unicase/u16-is-invariant.c: Likewise.
30008         * lib/unicase/u32-is-invariant.c: Likewise.
30009         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
30010
30011 2009-12-30  Bruno Haible  <bruno@clisp.org>
30012
30013         Fix test crash.
30014         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
30015         locales.
30016         Reported by Simon Josefsson <simon@josefsson.org>.
30017
30018 2009-12-30  Bruno Haible  <bruno@clisp.org>
30019
30020         Fix compilation error on most platforms.
30021         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
30022         Reported by Simon Josefsson <simon@josefsson.org>
30023         and Nelson H. F. Beebe <beebe@math.utah.edu>.
30024
30025 2009-12-30  Eric Blake  <ebb9@byu.net>
30026
30027         futimens, utimensat: work around ntfs-3g bug
30028         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
30029         a ctime bug is present, and expand workaround to cover ntfs-3g.
30030         * lib/utimens.c (fdutimens, lutimens): Likewise.
30031         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
30032         (validate_timespec): Adjust return value.
30033         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
30034         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30035         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
30036
30037 2009-12-29  Eric Blake  <ebb9@byu.net>
30038
30039         link-warning: make usage consistent
30040         * modules/ctype (Depends-on): Add link-warning.
30041         (Makefile.am): Update rules accordingly.
30042         * modules/langinfo (Depends-on, Makefile.am): Likewise.
30043         * modules/locale (Depends-on, Makefile.am): Likewise.
30044         * modules/sys_file (Makefile.am): Likewise.
30045         * modules/getopt-posix (Makefile.am): Delete unused link warning
30046         efforts.
30047         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
30048         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
30049         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
30050         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
30051
30052         stdio: remove unused variables
30053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
30054         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
30055         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30056
30057         tests: test more substitute headers
30058         * modules/ctype-tests: New file.
30059         * modules/dirent-tests: Likewise.
30060         * modules/spawn-tests: Likewise.
30061         * modules/sys_file-tests: Likewise.
30062         * modules/sys_ioctl-tests: Likewise.
30063         * modules/sys_wait-tests: Likewise.
30064         * tests/test-ctype.c: Likewise.
30065         * tests/test-dirent.c: Likewise.
30066         * tests/test-spawn.c: Likewise.
30067         * tests/test-sys_file.c: Likewise.
30068         * tests/test-sys_ioctl.c: Likewise.
30069         * tests/test-sys_wait.c: Likewise.
30070         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
30071         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
30072         whether or not flock is in use.
30073
30074         tests: remove License section from module
30075         * modules/arpa_inet-tests: Remove unneeded section.
30076         * modules/byteswap-tests: Likewise.
30077         * modules/ceilf-tests: Likewise.
30078         * modules/ceill-tests: Likewise.
30079         * modules/crypto/des-tests: Likewise.
30080         * modules/crypto/gc-arcfour-tests: Likewise.
30081         * modules/crypto/gc-arctwo-tests: Likewise.
30082         * modules/crypto/gc-des-tests: Likewise.
30083         * modules/crypto/gc-hmac-md5-tests: Likewise.
30084         * modules/crypto/gc-hmac-sha1-tests: Likewise.
30085         * modules/crypto/gc-md2-tests: Likewise.
30086         * modules/crypto/gc-md4-tests: Likewise.
30087         * modules/crypto/gc-md5-tests: Likewise.
30088         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
30089         * modules/crypto/gc-rijndael-tests: Likewise.
30090         * modules/crypto/gc-sha1-tests: Likewise.
30091         * modules/crypto/gc-tests: Likewise.
30092         * modules/crypto/md2-tests: Likewise.
30093         * modules/crypto/md4-tests: Likewise.
30094         * modules/fcntl-h-tests: Likewise.
30095         * modules/floorf-tests: Likewise.
30096         * modules/floorl-tests: Likewise.
30097         * modules/frexp-nolibm-tests: Likewise.
30098         * modules/frexp-tests: Likewise.
30099         * modules/frexpl-nolibm-tests: Likewise.
30100         * modules/frexpl-tests: Likewise.
30101         * modules/getaddrinfo-tests: Likewise.
30102         * modules/inttypes-tests: Likewise.
30103         * modules/isfinite-tests: Likewise.
30104         * modules/isinf-tests: Likewise.
30105         * modules/ldexpl-tests: Likewise.
30106         * modules/locale-tests: Likewise.
30107         * modules/math-tests: Likewise.
30108         * modules/netdb-tests: Likewise.
30109         * modules/netinet_in-tests: Likewise.
30110         * modules/printf-frexp-tests: Likewise.
30111         * modules/printf-frexpl-tests: Likewise.
30112         * modules/priv-set-tests: Likewise.
30113         * modules/random_r-tests: Likewise.
30114         * modules/round-tests: Likewise.
30115         * modules/roundf-tests: Likewise.
30116         * modules/roundl-tests: Likewise.
30117         * modules/search-tests: Likewise.
30118         * modules/select-tests: Likewise.
30119         * modules/signal-tests: Likewise.
30120         * modules/stdbool-tests: Likewise.
30121         * modules/stddef-tests: Likewise.
30122         * modules/stdint-tests: Likewise.
30123         * modules/stdio-tests: Likewise.
30124         * modules/stdlib-tests: Likewise.
30125         * modules/string-tests: Likewise.
30126         * modules/strings-tests: Likewise.
30127         * modules/sys_select-tests: Likewise.
30128         * modules/sys_socket-tests: Likewise.
30129         * modules/sys_stat-tests: Likewise.
30130         * modules/sys_time-tests: Likewise.
30131         * modules/sys_utsname-tests: Likewise.
30132         * modules/sysexits-tests: Likewise.
30133         * modules/time-tests: Likewise.
30134         * modules/trunc-tests: Likewise.
30135         * modules/truncf-tests: Likewise.
30136         * modules/truncl-tests: Likewise.
30137         * modules/tsearch-tests: Likewise.
30138         * modules/unistd-tests: Likewise.
30139         * modules/wchar-tests: Likewise.
30140         * modules/wctype-tests: Likewise.
30141
30142         tests: fix license on several tests
30143         * tests/test-des.c: Update to GPLv3+.
30144         * tests/test-flock.c: Likewise.
30145         * tests/test-fsync.c: Likewise.
30146         * tests/test-futimens.h: Likewise.
30147         * tests/test-gc-arcfour.c: Likewise.
30148         * tests/test-gc-arctwo.c: Likewise.
30149         * tests/test-gc-des.c: Likewise.
30150         * tests/test-gc-hmac-md5.c: Likewise.
30151         * tests/test-gc-hmac-sha1.c: Likewise.
30152         * tests/test-gc-md2.c: Likewise.
30153         * tests/test-gc-md4.c: Likewise.
30154         * tests/test-gc-md5.c: Likewise.
30155         * tests/test-gc-pbkdf2-sha1.c: Likewise.
30156         * tests/test-gc-rijndael.c: Likewise.
30157         * tests/test-gc-sha1.c: Likewise.
30158         * tests/test-gc.c: Likewise.
30159         * tests/test-getcwd.c: Likewise.
30160         * tests/test-link.c: Likewise.
30161         * tests/test-link.h: Likewise.
30162         * tests/test-lutimens.h: Likewise.
30163         * tests/test-md2.c: Likewise.
30164         * tests/test-md4.c: Likewise.
30165         * tests/test-mkdir.h: Likewise.
30166         * tests/test-rename.c: Likewise.
30167         * tests/test-rename.h: Likewise.
30168         * tests/test-safe-alloc.c: Likewise.
30169         * tests/test-utimens-common.h: Likewise.
30170         * tests/test-utimens.h: Likewise.
30171
30172         maint: sync license texts
30173         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
30174         * doc/gpl-3.0.texi: Revert copyright year update.
30175         * doc/lgpl-3.0.texi: Likewise.
30176
30177 2009-12-29  Jim Meyering  <meyering@redhat.com>
30178
30179         update nearly all FSF copyright year lists to include 2009
30180         The files named by the following are exempted:
30181             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
30182               test -f "$dst" && { echo "$dst"; continue; }
30183               test -d "$dst" || continue
30184               echo "$dst"/$(basename "$src")
30185             done > exempt
30186             git ls-files tests/unictype >> exempt
30187         In the remaining files, convert to all-interval notation if
30188         - there is already at least one year interval like 2000-2003
30189         - the file is maintained by me
30190         - the file is in lib/uni*/, where that style already prevails
30191         Otherwise, use update-copyright's default.
30192
30193 2009-12-29  Simon Josefsson  <simon@josefsson.org>
30194         and Eric Blake  <ebb9@byu.net>
30195
30196         tests: don't require debug system() to pass
30197         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
30198         * tests/test-rmdir.h (test_rmdir_func): Likewise.
30199         * tests/test-unlink.h (test_unlink_func): Likewise.
30200         * tests/test-fstatat.c (main): ...into callers.
30201         * tests/test-lstat.c (main): Likewise.
30202         * tests/test-rmdir.c (main): Likewise.
30203         * tests/test-unlink.c (main): Likewise.
30204         * tests/test-unlinkat.c (main): Likewise.
30205         * tests/test-areadlink-with-size.c (main): Don't require a
30206         debug-only system call to pass, aiding cross-testing to mingw.
30207         * tests/test-areadlink.c (main): Likewise.
30208         * tests/test-areadlinkat-with-size.c (main): Likewise.
30209         * tests/test-areadlinkat.c (main): Likewise.
30210         * tests/test-canonicalize-lgpl.c (main): Likewise.
30211         * tests/test-canonicalize.c (main): Likewise.
30212         * tests/test-chown.c (main): Likewise.
30213         * tests/test-fchownat.c (main): Likewise.
30214         * tests/test-lchown.c (main): Likewise.
30215         * tests/test-fdutimensat.c (main): Likewise.
30216         * tests/test-futimens.c (main): Likewise.
30217         * tests/test-link.c (main): Likewise.
30218         * tests/test-linkat.c (main): Likewise.
30219         * tests/test-mkdir.c (main): Likewise.
30220         * tests/test-mkdirat.c (main): Likewise.
30221         * tests/test-mkfifo.c (main): Likewise.
30222         * tests/test-mkfifoat.c (main): Likewise.
30223         * tests/test-mknod.c (main): Likewise.
30224         * tests/test-readlink.c (main): Likewise.
30225         * tests/test-remove.c (main): Likewise.
30226         * tests/test-rename.c (main): Likewise.
30227         * tests/test-renameat.c (main): Likewise.
30228         * tests/test-symlink.c (main): Likewise.
30229         * tests/test-symlinkat.c (main): Likewise.
30230         * tests/test-utimens.c (main): Likewise.
30231         * tests/test-utimensat.c (main): Likewise.
30232
30233 2009-12-29  Simon Josefsson  <simon@josefsson.org>
30234
30235         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
30236         on $(UNUSED_PARAMETER_H) to avoid build failure.
30237
30238 2009-12-28  Jim Meyering  <meyering@redhat.com>
30239
30240         update-copyright: you may specify a max. line length other than 72
30241         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
30242
30243         maint: use consistent FSF copyright line syntax
30244         * lib/posixtm.c: Add missing comma in FSF copyright line.
30245         * lib/posixtm.h: Likewise.
30246         * lib/getugroups.c: Add missing ", Inc.".
30247
30248         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
30249         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
30250         FSF copyright line.  Remove trailing blanks.
30251
30252 2009-12-28  Eric Blake  <ebb9@byu.net>
30253
30254         test-dup2: reduce dependencies
30255         * modules/cloexec (Configure.ac): Set witness.
30256         * modules/dup2-tests (Depends-on): Drop cloexec.
30257         * tests/test-dup2.c (main): Skip portion of test if cloexec module
30258         not present.
30259         Suggested by Bruno Haible.
30260
30261 2009-12-26  Bruno Haible  <bruno@clisp.org>
30262
30263         Remove an unneeded dependency.
30264         * modules/fseterr (Depends-on): Remove dup2.
30265
30266 2009-12-26  Eric Blake  <ebb9@byu.net>
30267
30268         tests: use macros.h in more places
30269         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
30270         (ASSERT_STREAM): Provide default of stderr.
30271         * tests/test-dirent-safer.c: Include macros.h, using alternate
30272         stream for assertions.
30273         * tests/test-dup-safer.c: Likewise.
30274         * tests/test-freopen-safer.c: Likewise.
30275         * tests/test-getopt.c: Likewise.
30276         * tests/test-openat-safer.c: Likewise.
30277         * tests/test-pipe.c: Likewise.
30278         * tests/test-popen-safer.c: Likewise.
30279         * modules/dirent-safer-tests (Files): Include macros.h.
30280         * modules/unistd-safer-tests (Files): Likewise.
30281         * modules/freopen-safer-tests (Files): Likewise.
30282         * modules/getopt-posix-tests (Files): Likewise.
30283         * modules/openat-safer-tests (Files): Likewise.
30284         * modules/pipe-tests (Files): Likewise.
30285
30286 2009-12-26  Bruno Haible  <bruno@clisp.org>
30287
30288         javacomp: Portability fix.
30289         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
30290         that it also works on Solaris.
30291
30292 2009-12-26  Bruno Haible  <bruno@clisp.org>
30293
30294         localename: Fix storage allocation of gl_locale_name_thread's result.
30295         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
30296         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
30297         all platforms that have 'uselocale'.
30298         (gl_locale_name_thread_unsafe): New function, extracted from
30299         gl_locale_name_thread.
30300         (gl_locale_name_thread): Call struniq on all platforms that have
30301         'uselocale'.
30302         * tests/test-localename.c (test_locale_name_thread): Check that the
30303         resulting strings are permanently allocated.
30304         * modules/localename-tests (Depends-on): Add strdup.
30305
30306 2009-12-26  Bruno Haible  <bruno@clisp.org>
30307
30308         * tests/test-localename.c (categories): Fill in the strings.
30309
30310 2009-12-26  Jim Meyering  <meyering@redhat.com>
30311
30312         isdir: complete the removal of m4/isdir.m4
30313         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
30314
30315         isdir: clean up, since at least grep still uses it
30316         * lib/isdir.c: Include "isdir.h".
30317         (S_ISDIR): Remove now-unneeded definition.
30318         * modules/isdir (Files): Add lib/isdir.h.
30319         * lib/isdir.h: New file, with declaration.
30320         * m4/isdir.m4: Remove file -- unneeded.
30321
30322 2009-12-25  Bruno Haible  <bruno@clisp.org>
30323
30324         selinux-h: Make generated .h files standalone.
30325         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
30326         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
30327         * lib/se-selinux.in.h: Likewise.
30328         * modules/selinux-h (Depends-on): Add unused-parameter.
30329         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
30330         selinux/selinux.h and selinux/context.h.
30331         Suggested by Eric Blake.
30332
30333 2009-12-25  Bruno Haible  <bruno@clisp.org>
30334
30335         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
30336         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
30337         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
30338         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
30339         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
30340
30341 2009-12-24  Bruno Haible  <bruno@clisp.org>
30342
30343         openat: Fix warning.
30344         * lib/openat-proc.c: Include <unistd.h>.
30345
30346 2009-12-24  Bruno Haible  <bruno@clisp.org>
30347
30348         New module 'unused-parameter'.
30349         * build-aux/unused-parameter.h: New file, extracted from earlier
30350         gnulib-common.m4.
30351         * modules/unused-parameter: New file.
30352         * lib/unistr.h: Include unused-parameter.h.
30353         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
30354         _GL_UNUSED.
30355         * modules/unistr/base (Depends-on): Add unused-parameter.
30356
30357 2009-12-24  Bruno Haible  <bruno@clisp.org>
30358
30359         Add missing dependencies to 'extensions' module.
30360         * m4/extensions.m4: Add comment.
30361         * modules/accept4 (Depends-on): Add extensions.
30362         * modules/dup3 (Depends-on): Likewise.
30363         * modules/fcntl (Depends-on): Likewise.
30364         * modules/futimens (Depends-on): Likewise.
30365         * modules/mknod (Depends-on): Likewise.
30366         * modules/pipe2 (Depends-on): Likewise.
30367         * modules/stat-time (Depends-on): Likewise.
30368         * modules/strcasestr-simple (Depends-on): Likewise.
30369         * modules/strsignal (Depends-on): Likewise.
30370         * modules/utimensat (Depends-on): Likewise.
30371         * modules/localcharset (Depends-on): Likewise. Needed because of
30372         gl_FCNTL_O_FLAGS.
30373         * modules/wcrtomb (Depends-on): Likewise. Needed because of
30374         AC_TYPE_MBSTATE_T.
30375         * modules/wcsnrtombs (Depends-on): Likewise.
30376         * modules/wcsrtombs (Depends-on): Likewise.
30377
30378 2009-12-24  Bruno Haible  <bruno@clisp.org>
30379
30380         binary-io: Avoid gcc warning due to SET_BINARY.
30381         * lib/binary-io.h (SET_BINARY): Cast the result to void.
30382         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
30383
30384 2009-12-24  Bruno Haible  <bruno@clisp.org>
30385
30386         Avoid future namespace pollution on glibc systems.
30387         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
30388         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
30389         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
30390         glibc systems.
30391
30392 2009-12-24  Bruno Haible  <bruno@clisp.org>
30393
30394         Refactor common macros used in tests.
30395         * tests/macros.h: New file.
30396         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
30397         and/or <stdlib.h>, if appropriate.
30398         (ASSERT, SIZEOF): Remove macros.
30399         * tests/test-areadlink-with-size.c: Likewise.
30400         * tests/test-areadlinkat.c: Likewise.
30401         * tests/test-areadlinkat-with-size.c: Likewise.
30402         * tests/test-argmatch.c: Likewise.
30403         * tests/test-argv-iter.c: Likewise.
30404         * tests/test-array-mergesort.c: Likewise.
30405         * tests/test-array_list.c: Likewise.
30406         * tests/test-array_oset.c: Likewise.
30407         * tests/test-avltree_list.c: Likewise.
30408         * tests/test-avltree_oset.c: Likewise.
30409         * tests/test-avltreehash_list.c: Likewise.
30410         * tests/test-base64.c: Likewise.
30411         * tests/test-binary-io.c: Likewise.
30412         * tests/test-bitrotate.c: Likewise.
30413         * tests/test-btowc.c: Likewise.
30414         * tests/test-byteswap.c: Likewise.
30415         * tests/test-c-ctype.c: Likewise.
30416         * tests/test-c-stack.c: Likewise.
30417         * tests/test-c-strcasecmp.c: Likewise.
30418         * tests/test-c-strcasestr.c: Likewise.
30419         * tests/test-c-strncasecmp.c: Likewise.
30420         * tests/test-c-strstr.c: Likewise.
30421         * tests/test-canonicalize-lgpl.c: Likewise.
30422         * tests/test-canonicalize.c: Likewise.
30423         * tests/test-carray_list.c: Likewise.
30424         * tests/test-ceilf1.c: Likewise.
30425         * tests/test-ceilf2.c: Likewise.
30426         * tests/test-ceill.c: Likewise.
30427         * tests/test-chown.c: Likewise.
30428         * tests/test-cloexec.c: Likewise.
30429         * tests/test-copy-acl.c: Likewise.
30430         * tests/test-copy-file.c: Likewise.
30431         * tests/test-count-one-bits.c: Likewise.
30432         * tests/test-dprintf-posix.c: Likewise.
30433         * tests/test-dup2.c: Likewise.
30434         * tests/test-dup3.c: Likewise.
30435         * tests/test-duplocale.c: Likewise.
30436         * tests/test-fbufmode.c: Likewise.
30437         * tests/test-fchdir.c: Likewise.
30438         * tests/test-fchownat.c: Likewise.
30439         * tests/test-fcntl-safer.c: Likewise.
30440         * tests/test-fcntl.c: Likewise.
30441         * tests/test-fdopendir.c: Likewise.
30442         * tests/test-fdutimensat.c: Likewise.
30443         * tests/test-fflush2.c: Likewise.
30444         * tests/test-file-has-acl.c: Likewise.
30445         * tests/test-filevercmp.c: Likewise.
30446         * tests/test-flock.c: Likewise.
30447         * tests/test-floorf1.c: Likewise.
30448         * tests/test-floorf2.c: Likewise.
30449         * tests/test-floorl.c: Likewise.
30450         * tests/test-fnmatch.c: Likewise.
30451         * tests/test-fopen.h: Likewise.
30452         * tests/test-fpending.c: Likewise.
30453         * tests/test-fprintf-posix.c: Likewise.
30454         * tests/test-fpurge.c: Likewise.
30455         * tests/test-freadable.c: Likewise.
30456         * tests/test-freadahead.c: Likewise.
30457         * tests/test-freading.c: Likewise.
30458         * tests/test-freadptr.c: Likewise.
30459         * tests/test-freadptr2.c: Likewise.
30460         * tests/test-freadseek.c: Likewise.
30461         * tests/test-freopen.c: Likewise.
30462         * tests/test-frexp.c: Likewise.
30463         * tests/test-frexpl.c: Likewise.
30464         * tests/test-fseek.c: Likewise.
30465         * tests/test-fseeko.c: Likewise.
30466         * tests/test-fstatat.c: Likewise.
30467         * tests/test-fstrcmp.c: Likewise.
30468         * tests/test-fsync.c: Likewise.
30469         * tests/test-ftell.c: Likewise.
30470         * tests/test-ftello.c: Likewise.
30471         * tests/test-func.c: Likewise.
30472         * tests/test-futimens.c: Likewise.
30473         * tests/test-fwritable.c: Likewise.
30474         * tests/test-fwriting.c: Likewise.
30475         * tests/test-getcwd.c: Likewise.
30476         * tests/test-getdate.c: Likewise.
30477         * tests/test-getdelim.c: Likewise.
30478         * tests/test-getdtablesize.c: Likewise.
30479         * tests/test-getgroups.c: Likewise.
30480         * tests/test-getline.c: Likewise.
30481         * tests/test-getndelim2.c: Likewise.
30482         * tests/test-glob.c: Likewise.
30483         * tests/test-hash.c: Likewise.
30484         * tests/test-i-ring.c: Likewise.
30485         * tests/test-iconv-utf.c: Likewise.
30486         * tests/test-iconv.c: Likewise.
30487         * tests/test-idpriv-drop.c: Likewise.
30488         * tests/test-idpriv-droptemp.c: Likewise.
30489         * tests/test-inet_ntop.c: Likewise.
30490         * tests/test-inet_pton.c: Likewise.
30491         * tests/test-isblank.c: Likewise.
30492         * tests/test-isfinite.c: Likewise.
30493         * tests/test-isinf.c: Likewise.
30494         * tests/test-isnan.c: Likewise.
30495         * tests/test-isnand.h: Likewise.
30496         * tests/test-isnanf.h: Likewise.
30497         * tests/test-isnanl.h: Likewise.
30498         * tests/test-lchown.c: Likewise.
30499         * tests/test-ldexpl.c: Likewise.
30500         * tests/test-link.c: Likewise.
30501         * tests/test-linkat.c: Likewise.
30502         * tests/test-linked_list.c: Likewise.
30503         * tests/test-linkedhash_list.c: Likewise.
30504         * tests/test-localename.c: Likewise.
30505         * tests/test-lseek.c: Likewise.
30506         * tests/test-lstat.c: Likewise.
30507         * tests/test-mbmemcasecmp.c: Likewise.
30508         * tests/test-mbmemcasecoll.c: Likewise.
30509         * tests/test-mbrtowc.c: Likewise.
30510         * tests/test-mbscasecmp.c: Likewise.
30511         * tests/test-mbscasestr1.c: Likewise.
30512         * tests/test-mbscasestr2.c: Likewise.
30513         * tests/test-mbscasestr3.c: Likewise.
30514         * tests/test-mbscasestr4.c: Likewise.
30515         * tests/test-mbschr.c: Likewise.
30516         * tests/test-mbscspn.c: Likewise.
30517         * tests/test-mbsinit.c: Likewise.
30518         * tests/test-mbsncasecmp.c: Likewise.
30519         * tests/test-mbsnrtowcs.c: Likewise.
30520         * tests/test-mbspbrk.c: Likewise.
30521         * tests/test-mbspcasecmp.c: Likewise.
30522         * tests/test-mbsrchr.c: Likewise.
30523         * tests/test-mbsrtowcs.c: Likewise.
30524         * tests/test-mbsspn.c: Likewise.
30525         * tests/test-mbsstr1.c: Likewise.
30526         * tests/test-mbsstr2.c: Likewise.
30527         * tests/test-mbsstr3.c: Likewise.
30528         * tests/test-memchr.c: Likewise.
30529         * tests/test-memchr2.c: Likewise.
30530         * tests/test-memcmp.c: Likewise.
30531         * tests/test-memmem.c: Likewise.
30532         * tests/test-memrchr.c: Likewise.
30533         * tests/test-mkdir.c: Likewise.
30534         * tests/test-mkdirat.c: Likewise.
30535         * tests/test-mkfifo.c: Likewise.
30536         * tests/test-mkfifoat.c: Likewise.
30537         * tests/test-mknod.c: Likewise.
30538         * tests/test-nanosleep.c: Likewise.
30539         * tests/test-nl_langinfo.c: Likewise.
30540         * tests/test-obstack-printf.c: Likewise.
30541         * tests/test-open.c: Likewise.
30542         * tests/test-openat.c: Likewise.
30543         * tests/test-pipe-filter-gi1.c: Likewise.
30544         * tests/test-pipe-filter-gi2-main.c: Likewise.
30545         * tests/test-pipe-filter-ii1.c: Likewise.
30546         * tests/test-pipe-filter-ii2-main.c: Likewise.
30547         * tests/test-pipe2.c: Likewise.
30548         * tests/test-popen.h: Likewise.
30549         * tests/test-posixtm.c: Likewise.
30550         * tests/test-pread.c: Likewise.
30551         * tests/test-printf-frexp.c: Likewise.
30552         * tests/test-printf-frexpl.c: Likewise.
30553         * tests/test-printf-posix.c: Likewise.
30554         * tests/test-priv-set.c: Likewise.
30555         * tests/test-quotearg.c: Likewise.
30556         * tests/test-random_r.c: Likewise.
30557         * tests/test-rawmemchr.c: Likewise.
30558         * tests/test-rbtree_list.c: Likewise.
30559         * tests/test-rbtree_oset.c: Likewise.
30560         * tests/test-rbtreehash_list.c: Likewise.
30561         * tests/test-readlink.c: Likewise.
30562         * tests/test-remove.c: Likewise.
30563         * tests/test-rename.c: Likewise.
30564         * tests/test-renameat.c: Likewise.
30565         * tests/test-rmdir.c: Likewise.
30566         * tests/test-round1.c: Likewise.
30567         * tests/test-roundf1.c: Likewise.
30568         * tests/test-roundl.c: Likewise.
30569         * tests/test-safe-alloc.c: Likewise.
30570         * tests/test-sameacls.c: Likewise.
30571         * tests/test-set-mode-acl.c: Likewise.
30572         * tests/test-setenv.c: Likewise.
30573         * tests/test-sigaction.c: Likewise.
30574         * tests/test-signbit.c: Likewise.
30575         * tests/test-sleep.c: Likewise.
30576         * tests/test-snprintf-posix.c: Likewise.
30577         * tests/test-snprintf.c: Likewise.
30578         * tests/test-sprintf-posix.c: Likewise.
30579         * tests/test-stat-time.c: Likewise.
30580         * tests/test-stat.c: Likewise.
30581         * tests/test-strcasestr.c: Likewise.
30582         * tests/test-strchrnul.c: Likewise.
30583         * tests/test-strerror.c: Likewise.
30584         * tests/test-striconv.c: Likewise.
30585         * tests/test-striconveh.c: Likewise.
30586         * tests/test-striconveha.c: Likewise.
30587         * tests/test-strsignal.c: Likewise.
30588         * tests/test-strstr.c: Likewise.
30589         * tests/test-strtod.c: Likewise.
30590         * tests/test-strverscmp.c: Likewise.
30591         * tests/test-symlink.c: Likewise.
30592         * tests/test-symlinkat.c: Likewise.
30593         * tests/test-trunc1.c: Likewise.
30594         * tests/test-trunc2.c: Likewise.
30595         * tests/test-truncf1.c: Likewise.
30596         * tests/test-truncf2.c: Likewise.
30597         * tests/test-truncl.c: Likewise.
30598         * tests/test-uname.c: Likewise.
30599         * tests/test-unlink.c: Likewise.
30600         * tests/test-unlinkat.c: Likewise.
30601         * tests/test-unsetenv.c: Likewise.
30602         * tests/test-usleep.c: Likewise.
30603         * tests/test-utimens.c: Likewise.
30604         * tests/test-utimensat.c: Likewise.
30605         * tests/test-vasnprintf-posix.c: Likewise.
30606         * tests/test-vasnprintf-posix2.c: Likewise.
30607         * tests/test-vasnprintf.c: Likewise.
30608         * tests/test-vasprintf-posix.c: Likewise.
30609         * tests/test-vasprintf.c: Likewise.
30610         * tests/test-vdprintf-posix.c: Likewise.
30611         * tests/test-vfprintf-posix.c: Likewise.
30612         * tests/test-vprintf-posix.c: Likewise.
30613         * tests/test-vsnprintf-posix.c: Likewise.
30614         * tests/test-vsnprintf.c: Likewise.
30615         * tests/test-vsprintf-posix.c: Likewise.
30616         * tests/test-wcrtomb.c: Likewise.
30617         * tests/test-wcsnrtombs.c: Likewise.
30618         * tests/test-wcsrtombs.c: Likewise.
30619         * tests/test-wctype.c: Likewise.
30620         * tests/test-wcwidth.c: Likewise.
30621         * tests/test-xfprintf-posix.c: Likewise.
30622         * tests/test-xmemdup0.c: Likewise.
30623         * tests/test-xprintf-posix.c: Likewise.
30624         * tests/test-xvasprintf.c: Likewise.
30625         * tests/unicase/test-locale-language.c: Likewise.
30626         * tests/unicase/test-mapping-part1.h: Likewise.
30627         * tests/unicase/test-predicate-part1.h: Likewise.
30628         * tests/unicase/test-u8-casecmp.c: Likewise.
30629         * tests/unicase/test-u8-casecoll.c: Likewise.
30630         * tests/unicase/test-u8-casefold.c: Likewise.
30631         * tests/unicase/test-u8-is-cased.c: Likewise.
30632         * tests/unicase/test-u8-is-casefolded.c: Likewise.
30633         * tests/unicase/test-u8-is-lowercase.c: Likewise.
30634         * tests/unicase/test-u8-is-titlecase.c: Likewise.
30635         * tests/unicase/test-u8-is-uppercase.c: Likewise.
30636         * tests/unicase/test-u8-tolower.c: Likewise.
30637         * tests/unicase/test-u8-totitle.c: Likewise.
30638         * tests/unicase/test-u8-toupper.c: Likewise.
30639         * tests/unicase/test-u16-casecmp.c: Likewise.
30640         * tests/unicase/test-u16-casecoll.c: Likewise.
30641         * tests/unicase/test-u16-casefold.c: Likewise.
30642         * tests/unicase/test-u16-is-cased.c: Likewise.
30643         * tests/unicase/test-u16-is-casefolded.c: Likewise.
30644         * tests/unicase/test-u16-is-lowercase.c: Likewise.
30645         * tests/unicase/test-u16-is-titlecase.c: Likewise.
30646         * tests/unicase/test-u16-is-uppercase.c: Likewise.
30647         * tests/unicase/test-u16-tolower.c: Likewise.
30648         * tests/unicase/test-u16-totitle.c: Likewise.
30649         * tests/unicase/test-u16-toupper.c: Likewise.
30650         * tests/unicase/test-u32-casecmp.c: Likewise.
30651         * tests/unicase/test-u32-casecoll.c: Likewise.
30652         * tests/unicase/test-u32-casefold.c: Likewise.
30653         * tests/unicase/test-u32-is-cased.c: Likewise.
30654         * tests/unicase/test-u32-is-casefolded.c: Likewise.
30655         * tests/unicase/test-u32-is-lowercase.c: Likewise.
30656         * tests/unicase/test-u32-is-titlecase.c: Likewise.
30657         * tests/unicase/test-u32-is-uppercase.c: Likewise.
30658         * tests/unicase/test-u32-tolower.c: Likewise.
30659         * tests/unicase/test-u32-totitle.c: Likewise.
30660         * tests/unicase/test-u32-toupper.c: Likewise.
30661         * tests/unicase/test-ulc-casecmp.c: Likewise.
30662         * tests/unicase/test-ulc-casecoll.c: Likewise.
30663         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
30664         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
30665         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
30666         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
30667         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
30668         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
30669         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
30670         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
30671         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
30672         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
30673         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
30674         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
30675         * tests/unictype/test-bidi_byname.c: Likewise.
30676         * tests/unictype/test-bidi_name.c: Likewise.
30677         * tests/unictype/test-bidi_of.c: Likewise.
30678         * tests/unictype/test-bidi_test.c: Likewise.
30679         * tests/unictype/test-block_list.c: Likewise.
30680         * tests/unictype/test-block_of.c: Likewise.
30681         * tests/unictype/test-block_test.c: Likewise.
30682         * tests/unictype/test-categ_and.c: Likewise.
30683         * tests/unictype/test-categ_and_not.c: Likewise.
30684         * tests/unictype/test-categ_byname.c: Likewise.
30685         * tests/unictype/test-categ_name.c: Likewise.
30686         * tests/unictype/test-categ_none.c: Likewise.
30687         * tests/unictype/test-categ_of.c: Likewise.
30688         * tests/unictype/test-categ_or.c: Likewise.
30689         * tests/unictype/test-categ_test_withtable.c: Likewise.
30690         * tests/unictype/test-combining.c: Likewise.
30691         * tests/unictype/test-decdigit.c: Likewise.
30692         * tests/unictype/test-digit.c: Likewise.
30693         * tests/unictype/test-mirror.c: Likewise.
30694         * tests/unictype/test-numeric.c: Likewise.
30695         * tests/unictype/test-pr_byname.c: Likewise.
30696         * tests/unictype/test-pr_test.c: Likewise.
30697         * tests/unictype/test-predicate-part1.h: Likewise.
30698         * tests/unictype/test-scripts.c: Likewise.
30699         * tests/unictype/test-sy_c_ident.c: Likewise.
30700         * tests/unictype/test-sy_java_ident.c: Likewise.
30701         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
30702         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
30703         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
30704         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
30705         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
30706         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
30707         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
30708         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
30709         * tests/uninorm/test-canonical-decomposition.c: Likewise.
30710         * tests/uninorm/test-compat-decomposition.c: Likewise.
30711         * tests/uninorm/test-composition.c: Likewise.
30712         * tests/uninorm/test-decomposing-form.c: Likewise.
30713         * tests/uninorm/test-decomposition.c: Likewise.
30714         * tests/uninorm/test-u8-nfc.c: Likewise.
30715         * tests/uninorm/test-u8-nfd.c: Likewise.
30716         * tests/uninorm/test-u8-nfkc.c: Likewise.
30717         * tests/uninorm/test-u8-nfkd.c: Likewise.
30718         * tests/uninorm/test-u8-normcmp.c: Likewise.
30719         * tests/uninorm/test-u8-normcoll.c: Likewise.
30720         * tests/uninorm/test-u16-nfc.c: Likewise.
30721         * tests/uninorm/test-u16-nfd.c: Likewise.
30722         * tests/uninorm/test-u16-nfkc.c: Likewise.
30723         * tests/uninorm/test-u16-nfkd.c: Likewise.
30724         * tests/uninorm/test-u16-normcmp.c: Likewise.
30725         * tests/uninorm/test-u16-normcoll.c: Likewise.
30726         * tests/uninorm/test-u32-nfc.c: Likewise.
30727         * tests/uninorm/test-u32-nfd.c: Likewise.
30728         * tests/uninorm/test-u32-nfkc.c: Likewise.
30729         * tests/uninorm/test-u32-nfkd.c: Likewise.
30730         * tests/uninorm/test-u32-normalize-big.c: Likewise.
30731         * tests/uninorm/test-u32-normcmp.c: Likewise.
30732         * tests/uninorm/test-u32-normcoll.c: Likewise.
30733         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
30734         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
30735         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
30736         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
30737         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
30738         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
30739         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
30740         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
30741         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
30742         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
30743         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
30744         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
30745         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
30746         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
30747         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
30748         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
30749         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
30750         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
30751         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
30752         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
30753         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
30754         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
30755         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
30756         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
30757         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
30758         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
30759         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
30760         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
30761         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
30762         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
30763         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
30764         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
30765         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
30766         * tests/uniwidth/test-u8-strwidth.c: Likewise.
30767         * tests/uniwidth/test-u8-width.c: Likewise.
30768         * tests/uniwidth/test-u16-strwidth.c: Likewise.
30769         * tests/uniwidth/test-u16-width.c: Likewise.
30770         * tests/uniwidth/test-u32-strwidth.c: Likewise.
30771         * tests/uniwidth/test-u32-width.c: Likewise.
30772         * tests/uniwidth/test-uc_width.c: Likewise.
30773         * tests/uniwidth/test-uc_width2.c: Likewise.
30774         * modules/acl-tests (Files): Add tests/macros.h.
30775         * modules/areadlink-tests (Files): Likewise.
30776         * modules/areadlink-with-size-tests (Files): Likewise.
30777         * modules/areadlinkat-tests (Files): Likewise.
30778         * modules/areadlinkat-with-size-tests (Files): Likewise.
30779         * modules/argmatch-tests (Files): Likewise.
30780         * modules/argv-iter-tests (Files): Likewise.
30781         * modules/array-list-tests (Files): Likewise.
30782         * modules/array-mergesort-tests (Files): Likewise.
30783         * modules/array-oset-tests (Files): Likewise.
30784         * modules/avltree-list-tests (Files): Likewise.
30785         * modules/avltree-oset-tests (Files): Likewise.
30786         * modules/avltreehash-list-tests (Files): Likewise.
30787         * modules/base64-tests (Files): Likewise.
30788         * modules/binary-io-tests (Files): Likewise.
30789         * modules/bitrotate-tests (Files): Likewise.
30790         * modules/btowc-tests (Files): Likewise.
30791         * modules/byteswap-tests (Files): Likewise.
30792         * modules/c-ctype-tests (Files): Likewise.
30793         * modules/c-stack-tests (Files): Likewise.
30794         * modules/c-strcase-tests (Files): Likewise.
30795         * modules/c-strcasestr-tests (Files): Likewise.
30796         * modules/c-strstr-tests (Files): Likewise.
30797         * modules/canonicalize-lgpl-tests (Files): Likewise.
30798         * modules/canonicalize-tests (Files): Likewise.
30799         * modules/carray-list-tests (Files): Likewise.
30800         * modules/ceilf-tests (Files): Likewise.
30801         * modules/ceill-tests (Files): Likewise.
30802         * modules/chown-tests (Files): Likewise.
30803         * modules/cloexec-tests (Files): Likewise.
30804         * modules/copy-file-tests (Files): Likewise.
30805         * modules/count-one-bits-tests (Files): Likewise.
30806         * modules/dprintf-posix-tests (Files): Likewise.
30807         * modules/dup2-tests (Files): Likewise.
30808         * modules/dup3-tests (Files): Likewise.
30809         * modules/duplocale-tests (Files): Likewise.
30810         * modules/fbufmode-tests (Files): Likewise.
30811         * modules/fchdir-tests (Files): Likewise.
30812         * modules/fcntl-safer-tests (Files): Likewise.
30813         * modules/fcntl-tests (Files): Likewise.
30814         * modules/fdopendir-tests (Files): Likewise.
30815         * modules/fdutimensat-tests (Files): Likewise.
30816         * modules/fflush-tests (Files): Likewise.
30817         * modules/filevercmp-tests (Files): Likewise.
30818         * modules/flock-tests (Files): Likewise.
30819         * modules/floorf-tests (Files): Likewise.
30820         * modules/floorl-tests (Files): Likewise.
30821         * modules/fnmatch-tests (Files): Likewise.
30822         * modules/fopen-safer-tests (Files): Likewise.
30823         * modules/fopen-tests (Files): Likewise.
30824         * modules/fpending-tests (Files): Likewise.
30825         * modules/fprintf-posix-tests (Files): Likewise.
30826         * modules/fpurge-tests (Files): Likewise.
30827         * modules/freadable-tests (Files): Likewise.
30828         * modules/freadahead-tests (Files): Likewise.
30829         * modules/freading-tests (Files): Likewise.
30830         * modules/freadptr-tests (Files): Likewise.
30831         * modules/freadseek-tests (Files): Likewise.
30832         * modules/freopen-tests (Files): Likewise.
30833         * modules/frexp-nolibm-tests (Files): Likewise.
30834         * modules/frexp-tests (Files): Likewise.
30835         * modules/frexpl-nolibm-tests (Files): Likewise.
30836         * modules/frexpl-tests (Files): Likewise.
30837         * modules/fseek-tests (Files): Likewise.
30838         * modules/fseeko-tests (Files): Likewise.
30839         * modules/fstrcmp-tests (Files): Likewise.
30840         * modules/fsync-tests (Files): Likewise.
30841         * modules/ftell-tests (Files): Likewise.
30842         * modules/ftello-tests (Files): Likewise.
30843         * modules/func-tests (Files): Likewise.
30844         * modules/futimens-tests (Files): Likewise.
30845         * modules/fwritable-tests (Files): Likewise.
30846         * modules/fwriting-tests (Files): Likewise.
30847         * modules/getcwd-tests (Files): Likewise.
30848         * modules/getdate-tests (Files): Likewise.
30849         * modules/getdelim-tests (Files): Likewise.
30850         * modules/getdtablesize-tests (Files): Likewise.
30851         * modules/getgroups-tests (Files): Likewise.
30852         * modules/getline-tests (Files): Likewise.
30853         * modules/getndelim2-tests (Files): Likewise.
30854         * modules/glob-tests (Files): Likewise.
30855         * modules/hash-tests (Files): Likewise.
30856         * modules/i-ring-tests (Files): Likewise.
30857         * modules/iconv-tests (Files): Likewise.
30858         * modules/iconv_open-utf-tests (Files): Likewise.
30859         * modules/idpriv-drop-tests (Files): Likewise.
30860         * modules/idpriv-droptemp-tests (Files): Likewise.
30861         * modules/inet_ntop-tests (Files): Likewise.
30862         * modules/inet_pton-tests (Files): Likewise.
30863         * modules/isblank-tests (Files): Likewise.
30864         * modules/isfinite-tests (Files): Likewise.
30865         * modules/isinf-tests (Files): Likewise.
30866         * modules/isnan-tests (Files): Likewise.
30867         * modules/isnand-nolibm-tests (Files): Likewise.
30868         * modules/isnand-tests (Files): Likewise.
30869         * modules/isnanf-nolibm-tests (Files): Likewise.
30870         * modules/isnanf-tests (Files): Likewise.
30871         * modules/isnanl-nolibm-tests (Files): Likewise.
30872         * modules/isnanl-tests (Files): Likewise.
30873         * modules/lchown-tests (Files): Likewise.
30874         * modules/ldexpl-tests (Files): Likewise.
30875         * modules/link-tests (Files): Likewise.
30876         * modules/linkat-tests (Files): Likewise.
30877         * modules/linked-list-tests (Files): Likewise.
30878         * modules/linkedhash-list-tests (Files): Likewise.
30879         * modules/localename-tests (Files): Likewise.
30880         * modules/lseek-tests (Files): Likewise.
30881         * modules/lstat-tests (Files): Likewise.
30882         * modules/mbmemcasecmp-tests (Files): Likewise.
30883         * modules/mbmemcasecoll-tests (Files): Likewise.
30884         * modules/mbrtowc-tests (Files): Likewise.
30885         * modules/mbscasecmp-tests (Files): Likewise.
30886         * modules/mbscasestr-tests (Files): Likewise.
30887         * modules/mbschr-tests (Files): Likewise.
30888         * modules/mbscspn-tests (Files): Likewise.
30889         * modules/mbsinit-tests (Files): Likewise.
30890         * modules/mbsncasecmp-tests (Files): Likewise.
30891         * modules/mbsnrtowcs-tests (Files): Likewise.
30892         * modules/mbspbrk-tests (Files): Likewise.
30893         * modules/mbspcasecmp-tests (Files): Likewise.
30894         * modules/mbsrchr-tests (Files): Likewise.
30895         * modules/mbsrtowcs-tests (Files): Likewise.
30896         * modules/mbsspn-tests (Files): Likewise.
30897         * modules/mbsstr-tests (Files): Likewise.
30898         * modules/memchr-tests (Files): Likewise.
30899         * modules/memchr2-tests (Files): Likewise.
30900         * modules/memcmp-tests (Files): Likewise.
30901         * modules/memmem-tests (Files): Likewise.
30902         * modules/memrchr-tests (Files): Likewise.
30903         * modules/mkdir-tests (Files): Likewise.
30904         * modules/mkfifo-tests (Files): Likewise.
30905         * modules/mkfifoat-tests (Files): Likewise.
30906         * modules/mknod-tests (Files): Likewise.
30907         * modules/nanosleep-tests (Files): Likewise.
30908         * modules/nl_langinfo-tests (Files): Likewise.
30909         * modules/obstack-printf-tests (Files): Likewise.
30910         * modules/open-tests (Files): Likewise.
30911         * modules/openat-tests (Files): Likewise.
30912         * modules/pipe-filter-gi-tests (Files): Likewise.
30913         * modules/pipe-filter-ii-tests (Files): Likewise.
30914         * modules/pipe2-tests (Files): Likewise.
30915         * modules/popen-safer-tests (Files): Likewise.
30916         * modules/popen-tests (Files): Likewise.
30917         * modules/posixtm-tests (Files): Likewise.
30918         * modules/pread-tests (Files): Likewise.
30919         * modules/printf-frexp-tests (Files): Likewise.
30920         * modules/printf-frexpl-tests (Files): Likewise.
30921         * modules/printf-posix-tests (Files): Likewise.
30922         * modules/priv-set-tests (Files): Likewise.
30923         * modules/quotearg-tests (Files): Likewise.
30924         * modules/random_r-tests (Files): Likewise.
30925         * modules/rawmemchr-tests (Files): Likewise.
30926         * modules/rbtree-list-tests (Files): Likewise.
30927         * modules/rbtree-oset-tests (Files): Likewise.
30928         * modules/rbtreehash-list-tests (Files): Likewise.
30929         * modules/readlink-tests (Files): Likewise.
30930         * modules/remove-tests (Files): Likewise.
30931         * modules/rename-tests (Files): Likewise.
30932         * modules/renameat-tests (Files): Likewise.
30933         * modules/rmdir-tests (Files): Likewise.
30934         * modules/round-tests (Files): Likewise.
30935         * modules/roundf-tests (Files): Likewise.
30936         * modules/roundl-tests (Files): Likewise.
30937         * modules/safe-alloc-tests (Files): Likewise.
30938         * modules/setenv-tests (Files): Likewise.
30939         * modules/sigaction-tests (Files): Likewise.
30940         * modules/signbit-tests (Files): Likewise.
30941         * modules/sleep-tests (Files): Likewise.
30942         * modules/snprintf-posix-tests (Files): Likewise.
30943         * modules/snprintf-tests (Files): Likewise.
30944         * modules/sprintf-posix-tests (Files): Likewise.
30945         * modules/stat-tests (Files): Likewise.
30946         * modules/stat-time-tests (Files): Likewise.
30947         * modules/strcasestr-tests (Files): Likewise.
30948         * modules/strchrnul-tests (Files): Likewise.
30949         * modules/strerror-tests (Files): Likewise.
30950         * modules/striconv-tests (Files): Likewise.
30951         * modules/striconveh-tests (Files): Likewise.
30952         * modules/striconveha-tests (Files): Likewise.
30953         * modules/strsignal-tests (Files): Likewise.
30954         * modules/strstr-tests (Files): Likewise.
30955         * modules/strtod-tests (Files): Likewise.
30956         * modules/strverscmp-tests (Files): Likewise.
30957         * modules/symlink-tests (Files): Likewise.
30958         * modules/symlinkat-tests (Files): Likewise.
30959         * modules/trunc-tests (Files): Likewise.
30960         * modules/truncf-tests (Files): Likewise.
30961         * modules/truncl-tests (Files): Likewise.
30962         * modules/uname-tests (Files): Likewise.
30963         * modules/unicase/cased-tests (Files): Likewise.
30964         * modules/unicase/ignorable-tests (Files): Likewise.
30965         * modules/unicase/locale-language-tests (Files): Likewise.
30966         * modules/unicase/tolower-tests (Files): Likewise.
30967         * modules/unicase/totitle-tests (Files): Likewise.
30968         * modules/unicase/toupper-tests (Files): Likewise.
30969         * modules/unicase/u8-casecmp-tests (Files): Likewise.
30970         * modules/unicase/u8-casecoll-tests (Files): Likewise.
30971         * modules/unicase/u8-casefold-tests (Files): Likewise.
30972         * modules/unicase/u8-is-cased-tests (Files): Likewise.
30973         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
30974         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
30975         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
30976         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
30977         * modules/unicase/u8-tolower-tests (Files): Likewise.
30978         * modules/unicase/u8-totitle-tests (Files): Likewise.
30979         * modules/unicase/u8-toupper-tests (Files): Likewise.
30980         * modules/unicase/u16-casecmp-tests (Files): Likewise.
30981         * modules/unicase/u16-casecoll-tests (Files): Likewise.
30982         * modules/unicase/u16-casefold-tests (Files): Likewise.
30983         * modules/unicase/u16-is-cased-tests (Files): Likewise.
30984         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
30985         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
30986         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
30987         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
30988         * modules/unicase/u16-tolower-tests (Files): Likewise.
30989         * modules/unicase/u16-totitle-tests (Files): Likewise.
30990         * modules/unicase/u16-toupper-tests (Files): Likewise.
30991         * modules/unicase/u32-casecmp-tests (Files): Likewise.
30992         * modules/unicase/u32-casecoll-tests (Files): Likewise.
30993         * modules/unicase/u32-casefold-tests (Files): Likewise.
30994         * modules/unicase/u32-is-cased-tests (Files): Likewise.
30995         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
30996         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
30997         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
30998         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
30999         * modules/unicase/u32-tolower-tests (Files): Likewise.
31000         * modules/unicase/u32-totitle-tests (Files): Likewise.
31001         * modules/unicase/u32-toupper-tests (Files): Likewise.
31002         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
31003         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
31004         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
31005         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
31006         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
31007         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
31008         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
31009         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
31010         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
31011         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
31012         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
31013         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
31014         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
31015         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
31016         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
31017         * modules/unictype/bidicategory-name-tests (Files): Likewise.
31018         * modules/unictype/bidicategory-of-tests (Files): Likewise.
31019         * modules/unictype/bidicategory-test-tests (Files): Likewise.
31020         * modules/unictype/block-list-tests (Files): Likewise.
31021         * modules/unictype/block-of-tests (Files): Likewise.
31022         * modules/unictype/block-test-tests (Files): Likewise.
31023         * modules/unictype/category-C-tests (Files): Likewise.
31024         * modules/unictype/category-Cc-tests (Files): Likewise.
31025         * modules/unictype/category-Cf-tests (Files): Likewise.
31026         * modules/unictype/category-Cn-tests (Files): Likewise.
31027         * modules/unictype/category-Co-tests (Files): Likewise.
31028         * modules/unictype/category-Cs-tests (Files): Likewise.
31029         * modules/unictype/category-L-tests (Files): Likewise.
31030         * modules/unictype/category-Ll-tests (Files): Likewise.
31031         * modules/unictype/category-Lm-tests (Files): Likewise.
31032         * modules/unictype/category-Lo-tests (Files): Likewise.
31033         * modules/unictype/category-Lt-tests (Files): Likewise.
31034         * modules/unictype/category-Lu-tests (Files): Likewise.
31035         * modules/unictype/category-M-tests (Files): Likewise.
31036         * modules/unictype/category-Mc-tests (Files): Likewise.
31037         * modules/unictype/category-Me-tests (Files): Likewise.
31038         * modules/unictype/category-Mn-tests (Files): Likewise.
31039         * modules/unictype/category-N-tests (Files): Likewise.
31040         * modules/unictype/category-Nd-tests (Files): Likewise.
31041         * modules/unictype/category-Nl-tests (Files): Likewise.
31042         * modules/unictype/category-No-tests (Files): Likewise.
31043         * modules/unictype/category-P-tests (Files): Likewise.
31044         * modules/unictype/category-Pc-tests (Files): Likewise.
31045         * modules/unictype/category-Pd-tests (Files): Likewise.
31046         * modules/unictype/category-Pe-tests (Files): Likewise.
31047         * modules/unictype/category-Pf-tests (Files): Likewise.
31048         * modules/unictype/category-Pi-tests (Files): Likewise.
31049         * modules/unictype/category-Po-tests (Files): Likewise.
31050         * modules/unictype/category-Ps-tests (Files): Likewise.
31051         * modules/unictype/category-S-tests (Files): Likewise.
31052         * modules/unictype/category-Sc-tests (Files): Likewise.
31053         * modules/unictype/category-Sk-tests (Files): Likewise.
31054         * modules/unictype/category-Sm-tests (Files): Likewise.
31055         * modules/unictype/category-So-tests (Files): Likewise.
31056         * modules/unictype/category-Z-tests (Files): Likewise.
31057         * modules/unictype/category-Zl-tests (Files): Likewise.
31058         * modules/unictype/category-Zp-tests (Files): Likewise.
31059         * modules/unictype/category-Zs-tests (Files): Likewise.
31060         * modules/unictype/category-and-not-tests (Files): Likewise.
31061         * modules/unictype/category-and-tests (Files): Likewise.
31062         * modules/unictype/category-byname-tests (Files): Likewise.
31063         * modules/unictype/category-name-tests (Files): Likewise.
31064         * modules/unictype/category-none-tests (Files): Likewise.
31065         * modules/unictype/category-of-tests (Files): Likewise.
31066         * modules/unictype/category-or-tests (Files): Likewise.
31067         * modules/unictype/category-test-withtable-tests (Files): Likewise.
31068         * modules/unictype/combining-class-tests (Files): Likewise.
31069         * modules/unictype/ctype-alnum-tests (Files): Likewise.
31070         * modules/unictype/ctype-alpha-tests (Files): Likewise.
31071         * modules/unictype/ctype-blank-tests (Files): Likewise.
31072         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
31073         * modules/unictype/ctype-digit-tests (Files): Likewise.
31074         * modules/unictype/ctype-graph-tests (Files): Likewise.
31075         * modules/unictype/ctype-lower-tests (Files): Likewise.
31076         * modules/unictype/ctype-print-tests (Files): Likewise.
31077         * modules/unictype/ctype-punct-tests (Files): Likewise.
31078         * modules/unictype/ctype-space-tests (Files): Likewise.
31079         * modules/unictype/ctype-upper-tests (Files): Likewise.
31080         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
31081         * modules/unictype/decimal-digit-tests (Files): Likewise.
31082         * modules/unictype/digit-tests (Files): Likewise.
31083         * modules/unictype/mirror-tests (Files): Likewise.
31084         * modules/unictype/numeric-tests (Files): Likewise.
31085         * modules/unictype/property-alphabetic-tests (Files): Likewise.
31086         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
31087         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
31088         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
31089         Likewise.
31090         * modules/unictype/property-bidi-block-separator-tests (Files):
31091         Likewise.
31092         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
31093         Likewise.
31094         * modules/unictype/property-bidi-common-separator-tests (Files):
31095         Likewise.
31096         * modules/unictype/property-bidi-control-tests (Files): Likewise.
31097         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
31098         Likewise.
31099         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
31100         Likewise.
31101         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
31102         Likewise.
31103         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
31104         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
31105         Likewise.
31106         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
31107         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
31108         Likewise.
31109         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
31110         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
31111         * modules/unictype/property-bidi-segment-separator-tests (Files):
31112         Likewise.
31113         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
31114         * modules/unictype/property-byname-tests (Files): Likewise.
31115         * modules/unictype/property-combining-tests (Files): Likewise.
31116         * modules/unictype/property-composite-tests (Files): Likewise.
31117         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
31118         * modules/unictype/property-dash-tests (Files): Likewise.
31119         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
31120         * modules/unictype/property-default-ignorable-code-point-tests (Files):
31121         Likewise.
31122         * modules/unictype/property-deprecated-tests (Files): Likewise.
31123         * modules/unictype/property-diacritic-tests (Files): Likewise.
31124         * modules/unictype/property-extender-tests (Files): Likewise.
31125         * modules/unictype/property-format-control-tests (Files): Likewise.
31126         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
31127         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
31128         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
31129         * modules/unictype/property-hex-digit-tests (Files): Likewise.
31130         * modules/unictype/property-hyphen-tests (Files): Likewise.
31131         * modules/unictype/property-id-continue-tests (Files): Likewise.
31132         * modules/unictype/property-id-start-tests (Files): Likewise.
31133         * modules/unictype/property-ideographic-tests (Files): Likewise.
31134         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
31135         * modules/unictype/property-ids-trinary-operator-tests (Files):
31136         Likewise.
31137         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
31138         * modules/unictype/property-iso-control-tests (Files): Likewise.
31139         * modules/unictype/property-join-control-tests (Files): Likewise.
31140         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
31141         * modules/unictype/property-line-separator-tests (Files): Likewise.
31142         * modules/unictype/property-logical-order-exception-tests (Files):
31143         Likewise.
31144         * modules/unictype/property-lowercase-tests (Files): Likewise.
31145         * modules/unictype/property-math-tests (Files): Likewise.
31146         * modules/unictype/property-non-break-tests (Files): Likewise.
31147         * modules/unictype/property-not-a-character-tests (Files): Likewise.
31148         * modules/unictype/property-numeric-tests (Files): Likewise.
31149         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
31150         * modules/unictype/property-other-default-ignorable-code-point-tests
31151         (Files): Likewise.
31152         * modules/unictype/property-other-grapheme-extend-tests (Files):
31153         Likewise.
31154         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
31155         * modules/unictype/property-other-id-start-tests (Files): Likewise.
31156         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
31157         * modules/unictype/property-other-math-tests (Files): Likewise.
31158         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
31159         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
31160         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
31161         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
31162         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
31163         * modules/unictype/property-private-use-tests (Files): Likewise.
31164         * modules/unictype/property-punctuation-tests (Files): Likewise.
31165         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
31166         * modules/unictype/property-radical-tests (Files): Likewise.
31167         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
31168         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
31169         * modules/unictype/property-space-tests (Files): Likewise.
31170         * modules/unictype/property-terminal-punctuation-tests (Files):
31171         Likewise.
31172         * modules/unictype/property-test-tests (Files): Likewise.
31173         * modules/unictype/property-titlecase-tests (Files): Likewise.
31174         * modules/unictype/property-unassigned-code-value-tests (Files):
31175         Likewise.
31176         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
31177         * modules/unictype/property-uppercase-tests (Files): Likewise.
31178         * modules/unictype/property-variation-selector-tests (Files): Likewise.
31179         * modules/unictype/property-white-space-tests (Files): Likewise.
31180         * modules/unictype/property-xid-continue-tests (Files): Likewise.
31181         * modules/unictype/property-xid-start-tests (Files): Likewise.
31182         * modules/unictype/property-zero-width-tests (Files): Likewise.
31183         * modules/unictype/scripts-tests (Files): Likewise.
31184         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
31185         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
31186         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
31187         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
31188         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
31189         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
31190         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
31191         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
31192         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
31193         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
31194         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
31195         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
31196         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
31197         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
31198         * modules/uninorm/composition-tests (Files): Likewise.
31199         * modules/uninorm/decomposing-form-tests (Files): Likewise.
31200         * modules/uninorm/decomposition-tests (Files): Likewise.
31201         * modules/uninorm/filter-tests (Files): Likewise.
31202         * modules/uninorm/nfc-tests (Files): Likewise.
31203         * modules/uninorm/nfd-tests (Files): Likewise.
31204         * modules/uninorm/nfkc-tests (Files): Likewise.
31205         * modules/uninorm/nfkd-tests (Files): Likewise.
31206         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
31207         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
31208         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
31209         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
31210         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
31211         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
31212         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
31213         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
31214         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
31215         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
31216         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
31217         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
31218         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
31219         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
31220         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
31221         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
31222         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
31223         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
31224         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
31225         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
31226         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
31227         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
31228         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
31229         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
31230         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
31231         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
31232         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
31233         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
31234         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
31235         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
31236         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
31237         * modules/uniwidth/u8-width-tests (Files): Likewise.
31238         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
31239         * modules/uniwidth/u16-width-tests (Files): Likewise.
31240         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
31241         * modules/uniwidth/u32-width-tests (Files): Likewise.
31242         * modules/uniwidth/width-tests (Files): Likewise.
31243         * modules/unlink-tests (Files): Likewise.
31244         * modules/unsetenv-tests (Files): Likewise.
31245         * modules/usleep-tests (Files): Likewise.
31246         * modules/utimens-tests (Files): Likewise.
31247         * modules/utimensat-tests (Files): Likewise.
31248         * modules/vasnprintf-posix-tests (Files): Likewise.
31249         * modules/vasnprintf-tests (Files): Likewise.
31250         * modules/vasprintf-posix-tests (Files): Likewise.
31251         * modules/vasprintf-tests (Files): Likewise.
31252         * modules/vdprintf-posix-tests (Files): Likewise.
31253         * modules/vfprintf-posix-tests (Files): Likewise.
31254         * modules/vprintf-posix-tests (Files): Likewise.
31255         * modules/vsnprintf-posix-tests (Files): Likewise.
31256         * modules/vsnprintf-tests (Files): Likewise.
31257         * modules/vsprintf-posix-tests (Files): Likewise.
31258         * modules/wcrtomb-tests (Files): Likewise.
31259         * modules/wcsnrtombs-tests (Files): Likewise.
31260         * modules/wcsrtombs-tests (Files): Likewise.
31261         * modules/wctype-tests (Files): Likewise.
31262         * modules/wcwidth-tests (Files): Likewise.
31263         * modules/xmemdup0-tests (Files): Likewise.
31264         * modules/xprintf-posix-tests (Files): Likewise.
31265         * modules/xvasprintf-tests (Files): Likewise.
31266
31267 2009-12-24  Eric Blake  <ebb9@byu.net>
31268
31269         test-nanosleep: fix typo
31270         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
31271         patch.
31272         Reported by Bruno Haible.
31273
31274 2009-12-24  Bruno Haible  <bruno@clisp.org>
31275
31276         Reduce namespace pollution on glibc systems.
31277         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
31278         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
31279         systems.
31280         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
31281         <getopt.h> on glibc systems.
31282         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
31283         systems.
31284         * lib/fcntl.c: Include <unistd.h> here instead.
31285
31286 2009-12-24  Bruno Haible  <bruno@clisp.org>
31287
31288         * lib/stdlib.in.h (includes): Fix typo in today's commit.
31289
31290 2009-12-24  Eric Blake  <ebb9@byu.net>
31291
31292         tests: add signature checks
31293         * tests/signature.h (SIGNATURE_CHECK): New file.
31294         * modules/atexit-tests (Files): Use it.
31295         * modules/btowc-tests (Files): Likewise.
31296         * modules/canonicalize-lgpl-tests (Files): Likewise.
31297         * modules/ceilf-tests (Files): Likewise.
31298         * modules/ceill-tests (Files): Likewise.
31299         * modules/chown-tests (Files): Likewise.
31300         * modules/dprintf-posix-tests (Files): Likewise.
31301         * modules/dup2-tests (Files): Likewise.
31302         * modules/dup3-tests (Files): Likewise.
31303         * modules/duplocale-tests (Files): Likewise.
31304         * modules/fchdir-tests (Files): Likewise.
31305         * modules/fcntl-tests (Files): Likewise.
31306         * modules/fdopendir-tests (Files): Likewise.
31307         * modules/fflush-tests (Files): Likewise.
31308         * modules/flock-tests (Files): Likewise.
31309         * modules/floorf-tests (Files): Likewise.
31310         * modules/floorl-tests (Files): Likewise.
31311         * modules/fnmatch-tests (Files): Likewise.
31312         * modules/fopen-tests (Files): Likewise.
31313         * modules/fprintf-posix-tests (Files): Likewise.
31314         * modules/freopen-tests (Files): Likewise.
31315         * modules/frexp-nolibm-tests (Files): Likewise.
31316         * modules/frexp-tests (Files): Likewise.
31317         * modules/frexpl-nolibm-tests (Files): Likewise.
31318         * modules/frexpl-tests (Files): Likewise.
31319         * modules/fseek-tests (Files): Likewise.
31320         * modules/fseeko-tests (Files): Likewise.
31321         * modules/fsync-tests (Files): Likewise.
31322         * modules/ftell-tests (Files): Likewise.
31323         * modules/ftello-tests (Files): Likewise.
31324         * modules/futimens-tests (Files): Likewise.
31325         * modules/getaddrinfo-tests (Files): Likewise.
31326         * modules/getcwd-tests (Files): Likewise.
31327         * modules/getdelim-tests (Files): Likewise.
31328         * modules/getdtablesize-tests (Files): Likewise.
31329         * modules/getgroups-tests (Files): Likewise.
31330         * modules/gethostname-tests (Files): Likewise.
31331         * modules/getline-tests (Files): Likewise.
31332         * modules/getopt-posix-tests (Files): Likewise.
31333         * modules/gettimeofday-tests (Files): Likewise.
31334         * modules/glob-tests (Files): Likewise.
31335         * modules/iconv-tests (Files): Likewise.
31336         * modules/inet_ntop-tests (Files): Likewise.
31337         * modules/inet_pton-tests (Files): Likewise.
31338         * modules/isblank-tests (Files): Likewise.
31339         * modules/lchown-tests (Files): Likewise.
31340         * modules/ldexpl-tests (Files): Likewise.
31341         * modules/link-tests (Files): Likewise.
31342         * modules/linkat-tests (Files): Likewise.
31343         * modules/lseek-tests (Files): Likewise.
31344         * modules/lstat-tests (Files): Likewise.
31345         * modules/mbrtowc-tests (Files): Likewise.
31346         * modules/mbsinit-tests (Files): Likewise.
31347         * modules/mbsnrtowcs-tests (Files): Likewise.
31348         * modules/mbsrtowcs-tests (Files): Likewise.
31349         * modules/memchr-tests (Files): Likewise.
31350         * modules/memcmp-tests (Files): Likewise.
31351         * modules/memmem-tests (Files): Likewise.
31352         * modules/memrchr-tests (Files): Likewise.
31353         * modules/mkdir-tests (Files): Likewise.
31354         * modules/mkfifo-tests (Files): Likewise.
31355         * modules/mkfifoat-tests (Files): Likewise.
31356         * modules/mknod-tests (Files): Likewise.
31357         * modules/nanosleep-tests (Files): Likewise.
31358         * modules/nl_langinfo-tests (Files): Likewise.
31359         * modules/obstack-printf-tests (Files): Likewise.
31360         * modules/open-tests (Files): Likewise.
31361         * modules/openat-tests (Files): Likewise.
31362         * modules/perror-tests (Files): Likewise.
31363         * modules/pipe2-tests (Files): Likewise.
31364         * modules/poll-tests (Files): Likewise.
31365         * modules/popen-tests (Files): Likewise.
31366         * modules/posix_spawn-tests (Files): Likewise.
31367         * modules/posix_spawnp-tests (Files): Likewise.
31368         * modules/pread-tests (Files): Likewise.
31369         * modules/printf-posix-tests (Files): Likewise.
31370         * modules/pty-tests (Files): Likewise.
31371         * modules/random_r-tests (Files): Likewise.
31372         * modules/rawmemchr-tests (Files): Likewise.
31373         * modules/readlink-tests (Files): Likewise.
31374         * modules/remove-tests (Files): Likewise.
31375         * modules/rename-tests (Files): Likewise.
31376         * modules/renameat-tests (Files): Likewise.
31377         * modules/rmdir-tests (Files): Likewise.
31378         * modules/round-tests (Files): Likewise.
31379         * modules/roundf-tests (Files): Likewise.
31380         * modules/roundl-tests (Files): Likewise.
31381         * modules/select-tests (Files): Likewise.
31382         * modules/setenv-tests (Files): Likewise.
31383         * modules/sigaction-tests (Files): Likewise.
31384         * modules/sleep-tests (Files): Likewise.
31385         * modules/snprintf-posix-tests (Files): Likewise.
31386         * modules/snprintf-tests (Files): Likewise.
31387         * modules/sprintf-posix-tests (Files): Likewise.
31388         * modules/stat-tests (Files): Likewise.
31389         * modules/strcasestr-tests (Files): Likewise.
31390         * modules/strchrnul-tests (Files): Likewise.
31391         * modules/strerror-tests (Files): Likewise.
31392         * modules/strsignal-tests (Files): Likewise.
31393         * modules/strstr-tests (Files): Likewise.
31394         * modules/strtod-tests (Files): Likewise.
31395         * modules/strverscmp-tests (Files): Likewise.
31396         * modules/symlink-tests (Files): Likewise.
31397         * modules/symlinkat-tests (Files): Likewise.
31398         * modules/times-tests (Files): Likewise.
31399         * modules/trunc-tests (Files): Likewise.
31400         * modules/truncf-tests (Files): Likewise.
31401         * modules/truncl-tests (Files): Likewise.
31402         * modules/tsearch-tests (Files): Likewise.
31403         * modules/uname-tests (Files): Likewise.
31404         * modules/unlink-tests (Files): Likewise.
31405         * modules/unsetenv-tests (Files): Likewise.
31406         * modules/usleep-tests (Files): Likewise.
31407         * modules/utimensat-tests (Files): Likewise.
31408         * modules/vasprintf-tests (Files): Likewise.
31409         * modules/vdprintf-posix-tests (Files): Likewise.
31410         * modules/vfprintf-posix-tests (Files): Likewise.
31411         * modules/vprintf-posix-tests (Files): Likewise.
31412         * modules/vsnprintf-posix-tests (Files): Likewise.
31413         * modules/vsnprintf-tests (Files): Likewise.
31414         * modules/vsprintf-posix-tests (Files): Likewise.
31415         * modules/wcrtomb-tests (Files): Likewise.
31416         * modules/wcsnrtombs-tests (Files): Likewise.
31417         * modules/wcsrtombs-tests (Files): Likewise.
31418         * modules/wcwidth-tests (Files): Likewise.
31419         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
31420         * tests/test-isinf.c (isinf): Likewise.
31421         * tests/test-isnan.c (isnan): Likewise.
31422         * tests/test-signbit.c (signbit): Likewise.
31423         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
31424         declaration, either as macro or with correct signature.
31425         (select): Ensure function under test is declared with correct
31426         signature in correct header.
31427         * tests/test-atexit.c (atexit): Likewise.
31428         * tests/test-btowc.c (btowc): Likewise.
31429         * tests/test-canonicalize-lgpl.c (realpath)
31430         (canonicalize_file_name): Likewise.
31431         * tests/test-ceilf1.c (ceilf): Likewise.
31432         * tests/test-ceill.c (ceill): Likewise.
31433         * tests/test-chown.c (chown): Likewise.
31434         * tests/test-dprintf-posix.c (dprintf): Likewise.
31435         * tests/test-dup2.c (dup2): Likewise.
31436         * tests/test-dup3.c (dup3): Likewise.
31437         * tests/test-duplocale.c (duplocale): Likewise.
31438         * tests/test-fchdir.c (fchdir): Likewise.
31439         * tests/test-fchownat.c (fchownat): Likewise.
31440         * tests/test-fcntl.c (fcntl): Likewise.
31441         * tests/test-fdopendir.c (fdopendir): Likewise.
31442         * tests/test-fflush.c (fflush): Likewise.
31443         * tests/test-flock.c (flock): Likewise.
31444         * tests/test-floorf1.c (floorf): Likewise.
31445         * tests/test-floorl.c (floorl): Likewise.
31446         * tests/test-fnmatch.c (fnmatch): Likewise.
31447         * tests/test-fopen.c (fopen): Likewise.
31448         * tests/test-fprintf-posix.c (fprintf): Likewise.
31449         * tests/test-freopen.c (freopen): Likewise.
31450         * tests/test-frexp.c (frexp): Likewise.
31451         * tests/test-frexpl.c (frexpl): Likewise.
31452         * tests/test-fseek.c (fseek): Likewise.
31453         * tests/test-fseeko.c (fseeko): Likewise.
31454         * tests/test-fstatat.c (fstatat): Likewise.
31455         * tests/test-fsync.c (fsync): Likewise.
31456         * tests/test-ftell.c (ftell): Likewise.
31457         * tests/test-ftello.c (ftello): Likewise.
31458         * tests/test-futimens.c (futimens): Likewise.
31459         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
31460         (gai_strerror): Likewise.
31461         * tests/test-getcwd.c (getcwd): Likewise.
31462         * tests/test-getdelim.c (getdelim): Likewise.
31463         * tests/test-getdtablesize.c (getdtablesize): Likewise.
31464         * tests/test-getgroups.c (getgroups): Likewise.
31465         * tests/test-gethostname.c (gethostname): Likewise.
31466         * tests/test-getline.c (getline): Likewise.
31467         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
31468         Likewise.
31469         * tests/test-gettimeofday.c (gettimeofday): Likewise.
31470         * tests/test-glob.c (glob, globfree): Likewise.
31471         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
31472         * tests/test-inet_ntop.c (inet_ntop): Likewise.
31473         * tests/test-inet_pton.c (inet_pton): Likewise.
31474         * tests/test-isblank.c (isblank): Likewise.
31475         * tests/test-lchown.c (lchown): Likewise.
31476         * tests/test-ldexpl.c (ldexpl): Likewise.
31477         * tests/test-link.c (link): Likewise.
31478         * tests/test-linkat.c (linkat): Likewise.
31479         * tests/test-lseek.c (lseek): Likewise.
31480         * tests/test-lstat.c (lstat): Likewise.
31481         * tests/test-mbrtowc.c (mbrtowc): Likewise.
31482         * tests/test-mbsinit.c (mbsinit): Likewise.
31483         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
31484         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
31485         * tests/test-memchr.c (memchr): Likewise.
31486         * tests/test-memcmp.c (memcmp): Likewise.
31487         * tests/test-memmem.c (memmem): Likewise.
31488         * tests/test-memrchr.c (memrchr): Likewise.
31489         * tests/test-mkdir.c (mkdir): Likewise.
31490         * tests/test-mkdirat.c (mkdirat): Likewise.
31491         * tests/test-mkfifo.c (mkfifo): Likewise.
31492         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
31493         * tests/test-mknod.c (mknod): Likewise.
31494         * tests/test-nanosleep.c (nanosleep): Likewise.
31495         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
31496         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
31497         Likewise.
31498         * tests/test-open.c (open): Likewise.
31499         * tests/test-openat.c (openat): Likewise.
31500         * tests/test-perror.c (perror): Likewise.
31501         * tests/test-pipe2.c (pipe2): Likewise.
31502         * tests/test-poll.c (poll): Likewise.
31503         * tests/test-popen.c (popen, pclose): Likewise.
31504         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
31505         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
31506         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
31507         (posix_spawn_file_actions_destroy)
31508         (posix_spawn_file_actions_addclose)
31509         (posix_spawn_file_actions_addopen)
31510         (posix_spawn_file_actions_adddup2): Likewise.
31511         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
31512         * tests/test-pread.c (pread): Likewise.
31513         * tests/test-printf-posix.c (printf): Likewise.
31514         * tests/test-pty.c (openpty, forkpty): Likewise.
31515         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
31516         (random_r): Likewise.
31517         * tests/test-rawmemchr.c (rawmemchr): Likewise.
31518         * tests/test-readlink.c (readlink): Likewise.
31519         * tests/test-remove.c (remove): Likewise.
31520         * tests/test-rename.c (rename): Likewise.
31521         * tests/test-renameat.c (renameat): Likewise.
31522         * tests/test-rmdir.c (rmdir): Likewise.
31523         * tests/test-round1.c (round): Likewise.
31524         * tests/test-roundf1.c (roundf): Likewise.
31525         * tests/test-roundl.c (roundl): Likewise.
31526         * tests/test-setenv.c (setenv): Likewise.
31527         * tests/test-sigaction.c (sigaction): Likewise.
31528         * tests/test-sleep.c (sleep): Likewise.
31529         * tests/test-snprintf.c (snprintf): Likewise.
31530         * tests/test-sprintf-posix.c (sprintf): Likewise.
31531         * tests/test-stat.c (stat): Likewise.
31532         * tests/test-stpncpy.c (stpncpy): Likewise.
31533         * tests/test-strcasestr.c (strcasestr): Likewise.
31534         * tests/test-strchrnul.c (strchrnul): Likewise.
31535         * tests/test-strerror.c (strerror): Likewise.
31536         * tests/test-strsignal.c (strsignal): Likewise.
31537         * tests/test-strstr.c (strstr): Likewise.
31538         * tests/test-strtod.c (strtod): Likewise.
31539         * tests/test-strverscmp.c (strverscmp): Likewise.
31540         * tests/test-symlink.c (symlink): Likewise.
31541         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
31542         * tests/test-times.c (times): Likewise.
31543         * tests/test-trunc1.c (trunc): Likewise.
31544         * tests/test-truncf1.c (truncf): Likewise.
31545         * tests/test-truncl.c (truncl): Likewise.
31546         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
31547         Likewise.
31548         * tests/test-uname.c (uname): Likewise.
31549         * tests/test-unlink.c (unlink): Likewise.
31550         * tests/test-unlinkat.c (unlinkat): Likewise.
31551         * tests/test-unsetenv.c (unsetenv): Likewise.
31552         * tests/test-usleep.c (usleep): Likewise.
31553         * tests/test-utimensat.c (utimensat): Likewise.
31554         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
31555         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
31556         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
31557         * tests/test-vprintf-posix.c (vprintf): Likewise.
31558         * tests/test-vsnprintf.c (vsnprintf): Likewise.
31559         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
31560         * tests/test-wcrtomb.c (wcrtomb): Likewise.
31561         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
31562         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
31563         * tests/test-wcwidth.c (wcwidth): Likewise.
31564
31565         build: pull in conditional headers during GNULIB_POSIXCHECK
31566         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
31567         definitions from any conditionally-included headers.
31568         * lib/stdlib.in.h (includes): Likewise.
31569         * lib/unistd.in.h (includes): Likewise.
31570
31571 2009-12-24  Bruno Haible  <bruno@clisp.org>
31572
31573         * tests/test-argv-iter.c: Include header file being tested immediately
31574         after config.h.
31575         * tests/test-base64.c: Likewise.
31576         * tests/test-flock.c: Likewise.
31577         * tests/test-fsync.c: Likewise.
31578         * tests/test-getdate.c: Likewise.
31579         * tests/test-getndelim2.c: Likewise.
31580         * tests/test-isfinite.c: Likewise.
31581         * tests/test-isinf.c: Likewise.
31582         * tests/test-strerror.c: Likewise.
31583         * tests/test-strsignal.c: Likewise.
31584
31585 2009-12-23  Eric Blake  <ebb9@byu.net>
31586
31587         unistd: work around cygwin bug
31588         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
31589         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
31590         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
31591
31592 2009-12-23  Bruno Haible  <bruno@clisp.org>
31593
31594         localename: More tests.
31595         * tests/test-localename.c (SIZEOF): New macro.
31596         (categories): New variable.
31597         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
31598         test_locale_name_default): Add test w.r.t. thread locale.
31599         (test_locale_name_thread): New function.
31600         (main): Invoke it.
31601
31602         localename: Make aware of thread locale.
31603         * lib/localename.h (gl_locale_name_thread): New declaration.
31604         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
31605         behaviour with respect to thread locale.
31606         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
31607         <langinfo.h>, glthread/lock.h.
31608         (SIZE_BITS): New macro.
31609         (string_hash): New function.
31610         (struct hash_node): New type.
31611         (HASH_TABLE_SIZE): New macro.
31612         (struniq_hash_table, struniq_lock): New variables.
31613         (struniq): New function.
31614         (gl_locale_name_thread): New function.
31615         (gl_locale_name): Invoke it.
31616         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
31617         * modules/localename (Depends-on): Add lock.
31618         Reported by Mike Gran <spk121@yahoo.com>.
31619
31620 2009-12-23  Eric Blake  <ebb9@byu.net>
31621
31622         va-args: new module
31623         * modules/va-args: New file.
31624         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
31625         * MODULES.html.sh (Core language properties): Mention it.
31626
31627         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
31628         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
31629         named alias for __attribute__((__unused__)).
31630         * lib/chown.c: Update client.
31631         * lib/fchmodat.c: Likewise.
31632         * lib/fts.c: Likewise.
31633         * lib/getdate.y: Likewise.
31634         * lib/getgroups.c: Likewise.
31635         * lib/getopt.c: Likewise.
31636         * lib/getugroups.c: Likewise.
31637         * lib/mkdir.c: Likewise.
31638         * lib/mkfifo.c: Likewise.
31639         * lib/mkfifoat.c: Likewise.
31640         * lib/mknod.c: Likewise.
31641         * lib/mknodat.c: Likewise.
31642         * lib/readlink.c: Likewise.
31643         * lib/se-context.in.h: Likewise.
31644         * lib/se-selinux.in.h: Likewise.
31645         * lib/sockets.c: Likewise.
31646         * lib/symlink.c: Likewise.
31647         * lib/symlinkat.c: Likewise.
31648         * lib/unicodeio.c: Likewise.
31649         * lib/unistr.h: Likewise.
31650         * tests/test-areadlink.c: Likewise.
31651         * tests/test-areadlinkat.c: Likewise.
31652         * tests/test-filenamecat.c: Likewise.
31653         * tests/test-fseeko.c: Likewise.
31654         * tests/test-ftello.c: Likewise.
31655         * tests/test-getdate.c: Likewise.
31656         * tests/test-getgroups.c: Likewise.
31657         * tests/test-gethostname.c: Likewise.
31658         * tests/test-quotearg.c: Likewise.
31659         * tests/test-version-etc.c: Likewise.
31660         * tests/test-xalloc-die.c: Likewise.
31661         * tests/test-xfprintf-posix.c: Likewise.
31662         * tests/test-xprintf-posix.c: Likewise.
31663         * tests/test-xvasprintf.c: Likewise.
31664
31665         tests: avoid compiler warnings
31666         * tests/test-fcntl.c (main): Delete unused parameters.
31667         * tests/test-freopen-safer.c (main): Likewise.
31668         * tests/test-xalloc-die.c (main): Mark unused parameters.
31669         * tests/test-fseeko.c (main): Likewise.
31670         * tests/test-ftello.c (main): Likewise.
31671         * tests/test-nanosleep.c (main): Avoid declaration warning.
31672         * tests/test-sleep.c (main): Likewise.
31673         * tests/test-unsetenv.c (main): Silence warning about string
31674         literal.
31675         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31676
31677 2009-12-23  Bruno Haible  <bruno@clisp.org>
31678
31679         * tests/test-localename.c (test_locale_name): New function, extracted
31680         from main. Also test mixed situations.
31681         (test_locale_name_posix, test_locale_name_environ,
31682         test_locale_name_default): New functions.
31683         (main): Invoke them all.
31684         * modules/localename-tests (configure.ac): Test for newlocale.
31685
31686 2009-12-23  Bruno Haible  <bruno@clisp.org>
31687
31688         unistd: Ensure getcwd gets declared before being overridden.
31689         * lib/unistd.in.h: Conditionally include <io.h>.
31690
31691 2009-12-22  Bruno Haible  <bruno@clisp.org>
31692
31693         wchar: Diagnose broken combination of glibc and gcc versions and flags.
31694         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
31695         (gl_WCHAR_H): Invoke it.
31696         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
31697         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
31698         Reported by Karl Berry <karl@freefriends.org>.
31699
31700 2009-12-22  Eric Blake  <ebb9@byu.net>
31701
31702         math, unistd: avoid redundant includes
31703         * lib/math.in.h (isnan): No need to re-include <math.h>.
31704         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
31705
31706         getsubopt: work around cygwin bug
31707         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
31708         avoid conflicting with system getsubopt.
31709         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
31710         bug.
31711
31712         getopt: synchronize from glibc
31713         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
31714         parameter order.  Adjust all callers.
31715         (_getopt_internal_r, main): Adjust quoting in error messages.
31716         Drop considerations for outdated POSIX 1003.2 error message.
31717         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
31718         callers.
31719         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
31720
31721         test-getopt: test stderr behavior
31722         * modules/getopt-posix-tests (Depends-on): Add dup2.
31723         * tests/test-getopt.c (ASSERT): Avoid stderr.
31724         (main): Move stderr to a temporary file.
31725         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
31726         Instead, add parameter to inform caller if output occurred.
31727         (test_getopt): Adjust all existing tests to expect silence, and
31728         add new tests of leading ":".
31729         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
31730         glibc shortcomings with leading "-:" or "+:" in optstring.
31731         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31732         Likewise.
31733         * doc/posix-functions/getopt.texi (getopt): Likewise.
31734
31735         test-getopt: enhance test
31736         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
31737         supports optind=0.
31738         * tests/test-getopt.c (OPTIND_MIN): Move...
31739         * tests/test-getopt.h (OPTIND_MIN): ...here.
31740         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
31741         Require that optind=0 works, since modern BSD supports it in
31742         addition to optreset, and since coreutils expects it.
31743         (test_getopt_long_only): New test.
31744         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
31745         glibc shortcomings with 'W;', and enforcement of optind=0.
31746         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31747         Likewise.
31748
31749 2009-12-21  Bruno Haible  <bruno@clisp.org>
31750
31751         localename: Improvements for MacOS X and Cygwin.
31752         * lib/localename.h (gl_locale_name_environ): New declaration.
31753         * lib/localename.c (gl_locale_name_environ): New function, extracted from
31754         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
31755         (gl_locale_name_posix): Invoke it.
31756         (gl_locale_name_default): Add comments. Use Windows native API also on
31757         Cygwin.
31758
31759 2009-12-21  Bruno Haible  <bruno@clisp.org>
31760
31761         Update list of Win32 locale ids.
31762         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
31763         (LANG_SAMI): Renamed from LANG_SAAMI.
31764         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
31765         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
31766         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
31767         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
31768         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
31769         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
31770         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
31771         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
31772         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
31773         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
31774         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
31775         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
31776         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
31777         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
31778         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
31779         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
31780         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
31781         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
31782         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
31783         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
31784         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
31785         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
31786         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
31787         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
31788         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
31789         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
31790         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
31791         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
31792         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
31793         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
31794         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
31795         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
31796         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
31797         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
31798         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
31799         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
31800         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
31801         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
31802         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
31803         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
31804         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
31805         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
31806         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
31807         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
31808         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
31809         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
31810         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
31811         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
31812         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
31813         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
31814         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
31815         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
31816         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
31817         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
31818         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
31819         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
31820         Add more languages and countries for Sami, Sorbian. Add more countries
31821         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
31822         for Pashto. Change country for Syriac, Tswana.
31823
31824 2009-12-21  Eric Blake  <ebb9@byu.net>
31825
31826         test-utimens: avoid spurious failure
31827         * tests/test-chown.h (nap): Factor...
31828         * tests/nap.h: ...into new file.
31829         * tests/test-lchown.h (nap): Avoid duplication.
31830         * tests/test-utimens-common.h (nap): Use shared implementation,
31831         necessary on file systems with 1-second resolution.
31832         * modules/chown-tests (Files): Include new file.
31833         * modules/fdutimensat-tests (Files): Likewise.
31834         * modules/futimens-tests (Files): Likewise.
31835         * modules/lchown-tests (Files): Likewise.
31836         * modules/openat-tests (Files): Likewise.
31837         * modules/utimens-tests (Files): Likewise.
31838         * modules/utimensat-tests (Files): Likewise.
31839
31840 2009-12-19  Eric Blake  <ebb9@byu.net>
31841
31842         futimens, utimensat: work around Linux bug
31843         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
31844         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31845         * lib/utimensat.c (rpl_utimensat): Work around it.
31846         * lib/futimens.c (rpl_futimens): Adjust comment.
31847
31848         utimens: work around Linux ctime bug
31849         * lib/utimens.c (detect_ctime_bug): New helper function.
31850         (update_timespec): Differentiate between workaround needed for
31851         this bug vs. what is needed for systems that lack utimensat.
31852         (fdutimens, lutimens): Work around bug.
31853
31854         utimens: check for ctime update
31855         * tests/test-utimens-common.h (check_ctime): Define.
31856         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
31857         * tests/test-futimens.h (test_futimens): Likewise.
31858         * tests/test-lutimens.h (test_lutimens): Likewise.
31859         * doc/posix-functions/futimens.texi (futimens): Document the bug.
31860         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31861
31862 2009-12-19  Bruno Haible  <bruno@clisp.org>
31863
31864         dprintf-posix: Check against memory leak fixed on 2009-12-15.
31865         * tests/test-dprintf-posix2.sh: New file.
31866         * tests/test-dprintf-posix2.c: New file.
31867         * modules/dprintf-posix-tests (Files): Add them.
31868         (configure.ac): Check for getrlimit and setrlimit.
31869         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31870
31871 2009-12-19  Bruno Haible  <bruno@clisp.org>
31872
31873         fprintf-posix: Check against memory leak fixed on 2009-12-15.
31874         * tests/test-fprintf-posix3.sh: New file.
31875         * tests/test-fprintf-posix3.c: New file.
31876         * modules/fprintf-posix-tests (Files): Add them.
31877         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31878
31879 2009-12-19  Eric Blake  <ebb9@byu.net>
31880
31881         dirfd: fix prototype
31882         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
31883         * lib/dirfd.c (dirfd): Likewise.
31884
31885         canonicalize: reduce memory usage
31886         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
31887         allocation to size.
31888         Reported by Solar Designer <solar@openwall.com>.
31889
31890 2009-12-19  Bruno Haible  <bruno@clisp.org>
31891
31892         New module attribute 'Applicability'.
31893         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
31894         * gnulib-tool: New option --extract-applicability.
31895         (func_usage): Document it.
31896         (sed_extract_prog): Recognize it.
31897         (func_get_applicability): New function.
31898         (func_import): Generalize handling of 'link-warning' module.
31899         * modules/link-warning (Applicability): New section.
31900         * modules/arg-nonnull (Applicability): New section.
31901         Repoted by Simon Josefsson <simon@josefsson.org>.
31902
31903 2009-12-19  Bruno Haible  <bruno@clisp.org>
31904
31905         fflush: tweak
31906         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
31907         * lib/fseeko.c (rpl_fseeko): Likewise.
31908
31909 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
31910
31911         * lib/gl_list.h: Fix typo in comment.
31912
31913 2009-12-16  Eric Blake  <ebb9@byu.net>
31914
31915         fcntl: use to simplify other modules
31916         * modules/cloexec (Depends-on): Add fcntl.
31917         * modules/fchdir (Depends-on): Likewise.
31918         * modules/fd-safer-flag (Depends-on): Likewise.
31919         * modules/unistd-safer (Depends-on): Likewise.
31920         * modules/dup3 (configure.ac): Set module indicator.
31921         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
31922         missing.
31923         * lib/fchdir.c (_gl_register_dup): Fix comment.
31924         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
31925         * lib/dup-safer.c (dup_safer): Likewise.
31926         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
31927         * lib/dup3.c (dup3): Likewise.
31928         * tests/test-fchdir.c (main): Enhance test.
31929         Fixes a dup_cloexec bug reported by Ondřej Vašík.
31930
31931         fcntl: port portions of fcntl to mingw
31932         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
31933         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
31934         replacement for mingw.
31935         * modules/fcntl (Description): Update.
31936         (Depends-on): Add dup2.
31937         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
31938         * modules/fcntl-h (Makefile.am): Substitute it.
31939         * lib/fcntl.in.h (fcntl): Update declaration.
31940         (F_DUPFD, F_GETFD): New macros, when needed.
31941         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31942         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
31943         * tests/test-fcntl.c (check_flags, main): Enhance test for items
31944         we now guarantee.
31945
31946         fcntl: work around cygwin bug in F_DUPFD
31947         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
31948         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
31949         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
31950         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
31951         * doc/posix-functions/fcntl.texi (fcntl): Document it.
31952
31953         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
31954         * modules/fcntl (Files): List new files.
31955         (configure.ac): Run a test.
31956         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
31957         * lib/fcntl.c (rpl_fcntl): Likewise.
31958         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
31959         (gl_FCNTL_H): Always replace fcntl.h.
31960         * modules/fcntl-h (Makefile.am): Substitute witnesses.
31961         * lib/fcntl.in.h (fcntl): Declare replacement.
31962         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
31963         needed, plus a witness.
31964         * doc/posix-functions/fcntl.texi (fcntl): Document this.
31965         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31966         * tests/test-fcntl.c: New file.
31967         * modules/fcntl-tests: Likewise.
31968
31969         binary-io: avoid potential compilation warning
31970         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
31971         directives.
31972
31973         fflush: avoid compilation error on NetBSD
31974         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
31975         between off_t and fpos_t, since the latter is sometimes a struct.
31976         * lib/fseeko.c (rpl_fseeko): Likewise.
31977         Reported by Alexander Nasonov <alnsn@yandex.ru>.
31978
31979 2009-12-15  Eric Blake  <ebb9@byu.net>
31980
31981         fcntl-h, stdio, sys_ioctl: fix declarations
31982         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
31983         function must not take arguments.
31984         * lib/sys_ioctl.in.h (ioctl): Likewise.
31985         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
31986         (open): Add a link warning.
31987
31988 2009-12-15  Jim Meyering  <meyering@redhat.com>
31989
31990         areadlink, areadlink-with-size: relax license to LGPLv2+
31991         * modules/areadlink (License): Relax to LGPLv2+.
31992         * modules/areadlink-with-size (License): Likewise.
31993
31994 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
31995             Bruno Haible  <bruno@clisp.org>
31996
31997         *printf: Fix memory leak.
31998         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
31999         * lib/vfprintf.c (vfprintf): Likewise.
32000         * lib/dprintf.c (dprintf): Likewise.
32001         * lib/vdprintf.c (vdprintf): Likewise.
32002
32003 2009-12-14  Eric Blake  <ebb9@byu.net>
32004
32005         accept4: adjust module dependencies
32006         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
32007
32008         utimens: one more try at avoiding compiler warning
32009         * lib/utimens.c (lutimens): Lower scope of result.
32010
32011 2009-12-13  Bruno Haible  <bruno@clisp.org>
32012
32013         Move the malloc checking from module 'list' to new module 'xlist'.
32014         * modules/xlist: New file.
32015         * lib/gl_xlist.h: New file.
32016         * lib/gl_xlist.c: New file.
32017         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
32018         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
32019         gl_list_add_last, gl_list_add_before, gl_list_add_after,
32020         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
32021         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
32022         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
32023         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
32024         gl_sortedlist_nx_add): New declarations.
32025         (struct gl_list_implementation): Rename and change methods accordingly.
32026         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
32027         (gl_list_nx_create): Renamed from gl_list_create.
32028         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
32029         (gl_list_nx_set_at): Renamed from gl_list_set_at.
32030         (gl_list_nx_add_first): Renamed from gl_list_add_first.
32031         (gl_list_nx_add_last): Renamed from gl_list_add_last.
32032         (gl_list_nx_add_before): Renamed from gl_list_add_before.
32033         (gl_list_nx_add_after): Renamed from gl_list_add_after.
32034         (gl_list_nx_add_at): Renamed from gl_list_add_at.
32035         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
32036         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
32037         gl_list_create_empty.
32038         (gl_list_nx_create): Renamed from gl_list_create.
32039         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
32040         (gl_list_nx_set_at): Renamed from gl_list_set_at.
32041         (gl_list_nx_add_first): Renamed from gl_list_add_first.
32042         (gl_list_nx_add_last): Renamed from gl_list_add_last.
32043         (gl_list_nx_add_before): Renamed from gl_list_add_before.
32044         (gl_list_nx_add_after): Renamed from gl_list_add_after.
32045         (gl_list_nx_add_at): Renamed from gl_list_add_at.
32046         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
32047         * lib/gl_array_list.c: Don't include xalloc.h.
32048         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
32049         NULL upon out-of-memory.
32050         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
32051         out-of-memory.
32052         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
32053         Change return type to 'int'.
32054         (gl_array_nx_set_at): Renamed from gl_array_set_at.
32055         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
32056         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
32057         upon out-of-memory.
32058         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
32059         upon out-of-memory.
32060         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
32061         upon out-of-memory.
32062         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
32063         upon out-of-memory.
32064         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
32065         out-of-memory.
32066         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
32067         Update.
32068         (gl_array_list_implementation): Update.
32069         * lib/gl_carray_list.c: Don't include xalloc.h.
32070         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
32071         Return NULL upon out-of-memory.
32072         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
32073         out-of-memory.
32074         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
32075         Change return type to 'int'.
32076         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
32077         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
32078         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
32079         upon out-of-memory.
32080         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
32081         upon out-of-memory.
32082         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
32083         out-of-memory.
32084         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
32085         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
32086         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
32087         Update.
32088         (gl_carray_list_implementation): Update.
32089         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
32090         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
32091         gl_linked_create_empty. Return NULL upon out-of-memory.
32092         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
32093         out-of-memory.
32094         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
32095         Change return type to 'int'. Return -1 upon out-of-memory.
32096         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
32097         out-of-memory.
32098         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
32099         upon out-of-memory.
32100         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
32101         upon out-of-memory.
32102         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
32103         NULL upon out-of-memory.
32104         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
32105         upon out-of-memory.
32106         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
32107         out-of-memory.
32108         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
32109         Update.
32110         * lib/gl_linked_list.c: Don't include xalloc.h.
32111         (gl_linked_list_implementation): Update.
32112         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
32113         (add_to_bucket): Change return type to 'int'.
32114         (gl_linkedhash_list_implementation): Update.
32115         * lib/gl_anytree_list1.h (free_subtree): New function.
32116         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
32117         gl_tree_create_empty. Return NULL upon out-of-memory.
32118         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
32119         Change return type to 'int'. Return -1 upon out-of-memory.
32120         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
32121         out-of-memory.
32122         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
32123         (gl_tree_remove_node): New function, moved here from
32124         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
32125         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
32126         Update.
32127         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
32128         malloc, not xmalloc. Return NULL upon out-of-memory.
32129         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
32130         out-of-memory.
32131         (gl_tree_remove_node_from_tree): New function, extracted from
32132         gl_tree_remove_node.
32133         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
32134         upon out-of-memory.
32135         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
32136         out-of-memory.
32137         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
32138         upon out-of-memory.
32139         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
32140         upon out-of-memory.
32141         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
32142         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
32143         not xmalloc. Return NULL upon out-of-memory.
32144         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
32145         out-of-memory.
32146         (gl_tree_remove_node_from_tree): New function, extracted from
32147         gl_tree_remove_node.
32148         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
32149         upon out-of-memory.
32150         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
32151         out-of-memory.
32152         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
32153         upon out-of-memory.
32154         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
32155         upon out-of-memory.
32156         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
32157         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
32158         gl_anytree_list1.h before gl_anyavltree_list2.h.
32159         (gl_avltree_list_implementation): Update.
32160         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
32161         gl_anytree_list1.h before gl_anyavltree_list2.h.
32162         (gl_rbtree_list_implementation): Update.
32163         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
32164         Change return type to 'int'. Return -1 upon out-of-memory. Use
32165         __builtin_expect.
32166         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
32167         (gl_avltreehash_list_implementation): Update.
32168         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
32169         (gl_rbtreehash_list_implementation): Update.
32170         * modules/array-list (Depends-on): Remove xalloc.
32171         * modules/carray-list (Depends-on): Likewise.
32172         * modules/linked-list (Depends-on): Likewise.
32173         * modules/linkedhash-list (Depends-on): Likewise.
32174         * modules/avltree-list (Depends-on): Likewise.
32175         * modules/rbtree-list (Depends-on): Likewise.
32176         * modules/avltreehash-list (Depends-on): Likewise.
32177         * modules/rbtreehash-list (Depends-on): Likewise.
32178
32179         * modules/xsublist: New file.
32180         * lib/gl_xsublist.h: New file.
32181         * lib/gl_xsublist.c: New file.
32182         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
32183         (gl_sublist_nx_create): New declaration.
32184         * lib/gl_sublist.c: Don't include xalloc.h.
32185         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
32186         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
32187         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
32188         Change return type to 'int'. Return -1 upon out-of-memory.
32189         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
32190         upon out-of-memory.
32191         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
32192         NULL upon out-of-memory.
32193         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
32194         upon out-of-memory.
32195         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
32196         NULL upon out-of-memory.
32197         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
32198         NULL upon out-of-memory.
32199         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
32200         upon out-of-memory.
32201         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
32202         (gl_sublist_list_implementation): Update.
32203         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
32204         upon out-of-memory.
32205         * modules/sublist (Depends-on): Remove xalloc.
32206
32207         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
32208         * tests/test-carray_list.c: Likewise.
32209         * tests/test-linked_list.c: Likewise.
32210         * tests/test-linkedhash_list.c: Likewise.
32211         * tests/test-avltree_list.c: Likewise.
32212         * tests/test-rbtree_list.c: Likewise.
32213         * tests/test-avltreehash_list.c: Likewise.
32214         * tests/test-rbtreehash_list.c: Likewise.
32215         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
32216         * modules/carray-list-tests (Makefile.am): Likewise.
32217         * modules/linked-list-tests (Makefile.am): Likewise.
32218         * modules/linkedhash-list-tests (Makefile.am): Likewise.
32219         * modules/avltree-list-tests (Makefile.am): Likewise.
32220         * modules/rbtree-list-tests (Makefile.am): Likewise.
32221         * modules/avltreehash-list-tests (Makefile.am): Likewise.
32222         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
32223
32224         * NEWS: Mention the changes.
32225
32226         * lib/clean-temp.c: Include gl_xlist.h.
32227         * modules/clean-temp (Depends-on): Add xlist.
32228
32229         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
32230         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
32231
32232         * tests/test-array_oset.c: Include gl_xlist.h.
32233         * modules/array-oset-tests (Depends-on): Add xlist.
32234
32235         Reported by José E. Marchesi <jemarch@gnu.org>.
32236
32237 2009-12-13  Bruno Haible  <bruno@clisp.org>
32238
32239         Move the malloc checking from module 'oset' to new module 'xoset'.
32240         * modules/xoset: New file.
32241         * lib/gl_xoset.h: New file.
32242         * lib/gl_xoset.c: New file.
32243         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
32244         declarations.
32245         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
32246         (struct gl_oset_implementation): Rename and change methods accordingly.
32247         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
32248         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
32249         'int'. Mark as __warn_unused_result__.
32250         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
32251         gl_oset_create_empty.
32252         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
32253         'int'.
32254         * lib/gl_array_oset.c: Don't include xalloc.h.
32255         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
32256         malloc, not xmalloc.
32257         (grow): Change return type to 'int'. Don't call xalloc_die.
32258         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
32259         to 'int'.
32260         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
32261         'int'.
32262         (gl_array_oset_implementation): Update.
32263         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
32264         gl_tree_create_empty.
32265         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
32266         'int'.
32267         * lib/gl_avltree_oset.c: Don't include xalloc.h.
32268         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
32269         xmalloc.
32270         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
32271         not xmalloc.
32272         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
32273         xmalloc.
32274         (gl_avltree_oset_implementation): Update.
32275         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
32276         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
32277         xmalloc.
32278         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
32279         not xmalloc.
32280         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
32281         xmalloc.
32282         (gl_rbtree_oset_implementation): Update.
32283         * modules/array-oset (Depends-on): Remove xalloc.
32284         * modules/avltree-oset (Depends-on): Likewise.
32285         * modules/rbtree-oset (Depends-on): Likewise.
32286         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
32287         * tests/test-avltree_oset.c: Likewise.
32288         * tests/test-rbtree_oset.c: Likewise.
32289         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
32290         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
32291         * modules/rbtree-oset-tests (Makefile.am): Likewise.
32292         * NEWS: Mention the change.
32293
32294 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
32295
32296         maint.mk: allow a project to override release-prep commands
32297         * top/maint.mk (alpha, beta, stable): Move release-preparatory
32298         commands into a new rule.
32299         (release-prep): New rule.
32300         (release-prep-hook): New overridable variable.
32301
32302 2009-12-13  Bruno Haible  <bruno@clisp.org>
32303
32304         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
32305
32306 2009-12-13  Jim Meyering  <meyering@redhat.com>
32307
32308         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
32309         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
32310
32311 2009-12-12  Bruno Haible  <bruno@clisp.org>
32312
32313         duplocale: Tweak.
32314         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
32315
32316 2009-12-12  Karl Berry  <karl@gnu.org>
32317
32318         * config/srclist.txt (strtoll.c): tab changes, no more sync.
32319
32320 2009-12-12  Bruno Haible  <bruno@clisp.org>
32321
32322         * m4/po.m4: Undo incorrect untabification.
32323
32324 2009-12-12  Bruno Haible  <bruno@clisp.org>
32325
32326         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
32327         * modules/c-strtod (Depends-on): Add locale.
32328         * modules/c-strtold (Depends-on): Likewise.
32329
32330 2009-12-12  Bruno Haible  <bruno@clisp.org>
32331
32332         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
32333
32334 2009-12-11  Eric Blake  <ebb9@byu.net>
32335
32336         setenv: relax requirement in light of POSIX ruling
32337         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
32338         not NULL.
32339         * tests/test-setenv.c (main): Relax test.
32340         * tests/test-unsetenv.c (main): Likewise.
32341         * doc/posix-functions/setenv.texi (setenv): Document this.
32342         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32343
32344 2009-12-11  Bruno Haible  <bruno@clisp.org>
32345
32346         New module 'fd-safer-flag'.
32347         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
32348         * lib/dup-safer.c (dup_safer_flag): Remove function.
32349         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
32350         * lib/fd-safer.c (fd_safer_flag): Remove function.
32351         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
32352         * modules/cloexec (configure.ac): Drop indicator macro.
32353         * modules/fd-safer-flag: New file.
32354         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
32355         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
32356         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
32357
32358 2009-12-11  Bruno Haible  <bruno@clisp.org>
32359
32360         Tests for module 'nl_langinfo'.
32361         * modules/nl_langinfo-tests: New file.
32362         * tests/test-nl_langinfo.sh: New file.
32363         * tests/test-nl_langinfo.c: New file.
32364
32365         New module 'nl_langinfo'.
32366         * lib/nl_langinfo.c: New file.
32367         * m4/nl_langinfo.m4: New file.
32368         * modules/nl_langinfo: New file.
32369         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
32370
32371 2009-12-11  Bruno Haible  <bruno@clisp.org>
32372
32373         Tests for module 'langinfo'.
32374         * modules/langinfo-tests: New file.
32375         * tests/test-langinfo.c: New file.
32376
32377         New module 'langinfo'.
32378         * lib/langinfo.in.h: New file.
32379         * m4/langinfo_h.m4: New file.
32380         * modules/langinfo: New file.
32381         * doc/posix-headers/langinfo.texi: Mention the new module.
32382
32383 2009-12-11  Bruno Haible  <bruno@clisp.org>
32384
32385         * lib/config.charset: Untabify.
32386
32387 2009-12-11  Bruno Haible  <bruno@clisp.org>
32388
32389         * modules/unistd-safer (configure.ac): Drop indicator macro.
32390
32391 2009-12-11  Bruno Haible  <bruno@clisp.org>
32392
32393         Move pipe2-safer code to its own file.
32394         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
32395         * lib/pipe-safer.c (pipe2_safer): Remove function.
32396         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
32397         (Makefile.am): Add it to lib_SOURCES.
32398
32399 2009-12-10  Bruno Haible  <bruno@clisp.org>
32400
32401         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
32402
32403 2009-12-10  Bruno Haible  <bruno@clisp.org>
32404
32405         Declare which arguments expect non-NULL values, for GCC and clang.
32406         * build-aux/arg-nonnull.h: New file.
32407         * modules/arg-nonnull: New file.
32408         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
32409         (inet_ntop, inet_pton): Use it.
32410         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
32411         (closedir, dirfd, opendir, scandir, alphasort): Use it.
32412         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
32413         (open, openat): Use it.
32414         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
32415         (fnmatch): Use it.
32416         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
32417         (getopt, getopt_long, getopt_long_only): Use it.
32418         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
32419         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
32420         Use it.
32421         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
32422         (iconv_open): Use it.
32423         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
32424         (strtoimax, strtoumax): Use it.
32425         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
32426         (duplocale): Use it.
32427         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
32428         (frexp, frexpl): Use it.
32429         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
32430         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
32431         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
32432         (tsearch, tfind, tdelete, twalk): Use it.
32433         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
32434         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
32435         sigpending): Use it.
32436         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
32437         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32438         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32439         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32440         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32441         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32442         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32443         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32444         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32445         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32446         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32447         Use it.
32448         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
32449         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
32450         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
32451         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
32452         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
32453         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
32454         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
32455         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
32456         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
32457         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
32458         strtoull, unsetenv): Use it.
32459         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
32460         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32461         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32462         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
32463         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
32464         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
32465         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
32466         (strcasecmp, strncasecmp): Use it.
32467         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
32468         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
32469         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
32470         rpl_setsockopt): Use it.
32471         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
32472         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
32473         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
32474         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
32475         (gettimeofday): Use it.
32476         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
32477         (times): Use it.
32478         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
32479         (uname): Use it.
32480         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
32481         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
32482         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
32483         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
32484         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
32485         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
32486         unlinkat, write): Use it.
32487         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
32488         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
32489         * lib/argv-iter.h: Include arg-nonnull.h.
32490         (_ATTRIBUTE_NONNULL_): Remove macro.
32491         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
32492         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
32493         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
32494         optimization.
32495         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
32496         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
32497         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
32498         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
32499         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
32500         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
32501         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
32502         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
32503         * modules/arpa_inet (Depends-on): Add arg-nonnull.
32504         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
32505         * modules/dirent (Depends-on): Add arg-nonnull.
32506         (Makefile.am): Insert arg-nonnull.h into dirent.h.
32507         * modules/fcntl-h (Depends-on): Add arg-nonnull.
32508         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
32509         * modules/fnmatch (Depends-on): Add arg-nonnull.
32510         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
32511         * modules/getopt-posix (Depends-on): Add arg-nonnull.
32512         (Makefile.am): Insert arg-nonnull.h into getopt.h.
32513         * modules/glob (Depends-on): Add arg-nonnull.
32514         (Makefile.am): Insert arg-nonnull.h into glob.h.
32515         * modules/iconv_open (Depends-on): Add arg-nonnull.
32516         (Makefile.am): Insert arg-nonnull.h into iconv.h.
32517         * modules/inttypes (Depends-on): Add arg-nonnull.
32518         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
32519         * modules/locale (Depends-on): Add arg-nonnull.
32520         (Makefile.am): Insert arg-nonnull.h into locale.h.
32521         * modules/math (Depends-on): Add arg-nonnull.
32522         (Makefile.am): Insert arg-nonnull.h into math.h.
32523         * modules/netdb (Depends-on): Add arg-nonnull.
32524         (Makefile.am): Insert arg-nonnull.h into netdb.h.
32525         * modules/search (Depends-on): Add arg-nonnull.
32526         (Makefile.am): Insert arg-nonnull.h into search.h.
32527         * modules/signal (Depends-on): Add arg-nonnull.
32528         (Makefile.am): Insert arg-nonnull.h into signal.h.
32529         * modules/spawn (Depends-on): Add arg-nonnull.
32530         (Makefile.am): Insert arg-nonnull.h into spawn.h.
32531         * modules/stdio (Depends-on): Add arg-nonnull.
32532         (Makefile.am): Insert arg-nonnull.h into stdio.h.
32533         * modules/stdlib (Depends-on): Add arg-nonnull.
32534         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
32535         * modules/string (Depends-on): Add arg-nonnull.
32536         (Makefile.am): Insert arg-nonnull.h into string.h.
32537         * modules/strings (Depends-on): Add arg-nonnull.
32538         (Makefile.am): Insert arg-nonnull.h into strings.h.
32539         * modules/sys_socket (Depends-on): Add arg-nonnull.
32540         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
32541         * modules/sys_stat (Depends-on): Add arg-nonnull.
32542         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
32543         * modules/sys_time (Depends-on): Add arg-nonnull.
32544         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
32545         * modules/sys_times (Depends-on): Add arg-nonnull.
32546         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
32547         * modules/sys_utsname (Depends-on): Add arg-nonnull.
32548         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
32549         * modules/time (Depends-on): Add arg-nonnull.
32550         (Makefile.am): Insert arg-nonnull.h into time.h.
32551         * modules/unistd (Depends-on): Add arg-nonnull.
32552         (Makefile.am): Insert arg-nonnull.h into unistd.h.
32553         * modules/wchar (Depends-on): Add arg-nonnull.
32554         (Makefile.am): Insert arg-nonnull.h into wchar.h.
32555         * modules/argv-iter (Depends-on): Add arg-nonnull.
32556         * tests/test-canonicalize.c (null_ptr): New function.
32557         (main): Use it.
32558         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
32559         (main): Use it.
32560         * tests/test-memmem.c (null_ptr): New function.
32561         (main): Use it.
32562         Reported by Jim Meyering.
32563
32564 2009-12-10  Bruno Haible  <bruno@clisp.org>
32565
32566         Use spaces for indentation, not tabs.
32567         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
32568         * m4/*.m4: Untabify.
32569         * build-aux/*.h: Untabify.
32570         * tests/**/*.[hc]: Untabify.
32571         * README: New section "Indent with spaces, not TABs", based on
32572         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
32573         * NEWS: Mention the change.
32574
32575 2009-12-10  Bruno Haible  <bruno@clisp.org>
32576
32577         pty test: Fix link error.
32578         * modules/pty-tests (Makefile.am): Add the default LDADD value to
32579         test_pty_LDADD.
32580
32581 2009-12-07  Simon Josefsson  <simon@josefsson.org>
32582
32583         * modules/pty: New file.
32584         * modules/pty-tests: New file.
32585         * m4/pty.m4: New file.
32586         * tests/test-pty.c: New file.
32587         * doc/glibc-headers/pty.texi: Modified.
32588         * doc/glibc-functions/forkpty.texi: Modified.
32589         * doc/glibc-functions/openpty.texi: Modified.
32590
32591 2009-12-10  Bruno Haible  <bruno@clisp.org>
32592
32593         Avoid syntax error in C++ mode.
32594         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
32595
32596 2009-12-10  Bruno Haible  <bruno@clisp.org>
32597
32598         Use sed with option -e.
32599         * gnulib-tool (func_version, func_emit_copyright_notice,
32600         func_emit_initmacro_end, func_import, func_create_testdir): Pass
32601         option -e to sed.
32602         * modules/link-warning (Makefile.am): Likewise.
32603
32604 2009-12-10  Jim Meyering  <meyering@redhat.com>
32605
32606         mgetgroups: do not write bytes beyond end of malloc'd buffer
32607         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
32608         username, we call getgroups with a one-element-shorter buffer,
32609         but still told it the length was original, max_n_groups.
32610
32611 2009-12-09  Eric Blake  <ebb9@byu.net>
32612
32613         cloexec: relax license
32614         * modules/cloexec (Maintainer): Add myself.
32615         (License): Use LGPL, not GPL.
32616
32617         link-warning: optimize generation
32618         * modules/link-warning (Makefile.am): Reduce process usage.
32619
32620 2009-12-09  Bruno Haible  <bruno@clisp.org>
32621
32622         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
32623         workaround was added on 2009-11-17.
32624
32625 2009-12-09  Jim Meyering  <meyering@redhat.com>
32626             Bruno Haible  <bruno@clisp.org>
32627
32628         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
32629         * modules/link-warning (Makefile.am): Make the comment-removing sed
32630         command more robust in the face of bootstrap-prepended comment lines.
32631
32632 2009-12-09  Bruno Haible  <bruno@clisp.org>
32633
32634         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
32635         most one group.
32636
32637 2009-12-09  Simon Josefsson <simon@josefsson.org>
32638             Bruno Haible  <bruno@clisp.org>
32639
32640         * build-aux/link-warning.h: Add copyright notice.
32641         * modules/link-warning (Makefile.am): Generate link-warning.h from
32642         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
32643         * NEWS: Mention change in link-warning module.
32644         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
32645         * modules/dirent (Makefile.am): Add dependency to dirent.h.
32646         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
32647         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
32648         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
32649         * modules/math (Makefile.am): Add dependency to math.h.
32650         * modules/search (Makefile.am): Add dependency to search.h.
32651         * modules/signal (Makefile.am): Add dependency to signal.h.
32652         * modules/spawn (Makefile.am): Add dependency to spawn.h.
32653         * modules/stdio (Makefile.am): Add dependency to stdio.h.
32654         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
32655         * modules/string (Makefile.am): Add dependency to string.h.
32656         * modules/strings (Makefile.am): Add dependency to strings.h.
32657         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
32658         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
32659         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
32660         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
32661         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
32662         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
32663         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
32664         * modules/unistd (Makefile.am): Add dependency to unistd.h.
32665         * modules/wchar (Makefile.am): Add dependency to wchar.h.
32666
32667 2009-12-09  Bruno Haible  <bruno@clisp.org>
32668
32669         fchdir: Optimize away rpl_fstat when possible.
32670         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
32671         REPLACE_OPEN_DIRECTORY.
32672         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
32673
32674 2009-12-09  Bruno Haible  <bruno@clisp.org>
32675
32676         * lib/fchdir.c: Update comment.
32677
32678 2009-12-09  Bruno Haible  <bruno@clisp.org>
32679
32680         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
32681
32682 2009-12-08  Eric Blake  <ebb9@byu.net>
32683
32684         fchdir: avoid memory leak on re-registration.
32685         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
32686
32687 2009-12-08  Jim Meyering  <meyering@redhat.com>
32688
32689         init.sh: avoid Solaris 10 /bin/sh portability problem
32690         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
32691         sourced script:
32692           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
32693           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
32694           bar
32695         tests/init.sh relied on that, accepting a --set-path=DIR argument,
32696         and two tests used that idiom.
32697         * tests/init.sh: Update suggested usage comments.
32698         (path_prepend_): New function, to be used in place
32699         of the --src-path=DIR option.
32700         (setup_): Move PATH-prepending code into path_prepend_.
32701         * tests/test-pread.sh: Adapt to new usage.
32702         * tests/test-xalloc-die.sh: Likewise.
32703
32704 2009-12-08  Simon Josefsson  <simon@josefsson.org>
32705
32706         * doc/gnulib.texi (Glibc pty.h): Add.
32707         * doc/glibc-functions/forkpty.texi: Add.
32708         * doc/glibc-functions/openpty.texi: Add.
32709         Suggested by Bruno Haible.
32710
32711 2009-12-08  Eric Blake  <ebb9@byu.net>
32712
32713         fchdir: fix logic bugs
32714         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
32715         * tests/test-fchdir.c (main): Enhance test.
32716         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
32717         is in use.
32718
32719         dup2: fix logic bugs
32720         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
32721         REPLACE_DUP2 to decide when rpl_dup2 is needed.
32722         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
32723         exists.
32724         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
32725
32726 2009-12-07  Eric Blake  <ebb9@byu.net>
32727
32728         unlink: fix m4 detection
32729         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
32730
32731         unistd-safer: add unit test
32732         * modules/unistd-safer-tests: New file.
32733         * tests/test-dup-safer.c: Likewise.
32734         * tests/test-cloexec.c (setmode): Avoid compiler warning.
32735         * tests/test-dup2.c (setmode): Likewise.
32736         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
32737
32738         cloexec: preserve text vs. binary across dup_cloexec
32739         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
32740         mode.
32741         * modules/dup2-tests (Depends-on): Add binary-io.
32742         * modules/cloexec-tests (Depends-on): Likewise.
32743         * tests/test-dup2.c (setmode, is_mode): New helpers.
32744         (main): Add tests that translation mode is preserved.
32745         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
32746         Reported by Bruno Haible.
32747
32748         mgetgroups: reduce duplicate listings
32749         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
32750         resulting array.
32751         * tests/test-chown.h (test_chown): Simplify client.
32752         * tests/test-lchown.h (test_lchown): Likewise.
32753
32754 2009-12-06  Bruno Haible  <bruno@clisp.org>
32755
32756         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
32757         value.
32758
32759 2009-12-06  Bruno Haible  <bruno@clisp.org>
32760
32761         * lib/progname.c: Include stdio.h, stdlib.h.
32762         (set_program_name): Reject a NULL argument.
32763
32764 2009-12-05  Eric Blake  <ebb9@byu.net>
32765
32766         pipe2-safer: new module
32767         * modules/pipe2-safer: New file.
32768         * lib/unistd-safer.h (pipe2_safer): New prototype.
32769         * lib/unistd--.h (pipe2): New wrapper.
32770         * lib/pipe-safer.c (pipe2_safer): New function.
32771         * modules/pipe (Depends-on): Add pipe2-safer.
32772         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
32773
32774         stdlib-safer: preserve cloexec flag for mkostemp[s]
32775         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
32776         fd_safer_flag.
32777
32778         unistd-safer: allow preservation of cloexec status via flag
32779         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
32780         prototypes.
32781         * lib/dup-safer.c (dup_safer_flag): New function.
32782         * lib/fd-safer.c (fd_safer_flag): Likewise.
32783         * modules/cloexec (configure.ac): Set witness.
32784
32785         test-dup2: enhance test
32786         * modules/dup2-tests (Depends-on): Add cloexec.
32787         * tests/test-dup2.c (main): Enhance test.
32788
32789         cloexec: add dup_cloexec
32790         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
32791         header and comments.
32792         * lib/cloexec.c (set_cloexec_flag): Add comments.
32793         (dup_cloexec): New function, with mingw implementation borrowed
32794         from...
32795         * lib/w32spawn.h (dup_noinherit): ...here.
32796         * modules/execute (Depends-on): Add cloexec.
32797         * modules/pipe (Depends-on): Likewise.
32798         * modules/cloexec (Depends-on): Add dup2.
32799         * modules/cloexec-tests (Files): New file.
32800         * tests/test-cloexec.c: Likewise.
32801
32802         test-xalloc-die: fix test for mingw
32803         * modules/xalloc-die-tests (Files): Add tests/init.sh.
32804         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
32805         directory and .exe suffix off argv[0] output.
32806
32807         test-fseeko: fix test for mingw
32808         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
32809         than undefining fseek, so test will pass on mingw.
32810
32811 2009-12-05  Bruno Haible  <bruno@clisp.org>
32812
32813         * lib/progname.h (set_program_name): Clarify specification.
32814         * lib/progname.c (set_program_name): Likewise.
32815         Reported by Jim Meyering.
32816
32817 2009-12-05  Jim Meyering  <meyering@redhat.com>
32818
32819         maint.mk: backslash-escape parens in default regexp
32820         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
32821         backslash-escape the literal parentheses.
32822
32823         maint.mk: news-date-check: use grep -E
32824         * top/maint.mk (today): Define a Make variable, not a...
32825         (news-date-check): ...shell variable.
32826         (news-date-regexp): Use the Make variable.
32827         Use grep's -E option.  Change the failing diagnostic to mention
32828         the variable, $(news-date-regexp).
32829
32830 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
32831
32832         maintainer-makefile: allow customization of NEWS entry format
32833         * top/maint.mk (news-date-regexp): New overridable variable.
32834         (news-date-check): Use it.
32835
32836 2009-12-04  Eric Blake  <ebb9@byu.net>
32837
32838         mgetgroups: add xgetgroups, and avoid ENOSYS failures
32839         * lib/mgetgroups.h (xgetgroups): New prototype.
32840         * lib/mgetgroups.c (xgetgroups): New wrapper.
32841         (mgetgroups): Handle ENOSYS.
32842         * modules/mgetgroups (Depends-on): Add realloc.
32843         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
32844
32845         mgetgroups: avoid argument promotion issues with -1
32846         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
32847         for invalid gid_t.
32848         * tests/test-chown.h (getegid, test_chown): Likewise.
32849         * tests/test-lchown.h (getegid, test_lchown): Likewise.
32850
32851 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
32852
32853         exclude: Fix header file problems.
32854         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
32855
32856 2009-12-01  Jim Meyering  <meyering@redhat.com>
32857
32858         fts: fts_open: do not let an empty string cause immediate failure
32859         This is required in support of GNU rm, for which the command
32860         "rm A '' B" must process and remove both A and B, in spite of
32861         the empty string argument.
32862         * lib/fts.c (fts_open): Do not let the presence of an empty string
32863         cause fts_open to fail immediately.  Most fts-using tools must be
32864         able to process all arguments, in order, and can be expected to
32865         diagnose such arguments themselves.
32866
32867 2009-11-30  Eric Blake  <ebb9@byu.net>
32868
32869         utimens: fix compilation error
32870         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
32871         Declare variable at right scope.
32872
32873 2009-11-29  Jim Meyering  <meyering@redhat.com>
32874
32875         bootstrap: handle perl-5.11's changed --version output
32876         * build-aux/bootstrap (get_version): Handle perl separately,
32877         since perl-5.11's --version output is different.
32878
32879 2009-11-28  Jim Meyering  <meyering@redhat.com>
32880
32881         userspec: depend on the inttostr module, too
32882         * modules/userspec (Depends-on): Add inttostr.
32883
32884         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
32885         * lib/userspec.c (parse_with_separator): Do not accept a user ID
32886         number of MAXUID when it evaluates to (uid_t) -1.
32887         Likewise for group ID.  Reported by Matt McCutchen in
32888         <http://savannah.gnu.org/bugs/?28113>
32889
32890         userspec: reformat to use spaces, not TABs
32891         * lib/userspec.c: Expand TABs to spaces.
32892         Add Emacs' "indent-tabs-mode: nil" hint.
32893
32894 2009-11-27  Eric Blake  <ebb9@byu.net>
32895
32896         getopt-gnu: flush out another BSD bug
32897         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
32898         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
32899         flush out BSD bug.
32900         * tests/test-getopt.h (test_getopt): End lists with NULL.
32901         * tests/test-getopt_long.h (test_getopt_long): Likewise.
32902         (test_getopt_long_posix): Enhance test.
32903         * modules/getopt-posix-tests (Depends-on): Add stdbool.
32904         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
32905         getopt-gnu.
32906         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32907         Likewise.
32908
32909 2009-11-27  Simon Josefsson  <simon@josefsson.org>
32910
32911         * modules/idpriv-droptemp-tests (Notice): Fix text.
32912
32913 2009-11-27  Jim Meyering  <meyering@redhat.com>
32914
32915         test-xalloc-die: avoid spurious failure due to libtool argv difference
32916         In a libtool-enabled project, this test would fail due to a difference
32917         in the emitted program name, e.g.,
32918         -test-xalloc-die: memory exhausted
32919         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
32920         Use program to avoid that.
32921         * modules/xalloc-die-tests (Depends-on): Add progname.
32922         * tests/test-xalloc-die.c: Include progname.h".
32923         (program_name): Remove decl.
32924         (main): Call set_program_name.
32925         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
32926
32927 2009-11-26  Richard Jones  <rjones@redhat.com>
32928
32929         w32sock: leave win32 error in place.
32930         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
32931
32932 2009-11-26  Eric Blake  <ebb9@byu.net>
32933
32934         init.sh: suggest to use skip_ and fail_ functions in comments
32935         * tests/init.sh: Add a sentence.
32936
32937 2009-11-25  Bruno Haible  <bruno@clisp.org>
32938
32939         init.sh: add documentation in comments
32940         * tests/init.sh: Add some developer and user documentation.
32941
32942 2009-11-26  Jim Meyering  <meyering@redhat.com>
32943
32944         init.sh: accommodate even those who specify bogus srcdir manually
32945         * tests/init.sh: Normally, srcdir is guaranteed by automake and
32946         configure-time tests to be sanitized, so that there is no need to
32947         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
32948         (with no double quotes) suffices.  However, since tests may be
32949         invoked manually, and since you may explicitly set srcdir to the
32950         name of a directory containing spaces, do quote its uses here.
32951         * tests/test-pread.sh: Likewise.
32952         Suggested by Bruno Haible.
32953
32954         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
32955         * tests/test-pread.sh: Write no data into the pipe, because
32956         test-pread actually reads none.  This avoids a diagnostic,
32957         "bash: echo: write error: Broken pipe", that arises in the unusual
32958         event something is ignoring SIGPIPE, and might be interpreted
32959         as some sort of failure.  Reported by Bruno Haible.
32960
32961 2009-11-25  Jim Meyering  <meyering@redhat.com>
32962
32963         test-pread: cover failure with ESPIPE and EINVAL
32964         * tests/test-pread.c (main): Test for failure, too.
32965         * tests/test-pread.sh: Invoke with stdin on a pipe.
32966         Suggested by Eric Blake.
32967
32968         pread: improvement and fix
32969         * modules/pread (Depends-on): Depend on lseek, for portability to
32970         e.g., mingw.  Suggested by Eric Blake.
32971         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
32972
32973         unistd.in.h: correct declaration of pread
32974         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
32975         Reported by Richard W.M. Jones.
32976
32977         test-pread.sh: distribute the test script
32978         * modules/pread-tests (Files): Include test-pread.sh.
32979
32980         test-pread.sh: clean up
32981         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
32982         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
32983         That is unnecessary, since it's always ".".
32984         Suggestion from Eric Blake.
32985
32986         test-pread.sh: make executable
32987         * tests/test-pread.sh: Set executable bit.
32988         Reported by Eric Blake.
32989
32990         correct typo in test-pread.sh
32991         * tests/test-pread.sh: Add #! line.
32992
32993         test pread
32994         * tests/test-pread.c: New file.
32995         * tests/test-pread.sh: Likewise.
32996         * modules/pread-tests: Likewise.
32997
32998         pread: new module
32999         * modules/pread: New file.
33000         * lib/unistd.in.h (pread): Define/declare.
33001         * lib/pread.c (pread): New file.
33002         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
33003         * modules/unistd (Makefile.am): Substitute witnesses.
33004         * doc/posix-functions/pread.texi (pread): Update.
33005         * MODULES.html.sh: Add pread.
33006
33007 2009-11-25  Jim Meyering  <meyering@redhat.com>
33008
33009         tests/init.sh: new file to be used via most *.sh tests
33010         * tests/init.sh: New file.
33011
33012 2009-11-25  Eric Blake  <ebb9@byu.net>
33013
33014         utimens: work around older Linux failure with symlinks
33015         * lib/utimens.c (lutimensat_works_really): New variable.
33016         (fdutimens, lutimens): Use it to manage kernels that support
33017         nanosecond times on files, but not on symlinks.
33018         Reported by Ondřej Vašík.
33019
33020         utimes: fix configure grammar
33021         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
33022
33023 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
33024
33025         regex: Fix fastmap for multibyte character ranges.
33026         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
33027         characters when a multibyte character range is included.
33028
33029 2009-11-22  Andy Wingo  <wingo@pobox.com>
33030
33031         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
33032         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
33033
33034 2009-11-24  Bruno Haible  <bruno@clisp.org>
33035
33036         doc: Most *_l functions exist in MacOS X 10.5.
33037         * doc/posix-functions/duplocale.texi: Update platforms list.
33038         * doc/posix-functions/freelocale.texi: Likewise.
33039         * doc/posix-functions/newlocale.texi: Likewise.
33040         * doc/posix-functions/uselocale.texi: Likewise.
33041         * doc/posix-functions/isalnum_l.texi: Likewise.
33042         * doc/posix-functions/isalpha_l.texi: Likewise.
33043         * doc/posix-functions/isblank_l.texi: Likewise.
33044         * doc/posix-functions/iscntrl_l.texi: Likewise.
33045         * doc/posix-functions/isdigit_l.texi: Likewise.
33046         * doc/posix-functions/isgraph_l.texi: Likewise.
33047         * doc/posix-functions/islower_l.texi: Likewise.
33048         * doc/posix-functions/isprint_l.texi: Likewise.
33049         * doc/posix-functions/ispunct_l.texi: Likewise.
33050         * doc/posix-functions/isspace_l.texi: Likewise.
33051         * doc/posix-functions/isupper_l.texi: Likewise.
33052         * doc/posix-functions/iswalnum_l.texi: Likewise.
33053         * doc/posix-functions/iswalpha_l.texi: Likewise.
33054         * doc/posix-functions/iswblank_l.texi: Likewise.
33055         * doc/posix-functions/iswcntrl_l.texi: Likewise.
33056         * doc/posix-functions/iswctype_l.texi: Likewise.
33057         * doc/posix-functions/iswdigit_l.texi: Likewise.
33058         * doc/posix-functions/iswgraph_l.texi: Likewise.
33059         * doc/posix-functions/iswlower_l.texi: Likewise.
33060         * doc/posix-functions/iswprint_l.texi: Likewise.
33061         * doc/posix-functions/iswpunct_l.texi: Likewise.
33062         * doc/posix-functions/iswspace_l.texi: Likewise.
33063         * doc/posix-functions/iswupper_l.texi: Likewise.
33064         * doc/posix-functions/iswxdigit_l.texi: Likewise.
33065         * doc/posix-functions/isxdigit_l.texi: Likewise.
33066         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
33067         * doc/posix-functions/strcasecmp_l.texi: Likewise.
33068         * doc/posix-functions/strcoll_l.texi: Likewise.
33069         * doc/posix-functions/strfmon_l.texi: Likewise.
33070         * doc/posix-functions/strftime_l.texi: Likewise.
33071         * doc/posix-functions/strncasecmp_l.texi: Likewise.
33072         * doc/posix-functions/strxfrm_l.texi: Likewise.
33073         * doc/posix-functions/tolower_l.texi: Likewise.
33074         * doc/posix-functions/toupper_l.texi: Likewise.
33075         * doc/posix-functions/towctrans_l.texi: Likewise.
33076         * doc/posix-functions/towlower_l.texi: Likewise.
33077         * doc/posix-functions/towupper_l.texi: Likewise.
33078         * doc/posix-functions/wcscoll_l.texi: Likewise.
33079         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
33080         * doc/posix-functions/wctrans_l.texi: Likewise.
33081         * doc/posix-functions/wctype_l.texi: Likewise.
33082         * doc/glibc-functions/strptime_l.texi: Likewise.
33083         * doc/glibc-functions/strtod_l.texi: Likewise.
33084         * doc/glibc-functions/strtof_l.texi: Likewise.
33085         * doc/glibc-functions/strtol_l.texi: Likewise.
33086         * doc/glibc-functions/strtold_l.texi: Likewise.
33087         * doc/glibc-functions/strtoll_l.texi: Likewise.
33088         * doc/glibc-functions/strtoul_l.texi: Likewise.
33089         * doc/glibc-functions/strtoull_l.texi: Likewise.
33090         * doc/glibc-functions/wcsftime_l.texi: Likewise.
33091         * doc/glibc-functions/wcstod_l.texi: Likewise.
33092         * doc/glibc-functions/wcstof_l.texi: Likewise.
33093         * doc/glibc-functions/wcstol_l.texi: Likewise.
33094         * doc/glibc-functions/wcstold_l.texi: Likewise.
33095         * doc/glibc-functions/wcstoll_l.texi: Likewise.
33096         * doc/glibc-functions/wcstoul_l.texi: Likewise.
33097         * doc/glibc-functions/wcstoull_l.texi: Likewise.
33098
33099 2009-11-24  Bruno Haible  <bruno@clisp.org>
33100
33101         duplocale: Fix logic bug.
33102         * lib/duplocale.c: Don't include <langinfo.h>.
33103         (_NL_LOCALE_NAME): Remove macro.
33104         (rpl_duplocale): Use setlocale instead of nl_langinfo.
33105         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
33106
33107 2009-11-23  Jim Meyering  <meyering@redhat.com>
33108
33109         test-update-copyright: don't hard-code /usr/bin/perl
33110         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
33111         perl to print the current year.  Gilles Espinasse reported that
33112         the replaced use of perl was hard-coded as /usr/bin/perl.
33113
33114 2009-11-23  Bruno Haible  <bruno@clisp.org>
33115
33116         duplocale: Add support for glibc 2.3.x.
33117         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
33118
33119 2009-11-22  Bruno Haible  <bruno@clisp.org>
33120
33121         vasnprintf: Tiny optimization.
33122         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
33123         MacOS X.
33124
33125 2009-11-22  Bruno Haible  <bruno@clisp.org>
33126
33127         Tests for module 'duplocale'.
33128         * modules/duplocale-tests: New file.
33129         * tests/test-duplocale.c: New file.
33130
33131         New module 'duplocale'.
33132         * m4/duplocale.m4: New file.
33133         * lib/locale.in.h (duplocale): New declaration.
33134         * lib/duplocale.c: New file.
33135         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
33136         gl_LOCALE_H_DEFAULTS): New macros.
33137         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
33138         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
33139         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
33140         REPLACE_DUPLOCALE.
33141         * modules/duplocale: New file.
33142         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
33143
33144 2009-11-22  Bruno Haible  <bruno@clisp.org>
33145
33146         * modules/locale-tests (configure.ac): Test for newlocale function.
33147         * tests/test-locale.c: When the system has extended locale functions,
33148         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
33149
33150         locale: Make locale_t available when possible.
33151         * lib/locale.in.h: Include <xlocale.h> when it exists.
33152         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
33153         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
33154         * modules/locale (Depends-on): Add extensions.
33155         (Makefile.am): Also substitute HAVE_XLOCALE_H.
33156         * doc/posix-headers/locale.texi: Document the problem with locale_t.
33157
33158 2009-11-22  Bruno Haible  <bruno@clisp.org>
33159
33160         Add comments.
33161         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
33162         invocation.
33163         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
33164         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33165         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33166
33167 2009-11-22  Bruno Haible  <bruno@clisp.org>
33168
33169         error: account for the possibility of freopen (stdout).
33170         * lib/error.c: Include <unistd.h>.
33171         (flush_stdout): New function, extracted from error and error_at_line.
33172         Determine stdout's fd dynamically.
33173         (error, error_at_line): Invoke flush_stdout.
33174         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
33175         * modules/error (Depends-on): Add unistd.
33176
33177 2009-11-22  Bruno Haible  <bruno@clisp.org>
33178
33179         diffseq: Add comment.
33180         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
33181
33182 2009-11-22  Jim Meyering  <meyering@redhat.com>
33183
33184         c-stack: avoid defining an unused static function
33185         * lib/c-stack.c (find_stack_direction): Do not define this function
33186         when it will not be used.
33187
33188         diffseq: avoid spurious gcc warnings
33189         * lib/diffseq.h (IF_LINT2): Define.
33190         (compareseq): Use it to initialize two members of "part".
33191         This avoids two used-uninitialized warnings.
33192
33193 2009-11-21  Jim Meyering  <meyering@redhat.com>
33194
33195         c-stack: avoid "ignoring return value of `write'" warning
33196         * lib/c-stack.c: Include "ignore-value.h".
33197         (die): Explicitly ignore each write return value.
33198         * modules/c-stack (Depends-on): Add ignore-value.
33199
33200 2009-11-21  Bruno Haible  <bruno@clisp.org>
33201
33202         diffseq: reduce scope of variable 'best'.
33203         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
33204         variable, earlier used for two different purposes.
33205
33206 2009-11-21  Jim Meyering  <meyering@redhat.com>
33207
33208         diffseq: remove useless assignment to "best"
33209         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
33210         assignment.  At that point "best" is already guaranteed to be zero.
33211
33212 2009-11-20  Eric Blake  <ebb9@byu.net>
33213
33214         build: mention ftp redirector in release announcements
33215         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
33216         values that used to come from cfg.mk; mention FTP redirect URL.
33217         * build-aux/announce-gen: Mention the mirror list.
33218         Suggested by Karl Berry.
33219
33220         nanosleep: improve port to mingw
33221         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
33222         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
33223         LIB_NANOSLEEP, but only when needed.
33224         * modules/select (Link): Document LIBSOCKET.
33225         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
33226         enough.
33227
33228         nanosleep: work around cygwin bug
33229         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
33230         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
33231         bug.
33232         (getnow): Delete, not needed.
33233         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
33234         LIB_CLOCK_GETTIME.
33235         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
33236         clock-time, gettime.
33237         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
33238         bug.
33239         * modules/nanosleep-tests: New test.
33240         * tests/test-nanosleep.c: New file.
33241
33242         sleep: work around cygwin bug
33243         * lib/sleep.c (rpl_sleep): Work around the bug.
33244         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
33245         (gl_PREREQ_SLEEP): Delete unused macro.
33246         * modules/sleep (Depends-on): Add verify.
33247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
33248         * modules/unistd (Makefile.am): Substitute witness.
33249         * lib/unistd.in.h (sleep): Update prototype.
33250         * doc/posix-functions/sleep.texi (sleep): Document the bug.
33251         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
33252         * modules/sleep-tests (Depends-on): Check for alarm.
33253
33254 2009-11-20  Jim Meyering  <meyering@redhat.com>
33255
33256         maint.mk: improve sc_prohibit_magic_number_exit
33257         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
33258         so it does not match uses like System.exit(1).
33259         Add comments showing how to correct all offenders.
33260
33261 2009-11-19  Eric Blake  <ebb9@byu.net>
33262
33263         xalloc-die-tests: add missing library
33264         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
33265
33266         test-xvasprintf: silence compiler warnings
33267         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
33268         empty string from gcc.
33269
33270 2009-11-19  Jim Meyering  <meyering@redhat.com>
33271
33272         xfreopen: new module, from coreutils
33273         * modules/xfreopen: New module.
33274         * lib/xfreopen.c: New file.
33275         * lib/xfreopen.h: New file.
33276         * MODULES.html.sh (File stream based Input/Output"): Add it.
33277
33278 2009-11-19  Eric Blake  <ebb9@byu.net>
33279
33280         manywarnings: depend on warnings
33281         * modules/manywarnings (Depends-on): Add warnings.
33282
33283         build: avoid compiler warnings
33284         * lib/select.c (rpl_select): Delete unused variable.
33285         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
33286
33287 2009-11-18  Eric Blake  <ebb9@byu.net>
33288
33289         tests: avoid false negative with --with-packager
33290         * tests/test-version-etc.sh: Discard packager information.
33291         * tests/test-argp-version-etc-1.sh: Likewise.
33292         Reported by Mike Frysinger.
33293
33294         utimens: fix regression on Solaris
33295         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
33296         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
33297         can only change fd timestamps via futimesat.  Instead, use an
33298         additional witness macro to avoid BSD bug.
33299         Reported by Jim Meyering.
33300
33301 2009-11-17  Eric Blake  <ebb9@byu.net>
33302
33303         usleep: use it to simplify tests
33304         * modules/stat-time-tests (Depends-on): Add usleep.
33305         (configure.ac): Drop usleep check.
33306         * modules/chown-tests (Depends-on, configure.ac): Likewise.
33307         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
33308         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
33309         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
33310         * modules/openat-tests (Depends-on, configure.ac): Likewise.
33311         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
33312         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
33313         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
33314         Likewise.
33315         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
33316         * tests/test-lchown.h (nap): Likewise.
33317         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
33318         * tests/test-stat-time.c (nap): Likewise.
33319         * tests/test-utimens-common.h (nap): Update comments.
33320
33321         usleep: new module
33322         * modules/usleep: New file.
33323         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
33324         * lib/usleep.c (usleep): Likewise.
33325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
33326         * modules/unistd (Makefile.am): Substitute witnesses.
33327         * lib/unistd.in.h (usleep): Add declaration.
33328         * doc/pastposix-functions/usleep.texi (usleep): Document this.
33329         * MODULES.html.sh (Date and time): Likewise.
33330         * modules/usleep-tests (Depends-on): New test.
33331         * tests/test-usleep.c: New file.
33332
33333         chown: work around OpenBSD bug
33334         * lib/chown.c (rpl_chown): Work around the bug.
33335         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
33336         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
33337         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
33338         * modules/chown (Depends-on): Add stdbool.
33339         * modules/lchown (Depends-on): Likewise.
33340         * doc/posix-functions/chown.texi (chown): Document the bug.
33341         * doc/posix-functions/lchown.texi (lchown): Likewise.
33342         * tests/test-lchown.h (test_chown): Relax test.
33343
33344         mkstemp: avoid conflict with C++ keyword template
33345         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
33346         * lib/mkostemp.c (mkostemp): Likewise.
33347         * lib/mkostemps.c (mkostemps): Likewise.
33348         * lib/mkstemp.c (mkstemp): Likewise.
33349         * lib/mkstemps.c (mkstemps): Likewise.
33350
33351         xalloc-die-tests: optimize
33352         * tests/test-xalloc-die.sh: Reduce number of processes.
33353
33354 2009-11-17  Simon Josefsson  <simon@josefsson.org>
33355
33356         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
33357         patch from ludo@gnu.org (Ludovic Courtès).
33358
33359 2009-11-17  Jim Meyering  <meyering@redhat.com>
33360
33361         version-etc: use proper license string
33362         * modules/version-etc (License): Use LGPL, not LGPLv3+.
33363         * modules/version-etc-fsf: Likewise.
33364
33365 2009-11-17  Simon Josefsson  <simon@josefsson.org>
33366
33367         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
33368         printed to stdout.  Deal with EOL differences.
33369
33370 2009-11-17  Eric Blake  <ebb9@byu.net>
33371
33372         unsetenv: work around Solaris bug
33373         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
33374         * lib/unsetenv.c (rpl_unsetenv): Work around it.
33375         Reported by Jim Meyering.
33376
33377         vasnprintf: avoid compiler warnings
33378         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
33379         variables.
33380         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
33381
33382 2009-11-17  Simon Josefsson  <simon@josefsson.org>
33383
33384         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
33385         settings since xalloc-die is no longer the self test,
33386         xalloc-die.sh is.
33387
33388 2009-11-17  Jim Meyering  <meyering@redhat.com>
33389
33390         test-xalloc-die.sh: make the code agree with the commit log
33391         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
33392         at the end, just in case you happen to have a test-xalloc-die
33393         program in some other PATH directory.
33394
33395         test-xalloc-die.sh: fix a portability bug
33396         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
33397         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
33398         Otherwise, argv[0] (as often seen in diagnostics) would be too
33399         system-dependent, sometimes with, and sometimes without the leading "./".
33400
33401         version-etc-fsf: relax license to LGPLv3+
33402         * modules/version-etc-fsf (License): Relax license.
33403
33404 2009-11-16  Eric Blake  <ebb9@byu.net>
33405
33406         xalloc-die-tests: avoid printing null pointer
33407         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
33408         shell script.
33409         * tests/test-xalloc-die.c (program_name): Declare.
33410         * tests/test-xalloc-die.sh (tmpfiles): New file.
33411
33412         setenv, unsetenv: work around various bugs
33413         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
33414         (setenv) [HAVE_SETENV]: Work around bugs.
33415         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
33416         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
33417         for bugs.
33418         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
33419         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
33420         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
33421         * modules/stdlib (Makefile.am): Update substitutions.
33422         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
33423         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
33424         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
33425         * modules/setenv-tests: New test.
33426         * modules/unsetenv-tests: Likewise.
33427         * tests/test-setenv.c: New file.
33428         * tests/test-unsetenv.c: Likewise.
33429
33430 2009-11-16  Jim Meyering  <meyering@redhat.com>
33431
33432         version-etc: relax license to LGPLv3+
33433         * modules/version-etc (License): Relax license.
33434
33435         better AC_REQUIRE expanded-before-required-warning avoidance
33436         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
33437         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
33438         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
33439         which is no longer needed.
33440
33441 2009-11-16  Eric Blake  <ebb9@byu.net>
33442
33443         test-freading: clean up temporary file
33444         * tests/test-freading.c (main): Remove file on success, and use
33445         ASSERT more liberally.
33446         Reported by Jim Meyering.
33447
33448 2009-11-16  Jim Meyering  <meyering@redhat.com>
33449
33450         avoid new AC_REQUIRE expanded-before-required warnings
33451         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
33452         merely using it.
33453         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
33454         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
33455
33456 2009-11-15  Simon Josefsson  <simon@josefsson.org>
33457
33458         * tests/test-xalloc-die.c: New file.
33459         * modules/xalloc-die-tests: New file.
33460         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
33461         XFAIL_TESTS so it can be appended by modules.
33462
33463 2009-11-15  Simon Josefsson  <simon@josefsson.org>
33464
33465         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
33466         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
33467
33468 2009-11-14  Eric Blake  <ebb9@byu.net>
33469
33470         fnmatch: avoid compiler warning
33471         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
33472         to silence compiler warning about mismatch signedness in ?:.
33473         Reported by Robert Millan.
33474
33475         intprops: add double-inclusion guard
33476         * lib/intprops.h: Allow idempotent includes.
33477         Suggested by Bruce Korb.
33478
33479         openat: detect Solaris fchownat bug
33480         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
33481         penalizing glibc chownat when only lchownat is broken.
33482         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
33483         trailing slash bugs.
33484         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
33485         * modules/openat-tests (Files): Include more files.
33486         (Depends-on): Add mgetgroups, sleep, stat-time.
33487         (configure.ac): Add additional checks.
33488         (Makefile.am): Build new test.
33489         * tests/test-fchownat.c: New file.
33490
33491         lchown: detect Solaris and FreeBSD bug
33492         * lib/lchown.c (rpl_lchown): Work around bug.
33493         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
33494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33495         * modules/unistd (Makefile.am): Populate it.
33496         * lib/unistd.in.h (lchown): Update declaration.
33497         * doc/posix-functions/lchown.texi (lchown): Document the bug.
33498         * modules/lchown-tests: New file.
33499         * tests/test-lchown.h (test_lchown): Likewise.
33500         * tests/test-lchown.c (main): Likewise.
33501
33502         chown: detect Solaris and FreeBSD bug
33503         * lib/chown.c (rpl_chown): Work around bug.
33504         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
33505         (gl_PREREQ_CHOWN): Delete.
33506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33507         * modules/unistd (Makefile.am): Populate it.
33508         * lib/unistd.in.h (chown): Update declaration.
33509         * lib/lchown.c (chown): Update client.
33510         * modules/lchown (Depends-on): Add lstat.
33511         * doc/posix-functions/chown.texi (chown): Document the bug.
33512         * doc/posix-functions/getgroups.texi (getgroups): Document
33513         getgroups pitfall.
33514         * modules/chown-tests: New file.
33515         * tests/test-chown.h (test_chown): Likewise.
33516         * tests/test-chown.c (main): Likewise.
33517
33518 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
33519
33520         gnulib-tool: correctly detect absence of m4 directories
33521         * gnulib-tool: Avoid extra newline on data passed to wc -l.
33522
33523 2009-11-14  Jim Meyering  <meyering@redhat.com>
33524
33525         maint.mk: Prohibit inclusion of "xalloc.h" without use.
33526         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
33527
33528 2009-11-14  John W. Eaton  <jwe@gnu.org>
33529
33530         strftime.h: wrap funtion declaration in extern "C" block
33531         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
33532
33533 2009-11-13  Eric Blake  <ebb9@byu.net>
33534
33535         getgroups: avoid compiler warning
33536         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
33537
33538         getgroups: work around FreeBSD bug
33539         * lib/getgroups.c (rpl_getgroups): Work around the bug.
33540         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
33541         * doc/posix-functions/getgroups.texi (getgroups): Document it.
33542         * tests/test-getgroups.c (main): Fix buffer overrun.
33543
33544         getgroups: avoid compilation failure
33545         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
33546         * modules/getgroups (Depends-on): Add stdint.
33547
33548 2009-11-13  Jim Meyering  <meyering@redhat.com>
33549
33550         test-getgroups: avoid compilation failure
33551         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
33552
33553 2009-11-13  Eric Blake  <ebb9@byu.net>
33554
33555         mgetgroups: new module, taken from coreutils
33556         * modules/mgetgroups: New file.
33557         * lib/mgetgroups.h: Likewise.
33558         * lib/mgetgroups.c (mgetgroups): Likewise.
33559         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
33560         * MODULES.html.sh (Users and groups): Mention it.
33561
33562         getgroups: don't expose GETGROUPS_T to user
33563         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
33564         an element at a time if GETGROUPS_T is wrong size.
33565         * lib/getugroups.h (getugroups): Change signature.
33566         * lib/unistd.in.h (getgroups): Likewise.
33567         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
33568         signature needs fixing.
33569         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
33570         AC_TYPE_GETGROUPS.
33571         * modules/group-member (Depends-on): Add getgroups.
33572         * lib/group-member.c (group_info, get_group_info): Use gid_t.
33573         (group_member): Rely on getgroups replacement.
33574         * lib/getugroups.c (getugroups): Use gid_t.
33575         * tests/test-getgroups.c (main): Likewise.
33576         * NEWS: Mention the signature change.
33577         * doc/posix-functions/getgroups.texi (getgroups): Mention the
33578         problem with signature.
33579         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
33580         GETGROUPS_T is still useful for setgroups.
33581
33582         getgroups, getugroups: provide stubs for mingw
33583         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
33584         * lib/getugroups.c (getugroups): Likewise.
33585         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
33586         function.  Modernize replacement scheme.
33587         (gl_PREREQ_GETGROUPS): Delete.
33588         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
33589         * modules/getgroups (configure.ac): Declare witness.
33590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
33591         * modules/unistd (Depends-on): Substitute witness.
33592         * lib/unistd.in.h (getgroups): Declare replacement.
33593
33594         getgroups: avoid calling exit
33595         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
33596         drop xalloc.
33597         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
33598         dependencies.
33599         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
33600         exiting, in the rare case of malloc failure.
33601
33602         getgroups: fix logic error
33603         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
33604         has more than 20 groups.
33605         * modules/getgroups-tests: New test.
33606         * tests/test-getgroups.c: New file.
33607
33608 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33609
33610         * tests/test-base64.c: Improve.
33611
33612 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33613
33614         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
33615         Blake <ebb9@byu.net>.
33616
33617 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33618
33619         * tests/test-xvasprintf.c: Add %s%s related checks.
33620
33621 2009-11-12  Eric Blake  <ebb9@byu.net>
33622
33623         version-etc: match standards.texi style
33624         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
33625         and use <> only for URLs.
33626
33627 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
33628
33629         fts: do not fail on a submount during traversal
33630         * lib/fts.c (fts_build): Read the stat info again after opening
33631         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
33632         Original report at http://bugzilla.redhat.com/501848.
33633
33634 2009-11-12  Jim Meyering  <meyering@redhat.com>
33635
33636         bootstrap: sync from coreutils
33637         * build-aux/bootstrap (bootstrap_epilogue): New function.
33638         Use git_modules_config in one more place.  This make bootstrap's
33639         --gnulib-srcdir option more useful for testing.
33640
33641         bootstrap: generalize autoheader check
33642         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
33643         AC_CONFIG_HEADERS.
33644
33645 2009-11-11  Eric Blake  <ebb9@byu.net>
33646
33647         mkfifoat: use new modules for Solaris and BSD bugs
33648         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
33649         * lib/mkfifoat.c (mknodat): Split...
33650         * lib/mknodat.c (mknodat): ...into new file.
33651         * modules/mkfifoat (Files): Ship new file.
33652         (Depends-on): Add mkfifo, mknod.
33653         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
33654         (Depends-on): Add symlink.
33655         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
33656         redundant with test_mkfifo.h.
33657         (do_mkfifoat, do_mknodat): New helpers.
33658
33659         mknod: new module
33660         * modules/mknod: New file.
33661         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
33662         * lib/mknod.c (mknod): Likewise.
33663         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
33664         defaults.
33665         * modules/sys_stat (Makefile.am): Substitute them.
33666         * lib/sys_stat.in.h (mknod): Declare replacement.
33667         * MODULES.html.sh (Support for systems lacking POSIX:2008):
33668         Document it.
33669         * doc/posix-functions/mknod.texi (mknod): Likewise.
33670         * modules/mknod-tests: New test.
33671         * tests/test-mknod.c: Likewise.
33672
33673         mkfifo: new module
33674         * modules/mkfifo: New file.
33675         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
33676         * lib/mkfifo.c (mkfifo): Likewise.
33677         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
33678         defaults.
33679         * modules/sys_stat (Makefile.am): Substitute them.
33680         * lib/sys_stat.in.h (mkfifo): Declare replacement.
33681         * MODULES.html.sh (Support for systems lacking POSIX:2008):
33682         Document it.
33683         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
33684         * modules/mkfifo-tests: New test.
33685         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
33686         from test-mkfifoat.c.
33687         * tests/test-mkfifo.c: New file.
33688
33689         readlink: detect FreeBSD bug
33690         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
33691         slash on symlink.
33692         * doc/posix-functions/readlink.texi (readlink): Document the bug.
33693         * tests/test-readlink.h (test_readlink): Enhance test.
33694
33695         symlink: detect FreeBSD bug
33696         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
33697         slash on symlink.
33698         * doc/posix-functions/symlink.texi (symlink): Document the bug.
33699         * tests/test-symlink.h (test_symlink): Enhance test.
33700
33701 2009-11-10  Eric Blake  <ebb9@byu.net>
33702
33703         link: detect FreeBSD bug
33704         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
33705         symlink.
33706         * doc/posix-functions/link.texi (link): Document the bug.
33707         * tests/test-link.h (test_link): Enhance test.
33708         * tests/test-linkat.c (main): Update caller.
33709
33710         unlink, remove: detect FreeBSD bug
33711         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
33712         slash on symlink.
33713         * doc/posix-functions/unlink.texi (unlink): Document the bug.
33714         * doc/posix-functions/remove.texi (remove): Likewise.
33715         * tests/test-unlink.h (test_unlink): Enhance test.
33716         * tests/test-remove.c (main): Likewise.
33717
33718 2009-11-09  Eric Blake  <ebb9@byu.net>
33719
33720         rename: detect FreeBSD bug
33721         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
33722         slash on symlink.
33723         * modules/renameat-tests (Depends-on): Add filenamecat.
33724         * tests/test-rename.h (test_rename): Allow one more errno.
33725         * tests/test-renameat.c (main): Likewise.
33726         * doc/posix-functions/rename.texi (rename): Document the bug.
33727
33728         open: detect FreeBSD bug
33729         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
33730         symlink.
33731         * doc/posix-functions/open.texi (open): Document the bug.
33732         * doc/posix-functions/utimes.texi (utimes): Likewise.
33733         * tests/test-open.h (test_open): Add parameters, and test symlink
33734         handling.
33735         * tests/test-open.c (main): Adjust caller.
33736         * tests/test-fcntl-safer.c (main): Likewise.
33737         * modules/open-tests (Depends-on): Add stdbool, symlink.
33738         * modules/fcntl-safer-tests (Depends-on): Likewise.
33739         * tests/test-openat.c (main): Add test-open tests.
33740
33741         stat: detect FreeBSD bug
33742         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
33743         symlink.
33744         * doc/posix-functions/stat.texi (stat): Document the bug.
33745         * tests/test-stat.h (test_stat_func): Add argument.
33746         * tests/test-stat.c (main): Adjust caller.
33747         * tests/test-fstatat.c (main): Likewise.
33748         * modules/stat-tests (Depends-on): Add stdbool, symlink.
33749         Reported by Jim Meyering.
33750
33751 2009-11-09  James Youngman  <jay@gnu.org>
33752
33753         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
33754         * lib/strftime.c: Correct placement of #include "ignore-value.h".
33755
33756 2009-11-08  Jim Meyering  <meyering@redhat.com>
33757
33758         utimens: remove invalid futimesat call
33759         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
33760         It used the file descriptor of the target file as the DIR_FD
33761         parameter and NULL as the file name.  That caused failure with
33762         errno == EFAULT on FreeBSD-8.0-rc2
33763
33764 2009-11-07  Eric Blake  <ebb9@byu.net>
33765
33766         fflush, freadseek: use fseeko, not fseek
33767         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
33768         (clear_ungetc_buffer): Avoid potential problems on large files.
33769         * lib/freadseek.c (freadseek): Likewise.
33770         * modules/freadseek (Depends-on): Add fseeko.
33771         * modules/fseek (configure.ac): Set a witness.
33772         * tests/test-fflush.c (main): Use fseeko.
33773         * tests/test-fpurge.c (fseek): Disable link warning.
33774         * tests/test-freadable.c (fseek): Likewise.
33775         * tests/test-freading.c (fseek): Likewise.
33776         * tests/test-fseeko.c (fseek): Likewise.
33777         * tests/test-ftell.c (fseek): Likewise.
33778         * tests/test-ftello.c (fseek): Likewise.
33779         * tests/test-fwritable.c (fseek): Likewise.
33780         * tests/test-fwriting.c (fseek): Likewise.
33781
33782 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33783
33784         * modules/memchr (Depends-on): Drop getpagesize dependency.
33785
33786 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33787
33788         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
33789         Reported by Ludovic Courtès.
33790         * build-aux/pmccabe2html: Improve example usage.
33791         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
33792
33793 2009-11-06  Jim Meyering  <meyering@redhat.com>
33794
33795         do-release-commit-and-tag: New module.
33796         Automate the release-commit and tag process.
33797         * build-aux/do-release-commit-and-tag: New script, from coreutils.
33798         * modules/do-release-commit-and-tag: New file.
33799         * MODULES.html.sh (Support for maintaining and releasing): Add it.
33800
33801 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33802
33803         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
33804         because test-select.c uses inet_pton.
33805
33806 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33807
33808         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
33809         GETADDRINFO_LIB.  Bump serial number.
33810         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
33811         Suggested by Eric Blake <ebb9@byu.net>.
33812
33813 2009-11-05  Eric Blake  <ebb9@byu.net>
33814
33815         strtod: detect darwin bug
33816         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
33817         Reported by Leo Davis.
33818
33819         freopen-safer: new module
33820         * modules/freopen-safer: New module.
33821         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
33822         * lib/freopen-safer.c (freopen_safer): New file.
33823         * lib/stdio-safer.h (freopen_safer): New declaration.
33824         * lib/stdio--.h (freopen): New override.
33825         * MODULES.html.sh (File stream based Input/Output): Mention it.
33826         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
33827         freopen-safer module.
33828         * doc/posix-functions/stderr.texi (stderr): Likewise.
33829         * doc/posix-functions/stdin.texi (stdin): Likewise.
33830         * doc/posix-functions/stdout.texi (stdout): Likewise.
33831         * modules/freopen-safer-tests: New test.
33832         * tests/test-reopen-safer.c: New file.
33833
33834 2009-11-05  Jim Meyering  <meyering@redhat.com>
33835
33836         maint.mk: Prohibit inclusion of "close-stream.h" without use.
33837         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
33838
33839 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33840
33841         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
33842
33843 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33844
33845         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
33846
33847 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33848
33849         Fix link error.
33850         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33851         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33852
33853 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33854
33855         * tests/test-func.c: Also test value of __func__.
33856
33857 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33858
33859         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
33860         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
33861
33862 2009-11-05  Bruno Haible  <bruno@clisp.org>
33863
33864         Fix link error.
33865         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33866         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33867         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
33868
33869 2009-11-05  Bruno Haible  <bruno@clisp.org>
33870
33871         Tests for module 'inet_pton'.
33872         * modules/inet_pton-tests: New file.
33873         * tests/test-inet_pton.c: New file.
33874
33875 2009-11-05  Bruno Haible  <bruno@clisp.org>
33876
33877         Tests for module 'inet_ntop'.
33878         * modules/inet_ntop-tests: New file.
33879         * tests/test-inet_ntop.c: New file.
33880
33881 2009-11-04  Eric Blake  <ebb9@byu.net>
33882
33883         stdlib-safer: wrap all mkstemp variants
33884         * modules/mkostemp (configure.ac): Set witness.
33885         * modules/mkostemps (configure.ac): Likewise.
33886         * modules/mkstemps (configure.ac): Likewise.
33887         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
33888         (mkstemps_safer): Wrap more functions.
33889         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
33890         wrapping.
33891         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
33892         (mkstemps_safer): Implement the wrappers.
33893
33894         mkstemps, mkostemps: new modules
33895         * modules/mkostemps: New module.
33896         * modules/mkstemps: Likewise.
33897         * lib/mkostemps.c (mkostemps): New file.
33898         * lib/mkstemps.c (mkstemps): Likewise.
33899         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
33900         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
33901         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
33902         * modules/stdlib (Makefile.am): Substitute them.
33903         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
33904         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
33905         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
33906         * doc/gnulib.texi (Glibc stdlib.h): Include them.
33907         * MODULES.html.sh (File system functions): Mention them.
33908
33909         tempname: resync from glibc
33910         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
33911         same values for __GT_FILE as glibc.  Abort even when assertions
33912         are disabled.
33913         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
33914         match its value otherwise.  Allow idempotent inclusion.
33915         * lib/mkdtemp.c (mkdtemp): Adjust caller.
33916         * lib/mkostemp.c (mkostemp): Likewise.
33917         * lib/mkstemp.c (mkstemp): Likewise.
33918         * lib/tmpfile.c (tmpfile): Likewise.
33919         * NEWS: Document this.
33920
33921         utimens: fix use of futimens on older Linux
33922         * lib/utimens.c (fdutimens): Use updated, rather than original,
33923         timespec to avoid bug in older Linux kernel.
33924         Reported by Simon Josefsson.
33925
33926 2009-11-04  Bruno Haible  <bruno@clisp.org>
33927
33928         Make num_processors more flexible and consistent.
33929         * lib/nproc.h (enum nproc_query): New type.
33930         (num_processors): Add a 'query' argument.
33931         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
33932         (num_processors): Add a 'query' argument. Test the value of the
33933         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
33934         mingw, count the number of CPUs available for the current process.
33935         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
33936         Check for sched_getaffinity and sched_getaffinity_np.
33937         * modules/nproc (Depends-on): Add c-ctype, extensions.
33938         * NEWS: Mention the change.
33939
33940 2009-11-03  Bruno Haible  <bruno@clisp.org>
33941
33942         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
33943
33944 2009-11-03  Jim Meyering  <meyering@redhat.com>
33945
33946         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
33947         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
33948         if it is defined.
33949
33950 2009-11-02  Eric Blake  <ebb9@byu.net>
33951
33952         mktime, timegm: share common declaration
33953         * lib/mktime-internal.h: New file.
33954         * lib/mktime.c: Use it rather than open-coding a declaration.
33955         * lib/timegm.c: Likewise.
33956         * modules/mktime (Files): Ship it.
33957         * modules/timegm (Files): Likewise.
33958         Suggested by Bruno Haible.
33959
33960         test-update-copyright: update test to match script changes
33961         * tests/test-update-copyright.sh: Avoid hard-coding perl
33962         location.  Don't update *.bak created by earlier runs.
33963
33964 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
33965             Simon Josefsson  <simon@josefsson.org>
33966             Bruno Haible  <bruno@clisp.org>
33967
33968         Fix link error on Solaris 8.
33969         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
33970         also in libnsl. Define also INET_PTON_LIB.
33971         * modules/inet_pton (Link): New section.
33972
33973 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33974             Bruno Haible  <bruno@clisp.org>
33975
33976         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
33977         * modules/inet_ntop (Link): New section.
33978         Reported by Boyan Kasarov <bkasarov@gmail.com>.
33979
33980 2009-11-02  Eric Blake  <ebb9@byu.net>
33981
33982         maint: avoid compiler warnings in m4 macros
33983         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
33984         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
33985
33986 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33987
33988         * m4/pmccabe2html.m4: Remove file.
33989         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
33990         function.  Change maintainer.
33991         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
33992         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
33993         Courtès).
33994
33995 2009-10-31  Eric Blake  <ebb9@byu.net>
33996
33997         fseeko: fix m4 regression
33998         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
33999         regression from 2009-10-27.
34000         Reported by Ralf Wildenhues.
34001
34002 2009-10-31  Jim Meyering  <meyering@redhat.com>
34003
34004         inttostr: aesthetics and improved (compile-time) safety
34005         Define inttype_is_signed rather than inttype_is_unsigned,
34006         since the sole use is via "#if inttype_is_signed".
34007         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
34008         inttype_is_unsigned.
34009         * lib/offtostr.c (inttype_is_signed): Likewise.
34010         * lib/uinttostr.c (inttype_is_signed): Likewise.
34011         * lib/umaxtostr.c (inttype_is_signed): Likewise.
34012         * lib/inttostr.c (inttostr): Use verify to cross-check the
34013         inttype_is_signed value and the signedness of the actual type.
34014         * modules/inttostr (Depends-on): Add verify.
34015
34016 2009-10-30  Eric Blake  <ebb9@byu.net>
34017
34018         build: avoid compiler warnings
34019         * lib/fchmodat.c (lchmod): Mark unused variables.
34020         * lib/getopt.c (_getopt_initialize): Likewise.
34021         * lib/mktime.c (__mktime_internal): Provide prototype.
34022         * lib/inttostr.c (inttostr): Avoid compiler warning even with
34023         older gcc that do not understand #pragma GCC diagnostic.
34024         * lib/uinttostr.c (inttype_is_unsigned): Define.
34025         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
34026
34027 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
34028
34029         stat: fix compilation on AIX
34030         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
34031         only see struct stat64.
34032
34033 2009-10-30  Eric Blake  <ebb9@byu.net>
34034
34035         exclude: make more robust
34036         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
34037         rather than masking a coding bug.
34038         Suggested by Bruno Haible.
34039
34040 2009-10-30  Jim Meyering  <meyering@redhat.com>
34041
34042         perl scripts: remove #!/usr/bin/perl in favor of more portable...
34043         Rather than putting #!/usr/bin/perl on the first line,
34044         start with a variant of what's recommended by "man perlrun" that
34045         invokes the first "perl" program from your shell's search path.
34046         * build-aux/gitlog-to-changelog: Replace #!... as above.
34047         Add a "Local Variables" perl mode setting.
34048         Prompted by a patch from Ludovic Courtès.
34049         Improved by Eric Blake.
34050         * build-aux/useless-if-before-free: Likewise.
34051         * build-aux/announce-gen: Likewise.
34052         * build-aux/update-copyright: Likewise.
34053
34054 2009-10-29  Eric Blake  <ebb9@byu.net>
34055
34056         filenamecat-lgpl: adjust clients
34057         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
34058         filenamecat.
34059         * modules/renameat (Depends-on): Likewise.
34060
34061         filenamecat: split into filenamecat-lgpl
34062         * modules/filenamecat-lgpl: New module.
34063         * modules/filenamecat (Files): Move library-safe files into
34064         filenamecat-lgpl.
34065         (Depends-on): Add filenamecat-lgpl.
34066         (configure.ac): Declare witness.
34067         * lib/filenamecat.h (file_name_concat): Only declare when using
34068         GPL module.
34069         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
34070         Move...
34071         * lib/filenamecat-lgpl.c: ...into new file.
34072         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
34073         (gl_FILE_NAME_CONCAT): Use it.
34074         * MODULES.html.sh (File system functions): Mention new module.
34075
34076         argp: avoid memory leak
34077         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
34078         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
34079         base_name, since the latter malloc()s and can call exit().
34080         Leak introduced 2006-07-03.
34081
34082         dirname-lgpl: adjust clients that don't need full dirname
34083         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
34084         * modules/filenamecat (Depends-on): Likewise.
34085         * modules/linkat (Depends-on): Likewise.
34086         * modules/mkancesdirs (Depends-on): Likewise.
34087         * modules/mkdir (Depends-on): Likewise.
34088         * modules/openat (Depends-on): Likewise.
34089         * modules/savewd (Depends-on): Likewise.
34090         * modules/rename (Depends-on): Likewise.
34091         (License): Relax license.
34092         * modules/mkdir-tests (Depends-on): Drop progname.
34093         (Makefile.am): Delete unneeded LDADD.
34094         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
34095
34096         dirname: split into dirname-lgpl
34097         * modules/dirname-lgpl: New module.
34098         * modules/dirname (Files): Move library-safe files into
34099         dirname-lgpl.
34100         (Depends-on): Add dirname-lgpl.
34101         (configure.ac): Declare witness.
34102         * modules/double-slash-root (License): Relax license.
34103         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
34104         module.
34105         * lib/dirname.c (dir_len, mdir_name): Move...
34106         * lib/dirname-lgpl.c: ...into new file.
34107         * lib/basename.c (last_component, base_len): Move...
34108         * lib/basename-lgpl.c: ...into new file.
34109         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
34110         (gl_DIRNAME): Use it.
34111         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
34112         Mention new module.
34113         * modules/dirname-tests (Depends-on): Add progname.
34114         * tests/test-dirname.c (program_name): Delete.
34115
34116         mkdir: make safe for libraries
34117         * modules/mkdir (Depends-on): Drop xalloc.
34118         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
34119         exit.
34120
34121         tests: avoid some compiler warnings
34122         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
34123         literals.
34124         * tests/test-memchr.c (main): Avoid type mismatch.
34125         * tests/test-arpa_inet.c (main): Avoid unused parameters.
34126         * tests/test-base64.c (main): Likewise.
34127         * tests/test-getdelim.c (main): Likewise.
34128         * tests/test-gethostname.c (main): Likewise.
34129         * tests/test-getline.c (main): Likewise.
34130         * tests/test-netinet_in.c (main): Likewise.
34131         * tests/test-select.c (open_server_socket, main): Likewise.
34132         * tests/test-select-stdin.c (main): Likewise.
34133         * tests/test-sockets.c (main): Likewise.
34134         * tests/test-strsignal.c (main): Likewise.
34135         * tests/test-sys_select.c (main): Likewise.
34136         * tests/test-sys_socket.c (main): Likewise.
34137         * tests/test-u64.c (main): Likewise.
34138         * tests/test-xfprintf-posix.c (main): Likewise.
34139         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
34140
34141         sockets: avoid compiler warning
34142         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
34143
34144         maint: detect usage(1) and other suspicious exits
34145         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
34146
34147 2009-10-29  Jim Meyering  <meyering@redhat.com>
34148
34149         timespec: long-to-int truncation could make timespec_cmp malfunction
34150         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
34151         a multiple of 2^32 nanoseconds as no difference.
34152
34153 2009-10-28  Jim Meyering  <meyering@redhat.com>
34154
34155         fprintftime: wrap macro code argument in "do {...} while(0)"
34156         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
34157         cpy macro must be a statement that can be followed by a semicolon.
34158         Now that the else clause contains a comment and is hence longer
34159         than one line, I require curly braces.  That in turn requires
34160         that we wrap this code block in the standard do...while(0).
34161
34162         fprintftime: remove stray semicolon from previous change
34163         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
34164
34165         fprintftime: avoid a warning about ignored fwrite return value
34166         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
34167         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
34168         that is unsafe.
34169         * modules/fprintftime (Depends-on): Add ignore-value.
34170
34171         exclude: avoid an unwarranted warning
34172         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
34173
34174 2009-10-27  Eric Blake  <ebb9@byu.net>
34175
34176         fseek: avoid compilation failure when fflush is replaced
34177         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
34178         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
34179         module is in use.
34180         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
34181         module is not in use; since REPLACE_FSEEK worked otherwise.
34182         (GNULIB_FTELLO): Likewise for ftell.
34183         Reported by Ian Beckwith and others.
34184
34185 2009-10-27  Bruno Haible  <bruno@clisp.org>
34186
34187         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
34188         Reported by Jim Meyering.
34189
34190 2009-10-27  Jim Meyering  <jim@meyering.net>
34191             Bruno Haible  <bruno@clisp.org>
34192
34193         Avoid warning despite dropping the return value of fwrite.
34194         * lib/unicodeio.c: Include ignore-value.h.
34195         (fwrite_success_callback): Explicitly ignore fwrite's return value.
34196         * modules/unicodeio (Depends-on): Add ignore-value.
34197
34198 2009-10-26  Eric Blake  <ebb9@byu.net>
34199
34200         areadlinkat: fix fallback path
34201         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
34202         pointer and zero.
34203
34204 2009-10-22  Pádraig Brady  <P@draigBrady.com>
34205
34206         Use a better IO block size for modern systems
34207         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
34208         * lib/md2.c: Likewise.
34209         * lib/md4.c: Likewise.
34210         * lib/md5.c: Likewise.
34211         * lib/sha1.c: Likewise.
34212         * lib/sha256.c: Likewise.
34213         * lib/sha512.c: Likewise.
34214
34215 2009-10-22  Eric Blake  <ebb9@byu.net>
34216
34217         tests: avoid several compiler warnings
34218         * tests/test-getcwd.c (main): Avoid buffer underflow.
34219         * tests/test-getdate.c (main): String literals are not safe with
34220         putenv, so use setenv.  Declare unused argument.
34221         * modules/getdate-tests (Depends-on): Add setenv.
34222         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
34223         problems with string literals in char *.
34224         * tests/test-hash.c (main): Avoid shadowing declaration.
34225         (insert_new): Treat string literals as char const *.
34226         * tests/test-getopt.h (test_getopt): Likewise.
34227         (getopt_loop): Alter types to minimize casting elsewhere.
34228         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
34229         (test_getopt_long_posix): Likewise.
34230         (do_getopt_long): Add wrapper to minimize casting.
34231         * tests/test-atexit.c (clear_temp_file): Use void.
34232         * tests/test-areadlink-with-size.c (main): Declare unused
34233         arguments.
34234         * tests/test-areadlink.c (main): Likewise.
34235         * tests/test-areadlinkat-with-size.c (main): Likewise.
34236         * tests/test-areadlinkat.c (main): Likewise.
34237         * tests/test-canonicalize-lgpl.c (main): Likewise.
34238         * tests/test-canonicalize.c (main): Likewise.
34239         * tests/test-dirent-safer.c (main): Likewise.
34240         * tests/test-dirname.c (main): Likewise.
34241         * tests/test-dup2.c (main): Likewise.
34242         * tests/test-fchdir.c (main): Likewise.
34243         * tests/test-fcntl-h.c (main): Likewise.
34244         * tests/test-fcntl-safer.c (main): Likewise.
34245         * tests/test-fdopendir.c (main): Likewise.
34246         * tests/test-fdutimensat.c (main): Likewise.
34247         * tests/test-fflush.c (main): Likewise.
34248         * tests/test-filenamecat.c (main): Likewise.
34249         * tests/test-filevercmp.c (main): Likewise.
34250         * tests/test-fopen-safer.c (main): Likewise.
34251         * tests/test-fopen.c (main): Likewise.
34252         * tests/test-fpending.c (main): Likewise.
34253         * tests/test-fpurge.c (main): Likewise.
34254         * tests/test-freading.c (main): Likewise.
34255         * tests/test-fstatat.c (main): Likewise.
34256         * tests/test-fsync.c (main): Likewise.
34257         * tests/test-futimens.c (main): Likewise.
34258         * tests/test-getndelim2.c (main): Likewise.
34259         * tests/test-gettimeofday.c (main): Likewise.
34260         * tests/test-getopt.c (main): Likewise.
34261         * tests/test-i-ring.c (main): Likewise.
34262         * tests/test-inttypes.c (main): Likewise.
34263         * tests/test-link.c (main): Likewise.
34264         * tests/test-lstat.c (main): Likewise.
34265         * tests/test-math.c (main): Likewise.
34266         * tests/test-md5.c (main): Likewise.
34267         * tests/test-memchr2.c (main): Likewise.
34268         * tests/test-memrchr.c (main): Likewise.
34269         * tests/test-mkdir.c (main): Likewise.
34270         * tests/test-mkdirat.c (main): Likewise.
34271         * tests/test-mkfifoat.c (main): Likewise.
34272         * tests/test-open.c (main): Likewise.
34273         * tests/test-openat-safer.c (main): Likewise.
34274         * tests/test-openat.c (main): Likewise.
34275         * tests/test-quotearg.c (main): Likewise.
34276         * tests/test-rawmemchr.c (main): Likewise.
34277         * tests/test-readlink.c (main): Likewise.
34278         * tests/test-remove.c (main): Likewise.
34279         * tests/test-rename.c (main): Likewise.
34280         * tests/test-renameat.c (main): Likewise.
34281         * tests/test-rmdir.c (main): Likewise.
34282         * tests/test-sha1.c (main): Likewise.
34283         * tests/test-signal.c (main): Likewise.
34284         * tests/test-sigaction.c (main): Likewise.
34285         * tests/test-stat.c (main): Likewise.
34286         * tests/test-stat-time.c (main): Likewise.
34287         * tests/test-stddef.c (main): Likewise.
34288         * tests/test-stdint.c (main): Likewise.
34289         * tests/test-stdio.c (main): Likewise.
34290         * tests/test-stdlib.c (main): Likewise.
34291         * tests/test-strchrnul.c (main): Likewise.
34292         * tests/test-strerror.c (main): Likewise.
34293         * tests/test-string.c (main): Likewise.
34294         * tests/test-strtod.c (main): Likewise.
34295         * tests/test-strverscmp.c (main): Likewise.
34296         * tests/test-symlink.c (main): Likewise.
34297         * tests/test-symlinkat.c (main): Likewise.
34298         * tests/test-sys_stat.c (main): Likewise.
34299         * tests/test-sys_time.c (main): Likewise.
34300         * tests/test-time.c (main): Likewise.
34301         * tests/test-unistd.c (main): Likewise.
34302         * tests/test-unlink.c (main): Likewise.
34303         * tests/test-unlinkat.c (main): Likewise.
34304         * tests/test-utimens.c (main): Likewise.
34305         * tests/test-utimensat.c (main): Likewise.
34306         * tests/test-version-etc.c (main): Likewise.
34307         * tests/test-wchar.c (main): Likewise.
34308         * tests/test-wctype.c (main): Likewise.
34309         * tests/test-xprintf-posix.c (main): Likewise.
34310         * tests/test-posixtm.c (main): Likewise.
34311         (STREQ): Delete unused macro.
34312         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
34313         shadowed variables.
34314         * tests/test-memchr.c (main): Likewise.
34315
34316 2009-10-21  Eric Blake  <ebb9@byu.net>
34317
34318         areadlinkat: avoid failure on older glibc
34319         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
34320         rather than mis-comparing 0 against FUNC_RESULT of char*.
34321
34322 2009-10-21  Bruno Haible  <bruno@clisp.org>
34323
34324         * modules/stpncpy (License): Relicense under LGPLv2+.
34325         Reported by David Lutterkort <lutter@redhat.com>.
34326
34327 2009-10-20  Eric Blake  <ebb9@byu.net>
34328
34329         utimensat: work around Solaris 9 bug
34330         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
34331         has trailing slash bugs.
34332         * tests/test-lutimens.h (test_lutimens): Enhance test.
34333         * tests/test-utimens.h (test_utimens): Likewise.
34334         * doc/posix-functions/utime.texi (utime): Enhance documentation.
34335         * doc/posix-functions/utimes.texi (utimes): Likewise.
34336         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34337         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
34338         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
34339         * doc/posix-functions/futimens.texi (futimens): Likewise.
34340
34341         fdutimensat: new module
34342         * modules/fdutimensat: New file.
34343         * lib/fdutimensat.c (fdutimensat): Likewise.
34344         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
34345         * MODULES.html.sh (File system functions): Mention module.
34346         * modules/fdutimensat-tests: New test.
34347         * tests/test-fdutimensat.c: Likewise.
34348
34349         doc: regenerate INSTALL
34350         * doc/INSTALL: Reflect recent autoconf update.
34351         * doc/INSTALL.ISO: Likewise.
34352         * doc/INSTALL.UTF-8: Likewise.
34353
34354 2009-10-20  Pádraig Brady  <P@draigBrady.com>
34355
34356         acl: warn if ACL support is not detected
34357         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
34358
34359 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
34360
34361         * lib/nproc.h: Add extern "C" block for C++.
34362
34363 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
34364             Bruno Haible  <bruno@clisp.org>
34365
34366         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
34367         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
34368         * doc/posix-functions/isalpha.texi: Likewise.
34369         * doc/posix-functions/isblank.texi: Likewise.
34370         * doc/posix-functions/iscntrl.texi: Likewise.
34371         * doc/posix-functions/isdigit.texi: Likewise.
34372         * doc/posix-functions/isgraph.texi: Likewise.
34373         * doc/posix-functions/islower.texi: Likewise.
34374         * doc/posix-functions/isprint.texi: Likewise.
34375         * doc/posix-functions/ispunct.texi: Likewise.
34376         * doc/posix-functions/isspace.texi: Likewise.
34377         * doc/posix-functions/isupper.texi: Likewise.
34378         * doc/posix-functions/isxdigit.texi: Likewise.
34379
34380 2009-10-18  Bruno Haible  <bruno@clisp.org>
34381
34382         Tests for module 'isblank'.
34383         * modules/isblank-tests: New file.
34384         * tests/test-isblank.c: New file.
34385
34386         New module 'isblank'.
34387         * lib/isblank.c: New file.
34388         * m4/isblank.m4: New file.
34389         * modules/isblank: New file.
34390         * doc/posix-functions/isblank.texi: Mention the new module.
34391
34392 2009-10-18  Bruno Haible  <bruno@clisp.org>
34393
34394         New module 'ctype'.
34395         * lib/ctype.in.h: New file.
34396         * m4/ctype.m4: New file.
34397         * modules/ctype: New file.
34398         * doc/posix-headers/ctype.texi: Mention the new module.
34399
34400 2009-10-18  Jim Meyering  <meyering@redhat.com>
34401
34402         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
34403         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
34404         right after its initialization, rather than farther down.
34405         Keeping these in close proximity makes it easier to ensure
34406         that each such variable is initialized.  E.g.,
34407
34408             LIB_CLOCK_GETTIME=
34409             AC_SUBST([LIB_CLOCK_GETTIME])
34410
34411         This change also increments these serial numbers.
34412         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
34413         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
34414         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
34415
34416 2009-10-18  Bruno Haible  <bruno@clisp.org>
34417
34418         Don't let environment variables perturb build.
34419         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
34420         (gl_PREREQ_GETHRXTIME): ... not here.
34421
34422 2009-10-18  Bruno Haible  <bruno@clisp.org>
34423
34424         Avoid symlink attack in localcharset module.
34425         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
34426         (O_NOFOLLOW): Define fallback.
34427         (get_charset_aliases): Don't open the file if it is a symbolic link.
34428         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
34429         gl_FCNTL_H.
34430         (gl_FCNTL_H): Require it.
34431         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
34432         * modules/localcharset (Files): Add m4/fcntl_h.m4.
34433         Reported by Fergal Glynn <fglynn@veracode.com>.
34434
34435 2009-10-18  Bruno Haible  <bruno@clisp.org>
34436
34437         Implement nproc for mingw.
34438         * lib/nproc.c: Include <windows.h>
34439         (num_processors): On native Windows platforms, try GetSystemInfo.
34440
34441 2009-10-18  Bruno Haible  <bruno@clisp.org>
34442
34443         Implement nproc for IRIX.
34444         * lib/nproc.c: Include <sys/sysmp.h>.
34445         (num_processors): On IRIX systems, try sysmp.
34446         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
34447
34448 2009-10-18  Bruno Haible  <bruno@clisp.org>
34449
34450         Implement nproc for HP-UX.
34451         * lib/nproc.c: Include <sys/pstat.h>
34452         (num_processors): On HP-UX systems, try pstat_getdynamic.
34453         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
34454         pstat_getdynamic.
34455
34456 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
34457             Bruno Haible  <bruno@clisp.org>
34458
34459         Implement nproc for NetBSD, OpenBSD.
34460         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
34461         (ARRAY_SIZE): New macro.
34462         (num_processors): On BSD systems, try sysctl of HW_NCPU.
34463         * m4/nproc.m4: New file.
34464         * modules/nproc (Files): Add m4/nproc.m4.
34465         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
34466         (Makefile.am): Instead, augment lib_SOURCES.
34467
34468 2009-10-18  Bruno Haible  <bruno@clisp.org>
34469
34470         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
34471         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
34472         sys/param.h.
34473
34474 2009-10-16  Eric Blake  <ebb9@byu.net>
34475
34476         utimensat: new module
34477         * modules/utimensat: New file.
34478         * lib/utimensat.c (utimensat): Likewise.
34479         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34480         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
34481         so we can work around Linux bugs.
34482         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34483         * modules/sys_stat (Makefile.am): Substitute them.
34484         * lib/sys_stat.in.h (utimensat): Declare it.
34485         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34486         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34487         * modules/utimensat-tests: New test.
34488         * tests/test-utimensat.c: Likewise.
34489
34490         utimens: let lutimens work on non-symlinks
34491         * lib/utimens.c (lutimens): Fall back to utimens rather than
34492         failing with ENOSYS, when file is not a symlink.
34493         (utimens): Reduce redirection.
34494         * tests/test-lutimens.h (test_lutimens): Update test to cover
34495         non-symlinks.
34496         * tests/test-utimens.h (test_utimens): Update test to cover
34497         symlinks.
34498         * tests/test-utimens.c (main): Update caller.
34499
34500         utimens: cache whether utimensat syscall works
34501         * lib/utimens.c (utimensat_works_really): New cache variable.
34502         (fdutimens, lutimens): Use it to avoid failing syscall.
34503
34504         test-stat-time, test-utimens: improve portability
34505         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
34506         ext4 on alpha, and for cygwin.
34507         * tests/test-utimens-common.h: New file.
34508         (nap): Factor delays into single function.
34509         * tests/test-lutimens.h (test_lutimens): Use new header.
34510         * tests/test-futimens.h (test_futimens): Likewise.
34511         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
34512         timestamps to occur from same machine, as was done previously for
34513         test_utimens.
34514         * modules/utimens-tests (Files): Ship new file.
34515         * modules/futimens-tests (Files): Likewise.
34516         Reported in part by Jim Meyering.
34517
34518         sys_stat: sort replacement declarations
34519         * lib/sys_stat.in.h: Sort declarations.
34520         * lib/futimens.c (futimens): Fix typo.
34521
34522 2009-10-15  Jim Meyering  <meyering@redhat.com>
34523
34524         don't let environment settings perturb build
34525         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
34526         could cause a configure-time and/or build-time malfunction.
34527         Typically, a configure-time function-in-library test is performed
34528         via code like this:
34529
34530           LIB_VAR=
34531           AC_SUBST([LIB_VAR])
34532           prefix_saved_LIBS=$LIBS
34533             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
34534                        [test "$ac_cv_search_FUNC" = "none required" ||
34535                         LIB_VAR=$ac_cv_search_FUNC])
34536           LIBS=$prefix_saved_LIBS
34537
34538         However, in each of the files affected by this change, the LIB_VAR=
34539         initialization was omitted.  Thus, when set in the environment, its
34540         value would propagate into generated Makefiles when FUNC is not found
34541         in LIB_NAME.
34542         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
34543         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
34544         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
34545
34546 2009-10-14  Eric Blake  <ebb9@byu.net>
34547
34548         fchdir: avoid infinite recursion in mingw
34549         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
34550         recursing.
34551
34552         test-stat-time: port to mingw
34553         * tests/test-stat-time.c (force_unlink): Return a value.
34554         (test_ctime) [W32]: Fix compilation error.
34555         (nap): Don't call usleep with too large an argument.  Use
34556         force_unlink.
34557         * doc/pastposix-functions/usleep.texi (usleep): Document the
34558         portability issue.
34559
34560 2009-10-13  Jim Meyering  <meyering@redhat.com>
34561
34562         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
34563         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
34564         * modules/pipe-filter-ii: Likewise.
34565         * modules/sys_socket-tests: Likewise.
34566         * modules/tsearch-tests: Likewise.
34567         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
34568         (check): Depend on it.
34569
34570 2009-10-12  Eric Blake  <ebb9@byu.net>
34571
34572         utimens-tests: port to NFS file systems
34573         * tests/test-utimens.h (test_utimens): Refactor utimecmp
34574         comparisons to avoid spurious failures from timestamp drift
34575         between NFS machines.
34576
34577 2009-10-12  Eric Blake  <ebb9@byu.net>
34578
34579         stat-time-tests: minor cleanups
34580         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
34581         * tests/test-stat-time.c (nap): Separate assignment from call.
34582         Suggested by Paolo Bonzini and Bruno Haible.
34583
34584         sys_stat: guarantee struct timespec
34585         * lib/sys_stat.in.h (includes): Always include <time.h>
34586         * modules/sys_stat (Depends-on): Add time.
34587         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
34588         mode_t permission values.
34589         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
34590         get at subsecond timestamps.
34591
34592 2009-10-10  Eric Blake  <ebb9@byu.net>
34593
34594         futimens: new module
34595         * modules/futimens: New file.
34596         * lib/futimens.c (futimens): Likewise.
34597         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
34598         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
34599         we can work around Linux bugs.
34600         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34601         * modules/sys_stat (Makefile.am): Substitute them.
34602         * lib/sys_stat.in.h (futimens): Declare it.
34603         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34604         * doc/posix-functions/futimens.texi (futimens): Likewise.
34605         * modules/futimens-tests: New test.
34606         * tests/test-futimens.c: Likewise.
34607
34608         utimens: introduce fdutimens
34609         * lib/utimens.h (fdutimens): New prototype.
34610         * lib/utimens.c (gl_futimens): Move guts...
34611         (fdutimens): ...to new interface.
34612         * tests/test-utimens.c (do_fdutimens): Use it.
34613
34614         utimens: add UTIME_NOW and UTIME_OMIT support
34615         * lib/utimens.c (validate_timespec, update_timespec): New helper
34616         functions.
34617         (gl_futimens, lutimens): Use them.
34618         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
34619         stdbool, sys_stat.
34620         (Link): Mention resulting library dependency.
34621         * modules/utimecmp (Link): Likewise.
34622         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
34623         (Makefile.am): Pick up library dependency.
34624         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
34625         definition.
34626         * tests/test-sys_stat.c: Test the definitions.
34627         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
34628         * NEWS: Document library dependency.
34629
34630         utimecmp: support symlink timestamps
34631         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
34632         hashing when possible.  Use pathconf when available.
34633         (SYSCALL_RESOLUTION): Recognize tighter resolution.
34634         * modules/utimecmp (Depends-on): Add lstat.
34635
34636         utimens: add lutimens interface
34637         * lib/utimens.c (lutimens): New function.
34638         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
34639         * lib/utimens.h (lutimens): Declare new interface.
34640         * tests/test-utimens.c (main): Enhance test.
34641         * tests/test-lutimens.h (test_lutimens): New file.
34642         * modules/utimens-tests (Files): Distribute it.
34643         (Depends-on): Add symlink.
34644         (configure.ac): Check for usleep.
34645
34646         utimens: validate futimens usage
34647         * lib/utimens.c (gl_futimens): Require valid fd up front, using
34648         fewer syscalls on failure later on.  Avoid compiler warning on
34649         mingw.
34650         * modules/utimens (Depends-on): Add dup2.
34651
34652         utimens: add test
34653         * modules/utimens-tests: New test.
34654         * tests/test-utimens.h: New file.
34655         * tests/test-futimens.h: Likewise.
34656         * tests/test-utimens.c: Likewise.
34657
34658         doc: mention timestamp portability issues
34659         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
34660         instead.
34661         * doc/posix-functions/utime.texi (utime): Likewise.
34662         * doc/posix-functions/utimes.texi (utimes): Likewise.
34663         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
34664         instead.
34665         * doc/posix-functions/futimens.texi (futimens): Mention utimens
34666         module.
34667         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34668         Mention weakness with symlink timestamps.
34669         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
34670         to utimensat/futimens instead.
34671         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
34672
34673         test-dup2: enhance test
34674         * tests/test-dup2.c (main): Also check AT_FDCWD.
34675
34676         test-stat-time: avoid more spurious failures
34677         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
34678         xfs; and avoid race if the two timestamps cross quantization edge.
34679
34680         relocatable: prefer 'file system' over 'filesystem'
34681         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
34682         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
34683         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
34684         * doc/relocatable.texi (Enabling Relocatability): Likewise.
34685         * lib/relocatable.c (compute_curr_prefix): Likewise.
34686
34687 2009-10-10  Jim Meyering  <meyering@redhat.com>
34688
34689         stat-time-tests: check for the usleep function
34690         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
34691
34692 2009-10-10  Bruno Haible  <bruno@clisp.org>
34693
34694         * modules/xnanosleep: Put the Link section after the Include section.
34695
34696 2009-10-09  Eric Blake  <ebb9@byu.net>
34697
34698         dup2: work around FreeBSD 6.1 bug
34699         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
34700         * doc/posix-functions/dup2.texi (dup2): Document it.
34701         Reported by Nelson H. F. Beebe and Jim Meyering.
34702
34703         test-stat-time: port to buggy NFS clients
34704         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
34705         (test_ctime): Also skip test if mtime and ctime are skewed.
34706
34707         maint: prefer 'file system' over 'filesystem'
34708         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34709         * doc/posix-functions/lstat.texi (lstat): Likewise.
34710         * lib/file-has-acl.c (file_has_acl): Likewise.
34711         * lib/fwriteerror.c [TEST]: Likewise.
34712         * tests/test-areadlink.h (test_areadlink): Likewise.
34713         * tests/test-areadlinkat-with-size.c (main): Likewise.
34714         * tests/test-areadlinkat.c (main): Likewise.
34715         * tests/test-canonicalize-lgpl.c (main): Likewise.
34716         * tests/test-canonicalize.c (main): Likewise.
34717         * tests/test-fstatat.c (main): Likewise.
34718         * tests/test-linkat.c (main): Likewise.
34719         * tests/test-lstat.h (test_lstat_func): Likewise.
34720         * tests/test-mkdir.h (test_mkdir): Likewise.
34721         * tests/test-readlink.h (test_readlink): Likewise.
34722         * tests/test-remove.c (main): Likewise.
34723         * tests/test-rename.h (test_rename): Likewise.
34724         * tests/test-renameat.c (main): Likewise.
34725         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34726         * tests/test-symlink.h (test_symlink): Likewise.
34727         * tests/test-symlinkat.c (main): Likewise.
34728         * tests/test-unlink.h (test_unlink_func): Likewise.
34729         * tests/test-unlinkat.c (main): Likewise.
34730
34731         maint: make realtime library usage explicit
34732         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
34733         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
34734         * modules/settime (Link): Likewise.
34735         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
34736
34737         test-stat-time: speed up execution
34738         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
34739         warning on mingw.
34740         (nap): New helper function.
34741         (prepare_test): Use it to reduce sleep time.
34742         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
34743         execution.
34744         * modules/stat-time-tests (configure.ac): Check for usleep.
34745
34746 2009-10-09  Jim Meyering  <meyering@redhat.com>
34747
34748         selinux-h: always use getfilecon wrappers
34749         * lib/getfilecon.c: New file.
34750         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
34751         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
34752         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
34753         (fgetfilecon): Provide a stub.
34754         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
34755         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
34756         file unconditionally.
34757         When <selinux/selinux.h> is found, arrange to use wrappers.
34758         * modules/selinux-h (Files): Add getfilecon.c.
34759         (Makefile.am): Substitute include-next-related bits
34760         into the now-always-generated selinux/selinux.h file.
34761         * doc/glibc-functions/lgetfilecon.texi: New file.
34762         * doc/glibc-functions/fgetfilecon.texi: New file.
34763         * doc/glibc-functions/getfilecon.texi: New file.
34764         * doc/glibc-functions/getfilecon-desc.texi: New file.
34765         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
34766         which to pull in the new files.
34767         * MODULES.html.sh (Misc): Add selinux-h.
34768
34769 2009-10-08  Jim Meyering  <meyering@redhat.com>
34770
34771         unistd: fix comment typo
34772         * lib/unistd.in.h (euidaccess): Fix a comment typo.
34773
34774 2009-10-08  Eric Blake  <ebb9@byu.net>
34775
34776         areadlink: use SIZE_MAX consistently
34777         * modules/areadlink (Depends-on): Add stdint.
34778         * modules/areadlink-with-size (Depends-on): Likewise.
34779         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
34780         gives NULL; drop sys/types, since unistd gives size_t; and add
34781         stdint for SIZE_MAX.
34782         (SIZE_MAX): Rely on headers.
34783         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
34784         and add stdint.
34785         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
34786         (SIZE_MAX): Likewise.
34787         (INITIAL_BUF_SIZE): Turn into enum.
34788         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
34789
34790 2009-10-08  Jim Meyering  <meyering@redhat.com>
34791
34792         areadlinkat: avoid compilation failure
34793         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
34794         Fix typo in comment.
34795
34796 2009-10-07  Eric Blake  <ebb9@byu.net>
34797
34798         areadlinkat-with-size: new module
34799         * modules/areadlinkat-with-size: New module.
34800         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
34801         * lib/areadlink.h (areadlinkat): Declare it.
34802         * MODULES.html.sh (File system functions): Mention it.
34803         * modules/areadlinkat-with-size-tests: New test.
34804         * tests/test-areadlinkat-with-size.c: New file.
34805
34806         xreadlinkat: new module
34807         * modules/xreadlinkat: New module.
34808         * lib/xreadlinkat.c (xreadlinkat): New file.
34809         * lib/xreadlink.h (xreadlinkat): Declare it.
34810         * MODULES.html.sh (File system functions): Mention it.
34811
34812         areadlinkat: new module
34813         * lib/at-func.c (FUNC_FAIL): New define.
34814         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
34815         * modules/areadlinkat: New module.
34816         * lib/linkat.c (areadlinkat): Move...
34817         * lib/areadlinkat.c (areadlinkat): ...to new file.
34818         * lib/areadlink.h (areadlinkat): Declare it.
34819         * modules/linkat (Depends-on): Add areadlinkat.
34820         * MODULES.html.sh (File system functions): Mention it.
34821         * modules/areadlinkat-tests: New test.
34822         * tests/test-areadlinkat.c: New file.
34823
34824         areadlink, areadlink-with-size: add tests
34825         * modules/areadlink-tests: New test.
34826         * modules/areadlink-with-size-tests: Likewise.
34827         * tests/test-areadlink.h: New file.
34828         * tests/test-areadlink.c: Likewise.
34829         * tests/test-areadlink-with-size.c: Likewise.
34830
34831         maint: minor cleanups
34832         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
34833         _UNUSED_PARAMETER_ instead.
34834         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
34835         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
34836         * modules/linkat-tests (Files): Distribute test-link.h.
34837
34838         openat, utimens: whitespace cleanup
34839         * lib/openat.c: Prefer space throughout, rather than mix of 8
34840         spaces vs. tabs.
34841         * lib/at-func.c: Likewise.
34842         * lib/utimens.c: Likewise.
34843
34844         openat: avoid using wrong fd
34845         * lib/openat.c (openat_permissive): Reject user's fd if saving the
34846         working directory chooses same fd.
34847         * lib/at-func.c (AT_FUNC_NAME): Likewise.
34848
34849         mkdir, mkdirat: fix cygwin 1.5.x bug
34850         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
34851         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
34852         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
34853         bug.
34854         (gl_PREREQ_MKDIR): Delete unused macro.
34855         * modules/mkdir (Files): Track file rename.
34856         (configure.ac): Update macro name.
34857         * modules/openat (Depends-on): Add mkdir.
34858         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
34859
34860         mkdir, mkdirat: add tests
34861         * modules/mkdir-tests: New test.
34862         * tests/test-mkdir.h: New file.
34863         * tests/test-mkdir.c: Likewise.
34864         * tests/test-mkdirat.c: Likewise.
34865         * modules/openat-tests (Files): Add new files.
34866         (Makefile.am): Run new test.
34867
34868 2009-10-06  Eric Blake  <ebb9@byu.net>
34869
34870         doc: tweak *at function documentation
34871         * doc/posix-functions/faccessat.texi (faccessat): Mention
34872         known issue with replacement.
34873         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
34874         * doc/posix-functions/linkat.texi (linkat): Likewise.
34875         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
34876         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
34877         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34878         * doc/posix-functions/renameat.texi (renameat): Likewise.
34879         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34880
34881         openat: fix GNU/Hurd bug in unlinkat
34882         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
34883         broken.
34884         * doc/posix-functions/unlink.texi (unlink): Document this.
34885         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
34886
34887         fdopendir: fix GNU/Hurd bug
34888         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
34889         allowing non-directory fds.
34890         * lib/fdopendir.c (rpl_fdopendir): Work around it.
34891         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34892         * modules/dirent (Makefile.am): Substitute it.
34893         * lib/dirent.in.h (fdopendir): Declare replacement.
34894         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
34895         * tests/test-fdopendir.c (main): Test something other than
34896         /dev/null, since on Hurd that behaves like a directory.
34897
34898         test-symlink: port to GNU/Hurd
34899         * tests/test-symlink.h (test_symlink): Relax expected errno.
34900
34901         doc: tweak more cygwin information
34902         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
34903         now compatible with glibc.
34904         * doc/posix-functions/getopt.texi (getopt): Likewise.
34905
34906         getopt-gnu: add another test
34907         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
34908         guarantee behavior relied on by m4.
34909         * tests/test-getopt.c (main): Use it.
34910         * modules/getopt-posix-tests (Depends-on): Add setenv.
34911         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
34912
34913         getopt: fix compilation on darwin
34914         * lib/getopt.in.h (includes): Leave breadcrumbs during system
34915         include.
34916         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
34917         Reported by Ludovic Courtès.
34918
34919 2009-10-06  Bruno Haible  <bruno@clisp.org>
34920
34921         * modules/size_max (Description): Discourage its use.
34922         Reported by Simon Josefsson.
34923
34924 2009-10-06  Jim Meyering  <meyering@redhat.com>
34925
34926         linkat: avoid compilation failure
34927         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
34928
34929 2009-10-05  Eric Blake  <ebb9@byu.net>
34930
34931         linkat: support Linux 2.6.17
34932         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
34933         linkat on Linux, but allow cache variable override.
34934         * lib/linkat.c (rpl_linkat): Define override.
34935         * modules/linkat (Depends-on): Add symlinkat.
34936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
34937         * modules/unistd (Makefile.am): Substitute it.
34938         * lib/unistd.in.h (linkat): Declare replacement.
34939         Reported by Pádraig Brady.
34940
34941         quotearg: port test to systems with C.UTF-8 locale
34942         * tests/test-quotearg.c (struct result_strings): Add another
34943         member, differentiating between C.ASCII and C.UTF-8 handling.
34944         (compare_strings): Add parameter.
34945         (main): Adjust all callers.
34946
34947         getopt: avoid clash with FreeBSD _getopt_internal
34948         * lib/getopt.in.h (_getopt_internal): Override the name.
34949         * lib/getopt_int.h (includes): Pick up any overrides.
34950         Reported by Reuben Thomas.
34951
34952         hash: allow C89 compilation
34953         * lib/hash.c (check_tuning): Move declaration before statement.
34954         Reported by Reuben Thomas.
34955
34956 2009-10-05  Karl Berry  <karl@gnu.org>
34957
34958         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
34959
34960 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
34961             Bruno Haible  <bruno@clisp.org>
34962
34963         * lib/uname.c (uname): Use a table-driven algorithm to compute
34964         Windows NT versions.
34965
34966 2009-10-04  Bruno Haible  <bruno@clisp.org>
34967
34968         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
34969         program_invocation_short_name.
34970         * modules/progname (configure.ac): Test for presence of
34971         program_invocation_short_name.
34972         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34973
34974 2009-10-04  Bruno Haible  <bruno@clisp.org>
34975
34976         * lib/progname.c (set_program_name): Fix comment.
34977         Reported by Jim Meyering.
34978
34979 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34980             Bruno Haible  <bruno@clisp.org>
34981
34982         * lib/uname.c: Include <string.h>.
34983         (uname): Do only one call to GetVersionEx in the common case.
34984
34985 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34986             Bruno Haible  <bruno@clisp.org>
34987
34988         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
34989         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
34990         (uname): Add support for Windows CE and various non-x86 CPU types.
34991
34992 2009-10-03  Bruno Haible  <bruno@clisp.org>
34993
34994         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
34995         invocation to tests/configure.ac.
34996         Reported by Ian Beckwith <ianb@erislabs.net>.
34997
34998 2009-10-02  Eric Blake  <ebb9@byu.net>
34999
35000         fchdir: avoid compiler warning
35001         * lib/fchdir.c (canonicalize_file_name)
35002         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
35003
35004         test-open: support mingw errno values
35005         * tests/test-open.h (test_open): Relax test.
35006         * tests/test-fopen.h (test_fopen): Likewise.
35007         * tests/test-openat-safer.c (main): Likewise.
35008
35009         open: fix opening directory on mingw
35010         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
35011
35012         test-open: on GNU/Hurd, /dev/null is a directory
35013         * tests/test-fopen.h (main): Rename...
35014         (test_fopen): ...to this.  Use a guaranteed non-directory when
35015         confirming open behavior on trailing slash.
35016         * tests/test-openat-safer.c (main): Likewise.
35017         * tests/test-open.h (main): Likewise....
35018         (test_open): ...to this.
35019         * tests/test-fopen.c (main): Adjust caller.
35020         * tests/test-fopen-safer.c (main): Likewise.
35021         * tests/test-open.c (main): Likewise.
35022         * tests/test-fcntl-safer.c (main): Likewise.
35023         Reported by Samuel Thibault.
35024
35025         rename, fchdir: don't ignore chdir failure
35026         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
35027         * lib/rename.c (rpl_rename) [W32]: Likewise.
35028         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
35029         an empty destination directory if source cannot be renamed,
35030         although there is still possibility for failure.
35031         * doc/posix-functions/rename.texi (rename): Document the race.
35032         Reported by Jim Meyering.
35033
35034         maint: cleanup whitespace in recent commits
35035         * lib/rename.c (rpl_rename): Remove tabs.
35036         * tests/test-link.h (test_link): Likewise.
35037         * lib/fchdir.c (get_name): Likewise.
35038         Reported by Jim Meyering.
35039
35040 2009-10-02  Ben Pfaff  <blp@gnu.org>
35041
35042         relocatable-prog-wrapper: Add missing dependency on
35043         double-slash-root.
35044         * modules/relocatable-prog-wrapper: Add dependency.
35045         Reported by Ian Beckwith <ianb@erislabs.net>.
35046
35047 2009-10-02  Eric Blake  <ebb9@byu.net>
35048
35049         renameat: fix Solaris bugs
35050         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
35051         needed fixing.
35052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
35053         * modules/stdio (Makefile.am): Substitute it.
35054         * lib/stdio.in.h (renameat): Declare replacement.
35055         * lib/renameat.c (rpl_renameat): Implement fix.
35056
35057         renameat: new module
35058         * modules/renameat: New file.
35059         * lib/renameat.c (renameat): Likewise.
35060         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
35061         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
35062         * modules/stdio (Makefile.am): Substitute them.
35063         * lib/stdio.in.h (renameat): Declare it.
35064         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35065         * doc/posix-functions/renameat.texi (renameat): Likewise.
35066         * modules/renameat-tests: New test.
35067         * tests/test-renameat.c: Likewise.
35068
35069         rename: fix mingw bugs
35070         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
35071         directory overwrite bugs.
35072
35073         rename: fix another cygwin 1.5 bug
35074         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
35075         checks.
35076         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
35077         unnecessary cygwin workarounds.  Also work around bug with moving
35078         full directory onto an empty one.
35079         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
35080
35081         rename-dest-slash: merge into rename module
35082         * modules/rename-dest-slash (Status): Mark obsolete.
35083         (Depends-on): Add rename.
35084         (Files): Let rename do it all.
35085         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
35086         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
35087         * m4/rename-dest-slash.m4: ...so this file can be deleted.
35088         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
35089         * lib/rename.c (rpl_rename): Update comments.
35090
35091         rename: fix cygwin 1.5.x bugs
35092         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
35093         * lib/rename.c (rpl_rename): Work around them.
35094         * modules/rename (Depends-on): Add same-inode.
35095
35096         rename: fix Solaris 10 bug
35097         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
35098         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
35099         was the only bug.
35100
35101         rename: fix Solaris 9 bug
35102         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
35103         on non-directory.  Avoid calling exit.
35104         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
35105         strdup.
35106         * modules/rename-tests (Depends-on): Drop lstat.
35107         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
35108         (gl_PREREQ_RENAME): Delete unused macro.
35109
35110         rename-dest-slash: fix NetBSD bug
35111         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
35112         links.
35113         * modules/rename-dest-slash (Depends-on): Add same-inode.
35114
35115         rename-tests: new test, exposes several platform bugs
35116         * modules/rename-tests: New file.
35117         * tests/test-rename.h: Likewise.
35118         * tests/test-rename.c: Likewise.
35119         * doc/posix-functions/rename.texi (rename): Improve documentation,
35120         including bugs that will eventually be fixed in gnulib.
35121
35122 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
35123
35124         * lib/uname.c: Include <stdlib.h>
35125         (uname): Assume version info is available.
35126
35127 2009-10-02  Jim Meyering  <meyering@redhat.com>
35128
35129         gnu-web-doc-update: correct --help output
35130         * build-aux/gnu-web-doc-update: Make --help output relevant.
35131
35132         gnu-web-doc-update: add standard options
35133         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
35134
35135         gnu-web-doc-update: New module.
35136         Use this script to automatically update the on-line web documentation
35137         for your GNU project at http://www.gnu.org/software/$pkg/manual/
35138         * modules/gnu-web-doc-update: New file, from coreutils.
35139         * build-aux/gnu-web-doc-update: New script.
35140
35141 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
35142
35143         link: LoadLibrary is not needed.
35144         * lib/link.c: Use GetModuleHandle.
35145
35146 2009-10-01  Eric Blake  <ebb9@byu.net>
35147
35148         getopt: bump serial number
35149         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
35150         change.
35151
35152         tests: tighten link, rmdir, and remove tests
35153         * tests/test-link.h (includes): No need to use <config.h> here.
35154         Clean up if directory hard link was created, otherwise test for
35155         trailing '.'.
35156         * tests/test-linkat.c (main): Simplify.
35157         * tests/test-remove.c (main): Enhance test for trailing '.'.
35158         * tests/test-rmdir.h (test_rmdir_func): Likewise.
35159
35160 2009-10-01  Jim Meyering  <meyering@redhat.com>
35161
35162         maint.mk: requiring "make major" was annoying, for a "minor" release.
35163         What is intended is "stable", to contrast with alpha and beta,
35164         so require "make stable", not "make major".
35165         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
35166         (get_tool_versions): Likewise.
35167         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
35168
35169 2009-09-30  Ben Pfaff  <blp@gnu.org>
35170
35171         Fix broken build of replacement for Windows tmpfile().
35172         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
35173         flags argument added along with the 'mkostemp' module.
35174
35175 2009-09-28  Bruno Haible  <bruno@clisp.org>
35176
35177         Avoid identifier clash with POSIX function 'remove' defined as a macro.
35178         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
35179         to 'remove_elt'.
35180         (gl_list_remove): Update.
35181         * lib/gl_list.c (gl_list_remove): Update.
35182         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
35183         to 'remove_elt'.
35184         (gl_oset_remove): Update.
35185         * lib/gl_list.c (gl_oset_remove): Update.
35186         Reported by Eric Blake.
35187
35188 2009-09-28  Eric Blake  <ebb9@byu.net>
35189
35190         doc: mention yet more cygwin 1.7 status
35191         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
35192         cygwin.
35193         * doc/glibc-functions/execvpe.texi (execvpe): New file.
35194         * doc/gnulib.texi (Glibc unistd.h): Mention it.
35195
35196         argp: fix test failure
35197         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
35198         that are not upper-case.  Pass correct range to tolower.
35199
35200 2009-09-27  Jim Meyering  <meyering@redhat.com>
35201
35202         test-yesno: work around sparc-dash here-document infelicity
35203         Without this change, the literal \177 byte in a here document
35204         would make dash 0.5.5.1-3 access uninitialized memory.
35205         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
35206         Instead, use a marker, "@", and filter through tr to create the desired
35207         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
35208
35209 2009-09-27  Bruno Haible  <bruno@clisp.org>
35210
35211         Disable untested support for new flavours of ACLs on AIX.
35212         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
35213         progress.
35214         * lib/set-mode-acl.c (qset_acl): Likewise.
35215
35216 2008-12-07  Bruno Haible  <bruno@clisp.org>
35217
35218         Add support for new flavours of ACLs on AIX. (Untested.)
35219         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
35220         (file_has_acl): Add support for newer AIX.
35221         * lib/set-mode-acl.c (qset_acl): Likewise.
35222         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
35223         Rainer Tammer <tammer@tammer.net>.
35224
35225 2009-09-26  Eric Blake  <ebb9@byu.net>
35226
35227         argp: fix compilation of getopt
35228         * lib/getopt.in.h (includes): Use different guard than glibc.
35229         Reported by Sergey Poznyakoff.
35230
35231         doc: mention more cygwin 1.7 status
35232         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
35233         bug.
35234         * doc/posix-functions/execl.texi (execl): Likewise.
35235         * doc/posix-functions/execle.texi (execle): Likewise.
35236         * doc/posix-functions/execlp.texi (execlp): Likewise.
35237         * doc/posix-functions/execv.texi (execv): Likewise.
35238         * doc/posix-functions/execve.texi (execve): Likewise.
35239         * doc/posix-functions/execvp.texi (execvp): Likewise.
35240         * doc/glibc-functions/canonicalize_file_name.texi
35241         (canonicalize_file_name): Cygwin 1.7 now provides this.
35242         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
35243         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
35244         on AT_SYMLINK_NOFOLLOW.
35245
35246 2009-09-24  Eric Blake  <ebb9@byu.net>
35247
35248         test-linkat: make test more robust
35249         * tests/test-linkat.c (main): Avoid collision with EEXIST.
35250
35251         getopt: fix inclusion guards for cygwin
35252         * modules/getopt-posix (Depends-on): Add include-next.
35253         (Makefile.am): Substitute more items in replacement header.
35254         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
35255         <getopt.h>.
35256         * lib/getopt.in.h (includes): Use split inclusion guard, and
35257         prefer <getopt.h> over include <unistd.h> when one is present.
35258         (option): Also override name of 'struct option'.
35259
35260         same-inode: revert prior change; it is not yet ready
35261         * NEWS: Undo mention of this change.
35262         * lib/same-inode.h (same-inode.h): Undo tri-state change.
35263         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
35264         * lib/cycle-check.c (cycle_check): Likewise.
35265         * lib/same.c (same_name): Likewise.
35266         * lib/at-func2.c (at_func2): Likewise.
35267
35268 2009-09-23  Eric Blake  <ebb9@byu.net>
35269
35270         linkat: new module
35271         * modules/linkat: New file.
35272         * lib/at-func2.c (at_func2): Likewise.
35273         * lib/linkat.c (linkat): Likewise.
35274         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
35275         * lib/openat-priv.h (at_func2): Add declaration.
35276         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35277         * modules/unistd (Makefile.am): Substitute them.
35278         * lib/unistd.in.h (linkat): Declare it.
35279         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35280         * doc/posix-functions/linkat.texi (linkat): Likewise.
35281         * doc/posix-functions/link.texi (link): Tweak wording.
35282         * tests/test-link.c (main): Move guts...
35283         * tests/test-link.h (test_link): ...into new file.
35284         * modules/linkat-tests: New test.
35285         * tests/test-linkat.c: Likewise.
35286         * modules/link-tests (Files): Ship new file.
35287         (Depends-on): Add stdbool.
35288
35289         dirname: add library-safe mdir_name
35290         * lib/dirname.h (mdir_name): New prototype.
35291         * lib/dirname.c (dir_name): Move guts...
35292         (mdir_name): ...to new function that avoids xalloc_die.
35293
35294         fchdir: another mingw fix
35295         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
35296         * lib/fchdir.c (get_name): New helper method; skips canonicalize
35297         on mingw (where it has not yet been ported), and make it optional
35298         elsewhere.
35299         (_gl_register_fd): Use it.
35300
35301         same-inode: make SAME_INODE tri-state, to port to mingw
35302         * NEWS: Mention this change.
35303         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
35304         st_ino always being 0.
35305         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
35306         * lib/cycle-check.c (cycle_check): Likewise.
35307         * lib/same.c (same_name): Likewise.
35308
35309         lstat: avoid mingw compilation error
35310         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
35311         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
35312         lstat ourselves.
35313         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
35314         was adequate.
35315         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
35316         the checks for lstat.
35317         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
35318
35319         link: fix test failure on Solaris 9
35320         * lib/link.c (rpl_link): Don't assume link will catch bogus
35321         trailing slash on source.
35322
35323         test-symlinkat: enhance test
35324         * tests/test-readlink.c (main): Move guts...
35325         * tests/test-readlink.h (test_readlink): ...into new file.
35326         * tests/test-symlink.c (main): Move guts...
35327         * tests/test-symlink.h (test_symlink): ...into new file.
35328         * tests/test-symlinkat.c (main): Use new files for further
35329         coverage.
35330         (do_symlink, do_readlink): New helper functions.
35331         * modules/symlink-tests (Files): Ship new file.
35332         (Depends-on): Add stdbool.
35333         * modules/readlink-tests (Files): Ship new file.
35334         (Depends-on): Add stdbool.
35335         * modules/symlinkat-tests (Files): Use new files.
35336
35337 2009-09-23  Eric Blake  <ebb9@byu.net>
35338
35339         readlink: document portability issue with symlink length
35340         * doc/posix-functions/lstat.texi (lstat): Mention that some file
35341         systems have bogus st_size on symlinks, and mention the
35342         areadlink-with-size module.
35343         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
35344         * doc/posix-functions/readlink.texi (readlink): Mention the
35345         areadlink module, and ERANGE failure.
35346         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35347         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
35348
35349         readlink: fix Solaris 9 bug with trailing slash
35350         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
35351         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
35352         * doc/posix-functions/readlink.texi (readlink): Document this.
35353         * modules/readlink-tests: New test.
35354         * tests/test-readlink.c: Likewise.
35355
35356         readlink: fix cygwin 1.5.x bug with return type
35357         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
35358         * lib/unistd.in.h (readlink): Use ssize_t.
35359         * lib/readlink.c (readlink): Likewise.
35360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35361         * modules/unistd (Makefile.am): Substitute it.
35362         * lib/unistd.in.h (readlink): Declare replacement.
35363         * doc/posix-functions/readlink.texi (readlink): Document this.
35364
35365         symlink: use throughout gnulib
35366         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
35367         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
35368         symlink is not used.
35369         * modules/symlinkat (Depends-on): Add symlink.
35370         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
35371         * modules/canonicalize-tests (Depends-on): Likewise.
35372         * modules/lstat-tests (Depends-on): Likewise.
35373         * modules/openat-tests (Depends-on): Likewise.
35374         * modules/remove-tests (Depends-on): Likewise.
35375         * modules/rmdir-tests (Depends-on): Likewise.
35376         * modules/unlink-tests (Depends-on): Likewise.
35377         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
35378         * tests/test-canonicalize.c (symlink): Likewise.
35379         * tests/test-fstatat.c (symlink): Likewise.
35380         * tests/test-lstat.c (symlink): Likewise.
35381         * tests/test-remove.c (symlink): Likewise.
35382         * tests/test-rmdir.c (symlink): Likewise.
35383         * tests/test-unlink.c (symlink): Likewise.
35384         * tests/test-unlinkat.c (symlink): Likewise.
35385
35386         symlink: new module, for Solaris 9 bug
35387         * modules/symlink: New file.
35388         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
35389         * lib/symlink.c: Likewise.
35390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
35391         * modules/unistd (Makefile.am): Substitute them.
35392         * lib/unistd.in.h (symlink): Declare replacement.
35393         * MODULES.html.sh (File system functions): Mention it.
35394         * doc/posix-functions/symlink.texi (symlink): Likewise.
35395         * modules/symlink-tests: New test.
35396         * tests/test-symlink.c: Likewise.
35397
35398 2009-09-23  Bruno Haible  <bruno@clisp.org>
35399
35400         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
35401         when needed.
35402         Test case: gnulib-tool --import --with-tests atexit inttypes.
35403         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
35404
35405 2009-09-23  Bruno Haible  <bruno@clisp.org>
35406
35407         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
35408         subcommand, not in a subshell.
35409
35410 2009-09-22  Eric Blake  <ebb9@byu.net>
35411
35412         unistd: sort replacement declarations
35413         * lib/unistd.in.h: Sort declarations.
35414
35415         open, openat: minor optimization
35416         * lib/open.c (open): If open succeeded, len is non-zero.
35417         * lib/openat.c (rpl_openat): Likewise.
35418
35419         link-follow: ensure correct result
35420         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
35421         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
35422         distinguish between possible failures.
35423
35424 2009-09-21  Eric Blake  <ebb9@byu.net>
35425
35426         fts: avoid compiler warning
35427         * lib/fts.c (dirent_inode_sort_may_be_useful)
35428         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
35429
35430 2009-09-19  Bruno Haible  <bruno@clisp.org>
35431
35432         * lib/progreloc.c (canonicalize_file_name): New declaration.
35433
35434 2009-09-19  Eric Blake  <ebb9@byu.net>
35435
35436         link: fix quoting
35437         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
35438
35439         openat: fix openat bugs on Solaris 9
35440         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
35441         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
35442         * modules/openat (Depends-on): Add open.
35443         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
35444         * modules/fcntl-h (Makefile.am): Substitute it.
35445         * lib/fcntl.in.h (openat): Declare replacement.
35446         * doc/posix-functions/openat.texi (openat): Document this.
35447
35448         openat: move fstatat and unlinkat into correct files
35449         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
35450         compiled.
35451         * lib/openat.c (fstatat, unlinkat): Move...
35452         * lib/fstatat.c (fstatat): ...into correct files.
35453         * lib/unlinkat.c (unlinkat): Likewise.
35454
35455         openat: fix unlinkat bugs on Solaris 9
35456         * lib/unlinkat.c (unlinkat): New file.
35457         * modules/openat (Depends-on): Add unlink.
35458         (Files): Distribute it.
35459         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
35460         trailing slash behavior is broken.
35461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35462         * modules/unistd (Makefile.am): Substitute it.
35463         * lib/unistd.in.h (unlinkat): Declare replacement.
35464         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
35465
35466         openat: fix fstatat bugs on Solaris 9
35467         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
35468         stat.
35469         * doc/posix-functions/fstatat.texi (fstatat): Document this.
35470
35471         test-unlinkat: enhance test, to expose Solaris 9 bug
35472         * tests/test-unlink.c (main): Factor guts...
35473         * tests/test-unlink.h (test_rmdir_func): ...into new file.
35474         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
35475         * tests/test-rmdir.c (main): Adjust caller.
35476         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
35477         (unlinker): New helper function.
35478         (rmdirat): Enhance check.
35479         * modules/rmdir-tests (Depends-on): Add stdbool.
35480         * modules/unlink-tests (Depends-on): Likewise.
35481         (Files): Add test-unlink.h.
35482         * modules/openat-tests (Files): Likewise.
35483         (Depends-on): Add unlinkdir.
35484
35485         test-fstatat: new test, to expose Solaris 9 bugs
35486         * tests/test-stat.c (main): Factor guts...
35487         * tests/test-stat.h (test_stat_func): ...into new file.
35488         * tests/test-lstat.c (main): Factor guts...
35489         * tests/test-lstat.h (test_lstat_func): ...into new file.
35490         * tests/test-fstatat.c: New file.
35491         * modules/stat-tests (Files): Add test-stat.h.
35492         * modules/lstat-tests (Files): Add test-lstat.h.
35493         (Depends-on): Add stdbool.
35494         * modules/openat-tests (Depends-on): Add pathmax.
35495         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
35496         (Makefile.am): Run new test.
35497
35498         remove: new module, for mingw and Solaris 9 bugs
35499         * modules/remove: New file.
35500         * lib/remove.c: Likewise.
35501         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
35502         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
35503         * modules/stdio (Makefile.am): Use them.
35504         * lib/stdio.in.h (remove): Declare replacement.
35505         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35506         * doc/posix-functions/remove.texi (remove): Likewise.
35507         * modules/remove-tests: New test.
35508         * tests/test-remove.c: Likewise.
35509
35510         unlink: new module, for Solaris 9 bug
35511         * modules/unlink: New file.
35512         * lib/unlink.c: Likewise.
35513         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
35514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35515         * modules/unistd (Makefile.am): Use them.
35516         * lib/unistd.in.h (stat): Declare replacement.
35517         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35518         * doc/posix-functions/unlink.texi (unlink): Likewise.
35519         * modules/unlink-tests: New test.
35520         * tests/test-unlink.c: Likewise.
35521
35522         lstat: fix Solaris 9 bug
35523         * lib/lstat.c (lstat): Also check for trailing slash on
35524         non-symlink, non-directories.  Use stat module to simplify logic.
35525         * doc/posix-functions/lstat.texi (lstat): Document it.
35526         * modules/lstat-tests (Depends-on): Add errno, same-inode.
35527         (configure.ac): Check for symlink.
35528         * tests/test-lstat.c (main): Add more tests.
35529
35530         stat: add as dependency to other modules
35531         * modules/chown (Depends-on): Add stat.
35532         * modules/euidaccess (Depends-on): Likewise.
35533         * modules/fchdir (Depends-on): Likewise.
35534         * modules/isdir (Depends-on): Likewise.
35535         * modules/link (Depends-on): Likewise.
35536         * modules/lstat (Depends-on): Likewise.
35537         * modules/mkdir-p (Depends-on): Likewise.
35538         * modules/modechange (Depends-on): Likewise.
35539         * modules/open (Depends-on): Likewise.
35540         * modules/readlink (Depends-on): Likewise.
35541         * modules/same (Depends-on): Likewise.
35542
35543         stat: fix Solaris 9 bug
35544         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
35545         slash.
35546         * lib/stat.c (rpl_stat): Work around it.
35547         * doc/posix-functions/stat.texi (stat): Update documentation.
35548
35549         stat: new module, for mingw bug
35550         * modules/stat: New file.
35551         * lib/stat.c: Likewise.
35552         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35553         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35554         * modules/sys_stat (Makefile.am): Use them.
35555         * lib/sys_stat.in.h (stat): Declare replacement.
35556         * lib/openat.c (fstatat): Deal with lstat and stat being function
35557         macros.
35558         * modules/openat (Depends-on): Add inline.
35559         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35560         * doc/posix-functions/stat.texi (stat): Likewise.
35561         * modules/stat-tests: New test.
35562         * tests/test-stat.c: Likewise.
35563
35564 2009-09-19  Jim Meyering  <meyering@redhat.com>
35565
35566         syntax-check: detect unnecessary inclusion of canonicalize.h
35567         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
35568
35569 2009-09-19  Eric Blake  <ebb9@byu.net>
35570
35571         canonicalize-lgpl: adjust clients to use correct header
35572         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
35573         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
35574         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
35575         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
35576         * lib/progreloc.c (includes): Likewise.
35577
35578 2009-09-19  Jim Meyering  <meyering@redhat.com>
35579
35580         test-posixtm.c: correct a comment
35581         * tests/test-posixtm.c: Correct first-line comment.
35582         Spotted by Eric Blake.
35583
35584 2009-09-16  Jim Meyering  <meyering@redhat.com>
35585
35586         posixtm-tests: make T const-correct; add a test case
35587         * tests/test-posixtm.c (T): Declare const.
35588         Add a test for -(2^31+1).
35589         Remove useless can-succeed-only-in-2002 test.
35590
35591         posixtm-tests: adjust the sole failing test
35592         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
35593         expected output matches what mktime now produces.  Cross-checked via
35594         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
35595
35596         posixtm: move #ifdef'd tests into a new module
35597         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
35598         * tests/test-posixtm.c: ... this new file.
35599         * modules/posixtm-tests: New module.
35600
35601 2009-09-19  Eric Blake  <ebb9@byu.net>
35602
35603         openat: simplify use of at-func.c
35604         * lib/at-func.c (includes): Include prerequisites here, to
35605         simplify requirements on client files.
35606         * lib/openat-priv.h: Add double-inclusion guard.
35607         * lib/faccessat.c (includes): Simplify.
35608         * lib/fchmodat.c (includes): Likewise.
35609         * lib/fchownat.c (includes): Likewise.
35610         * lib/mkdirat.c (includes): Likewise.
35611         * lib/mkfifoat.c (includes): Likewise.
35612         * lib/symlinkat.c (includes): Likewise.
35613
35614         openat: allow return of fd 0
35615         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
35616         * modules/save-cwd (Depends-on): Replace fcntl-safer with
35617         unistd-safer.
35618         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
35619         <fcntl.h>; this module does not leak fds.
35620         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
35621         must be allowed to return 0, leaving openat_safer to add the
35622         safety.
35623         (openat_permissive): Avoid writing to just-opened fd 2 if
35624         restoring the current directory fails.
35625         * lib/openat-die.c (openat_restore_fail): Add comment.
35626         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
35627         (save_cwd): Guarantee safe fd, but without use of open_safer.
35628         * tests/test-openat.c: New test.
35629         * modules/openat-tests (Files, Makefile.am): Distribute and build
35630         new file.
35631
35632         relocatable-prog-wrapper: fix build
35633         * modules/relocatable-prog-wrapper (Files): Update name of
35634         canonicalize m4 file, broken on 2009-09-17.
35635         Reported by emad hajjar <aleppos@hotmail.com>.
35636
35637 2009-09-19  Bruno Haible  <bruno@clisp.org>
35638
35639         * lib/safe-alloc.h: Use the standard header with GPL copyright.
35640         * lib/safe-alloc.c: Likewise.
35641         Reported by Ian Beckwith <ianb@erislabs.net>.
35642
35643 2009-09-18  Bruno Haible  <bruno@clisp.org>
35644
35645         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
35646         Reported by <erobles@sensacd.com.mx>.
35647
35648 2009-09-17  Eric Blake  <ebb9@byu.net>
35649
35650         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
35651         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
35652         slashes when checking if last component is missing.
35653         * tests/test-canonicalize.c (main): Test this.
35654
35655         canonicalize, canonicalize-lgpl: honor // if distinct from /
35656         * modules/canonicalize (Files): Add double-slash-root.m4.
35657         * modules/canonicalize-lgpl (Files): Likewise.
35658         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
35659         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
35660         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
35661         fallback definition.
35662         (canonicalize_filename_mode): Use it to protect //.
35663         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
35664         (__realpath): Likewise.
35665         * tests/test-canonicalize.c (main): Test this.
35666         * tests/test-canonicalize-lgpl.c (main): Likewise.
35667         * modules/canonicalize-tests (Depends-on): Add same-inode.
35668         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
35669
35670         canonicalize-lgpl: fix glibc bug with trailing slash
35671         * m4/canonicalize-lgpl.m4: Move contents...
35672         * m4/canonicalize.m4: ...here.
35673         (gl_CANONICALIZE_LGPL): Factor realpath check...
35674         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
35675         glibc 2.3.5 bug, fixed 2005-04-27.
35676         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
35677         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
35678         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
35679         * modules/canonicalize-lgpl (Files): Manage file rename.
35680         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
35681         * modules/stdlib (Makefile.am): Substitute witness.
35682         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
35683         is needed.
35684         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
35685         replacement is required.
35686         * lib/canonicalize.c (canonicalize_file_name): Likewise.
35687         * doc/glibc-functions/canonicalize_file_name.texi
35688         (canonicalize_file_name): Document this.
35689         * doc/posix-functions/realpath.texi (realpath): Likewise.
35690
35691         canonicalize-lgpl: reject non-directory with trailing slash
35692         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
35693         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
35694         catches failures in glibc 2.3.5.
35695         * tests/test-canonicalize.c (main): Likewise.
35696
35697         canonicalize-lgpl: use native realpath if it works
35698         * lib/canonicalize-lgpl.c (realpath): Guard with
35699         FUNC_REALPATH_WORKS.
35700         * lib/stdlib.in.h (realpath): Make declaration optional based on
35701         HAVE_REALPATH.
35702         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
35703         native realpath works.
35704         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
35705         * modules/stdlib (Makefile.am): Substitute witness.
35706
35707         canonicalize, canonicalize-lgpl: use <stdlib.h>
35708         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
35709         (Include): Mention <stdlib.h>.
35710         (configure.ac): Mention functions we provide.
35711         * modules/canonicalize (configure.ac): Likewise.
35712         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
35713         realpath if canonicalize_file_name is missing.
35714         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
35715         * modules/stdlib (Makefile.am): Substitute witnesses.
35716         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
35717         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
35718         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
35719         * NEWS: Document this.
35720         * doc/glibc-functions/canonicalize_file_name.texi
35721         (canonicalize_file_name): Likewise.
35722         * doc/posix-functions/realpath.texi (realpath): Likewise.
35723         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
35724
35725         test-canonicalize: consolidate into single C program
35726         * tests/test-canonicalize.sh: Delete; move setup into...
35727         * tests/test-canonicalize.c (main): ...the program, making it
35728         easier to run in debugger.  Add some tests.
35729         * modules/canonicalize-tests (Files): Remove unused file.
35730         (Depends-on): Add progname.
35731         (configure.ac, Makefile.am): Simplify.
35732
35733         test-canonicalize-lgpl: consolidate into single C program
35734         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
35735         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
35736         easier to run in debugger.  Add some tests.
35737         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
35738         (configure.ac, Makefile.am): Simplify.
35739
35740         canonicalize: avoid resolvepath
35741         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
35742         unnecessary checks.
35743         * lib/canonicalize.c (includes): Simplify.
35744         (canonicalize_file_name): Drop resolvepath implementation.
35745         * modules/canonicalize (Depends-on): Drop filenamecat.
35746
35747         canonicalize: don't lose errno
35748         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
35749         over calls to free.
35750
35751         canonicalize: simplify errno handling
35752         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
35753         assignment.
35754
35755         canonicalize, canonicalize-lgpl: update module dependencies
35756         * modules/canonicalize (Depends-on): Add extensions, lstat,
35757         pathmax, stdlib.
35758         (Files): Drop pathmax.h.
35759         (configure.ac): Adjust macro name.
35760         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
35761         lstat, stdlib, sys_stat.
35762         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
35763         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
35764         extensions.
35765         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
35766         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
35767         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
35768         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
35769         declaration, if available.
35770         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
35771         we can rely on the readlink module.
35772         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
35773         (includes): Use <unistd.h> unconditionally.
35774
35775 2009-09-17  Eric Blake  <ebb9@byu.net>
35776
35777         maint: make Include sections of modules consistent
35778         * modules/alloca: Use only header name; no need to list #include.
35779         * modules/alloca-opt: Likewise.
35780         * modules/arpa_inet: Likewise.
35781         * modules/canon-host: Likewise.
35782         * modules/configmake: Likewise.
35783         * modules/dirent: Likewise.
35784         * modules/eealloc: Likewise.
35785         * modules/environ: Likewise.
35786         * modules/fchdir: Likewise.
35787         * modules/fcntl: Likewise.
35788         * modules/fcntl-h: Likewise.
35789         * modules/gethrxtime: Likewise.
35790         * modules/gettime: Likewise.
35791         * modules/ignore-value: Likewise.
35792         * modules/inet_ntop: Likewise.
35793         * modules/inet_pton: Likewise.
35794         * modules/inttypes: Likewise.
35795         * modules/isnand-nolibm: Likewise.
35796         * modules/isnanf-nolibm: Likewise.
35797         * modules/mbchar: Likewise.
35798         * modules/mbfile: Likewise.
35799         * modules/mbiter: Likewise.
35800         * modules/mbuiter: Likewise.
35801         * modules/netdb: Likewise.
35802         * modules/netinet_in: Likewise.
35803         * modules/nproc: Likewise.
35804         * modules/pagealign_alloc: Likewise.
35805         * modules/poll: Likewise.
35806         * modules/printf-frexp: Likewise.
35807         * modules/pthread: Likewise.
35808         * modules/putenv: Likewise.
35809         * modules/random_r: Likewise.
35810         * modules/relocatable-prog: Likewise.
35811         * modules/search: Likewise.
35812         * modules/select: Likewise.
35813         * modules/selinux-h: Likewise.
35814         * modules/settime: Likewise.
35815         * modules/signal: Likewise.
35816         * modules/size_max: Likewise.
35817         * modules/socklen: Likewise.
35818         * modules/ssize_t: Likewise.
35819         * modules/stdarg: Likewise.
35820         * modules/stdbool: Likewise.
35821         * modules/stddef: Likewise.
35822         * modules/stdint: Likewise.
35823         * modules/stdio: Likewise.
35824         * modules/stdlib: Likewise.
35825         * modules/string: Likewise.
35826         * modules/strings: Likewise.
35827         * modules/sys_file: Likewise.
35828         * modules/sys_ioctl: Likewise.
35829         * modules/sys_select: Likewise.
35830         * modules/sys_socket: Likewise.
35831         * modules/sys_stat: Likewise.
35832         * modules/sys_time: Likewise.
35833         * modules/sys_times: Likewise.
35834         * modules/sys_utsname: Likewise.
35835         * modules/sys_wait: Likewise.
35836         * modules/sysexits: Likewise.
35837         * modules/time: Likewise.
35838         * modules/times: Likewise.
35839         * modules/tmpfile: Likewise.
35840         * modules/trim: Likewise.
35841         * modules/unistd: Likewise.
35842         * modules/wchar: Likewise.
35843         * modules/wctype: Likewise.
35844
35845 2009-09-17  Bruno Haible  <bruno@clisp.org>
35846
35847         Make getdate.y compile on QNX and NetBSD 5 / i386.
35848         * m4/getdate.m4 (gl_GETDATE): Conditionally define
35849         TIME_T_FITS_IN_LONG_INT.
35850         * lib/getdate.y (long_time_t): New type.
35851         (relative_time): Change type of 'seconds' field to long_time_t.
35852         (get_date): Update types of local variables. Check against overflow
35853         during conversion from long_time_t to time_t.
35854         Reported by Matt Kraai <kraai@ftbfs.org>
35855         and Hasso Tepper <hasso@netbsd.org>.
35856
35857 2009-09-17  Bruno Haible  <bruno@clisp.org>
35858
35859         * modules/COPYING: Update copyright years.
35860         * modules/README: Likeiwse.
35861         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
35862         Reported by Ian Beckwith <ianb@erislabs.net>.
35863
35864 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35865
35866         * users.txt: Update references for gnuit package.
35867
35868 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35869
35870         * m4/getdelim.m4: Fix typo in copyright line.
35871
35872 2009-09-17  Bruno Haible  <bruno@clisp.org>
35873
35874         * lib/atoll.c: Use the standard header with GPL copyright.
35875         * lib/argz.in.h: Likewise.
35876         * lib/glob.c: Likewise.
35877         * lib/glob-libc.h: Likewise.
35878         * lib/random_r.c: Likewise.
35879         * lib/siglist.h: Likewise.
35880         * lib/strsignal.c: Likewise.
35881         Reported by Ian Beckwith <ianb@erislabs.net>.
35882
35883 2009-09-17  Eric Blake  <ebb9@byu.net>
35884
35885         rmdir: ensure correct dependency order
35886         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
35887
35888 2009-09-17  Bruno Haible  <bruno@clisp.org>
35889
35890         Disable assertion that fails on NetBSD 5 / i386.
35891         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
35892         Reported by Sam Steingold <sds@gnu.org>
35893         and Hasso Tepper <hasso@netbsd.org>.
35894
35895 2009-09-16  Eric Blake  <ebb9@byu.net>
35896
35897         unlinkdir: port to mingw
35898         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
35899         on which no one can unlink a directory.
35900
35901         stdlib: sort witness names
35902         * modules/stdlib (Makefile.am): Sort replacements.
35903         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
35904         * lib/stdlib.in.h: Likewise.
35905
35906         parse-duration-tests: avoid link failure
35907         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
35908         LIBINTL.
35909         Reported by Tom G. Christensen.
35910
35911         openat-tests: ensure unlinkat behaves like rmdir
35912         * tests/test-rmdir.c (main): Factor guts...
35913         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
35914         * modules/rmdir-tests (Files): Ship new file.
35915         * modules/openat-tests: New test.
35916         * tests/test-unlinkat.c: Likewise.
35917
35918         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
35919         * modules/rmdir-errno (Status, Notice): Now obsolete.
35920
35921         rmdir: work around cygwin 1.5.x and mingw bugs
35922         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
35923         * lib/rmdir.c (rmdir): Work around it.
35924         * modules/rmdir (Status, Notice): No longer obsolete.
35925         (Files): Add dos.m4.
35926         (Depends-on): Add unistd.
35927         (configure.ac): Set witnesses.
35928         (License): Relax to LGPLv2+.
35929         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
35930         * modules/unistd (Makefile.am): Substitute witnesses.
35931         * lib/unistd.in.h (rmdir): Declare replacement.
35932         * doc/posix-functions/rmdir.texi (rmdir): Document this.
35933         * modules/rmdir-tests: New tests.
35934         * tests/test-rmdir.c: Likewise.
35935
35936 2009-09-15  Eric Blake  <ebb9@byu.net>
35937
35938         fchdir: improve use of replacement functions
35939         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
35940         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
35941         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
35942         REPLACE_CLOSEDIR.
35943         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
35944         * modules/sys_stat (Makefile.am): Substitute correct witness.
35945         * modules/dirent (Makefile.am): Likewise.
35946         * modules/unistd (Makefile.am): Likewise.
35947         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
35948         * lib/unistd.in.h (dup): Likewise.
35949         * lib/sys_stat.in.h (fstat): Likewise.
35950
35951         maint: ignore gnulib-tool temp files
35952         * .gitignore: Ignore files created during gnulib-tool --test.
35953
35954 2009-09-13  Jim Meyering  <meyering@redhat.com>
35955
35956         posixtm: don't reject a time that specify "60" as the number of seconds
35957         * lib/posixtm.c (posixtime): The code to reject invalid dates
35958         would also reject a time specified with the .60 suffix.
35959         But POSIX allows that, in order to accommodate leap seconds.
35960         So don't reject it.
35961         (main): Adjust tests accordingly.
35962         * modules/posixtm (Depends-on): Add stpcpy.
35963
35964 2009-09-11  Jim Meyering  <meyering@redhat.com>
35965
35966         announce-gen: include [$release_type] in emitted Subject:
35967         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
35968         e.g., [stable] in the emitted Subject: line.
35969
35970 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35971
35972         Remove obsolete macros from several modules.
35973         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
35974         obsolete Autoconf macros with their modern counterparts.
35975         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
35976         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
35977         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
35978         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35979         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
35980         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35981         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35982         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35983         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
35984         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
35985         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35986         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35987         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
35988         * m4/sockets.m4 (gl_SOCKETS): Likewise.
35989         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
35990         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
35991         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35992         * m4/time_r.m4 (gl_TIME_R): Likewise.
35993         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35994         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
35995         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35996
35997         Fix copyright header in build-aux scripts.
35998         * build-aux/git-version-gen: Fix copyright header to match GPLv3
35999         recommendation.
36000         * build-aux/ncftpput-ftp: Likewise.
36001         * build-aux/update-copyright: Likewise.
36002
36003 2009-09-09  Eric Blake  <ebb9@byu.net>
36004
36005         test-link: allow Linux choice of errno
36006         * tests/test-link.c (main): Relax test for alternate error.
36007
36008         strndup: fix improper m4 caching
36009         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
36010         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
36011         (gl_PREREQ_STRNDUP): Delete.
36012         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
36013         * modules/string (Makefile.am): Substitute it.
36014         * lib/string.in.h (strndup): Modernize prototype.
36015
36016         getcwd: port to mingw
36017         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
36018         different from the POSIX assumptions made throughout the getcwd
36019         module; fortunately, the mingw getcwd does not need replacement.
36020         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
36021         * modules/getcwd-tests: New test.
36022         * tests/test-getcwd.c: Likewise.
36023
36024         link: fix platform bugs
36025         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
36026         * lib/link.c (link): Work around them.  Fix related mingw bug.
36027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
36028         * modules/unistd (Makefile.am): Substitute it.
36029         * lib/unistd.in.h (link): Declare replacement.
36030         * doc/posix-functions/link.texi (link): Document this.
36031         * modules/link (Depends-on): Add strdup-posix, sys_stat.
36032
36033         test-link: consolidate into single C program, test more cases
36034         * tests/test-link.sh: Delete.
36035         * tests/test-link.c: Test more error conditions.  Exposes bugs on
36036         at least Cygwin and Solaris.
36037         * modules/link-tests (Files): Remove unused file.
36038         (Depends-on): Add errno, sys_stat.
36039         (Makefile.am): Simplify.
36040
36041 2009-09-08  Bruno Haible  <bruno@clisp.org>
36042
36043         Work around towlower, towupper bug on mingw.
36044         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
36045         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
36046         * doc/posix-functions/towlower.texi: Mention the mingw bug.
36047         * doc/posix-functions/towupper.texi: Likewise.
36048         Reported by Eric Blake.
36049
36050 2009-09-08  Jim Meyering  <meyering@redhat.com>
36051
36052         build: don't try to run autoheader if we don't use it
36053         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
36054         is not used in configure.ac.
36055
36056 2009-09-08  Eric Blake  <ebb9@byu.net>
36057
36058         euidaccess: fix compilation error
36059         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
36060
36061         rawmemchr: relax license
36062         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
36063         okay.
36064         Reported by Jim Meyering.
36065
36066         mkfifoat: new module
36067         * modules/mkfifoat: New file.
36068         * lib/mkfifoat.c: Likewise.
36069         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
36070         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36071         * modules/sys_stat (Makefile.am): Use them.
36072         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
36073         * MODULES.html.sh (File system functions): Mention module.
36074         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
36075         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
36076         * modules/mkfifoat-tests: New test.
36077         * tests/test-mkfifoat.c: Likewise.
36078
36079         strchrnul: relax license
36080         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
36081         okay.
36082         Reported by Jim Meyering.
36083
36084 2009-09-08  Eric Blake  <ebb9@byu.net>
36085
36086         fstatat: fix compilation on Solaris
36087         * lib/fstatat.c (includes): Add fcntl.h.
36088         Reported by Pádraig Brady.
36089
36090 2009-09-07  Eric Blake  <ebb9@byu.net>
36091
36092         rename: modernize replacement
36093         * modules/rename (Depends-on): Add stdio.
36094         (configure.ac): Declare witness.
36095         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
36096         stdio take care of replacement.
36097         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
36098         * modules/stdio (Makefile.am): Substitute them.
36099         * lib/stdio.in.h (rename): Declare replacement.
36100         * lib/rename.c (includes): Allow cross-compilation to non-windows
36101         machines.
36102         * doc/posix-functions/rename.texi (rename): Improve
36103         documentation.
36104
36105         stdio: sort witness names
36106         * modules/stdio (Makefile.am): Sort replacements.
36107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36108         * lib/stdio.in.h: Likewise.
36109
36110         getcwd: minor cleanups
36111         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
36112         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
36113
36114         openat: provide more convenience names
36115         * modules/faccessat (configure.ac): Add C witness.
36116         * lib/unistd.in.h (readlinkat): Fix typo.
36117         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
36118         convenience wrappers.
36119         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
36120         wrappers in syntax checks.
36121
36122 2009-09-06  Eric Blake  <ebb9@byu.net>
36123
36124         doc: fix comments in recent patches
36125         * lib/faccessat.c: Mention correct function.
36126         * lib/fchmodat.c: Likewise.
36127         * lib/fchownat.c: Likewise.
36128         * lib/symlinkat.c: Likewise.
36129         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
36130         constants.
36131
36132         faccessat, symlinkat: continue cleanup of previous patch
36133         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
36134         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
36135         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
36136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
36137         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
36138         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
36139         set.
36140
36141 2009-09-06  Bruno Haible  <bruno@clisp.org>
36142
36143         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
36144         (fstatat): Declare if GNULIB_FSTATAT is set.
36145         (mkdirat): Declare if GNULIB_MKDIRAT is set.
36146         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
36147         (unlinkat): Declare if GNULIB_UNLINKAT is set.
36148         * modules/fcntl-h (Files): Remove m4/openat.m4.
36149         * modules/sys_stat (Files): Remove m4/openat.m4.
36150         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
36151         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
36152         * modules/unistd (Files): Remove m4/openat.m4.
36153         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
36154         GNULIB_OPENAT.
36155         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
36156         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
36157         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
36158         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
36159         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
36160         gl_OPENAT_DEFAULTS.
36161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
36162         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
36163         Don't require gl_OPENAT_DEFAULTS.
36164         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
36165         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
36166         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
36167         (gl_OPENAT_DEFAULTS): Remove macro.
36168
36169 2009-09-06  Bruno Haible  <bruno@clisp.org>
36170
36171         * modules/openat (configure.ac): Remove unneeded witness.
36172
36173 2009-09-06  Bruno Haible  <bruno@clisp.org>
36174
36175         Set errno to ENOSYS when a function is entirely unsupported.
36176         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
36177         EOPNOTSUPP.
36178         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
36179         * modules/chown (Depends-on): Remove errno.
36180
36181 2009-09-06  Bruno Haible  <bruno@clisp.org>
36182
36183         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
36184
36185 2009-09-06  Bruno Haible  <bruno@clisp.org>
36186
36187         * lib/sys_stat.in.h: Fix preprocessor command indentation.
36188
36189 2009-09-06  Ben Pfaff  <blp@gnu.org>
36190             Bruno Haible  <bruno@clisp.org>
36191
36192         Work around a glibc bug in strtok_r.
36193         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
36194         Undefine if UNDEFINE_STRTOK_R is set.
36195         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
36196         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36197         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
36198         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
36199         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
36200         UNDEFINE_STRTOK_R.
36201         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
36202
36203 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
36204
36205         exclude: minor fix
36206         * lib/exclude.c: Include wctype.h
36207
36208 2009-09-06  Akim Demaille  <demaille@gostai.com>
36209
36210         bootstrap: improve error message
36211         * build-aux/bootstrap (find_tool): Upon failure, report the list
36212         of candidates.
36213         Honor the initial value of the envvar.
36214
36215 2009-09-05  Eric Blake  <ebb9@byu.net>
36216
36217         symlinkat: new module
36218         * modules/symlinkat: New file.
36219         * lib/symlinkat.c: Likewise.
36220         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
36221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
36222         * modules/unistd (Makefile.am): Use them.
36223         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
36224         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
36225         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
36226         * MODULES.html.sh (File system functions): Mention module.
36227         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36228         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36229         * modules/symlinkat-tests: New test.
36230         * tests/test-symlinkat.c: Likewise.
36231
36232         test-openat-safer: add more checks
36233         * tests/test-openat-safer.c (main): Check more code paths.
36234
36235 2009-09-05  Jim Meyering  <meyering@redhat.com>
36236
36237         syntax-check: detect unnecessary inclusion of openat.h
36238         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
36239
36240 2009-09-05  Bruno Haible  <bruno@clisp.org>
36241
36242         Support towlower, towupper.
36243         * doc/posix-functions/towlower.texi: Mention module wctype.
36244         * doc/posix-functions/towupper.texi: Likewise.
36245         * lib/wctype.in.h (towlower, towupper): New functions.
36246         * tests/test-wctype.c: Include stdio.h, stdlib.h.
36247         (ASSERT): New macro.
36248         (e): New variable.
36249         (main): Test also towlower, towupper. Test WEOF argument.
36250         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36251
36252 2009-09-05  Bruno Haible  <bruno@clisp.org>
36253
36254         Fix conversion behaviour when the input is invalid.
36255         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
36256         mark occurring in first pass of indirect conversion.
36257         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
36258         input.
36259         Found by clang's static analyzer.
36260
36261 2009-09-05  Bruno Haible  <bruno@clisp.org>
36262
36263         * tests/test-striconveh.c (main): Test indirect conversion on platforms
36264         where direct conversion is possible.
36265
36266 2009-09-04  Eric Blake  <ebb9@byu.net>
36267
36268         openat: fail with ENOENT on empty name
36269         * lib/openat-proc.c (openat_proc_name): Special-case the empty
36270         buffer.
36271
36272         link-follow: fix logic bug in prior patch
36273         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
36274         reversed sense of yes and no in prior patch.  Avoid confusing
36275         compilation failure with desired semantics.
36276
36277         link-follow: accomodate mingw and cross-compilation
36278         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
36279         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
36280         cross-compilation results to -1, to make linkat easier to
36281         implement when cross-compiling.  Trivially support mingw.
36282         * modules/link-follow (configure.ac): Call new name.
36283         * NEWS: Mention this.
36284
36285 2009-09-03  Eric Blake  <ebb9@byu.net>
36286
36287         faccessat: compile replacement
36288         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
36289         needed.
36290
36291         fts: fix compilation error
36292         * lib/fts.c (includes): Re-add "openat.h", for
36293         openat_needs_fchdir.
36294
36295         faccessat: new module
36296         * modules/faccessat: New file.
36297         * lib/faccessat.c: Likewise.
36298         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
36299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36300         * modules/unistd (Makefile.am): Use it.
36301         * lib/unistd.in.h (faccessat): Declare it.
36302         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
36303         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
36304         * MODULES.html.sh (File system functions): Mention it.
36305         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
36306         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
36307
36308         euidaccess: prefer POSIX over non-standard implementation
36309         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
36310         * lib/euidaccess.c (euidaccess): Use it if available.
36311
36312         openat: make template easier to use
36313         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
36314         AT_FUNC_F2 to be undefined.
36315         (VALIDATE_FLAG): New macro; use it to reject bad flags.
36316         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
36317         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
36318         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
36319         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
36320         Likewise.
36321         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
36322         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
36323         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
36324         Likewise.
36325
36326         openat: declare in POSIX headers
36327         * NEWS: Mention this.
36328         * modules/openat (configure.ac): Declare witnesses.
36329         (Depends-on): Add fcntl-h, sys_stat, unistd.
36330         (Include): Mention correct headers.
36331         * modules/fcntl-h (Depends-on): Add link-warning.
36332         (Files): Add openat.m4.
36333         (Makefile.am): Substitute witnesses.
36334         * modules/sys_stat (Files, Makefile.am): Likewise.
36335         * modules/unistd (Files, Makefile.am): Likewise.
36336         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
36337         (gl_OPENAT_DEFAULTS): New macro.
36338         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
36339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
36340         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
36341         (SYS_STAT_H): Remove unused variable.
36342         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
36343         * lib/fcntl--.h (includes): Remove unneeded header.
36344         * lib/openat-safer.c (includes): Likewise.
36345         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
36346         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
36347         appropriate headers.
36348         (__OPENAT_PREFIX): Delete.
36349         * lib/fcntl.in.h (openat): Provide declaration.
36350         (AT_FDCWD): Fix Solaris bug.
36351         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
36352         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
36353         * lib/fchmodat.c (includes):  Adjust to find declaration.
36354         * lib/fchownat.c (includes): Likewise.
36355         * lib/mkdirat.c (includes): Likewise.
36356         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
36357         still visible.
36358
36359 2009-09-02  Eric Blake  <ebb9@byu.net>
36360
36361         errno: use consistently
36362         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
36363         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
36364         * lib/canonicalize.c (ELOOP): Likewise.
36365         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
36366         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
36367         * lib/lchown.c (EOPNOTSUPP): Likewise.
36368         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
36369         * lib/savewd.c (ESTALE): Likewise.
36370         * lib/settime.c (ENOSYS): Likewise.
36371         * lib/utimens.c (ENOSYS): Likewise.
36372         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
36373         * lib/chdir-safer.c (ELOOP): Likewise.
36374         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
36375         * modules/c-stack (Depends-on): Add errno.
36376         * modules/canonicalize (Depends-on): Likewise.
36377         * modules/chdir-safer (Depends-on): Likewise.
36378         * modules/fdopendir (Depends-on): Likewise.
36379         * modules/inet_ntop (Depends-on): Likewise.
36380         * modules/inet_pton (Depends-on): Likewise.
36381         * modules/lchown (Depends-on): Likewise.
36382         * modules/openat (Depends-on): Likewise.
36383         * modules/savewd (Depends-on): Likewise.
36384         * modules/settime (Depends-on): Likewise.
36385         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
36386
36387         fts: avoid leaking fds
36388         * modules/fts (Depends-on): Add cloexec.
36389         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
36390         flag.
36391
36392         fts: make directory fds more robust
36393         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
36394         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
36395
36396         backupfile, chdir-long, fts, savedir: make safer
36397         * lib/backupfile.c (includes): Use "dirent--.h", since
36398         numbered_backup can write to stderr during readdir.
36399         * lib/savedir.c (includes): Likewise.
36400         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
36401         emulation can write to stderr on failure.
36402         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
36403         * lib/getcwd.c: Document why opendir_safer is unused.
36404         * lib/glob.c: Likewise.
36405         * lib/scandir.c: Likewise.
36406         * lib/openat-proc.c: Likewise, for open_safer.
36407         * modules/backupfile (Depends-on): Add dirent-safer.
36408         * modules/savedir (Depends-on): Likewise.
36409         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
36410         * modules/chdir-long (Depends-on): Add openat-safer.
36411
36412         openat-safer: new module
36413         * modules/openat-safer: New file.
36414         * lib/openat-safer.c: Likewise.
36415         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
36416         * lib/fcntl-safer.h (openat_safer): Declare.
36417         * lib/fcntl--.h (openat): Override.
36418         * MODULES.html.sh (File descriptor based I/O): Mention it.
36419         * lib/openat.h: Add double-inclusion guards.
36420         * lib/openat.c (includes): Only include "fcntl-safer.h", not
36421         "fcntl--.h", so we can implement openat.
36422         * modules/openat-safer-tests: New test.
36423         * tests/test-openat-safer.c: New file.
36424
36425         dirent-safer: new module
36426         * modules/dirent-safer: New file.
36427         * lib/dirent--.h: Likewise.
36428         * lib/dirent-safer.h: Likewise.
36429         * lib/opendir-safer.c: Likewise.
36430         * m4/dirent-safer.m4: Likewise.
36431         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
36432         * modules/dirent-safer-tests: New test.
36433         * tests/test-dirent-safer.c: New file.
36434         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
36435
36436         fdopendir: optimize on mingw
36437         * lib/unistd.in.h (_gl_directory_name): New prototype.
36438         * lib/fchdir.c (_gl_directory_name): Implement it.
36439         (fchdir): Use it to simplify implementation.
36440         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
36441         fchdir, when available, to avoid calling [f]chdir().
36442
36443         fdopendir: split into its own module
36444         * lib/openat.c (fdopendir): Move...
36445         * lib/fdopendir.c: ...into new file.
36446         * modules/fdopendir: New module.
36447         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
36448         * modules/openat (Depends-on): Add fdopendir.
36449         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
36450         fdopendir here.
36451         * modules/savedir (Depends-on): Only need fdopendir, not full
36452         openat.
36453         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
36454         * lib/openat.h (fdopendir): Drop prototype.
36455         * lib/dirent.in.h (fdopendir): Provide prototype.
36456         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
36457         * modules/dirent (Makefile.am): Substitute them.
36458         * MODULES.html.sh (File system functions): Mention it.
36459         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
36460         * modules/fdopendir-tests: New file.
36461         * tests/test-fdopendir.c: Likewise.
36462
36463         fchdir: use more consistent macro convention
36464         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
36465         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
36466         REPLACE_FCHDIR, rather than relying on config.h macros.
36467         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
36468         inside a single make-time REPLACE_FCHDIR block, rather than using
36469         the config.h FCHDIR_REPLACEMENT.
36470         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
36471         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
36472         Manage fstat replacement.
36473         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
36474         REPLACE_FCHDIR.
36475         * modules/sys_stat (Files): Add m4/unistd_h.m4.
36476         (Makefile.am): Substitute REPLACE_FCHDIR.
36477         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
36478         FCHDIR_REPLACEMENT.
36479         * lib/dup-safer.c (dup_safer): Likewise.
36480         * lib/dup2.c (rpl_dup2): Likewise.
36481         * lib/dup3.c (rpl_dup3): Likewise.
36482         * lib/open.c (rpl_open): Likewise.
36483
36484         fchdir: simplify error handling, and support dup3
36485         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
36486         stdbool, malloc-posix, realloc-posix.
36487         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
36488         (ensure_dirs_slot): Return false on allocation failure.
36489         (rpl_dup2): Delete.
36490         (_gl_register_dup): New function.
36491         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
36492         (_gl_register_fd): Close fd on allocation failure.
36493         * lib/fcntl.in.h (_gl_register_fd): Update signature.
36494         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
36495         prototype.
36496         (rpl_dup2_fchdir): Delete prototype.
36497         * lib/open.c (open): Update caller.
36498         * lib/dup2.c (dup2): Track fchdir metadata.
36499         * lib/dup3.c (dup3): Likewise.
36500         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
36501         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
36502
36503 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36504
36505         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
36506         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
36507         don't pass arguments to AC_OUTPUT.
36508
36509 2009-09-02  Bruno Haible  <bruno@clisp.org>
36510
36511         * modules/mkdtemp (License): Relicense under LGPLv2+.
36512         Reported by Paolo Bonzini.
36513
36514 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36515
36516         Replace uses of obsolete autoconf macros in Jim's modules.
36517         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
36518         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
36519         can evoke a warning from autoconf when run with -Wobsolete
36520         enabled.  They were declared obsolete for good reasons (see
36521         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
36522         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
36523         should not continue using the deprecated macros.
36524         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
36525         obsolete Autoconf macros with modern counterparts.
36526         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
36527         * m4/dos.m4 (gl_AC_DOS): Likewise.
36528         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
36529         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
36530         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
36531         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
36532         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
36533         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
36534         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
36535         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
36536         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
36537         Likewise.
36538         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
36539         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
36540         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
36541         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
36542         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
36543         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
36544
36545 2009-09-01  Eric Blake  <ebb9@byu.net>
36546
36547         fchdir: fix off-by-one bug in previous patch
36548         * lib/fchdir.c (rpl_fstat): Use correct bounds.
36549         (_gl_unregister_fd): Delete useless if.
36550
36551 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
36552
36553         maint.mk: sort the list of syntax-check rules
36554         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
36555         easier to get a sense of progress when the rules are run sequentially
36556         and take a long time.
36557
36558 2009-09-01  Simon Josefsson  <simon@josefsson.org>
36559
36560         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
36561         * modules/netinet_in: Likewise.
36562         * modules/sys_file: Likewise.
36563         * modules/sys_ioctl: Likewise.
36564         * modules/sys_select: Likewise.
36565         * modules/sys_socket: Likewise.
36566         * modules/sys_stat: Likewise.
36567         * modules/sys_time: Likewise.
36568         * modules/sys_times: Likewise.
36569         * modules/sys_utsname: Likewise.
36570         * modules/sys_wait: Likewise.
36571
36572 2009-09-01  Jim Meyering  <meyering@redhat.com>
36573
36574         fts: help ensure that return values are not ignored
36575         * lib/fts_.h (__GNUC_PREREQ): Define.
36576         (__attribute_warn_unused_result__): Define.
36577         (fts_children, fts_close, fts_open, fts_read): Declare with
36578         __attribute_warn_unused_result__.
36579
36580         fts: fts_close now fails also when closing a dir file descriptor fails
36581         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
36582         and propagate to caller, along with errno.
36583
36584         announce-gen: correct formatting in --help output
36585         * build-aux/announce-gen (usage): Move the one-line description in
36586         --help output "up", to where it belongs, just after Usage:.
36587
36588 2009-08-31  Eric Blake  <ebb9@byu.net>
36589
36590         fchdir: port to mingw
36591         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
36592         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
36593         opened, then use a substitute.
36594         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
36595         replacement.
36596         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
36597         (_gl_register_fd): No need to check stat if open already filters
36598         all directories.
36599         (fchdir): Fix error condition to match POSIX.
36600         * modules/fchdir (Depends-on): Add sys_stat.
36601         * doc/posix-functions/open.texi (open): Document the limitation.
36602         * modules/fchdir-tests: New file.
36603         * tests/test-fchdir.c: Likewise.
36604
36605         canonicalize: allow cross-testing from cygwin to mingw
36606         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
36607         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
36608         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
36609         Likewise.
36610         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
36611         target does not support symlinks.
36612         * tests/test-canonicalize-lgpl.sh: Likewise.
36613
36614         chown: avoid compilation warning on mingw
36615         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
36616         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
36617         mingw.
36618         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
36619         * modules/chown (Depends-on): Add errno.
36620
36621 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
36622
36623         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
36624         command.
36625
36626 2009-08-31  Jim Meyering  <meyering@redhat.com>
36627
36628         canonicalize: remove useless initialization
36629         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
36630         initialization of local, "end".
36631
36632 2009-08-30  Bruno Haible  <bruno@clisp.org>
36633
36634         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
36635         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
36636         ENOSYS.
36637
36638 2009-08-30  Bruno Haible  <bruno@clisp.org>
36639
36640         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
36641         /usr/xpg4/bin/tr when it exists.
36642         * tests/test-pipe-filter-gi1.sh: Likewise.
36643
36644 2009-08-30  Bruno Haible  <bruno@clisp.org>
36645
36646         Work around deficient /usr/bin/id program on Solaris.
36647         * tests/test-file-has-acl.sh (ID): New variable.
36648         * tests/test-set-mode-acl.sh (ID): Likewise.
36649         * tests/test-copy-acl.sh (ID): Likewise.
36650         * tests/test-copy-file.sh (ID): Likewise.
36651
36652 2009-08-30  Bruno Haible  <bruno@clisp.org>
36653
36654         New module 'xstriconveh'.
36655         * lib/xstriconveh.h: New file.
36656         * lib/xstriconveh.c: New file.
36657         * modules/xstriconveh: New file.
36658
36659 2009-08-30  Bruno Haible  <bruno@clisp.org>
36660
36661         Make it easier to use mem_cd_iconveh.
36662         * lib/striconveh.h (iconveh_t): New type.
36663         (iconveh_open, iconveh_close): New declarations.
36664         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
36665         with a single 'const iconveh_t *' argument.
36666         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
36667         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
36668         with a single 'const iconveh_t *' argument.
36669         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
36670         * tests/test-striconveh.c (main): Update.
36671         * NEWS: Mention the change.
36672
36673 2009-08-30  Bruno Haible  <bruno@clisp.org>
36674
36675         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
36676         problem.
36677
36678 2009-08-30  Bruno Haible  <bruno@clisp.org>
36679
36680         Work around iconv_open problem on Solaris.
36681         * lib/iconv_open-solaris.gperf: New file.
36682         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
36683         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
36684         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
36685         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
36686         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
36687         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
36688
36689 2009-08-29  Jim Meyering  <meyering@redhat.com>
36690
36691         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
36692         * top/maint.mk (cvs-check): Remove target; it was just an alias
36693         to the better-named vc-diff-check.
36694         (maintainer-distcheck): Remove rule.  It was used only from
36695         the (alpha/beta/major) target, and all of its commands but one
36696         were coreutils-specific.
36697         (vc-dist): Remove rule.
36698         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
36699         Run vc-diff-check, not vc-dist.
36700         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
36701
36702 2009-08-27  Bruno Haible  <bruno@clisp.org>
36703
36704         * tests/test-bitrotate.c (main): Remove test that uses a shift count
36705         of 0.
36706
36707 2009-08-27  Bruno Haible  <bruno@clisp.org>
36708
36709         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
36710         compilers.
36711         * doc/func.texi: Document the SunPRO C bug.
36712
36713 2009-08-27  Bruno Haible  <bruno@clisp.org>
36714
36715         Fix link error on Solaris.
36716         * tests/test-parse-duration.c (xstrdup): Remove function.
36717
36718 2009-08-26  Pádraig Brady  <P@draigbrady.com>
36719
36720         ignore-value: handle pointer types, too
36721         * lib/ignore-value.h (__attribute__): Remove definition.
36722         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
36723         of a more concise and more-often effective "(void) i" statement.
36724         (ignore_ptr): New function to suppress warnings from functions that
36725         return pointers, and to make it explicit that one function doesn't
36726         handle all cases.
36727
36728 2009-08-25  Bruno Haible  <bruno@clisp.org>
36729
36730         dup2: work around a Linux bug.
36731         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
36732         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
36733         * doc/posix-functions/dup2.texi: Mention the Linux bug.
36734         Reported by Simon Josefsson.
36735
36736 2009-08-25  Jim Meyering  <meyering@redhat.com>
36737
36738         libguestfs uses gnulib
36739         * users.txt: Add libguestfs.
36740
36741 2009-08-24  Eric Blake  <ebb9@byu.net>
36742
36743         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
36744         * lib/pipe2.c (includes): Add binary-io.h.
36745         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
36746
36747 2009-08-24  Bruno Haible  <bruno@clisp.org>
36748
36749         Tolerate declared but missing accept4 syscall.
36750         * lib/accept4.c (accept4): Invoke original accept4 function first, if
36751         available.
36752         * lib/sys_socket.in.h (accept4): If the function is already present,
36753         override it.
36754         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
36755         * modules/accept4 (Makefile.am): Compile accept4.c always.
36756         Reported by Paolo Bonzini and Eric Blake.
36757
36758 2009-08-23  Bruno Haible  <bruno@clisp.org>
36759
36760         New module 'accept4'.
36761         * lib/sys_socket.in.h (accept4): New declaration.
36762         * lib/accept4.c: New file.
36763         * m4/accept4.m4: New file.
36764         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
36765         GNULIB_ACCEPT4, HAVE_ACCEPT4.
36766         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
36767         HAVE_ACCEPT4.
36768         * modules/accept4: New file.
36769         * doc/glibc-functions/accept4.texi: Mention the new module.
36770
36771 2009-08-24  Jim Meyering  <meyering@redhat.com>
36772
36773         progname: also set global program_invocation_name, when possible
36774         Before this change, a libtool-enabled program that calls glibc's
36775         error function would report the program name as
36776         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
36777         * modules/progname (configure.ac): Check for a declaration of
36778         program_invocation_name.
36779         * lib/progname.c:  Include <errno.h>.
36780         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
36781         Set program_invocation_name.
36782
36783 2009-08-23  Bruno Haible  <bruno@clisp.org>
36784
36785         * lib/dup3.c: Include <string.h>.
36786
36787 2009-08-23  Bruno Haible  <bruno@clisp.org>
36788
36789         * lib/dup3.c (dup3): Test only once whether the system actually exists.
36790         * lib/pipe2.c (pipe2): Likewise.
36791         Suggested by Eric Blake.
36792
36793 2009-08-23  Bruno Haible  <bruno@clisp.org>
36794
36795         Tolerate declared but missing dup3 syscall.
36796         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
36797         * lib/unistd.in.h (dup3): If the function is already present,
36798         override it.
36799         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
36800         * modules/dup3 (Makefile.am): Compile dup3.c always.
36801         Reported by Paolo Bonzini.
36802
36803 2009-08-23  Bruno Haible  <bruno@clisp.org>
36804
36805         Tolerate declared but missing pipe2 syscall.
36806         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
36807         available.
36808         * lib/unistd.in.h (pipe2): If the function is already present,
36809         override it.
36810         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
36811         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
36812         Reported by Paolo Bonzini.
36813
36814 2009-08-23  Bruno Haible  <bruno@clisp.org>
36815
36816         * lib/pipe2.c (pipe2): Move #ifs inside function.
36817
36818 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36819
36820         quotearg: document limitations of quote_these_too
36821         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
36822         those limitations are created.
36823         * lib/quotearg.h (set_char_quoting): Document that digits and
36824         letters that are special after backslash are not permitted.
36825         (quotearg_char): Cross-reference set_char_quoting documentation.
36826
36827 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
36828
36829         quotearg: implement custom_quoting_style
36830         * lib/quotearg.c: (struct quoting_options): Add left_quote and
36831         right_quote fields.
36832         (set_custom_quoting): New public function.
36833         (quotearg_buffer_restyled): Add left_quote and right_quote
36834         arguments, handle them very much like locale quoting, and update
36835         all uses.
36836         (quotearg_n_custom): New public function.
36837         (quotearg_n_custom_mem): New public function.
36838         (quotearg_custom): New public function.
36839         (quotearg_custom_mem): New public function.
36840         * lib/quotearg.h: Prototype and document new public functions.
36841         (enum quoting_style): For escape_quoting_style and
36842         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
36843         ignored even though they're otherwise like c_quoting_style.
36844         Add custom_quoting_style member and document with comparison to
36845         clocale_quoting_style.
36846         * tests/test-quotearg.c (custom_quotes): New array.
36847         (custom_results): New array.
36848         (main): Extend to test custom quoting.
36849
36850 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36851
36852         quotearg: fix right quote escaping when it's in quote_these_too
36853         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
36854         quote, be sure to prepend only one backslash.
36855         * tests/test-quotearg.c (use_quote_double_quotes): New function.
36856         (main): Test it.
36857
36858 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36859
36860         quotearg-tests: test escaping of embedded locale quotes
36861         * tests/test-quotearg.c (struct result_strings): Add member for
36862         new input.
36863         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
36864         (inputs): Add new input.
36865         (results_g): Add expected results.
36866         (flag_results): Likewise.
36867         (locale_results): Likewise.
36868         (compare_strings): Check those.
36869
36870 2009-08-23  Bruno Haible  <bruno@clisp.org>
36871
36872         Tests for module 'dup3'.
36873         * modules/dup3-tests: New file.
36874         * tests/test-dup3.c: New file.
36875
36876         New module 'dup3'.
36877         * lib/unistd.in.h (dup3): New declaration.
36878         * lib/dup3.c: New file.
36879         * m4/dup3.m4: New file.
36880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
36881         HAVE_DUP3.
36882         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
36883         * modules/dup3: New file.
36884         * doc/glibc-functions/dup3.texi: Mention the new module.
36885
36886 2009-08-23  Bruno Haible  <bruno@clisp.org>
36887
36888         Tweak the dup2 test.
36889         * tests/test-dup2.c (main): Create the test file empty. Verify that an
36890         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
36891         the test file is still empty. Fix argument order of lseek.
36892
36893 2009-08-23  Bruno Haible  <bruno@clisp.org>
36894
36895         Avoid test link errors when the modules getopt-gnu, gettext are used.
36896         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
36897         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36898
36899 2009-08-23  Bruno Haible  <bruno@clisp.org>
36900
36901         Fix getdtablesize() on mingw.
36902         * lib/getdtablesize.c (getdtablesize): Implement differently.
36903         * lib/unistd.in.h (getdtablesize): Improve comment.
36904
36905 2009-08-23  Bruno Haible  <bruno@clisp.org>
36906
36907         New module 'mkostemp'.
36908         Based on Ulrich Drepper's 2007-08-10 change in glibc.
36909         * lib/stdlib.in.h (mksotemp): New declaration.
36910         * lib/mkostemp.c: New file, from glibc with modifications.
36911         * lib/tempname.h (GT_FILE): Remove outdated comment.
36912         (gen_tempname): Add flags argument.
36913         * lib/tempname.c (__GT_BIGFILE): Remove macro.
36914         (__GT_FILE): Map to 1.
36915         (small_open, large_open): Remove macros.
36916         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
36917         * lib/mkstemp.c (mkstemp): Update.
36918         * lib/mkdtemp.c (mkdtemp): Likewise.
36919         * m4/mkostemp.m4: New file.
36920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
36921         HAVE_MKOSTEMP.
36922         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
36923         HAVE_MKOSTEMP.
36924         * modules/mkostemp: New file, based on modules/mkstemp.
36925         * doc/glibc-functions/mkostemp.texi: Mention the new module.
36926         * NEWS: Mention the change.
36927
36928 2009-08-23  Bruno Haible  <bruno@clisp.org>
36929
36930         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
36931         Reported by Eric Blake.
36932
36933 2009-08-23  Bruno Haible  <bruno@clisp.org>
36934
36935         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
36936         Reported by Eric Blake.
36937
36938 2009-08-23  Bruno Haible  <bruno@clisp.org>
36939
36940         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
36941         * modules/pipe2 (Depends-on): Likewise.
36942
36943 2009-08-23  Eric Blake  <ebb9@byu.net>
36944
36945         fcntl-h: add O_TTY_INIT support
36946         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
36947         * tests/test-fcntl-h.c (o): Test it.
36948         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36949
36950         fcntl-h: rename from fcntl, in preparation for fcntl(2)
36951         * modules/fcntl: Move <fcntl.h> header replacement...
36952         * modules/fcntl-h: ...to new name, so as not to collide with
36953         like-named function.
36954         * tests/test-fcntl.c: Rename...
36955         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
36956         * modules/fcntl-tests: Rename...
36957         * modules/fcntl-h-tests: ...to this.  Update test file name.
36958         * modules/chdir-long (Depends-on): Update clients.
36959         * modules/chdir-safer (Depends-on): Likewise.
36960         * modules/fcntl-safer (Depends-on): Likewise.
36961         * modules/fts (Depends-on): Likewise.
36962         * modules/mkancesdirs (Depends-on): Likewise.
36963         * modules/mkdir-p (Depends-on): Likewise.
36964         * modules/open (Depends-on): Likewise.
36965         * modules/savewd (Depends-on): Likewise.
36966         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
36967         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36968
36969 2009-08-22  Bruno Haible  <bruno@clisp.org>
36970
36971         * modules/binary-io (License): Relicense under LGPL.
36972         * modules/pipe2 (License): Likewise.
36973
36974 2009-08-22  Bruno Haible  <bruno@clisp.org>
36975
36976         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
36977         return value.
36978         * lib/pipe-filter-gi.c (filter_init): Likewise.
36979         Reported by Eric Blake.
36980
36981 2009-08-22  Bruno Haible  <bruno@clisp.org>
36982
36983         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
36984         * modules/pipe (Depends-on): Add pipe2.
36985
36986 2009-08-22  Bruno Haible  <bruno@clisp.org>
36987
36988         Tests for module 'pipe2'.
36989         * modules/pipe2-tests: New file.
36990         * tests/test-pipe2.c: New file.
36991
36992         New module 'pipe2'.
36993         * lib/unistd.in.h (pipe2): New declaration.
36994         * lib/pipe2.c: New file.
36995         * m4/pipe2.m4: New file.
36996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
36997         HAVE_PIPE2.
36998         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
36999         * modules/pipe2: New file.
37000         * doc/glibc-functions/pipe2.texi: Mention the new module.
37001
37002 2009-08-22  Bruno Haible  <bruno@clisp.org>
37003
37004         Reference some new glibc functions.
37005         * doc/glibc-functions/accept4.texi: New file.
37006         * doc/glibc-functions/dup3.texi: New file.
37007         * doc/glibc-functions/mkostemp.texi: New file.
37008         * doc/glibc-functions/pipe2.texi: New file.
37009         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
37010         (Glibc sys/socket.h): Refer to accept4.
37011         (Glibc unistd.h): Refer to dup3, pipe2.
37012         Reported by Eric Blake.
37013
37014 2009-08-22  Jim Meyering  <meyering@redhat.com>
37015             Bruno Haible  <bruno@clisp.org>
37016
37017         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
37018         This makes it so packages using automake-1.11's silent-rules option
37019         can print e.g., a single "GEN    configmake.h" line, rather than
37020         the 30+ statements that perform the job.  If you want to see the
37021         actual commands, you can still run "make V=1".
37022         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
37023         so that make output is abbreviated when those variables are defined
37024         appropriately.
37025         * modules/argz: Likewise.
37026         * modules/arpa_inet: Likewise.
37027         * modules/byteswap: Likewise.
37028         * modules/configmake: Likewise.
37029         * modules/dirent: Likewise.
37030         * modules/errno: Likewise.
37031         * modules/fcntl: Likewise.
37032         * modules/float: Likewise.
37033         * modules/fnmatch: Likewise.
37034         * modules/getopt-posix: Likewise.
37035         * modules/glob: Likewise.
37036         * modules/iconv_open: Likewise.
37037         * modules/inttypes: Likewise.
37038         * modules/localcharset: Likewise.
37039         * modules/locale: Likewise.
37040         * modules/math: Likewise.
37041         * modules/netdb: Likewise.
37042         * modules/netinet_in: Likewise.
37043         * modules/poll: Likewise.
37044         * modules/posix_spawnp-tests: Likewise.
37045         * modules/sched: Likewise.
37046         * modules/search: Likewise.
37047         * modules/selinux-h: Likewise.
37048         * modules/signal: Likewise.
37049         * modules/spawn: Likewise.
37050         * modules/stdarg: Likewise.
37051         * modules/stdbool: Likewise.
37052         * modules/stddef: Likewise.
37053         * modules/stdint: Likewise.
37054         * modules/stdio: Likewise.
37055         * modules/stdlib: Likewise.
37056         * modules/string: Likewise.
37057         * modules/strings: Likewise.
37058         * modules/sys_file: Likewise.
37059         * modules/sys_ioctl: Likewise.
37060         * modules/sys_select: Likewise.
37061         * modules/sys_socket: Likewise.
37062         * modules/sys_stat: Likewise.
37063         * modules/sys_time: Likewise.
37064         * modules/sys_times: Likewise.
37065         * modules/sys_utsname: Likewise.
37066         * modules/sys_wait: Likewise.
37067         * modules/sysexits: Likewise.
37068         * modules/time: Likewise.
37069         * modules/unistd: Likewise.
37070         * modules/wchar: Likewise.
37071         * modules/wctype: Likewise.
37072
37073 2009-08-22  Jim Meyering  <meyering@redhat.com>
37074
37075         announce-gen: detect write failure
37076         * build-aux/announce-gen: Add Coda at end.
37077         Remove equivalent-but-more-verbose block at top.
37078
37079 2009-08-19  Akim Demaille  <demaille@gostai.com>
37080
37081         bootstrap: --help to stdout.
37082         * bootstrap (usage): Don't send --help to stderr.
37083         Use a here doc instead of a long string.
37084
37085 2009-08-21  Eric Blake  <ebb9@byu.net>
37086
37087         test-popen-safer: split from test-popen
37088         * tests/test-popen.c (main): Move...
37089         * tests/test-popen.h: ...into new file.
37090         * tests/test-popen-safer2.c: New file.
37091         * modules/popen-tests (Files): Add test-popen.h.
37092         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
37093         Suggested by Bruno Haible.
37094
37095         test-fcntl-safer: split from test-open
37096         * tests/test-open.c (main): Move...
37097         * tests/test-open.h: ...into new file.
37098         * tests/test-fcntl-safer.c: New file.
37099         * modules/open-tests (Files): Add test-open.h.
37100         * modules/fcntl-safer-tests: New file.
37101         Suggested by Bruno Haible.
37102
37103         test-fopen-safer: split from test-fopen
37104         * tests/test-fopen.c (main): Move...
37105         * tests/test-fopen.h: ...into new file.
37106         * tests/test-fopen-safer.c: New file.
37107         * modules/fopen-tests (Files): Add test-fopen.h.
37108         * modules/fopen-safer-tests: New file.
37109         Suggested by Bruno Haible.
37110
37111 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
37112
37113         popen-safer: test O_CLOEXEC at run-time.
37114         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
37115
37116 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
37117
37118         fcntl: move more flags to the header
37119         * lib/cloexec.c: Do not define FD_CLOEXEC here.
37120         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
37121         * lib/fcntl.in.h: Do both things here.
37122
37123 2009-08-21  Jim Meyering  <meyering@redhat.com>
37124
37125         consistently remove $@-t before redirecting to it
37126         * modules/argz: Remove $@-t and $@ before redirecting to the former.
37127         * modules/alloca-opt: Likewise.
37128         * modules/byteswap: Likewise.
37129         * modules/fnmatch: Likewise.
37130         * modules/getopt-posix: Likewise.
37131         * modules/glob: Likewise.
37132         * modules/poll: Likewise.
37133         * modules/posix_spawnp-tests: Likewise.
37134         * modules/sys_socket: Likewise.
37135         * modules/sysexits: Likewise.
37136
37137 2009-08-21  Eric Blake  <ebb9@byu.net>
37138
37139         popen: simplify access to original popen
37140         * lib/popen.c (rpl_popen): No need to worry about popen being a
37141         macro.
37142         Reported by Bruno Haible.
37143
37144 2009-08-20  Eric Blake  <ebb9@byu.net>
37145
37146         build: avoid some compiler warnings
37147         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
37148         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
37149         type.
37150         (new_exclude_segment, excluded_file_pattern_p)
37151         (excluded_file_name_p): Reduce scope.
37152         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
37153         old-style declaration.
37154
37155 2009-08-20  Simon Josefsson  <simon@josefsson.org>
37156
37157         * tests/test-exclude1.sh: Handle Windows EOL.
37158         * tests/test-exclude2.sh: Likewise.
37159         * tests/test-exclude3.sh: Likewise.
37160         * tests/test-exclude4.sh: Likewise.
37161         * tests/test-exclude5.sh: Likewise.
37162         * tests/test-exclude6.sh: Likewise.
37163         * tests/test-exclude7.sh: Likewise.
37164
37165 2009-08-19  Akim Demaille  <demaille@gostai.com>
37166
37167         bootstrap: find sha1sum when named gsha1sum.
37168         * bootstrap (find_tool): New.
37169         ($SHA1SUM): New.
37170         Use it.
37171
37172 2009-08-20  Jim Meyering  <meyering@redhat.com>
37173
37174         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
37175         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
37176         expression that converts "." in a file name to "\." in the resulting
37177         regexp.  Start with a dummy statement, so that prior shell variable
37178         definitions are expanded portably.  Reported by Simon Josefsson.
37179
37180 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
37181
37182         Fix polling for writeability of a screen buffer.
37183         * lib/poll.c: Distinguish input and screen buffers for the
37184         Win32 implementation.
37185         * lib/select.c: Likewise.
37186
37187 2009-08-19  Eric Blake  <ebb9@byu.net>
37188
37189         popen-safer: prevent popen from clobbering std descriptors
37190         * modules/popen-safer: New file.
37191         * lib/popen-safer.c: Likewise.
37192         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
37193         * lib/stdio--.h (popen): Provide override.
37194         * lib/stdio-safer.h (popen_safer): Provide declaration.
37195         * tests/test-popen.c (includes): Partially test this.
37196         * modules/popen-safer-tests: New file, for more tests.
37197         * tests/test-popen-safer.c: Likewise.
37198         * MODULES.html.sh (file stream based Input/Output): Mention it.
37199
37200         tests: test some of the *-safer modules
37201         * modules/fopen-safer (Depends-on): Add fopen.
37202         * modules/fcntl-safer (Depends-on): Add fcntl.
37203         * modules/stdlib-safer (Depends-on): Add stdlib.
37204         (configure.ac): Set indicator.
37205         * modules/unistd-safer (configure.ac): Likewise.
37206         * modules/tmpfile-safer (configure.ac): Likewise.
37207         (Depends-on): Add tmpfile.
37208         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
37209         active.
37210         * tests/test-fopen.c (includes): Test safer versions when they are
37211         in use.
37212         * tests/test-open.c (includes): Likewise.
37213
37214         popen: fix cygwin 1.5 bug when stdin closed
37215         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
37216         * modules/popen: New file.
37217         * modules/popen-tests: Likewise.
37218         * tests/test-popen.c: Likewise.
37219         * m4/popen.m4: Likewise.
37220         * lib/popen.c: Likewise.
37221         * lib/stdio.in.h (popen): New declaration.
37222         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
37223         * modules/stdio (Makefile.am): Likewise.
37224         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
37225
37226 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
37227
37228         maint.mk: give full control over update-copyright exclusions
37229         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
37230         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
37231         (update-copyright): Don't force inclusion of top-level
37232         ChangeLog.  Don't force exclusion of all COPYING files, but make
37233         them the default exclusion instead.
37234
37235 2009-08-16  Bruno Haible  <bruno@clisp.org>
37236
37237         Fix test failures on Solaris 10.
37238         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
37239         tests when Solaris iconv() is used.
37240         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
37241         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
37242         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
37243         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
37244         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
37245
37246 2009-08-16  Bruno Haible  <bruno@clisp.org>
37247
37248         Fix test failures on Solaris 10.
37249         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
37250         'tr' program and pass it as first argument.
37251         * tests/test-pipe-filter-gi1.sh: Likewise.
37252         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
37253         program as first argument.
37254         * tests/test-pipe-filter-gi1.c (main): Likewise.
37255
37256 2009-08-16  Eric Blake  <ebb9@byu.net>
37257
37258         fpurge: fix previous commits
37259         * modules/fpurge (Makefile.am): Make replacement conditional,
37260         partially reverting 2007-04-29 change; missed in previous
37261         attempt.
37262         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
37263         is missing.
37264
37265 2009-08-16  Bruno Haible  <bruno@clisp.org>
37266
37267         Clarify fpurge's effect on the file position.
37268         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
37269         * tests/test-fpurge.c (main): Make a second pass for checking the file
37270         position.
37271
37272 2009-08-16  Bruno Haible  <bruno@clisp.org>
37273
37274         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
37275         declaration of fpurge is missing.
37276         * tests/test-fpurge.c (main): Check that the file has not more contents
37277         than expected. Close the file before removing it.
37278
37279 2009-08-15  Eric Blake  <ebb9@byu.net>
37280
37281         fpurge: don't wrap working cygwin implementation
37282         * lib/fpurge.c (fpurge): Fix comment typo.
37283         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
37284         1.7 to avoid replacement.
37285         * tests/test-fpurge.c (main): Enhance test.
37286
37287 2009-08-15  Eric Blake  <ebb9@byu.net>
37288         and Jim Meyering  <meyering@redhat.com>
37289
37290         test-update-copyright: skip if perl is insufficient
37291         * tests/test-update-copyright.sh: Failure to run maintainer tool
37292         should not cause testsuite failure on cygwin 1.5.
37293
37294 2009-08-14  Eric Blake  <ebb9@byu.net>
37295
37296         doc: mention more functions added in cygwin 1.7.0
37297         * doc/posix-headers/limits.texi (limits.h): Update for recent
37298         cygwin additions.
37299         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
37300         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37301         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
37302         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
37303         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
37304
37305 2009-08-14  Eric Blake  <ebb9@byu.net>
37306
37307         maint.mk: simplify update-copyright rule
37308         * top/maint.mk (update-copyright-local): Delete, and document how
37309         to do it in cfg.mk instead.
37310         (update-copyright-exclude-regexp): Delete, and document how to do
37311         it in .x-update-copyright instead.
37312         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
37313         exclude ChangeLog.
37314
37315 2009-08-14  Bruno Haible  <bruno@clisp.org>
37316
37317         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
37318
37319 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
37320
37321         maint.mk: support update-copyright-env
37322         * top/maint.mk (update-copyright-env): Define place-holder.
37323         (update-copyright): Expand $(update-copyright-env) before
37324         invoking update-copyright.
37325
37326 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
37327
37328         update-copyright: implement forced reformatting
37329         * build-aux/update-copyright: Implement and document
37330         UPDATE_COPYRIGHT_FORCE.
37331         * tests/test-update-copyright.sh: Test it.
37332
37333 2009-08-14  Eric Blake  <ebb9@byu.net>
37334         and Bruno Haible  <bruno@clisp.org>
37335
37336         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
37337         * tests/test-locale.c: Revert previous patch related to NULL.
37338         * tests/test-stdio.c: Likewise.
37339         * tests/test-stdlib.c: Likewise.
37340         * tests/test-string.c: Likewise.
37341         * tests/test-unistd.c: Likewise.
37342         * modules/time-tests (Depends-on): Add verify.
37343         * modules/wchar-tests (Depends-on): Likewise.
37344         * tests/test-time.c: Test for NULL compliance.
37345         * tests/test-wchar.c: Likewise.
37346         * modules/locale (Depends-on): Add stddef.
37347         * modules/stdio (Depends-on): Likewise.
37348         * modules/stdlib (Depends-on): Likewise.
37349         * modules/string (Depends-on): Likewise.
37350         * modules/time (Depends-on): Likewise.
37351         * modules/unistd (Depends-on): Likewise.
37352         * modules/wchar (Depends-on): Likewise.
37353         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
37354         * lib/stdlib.in.h (includes): Likewise.
37355         * lib/string.in.h (includes): Likewise.
37356         * lib/time.in.h (includes): Likewise.
37357         * lib/unistd.in.h (includes): Likewise.
37358         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
37359         replaced.
37360         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37361         * m4/stddef_h.m4: New file.
37362         * modules/stddef: Likewise.
37363         * lib/stddef.in.h: Likewise.
37364         * modules/stddef-tests: Likewise.
37365         * tests/test-stddef.c: Likewise.
37366         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
37367         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
37368         * doc/posix-headers/locale.texi (locale.h): Likewise.
37369         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
37370         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
37371         * doc/posix-headers/string.texi (string.h): Likewise.
37372         * doc/posix-headers/time.texi (time.h): Likewise.
37373         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
37374         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
37375
37376 2009-08-14  Eric Blake  <ebb9@byu.net>
37377
37378         doc: improve git diff of texinfo files
37379         * .gitattributes: Add rule for *.texi files, with hint on how to
37380         use it.
37381         Copied from m4, and based on a report by Bruno Haible.
37382
37383 2009-08-14  Bruno Haible  <bruno@clisp.org>
37384
37385         Disable multithread support by default on Cygwin 1.5.x for real.
37386         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
37387
37388 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
37389
37390         update-copyright: much ado about intervals
37391         * build-aux/update-copyright: Implement and document
37392         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
37393         of copyright year intervals.
37394         Also, document UPDATE_COPYRIGHT_YEAR.
37395         * tests/test-update-copyright.sh: Test it.
37396
37397         update-copyright: convert 2-digit to 4-digit years
37398         * build-aux/update-copyright: Implement and document.
37399         * tests/test-update-copyright.sh: Update.
37400
37401 2009-08-14  Jim Meyering  <meyering@redhat.com>
37402
37403         test-exclude: avoid coreutils "make check" failure
37404         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
37405         just as in test-argmatch.c.
37406
37407 2009-08-13  Eric Blake  <ebb9@byu.net>
37408
37409         test-dup2: fix bad assumption
37410         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
37411         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
37412
37413         test-version-etc: fix CRLF portability issue
37414         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
37415         recognize \r.
37416         * tests/test-argp-version-etc-1.sh: Likewise.
37417
37418         getopt: update client modules
37419         * modules/argp (Depends-on): Use getopt-gnu.
37420         * modules/git-merge-changelog (Depends-on): Likewise.
37421         * modules/long-options (Depends-on): Likewise.
37422         * modules/xstrtol (Depends-on): Likewise.
37423
37424 2009-08-13  Simon Josefsson  <simon@josefsson.org>
37425
37426         * tests/test-version-etc.sh: Don't fail on different
37427         project/version.  Don't fail on CRLF differences.  Rewrite to use
37428         multiple -e instead of multiple sed forks, suggested by Eric Blake
37429         <ebb9@byu.net>.
37430         * tests/test-argp-version-etc-1.sh: Likewise.
37431
37432 2009-08-13  Simon Josefsson  <simon@josefsson.org>
37433
37434         * tests/test-version-etc.sh: Don't fail on different
37435         project/version.
37436
37437 2009-08-12  Bruno Haible  <bruno@clisp.org>
37438
37439         Tests for modules 'getopt-posix', 'getopt-gnu'.
37440         * modules/getopt-posix-tests: New file.
37441         * tests/test-getopt.c: New file.
37442         * tests/test-getopt.h: New file.
37443         * tests/test-getopt_long.h: New file.
37444
37445         New modules 'getopt-posix', 'getopt-gnu'.
37446         * modules/getopt-gnu: New file, renamed from modules/getopt.
37447         * modules/getopt-posix: New file.
37448         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
37449         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
37450         (gl_GETOPT): Remove macro.
37451         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
37452         Disable the test against BSD systems that declare optreset. Test
37453         against mingw bug. Test against lack of support of optional arguments
37454         on many platforms.
37455         * doc/glibc-headers/getopt.texi: Update module name and list of
37456         relevant platforms.
37457         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
37458         'getopt-gnu' and more portability problems.
37459         * NEWS: Mention the changes.
37460
37461 2009-08-12  Bruno Haible  <bruno@clisp.org>
37462
37463         Ensure that optarg etc. get declared by <unistd.h>.
37464         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
37465         AC_USE_SYSTEM_EXTENSIONS.
37466         * modules/getopt (Depends-on): Add 'extensions'.
37467
37468 2009-08-12  Bruno Haible  <bruno@clisp.org>
37469
37470         Avoid test link errors.
37471         * modules/pipe-filter-ii-tests (Makefile.am): Define
37472         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
37473         * modules/pipe-filter-gi-tests (Makefile.am): Define
37474         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
37475         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37476
37477 2009-08-12  Bruno Haible  <bruno@clisp.org>
37478
37479         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
37480         gl_GETOPT_SUBSTITUTE before.
37481         (gl_GETOPT): Use it.
37482         * m4/argp.m4 (gl_ARGP): Update.
37483         Reported by Sergey Poznyakoff.
37484
37485         * m4/getopt.m4: Reorder macros.
37486         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
37487         (gl_GETOPT_SUBSTITUTE): Remove macro.
37488
37489 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
37490
37491         Minor improvement in gitlog-to-changelog
37492
37493         * build-aux/gitlog-to-changelog: New option `--format' makes
37494         output format string configurable.
37495
37496 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
37497
37498         Optimize exclude: use hash tables for non-wildcard patterns.
37499
37500         * lib/exclude.c: Include hash.h and mbuiter.h
37501         (struct exclude_pattern, exclude_segment): New data types.
37502         (struct exclude): Rewrite.
37503         (fnmatch_pattern_has_wildcards): New function.
37504         (new_exclude_segment, free_exclude_segment): New functions.
37505         (excluded_file_pattern_p, excluded_file_name_p): New functions.
37506         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
37507         * lib/exclude.h (is_fnmatch_pattern): New prototype.
37508         * modules/exclude: Depend on hash and mbuiter.
37509
37510         * modules/exclude-tests: New file.
37511         * tests/test-exclude.c: New file.
37512         * tests/test-exclude1.sh: New file.
37513         * tests/test-exclude2.sh: New file.
37514         * tests/test-exclude3.sh: New file.
37515         * tests/test-exclude4.sh: New file.
37516         * tests/test-exclude5.sh: New file.
37517         * tests/test-exclude6.sh: New file.
37518         * tests/test-exclude7.sh: New file.
37519
37520 2009-08-12  Bruno Haible  <bruno@clisp.org>
37521
37522         Ensure that getopt() gets declared by <unistd.h>.
37523         * lib/unistd.in.h: Conditionally include getopt.h.
37524         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
37525         Set GNULIB_UNISTD_H_GETOPT.
37526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37527         GNULIB_UNISTD_H_GETOPT.
37528         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
37529
37530 2009-08-12  Bruno Haible  <bruno@clisp.org>
37531
37532         Clarify logic.
37533         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
37534         gl_replace_getopt instead of GETOPT_H.
37535
37536 2009-08-12  Bruno Haible  <bruno@clisp.org>
37537
37538         * m4/getopt.m4: Add comments.
37539
37540 2009-08-12  Bruno Haible  <bruno@clisp.org>
37541
37542         Disable multithread support by default on Cygwin 1.5.x.
37543         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
37544         set gl_use_threads=no if not specified otherwise.
37545
37546 2009-08-11  Bruno Haible  <bruno@clisp.org>
37547
37548         Avoid compilation error on NetBSD 5.0.
37549         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
37550         * tests/test-stdio.c: Likewise.
37551         * tests/test-stdlib.c: Likewise.
37552         * tests/test-string.c: Likewise.
37553         * tests/test-unistd.c: Likewise.
37554         Reported by Greg Troxel <gdt@ir.bbn.com>
37555         at <https://savannah.gnu.org/support/?106973>.
37556
37557 2009-08-11  Bruno Haible  <bruno@clisp.org>
37558
37559         * modules/dup2-tests (Depends-on): Remove close.
37560
37561         Undo 2009-07-19 commit.
37562         * modules/acl-tests (Depends-on): Remove close.
37563         * modules/binary-io-tests (Depends-on): Likewise.
37564         * modules/closein-tests (Depends-on): Likewise.
37565         * modules/flock-tests (Depends-on): Likewise.
37566         * modules/fsync-tests (Depends-on): Likewise.
37567         * modules/lseek-tests (Depends-on): Likewise.
37568         * modules/pipe-tests (Depends-on): Likewise.
37569         * modules/posix_spawn-tests (Depends-on): Likewise.
37570         * modules/posix_spawnp-tests (Depends-on): Likewise.
37571         * modules/stat-time-tests (Depends-on): Likewise.
37572         * modules/yesno-tests (Depends-on): Likewise.
37573
37574 2009-08-10  Bruno Haible  <bruno@clisp.org>
37575
37576         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
37577
37578 2009-08-10  Bruno Haible  <bruno@clisp.org>
37579
37580         Fix a gcc warning.
37581         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
37582
37583 2009-08-10  Bruno Haible  <bruno@clisp.org>
37584
37585         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
37586         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
37587         not only the first time.
37588         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
37589         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
37590         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
37591         is 1, not only the the first time.
37592
37593 2009-08-10  Bruno Haible  <bruno@clisp.org>
37594
37595         Make it possible to use module 'gethostname' without module 'close'.
37596         * lib/unistd.in.h (close): Evoke a link error only if
37597         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
37598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37599         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37600         * modules/unistd (Makefile.am): Substitute
37601         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37602         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
37603         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
37604         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
37605         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37606         * modules/sys_ioctl (Makefile.am): Substitute
37607         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37608         * modules/socket (configure.ac): On native Windows, set
37609         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
37610         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37611         Reported by Sam Steingold <sds@gnu.org>.
37612
37613 2009-08-10  Bruno Haible  <bruno@clisp.org>
37614
37615         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
37616         * modules/ioctl (configure.ac): Likewise.
37617
37618 2009-08-10  Bruno Haible  <bruno@clisp.org>
37619
37620         Avoid collision between gnulib wrapper and libintl wrapper.
37621         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
37622         already defined in intl/printf.c.
37623         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
37624         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
37625
37626 2009-08-09  Bruno Haible  <bruno@clisp.org>
37627
37628         Make <sys/select.h> really self-contained, also on Solaris 10.
37629         * lib/sys_select.in.h: Include <string.h>.
37630         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
37631         Solaris 10 problem.
37632         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
37633         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
37634         Reported by Jim Meyering.
37635
37636 2009-08-09  Bruno Haible  <bruno@clisp.org>
37637
37638         Avoid warnings from 'aclocal' that are due to a use of macro name
37639         AM_XGETTEXT_OPTION that is not defined in automake.
37640         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
37641         automake.
37642         * modules/error (configure.ac): Likewise.
37643         * modules/propername (configure.ac): Likewise.
37644         * modules/vasprintf (configure.ac): Likewise.
37645         * modules/verror (configure.ac): Likewise.
37646         * modules/xprintf (configure.ac): Likewise.
37647         * modules/xvasprintf (configure.ac): Likewise.
37648
37649 2009-08-08  Bruno Haible  <bruno@clisp.org>
37650
37651         Avoid compilation error in C++ mode.
37652         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
37653         Reported by Sam Steingold <sds@gnu.org>.
37654
37655 2009-08-08  Bruno Haible  <bruno@clisp.org>
37656
37657         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
37658         for the various Unix platforms.
37659         * doc/posix-headers/limits.texi: Update platforms list regarding
37660         HOST_NAME_MAX.
37661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37662
37663 2009-08-07  Jim Meyering  <meyering@redhat.com>
37664
37665         selinux-at: fix typo in a comment
37666         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
37667         Spotted by Paolo Bonzini.
37668
37669         selinux-at: remove redundant m4 code, add documentation
37670         * modules/selinux-at (configure.ac): Remove redundant code.
37671         LIB_SELINUX is already set via the dependent module, selinux-h.
37672         (Include): Add quotes around selinux-at.h.
37673         * lib/selinux-at.h: Add documentation.
37674         Reported by Bruno Haible in
37675         http://marc.info/?l=gnulib-bug&m=124958988300749
37676
37677 2009-08-07  Bruno Haible  <bruno@clisp.org>
37678
37679         Avoid link error on MacOS X 10.3 and 10.4.
37680         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
37681         on non-ELF systems.
37682         * lib/argp-pv.c (argp_program_version): Likewise.
37683         Reported by Simon Josefsson.
37684
37685 2009-08-07  Simon Josefsson  <simon@josefsson.org>
37686
37687         * tests/test-version-etc.sh: Use $EXEEXT.
37688
37689 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
37690
37691         update-copyright: update documentation to point to maint.mk
37692         * build-aux/update-copyright: Here.
37693
37694 2009-08-06  Jim Meyering  <meyering@redhat.com>
37695
37696         maint.mk: support update-copyright-local
37697         * top/maint.mk (update-copyright-local): Define place-holder.
37698         (update-copyright): Depend on $(update-copyright-local).
37699
37700 2009-08-06  Jim Meyering  <meyering@redhat.com>
37701
37702         selinux-at: new module
37703         Initially written for coreutils, this module will soon be
37704         used by findutils, too.
37705         * MODULES.html.sh [Misc]: Add selinux-at.
37706         * lib/selinux-at.h: New file, from coreutils.
37707         * lib/selinux-at.c: Likewise.
37708         * modules/selinux-at: Likewise.
37709         (License): Change from LGPL to GPL, since it depends
37710         on the GPL'd openat module.
37711
37712         doc: update README
37713         * README: Remove references to cogito.
37714         Remove cvs-repo-updating instructions from 2007.
37715         Don't imply that CVS is better if you have limited disk space.
37716
37717 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37718
37719         update-copyright: support C-style comments
37720         * build-aux/update-copyright: Implement and document.
37721         * tests/test-update-copyright.sh: Test.
37722
37723 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37724
37725         update-copyright: support omitted "(C)"
37726         * build-aux/update-copyright: Implement and document.  Also,
37727         allow variable whitespace before "(C)".
37728         * tests/test-update-copyright.sh: Test.
37729
37730 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37731
37732         update-copyright: don't trip on non-FSF copyright statements
37733         * build-aux/update-copyright: Fix so that the first correctly
37734         formatted FSF copyright statement is recognized no matter what
37735         appears before it.  Update documentation.
37736         * tests/test-update-copyright.sh: Test that.
37737
37738 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37739
37740         update-copyright: clean up code a little
37741         * build-aux/update-copyright: Append "_re" to the name of any
37742         variable holding a regular expression.
37743         Replace "old" and "new" with "stmt" in variable names.
37744         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
37745         handled correctly.
37746         Format code more consistently.
37747
37748 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37749
37750         update-copyright-tests: improve portability
37751         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
37752         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
37753
37754 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
37755
37756         update-copyright: support @copyright{} and &copy;
37757         * build-aux/update-copyright: Implement and document.
37758         * tests/test-update-copyright.sh: Test.
37759
37760 2009-08-04  Jim Meyering  <meyering@redhat.com>
37761
37762         update-copyright-tests: correctly test EOL=\r\n handling
37763         * tests/test-update-copyright.sh: Put \r at the end of some lines
37764         for the dos-eol tests.  Based on a patch by Joel E. Denny.
37765
37766         maint.mk: make update-copyright exclusion list more configurable
37767         * top/maint.mk (update-copyright): Default to excluding COPYING,
37768         but allow an override, in case someone does want to update that file.
37769
37770         maint.mk: don't update copyright date in COPYING
37771         * top/maint.mk (update-copyright): Exclude COPYING.
37772
37773         maint.mk: add a copyright-updating rule
37774         * top/maint.mk (update-copyright): New rule.
37775         Derived from coreutils/Makefile.am.
37776
37777         update-copyright: rename some variables
37778         * build-aux/update-copyright: Rename a few variables for clarity.
37779         Tweak syntax.  List Joel E. Denny as coauthor.
37780
37781 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
37782
37783         update-copyright: fix bug for 2-digit last year and add tests
37784         * build-aux/update-copyright: Fix bug.
37785         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
37786         specified.
37787         * modules/update-copyright-tests: New
37788         * tests/test-update-copyright.sh: New.
37789
37790 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37791
37792         update-copyright: handle leading tabs in line prefix
37793         * build-aux/update-copyright: Count leading tabs as 8 spaces
37794         when computing margin.  This helps with the formatting of
37795         ChangeLogs, for example.
37796         Fix documentation a little.
37797
37798 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37799
37800         update-copyright: support EOL=\r\n
37801         * build-aux/update-copyright: Implement that.
37802
37803 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37804
37805         update-copyright: automatically format copyright statements
37806         * build-aux/update-copyright: Implement that.
37807         Also, be a little more predictable and safer by always failing
37808         when the full copyright format is not perfectly recognized as an
37809         unbroken whole.  Discussed at
37810         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
37811         Rewrite documentation.
37812
37813 2009-08-03  Bruno Haible  <bruno@clisp.org>
37814
37815         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
37816
37817 2009-08-02  Bruno Haible  <bruno@clisp.org>
37818
37819         Tests for module 'uname'.
37820         * modules/uname-tests: New file.
37821         * tests/test-uname.c: New file.
37822
37823         New module 'uname'.
37824         * lib/uname.c: New file.
37825         * m4/uname.m4: New file.
37826         * modules/uname: New file.
37827         * doc/posix-functions/uname.texi: Mention the new module.
37828
37829 2009-08-02  Bruno Haible  <bruno@clisp.org>
37830
37831         Tests for module 'sys_utsname'.
37832         * modules/sys_utsname-tests: New file.
37833         * tests/test-sys_utsname.c: New file.
37834
37835         New module 'sys_utsname'.
37836         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
37837         * m4/sys_utsname_h.m4: New file.
37838         * modules/sys_utsname: New file.
37839         * doc/posix-headers/sys_utsname.texi: Mention the new module.
37840
37841 2009-08-02  Bruno Haible  <bruno@clisp.org>
37842
37843         Implicitly initialize the sockets library.
37844         * lib/gethostname.c: Include sockets.h.
37845         (rpl_gethostname): Invoke gl_sockets_startup.
37846         * lib/socket.c: Include sockets.h.
37847         (rpl_socket): Invoke gl_sockets_startup.
37848         * modules/gethostname (Depends-on): Add sockets.
37849         * modules/socket (Depends-on): Likewise.
37850         * tests/test-poll.c: Don't include sockets.h.
37851         (main): Don't invoke gl_sockets_startup.
37852         * tests/test-select.c: Don't include sockets.h.
37853         (main): Don't invoke gl_sockets_startup.
37854
37855 2009-08-02  Bruno Haible  <bruno@clisp.org>
37856
37857         Allow multiple calls to gl_sockets_startup.
37858         * lib/sockets.c (initialized_sockets_version): New variable.
37859         (gl_sockets_startup): Do nothing if already called for this or a higher
37860         version.
37861         (gl_sockets_cleanup): Reset initialized_sockets_version.
37862
37863 2009-08-03  Simon Josefsson  <simon@josefsson.org>
37864
37865         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
37866         different project/version.
37867
37868 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
37869             Bruno Haible  <bruno@clisp.org>
37870
37871         Tests for module 'pipe-filter-gi'.
37872         * modules/pipe-filter-gi-tests: New file.
37873         * tests/test-pipe-filter-gi1.sh: New file.
37874         * tests/test-pipe-filter-gi1.c: New file.
37875         * tests/test-pipe-filter-gi2.sh: New file.
37876         * tests/test-pipe-filter-gi2-main.c: New file.
37877         * tests/test-pipe-filter-gi2-child.c: New file.
37878
37879         New module 'pipe-filter-gi'.
37880         * lib/pipe-filter-gi.c: New file.
37881         * modules/pipe-filter-gi: New file.
37882
37883 2009-08-02  Bruno Haible  <bruno@clisp.org>
37884             Paolo Bonzini  <bonzini@gnu.org>
37885
37886         Tests for module 'pipe-filter-ii'.
37887         * modules/pipe-filter-ii-tests: New file.
37888         * tests/test-pipe-filter-ii1.sh: New file.
37889         * tests/test-pipe-filter-ii1.c: New file.
37890         * tests/test-pipe-filter-ii2.sh: New file.
37891         * tests/test-pipe-filter-ii2-main.c: New file.
37892         * tests/test-pipe-filter-ii2-child.c: New file.
37893
37894         New module 'pipe-filter-ii'.
37895         * lib/pipe-filter.h: New file.
37896         * lib/pipe-filter-ii.c: New file.
37897         * lib/pipe-filter-aux.h: New file.
37898         * modules/pipe-filter-ii: New file.
37899
37900 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37901
37902         * lib/gc-libgcrypt.c: Change copyright to FSF.
37903         * lib/gc-gnulib.c: Likewise.
37904
37905 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
37906
37907         * lib/gethostname.c: Include limits.h.
37908
37909 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37910             Bruno Haible  <bruno@clisp.org>
37911
37912         Ensure HOST_NAME_MAX as part of the gethostname module.
37913         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
37914         define also HOST_NAME_MAX.
37915         * tests/test-gethostname.c: Include <limits.h>.
37916         (main): Check also HOST_NAME_MAX.
37917         * doc/posix-headers/limits.texi: Document the mingw problem.
37918
37919 2009-08-02  Bruno Haible  <bruno@clisp.org>
37920
37921         * lib/gethostname.c (gethostname): Fix handling of large len argument.
37922         Add comments.
37923
37924 2009-03-31  Simon Josefsson  <simon@josefsson.org>
37925
37926         * lib/gethostname.c: Add Windows wrapper.
37927         * m4/gethostname.m4: Look for gethostname in -lws2_32.
37928         * modules/gethostname: Depend on sys_socket & errno, for also
37929         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
37930         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
37931
37932 2009-07-31  Jim Meyering  <meyering@redhat.com>
37933
37934         getloadavg: fix symbol name in comment
37935         * lib/getloadavg.c: Correct a typo I introduced when adding
37936         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
37937         Matt Kraai spotted the problem.
37938
37939 2009-07-29  Matt Kraai  <mkraai@beckman.com>
37940
37941         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
37942         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
37943         code also if ! defined N_NAME_POINTER.
37944         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
37945         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
37946         but the n_name member is a 12-byte array.
37947
37948 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
37949
37950         update-copyright: generalize comment handling
37951         * build-aux/update-copyright: Handle copyright statements
37952         within more comment styles.
37953         Document usage.
37954         Report any file with an external copyright holder or parse failure.
37955
37956 2009-07-29  Jim Meyering  <meyering@redhat.com>
37957
37958         mktime: correct setting of REPLACE_MKTIME
37959         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
37960
37961         update-copyright: new module
37962         * modules/update-copyright: New file.
37963         * build-aux/update-copyright: New file.
37964         * MODULES.html.sh (maint+release support): Add update-copyright.
37965
37966 2009-07-27  Bruno Haible  <bruno@clisp.org>
37967
37968         Fix compilation error when <ctime> is used and mktime is replaced.
37969         * lib/time.in.h (mktime): New declaration.
37970         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
37971         REPLACE_MKTIME instead of defining mktime in config.h.
37972         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
37973         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
37974         Reported by Ross McFarland <rwmcfa1@neces.com>.
37975
37976 2009-07-27  Bruno Haible  <bruno@clisp.org>
37977
37978         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
37979         Reported by Matt Kraai <mkraai@beckman.com>.
37980
37981 2009-07-25  Jim Meyering  <meyering@redhat.com>
37982
37983         maint.mk: avoid warnings about missing files
37984         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
37985         diagnostic when .prev-version does not exist.
37986         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
37987         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
37988         nonexistent cfg.mk.
37989         Suggestions from Simon Josefsson.
37990
37991 2009-07-25  Bruno Haible  <bruno@clisp.org>
37992
37993         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
37994         defined as macros. Needed on QNX 6.4.1.
37995         Reported by Matt Kraai <mkraai@beckman.com>.
37996
37997 2009-07-23  Jim Meyering  <meyering@redhat.com>
37998
37999         maint.mk: invoke "make dist" with a working value of XZ_OPT
38000         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
38001
38002 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
38003
38004         Make fseeko.c compile on QNX.
38005         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
38006
38007 2009-07-22  Peter Simons  <simons@cryp.to>
38008
38009         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
38010         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
38011         * lib/md4.h: Likewise.
38012         * lib/md5.h: Likewise.
38013         * lib/sha1.h: Likewise.
38014         * lib/sha256.h: Likewise.
38015         * lib/sha512.h: Likewise.
38016
38017         tests-sha1: don't assign literal string to 'char *' variable
38018         * tests/test-sha1.c (main): Declare locals with "const" to match
38019         attributes of the right hand side.
38020
38021 2009-07-21  Eric Blake  <ebb9@byu.net>
38022
38023         dup2: fix more mingw problems
38024         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
38025         fd to itself.
38026         * doc/posix-functions/dup2.texi (dup2): Document the bug.
38027         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
38028         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
38029         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
38030         care of mingw bugs.
38031
38032 2009-07-21  Jim Meyering  <meyering@redhat.com>
38033
38034         vc-list-files: avoid failure when /bin/sh is dash
38035         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
38036         On some Debian based systems, /bin/sh is a symlink to dash, and running
38037         this command would omit the "/" following each 'tests' prefix:
38038           dash -x build-aux/vc-list-files -C . tests
38039         That is because bash and dash work differently:
38040           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
38041           bash ok
38042           dash odd
38043
38044 2009-07-21  Eric Blake  <ebb9@byu.net>
38045
38046         dup2-tests: test previous patch
38047         * modules/dup2-tests: New file.
38048         * tests/test-dup2.c: Likewise.
38049         * tests/test-open.c (main): Avoid unspecified behavior.
38050         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
38051         test.
38052
38053         dup2: work around mingw and cygwin 1.5 bug
38054         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
38055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38056         * modules/unistd (Makefile.am): Substitute it.
38057         * lib/unistd.in.h (dup2): Declare the replacement.
38058         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
38059         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
38060         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
38061         * modules/execute (Depends-on): Add dup2.
38062         * modules/fseterr (Depends-on): Likewise.
38063         * modules/pipe (Depends-on): Likewise.
38064         * modules/posix_spawn-internal (Depends-on): Likewise.
38065
38066 2009-07-21  Bruno Haible  <bruno@clisp.org>
38067
38068         * modules/.gitattributes: New file.
38069
38070 2009-07-20  Bruno Haible  <bruno@clisp.org>
38071
38072         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
38073         (main): Use it.
38074
38075 2009-07-20  Eric Blake  <ebb9@byu.net>
38076
38077         test-pipe: make a bit more robust.
38078         * tests/test-pipe.c (myerr): Allow error messages regardless of
38079         what we do to stderr.
38080         (test_pipe): Rearrange to avoid deadlock.
38081         (child_main): Try a larger read, to ensure we avoided deadlock.
38082         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
38083         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
38084         if misused.
38085
38086 2009-07-19  Jim Meyering  <meyering@redhat.com>
38087
38088         fts: avoid false-positive cycle-detection
38089         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
38090         for each new command line argument.
38091
38092 2009-07-19  Bruno Haible  <bruno@clisp.org>
38093
38094         Fix build error on mingw with the modules sys_select and unistd.
38095         * modules/acl-tests (Depends-on): Add close.
38096         * modules/binary-io-tests (Depends-on): Likewise.
38097         * modules/closein-tests (Depends-on): Likewise.
38098         * modules/flock-tests (Depends-on): Likewise.
38099         * modules/fsync-tests (Depends-on): Likewise.
38100         * modules/lseek-tests (Depends-on): Likewise.
38101         * modules/pipe-tests (Depends-on): Likewise.
38102         * modules/posix_spawn-tests (Depends-on): Likewise.
38103         * modules/posix_spawnp-tests (Depends-on): Likewise.
38104         * modules/stat-time-tests (Depends-on): Likewise.
38105         * modules/yesno-tests (Depends-on): Likewise.
38106
38107 2009-07-19  Bruno Haible  <bruno@clisp.org>
38108
38109         Unify conditionals.
38110         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
38111         macros, not at the compiler macros.
38112         * lib/pipe.c: Likewise.
38113         * lib/execute.c: Likewise.
38114         * lib/spawni.c: Likewise.
38115
38116 2009-07-19  Bruno Haible  <bruno@clisp.org>
38117
38118         Fix handling of closed stdin/stdout/stderr on mingw.
38119         * lib/w32spawn.h: Include unistd.h.
38120         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
38121         file descriptor with O_NOINHERIT flag.
38122         (fd_safer_noinherit): New function, based on fd-safer.c.
38123         (dup_safer_noinherit): New function, based on dup-safer.c.
38124         (undup_safer_noinherit): New function.
38125         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
38126         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
38127         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
38128         instead of fd_safer.
38129         * tests/test-pipe.c: Include <windows.h>.
38130         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
38131         result.
38132
38133         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
38134         from main.
38135         (test_pipe): Pass an extra argument for disambiguation.
38136         (main): Invoke parent_main or child_main.
38137
38138         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
38139         consistently.
38140
38141 2009-07-18  Eric Blake  <ebb9@byu.net>
38142
38143         test-pipe: fix mingw build
38144         * tests/test-pipe.c (main): Avoid fcntl on mingw.
38145
38146 2009-07-18  Bruno Haible  <bruno@clisp.org>
38147
38148         * modules/pipe-tests (Makefile.am): Fix typo.
38149
38150 2009-07-18  Eric Blake  <ebb9@byu.net>
38151
38152         error: fix mingw build
38153         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
38154         Reported by Bruno Haible.
38155
38156         error: avoid undefined use of stdout
38157         * lib/error.c (error, error_at_line): Check that fd 1 is open
38158         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
38159         is handling faults and the close_stdout module wants to report the
38160         detection of closed stdout as an error.
38161
38162 2009-07-17  Eric Blake  <ebb9@byu.net>
38163
38164         pipe: be robust in face of closed fds
38165         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
38166         should cause child to misbehave.
38167         * modules/pipe-tests: New module.
38168         * tests/test-pipe.c: New file.
38169         * tests/test-pipe.sh: New file.
38170         Reported by Akim Demaille.
38171
38172 2009-07-14  Bruno Haible  <bruno@clisp.org>
38173
38174         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
38175         Reported by anonymous kc.
38176
38177 2009-07-07  Jim Meyering  <meyering@redhat.com>
38178
38179         maint.mk: don't look for translatable strings in *.m4 or *.mk
38180         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
38181         when searching for translatable strings.
38182
38183 2009-07-05  Jim Meyering  <meyering@redhat.com>
38184
38185         remove superfluous parentheses in STREQ definition
38186         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
38187         * lib/getugroups.c (STREQ): Likewise.
38188         * lib/fnmatch.c (STREQ): Likewise.
38189         Spotted by Bruno Haible.
38190
38191 2009-07-04  Jim Meyering  <meyering@redhat.com>
38192
38193         argv-iter: new module
38194         * MODULES.html.sh: Add argv-iter.
38195         * lib/argv-iter.c, lib/argv-iter.h: New files.
38196         * modules/argv-iter: New file.
38197         * modules/argv-iter-tests: New file.
38198         * tests/test-argv-iter.c: Test it.
38199
38200 2009-07-04  Bruno Haible  <bruno@clisp.org>
38201
38202         Fix assertion.
38203         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
38204         contains more exact copies of a given entry than file2, leave the extra
38205         copies unpaired rather than aborting.
38206         Reported by Eric Blake.
38207
38208 2009-07-02  Bruno Haible  <bruno@clisp.org>
38209
38210         Speedup git-merge-changelog for git cherry-pick.
38211         * lib/git-merge-changelog.c (struct entries_mapping): New type.
38212         (entries_mapping_get): New function, extracted from compute_mapping.
38213         (entries_mapping_reverse_get): New function.
38214         (compute_mapping): Add a 'full' argument. Return the result in a
38215         'struct entries_mapping'.
38216         (main): Update. Access the mappings through entries_mapping_get.
38217         Reported by Eric Blake.
38218
38219 2009-07-02  Bruno Haible  <bruno@clisp.org>
38220
38221         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
38222         best_i.
38223
38224 2009-07-02  Bruno Haible  <bruno@clisp.org>
38225
38226         Speed up approximate search for matching ChangeLog entries.
38227         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
38228         argument. Call fstrcmp_bounded instead of fstrcmp.
38229         (compute_mapping, try_split_merged_entry, main): Update callers.
38230
38231 2009-07-02  Bruno Haible  <bruno@clisp.org>
38232
38233         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
38234
38235 2009-06-30  Bruno Haible  <bruno@clisp.org>
38236
38237         Reduce the number of uc_is_cased calls.
38238         * lib/unicase.h (casing_suffix_context_t): Add
38239         'first_char_except_ignorable' field.
38240         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
38241         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
38242         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
38243         Update initializer.
38244         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
38245         case-ignorable characters.
38246         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
38247         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
38248         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
38249         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
38250         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
38251
38252 2009-06-30  Bruno Haible  <bruno@clisp.org>
38253
38254         Tests for module 'unicase/ignorable'.
38255         * modules/unicase/ignorable-tests: New file.
38256         * tests/unicase/test-ignorable.c: New file, generated by
38257         gen-uni-tables.
38258
38259         Tests for module 'unicase/cased'.
38260         * modules/unicase/cased-tests: New file.
38261         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
38262         * tests/unicase/test-predicate-part1.h: New file, derived from
38263         tests/unictype/test-predicate-part1.h.
38264         * tests/unicase/test-predicate-part2.h: New file, same as
38265         tests/unictype/test-predicate-part2.h.
38266
38267         Fix evaluation of "Before C" condition of FINAL_SIGMA.
38268         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
38269         (output_casing_properties): New function.
38270         (main): Call it.
38271         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
38272         * lib/unicase/cased.c: Include unictype/bitmap.h.
38273         (uc_is_cased): Define through a bitmap lookup.
38274         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
38275         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
38276         (uc_is_case_ignorable): Define through a bitmap lookup.
38277         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
38278         lib/unictype/bitmap.h.
38279         (Depends-on): Add inline. Clean up.
38280         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
38281         lib/unictype/bitmap.h.
38282         (Depends-on): Add inline. Clean up.
38283         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
38284         recognition.
38285         * tests/unicase/test-u16-tolower.c (main): Likewise.
38286         * tests/unicase/test-u32-tolower.c (main): Likewise.
38287
38288 2009-06-30  Bruno Haible  <bruno@clisp.org>
38289
38290         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
38291         * lib/unicase/u16-casemap.c: Likewise.
38292         * lib/unicase/u32-casemap.c: Likewise.
38293
38294 2009-06-29  Bruno Haible  <bruno@clisp.org>
38295
38296         Define u32_casefold as a wrapper around u32_ct_casefold.
38297         * lib/unicase/u32-casefold.c: Update.
38298         * modules/unicase/u32-casefold (Depends-on): Add
38299         unicase/u32-ct-casefold, unicase/empty-prefix-context,
38300         unicase/empty-suffix-context. Clean up.
38301
38302         Define u16_casefold as a wrapper around u16_ct_casefold.
38303         * lib/unicase/u16-casefold.c: Update.
38304         * modules/unicase/u16-casefold (Depends-on): Add
38305         unicase/u16-ct-casefold, unicase/empty-prefix-context,
38306         unicase/empty-suffix-context. Clean up.
38307
38308         Define u8_casefold as a wrapper around u8_ct_casefold.
38309         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
38310         * lib/unicase/u8-casefold.c: Update.
38311         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
38312         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
38313
38314         Define u32_totitle as a wrapper around u32_ct_totitle.
38315         * lib/unicase/u32-totitle.c: Update.
38316         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
38317         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
38318
38319         Define u16_totitle as a wrapper around u16_ct_totitle.
38320         * lib/unicase/u16-totitle.c: Update.
38321         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
38322         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
38323
38324         Define u8_totitle as a wrapper around u8_ct_totitle.
38325         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
38326         functions.
38327         (FUNC): Delegate to U_CT_TOTITLE.
38328         * lib/unicase/u8-totitle.c: Update.
38329         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
38330         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
38331
38332         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
38333         invocation.
38334         * modules/unicase/u32-tolower (Depends-on): Add
38335         unicase/empty-prefix-context, unicase/empty-suffix-context.
38336
38337         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
38338         invocation.
38339         * modules/unicase/u16-tolower (Depends-on): Add
38340         unicase/empty-prefix-context, unicase/empty-suffix-context.
38341
38342         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
38343         * modules/unicase/u8-tolower (Depends-on): Add
38344         unicase/empty-prefix-context, unicase/empty-suffix-context.
38345
38346         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
38347         invocation.
38348         * modules/unicase/u32-toupper (Depends-on): Add
38349         unicase/empty-prefix-context, unicase/empty-suffix-context.
38350
38351         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
38352         invocation.
38353         * modules/unicase/u16-toupper (Depends-on): Add
38354         unicase/empty-prefix-context, unicase/empty-suffix-context.
38355
38356         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
38357         * modules/unicase/u8-toupper (Depends-on): Add
38358         unicase/empty-prefix-context, unicase/empty-suffix-context.
38359
38360         New module 'unicase/u32-ct-casefold'.
38361         * lib/unicase/u32-ct-casefold.c: New file.
38362         * modules/unicase/u32-ct-casefold: New file.
38363
38364         New module 'unicase/u16-ct-casefold'.
38365         * lib/unicase/u16-ct-casefold.c: New file.
38366         * modules/unicase/u16-ct-casefold: New file.
38367
38368         New module 'unicase/u8-ct-casefold'.
38369         * lib/unicase/u8-ct-casefold.c: New file.
38370         * lib/unicase/u-ct-casefold.h: New file, derived from
38371         lib/unicase/u-casefold.h.
38372         * modules/unicase/u8-ct-casefold: New file.
38373
38374         New module 'unicase/u32-ct-totitle'.
38375         * lib/unicase/u32-ct-totitle.c: New file.
38376         * modules/unicase/u32-ct-totitle: New file.
38377
38378         New module 'unicase/u16-ct-totitle'.
38379         * lib/unicase/u16-ct-totitle.c: New file.
38380         * modules/unicase/u16-ct-totitle: New file.
38381
38382         New module 'unicase/u8-ct-totitle'.
38383         * lib/unicase/u8-ct-totitle.c: New file.
38384         * lib/unicase/u-ct-totitle.h: New file, derived from
38385         lib/unicase/u-totitle.h.
38386         * modules/unicase/u8-ct-totitle: New file.
38387
38388         New module 'unicase/u32-ct-tolower'.
38389         * lib/unicase/u32-ct-tolower.c: New file.
38390         * modules/unicase/u32-ct-tolower: New file.
38391
38392         New module 'unicase/u16-ct-tolower'.
38393         * lib/unicase/u16-ct-tolower.c: New file.
38394         * modules/unicase/u16-ct-tolower: New file.
38395
38396         New module 'unicase/u8-ct-tolower'.
38397         * lib/unicase/u8-ct-tolower.c: New file.
38398         * modules/unicase/u8-ct-tolower: New file.
38399
38400         New module 'unicase/u32-ct-toupper'.
38401         * lib/unicase/u32-ct-toupper.c: New file.
38402         * modules/unicase/u32-ct-toupper: New file.
38403
38404         New module 'unicase/u16-ct-toupper'.
38405         * lib/unicase/u16-ct-toupper.c: New file.
38406         * modules/unicase/u16-ct-toupper: New file.
38407
38408         New module 'unicase/u8-ct-toupper'.
38409         * lib/unicase/u8-ct-toupper.c: New file.
38410         * modules/unicase/u8-ct-toupper: New file.
38411
38412         Add context arguments to u*_casemap functions.
38413         * lib/unicase/unicasemap.h: Include unicase.h.
38414         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
38415         suffix_context arguments.
38416         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
38417         functions.
38418         (FUNC): Add prefix_context and suffix_context arguments. Use
38419         uc_is_cased and uc_is_case_ignorable.
38420         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
38421         * lib/unicase/u16-casemap.c: Likewise.
38422         * lib/unicase/u32-casemap.c: Likewise.
38423         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
38424         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
38425         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
38426         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
38427         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
38428         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
38429
38430         New module 'unicase/u32-suffix-context'.
38431         * lib/unicase/u32-suffix-context.c: New file.
38432         * modules/unicase/u32-suffix-context: New file.
38433
38434         New module 'unicase/u16-suffix-context'.
38435         * lib/unicase/u16-suffix-context.c: New file.
38436         * modules/unicase/u16-suffix-context: New file.
38437
38438         New module 'unicase/u8-suffix-context'.
38439         * lib/unicase/u8-suffix-context.c: New file.
38440         * lib/unicase/u-suffix-context.h: New file.
38441         * modules/unicase/u8-suffix-context: New file.
38442
38443         New module 'unicase/empty-suffix-context'.
38444         * lib/unicase/empty-suffix-context.c: New file.
38445         * modules/unicase/empty-suffix-context: New file.
38446
38447         New module 'unicase/u32-prefix-context'.
38448         * lib/unicase/u32-prefix-context.c: New file.
38449         * modules/unicase/u32-prefix-context: New file.
38450
38451         New module 'unicase/u16-prefix-context'.
38452         * lib/unicase/u16-prefix-context.c: New file.
38453         * modules/unicase/u16-prefix-context: New file.
38454
38455         New module 'unicase/u8-prefix-context'.
38456         * lib/unicase/u8-prefix-context.c: New file.
38457         * lib/unicase/u-prefix-context.h: New file.
38458         * lib/unicase/context.h: New file.
38459         * modules/unicase/u8-prefix-context: New file.
38460
38461         New module 'unicase/empty-prefix-context'.
38462         * lib/unicase/empty-prefix-context.c: New file.
38463         * modules/unicase/empty-prefix-context: New file.
38464
38465         New module 'unicase/ignorable'.
38466         * lib/unicase/ignorable.c: New file.
38467         * modules/unicase/ignorable: New file.
38468
38469         New module 'unicase/cased'.
38470         * lib/unicase/caseprop.h: New file.
38471         * lib/unicase/cased.c: New file.
38472         * modules/unicase/cased: New file.
38473
38474         New functions for case mapping of substrings.
38475         * lib/unicase.h (casing_prefix_context_t): New type.
38476         (unicase_empty_prefix_context): New variable.
38477         (u8_casing_prefix_context, u16_casing_prefix_context,
38478         u32_casing_prefix_context, u8_casing_prefixes_context,
38479         u16_casing_prefixes_context, u32_casing_prefixes_context): New
38480         declarations.
38481         (casing_suffix_context_t): New type.
38482         (unicase_empty_suffix_context): New variable.
38483         (u8_casing_suffix_context, u16_casing_suffix_context,
38484         u32_casing_suffix_context, u8_casing_suffixes_context,
38485         u16_casing_suffixes_context, u32_casing_suffixes_context,
38486         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
38487         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
38488         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
38489         declarations.
38490
38491 2009-06-28  Jim Meyering  <meyering@redhat.com>
38492
38493         boostrap: indent only with spaces
38494         * build-aux/bootstrap: Indent only with spaces, never TABs.
38495
38496         bootstrap: split long lines
38497         * build-aux/bootstrap: Keep line length < 80.
38498
38499         bootstrap: sync from coreutils
38500         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
38501         just as autoreconf does.  Verify a list of prerequisite
38502         package-name,version-number pairs if defined in bootstrap.conf.
38503         Refer to README-prereq, if prerequisites are not satisfied.
38504
38505 2009-06-27  Eric Blake  <ebb9@byu.net>
38506
38507         tests: add test for bogus NULL definition
38508         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
38509         * tests/test-stdlib.c: Likewise.
38510         * tests/test-string.c: Likewise.
38511         * tests/test-locale.c: Likewise.
38512         * tests/test-unistd.c: Likewise.
38513         * modules/stdio-tests (Depends-on): Add verify.
38514         * modules/stdlib-tests (Depends-on): Likewise.
38515         * modules/string-tests (Depends-on): Likewise.
38516         * modules/locale-tests (Depends-on): Likewise.
38517         * modules/unistd-tests (Depends-on): Likewise.
38518
38519 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
38520
38521         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
38522         self-explaining comment.
38523         * m4/selinux-selinux-h: Update serial.
38524         (gl_LIBSELINUX): New macro, adding a warning for missing development
38525         packages to code extracted from...
38526         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
38527         Add warning for missing development packages here, too.
38528
38529 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
38530
38531         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
38532
38533 2009-06-25  Eric Blake  <ebb9@byu.net>
38534
38535         version-etc: fix regression
38536         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
38537         gcc.
38538         (version_etc): Use it, to catch bugs with trailing NULL.
38539         * lib/version-etc.c (version_etc_arn): Delete unused argument.
38540         (version_etc_va): Fix logic bug.
38541         * modules/version-etc-tests: Add test.
38542         * tests/test-version-etc.c: New file.
38543         * tests/test-version-etc.sh: Likewise.
38544
38545 2009-06-25  Sam Steingold  <sds@gnu.org>
38546
38547         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
38548         mbtowc declaration.
38549
38550 2009-06-25  Eric Blake  <ebb9@byu.net>
38551
38552         fpurge: migrate into <stdio.h>
38553         * lib/fpurge.h: Delete...
38554         * lib/stdio.in.h (fpurge): ...and declare here, instead.
38555         * lib/fpurge.c (fpurge): Change declaring header.
38556         * modules/fpurge (Files): Drop deleted file.
38557         (Depends-on): Add stdio.
38558         (configure.ac): Set witness.
38559         * modules/stdio (Makefile.am): Support fpurge macros.
38560         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38561         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
38562         * lib/fflush.c: Update client.
38563         * tests/test-fpurge.c: Likewise.
38564         * NEWS: Mention the change.
38565
38566 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38567
38568         * lib/argp-version-etc.c (program_authors): Add const
38569         qualifier.
38570         * lib/version-etc.c: Fix typos in the comments.
38571         * modules/argp-version-etc: Depends on version-etc.
38572
38573 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38574
38575         argp-version-etc: new module.
38576
38577         * lib/argp-version-etc.c: New file.
38578         * lib/argp-version-etc.h: New file.
38579         * modules/argp-version-etc: New file.
38580         * modules/argp-version-etc-tests: New file.
38581         * tests/test-argp-version-etc.c: New test.
38582         * tests/test-argp-version-etc-1.sh: New test.
38583
38584 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38585
38586         Provide additional interfaces and documentation for version-etc
38587         module.
38588
38589         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
38590         interfaces.
38591         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
38592         prototypes.
38593
38594 2009-06-24  Bruno Haible  <bruno@clisp.org>
38595
38596         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
38597         HAVE_LIB${NAME} macro.
38598         Reported by Sam Steingold <sds@gnu.org>.
38599
38600 2009-06-23  Simon Josefsson  <simon@josefsson.org>
38601
38602         * modules/hash-tests (test_hash_LDADD): Link to libintl when
38603         needed.
38604
38605 2009-06-21  Bruno Haible  <bruno@clisp.org>
38606
38607         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
38608         work.
38609         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
38610         together with LIB${NAME}, LTLIB${NAME}.
38611         Reported by Sam Steingold <sds@gnu.org>.
38612
38613 2009-06-20  Jim Meyering  <meyering@redhat.com>
38614
38615         tests: make sc_require_test_exit_idiom more generic
38616         * top/maint.mk (Exit_witness_file): New overridable variable.
38617         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
38618         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
38619
38620 2009-06-19  Jim Meyering  <meyering@redhat.com>
38621
38622         hash: reverse order of src/dst parameters in an internal interface
38623         * lib/hash.c (transfer_entries): Reverse order of parameters to
38624         put DST before SRC.  Adjust callers.
38625
38626         tests: test-hash: avoid wholesale duplication
38627         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
38628         Instead, use a loop and add a single conditional.
38629
38630         tests: test-hash: allow seed selection via a command line argument
38631         * tests/test-hash.c (get_seed): New function.
38632         (main): Use it.
38633
38634 2009-06-19  Eric Blake  <ebb9@byu.net>
38635
38636         hash: avoid memory leak on allocation failure
38637         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
38638         failure.  Factor repeated algorithm...
38639         (transfer_entries): ...into new helper routine.
38640         (hash_delete): React to hash_rehash return value.
38641
38642         hash: reduce memory pressure in hash_rehash no-op case
38643         * lib/hash.c (next_prime): Avoid overflow.
38644         (hash_initialize): Factor bucket size computation...
38645         (compute_bucket_size): ...into new helper function.
38646         (hash_rehash): Use new function and open coding to reduce memory
38647         pressure, and avoid a memory leak in USE_OBSTACK code.
38648         Reported by Jim Meyering.
38649
38650 2009-06-18  Eric Blake  <ebb9@byu.net>
38651
38652         hash: make rotation more obvious
38653         * modules/hash (Depends-on): Add bitrotate and stdint.
38654         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
38655         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
38656         (SIZE_MAX): Rely on headers for definition.
38657         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
38658         (raw_hasher): Use rotr_sz.
38659         Suggested by Jim Meyering.
38660
38661         hash: fix memory leak in last patch
38662         * lib/hash.c (hash_rehash): Avoid memory leak.
38663
38664         hash: avoid no-op rehashing
38665         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
38666
38667         hash: provide default callback functions
38668         * lib/hash.c (raw_hasher, raw_comparator): New functions.
38669         (hash_initialize): Use them as defaults.
38670         * tests/test-hash.c (main): Test this.
38671
38672         hash: minor optimization
38673         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
38674         when possible.
38675         (hash_initialize): Document this promise.
38676         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
38677         * tests/test-hash.c (hash_compare_strings): Test this.
38678
38679 2009-06-18  Bruno Haible  <bruno@clisp.org>
38680
38681         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
38682         going to be replaced anyway.
38683
38684 2009-06-18  Bruno Haible  <bruno@clisp.org>
38685
38686         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
38687         in one place.
38688         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
38689         be replaced anyway.
38690
38691 2009-06-18  Eric Blake  <ebb9@byu.net>
38692
38693         hash: check for resize before insertion
38694         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
38695         threshold before insertion, so that a pathological hash_rehash
38696         that fills every bucket can still trigger another rehash.
38697
38698 2009-06-18  Jim Meyering  <meyering@redhat.com>
38699
38700         hash-tests: add a loop around the small tests
38701         * tests/test-hash.c (main): Repeat small tests with selected
38702         small initial table sizes.
38703
38704 2009-06-17  Eric Blake  <ebb9@byu.net>
38705
38706         hash: minor cleanups
38707         * lib/hash.h (hash_entry): Make opaque, by moving...
38708         * lib/hash.c (hash_entry): ...here.
38709         (hash_insert): Clarify restrictions on what can be inserted.
38710         (hash_get_next): Clarify when it is safe to remove an element
38711         during traversal.
38712         (check_tuning): Skip verification when tuning is known safe.
38713         (hash_initialize): Clarify restrictions on tuning.
38714
38715 2009-06-17  Jim Meyering  <jim@meyering.net>
38716         and Eric Blake  <ebb9@byu.net>
38717
38718         hash-tests: new module
38719         * modules/hash-tests: New file.
38720         * tests/test-hash.c: New file.
38721
38722 2009-06-17  Eric Blake  <ebb9@byu.net>
38723
38724         strstr-simple: document new module
38725         * MODULES.html.sh: Document new module.
38726
38727         strstr, strcasestr: replace on platforms with broken memchr
38728         * modules/strstr: Split into...
38729         * modules/strstr-simple: ...new module that does not care about
38730         performance, but does care about glibc bug.
38731         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
38732         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
38733         if platform memchr is broken, per Debian bug 521737.
38734         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
38735         memchr.
38736         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
38737         * doc/posix-functions/strstr.texi (strstr): Document the fix.
38738         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
38739         * modules/mountlist (Depends-on): Add strstr-simple.
38740         * modules/gen-uni-tables (Depends-on): Likewise.
38741         * modules/argz (Depends-on): Add strstr.
38742
38743 2009-06-17  Bruno Haible  <bruno@clisp.org>
38744
38745         * modules/posix_spawn-internal (Depends-on): Add errno.
38746
38747 2009-06-17  Bruno Haible  <bruno@clisp.org>
38748
38749         Define missing ESTALE on Interix 3.5.
38750         * lib/errno.in.h (ESTALE): Assign a value if missing.
38751         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
38752         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
38753         missing.
38754         * doc/posix-headers/errno.texi: Mention the Interix bug.
38755         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
38756
38757 2009-06-15  Eric Blake  <ebb9@byu.net>
38758
38759         memchr, memchr2: add valgrind exception
38760         * lib/memchr.valgrind: New file.
38761         * lib/memchr2.valgrind: New file.
38762         * modules/memchr (Files): Distribute valgrind file.
38763         * modules/memchr2 (Files): Likewise.
38764
38765         docs: memchr is no longer obsolete
38766         * MODULES.html.sh: Move memchr from obsolete to string.h section.
38767         * lib/string.in.h (memchr): Simplify logic.
38768
38769 2009-06-14  Jim Meyering  <meyering@redhat.com>
38770
38771         link-follow: fix the "checking..." message to not mention trailing slash
38772         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
38773         never considered trailing slashes.
38774
38775 2009-06-14  Bruno Haible  <bruno@clisp.org>
38776
38777         * m4/memchr.m4: Mention also the bug on IA-64.
38778         * doc/posix-functions/memchr.texi: Likewise.
38779
38780 2009-06-12  Eric Blake  <ebb9@byu.net>
38781
38782         memchr: detect broken x86_64 and alpha implementations
38783         * modules/memchr-tests (Depends-on): Move mmap detection...
38784         * modules/memchr (Depends-on): ...here.
38785         (configure.ac): Set indicator.
38786         * lib/string.in.h (memchr): Declare replacement.
38787         * modules/string (Makefile.am): Trigger replacement.
38788         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
38789         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
38790         bugs.
38791         * doc/posix-functions/memchr.texi (memchr): Document the bug.
38792         * modules/getpagesize (License): Relax license.
38793
38794 2009-06-11  Bruno Haible  <bruno@clisp.org>
38795
38796         * lib/idpriv.h: Add more references.
38797
38798 2009-06-08  Bruno Haible  <bruno@clisp.org>
38799
38800         Tests for module 'idpriv-droptemp'.
38801         * modules/idpriv-droptemp-tests: New file.
38802         * tests/test-idpriv-droptemp.sh: New file.
38803         * tests/test-idpriv-droptemp.su.sh: New file.
38804         * tests/test-idpriv-droptemp.c: New file.
38805
38806         New module 'idpriv-droptemp'.
38807         * lib/idpriv-droptemp.c: New file.
38808         * modules/idpriv-droptemp: New file.
38809
38810 2009-06-08  Bruno Haible  <bruno@clisp.org>
38811
38812         Tests for module 'idpriv-drop'.
38813         * modules/idpriv-drop-tests: New file.
38814         * tests/test-idpriv-drop.sh: New file.
38815         * tests/test-idpriv-drop.su.sh: New file.
38816         * tests/test-idpriv-drop.c: New file.
38817
38818         New module 'idpriv-drop'.
38819         * lib/idpriv.h: New file.
38820         * lib-idpriv-drop.c: New file.
38821         * m4/idpriv.m4: New file.
38822         * modules/idpriv-drop: New file.
38823
38824 2009-06-08  Bruno Haible  <bruno@clisp.org>
38825
38826         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
38827         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38828         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38829         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38830         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38831         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38832         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38833
38834 2009-06-08  Eric Blake  <ebb9@byu.net>
38835
38836         test-strstr: use memory fence, when possible
38837         * tests/test-strstr.c (main): Use memory fence, in order to be
38838         more likely to trigger Debian bug 521737.
38839         * modules/strstr-tests (Files): Pull in additional files.
38840
38841         memchr: no longer obsolete, for wider field testing
38842         * modules/memchr (Status, Notice): Delete, this module is no
38843         longer obsolete.
38844         * modules/vasnprintf (Depends-on): Add memchr.
38845
38846 2009-06-07  Jim Meyering  <meyering@redhat.com>
38847
38848         hash: declare some functions with the warn_unused_result attribute
38849         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
38850
38851 2009-06-07  Bruno Haible  <bruno@clisp.org>
38852
38853         * tests/test-alignof.c: Don't test int64_t if it does not exist.
38854         Reported by Eric Blake.
38855
38856 2009-06-06  Eric Blake  <ebb9@byu.net>
38857
38858         test-alignof: fix typo with long double
38859         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
38860         compiler error.
38861
38862 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
38863
38864         Escape non-texinfo { and }s.
38865         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
38866         markup error.
38867
38868 2009-06-04  Jim Meyering  <meyering@redhat.com>
38869
38870         gitlog-to-changelog: don't infloop on an empty commit log
38871         * build-aux/gitlog-to-changelog: Warn about an empty log message.
38872         Reported by Boris Petersen <transacid@centerim.org>.
38873
38874 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
38875
38876         version-etc: extend for packagers
38877         Add three new configure options, intended for packagers:
38878           --with-packager="packager name"
38879           --with-packager-version="packager-specific version"
38880           --with-packager-bug-reports="packager bug reporting"
38881         An example with coreutils:
38882           $ ./configure \
38883             --with-packager=Gentoo \
38884             --with-packager-bug-report=http://bugs.gentoo.org/ \
38885             --with-packager-version="patchset 1.6"
38886           $ ./src/ls --version | head -n2
38887           ls (GNU coreutils) 7.1-dirty
38888           Packaged by Gentoo (patchset 1.6)
38889         Note that the bug reporting info via --help doesn't show up because
38890         coreutils uses its own custom emit_bug_reporting_address() implementation
38891         in src/system.h.  If it didn't, it'd look like:
38892           $ ./src/ls --help | tail -n4
38893           Report bugs to <bug-coreutils@gnu.org>.
38894           Report Gentoo bugs to <http://bugs.gentoo.org/>.
38895           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
38896           General help using GNU software: <http://www.gnu.org/gethelp/>.
38897         * lib/version-etc.c: Print new information, if provided.
38898         * m4/version-etc.m4: New file.
38899         * modules/version-etc (Files): Add m4/version-etc.m4.
38900         (configure.ac): Add gl_VERSION_ETC.
38901
38902 2009-05-31  Bruno Haible  <bruno@clisp.org>
38903
38904         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
38905         and 'int64_t'.
38906         * modules/alignof-tests (Dependencies): Add stdint.
38907         Reported by Eric Blake.
38908
38909 2009-05-31  Bruno Haible  <bruno@clisp.org>
38910
38911         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
38912         restriction due to compiler bugs.
38913         Reported by Eric Blake.
38914
38915 2009-05-31  Simon Josefsson  <simon@josefsson.org>
38916             Bruno Haible  <bruno@clisp.org>
38917
38918         Fix test-alignof failure.
38919         * lib/alignof.h (alignof_slot): New macro.
38920         (alignof_type): New macro, with the same semantics as the previous
38921         'alignof'.
38922         (alignof): Alias to alignof_slot.
38923         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
38924         check that the results are usable as constant expressions.
38925
38926 2009-05-31  Bruno Haible  <bruno@clisp.org>
38927
38928         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
38929         * tests/test-memchr.c (main): Check that memchr does not read past the
38930         first occurrence of the byte.
38931         * tests/test-strstr.c (main): Update comment.
38932         Suggested by Eric Blake.
38933
38934 2009-05-30  Bruno Haible  <bruno@clisp.org>
38935
38936         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
38937         detail how to use dumpbin.
38938         Reported by David Byron <dbyron@dbyron.com>.
38939
38940 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38941
38942         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
38943
38944 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38945
38946         * m4/manywarnings.m4: Add GCC 4.4 warnings.
38947
38948 2009-05-28  Bruno Haible  <bruno@clisp.org>
38949
38950         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
38951         build-aux/ files.
38952
38953 2009-05-28  Simon Josefsson  <simon@josefsson.org>
38954
38955         * gnulib-tool (func_import): Transform license on build-aux/ files too.
38956
38957 2009-05-27  Simon Josefsson  <simon@josefsson.org>
38958
38959         * gnulib-tool (sed_transform_main_lib_file)
38960         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
38961         regexps.
38962
38963 2009-05-26  Simon Josefsson  <simon@josefsson.org>
38964
38965         * tests/test-strstr.c: Add another self-test.
38966         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
38967         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
38968
38969 2009-05-23  Bruno Haible  <bruno@clisp.org>
38970
38971         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
38972         change.
38973
38974 2009-05-21  Bruno Haible  <bruno@clisp.org>
38975
38976         Simplify use of mode_t varargs.
38977         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
38978         uses 'mode_t' or 'int'.
38979         * lib/openat.c (openat): Likewise.
38980         * lib/open-safer.c (open_safer): Likewise.
38981         * m4/mode_t.m4: New file.
38982         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
38983         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
38984         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
38985         * modules/open (Files): Add m4/mode_t.m4.
38986         * modules/openat (Files): Likewise.
38987         * modules/fcntl-safer (Files): Likewise.
38988         Suggested by Eric Blake.
38989
38990 2009-05-21  Pádraig Brady  <P@draigbrady.com>
38991
38992         * doc/glibc-functions/fallocate.texi: New file.
38993         * doc/gnulib.texi: Include it.
38994
38995 2009-05-21  Eric Blake  <ebb9@byu.net>
38996             Bruno Haible  <bruno@clisp.org>
38997
38998         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
38999         invocations.
39000         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39001
39002 2009-05-21  Eric Blake  <ebb9@byu.net>
39003             Bruno Haible  <bruno@clisp.org>
39004
39005         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
39006         include_next. Fix of 2008-11-20 commit.
39007         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
39008         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
39009         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
39010         NEXT_MATH_H.
39011         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
39012         instead of NEXT_MATH_H.
39013
39014 2009-05-21  Bruno Haible  <bruno@clisp.org>
39015
39016         Avoid redefinition warnings for SIZE_MAX.
39017         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
39018         Reported by Simon Josefsson.
39019
39020 2009-05-21  Bruno Haible  <bruno@clisp.org>
39021
39022         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
39023         AC_CACHE_VAL.
39024
39025 2009-05-20  Bruno Haible  <bruno@clisp.org>
39026
39027         Make zeroptr.h work on mingw.
39028         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
39029         mprotect.
39030         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
39031         * modules/memchr2-tests (configure.ac): Likewise.
39032         * modules/memcmp-tests (configure.ac): Likewise.
39033         * modules/memmem-tests (configure.ac): Likewise.
39034         * modules/memrchr-tests (configure.ac): Likewise.
39035         Reported by Simon Josefsson.
39036
39037 2009-05-20  Simon Josefsson  <simon@josefsson.org>
39038
39039         * tests/test-glob.c: Include string.h for strcmp prototype.
39040
39041 2009-05-20  Simon Josefsson  <simon@josefsson.org>
39042
39043         * modules/getdelim (Depends-on): Add explicit stdint, although it
39044         was implicitly already pulled in via realloc-posix.
39045         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
39046
39047 2009-05-20  Simon Josefsson  <simon@josefsson.org>
39048
39049         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
39050         G. Christensen" <tgc@jupiterrise.com>.
39051         * m4/sys_socket_h.m4: Check for sa_family_t.
39052         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
39053         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
39054         * tests/test-sys_socket.c: Check that sa_family_t works.
39055
39056 2009-05-18  Eric Blake  <ebb9@byu.net>
39057
39058         maint.mk: allow gnulib_dir in VPATH build
39059         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
39060
39061 2009-05-15  Jim Meyering  <meyering@redhat.com>
39062
39063         maint.mk: Give gnulib_dir a default definition.
39064         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
39065         Thus, most packages no longer need to specify this variable in cfg.mk
39066
39067 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
39068
39069         rename.m4: fix typos that would make non-mingw cross-configure fail
39070         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
39071
39072 2009-05-13  Eric Blake  <ebb9@byu.net>
39073
39074         mmap-anon: avoid out-of-order autoconf expansion
39075         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
39076         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
39077         * modules/memchr-tests (Depends-on): Add extensions.
39078         * modules/memchr2-tests (Depends-on): Add extensions.
39079         * modules/memcmp-tests (Depends-on): Add extensions.
39080         * modules/memmem-tests (Depends-on): Add extensions.
39081         * modules/memrchr-tests (Depends-on): Add extensions.
39082
39083 2009-05-13  Bruno Haible  <bruno@clisp.org>
39084
39085         Make some tests ISO C 99 compliant.
39086         * tests/zerosize-ptr.h: New file.
39087         * tests/test-memchr.c: Include zerosize-ptr.h.
39088         (main): Use a zero-size object pointer instead of NULL.
39089         * tests/test-memchr2.c: Include zerosize-ptr.h.
39090         (main): Use a zero-size object pointer instead of NULL.
39091         * tests/test-memcmp.c: Include zerosize-ptr.h.
39092         (main): Use a zero-size object pointer instead of NULL.
39093         * tests/test-memmem.c: Include zerosize-ptr.h.
39094         (main): Use a zero-size object pointer instead of NULL.
39095         * tests/test-memrchr.c: Include zerosize-ptr.h.
39096         (main): Use a zero-size object pointer instead of NULL.
39097         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
39098         m4/mmap-anon.m4.
39099         (Depends-on): Add getpagesize.
39100         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39101         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
39102         m4/mmap-anon.m4.
39103         (Depends-on): Add getpagesize.
39104         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39105         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
39106         m4/mmap-anon.m4.
39107         (Depends-on): Add getpagesize.
39108         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39109         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
39110         m4/mmap-anon.m4.
39111         (Depends-on): Add getpagesize.
39112         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39113         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
39114         m4/mmap-anon.m4.
39115         (Depends-on): Add getpagesize.
39116         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39117
39118 2009-05-12  Bruno Haible  <bruno@clisp.org>
39119
39120         Tests for module 'alignof'.
39121         * modules/alignof-tests: New file.
39122         * tests/test-alignof.c: New file.
39123
39124 2009-05-12  Bruno Haible  <bruno@clisp.org>
39125
39126         Fix alignof macro.
39127         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
39128         vendor compilers that are always correct.
39129
39130 2009-05-12  Bruno Haible  <bruno@clisp.org>
39131
39132         Make the MAP_ANONYMOUS detection work on HP-UX 11.
39133         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
39134         not whether its fully works.
39135
39136 2009-05-12  Bruno Haible  <bruno@clisp.org>
39137
39138         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
39139
39140 2009-05-12  Jim Meyering  <meyering@redhat.com>
39141
39142         * top/maint.mk: Adjust backslash alignment.
39143
39144 2009-05-11  Simon Josefsson  <simon@josefsson.org>
39145
39146         * top/maint.mk: Make $(srcdir)/build-aux configurable.
39147
39148 2009-05-11  Eric Blake  <ebb9@byu.net>
39149
39150         argp: avoid undefined behavior
39151         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
39152         macros.
39153
39154 2009-05-08  Simon Josefsson  <simon@josefsson.org>
39155
39156         * tests/test-vc-list-files-git.sh: Do git config of user.email and
39157         user.name to prevent git commit from complaining.
39158
39159 2009-05-10  Bruno Haible  <bruno@clisp.org>
39160
39161         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
39162         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
39163         it rewrites every file name only once.
39164         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
39165
39166 2009-05-08  Bruno Haible  <bruno@clisp.org>
39167
39168         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
39169         instead of 'max'.
39170
39171 2009-05-08  Simon Josefsson  <simon@josefsson.org>
39172
39173         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
39174         sockaddr_storage test.
39175
39176 2009-05-07  Simon Josefsson  <simon@josefsson.org>
39177
39178         * modules/sys_socket (Makefile.am): Substitute
39179         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
39180         * m4/sys_socket_h.m4: Check for sockaddr_storage.
39181         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
39182         * tests/test-sys_socket.c: Check sockaddr_storage.
39183
39184 2009-05-08  Bruno Haible  <bruno@clisp.org>
39185
39186         New module 'alignof'.
39187         * lib/alignof.h: New file.
39188         * modules/alignof: New file.
39189
39190 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
39191             Bruno Haible  <bruno@clisp.org>
39192
39193         Fix test-file-has-acl on FreeBSD.
39194         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
39195         mask is implicitly added.
39196         * tests/test-file-has-acl.c: Include <signal.h>.
39197         (main): Terminate the test after 5 seconds.
39198         * modules/acl-tests (configure.ac): Check for alarm function.
39199
39200 2009-05-04  Bruno Haible  <bruno@clisp.org>
39201
39202         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
39203         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
39204         * modules/errno (configure.ac): Drop AC_REQUIRE.
39205         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
39206         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
39207
39208 2009-05-04  Simon Josefsson  <simon@josefsson.org>
39209
39210         * modules/glob-tests: New module.
39211         * tests/test-glob.c: Add.
39212
39213 2009-05-04  Simon Josefsson  <simon@josefsson.org>
39214
39215         * modules/fnmatch-tests: New module.
39216         * tests/test-fnmatch.c: Add.
39217
39218 2009-05-04  Eric Blake  <ebb9@byu.net>
39219
39220         maint: make the new no-submodule-changes rule VPATH-safe
39221         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
39222
39223 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
39224             Bruno Haible  <bruno@clisp.org>
39225
39226         acl: Fix infinite loop on FreeBSD.
39227         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
39228         of return value from acl_get_entry.
39229         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
39230         Likewise.
39231
39232 2009-05-03  Bruno Haible  <bruno@clisp.org>
39233
39234         * lib/acl-internal.h (acl_entries): Clarify return value.
39235         * lib/acl_entries.c (acl_entries): Likewise.
39236
39237 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
39238
39239         Bug fix in acl module.
39240         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
39241
39242 2009-05-03  Bruno Haible  <bruno@clisp.org>
39243
39244         Create gperf-generated file in the source dir, not in the build dir.
39245         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
39246         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
39247         * modules/unicase/locale-language (unicase/locale-languages.h):
39248         Likewise.
39249         * modules/unicase/special-casing (unicase/special-casing-table.h):
39250         Likewise.
39251         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
39252         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
39253         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
39254         Reported by Ralf Wildenhues.
39255
39256 2009-05-03  Bruno Haible  <bruno@clisp.org>
39257
39258         * modules/fnmatch (Description, configure.ac): Taken from
39259         fnmatch-posix.
39260         * modules/fnmatch-posix: Turn into a symbolic reference to the
39261         'fnmatch' module, and deprecate.
39262         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
39263
39264 2009-05-03  Bruno Haible  <bruno@clisp.org>
39265
39266         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
39267         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
39268         Reported by Ralf Wildenhues.
39269
39270 2009-05-04  Simon Josefsson  <simon@josefsson.org>
39271
39272         * m4/fnmatch.m4: Fix fnmatch re-define.
39273
39274 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
39275
39276         priv-set: new module and tests; adapt write-any-file
39277         * lib/priv-set.c: New file.
39278         * lib/priv-set.h: New file.
39279         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
39280         * lib/write-any-file.c: Simplify by using priv-set module.
39281         * m4/priv-set.m4: New file.
39282         * modules/priv-set: New file.
39283         * modules/unlinkdir: Add dependency on priv-set module.
39284         * modules/write-any-file: Likewise.
39285
39286         Tests for module 'priv-set'.
39287         * modules/priv-set-tests: New file.
39288         * tests/test-priv-set.c: New file.
39289
39290 2009-05-03  Jim Meyering  <meyering@redhat.com>
39291             Bruno Haible  <bruno@clisp.org>
39292
39293         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
39294         use the converted UTF-8 variant of the name instead.
39295
39296 2009-05-03  Jim Meyering  <meyering@redhat.com>
39297
39298         tests: tighten some getdate tests
39299         * tests/test-getdate.c (main): Tighten tests: require equality,
39300         not just greater than.  Set TZ envvar to UTC0.
39301
39302 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
39303
39304         getdate: correctly interpret "next monday" when run on a Monday
39305         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
39306         that e.g., "next tues" (when run on a tuesday) results in a date
39307         that is one week in the future, and not today's date.
39308         I.e., add a week when the wday is the same as the current one.
39309         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
39310         and earlier by Martin Bernreuther and Jan Minář.
39311         * tests/test-getdate.c (main): Check that "next DAY" is always in
39312         the future and that "last DAY" is always in the past.
39313
39314 2009-05-02  Jim Meyering  <meyering@redhat.com>
39315
39316         build: ensure that a release build fails when a submodule is unclean
39317         * top/maint.mk (no-submodule-changes): New rule.
39318         (alpha beta major): Depend on it.
39319
39320 2009-05-02  Bruno Haible  <bruno@clisp.org>
39321
39322         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
39323         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
39324         shell variable gl_fnmatch_required to detect which variant is
39325         requested.
39326         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
39327         gl_FUNC_FNMATCH_POSIX.
39328         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
39329         exclude fnmatch-posix.
39330
39331 2009-05-02  Bruno Haible  <bruno@clisp.org>
39332
39333         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
39334         * modules/mbsrtowcs (License): Change to LGPLv2+.
39335         * modules/strnlen1 (License): Likewise.
39336         Reported by Simon Josefsson.
39337
39338 2009-05-02  Bruno Haible  <bruno@clisp.org>
39339
39340         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
39341         "cross".
39342         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
39343         gnulib-tool was called with option --source-base=lib.
39344
39345 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39346
39347         Use automake *-local hooks without commands, for extensibility.
39348         * modules/localcharset (Makefile.am): Rename install-exec-local
39349         rule to install-exec-localcharset, and make it a prerequisite of
39350         install-exec-local.  Likewise, rename the uninstall-local rule to
39351         uninstall-localcharset, and make it a prerequisite of the former.
39352
39353 2009-05-01  Bruno Haible  <bruno@clisp.org>
39354
39355         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
39356         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
39357         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
39358         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
39359         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
39360         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
39361         m4/locale-zh.m4, m4/codeset.m4.
39362
39363         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
39364         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
39365         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
39366         m4/locale-zh.m4.
39367
39368         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
39369         REPLACE_WCRTOMB if mbstate_t must be replaced.
39370         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
39371         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
39372
39373 2009-05-01  Bruno Haible  <bruno@clisp.org>
39374
39375         Avoid compiler warnings when redefining macros defined by <libintl.h>.
39376         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
39377         dngettext, dcngettext, textdomain, bindtextdomain,
39378         bind_textdomain_codeset): Undefine before redefining.
39379
39380 2009-04-30  Bruno Haible  <bruno@clisp.org>
39381
39382         Fix bug introduced on 2009-04-25.
39383         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
39384         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
39385         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
39386         is defined.
39387         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
39388         is defined.
39389         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
39390         is defined.
39391         Reported by Elbert_Pol <elbert.pol@gmail.com>.
39392
39393 2009-04-28  Bruno Haible  <bruno@clisp.org>
39394
39395         Comment tweaks.
39396         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
39397         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
39398         * lib/unicase.h (u*_casexfrm): Likewise.
39399         Reported by Paolo Bonzini.
39400
39401 2009-04-28  Bruno Haible  <bruno@clisp.org>
39402
39403         Fix a compilation error.
39404         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
39405         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
39406         Reported by Jim Meyering.
39407
39408 2009-04-27  Bruno Haible  <bruno@clisp.org>
39409
39410         New module 'libunistring'.
39411         * modules/libunistring: New file.
39412         * m4/libunistring.m4: New file.
39413         * MODULES.html.sh (Unicode string functions): Add it.
39414
39415 2009-04-27  Eric Blake  <ebb9@byu.net>
39416
39417         maint.mk: allow package-specific header to provide <config.h>
39418         * top/maint.mk (sc_require_config_h): New variable.
39419         (sc_require_config_h, sc_require_config_h_first): Use it.
39420
39421 2009-04-27  Simon Josefsson  <simon@josefsson.org>
39422
39423         * top/maint.mk (sc_avoid_if_before_free): Except
39424         useless-if-before-free script.
39425
39426 2009-04-27  Eric Blake  <ebb9@byu.net>
39427
39428         maintainer-makefile: depend on all required helper scripts
39429         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
39430         useless-if-before-free.
39431         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
39432         version, rather than assuming gnulib checkout is available.
39433         Reported by Simen Josefsson.
39434
39435 2009-04-26  Bruno Haible  <bruno@clisp.org>
39436
39437         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
39438         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
39439         "../" or "..".
39440
39441 2009-04-26  Bruno Haible  <bruno@clisp.org>
39442
39443         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
39444         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
39445         AC_LIB_HAVE_LINKFLAGS.
39446
39447 2009-04-26  Bruno Haible  <bruno@clisp.org>
39448
39449         Simplify calling convention of u*_conv_from_encoding.
39450         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
39451         u32_conv_from_encoding): Expect a resultbuf argument and return the
39452         result directly as a pointer.
39453         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
39454         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
39455         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
39456         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
39457         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
39458         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
39459         Update.
39460         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
39461         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
39462         * lib/vasnprintf.c (VASNPRINTF): Update.
39463         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
39464         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
39465         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
39466         * NEWS: Mention the change.
39467
39468 2009-04-26  Bruno Haible  <bruno@clisp.org>
39469
39470         Simplify calling convention of u*_conv_to_encoding.
39471         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
39472         u32_conv_to_encoding): Expect a resultbuf argument and return the
39473         result directly as a pointer.
39474         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
39475         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
39476         freeing scaled_offsets if mem_iconveha failed.
39477         * lib/unicase/u-casexfrm.h (FUNC): Update.
39478         * lib/uninorm/u-normxfrm.h (FUNC): Update.
39479         * lib/vasnprintf.c (VASNPRINTF): Update.
39480         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
39481         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
39482         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
39483         * NEWS: Mention the change.
39484
39485 2009-04-26  Bruno Haible  <bruno@clisp.org>
39486
39487         Avoid test failures on AIX and OSF/1.
39488         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
39489         malloc(0).
39490         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
39491         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
39492         Likewise.
39493         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
39494         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
39495         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
39496         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
39497         * doc/posix-functions/malloc.texi: Document the portability problem
39498         related to malloc(0).
39499
39500 2009-04-26  Bruno Haible  <bruno@clisp.org>
39501
39502         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
39503         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
39504         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
39505
39506 2009-04-25  Bruno Haible  <bruno@clisp.org>
39507
39508         Avoid link error when creating a namespace clean library.
39509         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
39510         as macro with arguments if already defined as an alias.
39511         * lib/signbitf.c (gl_signbitf): Don't undefine.
39512         * lib/signbitd.c (gl_signbitd): Don't undefine.
39513         * lib/signbitl.c (gl_signbitl): Don't undefine.
39514
39515 2009-04-25  Jim Meyering  <meyering@redhat.com>
39516
39517         vc-list-files: fix another quoting bug
39518         * build-aux/vc-list-files: Avoid sed backslash expansion
39519         of pathological directory names.
39520
39521 2009-04-25  Eric Blake  <ebb9@byu.net>
39522
39523         vc-list-files: fix shell quoting error
39524         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
39525         timestamp.
39526
39527 2009-04-25  Jim Meyering  <meyering@redhat.com>
39528
39529         vc-list-files: restore lost functionality with subdir argument
39530         * build-aux/vc-list-files: When given a non-"." sub-directory
39531         argument, substitute the $dir/ prefix back onto each resulting name.
39532         Otherwise, coreutils' root_tests check would fail.
39533
39534 2009-04-24  Eric Blake  <ebb9@byu.net>
39535
39536         vc-list-files: ignore git symlinks
39537         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
39538         than ls-files, to ignore git symlinks.
39539
39540         maint.mk: import improvements from m4
39541         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
39542         (move_if_change): Delete unused macro.
39543         (news-date-check, vc-diff-check): Support VPATH builds.
39544         (announcement): Likewise.  Split --bootstrap-tools list...
39545         (boostrap-tools): ...into separate list, which can be overridden
39546         in cfg.mk.
39547         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
39548         requiring dependency on useless-if-before-free module.
39549         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
39550         Support VPATH builds.
39551
39552 2009-04-24  Jim Meyering  <meyering@redhat.com>
39553
39554         maint.mk: remove coreutils-specific rules and variables
39555         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
39556         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
39557         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
39558
39559         maint.mk: remove obsolete rule
39560         * top/maint.mk (rel-check): Remove rule.
39561         (WGET, WGETFLAGS): Remove now-unused variables.
39562
39563 2009-04-24  Simon Josefsson  <simon@josefsson.org>
39564
39565         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
39566         consistency.
39567
39568         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
39569         '$(PATH_SEPARATOR)' instead of ':'.
39570
39571 2009-04-24  Simon Josefsson  <simon@josefsson.org>
39572
39573         * lib/getopt1.c (main): Use 'const' for static array.
39574
39575 2009-04-24  Simon Josefsson  <simon@josefsson.org>
39576
39577         * top/maint.mk: Sync with coreutils.
39578         * NEWS: Explain incompatibilities.
39579
39580 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39581             Bruno Haible  <bruno@clisp.org>
39582
39583         Fix cross-compilation results.
39584         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
39585         statement, as third argument of AC_TRY_RUN.
39586         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
39587         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
39588         Likewise.
39589         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
39590         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
39591         Likewise.
39592         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
39593         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
39594         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
39595
39596 2009-04-20  Bruno Haible  <bruno@clisp.org>
39597
39598         Avoid test failure on mingw.
39599         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
39600
39601 2009-04-20  Bruno Haible  <bruno@clisp.org>
39602
39603         Avoid compilation error on mingw.
39604         * modules/localename-tests (Depends-on): Add locale.
39605
39606 2009-04-19  Bruno Haible  <bruno@clisp.org>
39607
39608         Support for building a shared library on Windows platforms.
39609         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
39610         (main): Test the presence of UNINORM_NFC here.
39611         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
39612         (main): Test the presence of UNINORM_NFD here.
39613         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
39614         (main): Test the presence of UNINORM_NFKC here.
39615         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
39616         (main): Test the presence of UNINORM_NFKD here.
39617
39618 2009-04-19  Bruno Haible  <bruno@clisp.org>
39619
39620         Avoid a compiler warning.
39621         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
39622         Change type of variable 'sequence'.
39623
39624 2009-04-19  Bruno Haible  <bruno@clisp.org>
39625
39626         * modules/configmake (Makefile.am): When the contents of configmake.h
39627         does not change, arrange to preserve its modification time.
39628
39629 2009-04-17  Simon Josefsson  <simon@josefsson.org>
39630
39631         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
39632         gettext domain.
39633
39634 2009-04-16  Jim Meyering  <meyering@redhat.com>
39635
39636         useless-if-before-free: improve conversion code
39637         * build-aux/useless-if-before-free: Adjust code-in-comment to match
39638         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
39639
39640 2009-04-14  Bruno Haible  <bruno@clisp.org>
39641
39642         * modules/fcntl (Depends-on): Add extensions.
39643         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
39644
39645 2009-04-12  Ben Pfaff  <blp@gnu.org>
39646
39647         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
39648         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
39649
39650 2009-03-20  Ben Pfaff  <blp@gnu.org>
39651
39652         Make rename replace existing destinations on Windows.
39653         * m4/rename.m4: Add test for Mingw.
39654         * lib/rename.c: Add rename replacement that uses MoveFileEx with
39655         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
39656         * doc/posix-functions/rename.texi: Document.
39657
39658 2009-04-10  Bruno Haible  <bruno@clisp.org>
39659
39660         New include file "iconveh.h".
39661         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
39662         * lib/striconveh.h: Include it.
39663         (enum iconv_ilseq_handler): Remove definition.
39664         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
39665         striconveh.h.
39666         * lib/striconveha.c: Include striconveh.h.
39667         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
39668         * modules/striconveh (Files): Add lib/iconveh.h.
39669         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
39670         lib/striconveh.h.
39671
39672 2009-04-10  Bruno Haible  <bruno@clisp.org>
39673
39674         * lib/uniconv.h: Update comment.
39675
39676 2009-04-10  Bruno Haible  <bruno@clisp.org>
39677
39678         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
39679         always.
39680         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
39681         * lib/unistr/u16-mbtouc-aux.c: Likewise.
39682         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
39683         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
39684         "unistring-notinline.h", so that the function gets defined always.
39685         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
39686         * lib/unistr/u8-uctomb.c: Likewise.
39687         * lib/unistr/u16-mbtouc.c: Likewise.
39688         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
39689         * lib/unistr/u16-uctomb.c: Likewise.
39690         * lib/unistr/u32-mbtouc.c: Likewise.
39691         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
39692         * lib/unistr/u32-uctomb.c: Likewise.
39693
39694 2009-04-10  Bruno Haible  <bruno@clisp.org>
39695
39696         Mark 'utime' obsolete.
39697         * modules/utime (Status, Notice): New sections.
39698         Suggested by Jim Meyering.
39699
39700         Fix cross-compile guess for utime test.
39701         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
39702         autoconf.
39703         * doc/posix-functions/utime.texi: Give more precisions.
39704         Reported by Jan <ipif@ymail.com>.
39705
39706 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
39707
39708         filevercmp: correct today's change
39709         * lib/filevercmp.c: Also handle coreutils' test inputs.
39710         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
39711
39712         Fix regression in 'filevercmp' module. Thanks Sven Joachim
39713         for reporting it.
39714         * lib/filevercmp.c: Special handle for "", "." and "..".
39715         * tests/test-filevercmp.c: Enlarge the set suite.
39716
39717 2009-04-07  Jim Meyering  <meyering@redhat.com>
39718
39719         useless-if-before-free: show how to remove braced useless free, too
39720         * build-aux/useless-if-before-free: still only in a comment, though.
39721
39722 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
39723
39724         maint.mk: import changes to syntax-check macros from coreutils
39725         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
39726         Use them in the relevant macros.
39727
39728 2009-04-06  Bruno Haible  <bruno@clisp.org>
39729
39730         Fix unportable use of bit-fields.
39731         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
39732         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
39733         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
39734
39735 2009-04-06  Bruno Haible  <bruno@clisp.org>
39736
39737         Avoid test failures on AIX and OSF/1.
39738         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
39739         that malloc(0) = NULL.
39740         * tests/unicase/test-u8-tolower.c (check): Likewise.
39741         * tests/unicase/test-u8-totitle.c (check): Likewise.
39742         * tests/unicase/test-u8-toupper.c (check): Likewise.
39743         * tests/unicase/test-u16-casefold.c (check): Likewise.
39744         * tests/unicase/test-u16-tolower.c (check): Likewise.
39745         * tests/unicase/test-u16-totitle.c (check): Likewise.
39746         * tests/unicase/test-u16-toupper.c (check): Likewise.
39747         * tests/unicase/test-u32-casefold.c (check): Likewise.
39748         * tests/unicase/test-u32-tolower.c (check): Likewise.
39749         * tests/unicase/test-u32-totitle.c (check): Likewise.
39750         * tests/unicase/test-u32-toupper.c (check): Likewise.
39751         * tests/uninorm/test-u8-nfc.c (check): Likewise.
39752         * tests/uninorm/test-u8-nfd.c (check): Likewise.
39753         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
39754         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
39755         * tests/uninorm/test-u16-nfc.c (check): Likewise.
39756         * tests/uninorm/test-u16-nfd.c (check): Likewise.
39757         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
39758         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
39759         * tests/uninorm/test-u32-nfc.c (check): Likewise.
39760         * tests/uninorm/test-u32-nfd.c (check): Likewise.
39761         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
39762         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
39763
39764 2009-04-05  Bruno Haible  <bruno@clisp.org>
39765
39766         Work around an autoconf limitation.
39767         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
39768         comment line if it would be longer than 3 KB.
39769
39770 2009-04-05  Bruno Haible  <bruno@clisp.org>
39771
39772         Avoid test failure with libiconv-1.13.
39773         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
39774         of the expected test results.
39775
39776 2009-04-05  Bruno Haible  <bruno@clisp.org>
39777
39778         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
39779         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
39780         that it should be installed.
39781
39782 2009-04-05  Bruno Haible  <bruno@clisp.org>
39783
39784         * gnulib-tool: New option --copy-file.
39785         (func_usage): Document it.
39786         (func_dest_tmpfilename): Moved out of func_import.
39787         (func_add_file, func_update_file): New functions, extracted from
39788         func_import.
39789         (func_import): Update.
39790
39791 2009-04-05  Karl Berry  <karl@gnu.org>
39792
39793         * README: prominently mention gnulib-tool.
39794         Rearrange sections so getting the code is near the top.
39795
39796 2009-04-05  Bruno Haible  <bruno@clisp.org>
39797
39798         * lib/unicase.h: Mention u*_cmp2.
39799         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
39800         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
39801         * lib/unicase/ulc-casecmp.c: Likewise.
39802         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
39803         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
39804         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
39805         unistr/u8-cmp.
39806         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
39807         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
39808         unistr/u16-cmp.
39809         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
39810         unistr/u32-cmp.
39811
39812         * lib/uninorm.h: Mention u*_cmp2.
39813         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
39814         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
39815         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
39816         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
39817         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
39818         unistr/u8-cmp.
39819         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
39820         unistr/u16-cmp.
39821         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
39822         unistr/u32-cmp.
39823
39824         New module 'unistr/u32-cmp2'.
39825         * lib/unistr/u32-cmp2.c: New file.
39826         * modules/unistr/u32-cmp2: New file.
39827
39828         New module 'unistr/u16-cmp2'.
39829         * lib/unistr/u16-cmp2.c: New file.
39830         * modules/unistr/u16-cmp2: New file.
39831
39832         New module 'unistr/u8-cmp2'.
39833         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
39834         * lib/unistr/u8-cmp2.c: New file.
39835         * lib/unistr/u-cmp2.h: New file.
39836         * modules/unistr/u8-cmp2: New file.
39837
39838 2009-04-05  Bruno Haible  <bruno@clisp.org>
39839
39840         * lib/unictype.h (uc_property_is_valid): New macro.
39841         * tests/unictype/test-pr_byname.c (main): Use it.
39842
39843         * lib/unistr.h: Doc fixes.
39844         * lib/uniconv.h: Doc fixes.
39845         * lib/unictype.h: Doc fixes.
39846
39847 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
39848
39849         Port coreutils 7.2 to Solaris 8.
39850
39851         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
39852         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
39853         for Solaris 8.  This is a bit of a hack, as it means it's the
39854         caller's responsibility to add -lnsl if needed, but most likely it
39855         won't be needed since only getaddrinfo uses this and getaddrinfo
39856         isn't needed on Solaris 8.
39857
39858         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
39859         problem to Solaris 8 encountered with coreutils 7.2, which
39860         resulted in a message "fnmatch.c:292: warning: passing argument 4
39861         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
39862         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
39863
39864 2009-04-03  Simon Josefsson  <simon@josefsson.org>
39865
39866         * m4/ld-version-script.m4: Add FIXME comment.
39867
39868 2009-04-02  Simon Josefsson  <simon@josefsson.org>
39869
39870         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
39871         SOVERSION variable.
39872
39873 2009-04-02  Bruno Haible  <bruno@clisp.org>
39874
39875         * Makefile (info, html, dvi, pdf): Combine the rules.
39876         Suggested by Jim Meyering.
39877
39878 2009-04-01  Bruno Haible  <bruno@clisp.org>
39879
39880         * Makefile (info, html, dvi, pdf): New targets.
39881         Reported by Reuben Thomas <rrt@sc3d.org>.
39882
39883 2009-04-01  Bruno Haible  <bruno@clisp.org>
39884
39885         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
39886         can be put into PATH.
39887         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
39888
39889 2009-04-01  Bruno Haible  <bruno@clisp.org>
39890
39891         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
39892
39893 2009-04-01  Bruno Haible  <bruno@clisp.org>
39894
39895         Rename module 'visibility'.
39896         * modules/lib-symbol-visibility: Renamed from modules/visibility.
39897         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
39898         * doc/gnulib.texi: Update.
39899         * MODULES.html.sh (Misc): Update.
39900         * NEWS: Mention the change.
39901
39902 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39903
39904         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
39905         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
39906         Eric Blake <ebb9@byu.net> for review.
39907         * MODULES.html.sh: Add lib-msvc-compat.
39908         * doc/gnulib.texi: Link to new section.
39909         * m4/ld-output-def.m4: New file.
39910         * doc/ld-output-def.texi: New file.
39911
39912 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39913
39914         Rename ld-version-script to lib-symbol-versions.  Suggested by
39915         Bruno Haible <bruno@clisp.org>.
39916         * modules/ld-version-script: Renamed to lib-symbol-versions.
39917         * doc/ld-version-script.texi: Fix module name.
39918         * MODULES.html.sh: Add lib-symbol-versions.
39919
39920 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39921
39922         * modules/u64-tests: New file.
39923         * tests/test-u64.c: New file.
39924
39925 2009-03-04  Simon Josefsson  <simon@josefsson.org>
39926
39927         * MODULES.html.sh: Mention u64.
39928         * modules/u64: New module.
39929         * modules/crypto/sha512: Depend on u64 module instead of providing
39930         u64.h.
39931
39932 2009-03-27  Eric Blake  <ebb9@byu.net>
39933
39934         test-strerror: make debugging EAI_SYSTEM easier
39935         * modules/getaddrinfo-tests (Depends-on): Add strerror.
39936         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
39937         failure was EAI_SYSTEM.
39938
39939 2009-03-25  Bruno Haible  <bruno@clisp.org>
39940
39941         Fix a problem with --enable-relocatable on Solaris 7.
39942         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
39943         since 2008-02-24.
39944
39945 2009-03-25  Eric Blake  <ebb9@byu.net>
39946
39947         test-sockets: avoid gcc warning
39948         * tests/test-sockets.c (main): Silence compiler warning.
39949
39950 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39951
39952         New modules nproc, pthread, contributed by Glen Lenker.
39953
39954         * MODULES.html.sh: Add pthread, nproc.
39955         * lib/nproc.c: New file.
39956         * lib/nproc.h: New file.
39957         * lib/pthread.in.h: New file.
39958         * m4/pthread.m4: New file.
39959         * modules/nproc: New file.
39960         * modules/pthread: New file.
39961
39962 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39963
39964         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
39965         New variable.
39966
39967 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
39968
39969         filevercmp: handle simple~ and numbered.~3~ backup suffixes
39970         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
39971         * tests/test-filevercmp.c: Add tests for backup suffixes.
39972
39973 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39974
39975         * modules/stdlib (Depends-on): Add stdint, needed when defining
39976         struct random_data on, for example, HP-UX 10.20.  Reported by
39977         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39978
39979 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39980
39981         * lib/readline.c (readline): Call fflush on stdout after printing
39982         prompt.
39983
39984 2009-03-20  Bruno Haible  <bruno@clisp.org>
39985
39986         Remove dependency from 'close' module to -lws2_32 on native Windows.
39987         * lib/close-hook.h: New file.
39988         * lib/close-hook.c: New file.
39989         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
39990         w32sock.h.
39991         (_gl_close_fd_maybe_socket): Remove function.
39992         (rpl_close): Invoke execute_all_close_hooks instead of
39993         _gl_close_fd_maybe_socket.
39994         * lib/sockets.c: Include close-hook.h, w32sock.h.
39995         (close_fd_maybe_socket): New function, essentially from lib/close.c.
39996         (close_sockets_hook): New variable.
39997         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
39998         (gl_sockets_cleanup): Unregister it.
39999         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
40000         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
40001         * modules/close-hook: New file.
40002         * modules/close (Files): Remove lib/w32sock.h.
40003         (Depends-on): Add close-hook.
40004         (Link): Remove section.
40005         * modules/sockets (Files): Add lib/w32sock.h.
40006         (Depends-on): Add close-hook.
40007         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
40008         invocation.
40009         * NEWS: Mention that LIB_CLOSE is gone.
40010
40011 2009-03-23  Eric Blake  <ebb9@byu.net>
40012
40013         signal-tests: test previous patch
40014         * tests/test-signal.c: New file.
40015         * modules/signal-tests: Likewise.
40016
40017         signal.h: always support 'volatile sig_atomic_t'
40018         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
40019         (gl_SIGNAL_H_DEFAULTS): Add a default.
40020         * modules/signal (Makefile.am): Substitute if needed.
40021         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
40022         users can blindly add volatile.
40023         * doc/posix-headers/signal.texi (signal.h): Document it.
40024         Reported by Matthew Woehlke.
40025
40026 2009-03-23  Jim Meyering  <meyering@redhat.com>
40027
40028         pathmax: PATH_MAX: use pathconf only when available
40029         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
40030         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
40031         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
40032         This avoids a link failure in a PSP cross-compilation environment
40033         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
40034
40035         * lib/vasnprintf.c (divide): Fix typo in comment.
40036
40037 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40038
40039         * gnulib-tool (func_filter_filelist): Fix comment.
40040
40041 2009-03-20  Bruno Haible  <bruno@clisp.org>
40042
40043         Make sockets.h self-contained.
40044         * lib/sockets.c: Include sockets.h first.
40045         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
40046
40047 2009-03-19  Eric Blake  <ebb9@byu.net>
40048
40049         doc: mention more functions added in cygwin 1.7.0
40050         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
40051         addition.
40052         * doc/posix-functions/log2f.texi: Likewise.
40053
40054 2009-03-19  Jim Meyering  <meyering@redhat.com>
40055
40056         fsusage: avoid syntax error due to statement-before-declaration
40057         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
40058         after all declarations.  Reported by Matthew Woehlke in
40059         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
40060
40061 2009-03-18  Eric Blake  <ebb9@byu.net>
40062
40063         build-aux/compile: sync from automake
40064         * build-aux/compile: New file, from automake.
40065         * config/srclist.txt: Mention build-aux/compile.
40066
40067 2009-03-17  Bruno Haible  <bruno@clisp.org>
40068
40069         * lib/git-merge-changelog.c: Fix typo in comment.
40070         Reported by Reuben Thomas <rrt@sc3d.org>.
40071
40072 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
40073
40074         * m4/regex.m4: update and improve help for
40075         --without-included-regex.
40076
40077 2009-03-17  Simon Josefsson  <simon@josefsson.org>
40078
40079         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
40080         failure on missing include files.
40081
40082 2009-03-17  Eric Blake  <ebb9@byu.net>
40083
40084         doc: mention more functions added in cygwin 1.7.0
40085         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
40086         addition.
40087         * doc/posix-functions/fwscanf.texi: Likewise.
40088         * doc/posix-functions/swprintf.texi: Likewise.
40089         * doc/posix-functions/swscanf.texi: Likewise.
40090         * doc/posix-functions/vfwprintf.texi: Likewise.
40091         * doc/posix-functions/vfwscanf.texi: Likewise.
40092         * doc/posix-functions/vswprintf.texi: Likewise.
40093         * doc/posix-functions/vswscanf.texi: Likewise.
40094         * doc/posix-functions/vwprintf.texi: Likewise.
40095         * doc/posix-functions/vwscanf.texi: Likewise.
40096         * doc/posix-functions/wcscasecmp.texi: Likewise.
40097         * doc/posix-functions/wcsdup.texi: Likewise.
40098         * doc/posix-functions/wcsftime.texi: Likewise.
40099         * doc/posix-functions/wcsncasecmp.texi: Likewise.
40100         * doc/posix-functions/wprintf.texi: Likewise.
40101         * doc/posix-functions/wscanf.texi: Likewise.
40102         * doc/glibc-functions/gethostbyname2.texi: Likewise.
40103
40104 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40105
40106         maint.mk: really add $(AM_MAKEFLAGS)
40107         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
40108         was inadvertently omitted in the last commit.
40109         Spotted by Bruno Haible.
40110
40111         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
40112         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
40113         $(AM_MAKEFLAGS)' rather than plain `make'.
40114
40115         gnulib-tool: execute $MAKE not make
40116         * gnulib-tool: Default $MAKE to 'make'.
40117         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
40118         than make.  Initialize $MAKE in the do-autobuild script.
40119
40120         gnulib-tool: use $MAKE not make in generated files
40121         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
40122         make, in generated files.  Initialize $MAKE in the do-autobuild
40123         script.
40124
40125         * top/GNUmakefile (_have-git-version-gen): Fix typo.
40126
40127         GNUmakefile: disable parallelism only for multiple, recursive targets
40128         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
40129         additions in the Makefile.
40130         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
40131         by Automake.
40132         (.NOTPARALLEL): Only disable parallel builds if multiple targets
40133         are listed on the command line and at least one of them is
40134         listed in $(ALL_RECURSIVE_TARGETS).
40135
40136 2009-03-14  Bruno Haible  <bruno@clisp.org>
40137
40138         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
40139         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
40140         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
40141         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
40142         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
40143         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
40144         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
40145         unistr/u8-uctomb.
40146         * modules/unistr/u8-strchr (Depends-on): Likewise.
40147         * modules/unistr/u8-strrchr (Depends-on): Likewise.
40148         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
40149         unistr/u16-uctomb.
40150         * modules/unistr/u16-strchr (Depends-on): Likewise.
40151         * modules/unistr/u16-strrchr (Depends-on): Likewise.
40152
40153 2009-03-12  Bruno Haible  <bruno@clisp.org>
40154
40155         Work around select() bug on Interix 3.5.
40156         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
40157         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
40158         * m4/select.m4: New file.
40159         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
40160         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
40161         * modules/select (Files): Add m4/select.m4.
40162         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
40163         * modules/nanosleep (Depends-on): Add select.
40164         * modules/poll (Depends-on): Likewise.
40165         * doc/posix-functions/select.texi: Mention the Interix bug.
40166         Reported by Markus Duft <mduft@gentoo.org>.
40167
40168         * lib/select.c: Renamed from lib/winsock-select.c.
40169         * modules/select (Files): Add lib/select.c, remove
40170         lib/winsock-select.c.
40171         (configure.ac): Update.
40172
40173 2009-03-12  Jim Meyering  <meyering@redhat.com>
40174
40175         avoid gcc warnings about unused macro definitions
40176         * lib/readtokens.c (STREQ): Remove unused definition.
40177         * lib/xmalloc.c (SIZE_MAX): Likewise.
40178         * lib/openat-die.c (N_): Likewise.
40179         * lib/mountlist.c (SIZE_MAX): Remove definition.
40180         Instead, include <stdint.h>.
40181         * lib/readutmp.c: Likewise.
40182         * modules/readutmp (Depends-on): Add stdint.
40183         * modules/mountlist (Depends-on): Add stdint.
40184         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
40185
40186 2009-03-10  Bruno Haible  <bruno@clisp.org>
40187
40188         Tests for module 'mbmemcasecoll'.
40189         * modules/mbmemcasecoll-tests: New file.
40190         * tests/test-mbmemcasecoll1.sh: New file.
40191         * tests/test-mbmemcasecoll2.sh: New file.
40192         * tests/test-mbmemcasecoll3.sh: New file.
40193         * tests/test-mbmemcasecoll.c: New file.
40194
40195         New module 'mbmemcasecoll'.
40196         * lib/mbmemcasecoll.h: New file.
40197         * lib/mbmemcasecoll.c: New file.
40198         * modules/mbmemcasecoll: New file.
40199
40200         * tests/test-mbmemcasecmp.h: New file, extracted from
40201         tests/test-mbmemcasecmp.c.
40202         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
40203         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
40204         (main): Update.
40205         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
40206
40207 2009-03-09  Bruno Haible  <bruno@clisp.org>
40208
40209         Tests for module 'mbmemcasecmp'.
40210         * modules/mbmemcasecmp-tests: New file.
40211         * tests/test-mbmemcasecmp1.sh: New file.
40212         * tests/test-mbmemcasecmp2.sh: New file.
40213         * tests/test-mbmemcasecmp3.sh: New file.
40214         * tests/test-mbmemcasecmp.c: New file.
40215
40216         New module 'mbmemcasecmp'.
40217         * lib/mbmemcasecmp.h: New file.
40218         * lib/mbmemcasecmp.c: New file.
40219         * modules/mbmemcasecmp: New file.
40220
40221 2009-03-09  Bruno Haible  <bruno@clisp.org>
40222
40223         Tests for module 'unicase/ulc-casecoll'.
40224         * modules/unicase/ulc-casecoll-tests: New file.
40225         * tests/unicase/test-ulc-casecoll1.sh: New file.
40226         * tests/unicase/test-ulc-casecoll2.sh: New file.
40227         * tests/unicase/test-ulc-casecoll.c: New file.
40228
40229         New module 'unicase/ulc-casecoll'.
40230         * lib/unicase.h (ulc_casecoll): New declaration.
40231         * lib/unicase/ulc-casecoll.c: New file.
40232         * modules/unicase/ulc-casecoll: New file.
40233
40234         New module 'unicase/ulc-casexfrm'.
40235         * lib/unicase.h (ulc_casexfrm): New declaration.
40236         * lib/unicase/ulc-casexfrm.c: New file.
40237         * modules/unicase/ulc-casexfrm: New file.
40238
40239 2009-03-09  Bruno Haible  <bruno@clisp.org>
40240
40241         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
40242         invocations.
40243
40244         * m4/mbscasecmp.m4: Remove file.
40245         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
40246         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
40247
40248         * m4/mbscasestr.m4: Remove file.
40249         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
40250         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
40251
40252         * m4/mbschr.m4: Remove file.
40253         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
40254         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
40255
40256         * m4/mbscspn.m4: Remove file.
40257         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
40258         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
40259
40260         * m4/mbslen.m4: Remove file.
40261         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
40262         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
40263
40264         * m4/mbsncasecmp.m4: Remove file.
40265         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
40266         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
40267
40268         * m4/mbsnlen.m4: Remove file.
40269         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
40270         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
40271
40272         * m4/mbspbrk.m4: Remove file.
40273         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
40274         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
40275
40276         * m4/mbspcasecmp.m4: Remove file.
40277         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
40278         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
40279
40280         * m4/mbsrchr.m4: Remove file.
40281         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
40282         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
40283
40284         * m4/mbssep.m4: Remove file.
40285         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
40286         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
40287
40288         * m4/mbsspn.m4: Remove file.
40289         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
40290         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
40291
40292         * m4/mbsstr.m4: Remove file.
40293         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
40294         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
40295
40296         * m4/mbstok_r.m4: Remove file.
40297         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
40298         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
40299
40300         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
40301
40302         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
40303         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
40304
40305         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
40306
40307 2009-03-08  Bruno Haible  <bruno@clisp.org>
40308
40309         Tests for module 'unicase/ulc-casecmp'.
40310         * modules/unicase/ulc-casecmp-tests: New file.
40311         * tests/unicase/test-ulc-casecmp1.sh: New file.
40312         * tests/unicase/test-ulc-casecmp2.sh: New file.
40313         * tests/unicase/test-ulc-casecmp.c: New file.
40314
40315         New module 'unicase/ulc-casecmp'.
40316         * lib/unicase.h (ulc_casecmp): New declaration.
40317         * lib/unicase/ulc-casecmp.c: New file.
40318         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
40319         'const SRC_UNIT *'.
40320         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
40321         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
40322         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
40323         * modules/unicase/ulc-casecmp: New file.
40324
40325         Tests for module 'unicase/u32-is-cased'.
40326         * modules/unicase/u32-is-cased-tests: New file.
40327         * tests/unicase/test-u32-is-cased.c: New file.
40328
40329         Tests for module 'unicase/u16-is-cased'.
40330         * modules/unicase/u16-is-cased-tests: New file.
40331         * tests/unicase/test-u16-is-cased.c: New file.
40332
40333         Tests for module 'unicase/u8-is-cased'.
40334         * modules/unicase/u8-is-cased-tests: New file.
40335         * tests/unicase/test-u8-is-cased.c: New file.
40336         * tests/unicase/test-is-cased.h: New file.
40337
40338         New module 'unicase/u32-is-cased'.
40339         * lib/unicase/u32-is-cased.c: New file.
40340         * modules/unicase/u32-is-cased: New file.
40341
40342         New module 'unicase/u16-is-cased'.
40343         * lib/unicase/u16-is-cased.c: New file.
40344         * modules/unicase/u16-is-cased: New file.
40345
40346         New module 'unicase/u8-is-cased'.
40347         * lib/unicase/u8-is-cased.c: New file.
40348         * lib/unicase/u-is-cased.h: New file.
40349         * modules/unicase/u8-is-cased: New file.
40350
40351         Tests for module 'unicase/u32-is-casefolded'.
40352         * modules/unicase/u32-is-casefolded-tests: New file.
40353         * tests/unicase/test-u32-is-casefolded.c: New file.
40354
40355         Tests for module 'unicase/u16-is-casefolded'.
40356         * modules/unicase/u16-is-casefolded-tests: New file.
40357         * tests/unicase/test-u16-is-casefolded.c: New file.
40358
40359         Tests for module 'unicase/u8-is-casefolded'.
40360         * modules/unicase/u8-is-casefolded-tests: New file.
40361         * tests/unicase/test-u8-is-casefolded.c: New file.
40362         * tests/unicase/test-is-casefolded.h: New file.
40363
40364         New module 'unicase/u32-is-casefolded'.
40365         * lib/unicase/u32-is-casefolded.c: New file.
40366         * modules/unicase/u32-is-casefolded: New file.
40367
40368         New module 'unicase/u16-is-casefolded'.
40369         * lib/unicase/u16-is-casefolded.c: New file.
40370         * modules/unicase/u16-is-casefolded: New file.
40371
40372         New module 'unicase/u8-is-casefolded'.
40373         * lib/unicase/u8-is-casefolded.c: New file.
40374         * modules/unicase/u8-is-casefolded: New file.
40375
40376         Tests for module 'unicase/u32-is-titlecase'.
40377         * modules/unicase/u32-is-titlecase-tests: New file.
40378         * tests/unicase/test-u32-is-titlecase.c: New file.
40379
40380         Tests for module 'unicase/u16-is-titlecase'.
40381         * modules/unicase/u16-is-titlecase-tests: New file.
40382         * tests/unicase/test-u16-is-titlecase.c: New file.
40383
40384         Tests for module 'unicase/u8-is-titlecase'.
40385         * modules/unicase/u8-is-titlecase-tests: New file.
40386         * tests/unicase/test-u8-is-titlecase.c: New file.
40387         * tests/unicase/test-is-titlecase.h: New file.
40388
40389         New module 'unicase/u32-is-titlecase'.
40390         * lib/unicase/u32-is-titlecase.c: New file.
40391         * modules/unicase/u32-is-titlecase: New file.
40392
40393         New module 'unicase/u16-is-titlecase'.
40394         * lib/unicase/u16-is-titlecase.c: New file.
40395         * modules/unicase/u16-is-titlecase: New file.
40396
40397         New module 'unicase/u8-is-titlecase'.
40398         * lib/unicase/u8-is-titlecase.c: New file.
40399         * modules/unicase/u8-is-titlecase: New file.
40400
40401         Tests for module 'unicase/u32-is-lowercase'.
40402         * modules/unicase/u32-is-lowercase-tests: New file.
40403         * tests/unicase/test-u32-is-lowercase.c: New file.
40404
40405         Tests for module 'unicase/u16-is-lowercase'.
40406         * modules/unicase/u16-is-lowercase-tests: New file.
40407         * tests/unicase/test-u16-is-lowercase.c: New file.
40408
40409         Tests for module 'unicase/u8-is-lowercase'.
40410         * modules/unicase/u8-is-lowercase-tests: New file.
40411         * tests/unicase/test-u8-is-lowercase.c: New file.
40412         * tests/unicase/test-is-lowercase.h: New file.
40413
40414         New module 'unicase/u32-is-lowercase'.
40415         * lib/unicase/u32-is-lowercase.c: New file.
40416         * modules/unicase/u32-is-lowercase: New file.
40417
40418         New module 'unicase/u16-is-lowercase'.
40419         * lib/unicase/u16-is-lowercase.c: New file.
40420         * modules/unicase/u16-is-lowercase: New file.
40421
40422         New module 'unicase/u8-is-lowercase'.
40423         * lib/unicase/u8-is-lowercase.c: New file.
40424         * modules/unicase/u8-is-lowercase: New file.
40425
40426         Tests for module 'unicase/u32-is-uppercase'.
40427         * modules/unicase/u32-is-uppercase-tests: New file.
40428         * tests/unicase/test-u32-is-uppercase.c: New file.
40429
40430         Tests for module 'unicase/u16-is-uppercase'.
40431         * modules/unicase/u16-is-uppercase-tests: New file.
40432         * tests/unicase/test-u16-is-uppercase.c: New file.
40433
40434         Tests for module 'unicase/u8-is-uppercase'.
40435         * modules/unicase/u8-is-uppercase-tests: New file.
40436         * tests/unicase/test-u8-is-uppercase.c: New file.
40437         * tests/unicase/test-is-uppercase.h: New file.
40438
40439         New module 'unicase/u32-is-uppercase'.
40440         * lib/unicase/u32-is-uppercase.c: New file.
40441         * modules/unicase/u32-is-uppercase: New file.
40442
40443         New module 'unicase/u16-is-uppercase'.
40444         * lib/unicase/u16-is-uppercase.c: New file.
40445         * modules/unicase/u16-is-uppercase: New file.
40446
40447         New module 'unicase/u8-is-uppercase'.
40448         * lib/unicase/u8-is-uppercase.c: New file.
40449         * modules/unicase/u8-is-uppercase: New file.
40450
40451         New module 'unicase/u32-is-invariant'.
40452         * lib/unicase/u32-is-invariant.c: New file.
40453         * modules/unicase/u32-is-invariant: New file.
40454
40455         New module 'unicase/u16-is-invariant'.
40456         * lib/unicase/u16-is-invariant.c: New file.
40457         * modules/unicase/u16-is-invariant: New file.
40458
40459         New module 'unicase/u8-is-invariant'.
40460         * lib/unicase/u8-is-invariant.c: New file.
40461         * lib/unicase/invariant.h: New file.
40462         * lib/unicase/u-is-invariant.h: New file.
40463         * modules/unicase/u8-is-invariant: New file.
40464
40465         Tests for module 'unicase/u32-casecoll'.
40466         * modules/unicase/u32-casecoll-tests: New file.
40467         * tests/unicase/test-u32-casecoll.c: New file.
40468
40469         Tests for module 'unicase/u16-casecoll'.
40470         * modules/unicase/u16-casecoll-tests: New file.
40471         * tests/unicase/test-u16-casecoll.c: New file.
40472
40473         Tests for module 'unicase/u8-casecoll'.
40474         * modules/unicase/u8-casecoll-tests: New file.
40475         * tests/unicase/test-u8-casecoll.c: New file.
40476
40477         New module 'unicase/u32-casecoll'.
40478         * lib/unicase/u32-casecoll.c: New file.
40479         * modules/unicase/u32-casecoll: New file.
40480
40481         New module 'unicase/u16-casecoll'.
40482         * lib/unicase/u16-casecoll.c: New file.
40483         * modules/unicase/u16-casecoll: New file.
40484
40485         New module 'unicase/u8-casecoll'.
40486         * lib/unicase/u8-casecoll.c: New file.
40487         * lib/unicase/u-casecoll.h: New file.
40488         * modules/unicase/u8-casecoll: New file.
40489
40490         New module 'unicase/u32-casexfrm'.
40491         * lib/unicase/u32-casexfrm.c: New file.
40492         * modules/unicase/u32-casexfrm: New file.
40493
40494         New module 'unicase/u16-casexfrm'.
40495         * lib/unicase/u16-casexfrm.c: New file.
40496         * modules/unicase/u16-casexfrm: New file.
40497
40498         New module 'unicase/u8-casexfrm'.
40499         * lib/unicase/u8-casexfrm.c: New file.
40500         * lib/unicase/u-casexfrm.h: New file.
40501         * modules/unicase/u8-casexfrm: New file.
40502
40503         Tests for module 'unicase/u32-casecmp'.
40504         * modules/unicase/u32-casecmp-tests: New file.
40505         * tests/unicase/test-u32-casecmp.c: New file.
40506
40507         Tests for module 'unicase/u16-casecmp'.
40508         * modules/unicase/u16-casecmp-tests: New file.
40509         * tests/unicase/test-u16-casecmp.c: New file.
40510
40511         Tests for module 'unicase/u8-casecmp'.
40512         * modules/unicase/u8-casecmp-tests: New file.
40513         * tests/unicase/test-u8-casecmp.c: New file.
40514         * tests/unicase/test-casecmp.h: New file.
40515
40516         New module 'unicase/u32-casecmp'.
40517         * lib/unicase/u32-casecmp.c: New file.
40518         * modules/unicase/u32-casecmp: New file.
40519
40520         New module 'unicase/u16-casecmp'.
40521         * lib/unicase/u16-casecmp.c: New file.
40522         * modules/unicase/u16-casecmp: New file.
40523
40524         New module 'unicase/u8-casecmp'.
40525         * lib/unicase/u8-casecmp.c: New file.
40526         * lib/unicase/u-casecmp.h: New file.
40527         * modules/unicase/u8-casecmp: New file.
40528
40529         Tests for module 'unicase/u32-casefold'.
40530         * modules/unicase/u32-casefold-tests: New file.
40531         * tests/unicase/test-u32-casefold.c: New file.
40532
40533         Tests for module 'unicase/u16-casefold'.
40534         * modules/unicase/u16-casefold-tests: New file.
40535         * tests/unicase/test-u16-casefold.c: New file.
40536
40537         Tests for module 'unicase/u8-casefold'.
40538         * modules/unicase/u8-casefold-tests: New file.
40539         * tests/unicase/test-u8-casefold.c: New file.
40540
40541         New module 'unicase/u32-casefold'.
40542         * lib/unicase/u32-casefold.c: New file.
40543         * modules/unicase/u32-casefold: New file.
40544
40545         New module 'unicase/u16-casefold'.
40546         * lib/unicase/u16-casefold.c: New file.
40547         * modules/unicase/u16-casefold: New file.
40548
40549         New module 'unicase/u8-casefold'.
40550         * lib/unicase/u8-casefold.c: New file.
40551         * lib/unicase/u-casefold.h: New file.
40552         * modules/unicase/u8-casefold: New file.
40553
40554         New module 'unicase/tocasefold'.
40555         * lib/unicase/casefold.h: New file.
40556         * lib/unicase/tocasefold.c: New file.
40557         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
40558         * modules/unicase/tocasefold: New file.
40559
40560         Tests for module 'unicase/u32-totitle'.
40561         * modules/unicase/u32-totitle-tests: New file.
40562         * tests/unicase/test-u32-totitle.c: New file.
40563
40564         Tests for module 'unicase/u16-totitle'.
40565         * modules/unicase/u16-totitle-tests: New file.
40566         * tests/unicase/test-u16-totitle.c: New file.
40567
40568         Tests for module 'unicase/u8-totitle'.
40569         * modules/unicase/u8-totitle-tests: New file.
40570         * tests/unicase/test-u8-totitle.c: New file.
40571
40572         New module 'unicase/u32-totitle'.
40573         * lib/unicase/u32-totitle.c: New file.
40574         * modules/unicase/u32-totitle: New file.
40575
40576         New module 'unicase/u16-totitle'.
40577         * lib/unicase/u16-totitle.c: New file.
40578         * modules/unicase/u16-totitle: New file.
40579
40580         New module 'unicase/u8-totitle'.
40581         * lib/unicase/u8-totitle.c: New file.
40582         * lib/unicase/u-totitle.h: New file.
40583         * modules/unicase/u8-totitle: New file.
40584
40585         Tests for module 'unicase/u32-tolower'.
40586         * modules/unicase/u32-tolower-tests: New file.
40587         * tests/unicase/test-u32-tolower.c: New file.
40588
40589         Tests for module 'unicase/u16-tolower'.
40590         * modules/unicase/u16-tolower-tests: New file.
40591         * tests/unicase/test-u16-tolower.c: New file.
40592
40593         Tests for module 'unicase/u8-tolower'.
40594         * modules/unicase/u8-tolower-tests: New file.
40595         * tests/unicase/test-u8-tolower.c: New file.
40596
40597         New module 'unicase/u32-tolower'.
40598         * lib/unicase/u32-tolower.c: New file.
40599         * modules/unicase/u32-tolower: New file.
40600
40601         New module 'unicase/u16-tolower'.
40602         * lib/unicase/u16-tolower.c: New file.
40603         * modules/unicase/u16-tolower: New file.
40604
40605         New module 'unicase/u8-tolower'.
40606         * lib/unicase/u8-tolower.c: New file.
40607         * modules/unicase/u8-tolower: New file.
40608
40609         Tests for module 'unicase/u32-toupper'.
40610         * modules/unicase/u32-toupper-tests: New file.
40611         * tests/unicase/test-u32-toupper.c: New file.
40612
40613         Tests for module 'unicase/u16-toupper'.
40614         * modules/unicase/u16-toupper-tests: New file.
40615         * tests/unicase/test-u16-toupper.c: New file.
40616
40617         Tests for module 'unicase/u8-toupper'.
40618         * modules/unicase/u8-toupper-tests: New file.
40619         * tests/unicase/test-u8-toupper.c: New file.
40620
40621         New module 'unicase/u32-toupper'.
40622         * lib/unicase/u32-toupper.c: New file.
40623         * modules/unicase/u32-toupper: New file.
40624
40625         New module 'unicase/u16-toupper'.
40626         * lib/unicase/u16-toupper.c: New file.
40627         * modules/unicase/u16-toupper: New file.
40628
40629         New module 'unicase/u8-toupper'.
40630         * lib/unicase/u8-toupper.c: New file.
40631         * modules/unicase/u8-toupper: New file.
40632
40633         New module 'unicase/u32-casemap'.
40634         * lib/unicase/u32-casemap.c: New file.
40635         * modules/unicase/u32-casemap: New file.
40636
40637         New module 'unicase/u16-casemap'.
40638         * lib/unicase/u16-casemap.c: New file.
40639         * modules/unicase/u16-casemap: New file.
40640
40641         New module 'unicase/u8-casemap'.
40642         * lib/unicase/unicasemap.h: New file.
40643         * lib/unicase/u8-casemap.c: New file.
40644         * lib/unicase/u-casemap.h: New file.
40645         * modules/unicase/u8-casemap: New file.
40646
40647         New module 'unicase/special-casing'.
40648         * lib/unicase/special-casing.h: New file.
40649         * lib/unicase/special-casing.c: New file.
40650         * lib/unicase/special-casing-table.gperf: New file, generated by
40651         gen-uni-tables.c.
40652         * modules/unicase/special-casing: New file.
40653
40654         Tests for module 'unicase/locale-language'.
40655         * modules/unicase/locale-language-tests: New file.
40656         * tests/unicase/test-locale-language.sh: New file.
40657         * tests/unicase/test-locale-language.c: New file.
40658
40659         New module 'unicase/locale-language'.
40660         * lib/unicase/locale-language.c: New file.
40661         * lib/unicase/locale-languages.gperf: New file.
40662         * modules/unicase/locale-language: New file.
40663
40664         Generate more tables for case conversion and case folding.
40665         * lib/gen-uni-tables.c (SCC_*): New enum items.
40666         (struct special_casing_rule): New type.
40667         (casing_rules, num_casing_rules, allocated_casing_rules): New
40668         variables.
40669         (add_casing_rule, fill_casing_rules): New functions.
40670         (struct casefold_rule): New type.
40671         (casefolding_rules, num_casefolding_rules,
40672         allocated_casefolding_rules): New variables.
40673         (fill_casefolding_rules): New function.
40674         (unicode_casefold): New variable.
40675         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
40676         sort_casing_rules, output_casing_rules): New functions.
40677         (main): Accept to more arguments: SpecialCasing.txt and
40678         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
40679         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
40680         Output mapping for casefolding.
40681
40682         * lib/unicase.h: Include stdbool.h, uninorm.h.
40683         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
40684         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
40685         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
40686         arguments.
40687         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
40688         resultp arguments.
40689         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
40690         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
40691         resultp arguments.
40692         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
40693         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
40694         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
40695         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
40696         declarations.
40697         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
40698
40699 2009-03-08  Bruno Haible  <bruno@clisp.org>
40700
40701         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
40702         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
40703         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
40704         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
40705
40706 2009-03-07  Bruno Haible  <bruno@clisp.org>
40707
40708         Adjust u*_normcmp, u*_normcoll API.
40709         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
40710         u16_normcoll, u32_normcoll): Change failure conventions.
40711         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
40712         errno and return -1.
40713         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
40714
40715 2009-03-07  Bruno Haible  <bruno@clisp.org>
40716
40717         Tests for module 'uninorm/u32-normcoll'.
40718         * modules/uninorm/u32-normcoll-tests: New file.
40719         * tests/uninorm/test-u32-normcoll.c: New file.
40720
40721         Tests for module 'uninorm/u16-normcoll'.
40722         * modules/uninorm/u16-normcoll-tests: New file.
40723         * tests/uninorm/test-u16-normcoll.c: New file.
40724
40725         Tests for module 'uninorm/u8-normcoll'.
40726         * modules/uninorm/u8-normcoll-tests: New file.
40727         * tests/uninorm/test-u8-normcoll.c: New file.
40728
40729 2009-03-07  Bruno Haible  <bruno@clisp.org>
40730
40731         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
40732         tests/uninorm/test-u32-normcmp.c.
40733         * tests/uninorm/test-u32-normcmp.c: Include it.
40734         (test_nonascii): New function, extracted from main. Add some more
40735         tests.
40736         (main): Invoke test_ascii and test_nonascii.
40737         * modules/uninorm/u32-normcmp-tests (Files): Add
40738         tests/uninorm/test-u32-normcmp.h.
40739         (Depends-on): Remove uninorm/u32-normcmp.
40740
40741         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
40742         tests/uninorm/test-u16-normcmp.c.
40743         * tests/uninorm/test-u16-normcmp.c: Include it.
40744         (test_nonascii): New function, extracted from main. Add some more
40745         tests.
40746         (main): Invoke test_ascii and test_nonascii.
40747         * modules/uninorm/u16-normcmp-tests (Files): Add
40748         tests/uninorm/test-u16-normcmp.h.
40749         (Depends-on): Remove uninorm/u16-normcmp.
40750
40751         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
40752         tests/uninorm/test-u8-normcmp.c.
40753         * tests/uninorm/test-u8-normcmp.c: Include it.
40754         (test_nonascii): New function, extracted from main. Add some more
40755         tests.
40756         (main): Invoke test_ascii and test_nonascii.
40757         * modules/uninorm/u8-normcmp-tests (Files): Add
40758         tests/uninorm/test-u8-normcmp.h.
40759         (Depends-on): Remove uninorm/u8-normcmp.
40760
40761 2009-03-07  Bruno Haible  <bruno@clisp.org>
40762
40763         New module 'uninorm/u32-normcoll'.
40764         * lib/uninorm/u32-normcoll.c: New file.
40765         * modules/uninorm/u32-normcoll: New file.
40766
40767         New module 'uninorm/u16-normcoll'.
40768         * lib/uninorm/u16-normcoll.c: New file.
40769         * modules/uninorm/u16-normcoll: New file.
40770
40771         New module 'uninorm/u8-normcoll'.
40772         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
40773         declarations.
40774         * lib/uninorm/u8-normcoll.c: New file.
40775         * lib/uninorm/u-normcoll.h: New file.
40776         * modules/uninorm/u8-normcoll: New file.
40777
40778         New module 'uninorm/u32-normxfrm'.
40779         * lib/uninorm/u32-normxfrm.c: New file.
40780         * modules/uninorm/u32-normxfrm: New file.
40781
40782         New module 'uninorm/u16-normxfrm'.
40783         * lib/uninorm/u16-normxfrm.c: New file.
40784         * modules/uninorm/u16-normxfrm: New file.
40785
40786         New module 'uninorm/u8-normxfrm'.
40787         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
40788         declarations.
40789         * lib/uninorm/u8-normxfrm.c: New file.
40790         * lib/uninorm/u-normxfrm.h: New file.
40791         * modules/uninorm/u8-normxfrm: New file.
40792
40793 2009-03-07  Bruno Haible  <bruno@clisp.org>
40794
40795         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
40796         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
40797         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
40798
40799 2009-03-07  Bruno Haible  <bruno@clisp.org>
40800
40801         New module 'memxfrm'.
40802         * lib/memxfrm.h: New file.
40803         * lib/memxfrm.c: New file.
40804         * modules/memxfrm: New file.
40805
40806 2009-03-07  Bruno Haible  <bruno@clisp.org>
40807
40808         New module 'memcmp2'.
40809         * lib/memcmp2.h: New file.
40810         * lib/memcmp2.c: New file.
40811         * modules/memcmp2: New file.
40812
40813 2009-03-07  Bruno Haible  <bruno@clisp.org>
40814
40815         Tests for module 'uninorm/decomposing-form'.
40816         * modules/uninorm/decomposing-form-tests: New file.
40817         * tests/uninorm/test-decomposing-form.c: New file.
40818
40819         New module 'uninorm/decomposing-form'.
40820         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
40821         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
40822         Add 'decomposing_variant' field.
40823         * lib/uninorm/decomposing-form.c: New file.
40824         * lib/uninorm/nfc.c (uninorm_nfc): Update.
40825         * lib/uninorm/nfd.c (uninorm_nfd): Update.
40826         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
40827         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
40828         * modules/uninorm/decomposing-form: New file.
40829         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
40830         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
40831
40832 2009-03-07  Bruno Haible  <bruno@clisp.org>
40833
40834         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
40835         strings.
40836
40837 2009-03-06  Bruno Haible  <bruno@clisp.org>
40838
40839         Tests for module 'uninorm/u32-normcmp'.
40840         * tests/uninorm/test-u32-normcmp.c: New file.
40841         * modules/uninorm/u32-normcmp-tests: New file.
40842
40843         Tests for module 'uninorm/u16-normcmp'.
40844         * tests/uninorm/test-u16-normcmp.c: New file.
40845         * modules/uninorm/u16-normcmp-tests: New file.
40846
40847         Tests for module 'uninorm/u8-normcmp'.
40848         * tests/uninorm/test-u8-normcmp.c: New file.
40849         * modules/uninorm/u8-normcmp-tests: New file.
40850
40851         New module 'uninorm/u32-normcmp'.
40852         * lib/uninorm/u32-normcmp.c: New file.
40853         * modules/uninorm/u32-normcmp: New file.
40854
40855         New module 'uninorm/u16-normcmp'.
40856         * lib/uninorm/u16-normcmp.c: New file.
40857         * modules/uninorm/u16-normcmp: New file.
40858
40859         New module 'uninorm/u8-normcmp'.
40860         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
40861         declarations.
40862         * lib/uninorm/u8-normcmp.c: New file.
40863         * lib/uninorm/u-normcmp.h: New file.
40864         * modules/uninorm/u8-normcmp: New file.
40865
40866 2009-03-06  Bruno Haible  <bruno@clisp.org>
40867
40868         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
40869         Reported by Eric Blake.
40870
40871 2009-03-06  Eric Blake  <ebb9@byu.net>
40872             Bruno Haible  <bruno@clisp.org>
40873
40874         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
40875         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
40876         condition.
40877         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40878         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
40879         condition.
40880         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40881
40882 2009-03-06  Eric Blake  <ebb9@byu.net>
40883
40884         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
40885         to avoid compiler warnings.
40886         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
40887
40888 2009-03-05  Bruno Haible  <bruno@clisp.org>
40889
40890         * tests/test-ftell.c (main): Disable test beyond end of file on
40891         FreeMiNT.
40892         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40893
40894 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
40895
40896         * lib/filevercmp.c: Move hidden files up in ordering.
40897         * tests/test-filevercmp.c: Add tests for hidden files.
40898
40899 2009-03-04  Bruno Haible  <bruno@clisp.org>
40900
40901         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
40902         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
40903         AM_CFLAGS.
40904         Reported by Simon Josefsson.
40905
40906 2009-03-03  Bruno Haible  <bruno@clisp.org>
40907
40908         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
40909         Reported by Simon Josefsson.
40910
40911         * doc/ld-version-script.texi: Update node reference.
40912
40913 2009-03-03  Bruno Haible  <bruno@clisp.org>
40914
40915         * modules/visibility (License): Change to 'unlimited'.
40916         Suggested by Simon Josefsson.
40917
40918 2009-03-03  Jim Meyering  <meyering@redhat.com>
40919
40920         unlinkdir: cannot_unlink_dir may modify process state
40921         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
40922         it's neither thread-safe nor appropriate for use in a library.
40923
40924 2009-03-03  Eric Blake  <ebb9@byu.net>
40925
40926         test-closein: silence test under Darwin
40927         * tests/test-closein.sh: Ignore stderr from cat, since we don't
40928         care if it dies from EPIPE or EBADF.
40929
40930 2009-03-03  Bruno Haible  <bruno@clisp.org>
40931
40932         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
40933         earlier.
40934         * doc/visibility.texi: Fix @node and @section.
40935
40936 2009-03-03  Simon Josefsson  <simon@josefsson.org>
40937
40938         * doc/gnulib.texi: Link to sections for ld version script and
40939         visibility.
40940         * doc/visibility.texi: Add @node and @section.
40941         * modules/ld-version-script: New module.
40942         * m4/ld-version-script.m4: New file.
40943         * doc/ld-version-script.texi: New file.
40944
40945 2009-03-02  David Lutterkort  <lutter@redhat.com>
40946
40947         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
40948         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40949
40950 2009-03-02  Bruno Haible  <bruno@clisp.org>
40951
40952         * doc/visibility.texi: Mention libtool's -export-symbols option.
40953
40954 2009-03-02  Jim Meyering  <meyering@redhat.com>
40955
40956         announce-gen: new option: --no-print-checksums
40957         * build-aux/announce-gen (usage): Describe it.
40958         (print_checksums): Print a newline here, not in the [*] footnote.
40959         (main): Honor it.
40960
40961 2009-03-01  Bruno Haible  <bruno@clisp.org>
40962
40963         Use socklen_t in the native Windows replacements prototypes.
40964         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
40965         instead of 'int'.
40966         * lib/getsockopt.c (rpl_getsockopt): Likewise.
40967         * lib/setsockopt.c (rpl_setsockopt): Likewise.
40968         * modules/getsockopt (Depends-on): Add socklen.
40969         * modules/setsockopt (Depends-on): Add socklen.
40970
40971 2009-03-01  Bruno Haible  <bruno@clisp.org>
40972
40973         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
40974         least 4.2.
40975
40976 2009-03-01  Eric Blake  <ebb9@byu.net>
40977             Bruno Haible  <bruno@clisp.org>
40978
40979         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
40980         error messages.
40981         * lib/wait-process.c (wait_subprocess): Omit error message about
40982         deadly signal sent to the child of termsigp != NULL.
40983
40984 2009-03-01  Eric Blake  <ebb9@byu.net>
40985
40986         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
40987
40988 2009-03-01  Bruno Haible  <bruno@clisp.org>
40989
40990         Avoid a gcc warning.
40991         * tests/test-sched.c (b): Make global.
40992         Reported by Eric Blake.
40993
40994 2009-01-19  Martin Lambers  <marlam@marlam.de>
40995
40996         Provide POSIX semantics for socket timeout options on W32.
40997         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
40998         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
40999         * modules/setsockopt: Depend on sys_time module for struct timeval.
41000         * modules/getsockopt: Depend on sys_time module for struct timeval.
41001
41002 2009-03-01  Simon Josefsson  <simon@josefsson.org>
41003
41004         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
41005         __USE_GNU, for consistency with netdb.in.h.
41006         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41007
41008 2009-03-01  Bruno Haible  <bruno@clisp.org>
41009
41010         More support for FreeMiNT.
41011         * lib/fseeko.c (rpl_fseeko): Complete last commit.
41012         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41013
41014 2009-03-01  Bruno Haible  <bruno@clisp.org>
41015
41016         More support for FreeMiNT.
41017         * lib/fpurge.c (fpurge): Correct last commit.
41018         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41019
41020 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41021
41022         Fix unportable awk script in vc-list-files.
41023         * build-aux/vc-list-files: In the replacement awk script, use
41024         substr with a second argument of 1, not zero.
41025         Report by Simon Josefsson.
41026
41027 2009-02-28  Bruno Haible  <bruno@clisp.org>
41028
41029         More support for FreeMiNT.
41030         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
41031         to FreeMiNT today.
41032         * lib/fwriting.c (fwriting): Likewise.
41033         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
41034
41035 2009-02-28  Bruno Haible  <bruno@clisp.org>
41036
41037         * tests/test-freadseek.c (main): Disable test beyond end of file on
41038         FreeMiNT.
41039         * tests/test-ftello.c (main): Likewise.
41040         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
41041
41042 2009-02-28  Bruno Haible  <bruno@clisp.org>
41043
41044         Add tentative support for FreeMiNT.
41045         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
41046         * lib/fpurge.c (fpurge): Likewise.
41047         * lib/freadable.c (freadable): Likewise.
41048         * lib/freading.c (freading): Likewise.
41049         * lib/freadptr.c (freadptr): Likewise.
41050         * lib/freadseek.c (freadptrinc): Likewise.
41051         * lib/fseeko.c (rpl_fseeko): Likewise.
41052         * lib/fseterr.c (fseterr): Likewise.
41053         * lib/fwritable.c (fwritable): Likewise.
41054         * lib/fwriting.c (fwriting): Likewise.
41055         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
41056         Hourihane.
41057         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41058
41059 2009-02-28  Bruno Haible  <bruno@clisp.org>
41060
41061         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
41062         SIGCHLD.
41063         Reported by Jim Meyering.
41064
41065 2009-02-28  Bruno Haible  <bruno@clisp.org>
41066
41067         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
41068         Mention the results of these tests on various platforms.
41069         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
41070         order.
41071         * doc/posix-functions/printf.texi: Likewise.
41072         * doc/posix-functions/snprintf.texi: Likewise.
41073         * doc/posix-functions/sprintf.texi: Likewise.
41074         * doc/posix-functions/vfprintf.texi: Likewise.
41075         * doc/posix-functions/vprintf.texi: Likewise.
41076         * doc/posix-functions/vsnprintf.texi: Likewise.
41077         * doc/posix-functions/vsprintf.texi: Likewise.
41078         * doc/glibc-functions/obstack_printf.texi: Likewise.
41079         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
41080
41081 2009-02-28  Bruno Haible  <bruno@clisp.org>
41082
41083         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
41084         Reported by Loïc Minier <lool@dooz.org>.
41085
41086 2009-02-27  Bruno Haible  <bruno@clisp.org>
41087
41088         * gnulib-tool (func_import): Make the sed expression used to create the
41089         sed script for updating the .gitignore file POSIX compliant.
41090         Reported by Eric Blake.
41091
41092 2009-02-27  Bruno Haible  <bruno@clisp.org>
41093
41094         * gnulib-tool (sed): Don't alias as "sed --posix".
41095         Reported by Eric Blake.
41096
41097 2009-02-27  Bruno Haible  <bruno@clisp.org>
41098
41099         Avoid test link errors.
41100         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
41101         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
41102         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
41103         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
41104         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41105
41106 2009-02-27  Bruno Haible  <bruno@clisp.org>
41107
41108         Avoid spurious "(cached)" in configure output.
41109         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
41110         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
41111         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
41112         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
41113         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
41114         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
41115         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
41116         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
41117         Reported by Eric Blake.
41118
41119 2009-02-27  Eric Blake  <ebb9@byu.net>
41120
41121         printf: fix regression in previous patch
41122         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
41123
41124 2009-02-27  Bruno Haible  <bruno@clisp.org>
41125
41126         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
41127         value.
41128         * lib/stdint.in.h: Likewise.
41129         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
41130
41131 2009-02-27  Eric Blake  <ebb9@byu.net>
41132
41133         doc: mention more functions added in cygwin 1.7.0
41134         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
41135         addition.
41136         * doc/posix-functions/open_wmemstream.texi: Likewise.
41137         * doc/posix-functions/wcsnlen.texi: Likewise.
41138         * doc/posix-functions/wcsnrtombs.texi: Likewise.
41139         * doc/posix-functions/wcstod.texi: Likewise.
41140         * doc/posix-functions/wcstof.texi: Likewise.
41141         * doc/posix-functions/wcstoimax.texi: Likewise.
41142         * doc/posix-functions/wcstok.texi: Likewise.
41143         * doc/posix-functions/wcstoumax.texi: Likewise.
41144
41145         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
41146         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
41147         * doc/posix-functions/fprintf.texi: Update.
41148         * doc/posix-functions/printf.texi: Update.
41149         * doc/posix-functions/snprintf.texi: Update.
41150         * doc/posix-functions/sprintf.texi: Update.
41151         * doc/posix-functions/vfprintf.texi: Update.
41152         * doc/posix-functions/vprintf.texi: Update.
41153         * doc/posix-functions/vsnprintf.texi: Update.
41154         * doc/posix-functions/vsprintf.texi: Update.
41155         * doc/glibc-functions/obstack_printf.texi: Update.
41156         * doc/glibc-functions/obstack_vprintf.texi: Update.
41157
41158 2009-02-26  Eric Blake  <ebb9@byu.net>
41159
41160         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
41161         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
41162         compilation bug by using runtime conversion.
41163         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
41164         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
41165         * modules/ceill-tests (Files): Use nan.h.
41166         * modules/floorl-tests (Files): Likewise.
41167         * modules/frexpl-tests (Files): Likewise.
41168         * modules/isnanl-tests (Files): Likewise.
41169         * modules/ldexpl-tests (Files): Likewise.
41170         * modules/roundl-tests (Files): Likewise.
41171         * modules/truncl-tests (Files): Likewise.
41172         * tests/test-ceill.c (main): Use a working NaN.
41173         * tests/test-floorl.c (main): Likewise.
41174         * tests/test-frexpl.c (main): Likewise.
41175         * tests/test-isnan.c (test_long_double): Likewise.
41176         * tests/test-isnanl.h (main): Likewise.
41177         * tests/test-ldexpl.h (main): Likewise.
41178         * tests/test-roundl.h (main): Likewise.
41179         * tests/test-truncl.h (main): Likewise.
41180         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
41181
41182 2009-02-26  Eric Blake  <ebb9@byu.net>
41183             Bruno Haible  <bruno@clisp.org>
41184
41185         Work around a *printf bug with %ls on Solaris.
41186         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
41187         precision is specified, sprintf stops converting the wide string
41188         argument when the number of bytes that have been produced by this
41189         conversion equals or exceeds the precision.
41190         * doc/posix-functions/fprintf.texi: Update.
41191         * doc/posix-functions/printf.texi: Update.
41192         * doc/posix-functions/snprintf.texi: Update.
41193         * doc/posix-functions/sprintf.texi: Update.
41194         * doc/posix-functions/vfprintf.texi: Update.
41195         * doc/posix-functions/vprintf.texi: Update.
41196         * doc/posix-functions/vsnprintf.texi: Update.
41197         * doc/posix-functions/vsprintf.texi: Update.
41198         * doc/glibc-functions/obstack_printf.texi: Update.
41199         * doc/glibc-functions/obstack_vprintf.texi: Update.
41200
41201 2009-02-26  Eric Blake  <ebb9@byu.net>
41202
41203         stdlib: favor compiler check of random.h
41204         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
41205         to avoid an ObjC random.h installed by Swarm.
41206
41207 2009-02-26  Bruno Haible  <bruno@clisp.org>
41208
41209         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
41210         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
41211         Reported by Gary V. Vaughan <gary@gnu.org>.
41212
41213 2009-02-26  Bruno Haible  <bruno@clisp.org>
41214
41215         Fix *printf behaviour regarding the %ls directive.
41216         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
41217         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
41218         NEED_PRINTF_DIRECTIVE_LS.
41219         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
41220         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41221         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41222         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
41223         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
41224         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
41225         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
41226         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41227         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41228         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41229         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41230         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
41231         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41232         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41233         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41234         * doc/posix-functions/fprintf.texi: Update.
41235         * doc/posix-functions/printf.texi: Update.
41236         * doc/posix-functions/snprintf.texi: Update.
41237         * doc/posix-functions/sprintf.texi: Update.
41238         * doc/posix-functions/vfprintf.texi: Update.
41239         * doc/posix-functions/vprintf.texi: Update.
41240         * doc/posix-functions/vsnprintf.texi: Update.
41241         * doc/posix-functions/vsprintf.texi: Update.
41242         * doc/glibc-functions/obstack_printf.texi: Update.
41243         * doc/glibc-functions/obstack_vprintf.texi: Update.
41244         Reported by Eric Blake.
41245
41246 2009-02-25  Bruno Haible  <bruno@clisp.org>
41247
41248         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
41249         with known value.
41250         Reported by Gary V. Vaughan <gary@gnu.org>.
41251
41252 2009-02-25  Bruno Haible  <bruno@clisp.org>
41253
41254         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
41255         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
41256         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
41257         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
41258         Reported by Gary V. Vaughan <gary@gnu.org>.
41259
41260 2009-02-25  Bruno Haible  <bruno@clisp.org>
41261
41262         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
41263         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
41264         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
41265         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
41266         Reported by Gary V. Vaughan <gary@gnu.org>.
41267
41268 2009-02-25  Eric Blake  <ebb9@byu.net>
41269
41270         tests: skip fseek/ftell tests if ungetc is broken
41271         * m4/ungetc.m4: New file.
41272         * modules/fseek-tests: Split test, so ungetc dependency is
41273         separate from rest of test.
41274         * modules/fseeko-tests: Likewise.
41275         * modules/ftell-tests: Likewise.
41276         * modules/ftello-tests: Likewise.
41277         * tests/test-fseek.c (main): Isolate ungetc dependency.
41278         * tests/test-fseeko.c (main): Likewise.
41279         * tests/test-ftell.c (main): Likewise.
41280         * tests/test-ftello.c (main): Likewise.
41281         * tests/test-fseek2.sh: New file.
41282         * tests/test-fseeko2.sh: Likewise.
41283         * tests/test-ftell2.sh: Likewise.
41284         * tests/test-ftello2.sh: Likewise.
41285
41286 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
41287
41288         test-getaddrinfo: fix usage of skip return code 77
41289         * tests/test-gettaddrinfo.c: Return skip code 77 only
41290         for first occurance of skip (4x77 is not 77)
41291
41292 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
41293
41294         strtod: avoid C99 decl-after-statement
41295         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
41296
41297 2009-02-24  Eric Blake  <ebb9@byu.net>
41298
41299         strtod: detect HP-UX 11.31 bug
41300         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
41301         Reported by Gary V. Vaughan.
41302
41303 2009-02-23  Bruno Haible  <bruno@clisp.org>
41304
41305         Fix invalid read past end of memory block.
41306         * lib/vasnprintf.c (DCHAR_SET): Define.
41307         (local_wcslen): Define only when needed.
41308         (local_strnlen, local_wcsnlen): New functions.
41309         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
41310         directives that involve a conversion ourselves.
41311         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
41312         wcsnlen, mbrtowc, wcrtomb.
41313         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
41314         * tests/test-vasprintf-posix.c (test_function): Likewise.
41315         * tests/test-snprintf-posix.h (test_function): Likewise.
41316         * tests/test-sprintf-posix.h (test_function): Likewise.
41317         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41318
41319 2009-02-22  Bruno Haible  <bruno@clisp.org>
41320
41321         Implement new clarified decomposition of Hangul syllables.
41322         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
41323         of type LTV, return only a pairwise decomposition.
41324         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
41325         Likewise.
41326         * tests/uninorm/test-decomposition.c (main): Updated expected result.
41327         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
41328         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
41329
41330 2009-02-22  Bruno Haible  <bruno@clisp.org>
41331
41332         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
41333         zero-length results and shrink excess allocated memory.
41334         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
41335         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
41336         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
41337         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
41338         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
41339         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
41340         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
41341         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
41342         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
41343         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
41344         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
41345         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
41346
41347 2009-02-21  Bruno Haible  <bruno@clisp.org>
41348
41349         * doc/gnulib.texi: Include safe-alloc.texi earlier.
41350         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
41351         spaces after a period. Put a space between a macro name and its
41352         argument list. Trivial rewordings.
41353         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
41354         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
41355         (main): Return 0 explicitly.
41356
41357 2009-02-21  Bruno Haible  <bruno@clisp.org>
41358
41359         Tests for module 'uninorm/filter'.
41360         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
41361         * modules/uninorm/filter-tests: New file.
41362
41363         New module 'uninorm/filter'.
41364         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
41365         uninorm_filter_flush, uninorm_filter_free): New declarations.
41366         * lib/uninorm/uninorm-filter.c: New file.
41367         * modules/uninorm/filter: New file.
41368
41369 2009-02-21  Bruno Haible  <bruno@clisp.org>
41370
41371         Tests for module 'uninorm/nfkc'.
41372         * tests/uninorm/test-nfkc.c: New file.
41373         * tests/uninorm/test-u8-nfkc.c: New file.
41374         * tests/uninorm/test-u16-nfkc.c: New file.
41375         * tests/uninorm/test-u32-nfkc.c: New file.
41376         * tests/uninorm/test-u32-nfkc-big.sh: New file.
41377         * tests/uninorm/test-u32-nfkc-big.c: New file.
41378         * modules/uninorm/nfkc-tests: New file.
41379
41380         New module 'uninorm/nfkc'.
41381         * lib/uninorm/nfkc.c: New file.
41382         * modules/uninorm/nfkc: New file.
41383
41384         Tests for module 'uninorm/nfkd'.
41385         * tests/uninorm/test-nfkd.c: New file.
41386         * tests/uninorm/test-u8-nfkd.c: New file.
41387         * tests/uninorm/test-u16-nfkd.c: New file.
41388         * tests/uninorm/test-u32-nfkd.c: New file.
41389         * tests/uninorm/test-u32-nfkd-big.sh: New file.
41390         * tests/uninorm/test-u32-nfkd-big.c: New file.
41391         * modules/uninorm/nfkd-tests: New file.
41392
41393         New module 'uninorm/nfkd'.
41394         * lib/uninorm/nfkd.c: New file.
41395         * modules/uninorm/nfkd: New file.
41396
41397         Tests for module 'uninorm/nfc'.
41398         * tests/uninorm/test-nfc.c: New file.
41399         * tests/uninorm/test-u8-nfc.c: New file.
41400         * tests/uninorm/test-u16-nfc.c: New file.
41401         * tests/uninorm/test-u32-nfc.c: New file.
41402         * tests/uninorm/test-u32-nfc-big.sh: New file.
41403         * tests/uninorm/test-u32-nfc-big.c: New file.
41404         * modules/uninorm/nfc-tests: New file.
41405
41406         New module 'uninorm/nfc'.
41407         * lib/uninorm/nfc.c: New file.
41408         * modules/uninorm/nfc: New file.
41409
41410         Tests for module 'uninorm/nfd'.
41411         * tests/uninorm/test-nfd.c: New file.
41412         * tests/uninorm/test-u8-nfd.c: New file.
41413         * tests/uninorm/test-u16-nfd.c: New file.
41414         * tests/uninorm/test-u32-nfd.c: New file.
41415         * tests/uninorm/test-u32-nfd-big.sh: New file.
41416         * tests/uninorm/test-u32-nfd-big.c: New file.
41417         * tests/uninorm/test-u32-normalize-big.h: New file.
41418         * tests/uninorm/test-u32-normalize-big.c: New file.
41419         * tests/uninorm/NormalizationTest.txt: New file, created from
41420         Unicode 5.1.0 NormalizationTest.txt.
41421         * modules/uninorm/nfd-tests: New file.
41422
41423         New module 'uninorm/nfd'.
41424         * lib/uninorm/nfd.c: New file.
41425         * modules/uninorm/nfd: New file.
41426
41427         New module 'uninorm/u32-normalize'.
41428         * lib/uninorm/u32-normalize.c: New file.
41429         * modules/uninorm/u32-normalize: New file.
41430
41431         New module 'uninorm/u16-normalize'.
41432         * lib/uninorm/u16-normalize.c: New file.
41433         * modules/uninorm/u16-normalize: New file.
41434
41435         New module 'uninorm/u8-normalize'.
41436         * lib/uninorm/u8-normalize.c: New file.
41437         * lib/uninorm/normalize-internal.h: New file.
41438         * lib/uninorm/u-normalize-internal.h: New file.
41439         * modules/uninorm/u8-normalize: New file.
41440
41441         New module 'uninorm/decompose-internal'.
41442         * lib/uninorm/decompose-internal.c: New file.
41443         * modules/uninorm/decompose-internal: New file.
41444
41445         Tests for module 'uninorm/composition'.
41446         * tests/uninorm/test-composition.c: New file.
41447         * modules/uninorm/composition-tests: New file.
41448
41449         New module 'uninorm/composition'.
41450         * lib/uninorm/composition.c: New file.
41451         * lib/uninorm/composition-table.gperf: New file, generated by
41452         gen-uni-tables.
41453         * modules/uninorm/composition: New file.
41454
41455         Tests for module 'uninorm/compat-decomposition'.
41456         * tests/uninorm/test-compat-decomposition.c: New file.
41457         * modules/uninorm/compat-decomposition-tests: New file.
41458
41459         New module 'uninorm/compat-decomposition'.
41460         * lib/uninorm/decompose-internal.h: New file.
41461         * lib/uninorm/compat-decomposition.c: New file.
41462         * modules/uninorm/compat-decomposition: New file.
41463
41464         Tests for module 'uninorm/canonical-decomposition'.
41465         * tests/uninorm/test-canonical-decomposition.c: New file.
41466         * modules/uninorm/canonical-decomposition-tests: New file.
41467
41468         New module 'uninorm/canonical-decomposition'.
41469         * lib/uninorm/canonical-decomposition.c: New file.
41470         * modules/uninorm/canonical-decomposition: New file.
41471
41472         Tests for module 'uninorm/decomposition'.
41473         * tests/uninorm/test-decomposition.c: New file.
41474         * modules/uninorm/decomposition-tests: New file.
41475
41476         New module 'uninorm/decomposition'.
41477         * lib/uninorm/decomposition.c: New file.
41478         * modules/uninorm/decomposition: New file.
41479
41480         New module 'uninorm/decomposition-table'.
41481         * lib/uninorm/decomposition-table.h: New file.
41482         * lib/uninorm/decomposition-table.c: New file.
41483         * lib/uninorm/decomposition-table1.h: New file, generated by
41484         gen-uni-tables.
41485         * lib/uninorm/decomposition-table2.h: New file, generated by
41486         gen-uni-tables.
41487         * modules/uninorm/decomposition-table: New file.
41488
41489         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
41490         (UC_DECOMP_*): New enumeration items.
41491         (get_decomposition): New function.
41492         (struct decomp_table): New type.
41493         (output_decomposition, output_decomposition_tables): New functions.
41494         (unicode_composition_exclusions): New variable.
41495         (fill_composition_exclusions, debug_output_composition_tables): New
41496         functions.
41497         (main): Accept one more argument. Invoke fill_composition_exclusions.
41498         Output decomposition and composition tables.
41499
41500         New module 'uninorm/base'.
41501         * lib/uninorm.h: New file.
41502         * lib/unictype.h: Update comment.
41503         * modules/uninorm/base: New file.
41504
41505 2009-02-21  David Lutterkort  <lutter@redhat.com>
41506
41507         Tests for module 'safe-alloc'.
41508         * tests/test-safe-alloc.c: New file.
41509         * modules/safe-alloc-tests: New file.
41510
41511         New module 'safe-alloc'.
41512         * lib/safe-alloc.h: New file.
41513         * lib/safe-alloc.c: New file.
41514         * m4/safe-alloc.m4: New file.
41515         * modules/safe-alloc: New file.
41516         * doc/safe-alloc.texi: New file.
41517         * doc/gnulib.texi: Include it.
41518         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
41519         safe-alloc.
41520
41521 2009-02-18  Bruno Haible  <bruno@clisp.org>
41522
41523         Fix link error on non-glibc systems.
41524         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
41525         variable.
41526         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41527
41528 2009-02-18  Jim Meyering  <meyering@redhat.com>
41529
41530         fts: avoid used-uninitialized error due to recent change
41531         * lib/fts.c (fts_read): Guard uses of the new member,
41532         parent->fts_n_dirs_remaining, since it's not relevant for
41533         the parent of a directory specified on the command-line.
41534
41535 2009-02-17  James Youngman  <jay@gnu.org>
41536             Bruno Haible  <bruno@clisp.org>
41537
41538         * m4/include_next.m4: Reformulate comment.
41539
41540 2009-02-16  Jim Meyering  <meyering@redhat.com>
41541
41542         fts: add #if guards so that the fts_lgpl module still builds
41543         * lib/fts.c: Guard just-added hash-table-using parts with
41544         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
41545         Reported by Simon Josefsson.
41546
41547 2009-02-15  Bruno Haible  <bruno@clisp.org>
41548
41549         * modules/array-mergesort-tests: New file.
41550         * tests/test-array-mergesort.c: New file.
41551
41552         New module 'array-mergesort'.
41553         * modules/array-mergesort: New file.
41554         * lib/array-mergesort.h: New file.
41555
41556 2009-02-15  Bruno Haible  <bruno@clisp.org>
41557
41558         Fix 2009-02-07 commit.
41559         * lib/gen-uni-tables.c (output_predicate, output_category,
41560         output_combclass, output_bidi_category, output_decimal_digit,
41561         output_digit, output_numeric, output_mirror, output_scripts,
41562         output_ident_category, output_simple_mapping): Fix format directives.
41563         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
41564
41565 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
41566
41567         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
41568         fixes are available from IBM.
41569
41570 2009-02-13  Jim Meyering  <meyering@redhat.com>
41571
41572         fts: arrange not to stat non-directories in more cases
41573         This makes GNU find (when it doesn't need to stat each file)
41574         *much* more efficient at traversing reiserfs file systems.
41575         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
41576         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
41577         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
41578         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
41579         (leaf_optimization_applies): New function.
41580         (LCO_hash, LCO_compare): New helper functions.
41581         (link_count_optimize_ok): New function.
41582         (fts_stat): Initialize new member (if dir).
41583         (fts_read): Decrement parent's fts_n_dirs_remaining count if
41584         we've just stat'ed a directory.  Skip the stat call when possible.
41585         ---
41586         Note this AFS-related exchange:
41587         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
41588         and note find's pioctl call in find/fstype.c.
41589         But that is necessary only if you want to enable the
41590         optimization for AFS, and for now, I don't.
41591
41592         fts: move a function definition "up" (no semantic change)
41593         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
41594         "up" to precede upcoming use of a related function.
41595
41596 2009-02-11  Jim Meyering  <meyering@redhat.com>
41597
41598         fts: correct internal computation of nlinks (optimization-related)
41599         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
41600         whether the current entry is a directory, so don't test it.
41601
41602 2009-02-10  Bruno Haible  <bruno@clisp.org>
41603
41604         Tests for module 'uniwbrk/ulc-wordbreaks'.
41605         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
41606         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
41607         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
41608
41609         Tests for module 'uniwbrk/u32-wordbreaks'.
41610         * modules/uniwbrk/u32-wordbreaks-tests: New file.
41611         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
41612
41613         Tests for module 'uniwbrk/u16-wordbreaks'.
41614         * modules/uniwbrk/u16-wordbreaks-tests: New file.
41615         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
41616
41617         Tests for module 'uniwbrk/u8-wordbreaks'.
41618         * modules/uniwbrk/u8-wordbreaks-tests: New file.
41619         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
41620
41621 2009-02-10  Bruno Haible  <bruno@clisp.org>
41622
41623         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
41624         property.
41625         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
41626         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
41627         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
41628
41629 2009-02-10  Simon Josefsson  <simon@josefsson.org>
41630
41631         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
41632         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
41633
41634 2009-02-10  Bruno Haible  <bruno@clisp.org>
41635
41636         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
41637         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
41638         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
41639         * lib/unilbrk/u8-possible-linebreaks.c: Update.
41640         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
41641         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
41642
41643 2009-02-09  Simon Josefsson  <simon@josefsson.org>
41644
41645         * lib/sockets.h (gl_fd_to_handle): New function.
41646
41647         * tests/test-sockets.c: Call gl_fd_to_handle.
41648
41649 2009-02-09  Bruno Haible  <bruno@clisp.org>
41650
41651         * doc/havelib.texi: Document the conventions on bi-arch systems.
41652
41653 2009-02-08  Bruno Haible  <bruno@clisp.org>
41654
41655         Document the AC_LIB_LINKFLAGS macro.
41656         * doc/havelib.texi: New file, mostly written on 2005-05-24.
41657         * doc/gnulib.texi: Include it.
41658
41659 2009-02-08  Bruno Haible  <bruno@clisp.org>
41660
41661         Fix wrong order of sections, compared to TOC.
41662         * doc/gnulib.texi: Include relocatable-maint.texi after the
41663         "Regular expressions" node, not before.
41664
41665 2009-02-08  Bruno Haible  <bruno@clisp.org>
41666
41667         Tests for module 'unicase/totitle'.
41668         * modules/unicase/totitle-tests: New file.
41669
41670         Tests for module 'unicase/tolower'.
41671         * modules/unicase/tolower-tests: New file.
41672
41673         Tests for module 'unicase/toupper'.
41674         * modules/unicase/toupper-tests: New file.
41675         * tests/unicase/test-mapping-part1.h: New file.
41676         * tests/unicase/test-mapping-part2.h: New file.
41677
41678         New module 'unicase/totitle'.
41679         * modules/unicase/totitle: New file.
41680         * lib/unicase/totitle.c: New file.
41681
41682         New module 'unicase/tolower'.
41683         * modules/unicase/tolower: New file.
41684         * lib/unicase/tolower.c: New file.
41685
41686         New module 'unicase/toupper'.
41687         * modules/unicase/toupper: New file.
41688         * lib/unicase/toupper.c: New file.
41689         * lib/unicase/simple-mapping.h: New file.
41690
41691         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
41692         (mapping_table): New structure.
41693         (output_simple_mapping): New function.
41694         (main): Invoke output_simple_mapping_test and output_simple_mapping.
41695         * modules/gen-uni-tables (Description): Update.
41696         * lib/unicase/toupper.h: New file, automatically generated by
41697         gen-uni-tables.
41698         * lib/unicase/tolower.h: New file, automatically generated by
41699         gen-uni-tables.
41700         * lib/unicase/totitle.h: New file, automatically generated by
41701         gen-uni-tables.
41702         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
41703         gen-uni-tables.
41704         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
41705         gen-uni-tables.
41706         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
41707         gen-uni-tables.
41708
41709         New module 'unicase/base'.
41710         * modules/unicase/base: New file.
41711         * lib/unicase.h: New file.
41712
41713 2009-02-08  Bruno Haible  <bruno@clisp.org>
41714
41715         New module 'uniwbrk/ulc-wordbreaks'.
41716         * modules/uniwbrk/ulc-wordbreaks: New file.
41717         * lib/uniwbrk/ulc-wordbreaks.c: New file.
41718
41719         New module 'uniwbrk/u32-wordbreaks'.
41720         * modules/uniwbrk/u32-wordbreaks: New file.
41721         * lib/uniwbrk/u32-wordbreaks.c: New file.
41722
41723         New module 'uniwbrk/u16-wordbreaks'.
41724         * modules/uniwbrk/u16-wordbreaks: New file.
41725         * lib/uniwbrk/u16-wordbreaks.c: New file.
41726
41727         New module 'uniwbrk/u8-wordbreaks'.
41728         * modules/uniwbrk/u8-wordbreaks: New file.
41729         * lib/uniwbrk/u8-wordbreaks.c: New file.
41730         * lib/uniwbrk/u-wordbreaks.h: New file.
41731
41732         New module 'uniwbrk/table'.
41733         * modules/uniwbrk/table: New file.
41734         * lib/uniwbrk/wbrktable.h: New file.
41735         * lib/uniwbrk/wbrktable.c: New file.
41736
41737         New module 'uniwbrk/wordbreak-property'.
41738         * modules/uniwbrk/wordbreak-property: New file.
41739         * lib/uniwbrk/wordbreak-property.c: New file.
41740
41741         * lib/gen-uni-tables.c (WBP_*): New enum items.
41742         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
41743         (unicode_org_wbp): New variable.
41744         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
41745         New functions.
41746         (wbp_table): New structure.
41747         (output_wbp, output_wbrk_tables): New functions.
41748         (main): Accept additional argument. Invoke fill_org_wbp,
41749         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
41750         output_wbrk_tables.
41751         * modules/gen-uni-tables (Description): Update.
41752         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
41753         gen-uni-tables.
41754
41755         New module 'uniwbrk/base'.
41756         * modules/uniwbrk/base: New file.
41757         * lib/uniwbrk.h: New file.
41758
41759 2009-02-08  Bruno Haible  <bruno@clisp.org>
41760
41761         Update to Unicode 5.1.0.
41762         * lib/gen-uni-tables.c (is_property_alphabetic): Include
41763         U+2185..U+2188.
41764         (is_property_default_ignorable_code_point): Don't include characters
41765         of category Cc or Cs and not-a-characters.
41766         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
41767         U+0D79, U+109E, U+109F, U+A60C.
41768         * lib/unictype/bidi_of.h: Regenerated.
41769         * lib/unictype/blocks.h: Regenerated.
41770         * lib/unictype/categ_C.h: Regenerated.
41771         * lib/unictype/categ_Cf.h: Regenerated.
41772         * lib/unictype/categ_Cn.h: Regenerated.
41773         * lib/unictype/categ_L.h: Regenerated.
41774         * lib/unictype/categ_Ll.h: Regenerated.
41775         * lib/unictype/categ_Lm.h: Regenerated.
41776         * lib/unictype/categ_Lo.h: Regenerated.
41777         * lib/unictype/categ_Lu.h: Regenerated.
41778         * lib/unictype/categ_M.h: Regenerated.
41779         * lib/unictype/categ_Mc.h: Regenerated.
41780         * lib/unictype/categ_Me.h: Regenerated.
41781         * lib/unictype/categ_Mn.h: Regenerated.
41782         * lib/unictype/categ_N.h: Regenerated.
41783         * lib/unictype/categ_Nd.h: Regenerated.
41784         * lib/unictype/categ_Nl.h: Regenerated.
41785         * lib/unictype/categ_No.h: Regenerated.
41786         * lib/unictype/categ_P.h: Regenerated.
41787         * lib/unictype/categ_Pd.h: Regenerated.
41788         * lib/unictype/categ_Pe.h: Regenerated.
41789         * lib/unictype/categ_Pf.h: Regenerated.
41790         * lib/unictype/categ_Pi.h: Regenerated.
41791         * lib/unictype/categ_Po.h: Regenerated.
41792         * lib/unictype/categ_Ps.h: Regenerated.
41793         * lib/unictype/categ_S.h: Regenerated.
41794         * lib/unictype/categ_Sk.h: Regenerated.
41795         * lib/unictype/categ_Sm.h: Regenerated.
41796         * lib/unictype/categ_So.h: Regenerated.
41797         * lib/unictype/categ_of.h: Regenerated.
41798         * lib/unictype/combining.h: Regenerated.
41799         * lib/unictype/ctype_alnum.h: Regenerated.
41800         * lib/unictype/ctype_alpha.h: Regenerated.
41801         * lib/unictype/ctype_graph.h: Regenerated.
41802         * lib/unictype/ctype_lower.h: Regenerated.
41803         * lib/unictype/ctype_print.h: Regenerated.
41804         * lib/unictype/ctype_punct.h: Regenerated.
41805         * lib/unictype/ctype_upper.h: Regenerated.
41806         * lib/unictype/decdigit.h: Regenerated.
41807         * lib/unictype/digit.h: Regenerated.
41808         * lib/unictype/mirror.h: Regenerated.
41809         * lib/unictype/numeric.h: Regenerated.
41810         * lib/unictype/pr_alphabetic.h: Regenerated.
41811         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
41812         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
41813         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
41814         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
41815         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
41816         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
41817         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
41818         * lib/unictype/pr_combining.h: Regenerated.
41819         * lib/unictype/pr_dash.h: Regenerated.
41820         * lib/unictype/pr_decimal_digit.h: Regenerated.
41821         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
41822         * lib/unictype/pr_deprecated.h: Regenerated.
41823         * lib/unictype/pr_diacritic.h: Regenerated.
41824         * lib/unictype/pr_extender.h: Regenerated.
41825         * lib/unictype/pr_format_control.h: Regenerated.
41826         * lib/unictype/pr_grapheme_base.h: Regenerated.
41827         * lib/unictype/pr_grapheme_extend.h: Regenerated.
41828         * lib/unictype/pr_grapheme_link.h: Regenerated.
41829         * lib/unictype/pr_id_continue.h: Regenerated.
41830         * lib/unictype/pr_id_start.h: Regenerated.
41831         * lib/unictype/pr_ideographic.h: Regenerated.
41832         * lib/unictype/pr_ignorable_control.h: Regenerated.
41833         * lib/unictype/pr_lowercase.h: Regenerated.
41834         * lib/unictype/pr_math.h: Regenerated.
41835         * lib/unictype/pr_numeric.h: Regenerated.
41836         * lib/unictype/pr_other_alphabetic.h: Regenerated.
41837         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
41838         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
41839         * lib/unictype/pr_other_id_continue.h: Regenerated.
41840         * lib/unictype/pr_other_lowercase.h: Regenerated.
41841         * lib/unictype/pr_other_math.h: Regenerated.
41842         * lib/unictype/pr_punctuation.h: Regenerated.
41843         * lib/unictype/pr_sentence_terminal.h: Regenerated.
41844         * lib/unictype/pr_soft_dotted.h: Regenerated.
41845         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
41846         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
41847         * lib/unictype/pr_unified_ideograph.h: Regenerated.
41848         * lib/unictype/pr_uppercase.h: Regenerated.
41849         * lib/unictype/pr_xid_continue.h: Regenerated.
41850         * lib/unictype/pr_xid_start.h: Regenerated.
41851         * lib/unictype/pr_zero_width.h: Regenerated.
41852         * lib/unictype/scripts.h: Regenerated.
41853         * lib/unictype/scripts_byname.gperf: Regenerated.
41854         * lib/unictype/sy_java_ident.h: Regenerated.
41855         * lib/unilbrk/lbrkprop1.h: Regenerated.
41856         * lib/unilbrk/lbrkprop2.h: Regenerated.
41857         * tests/unictype/test-categ_C.c: Regenerated.
41858         * tests/unictype/test-categ_Cf.c: Regenerated.
41859         * tests/unictype/test-categ_Cn.c: Regenerated.
41860         * tests/unictype/test-categ_L.c: Regenerated.
41861         * tests/unictype/test-categ_Ll.c: Regenerated.
41862         * tests/unictype/test-categ_Lm.c: Regenerated.
41863         * tests/unictype/test-categ_Lo.c: Regenerated.
41864         * tests/unictype/test-categ_Lu.c: Regenerated.
41865         * tests/unictype/test-categ_M.c: Regenerated.
41866         * tests/unictype/test-categ_Mc.c: Regenerated.
41867         * tests/unictype/test-categ_Me.c: Regenerated.
41868         * tests/unictype/test-categ_Mn.c: Regenerated.
41869         * tests/unictype/test-categ_N.c: Regenerated.
41870         * tests/unictype/test-categ_Nd.c: Regenerated.
41871         * tests/unictype/test-categ_Nl.c: Regenerated.
41872         * tests/unictype/test-categ_No.c: Regenerated.
41873         * tests/unictype/test-categ_P.c: Regenerated.
41874         * tests/unictype/test-categ_Pd.c: Regenerated.
41875         * tests/unictype/test-categ_Pe.c: Regenerated.
41876         * tests/unictype/test-categ_Pf.c: Regenerated.
41877         * tests/unictype/test-categ_Pi.c: Regenerated.
41878         * tests/unictype/test-categ_Po.c: Regenerated.
41879         * tests/unictype/test-categ_Ps.c: Regenerated.
41880         * tests/unictype/test-categ_S.c: Regenerated.
41881         * tests/unictype/test-categ_Sk.c: Regenerated.
41882         * tests/unictype/test-categ_Sm.c: Regenerated.
41883         * tests/unictype/test-categ_So.c: Regenerated.
41884         * tests/unictype/test-ctype_alnum.c: Regenerated.
41885         * tests/unictype/test-ctype_alpha.c: Regenerated.
41886         * tests/unictype/test-ctype_graph.c: Regenerated.
41887         * tests/unictype/test-ctype_lower.c: Regenerated.
41888         * tests/unictype/test-ctype_print.c: Regenerated.
41889         * tests/unictype/test-ctype_punct.c: Regenerated.
41890         * tests/unictype/test-ctype_upper.c: Regenerated.
41891         * tests/unictype/test-decdigit.h: Regenerated.
41892         * tests/unictype/test-digit.h: Regenerated.
41893         * tests/unictype/test-numeric.h: Regenerated.
41894         * tests/unictype/test-pr_alphabetic.c: Regenerated.
41895         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
41896         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
41897         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
41898         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
41899         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
41900         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
41901         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
41902         * tests/unictype/test-pr_combining.c: Regenerated.
41903         * tests/unictype/test-pr_dash.c: Regenerated.
41904         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
41905         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
41906         * tests/unictype/test-pr_deprecated.c: Regenerated.
41907         * tests/unictype/test-pr_diacritic.c: Regenerated.
41908         * tests/unictype/test-pr_extender.c: Regenerated.
41909         * tests/unictype/test-pr_format_control.c: Regenerated.
41910         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
41911         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
41912         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
41913         * tests/unictype/test-pr_id_continue.c: Regenerated.
41914         * tests/unictype/test-pr_id_start.c: Regenerated.
41915         * tests/unictype/test-pr_ideographic.c: Regenerated.
41916         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
41917         * tests/unictype/test-pr_lowercase.c: Regenerated.
41918         * tests/unictype/test-pr_math.c: Regenerated.
41919         * tests/unictype/test-pr_numeric.c: Regenerated.
41920         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
41921         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
41922         Regenerated.
41923         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
41924         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
41925         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
41926         * tests/unictype/test-pr_other_math.c: Regenerated.
41927         * tests/unictype/test-pr_punctuation.c: Regenerated.
41928         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
41929         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
41930         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
41931         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
41932         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
41933         * tests/unictype/test-pr_uppercase.c: Regenerated.
41934         * tests/unictype/test-pr_xid_continue.c: Regenerated.
41935         * tests/unictype/test-pr_xid_start.c: Regenerated.
41936         * tests/unictype/test-pr_zero_width.c: Regenerated.
41937
41938         Update to Unicode 5.1.0.
41939         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
41940         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
41941         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
41942         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
41943         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
41944         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
41945         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
41946         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
41947         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
41948         (nonspacing_table_ind): Update.
41949         * tests/uniwidth/test-uc_width2.sh: Update expected result.
41950
41951         Update to Unicode 5.1.0.
41952         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
41953         code transform.
41954         * lib/uniname/uniname.c (unicode_character_name,
41955         unicode_name_character): Add the range 0x1Fxxx to the code transform.
41956         * lib/uniname/uninames.h: Regenerated.
41957         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
41958
41959 2009-02-07  Bruno Haible  <bruno@clisp.org>
41960
41961         Merge gen-ctype and gen-lbrk into a single program.
41962         * lib/gen-uni-tables.c: New file, incorporating
41963         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
41964         Add directory prefixes to the names of the generated files.
41965         * lib/unictype/gen-ctype.c: Remove file.
41966         * lib/unilbrk/gen-lbrk.c: Remove file.
41967         * modules/gen-uni-tables: New file.
41968         * modules/unictype/gen-ctype: Remove file.
41969         * modules/unilbrk/gen-lbrk: Remove file.
41970
41971 2009-02-07  Bruno Haible  <bruno@clisp.org>
41972
41973         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
41974
41975         New module 'unistr/u32-strcoll'.
41976         * modules/unistr/u32-strcoll: New file.
41977         * lib/unistr/u32-strcoll.c: New file.
41978
41979         New module 'unistr/u16-strcoll'.
41980         * modules/unistr/u16-strcoll: New file.
41981         * lib/unistr/u16-strcoll.c: New file.
41982
41983         New module 'unistr/u8-strcoll'.
41984         * modules/unistr/u8-strcoll: New file.
41985         * lib/unistr/u8-strcoll.c: New file.
41986         * lib/unistr/u-strcoll.h: New file.
41987
41988 2009-02-07  Bruno Haible  <bruno@clisp.org>
41989
41990         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
41991         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41992         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41993         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
41994         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
41995         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
41996
41997 2009-02-07  Bruno Haible  <bruno@clisp.org>
41998
41999         Make 64-bit clean.
42000         * lib/unictype/gen-ctype.c (output_predicate, output_category,
42001         output_combclass, output_bidi_category, output_decimal_digit,
42002         output_digit, output_numeric, output_mirror, output_scripts,
42003         output_ident_category): Use proper width specifier in format strings.
42004
42005 2009-02-07  Bruno Haible  <bruno@clisp.org>
42006
42007         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
42008         failure behaviour.
42009
42010 2009-02-07  Jim Meyering  <meyering@redhat.com>
42011
42012         regex: avoid compilation failure with upcoming gcc-4.4
42013         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
42014         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
42015         "... error: integer overflow in preprocessor expression".
42016
42017 2009-02-05  Ben Pfaff  <blp@gnu.org>
42018
42019         Fix link errors on Windows when close module is used.
42020         * modules/close: Add $(LIB_CLOSE) to Link section.
42021         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
42022         $(LIB_CLOSE) on Windows.
42023
42024 2009-02-05  Jim Meyering  <meyering@redhat.com>
42025
42026         still avoid unused-parameter warnings, but do it cleanly
42027         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
42028         (get_fs_usage): Cast to void instead.
42029         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
42030         (dev_from_mount_options, read_file_system_list): Cast to void.
42031         Prompted by Bruno Haible.
42032
42033 2009-02-04  Jim Meyering  <meyering@redhat.com>
42034
42035         fsusage.c: correct copyright year
42036         * lib/fsusage.c: Reflect year in which the change is pushed into
42037
42038         avoid misc. warnings
42039         * lib/fsusage.c (UNUSED_PARAM): Define.
42040         (get_fs_usage): Mark parameter "disk" as unused.
42041         * lib/getugroups.c (getgrent): Use "void" in prototype.
42042         * lib/mountlist.c: Mark unused parameters.
42043         (read_file_system_list): Declare a local with "const".
42044         * lib/nanosleep.c (getnow): Declare static.
42045         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
42046
42047         dirfd: set errno upon failure
42048         * lib/dirfd.c: Include <errno.h>.
42049         Set errno to ENOTSUP when returning -1.
42050         * modules/dirfd (Depends-on): Add errno.
42051         Suggested by John Kodis <kodis@comcast.net>.
42052
42053 2009-02-01  Bruno Haible  <bruno@clisp.org>
42054
42055         Don't assume sizeof (long) >= sizeof (void *).
42056         * lib/memcmp.c: Include stdint.h.
42057         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
42058         srcp2 to 'const byte *'.
42059         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
42060         types to uintptr_t.
42061         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
42062         * modules/memcmp (Depends-on): Add stdint.
42063         Reported by Ozkan Sezer <sezeroz@gmail.com>.
42064
42065 2009-01-30  Eric Blake  <ebb9@byu.net>
42066
42067         fix more require-before-expand issues
42068         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
42069         expand, AC_PROG_AWK.
42070         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
42071
42072 2009-01-28  Eric Blake  <ebb9@byu.net>
42073
42074         version-etc: use consistent URL formatting
42075         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
42076         Improve formatting.  Use fputs for string without %.
42077
42078 2009-01-28  Jim Meyering  <meyering@redhat.com>
42079
42080         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
42081         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
42082         "underquoted definition of NAME" from autoconf-2.59.
42083
42084 2009-01-28  Bruno Haible  <bruno@clisp.org>
42085
42086         * doc/gnulib.texi: Add "Obsolete modules" to index.
42087
42088 2009-01-28  Jim Meyering  <meyering@redhat.com>
42089
42090         useless-if-before-free: recognize more variants
42091         * build-aux/useless-if-before-free: Also recognize e.g.,
42092         if (NULL != p) free (p);
42093
42094 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
42095
42096         test-getaddrinfo: skip (don't fail) this test when there's no network
42097         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
42098         on the presumption that it means you lack network access.
42099
42100 2009-01-26  Jim Meyering  <meyering@redhat.com>
42101
42102         fflush: avoid warnings on modern systems
42103         * lib/fflush.c (rpl_fflush): Move declarations of locals,
42104         pos and result, into scopes where they're used.
42105
42106 2009-01-26  Eric Blake  <ebb9@byu.net>
42107
42108         Silence warning reintroduced by recent extensions patch.
42109         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
42110         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
42111         autoconf.
42112
42113         Backport improved autoconf semantics of AC_DEFUN_ONCE.
42114         * m4/00gnulib.m4: New file.
42115         * gnulib-tool (func_get_filelist): Always use it.
42116         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
42117         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
42118
42119 2009-01-25  Bruno Haible  <bruno@clisp.org>
42120
42121         Make test-quotearg work on MacOS X and AIX.
42122         * tests/test-quotearg.sh: New file.
42123         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
42124         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
42125         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
42126         include <libintl.h>.
42127         (fake_locale): Remove variable.
42128         (gettext, dgettext, dcgettext): Remove functions.
42129         (main): Instead of setting a fake locale, set a real locale. Call
42130         textdomain and bindtextdomain.
42131         * modules/quotearg-tests (Files): Add the new files.
42132         (Depends-on): Add gettext, setenv, unsetenv.
42133         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
42134         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
42135         Augment TESTS_ENVIRONMENT.
42136
42137 2009-01-25  Bruno Haible  <bruno@clisp.org>
42138
42139         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
42140         fr_FR.ISO8859-1 locale on MacOS X.
42141         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
42142         ja_JP.eucJP locale on MacOS X.
42143         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
42144         zh_CN.GB18030 locale on MacOS X.
42145
42146 2009-01-25  Bruno Haible  <bruno@clisp.org>
42147
42148         Avoid link errors on MacOS X 10.3.
42149         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
42150         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
42151
42152 2009-01-25  Bruno Haible  <bruno@clisp.org>
42153
42154         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
42155         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
42156         * modules/pipe (Files): Remove m4/posix_spawn.m4.
42157         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
42158         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
42159         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
42160         posix_spawnattr_init, posix_spawnattr_setsigmask,
42161         posix_spawnattr_setflags, posix_spawnattr_destroy.
42162
42163         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
42164         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
42165         * modules/execute (Files): Remove m4/posix_spawn.m4.
42166         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
42167         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
42168         posix_spawnattr_init, posix_spawnattr_setsigmask,
42169         posix_spawnattr_setflags, posix_spawnattr_destroy.
42170
42171 2009-01-25  Bruno Haible  <bruno@clisp.org>
42172
42173         * lib/glthread/threadlib.c: Include <stdlib.h>.
42174
42175 2009-01-25  Bruno Haible  <bruno@clisp.org>
42176
42177         * lib/glthread/threadlib.c (dummy): New declaration.
42178
42179 2009-01-25  Bruno Haible  <bruno@clisp.org>
42180
42181         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
42182         multibyte characters also for the GB18030 encoding. Don't crash when
42183         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
42184
42185 2009-01-25  Bruno Haible  <bruno@clisp.org>
42186
42187         Avoid redefining 'struct random_data' on OSF/1 5.1.
42188         * lib/stdlib.in.h: Include <random.h> if it exists.
42189         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
42190         HAVE_RANDOM_H. Include <random.h> when testing whether
42191         'struct random_data' exists.
42192         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
42193
42194 2009-01-25  Bruno Haible  <bruno@clisp.org>
42195
42196         Don't install charset.alias on MacOS X >= 10.3.
42197         * lib/localcharset.c (DARWIN7): New macro.
42198         (get_charset_aliases): Hardcode the result for Darwin7.
42199         * modules/localcharset (install-exec-local): Don't install
42200         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
42201
42202 2009-01-25  Bruno Haible  <bruno@clisp.org>
42203
42204         Don't install charset.alias on mingw and Cygwin.
42205         * modules/localcharset (install-exec-local): Don't install
42206         charset.alias on mingw and Cygwin, if the file does not yet exist.
42207         The result for these platforms is hardcoded in localcharset.c.
42208
42209 2009-01-25  Bruno Haible  <bruno@clisp.org>
42210
42211         Make it possible again to use AC_GNU_SOURCE together with gnulib.
42212         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
42213         before requiring AC_USE_SYSTEM_EXTENSIONS.
42214
42215 2009-01-25  Jim Meyering  <meyering@redhat.com>
42216
42217         c-strtod: avoid warnings
42218         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
42219         "assignment discards qualifiers from pointer target type" warnings.
42220
42221 2009-01-24  Bruno Haible  <bruno@clisp.org>
42222
42223         Add support for non-UTF-8 locales on MacOS X.
42224         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
42225         canonical encodings. For Darwin 7 and newer, don't map traditional
42226         encodings to UTF-8.
42227         Reported by Vincent Lefevre <vincent@vinc17.org>
42228         at <http://savannah.gnu.org/bugs/?25235>.
42229
42230 2009-01-24  Bruno Haible  <bruno@clisp.org>
42231
42232         * doc/gnulib.texi (Obsolete modules): New section.
42233         Reported by Mike Frysinger <vapier@gentoo.org>.
42234
42235 2009-01-24  Bruno Haible  <bruno@clisp.org>
42236
42237         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
42238         (%.dvi): New rule.
42239
42240 2009-01-24  Bruno Haible  <bruno@clisp.org>
42241
42242         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
42243         Reported by Eric Blake.
42244
42245 2009-01-24  Bruno Haible  <bruno@clisp.org>
42246
42247         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
42248         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
42249         Reported by Gary V. Vaughan <gary@gnu.org>.
42250
42251 2009-01-24  Bruno Haible  <bruno@clisp.org>
42252
42253         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
42254
42255 2009-01-23  Bruno Haible  <bruno@clisp.org>
42256
42257         Make c-strtod, c-strtold usable in libraries.
42258         * lib/c-strtod.c: Include string.h instead of xalloc.h.
42259         (C_STRTOD): Call strdup instead of xstrdup.
42260         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
42261         * modules/c-strtold (Depends-on): Likewise.
42262         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
42263         * NEWS: Mention the change.
42264         Reported by Michael Gold <mgold@ncf.ca>.
42265
42266 2009-01-23  Jim Meyering  <meyering@redhat.com>
42267
42268         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
42269         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
42270         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
42271
42272 2009-01-23  Simon Josefsson  <simon@josefsson.org>
42273
42274         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
42275         GNU CoreUtils.
42276         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
42277         * modules/version-etc (Description): Update.
42278
42279 2009-01-22  Bruno Haible  <bruno@clisp.org>
42280
42281         Cache the C locale object.
42282         * lib/c-strtod.c (c_locale_cache): New variable.
42283         (c_locale): New function.
42284         (C_STRTOD): Use it, and don't call freelocale.
42285         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
42286         Suggested by Paolo Bonzini.
42287
42288 2009-01-21  Bruno Haible  <bruno@clisp.org>
42289
42290         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
42291         conditions other than overflow.
42292
42293 2009-01-21  Bruno Haible  <bruno@clisp.org>
42294
42295         * lib/c-strtod.c: Include errno.h.
42296         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
42297         value from STRTOD_L and STRTOD.
42298
42299 2009-01-21  Bruno Haible  <bruno@clisp.org>
42300         and Jim Meyering  <meyering@redhat.com>
42301
42302         nanosleep: skip configure test (fail it) for apple universal builds
42303         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
42304         universal builds, assume that nanosleep does not work.
42305         * modules/nanosleep (Depends-on): Add multiarch.
42306
42307         mktime: skip configure test (fail it) for apple universal builds
42308         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
42309         universal builds, assume that mktime does not work.
42310         * modules/mktime (Depends-on): Add multiarch.
42311
42312 2009-01-21  Eric Blake  <ebb9@byu.net>
42313
42314         multiarch: avoid expand-before-require warning
42315         * modules/multiarch (configure.ac): Require, rather than expand,
42316         gl_MULTIARCH.
42317         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
42318         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
42319         enforce that all clients require it.  Partial reversion of
42320         2008-12-29 patch.
42321
42322         error: avoid expand-before-require warning
42323         * modules/errno (configure.ac): Require, rather than expand,
42324         gl_HEADER_ERRNO_H.
42325         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
42326         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
42327         enforce that all clients require it.
42328
42329         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
42330         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
42331         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
42332         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
42333
42334 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
42335
42336         Revert:
42337         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
42338
42339         regex: do not depend on obsolete modules.
42340         * modules/regex: Remove memcmp and memmove.
42341
42342 2009-01-20  Bruno Haible  <bruno@clisp.org>
42343
42344         Make the 'link' module link on Windows NT 4.
42345         * lib/link.c (_WIN32_WINNT): Don't define.
42346         (CreateHardLinkFuncType): New type.
42347         (CreateHardLinkFunc, initialized): New variables.
42348         (initialize): New function.
42349         (link): Invoke CreateHardLink indirectly through the function pointer.
42350
42351 2009-01-20  Bruno Haible  <bruno@clisp.org>
42352
42353         Fix compilation failure on mingw.
42354         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
42355
42356 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
42357
42358         * doc/c-strtod.texi: Mention a couple of restrictions.
42359
42360 2009-01-20  Jim Meyering  <meyering@redhat.com>
42361
42362         gettimeofday: move more declarations out of functions
42363         * lib/gettimeofday.c: Move extern declarations of tzset and
42364         gmtime out of containing functions.  Prompted by Bruno Haible.
42365
42366 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
42367
42368         regex: do not depend on obsolete modules.
42369         * modules/regex: Remove memcmp and memmove.
42370
42371 2009-01-19  Bruno Haible  <bruno@clisp.org>
42372
42373         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
42374         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
42375         gl_BIGENDIAN, not AC_C_BIGENDIAN.
42376         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
42377         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
42378
42379 2009-01-19  Bruno Haible  <bruno@clisp.org>
42380
42381         * tests/test-link.c: Include <errno.h>.
42382         (main): Exit with code 77 when a hard link cannot be created due to
42383         the file system.
42384         * tests/test-link.sh: Skip test when a hard link cannot be created due
42385         to the file system.
42386         Suggested by Eric Blake.
42387
42388 2009-01-19  Martin Lambers  <marlam@marlam.de>
42389
42390         * modules/link-tests: New file.
42391         * tests/test-link.sh: New file.
42392         * tests/test-link.c: New file.
42393
42394 2009-01-19  Eric Blake  <ebb9@byu.net>
42395
42396         doc: mention another function added in cygwin 1.7.0
42397         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
42398         Another new function in cygwin 1.7.
42399
42400 2009-01-19  Bruno Haible  <bruno@clisp.org>
42401
42402         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
42403         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
42404         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
42405         gl_BIGENDIAN, not AC_C_BIGENDIAN.
42406         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42407         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
42408         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
42409         * m4/md4.m4 (gl_MD4): Likewise.
42410         * m4/md5.m4 (gl_MD5): Likewise.
42411         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
42412         * m4/sha1.m4 (gl_SHA1): Likewise.
42413         * m4/sha256.m4 (gl_SHA256): Likewise.
42414         * m4/sha512.m4 (gl_SHA512): Likewise.
42415
42416 2009-01-19  Bruno Haible  <bruno@clisp.org>
42417
42418         * modules/uniname/uniname-tests (Depends-on): Add progname.
42419         * tests/uniname/test-uninames.c: Include progname.h.
42420         (main): Call set_program_name.
42421
42422         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
42423         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
42424         (main): Call set_program_name.
42425
42426         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
42427         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
42428         (main): Call set_program_name.
42429
42430         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
42431         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
42432         (main): Call set_program_name.
42433
42434         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
42435         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
42436         (main): Call set_program_name.
42437
42438         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
42439         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
42440         (main): Call set_program_name.
42441
42442         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
42443         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
42444         (main): Call set_program_name.
42445
42446         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
42447         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
42448         (main): Call set_program_name.
42449
42450         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
42451         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
42452         (main): Call set_program_name.
42453
42454 2009-01-19  Eric Blake  <ebb9@byu.net>
42455
42456         test-unistd: test previous patch
42457         * tests/test-unistd.c: Test *_FILENO macros.
42458
42459         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
42460         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
42461         Guarantee a definition.
42462         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
42463         * modules/unistd-safer (Depends-on): Add dependency on unistd.
42464         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
42465         * lib/dup-safer.c (STDERR_FILENO): Likewise.
42466         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
42467         Likewise.
42468         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
42469         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
42470         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
42471         Likewise.
42472         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
42473         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
42474         (STDERR_FILENO): Likewise.
42475         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
42476         (STDERR_FILENO): Likewise.
42477         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
42478         (STDERR_FILENO): Likewise.
42479         Reported by Elbert Pol.
42480
42481 2009-01-19  Eric Blake  <ebb9@byu.net>
42482
42483         doc: mention more functions added in cygwin 1.7.0
42484         * doc/posix-functions/abort.texi (abort): Update wording related
42485         to cygwin.
42486         * doc/posix-functions/daylight.texi (daylight): Likewise.
42487         * doc/posix-functions/optarg.texi (optarg): Likewise.
42488         * doc/posix-functions/optarg.texi (opterr): Likewise.
42489         * doc/posix-functions/optarg.texi (optind): Likewise.
42490         * doc/posix-functions/optarg.texi (optopt): Likewise.
42491         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
42492         worked in 1.5.x, and was withdrawn in 1.7.
42493         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
42494         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
42495         cygwin versions.
42496         * doc/posix-functions/perror.texi (perror): Likewise.
42497         * doc/posix-functions/printf.texi (printf): Likewise.
42498         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
42499         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
42500         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
42501         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
42502         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
42503         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
42504         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
42505         Likewise.
42506         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
42507         Likewise.
42508         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
42509         this function.
42510         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
42511         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
42512         Likewise.
42513         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
42514         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
42515         * doc/posix-functions/confstr.texi (confstr): Likewise.
42516         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
42517         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
42518         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
42519         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
42520         * doc/posix-functions/fputws.texi (fputws): Likewise.
42521         * doc/posix-functions/fwide.texi (fwide): Likewise.
42522         * doc/posix-functions/getwc.texi (getwc): Likewise.
42523         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
42524         * doc/posix-functions/putwc.texi (putwc): Likewise.
42525         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
42526         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
42527         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
42528         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
42529         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
42530         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
42531         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
42532         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
42533         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
42534         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
42535         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
42536
42537 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
42538
42539         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
42540         * lib/ioctl.c: Include <sys/ioctl.h>.
42541
42542 2009-01-19  Simon Josefsson  <simon@josefsson.org>
42543
42544         * modules/getdate-tests (Depends-on): Add progname.
42545         * tests/test-getdate.c: Use progname module, to avoid link errors
42546         on non-glibc systems.
42547
42548 2009-01-18  Simon Josefsson  <simon@josefsson.org>
42549
42550         * modules/filenamecat-tests (Depends-on): Add progname.
42551         * modules/fstrcmp-tests (Depends-on): Likewise.
42552
42553         * tests/test-filenamecat.c: Use progname module, to avoid link
42554         errors on non-glibc systems.
42555         * tests/test-fstrcmp.c: Likewise.
42556
42557 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
42558
42559         gettimeofday: avoid warning: nested extern declaration of 'localtime'
42560         * lib/gettimeofday.c: Move extern declaration out of function.
42561
42562 2009-01-18  Bruno Haible  <bruno@clisp.org>
42563
42564         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
42565         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
42566         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
42567
42568 2009-01-18  Bruno Haible  <bruno@clisp.org>
42569
42570         * lib/strftime.c (MEMPCPY): Remove unused macro.
42571         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
42572
42573 2009-01-18  Martin Lambers  <marlam@marlam.de>
42574
42575         New module 'link'.
42576         * lib/unistd.in.h (link): New declaration.
42577         * lib/link.c: New file.
42578         * m4/link.m4: New file.
42579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
42580         HAVE_LINK.
42581         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
42582         * modules/link: New file.
42583         * doc/posix-functions/link.texi: Mention the new module.
42584
42585 2009-01-18  Bruno Haible  <bruno@clisp.org>
42586
42587         * tests/test-avltree_list.c (main): Call set_program_name.
42588         * tests/test-avltree_oset.c (main): Likewise.
42589         * tests/test-obstack-printf.c: Include progname.h.
42590         (main): Call set_program_name.
42591         * tests/test-quotearg.c: Include progname.h.
42592         (main): Call set_program_name.
42593         * tests/test-xmemdup0.c: Include progname.h.
42594         (main): Call set_program_name.
42595
42596 2009-01-18  Bruno Haible  <bruno@clisp.org>
42597
42598         New module 'alphasort'.
42599         * lib/dirent.in.h (alphasort): New declaration.
42600         * lib/alphasort.c: New file, from glibc with modifications.
42601         * m4/alphasort.m4: New file.
42602         * modules/alphasort: New file.
42603         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
42604         HAVE_ALPHASORT.
42605         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
42606         HAVE_ALPHASORT.
42607         * doc/posix-functions/alphasort.texi: Mention the new module and the
42608         portability problems.
42609
42610 2009-01-18  Bruno Haible  <bruno@clisp.org>
42611
42612         New module 'scandir'.
42613         * lib/dirent.in.h (scandir): New declaration.
42614         * lib/scandir.c: New file, from glibc with modifications.
42615         * m4/scandir.m4: New file.
42616         * modules/scandir: New file.
42617         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
42618         HAVE_SCANDIR.
42619         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
42620         HAVE_SCANDIR.
42621         * doc/posix-functions/scandir.texi: Mention the new module and the
42622         portability problems.
42623
42624 2009-01-17  Bruno Haible  <bruno@clisp.org>
42625
42626         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
42627         Update documentation.
42628         (func_remove_suffix): Escape all dots in the suffix. Update
42629         documentation.
42630         (func_filter_filelist): Update documentation.
42631         Reported by Ralf Wildenhues.
42632
42633 2009-01-17  Bruno Haible  <bruno@clisp.org>
42634
42635         * modules/dprintf-posix-tests: New file.
42636         * tests/test-dprintf-posix.sh: New file.
42637         * tests/test-dprintf-posix.c: New file.
42638
42639         New modules 'dprintf', 'dprintf-posix'.
42640         * lib/stdio.in.h (dprintf): New declaration.
42641         * lib/dprintf.c: New file.
42642         * m4/dprintf.m4: New file.
42643         * m4/dprintf-posix.m4: New file.
42644         * modules/dprintf: New file.
42645         * modules/dprintf-posix: New file.
42646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
42647         HAVE_DPRINTF, REPLACE_DPRINTF.
42648         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
42649         HAVE_DPRINTF, REPLACE_DPRINTF.
42650         * doc/posix-functions/dprintf.texi: Mention the new modules.
42651
42652 2009-01-17  Bruno Haible  <bruno@clisp.org>
42653
42654         * modules/vdprintf-posix-tests: New file.
42655         * tests/test-vdprintf-posix.sh: New file.
42656         * tests/test-vdprintf-posix.c: New file.
42657
42658         New modules 'vdprintf', 'vdprintf-posix'.
42659         * lib/stdio.in.h (vdprintf): New declaration.
42660         * lib/vdprintf.c: New file.
42661         * m4/vdprintf.m4: New file.
42662         * m4/vdprintf-posix.m4: New file.
42663         * modules/vdprintf: New file.
42664         * modules/vdprintf-posix: New file.
42665         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
42666         HAVE_VDPRINTF, REPLACE_VDPRINTF.
42667         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
42668         HAVE_VDPRINTF, REPLACE_VDPRINTF.
42669         * doc/posix-functions/vdprintf.texi: Mention the new modules.
42670
42671 2009-01-17  Bruno Haible  <bruno@clisp.org>
42672
42673         Fix replacement of fopen on mingw.
42674         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
42675         mingw.
42676
42677 2009-01-17  Bruno Haible  <bruno@clisp.org>
42678
42679         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
42680         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
42681
42682 2009-01-17  Bruno Haible  <bruno@clisp.org>
42683
42684         Avoid test-fflush2.sh failure on mingw.
42685         * tests/test-fflush2.c: Include binary-io.h.
42686         (main): Put standard input into binary mode.
42687         * modules/fflush-tests (Depends-on): Add binary-io.
42688
42689 2009-01-17  Bruno Haible  <bruno@clisp.org>
42690
42691         * lib/wchar.in.h: In another particular situation, include only the
42692         system's <wchar.h> file.
42693         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
42694         Reported by Albert Chin-A-Young <china@thewrittenword.com>
42695         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
42696
42697 2009-01-17  Bruno Haible  <bruno@clisp.org>
42698
42699         Support for stripping executables in --enable-relocatable.
42700         * build-aux/install-reloc: Expect one more argument, or an environment
42701         variable RELOC_STRIP_PROG. If set, strip the destination program and
42702         its wrapper.
42703         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
42704         RELOC_STRIP_PROG.
42705         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
42706         to set RELOCATABLE_STRIP.
42707         * NEWS: Mention the new Makefile requirement.
42708
42709 2009-01-17  Bruno Haible  <bruno@clisp.org>
42710
42711         * build-aux/install-reloc: Remove debugging information left over by
42712         C compiler on MacOS X.
42713
42714 2009-01-17  Bruno Haible  <bruno@clisp.org>
42715
42716         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
42717         * lib/progreloc.c (find_executable): Fix type of pointer passed to
42718         _NSGetExecutablePath.
42719
42720 2009-01-16  Jim Meyering  <meyering@redhat.com>
42721
42722         strerror: avoid warnings about discarding "const"
42723         * lib/strerror.c (rpl_strerror): Instead of returning a const
42724         string from each and every "case", use a variable, and add a single
42725         cast after the switch.
42726
42727 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
42728
42729         * lib/arpa_inet.in.h: Add extern "C" block for C++.
42730
42731 2009-01-16  Bruno Haible  <bruno@clisp.org>
42732
42733         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
42734         array initializer syntax that also works in C++ mode.
42735         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42736
42737 2009-01-16  Jim Meyering  <meyering@redhat.com>
42738
42739         poll: suppress a warning
42740         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
42741         to ignore "...unsigned expression < 0 is always false" warnings.
42742
42743 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
42744
42745         poll: remove declarations of unused variables
42746         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
42747         sockbuf and optlen.
42748
42749 2009-01-15  Bruno Haible  <bruno@clisp.org>
42750
42751         Make fflush-after-ungetc POSIX compliant on BSD systems.
42752         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
42753         (clear_ungetc_buffer): Implement also for other systems.
42754         (rpl_fflush): On glibc systems, invoke
42755         clear_ungetc_buffer_preserving_position. Otherwise, invoke
42756         clear_ungetc_buffer after fetching the stream's position, not before.
42757
42758 2009-01-15  Bruno Haible  <bruno@clisp.org>
42759
42760         Make fflush-after-ungetc POSIX compliant on glibc systems.
42761         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
42762         after ungetc.
42763         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
42764         (rpl_fflush): On glibc systems, simply call the system's fflush
42765         function after clearing the ungetc buffer.
42766         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
42767         Instead, lseek only to the end of file, then use the system's fseeko
42768         for the rest. On glibc systems, reset the EOF indicator bit.
42769
42770 2009-01-15  Jim Meyering  <meyering@redhat.com>
42771
42772         openmp.m4: revert quote-adding change, for portability to older autoconf
42773         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
42774         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
42775         Simon Josefsson noticed the problem when using autoconf-2.61.
42776
42777 2009-01-15  Bruno Haible  <bruno@clisp.org>
42778
42779         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
42780         * tests/test-fflush2.c (ASSERT): Always fail.
42781         (main): Add two tests for fflush() after ungetc(), taking into account
42782         the Austin Group's clarification.
42783         Suggested by Eric Blake.
42784
42785 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
42786
42787         mktime.m4: remove K&R-style function prototypes
42788         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
42789         for the Sun C++ compiler.
42790
42791 2009-01-14  Bruno Haible  <bruno@clisp.org>
42792
42793         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
42794         while including <wchar.h>.
42795         * lib/wchar.in.h: In two particular situations on HP-UX, include only
42796         the system's <wchar.h> file.
42797         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42798
42799 2009-01-14  Bruno Haible  <bruno@clisp.org>
42800
42801         * m4/csharp.m4: Don't mention gettext on the serial number line.
42802         * m4/csharpexec.m4: Likewise.
42803         * m4/eaccess.m4: Likewise.
42804         * m4/javaexec.m4: Likewise.
42805         * m4/sig_atomic_t.m4: Likewise.
42806         * m4/tmpdir.m4: Likewise.
42807         * m4/intldir.m4: Bump gettext version.
42808         * m4/lib-ld.m4: Likewise.
42809
42810 2009-01-14  Bruno Haible  <bruno@clisp.org>
42811
42812         * lib/progname.c (set_program_name): Add more comments.
42813         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
42814
42815 2009-01-14  Simon Josefsson  <simon@josefsson.org>
42816
42817         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
42818         were sys/stat.h does not define it.
42819
42820 2009-01-14  Jim Meyering  <meyering@redhat.com>
42821
42822         many *.m4 files: improve m4 quoting
42823         99% of this change was performed by running the following commands:
42824         git ls-files | grep '\.m4$' | xargs perl -pi \
42825           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
42826           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42827           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42828           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
42829         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
42830         The remainder were to add Copyright dates, increment serial numbers,
42831         undo some changes in comments, exclude m4/intl.m4, and add quotes
42832         around the "1" in ",1" where the unusual spacing prohibited the
42833         above regexps from doing the job.  For more details, see
42834         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
42835         * m4/acl.m4: Modified.
42836         * m4/afs.m4: Likewise.
42837         * m4/alloca.m4: Likewise.
42838         * m4/argp.m4: Likewise.
42839         * m4/argz.m4: Likewise.
42840         * m4/atexit.m4: Likewise.
42841         * m4/bison-i18n.m4: Likewise.
42842         * m4/bison.m4: Likewise.
42843         * m4/byteswap.m4: Likewise.
42844         * m4/c-stack.m4: Likewise.
42845         * m4/c-strtod.m4: Likewise.
42846         * m4/calloc.m4: Likewise.
42847         * m4/canonicalize-lgpl.m4: Likewise.
42848         * m4/chown.m4: Likewise.
42849         * m4/clock_time.m4: Likewise.
42850         * m4/codeset.m4: Likewise.
42851         * m4/copy-file.m4: Likewise.
42852         * m4/csharp.m4: Likewise.
42853         * m4/csharpcomp.m4: Likewise.
42854         * m4/csharpexec.m4: Likewise.
42855         * m4/d-ino.m4: Likewise.
42856         * m4/d-type.m4: Likewise.
42857         * m4/dirfd.m4: Likewise.
42858         * m4/double-slash-root.m4: Likewise.
42859         * m4/eaccess.m4: Likewise.
42860         * m4/eealloc.m4: Likewise.
42861         * m4/environ.m4: Likewise.
42862         * m4/errno_h.m4: Likewise.
42863         * m4/euidaccess.m4: Likewise.
42864         * m4/execute.m4: Likewise.
42865         * m4/fatal-signal.m4: Likewise.
42866         * m4/fchdir.m4: Likewise.
42867         * m4/fcntl_h.m4: Likewise.
42868         * m4/fileblocks.m4: Likewise.
42869         * m4/filenamecat.m4: Likewise.
42870         * m4/findprog.m4: Likewise.
42871         * m4/flexmember.m4: Likewise.
42872         * m4/fnmatch.m4: Likewise.
42873         * m4/fopen.m4: Likewise.
42874         * m4/fpending.m4: Likewise.
42875         * m4/fprintf-posix.m4: Likewise.
42876         * m4/free.m4: Likewise.
42877         * m4/frexp.m4: Likewise.
42878         * m4/frexpl.m4: Likewise.
42879         * m4/fsusage.m4: Likewise.
42880         * m4/ftruncate.m4: Likewise.
42881         * m4/gc-camellia.m4: Likewise.
42882         * m4/gc-random.m4: Likewise.
42883         * m4/gc.m4: Likewise.
42884         * m4/getaddrinfo.m4: Likewise.
42885         * m4/getcwd-abort-bug.m4: Likewise.
42886         * m4/getcwd-path-max.m4: Likewise.
42887         * m4/getdate.m4: Likewise.
42888         * m4/getdomainname.m4: Likewise.
42889         * m4/getgroups.m4: Likewise.
42890         * m4/gethostname.m4: Likewise.
42891         * m4/gethrxtime.m4: Likewise.
42892         * m4/getline.m4: Likewise.
42893         * m4/getloadavg.m4: Likewise.
42894         * m4/getndelim2.m4: Likewise.
42895         * m4/getpass.m4: Likewise.
42896         * m4/gettext.m4: Likewise.
42897         * m4/gettime.m4: Likewise.
42898         * m4/gettimeofday.m4: Likewise.
42899         * m4/gnulib-common.m4: Likewise.
42900         * m4/group-member.m4: Likewise.
42901         * m4/host-os.m4: Likewise.
42902         * m4/iconv.m4: Likewise.
42903         * m4/iconv_open.m4: Likewise.
42904         * m4/inet_ntop.m4: Likewise.
42905         * m4/inet_pton.m4: Likewise.
42906         * m4/inline.m4: Likewise.
42907         * m4/intldir.m4: Likewise.
42908         * m4/intlmacosx.m4: Likewise.
42909         * m4/intmax.m4: Likewise.
42910         * m4/intmax_t.m4: Likewise.
42911         * m4/inttypes.m4: Likewise.
42912         * m4/inttypes_h.m4: Likewise.
42913         * m4/inttypes-pri.m4: Likewise.
42914         * m4/isapipe.m4: Likewise.
42915         * m4/isnand.m4: Likewise.
42916         * m4/isnanf.m4: Likewise.
42917         * m4/isnanl.m4: Likewise.
42918         * m4/javacomp.m4: Likewise.
42919         * m4/javaexec.m4: Likewise.
42920         * m4/jm-winsz1.m4: Likewise.
42921         * m4/jm-winsz2.m4: Likewise.
42922         * m4/lchown.m4: Likewise.
42923         * m4/lcmessage.m4: Likewise.
42924         * m4/ldexpl.m4: Likewise.
42925         * m4/lib-ld.m4: Likewise.
42926         * m4/lib-link.m4: Likewise.
42927         * m4/libsigsegv.m4: Likewise.
42928         * m4/link-follow.m4: Likewise.
42929         * m4/localcharset.m4: Likewise.
42930         * m4/locale-fr.m4: Likewise.
42931         * m4/locale-ja.m4: Likewise.
42932         * m4/locale-tr.m4: Likewise.
42933         * m4/locale-zh.m4: Likewise.
42934         * m4/lock.m4: Likewise.
42935         * m4/longlong.m4: Likewise.
42936         * m4/ls-mntd-fs.m4: Likewise.
42937         * m4/lstat.m4: Likewise.
42938         * m4/malloc.m4: Likewise.
42939         * m4/mathl.m4: Likewise.
42940         * m4/mbrtowc.m4: Likewise.
42941         * m4/mbstate_t.m4: Likewise.
42942         * m4/mbswidth.m4: Likewise.
42943         * m4/memchr.m4: Likewise.
42944         * m4/memcmp.m4: Likewise.
42945         * m4/memcpy.m4: Likewise.
42946         * m4/memmem.m4: Likewise.
42947         * m4/memmove.m4: Likewise.
42948         * m4/mempcpy.m4: Likewise.
42949         * m4/memrchr.m4: Likewise.
42950         * m4/memset.m4: Likewise.
42951         * m4/minmax.m4: Likewise.
42952         * m4/mkdir-slash.m4: Likewise.
42953         * m4/mkdtemp.m4: Likewise.
42954         * m4/mktime.m4: Likewise.
42955         * m4/mmap-anon.m4: Likewise.
42956         * m4/mountlist.m4: Likewise.
42957         * m4/nanosleep.m4: Likewise.
42958         * m4/nls.m4: Likewise.
42959         * m4/nocrash.m4: Likewise.
42960         * m4/open.m4: Likewise.
42961         * m4/openat.m4: Likewise.
42962         * m4/openmp.m4: Likewise.
42963         * m4/pathmax.m4: Likewise.
42964         * m4/perl.m4: Likewise.
42965         * m4/physmem.m4: Likewise.
42966         * m4/pipe.m4: Likewise.
42967         * m4/po.m4: Likewise.
42968         * m4/poll.m4: Likewise.
42969         * m4/posixtm.m4: Likewise.
42970         * m4/posixver.m4: Likewise.
42971         * m4/printf-frexp.m4: Likewise.
42972         * m4/printf-frexpl.m4: Likewise.
42973         * m4/printf-posix.m4: Likewise.
42974         * m4/printf-posix-rpl.m4: Likewise.
42975         * m4/printf.m4: Likewise.
42976         * m4/progtest.m4: Likewise.
42977         * m4/putenv.m4: Likewise.
42978         * m4/readline.m4: Likewise.
42979         * m4/readlink.m4: Likewise.
42980         * m4/readutmp.m4: Likewise.
42981         * m4/realloc.m4: Likewise.
42982         * m4/regex.m4: Likewise.
42983         * m4/relocatable.m4: Likewise.
42984         * m4/relocatable-lib.m4: Likewise.
42985         * m4/rename-dest-slash.m4: Likewise.
42986         * m4/rename.m4: Likewise.
42987         * m4/rmdir-errno.m4: Likewise.
42988         * m4/rmdir.m4: Likewise.
42989         * m4/roundf.m4: Likewise.
42990         * m4/roundl.m4: Likewise.
42991         * m4/rpmatch.m4: Likewise.
42992         * m4/save-cwd.m4: Likewise.
42993         * m4/selinux-selinux-h.m4: Likewise.
42994         * m4/setenv.m4: Likewise.
42995         * m4/settime.m4: Likewise.
42996         * m4/sig2str.m4: Likewise.
42997         * m4/sig_atomic_t.m4: Likewise.
42998         * m4/signalblocking.m4: Likewise.
42999         * m4/signbit.m4: Likewise.
43000         * m4/sigpipe.m4: Likewise.
43001         * m4/sockets.m4: Likewise.
43002         * m4/sockpfaf.m4: Likewise.
43003         * m4/st_dm_mode.m4: Likewise.
43004         * m4/stat-time.m4: Likewise.
43005         * m4/stdbool.m4: Likewise.
43006         * m4/stdint.m4: Likewise.
43007         * m4/stdint_h.m4: Likewise.
43008         * m4/stpcpy.m4: Likewise.
43009         * m4/stpncpy.m4: Likewise.
43010         * m4/strcase.m4: Likewise.
43011         * m4/strchrnul.m4: Likewise.
43012         * m4/strcspn.m4: Likewise.
43013         * m4/strdup.m4: Likewise.
43014         * m4/strftime.m4: Likewise.
43015         * m4/strndup.m4: Likewise.
43016         * m4/strnlen.m4: Likewise.
43017         * m4/strpbrk.m4: Likewise.
43018         * m4/strptime.m4: Likewise.
43019         * m4/strsep.m4: Likewise.
43020         * m4/strtod.m4: Likewise.
43021         * m4/strtoimax.m4: Likewise.
43022         * m4/strtok_r.m4: Likewise.
43023         * m4/strtol.m4: Likewise.
43024         * m4/strtoll.m4: Likewise.
43025         * m4/strtoul.m4: Likewise.
43026         * m4/strtoull.m4: Likewise.
43027         * m4/strtoumax.m4: Likewise.
43028         * m4/strverscmp.m4: Likewise.
43029         * m4/threadlib.m4: Likewise.
43030         * m4/timegm.m4: Likewise.
43031         * m4/tm_gmtoff.m4: Likewise.
43032         * m4/tmpdir.m4: Likewise.
43033         * m4/tmpfile.m4: Likewise.
43034         * m4/tzset.m4: Likewise.
43035         * m4/uintmax_t.m4: Likewise.
43036         * m4/unlinkdir.m4: Likewise.
43037         * m4/unlocked-io.m4: Likewise.
43038         * m4/uptime.m4: Likewise.
43039         * m4/userspec.m4: Likewise.
43040         * m4/utimbuf.m4: Likewise.
43041         * m4/utime.m4: Likewise.
43042         * m4/utimes-null.m4: Likewise.
43043         * m4/utimes.m4: Likewise.
43044         * m4/vararrays.m4: Likewise.
43045         * m4/vasnprintf.m4: Likewise.
43046         * m4/vfprintf-posix.m4: Likewise.
43047         * m4/vprintf-posix.m4: Likewise.
43048         * m4/wait-process.m4: Likewise.
43049         * m4/wchar_t.m4: Likewise.
43050         * m4/wint_t.m4: Likewise.
43051         * m4/write-any-file.m4: Likewise.
43052         * m4/yield.m4: Likewise.
43053
43054 2009-01-13  Bruno Haible  <bruno@clisp.org>
43055
43056         Avoid test-copy-file.sh failures when ACL support insufficient.
43057         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
43058         TESTS_ENVIRONMENT.
43059         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
43060         Reported by Jim Meyering.
43061
43062 2009-01-13  Bruno Haible  <bruno@clisp.org>
43063
43064         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
43065         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
43066         * modules/unistdio/u8-printf-parse (Files): Likewise.
43067         * modules/unistdio/u32-printf-parse (Files): Likewise.
43068         * modules/unistdio/ulc-printf-parse (Files): Likewise.
43069
43070 2009-01-13  Simon Josefsson  <simon@josefsson.org>
43071
43072         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
43073         and m4/inttypes_h.m4 too.
43074
43075 2009-01-12  Eric Blake  <ebb9@byu.net>
43076
43077         tests: IRIX 6.2 cc can't compile -0.0 into .data
43078         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
43079         rather than at compile-time.
43080         * tests/test-floorl.c (minus_zero): Likewise.
43081         * tests/test-frexpl.c (minus_zero): Likewise.
43082         * tests/test-isnan.c (minus_zerol): Likewise.
43083         * tests/test-isnanl.h (minus_zero): Likewise.
43084         * tests/test-ldexpl.c (minus_zero): Likewise.
43085         * tests/test-roundl.c (minus_zero): Likewise.
43086         * tests/test-signbit.c (minus_zerol): Likewise.
43087         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
43088         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
43089         * tests/test-truncl.c (minus_zero): Likewise.
43090         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
43091         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
43092         Reported by Tom G. Christensen and Nelson H. F. Beebe.
43093
43094 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
43095
43096         regex: fix glibc bug 9697
43097         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
43098         handling.
43099
43100 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
43101
43102         regex: fix glibc bug 697
43103         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
43104         being NULL also if there are no backreferences.
43105
43106 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
43107
43108         regex: merge glibc changes
43109         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
43110         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
43111         re_string_skip_chars, re_string_reconstruct): Likewise.
43112         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
43113
43114 2009-01-07  Jim Meyering  <meyering@redhat.com>
43115
43116         poll: filter through cppi
43117         * lib/poll.c: Indent cpp directives to reflect nesting.
43118
43119 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
43120
43121         poll: don't return uninitialized
43122         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
43123
43124 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
43125
43126         avoid compile failure on AIX 6.1
43127         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
43128         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
43129
43130 2009-01-04  Jim Meyering  <meyering@redhat.com>
43131
43132         remove duplicate inclusion of <stdio.h>
43133         * tests/test-fprintf-posix.c: Likewise.
43134         * tests/test-printf-posix.c: Likewise.
43135         * tests/test-snprintf-posix.c: Likewise.
43136         * tests/test-sprintf-posix.c: Likewise.
43137         * tests/test-vasprintf-posix.c: Likewise.
43138         * tests/test-vfprintf-posix.c: Likewise.
43139         * tests/test-vprintf-posix.c: Likewise.
43140         * tests/test-vsnprintf-posix.c: Likewise.
43141         * tests/test-vsprintf-posix.c: Likewise.
43142
43143 2009-01-03  Jim Meyering  <meyering@redhat.com>
43144
43145         gnulib-tool: fix sed-based filtering
43146         * gnulib-tool (func_filter_filelist): Remove extra backslash
43147         in sed_fff_filter definition.
43148
43149 2009-01-02  Jim Meyering  <meyering@redhat.com>
43150
43151         strftime: avoid compilation failure on Solaris 2.6
43152         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
43153         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
43154         Don't #define mbrlen or mbsinit, since now they're guaranteed to
43155         be available.  Reported by Tom G. Christensen.  Details in
43156         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
43157
43158 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43159             Bruno Haible  <bruno@clisp.org>
43160
43161         Speed up gnulib-tool by doing more string processing through shell
43162         built-ins.
43163         * gnulib-tool (fast_func_append): New variable.
43164         (func_remove_prefix, func_remove_suffix): New functions.
43165         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
43166         (func_filter_filelist): New function.
43167         (func_get_dependencies): Use func_remove_suffix instead of sed.
43168         (func_get_automake_snippet): Use func_filter_filelist instead of a
43169         subshell and sed invocation.
43170
43171 2009-01-01  Bruno Haible  <bruno@clisp.org>
43172
43173         Fix a security bug.
43174         * gnulib-tool (func_import, import, update): Don't allow the characters
43175         '"', '$', '`', '\' in macro arguments that become part of commands that
43176         are evaluated.
43177
43178 2009-01-01  Bruno Haible  <bruno@clisp.org>
43179
43180         * gnulib-tool (func_reset_sigpipe): Add more comments.
43181
43182 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43183
43184         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
43185         func_emit_tests_Makefile_am, func_import): Abort loops early if we
43186         already know the answer.
43187
43188 2009-01-01  Jim Meyering  <meyering@redhat.com>
43189
43190         * lib/version-etc.c (version_etc_va): Update copyright year.
43191
43192 2008-12-30  Bruno Haible  <bruno@clisp.org>
43193
43194         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
43195         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
43196         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
43197
43198 2008-12-29  Eric Blake  <ebb9@byu.net>
43199
43200         multiarch: avoid autoconf AC_REQUIRE bug
43201         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
43202         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
43203         2.63 and older.
43204         Reported by Bruno Haible, and analyzed in
43205         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
43206
43207 2008-12-29  Bruno Haible  <bruno@clisp.org>
43208
43209         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
43210         files in subdirectories correctly.
43211         Reported by Ralf Wildenhues.
43212
43213 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43214
43215         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
43216         rather than 'join FILE -', for Solaris join.
43217
43218 2008-12-29  Bruno Haible  <bruno@clisp.org>
43219
43220         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
43221         quoting.
43222         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
43223         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
43224         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
43225         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
43226         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
43227         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
43228         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
43229         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
43230         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
43231         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
43232         * m4/nls.m4 (AM_NLS): Likewise.
43233         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
43234         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
43235         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
43236         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
43237         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
43238         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
43239         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
43240         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
43241         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
43242         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
43243         * m4/xsize.m4 (gl_XSIZE): Likewise.
43244         Suggested by Jim Meyering.
43245
43246 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43247
43248         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
43249         * lib/parse-duration.c: use a switch instead of cascading if's.
43250
43251 2008-12-29  Eric Blake  <ebb9@byu.net>
43252
43253         wchar.h: supply WEOF on Irix 5.3
43254         * lib/wchar.in.h (wint_t): Also supply WEOF.
43255         * lib/wctype.in.h (wint_t): Likewise.
43256         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
43257         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
43258         Reported by Tom G. Christensen.
43259
43260 2008-12-26  Bruno Haible  <bruno@clisp.org>
43261
43262         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
43263         i486, i586, i686.
43264
43265 2008-12-26  Bruno Haible  <bruno@clisp.org>
43266
43267         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
43268
43269 2008-12-26  Bruno Haible  <bruno@clisp.org>
43270
43271         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
43272         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
43273         not __STDC_CONSTANT_MACROS.
43274         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
43275
43276 2008-12-25  Bruno Haible  <bruno@clisp.org>
43277
43278         Add support for universal builds to vasnprintf.
43279         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
43280         universal builds, guess no.
43281         * modules/vasnprintf-posix (Depends-on): Add multiarch.
43282         * modules/vasprintf-posix (Depends-on): Likewise.
43283         * modules/fprintf-posix (Depends-on): Likewise.
43284         * modules/vfprintf-posix (Depends-on): Likewise.
43285         * modules/snprintf-posix (Depends-on): Likewise.
43286         * modules/vsnprintf-posix (Depends-on): Likewise.
43287         * modules/sprintf-posix (Depends-on): Likewise.
43288         * modules/vsprintf-posix (Depends-on): Likewise.
43289         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43290         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43291         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43292         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43293         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43294         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43295         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43296
43297         Add support for universal builds to <inttypes.h>.
43298         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
43299         _SCNu64_PREFIX): In Apple
43300         universal builds, define directly, using _LP64.
43301         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
43302         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
43303         * modules/inttypes (Depends-on): Add multiarch.
43304         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
43305
43306         Add support for universal builds to <stdint.h>.
43307         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
43308         universal builds, define directly, using _LP64.
43309         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
43310         Apple universal builds, don't test for the size and suffix of ptrdiff_t
43311         and size_t.
43312         * modules/stdint (Depends-on): Add multiarch.
43313         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
43314
43315         New module 'multiarch'.
43316         * modules/multiarch: New file.
43317         * m4/multiarch.m4: New file.
43318
43319 2008-12-25  Bruno Haible  <bruno@clisp.org>
43320
43321         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
43322
43323 2008-12-25  Bruno Haible  <bruno@clisp.org>
43324
43325         * modules/btowc (License): Relicense under LGPLv2+.
43326         * modules/mbsinit (License): Likewise.
43327         * modules/mbrtowc (License): Likewise.
43328         * modules/wcrtomb (License): Likewise.
43329         * modules/streq (License): Likewise.
43330         Reported by David Lutterkort <lutter@redhat.com>.
43331
43332 2008-12-23  Bruno Haible  <bruno@clisp.org>
43333
43334         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
43335
43336 2008-12-23  Bruno Haible  <bruno@clisp.org>
43337
43338         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
43339         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
43340         GETADDRINFO_LIB, not in LIBS.
43341         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
43342         * modules/canon-host (Link): Likewise.
43343         * NEWS: Mention the change.
43344         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
43345         GETADDRINFO_LIB.
43346
43347 2008-12-22  Bruno Haible  <bruno@clisp.org>
43348
43349         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
43350         * doc/posix-functions/iswalpha_l.texi: Likewise.
43351         * doc/posix-functions/iswblank_l.texi: Likewise.
43352         * doc/posix-functions/iswcntrl_l.texi: Likewise.
43353         * doc/posix-functions/iswctype_l.texi: Likewise.
43354         * doc/posix-functions/iswdigit_l.texi: Likewise.
43355         * doc/posix-functions/iswgraph_l.texi: Likewise.
43356         * doc/posix-functions/iswlower_l.texi: Likewise.
43357         * doc/posix-functions/iswprint_l.texi: Likewise.
43358         * doc/posix-functions/iswpunct_l.texi: Likewise.
43359         * doc/posix-functions/iswspace_l.texi: Likewise.
43360         * doc/posix-functions/iswupper_l.texi: Likewise.
43361         * doc/posix-functions/iswxdigit_l.texi: Likewise.
43362         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
43363         * doc/posix-functions/open_wmemstream.texi: Likewise.
43364         * doc/posix-functions/swscanf.texi: Likewise.
43365         * doc/posix-functions/towctrans_l.texi: Likewise.
43366         * doc/posix-functions/towlower.texi: Likewise.
43367         * doc/posix-functions/towlower_l.texi: Likewise.
43368         * doc/posix-functions/towupper.texi: Likewise.
43369         * doc/posix-functions/towupper_l.texi: Likewise.
43370         * doc/posix-functions/vfwprintf.texi: Likewise.
43371         * doc/posix-functions/vfwscanf.texi: Likewise.
43372         * doc/posix-functions/vswscanf.texi: Likewise.
43373         * doc/posix-functions/vwprintf.texi: Likewise.
43374         * doc/posix-functions/vwscanf.texi: Likewise.
43375         * doc/posix-functions/wcpcpy.texi: Likewise.
43376         * doc/posix-functions/wcpncpy.texi: Likewise.
43377         * doc/posix-functions/wcscasecmp.texi: Likewise.
43378         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
43379         * doc/posix-functions/wcscoll_l.texi: Likewise.
43380         * doc/posix-functions/wcsdup.texi: Likewise.
43381         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43382         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
43383         * doc/posix-functions/wcsnlen.texi: Likewise.
43384         * doc/posix-functions/wcsnrtombs.texi: Likewise.
43385         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
43386         * doc/posix-functions/wctrans_l.texi: Likewise.
43387         * doc/posix-functions/wctype_l.texi: Likewise.
43388         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
43389         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
43390         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
43391         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
43392         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
43393         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
43394         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
43395         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
43396         * doc/glibc-functions/wcschrnul.texi: Likewise.
43397         * doc/glibc-functions/wcsftime_l.texi: Likewise.
43398         * doc/glibc-functions/wcstod_l.texi: Likewise.
43399         * doc/glibc-functions/wcstof_l.texi: Likewise.
43400         * doc/glibc-functions/wcstol_l.texi: Likewise.
43401         * doc/glibc-functions/wcstold_l.texi: Likewise.
43402         * doc/glibc-functions/wcstoll_l.texi: Likewise.
43403         * doc/glibc-functions/wcstoq.texi: Likewise.
43404         * doc/glibc-functions/wcstoul_l.texi: Likewise.
43405         * doc/glibc-functions/wcstoull_l.texi: Likewise.
43406         * doc/glibc-functions/wcstouq.texi: Likewise.
43407         * doc/glibc-functions/wmempcpy.texi: Likewise.
43408
43409 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
43410             Eric Blake  <ebb9@byu.net>
43411             Paolo Bonzini  <bonzini@gnu.org>
43412             Bruno Haible  <bruno@clisp.org>
43413
43414         Make c-stack work on Haiku.
43415         * lib/c-stack.c (SA_ONSTACK): Define fallback.
43416         (c_stack_action): Use SA_ONSTACK flag.
43417
43418 2008-12-22  Bruno Haible  <bruno@clisp.org>
43419
43420         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
43421
43422 2008-12-22  Bruno Haible  <bruno@clisp.org>
43423
43424         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
43425         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
43426         being overridden.
43427         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
43428         New macros.
43429         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
43430         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
43431         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
43432         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
43433
43434 2008-12-22  Bruno Haible  <bruno@clisp.org>
43435
43436         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
43437         from test code.
43438
43439 2008-12-22  Eric Blake  <ebb9@byu.net>
43440
43441         Avoid gcc warnings on cygwin.
43442         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
43443         Avoid unused variable.
43444         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
43445         Likewise.
43446
43447 2008-12-22  Bruno Haible  <bruno@clisp.org>
43448
43449         Remove HAVE_MBRTOWC conditionals.
43450         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
43451         (mbscasecmp): Assume mbrtowc function.
43452         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
43453         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
43454         * lib/mbschr.c: Include mbuiter.h unconditionally.
43455         (mbschr): Assume mbrtowc function.
43456         * lib/mbscspn.c: Include mbuiter.h unconditionally.
43457         (mbscspn): Assume mbrtowc function.
43458         * lib/mbslen.c: Include mbuiter.h unconditionally.
43459         (mbslen): Assume mbrtowc function.
43460         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
43461         (mbsncasecmp): Assume mbrtowc function.
43462         * lib/mbsnlen.c: Include mbiter.h unconditionally.
43463         (mbsnlen): Assume mbrtowc function.
43464         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
43465         (mbspbrk): Assume mbrtowc function.
43466         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
43467         (mbspcasecmp): Assume mbrtowc function.
43468         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
43469         (mbsrchr): Assume mbrtowc function.
43470         * lib/mbssep.c: Include mbuiter.h unconditionally.
43471         (mbssep): Assume mbrtowc function.
43472         * lib/mbsspn.c: Include mbuiter.h unconditionally.
43473         (mbsspn): Assume mbrtowc function.
43474         * lib/mbsstr.c: Include mbuiter.h unconditionally.
43475         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
43476         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
43477         (mbstok_r): Assume mbrtowc function.
43478         * lib/propername.c: Include mbuiter.h unconditionally.
43479         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
43480         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
43481         (trim2): Assume mbrtowc function.
43482         * lib/mbswidth.c (mbsinit): Remove fallback definition.
43483         (mbsnwidth): Assume mbrtowc function.
43484         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
43485         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
43486         fallback definitions.
43487         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
43488
43489 2008-12-22  Bruno Haible  <bruno@clisp.org>
43490
43491         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
43492
43493 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
43494
43495         * modules/regex: Request emulations for the mb*/wc* functions we need.
43496         * m4/regex.m4: Don't look for those functions here.
43497         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
43498
43499 2008-12-22  Bruno Haible  <bruno@clisp.org>
43500
43501         * modules/fnmatch (Depends-on): Remove duplicated dependency.
43502
43503 2008-12-21  Bruno Haible  <bruno@clisp.org>
43504
43505         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
43506         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
43507         (Include): Remove conditionalization.
43508         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
43509         (Include): Remove conditionalization.
43510         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
43511         (Include): Remove conditionalization.
43512         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
43513         * m4/mbfile.m4 (gl_MBFILE): Likewise.
43514         * NEWS: Mention the change.
43515         Reported by Alan Hourihane <alanh@fairlite.co.uk>
43516         via Sergey Poznyakoff <gray@gnu.org.ua>.
43517
43518 2008-12-21  Bruno Haible  <bruno@clisp.org>
43519
43520         * MODULES.html.sh (Extended multibyte and wide character utilities
43521         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
43522         wcrtomb, wcsrtombs.
43523         (Support for systems lacking POSIX:2008): Add accept, bind, close,
43524         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
43525         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
43526         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
43527
43528 2008-12-21  Bruno Haible  <bruno@clisp.org>
43529
43530         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
43531
43532 2008-12-21  Bruno Haible  <bruno@clisp.org>
43533
43534         * modules/wcsnrtombs-tests: New file.
43535         * tests/test-wcsnrtombs1.sh: New file.
43536         * tests/test-wcsnrtombs2.sh: New file.
43537         * tests/test-wcsnrtombs3.sh: New file.
43538         * tests/test-wcsnrtombs4.sh: New file.
43539         * tests/test-wcsnrtombs.c: New file.
43540
43541         New module 'wcsnrtombs'.
43542         * lib/wchar.in.h (wcsnrtombs): New declaration.
43543         * lib/wcsnrtombs.c: New file.
43544         * lib/wcsrtombs-state.c: New file.
43545         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
43546         (internal_state): Remove variable.
43547         * m4/wcsnrtombs.m4: New file.
43548         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
43549         compilation units.
43550         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
43551         HAVE_WCSNRTOMBS.
43552         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
43553         HAVE_WCSNRTOMBS.
43554         * modules/wcsnrtombs: New file.
43555         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
43556         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
43557
43558 2008-12-21  Bruno Haible  <bruno@clisp.org>
43559
43560         * modules/wcsrtombs-tests: New file.
43561         * tests/test-wcsrtombs1.sh: New file.
43562         * tests/test-wcsrtombs2.sh: New file.
43563         * tests/test-wcsrtombs3.sh: New file.
43564         * tests/test-wcsrtombs4.sh: New file.
43565         * tests/test-wcsrtombs.c: New file.
43566
43567         New module 'wcsrtombs'.
43568         * lib/wchar.in.h (wcsrtombs): New declaration.
43569         * lib/wcsrtombs.c: New file.
43570         * m4/wcsrtombs.m4: New file.
43571         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
43572         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
43573         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
43574         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
43575         * modules/wcsrtombs: New file.
43576         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
43577         bugs.
43578
43579 2008-12-21  Bruno Haible  <bruno@clisp.org>
43580
43581         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
43582         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
43583         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
43584         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
43585         if not correct.
43586         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
43587         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
43588         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43589         m4/locale-zh.m4, m4/codeset.m4.
43590         * doc/posix-functions/wcrtomb.texi: Document the bug.
43591
43592 2008-12-21  Bruno Haible  <bruno@clisp.org>
43593
43594         Work around a btowc() bug on IRIX 6.5.
43595         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
43596         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
43597         REPLACE_WTOBC if not.
43598         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
43599         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
43600         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
43601
43602 2008-12-21  Bruno Haible  <bruno@clisp.org>
43603
43604         * modules/wcrtomb-tests: New file.
43605         * tests/test-wcrtomb.sh: New file.
43606         * tests/test-wcrtomb.c: New file.
43607
43608         New module 'wcrtomb'.
43609         * lib/wchar.in.h (wcrtomb): New declaration.
43610         * lib/wcrtomb.c: New file.
43611         * m4/wcrtomb.m4: New file.
43612         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
43613         HAVE_WCRTOMB.
43614         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
43615         HAVE_WCRTOMB.
43616         * modules/wcrtomb: New file.
43617         * doc/posix-functions/wcrtomb.texi: Mention the new module.
43618
43619 2008-12-21  Bruno Haible  <bruno@clisp.org>
43620
43621         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
43622         * modules/mbsrtowcs (Files): Likewise.
43623         * modules/wctob (Files): Likewise.
43624         * modules/c-strcase-tests (Files): Likewise.
43625         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
43626         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
43627         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
43628         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
43629         * modules/vasnprintf-posix-tests (Files): Likewise.
43630
43631 2008-12-21  William Pursell  <bill.pursell@gmail.com>
43632
43633         gitlog-to-changelog: pass all command-line arguments to git-log
43634         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
43635         it is sometimes convenient to filter the commits in various ways.
43636         gitlog-to-changelog only allows --since to specify a start date,
43637         but git-log itself supports many other filtering mechanisms.
43638         At the moment, I want to filter by branch name.  Rather than
43639         adding a --branch option to gitlog-to-changelog, it seems more
43640         flexible to simply pass all options directly to git-log and let
43641         git do the work.  Notice that this effectively makes --since a
43642         redundant option for gitlog-to-changelog, but removing it would
43643         require current usage to change since calls would then require
43644         an additional '--'.
43645
43646 2008-12-21  Bruno Haible  <bruno@clisp.org>
43647
43648         * modules/mbsnrtowcs-tests: New file.
43649         * tests/test-mbsnrtowcs1.sh: New file.
43650         * tests/test-mbsnrtowcs2.sh: New file.
43651         * tests/test-mbsnrtowcs3.sh: New file.
43652         * tests/test-mbsnrtowcs4.sh: New file.
43653         * tests/test-mbsnrtowcs.c: New file.
43654
43655         New module 'mbsnrtowcs'.
43656         * lib/wchar.in.h (mbsnrtowcs): New declaration.
43657         * lib/mbsnrtowcs.c: New file.
43658         * lib/mbsrtowcs-state.c: New file.
43659         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
43660         (internal_state): Remove variable.
43661         * m4/mbsnrtowcs.m4: New file.
43662         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
43663         compilation units.
43664         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
43665         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
43666         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
43667         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
43668         * modules/mbsnrtowcs: New file.
43669         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
43670         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
43671         portability problem.
43672
43673 2008-12-21  Bruno Haible  <bruno@clisp.org>
43674
43675         Work around mbsrtowcs bug.
43676         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
43677         (gl_FUNC_MBSRTOWCS): Invoke it.
43678         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43679         m4/locale-zh.m4.
43680         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
43681
43682 2008-12-21  Bruno Haible  <bruno@clisp.org>
43683
43684         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
43685
43686 2008-12-21  Bruno Haible  <bruno@clisp.org>
43687
43688         Update doc for AIX.
43689         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
43690         16-bit wchar_t type.
43691         * doc/posix-functions/btowc.texi: Likewise.
43692         * doc/posix-functions/fgetwc.texi: Likewise.
43693         * doc/posix-functions/fgetws.texi: Likewise.
43694         * doc/posix-functions/fputwc.texi: Likewise.
43695         * doc/posix-functions/fputws.texi: Likewise.
43696         * doc/posix-functions/fwide.texi: Likewise.
43697         * doc/posix-functions/fwprintf.texi: Likewise.
43698         * doc/posix-functions/fwscanf.texi: Likewise.
43699         * doc/posix-functions/getwchar.texi: Likewise.
43700         * doc/posix-functions/getwc.texi: Likewise.
43701         * doc/posix-functions/iswalnum.texi: Likewise.
43702         * doc/posix-functions/iswalpha.texi: Likewise.
43703         * doc/posix-functions/iswblank.texi: Likewise.
43704         * doc/posix-functions/iswcntrl.texi: Likewise.
43705         * doc/posix-functions/iswctype.texi: Likewise.
43706         * doc/posix-functions/iswdigit.texi: Likewise.
43707         * doc/posix-functions/iswgraph.texi: Likewise.
43708         * doc/posix-functions/iswlower.texi: Likewise.
43709         * doc/posix-functions/iswprint.texi: Likewise.
43710         * doc/posix-functions/iswpunct.texi: Likewise.
43711         * doc/posix-functions/iswspace.texi: Likewise.
43712         * doc/posix-functions/iswupper.texi: Likewise.
43713         * doc/posix-functions/iswxdigit.texi: Likewise.
43714         * doc/posix-functions/mbrtowc.texi: Likewise.
43715         * doc/posix-functions/mbsrtowcs.texi: Likewise.
43716         * doc/posix-functions/mbstowcs.texi: Likewise.
43717         * doc/posix-functions/mbtowc.texi: Likewise.
43718         * doc/posix-functions/putwchar.texi: Likewise.
43719         * doc/posix-functions/putwc.texi: Likewise.
43720         * doc/posix-functions/swprintf.texi: Likewise.
43721         * doc/posix-functions/tolower.texi: Likewise.
43722         * doc/posix-functions/toupper.texi: Likewise.
43723         * doc/posix-functions/towctrans.texi: Likewise.
43724         * doc/posix-functions/ungetwc.texi: Likewise.
43725         * doc/posix-functions/vswprintf.texi: Likewise.
43726         * doc/posix-functions/wcrtomb.texi: Likewise.
43727         * doc/posix-functions/wcscat.texi: Likewise.
43728         * doc/posix-functions/wcschr.texi: Likewise.
43729         * doc/posix-functions/wcscmp.texi: Likewise.
43730         * doc/posix-functions/wcscoll.texi: Likewise.
43731         * doc/posix-functions/wcscpy.texi: Likewise.
43732         * doc/posix-functions/wcscspn.texi: Likewise.
43733         * doc/posix-functions/wcsftime.texi: Likewise.
43734         * doc/posix-functions/wcslen.texi: Likewise.
43735         * doc/posix-functions/wcsncat.texi: Likewise.
43736         * doc/posix-functions/wcsncmp.texi: Likewise.
43737         * doc/posix-functions/wcsncpy.texi: Likewise.
43738         * doc/posix-functions/wcspbrk.texi: Likewise.
43739         * doc/posix-functions/wcsrchr.texi: Likewise.
43740         * doc/posix-functions/wcsrtombs.texi: Likewise.
43741         * doc/posix-functions/wcsspn.texi: Likewise.
43742         * doc/posix-functions/wcsstr.texi: Likewise.
43743         * doc/posix-functions/wcstod.texi: Likewise.
43744         * doc/posix-functions/wcstof.texi: Likewise.
43745         * doc/posix-functions/wcstoimax.texi: Likewise.
43746         * doc/posix-functions/wcstok.texi: Likewise.
43747         * doc/posix-functions/wcstold.texi: Likewise.
43748         * doc/posix-functions/wcstoll.texi: Likewise.
43749         * doc/posix-functions/wcstol.texi: Likewise.
43750         * doc/posix-functions/wcstombs.texi: Likewise.
43751         * doc/posix-functions/wcstoull.texi: Likewise.
43752         * doc/posix-functions/wcstoul.texi: Likewise.
43753         * doc/posix-functions/wcstoumax.texi: Likewise.
43754         * doc/posix-functions/wcswidth.texi: Likewise.
43755         * doc/posix-functions/wcsxfrm.texi: Likewise.
43756         * doc/posix-functions/wctob.texi: Likewise.
43757         * doc/posix-functions/wctomb.texi: Likewise.
43758         * doc/posix-functions/wctrans.texi: Likewise.
43759         * doc/posix-functions/wctype.texi: Likewise.
43760         * doc/posix-functions/wcwidth.texi: Likewise.
43761         * doc/posix-functions/wmemchr.texi: Likewise.
43762         * doc/posix-functions/wmemcmp.texi: Likewise.
43763         * doc/posix-functions/wmemcpy.texi: Likewise.
43764         * doc/posix-functions/wmemmove.texi: Likewise.
43765         * doc/posix-functions/wmemset.texi: Likewise.
43766         * doc/posix-functions/wprintf.texi: Likewise.
43767         * doc/posix-functions/wscanf.texi: Likewise.
43768
43769 2008-12-21  Bruno Haible  <bruno@clisp.org>
43770
43771         Update doc for HP-UX 11.11.
43772         * doc/posix-functions/btowc.texi: Clarify that the function is missing
43773         in HP-UX version 11.00, not in all versions of HP-UX 11.
43774         * doc/posix-functions/fwide.texi: Likewise.
43775         * doc/posix-functions/fwprintf.texi: Likewise.
43776         * doc/posix-functions/fwscanf.texi: Likewise.
43777         * doc/posix-functions/inet_ntop.texi: Likewise.
43778         * doc/posix-functions/inet_pton.texi: Likewise.
43779         * doc/posix-functions/mbrlen.texi: Likewise.
43780         * doc/posix-functions/mbrtowc.texi: Likewise.
43781         * doc/posix-functions/mbsinit.texi: Likewise.
43782         * doc/posix-functions/mbsrtowcs.texi: Likewise.
43783         * doc/posix-functions/swprintf.texi: Likewise.
43784         * doc/posix-functions/swscanf.texi: Likewise.
43785         * doc/posix-functions/towctrans.texi: Likewise.
43786         * doc/posix-functions/vfwprintf.texi: Likewise.
43787         * doc/posix-functions/vswprintf.texi: Likewise.
43788         * doc/posix-functions/vwprintf.texi: Likewise.
43789         * doc/posix-functions/wcrtomb.texi: Likewise.
43790         * doc/posix-functions/wcsrtombs.texi: Likewise.
43791         * doc/posix-functions/wcsstr.texi: Likewise.
43792         * doc/posix-functions/wctob.texi: Likewise.
43793         * doc/posix-functions/wctrans.texi: Likewise.
43794         * doc/posix-functions/wmemchr.texi: Likewise.
43795         * doc/posix-functions/wmemcmp.texi: Likewise.
43796         * doc/posix-functions/wmemcpy.texi: Likewise.
43797         * doc/posix-functions/wmemmove.texi: Likewise.
43798         * doc/posix-functions/wmemset.texi: Likewise.
43799         * doc/posix-functions/wprintf.texi: Likewise.
43800         * doc/posix-functions/wscanf.texi: Likewise.
43801
43802 2008-12-21  Bruno Haible  <bruno@clisp.org>
43803
43804         Work around a portability problem.
43805         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
43806         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
43807
43808 2008-12-20  Bruno Haible  <bruno@clisp.org>
43809
43810         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
43811         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
43812         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
43813         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
43814         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
43815
43816         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
43817         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
43818         set.
43819         (GNULIB_defined_mbstate_t): New macro.
43820         (mbsinit): Redefine if REPLACE_MBSINIT is set.
43821         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
43822         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
43823         reuses the system's mbrtowc function but works around the bugs.
43824         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
43825         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
43826         macros.
43827         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
43828         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
43829         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
43830         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
43831         REPLACE_MBSINIT if mbsinit needs to be overridden.
43832         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
43833         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43834         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
43835         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43836         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43837         m4/locale-zh.m4.
43838         (Depends): Add mbsinit.
43839         * modules/mbsinit (Depends): Add mbrtowc.
43840         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
43841
43842 2008-12-20  Bruno Haible  <bruno@clisp.org>
43843
43844         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
43845         so that there are no conversion errors on AIX.
43846         * tests/test-mbsrtowcs.c (main): LIkewise.
43847
43848 2008-12-20  Bruno Haible  <bruno@clisp.org>
43849
43850         Work around wctob bug on Solaris <= 9.
43851         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
43852         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
43853         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
43854         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
43855         * modules/wctob (Files): Add m4/locale-fr.m4.
43856         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
43857
43858 2008-12-20  Bruno Haible  <bruno@clisp.org>
43859
43860         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
43861         /dev/null.
43862         * tests/test-select-in.sh: Likewise.
43863         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43864
43865 2008-12-20  Bruno Haible  <bruno@clisp.org>
43866
43867         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
43868         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
43869         Cygwin 1.5.x.
43870
43871 2008-12-20  Bruno Haible  <bruno@clisp.org>
43872
43873         Ensure mbstate_t is defined on HP-UX 11.11.
43874         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
43875         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
43876         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
43877         AC_USE_SYSTEM_EXTENSIONS.
43878         * modules/fnmatch (Depends-on): Add extensions.
43879         * modules/mbrlen (Depends-on): Likewise.
43880         * modules/mbrtowc (Depends-on): Likewise.
43881         * modules/mbsinit (Depends-on): Likewise.
43882         * modules/mbsrtowcs (Depends-on): Likewise.
43883         * modules/mbswidth (Depends-on): Likewise.
43884         * modules/quotearg (Depends-on): Likewise.
43885         * modules/strftime (Depends-on): Likewise.
43886
43887 2008-12-20  Bruno Haible  <bruno@clisp.org>
43888
43889         Ensure wctob is declared on IRIX 6.5.
43890         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
43891         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
43892         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
43893         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
43894         of HAVE_WCTOB.
43895         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
43896         HAVE_WCTOB.
43897         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
43898
43899 2008-12-19  Bruno Haible  <bruno@clisp.org>
43900
43901         * modules/mbsrtowcs-tests: New file.
43902         * tests/test-mbsrtowcs1.sh: New file.
43903         * tests/test-mbsrtowcs2.sh: New file.
43904         * tests/test-mbsrtowcs3.sh: New file.
43905         * tests/test-mbsrtowcs4.sh: New file.
43906         * tests/test-mbsrtowcs.c: New file.
43907
43908         New module 'mbsrtowcs'.
43909         * lib/wchar.in.h (mbsrtowcs): New declaration.
43910         * lib/mbsrtowcs.c: New file.
43911         * m4/mbsrtowcs.m4: New file.
43912         * modules/mbsrtowcs: New file.
43913         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
43914         HAVE_MBSRTOWCS.
43915         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
43916         HAVE_MBSRTOWCS.
43917         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
43918
43919 2008-12-19  Bruno Haible  <bruno@clisp.org>
43920
43921         New module 'mbrlen'.
43922         * lib/wchar.in.h (mbrlen): New declaration.
43923         * lib/mbrlen.c: New file.
43924         * m4/mbrlen.m4: New file.
43925         * modules/mbrlen: New file.
43926         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
43927         HAVE_MBRLEN.
43928         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
43929         HAVE_MBRLEN.
43930         * doc/posix-functions/mbrlen.texi: Document the new module.
43931
43932 2008-12-19  Bruno Haible  <bruno@clisp.org>
43933
43934         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
43935         * modules/mbrtowc (Depends-on): Add verify.
43936         Suggested by Paul Eggert.
43937
43938 2008-12-18  Bruno Haible  <bruno@clisp.org>
43939
43940         * modules/mbsinit-tests: New file.
43941         * tests/test-mbsinit.sh: New file.
43942         * tests/test-mbsinit.c: New file.
43943
43944 2008-12-18  Bruno Haible  <bruno@clisp.org>
43945
43946         * modules/mbrtowc-tests: New file.
43947         * tests/test-mbrtowc1.sh: New file.
43948         * tests/test-mbrtowc2.sh: New file.
43949         * tests/test-mbrtowc3.sh: New file.
43950         * tests/test-mbrtowc4.sh: New file.
43951         * tests/test-mbrtowc.c: New file.
43952
43953         New module 'mbrtowc'.
43954         * lib/wchar.in.h (mbstate_t): Override when the system does not have
43955         mbsinit and mbrtowc.
43956         (mbrtowc): New declaration.
43957         * lib/mbrtowc.c: New file.
43958         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
43959         * modules/mbrtowc: New file.
43960         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
43961         HAVE_MBRTOWC.
43962         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
43963         HAVE_MBRTOWC.
43964         * doc/posix-functions/mbrtowc.texi: Document the new module.
43965
43966 2008-12-18  Bruno Haible  <bruno@clisp.org>
43967
43968         New module 'wctob'.
43969         * lib/wchar.in.h (wctob): New declaration.
43970         * lib/wctob.c: New file.
43971         * m4/wctob.m4: New file.
43972         * modules/wctob: New file.
43973         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
43974         HAVE_WCTOB.
43975         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
43976         * doc/posix-functions/wctob.texi: Document the new module.
43977
43978 2008-12-18  Bruno Haible  <bruno@clisp.org>
43979
43980         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
43981         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
43982
43983 2008-12-18  Simon Josefsson  <simon@josefsson.org>
43984
43985         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
43986         G. Christensen" <tgc@jupiterrise.com>.
43987
43988         * lib/flock.c: Need to include errno.h.  Reported by "Tom
43989         G. Christensen" <tgc@jupiterrise.com>.
43990
43991         * lib/flock.c: Need to include string.h.  Reported by "Tom
43992         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
43993         <ebb9@byu.net>.
43994
43995 2008-12-18  Bruno Haible  <bruno@clisp.org>
43996
43997         * m4/locale-ja.m4: New file, from GNU gettext.
43998
43999 2008-12-17  Bruno Haible  <bruno@clisp.org>
44000
44001         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
44002         Suggested by Eric Blake.
44003
44004 2008-12-17  Bruno Haible  <bruno@clisp.org>
44005
44006         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
44007
44008 2008-12-17  Bruno Haible  <bruno@clisp.org>
44009
44010         * lib/mbsinit.c: Include verify.h. Verify an assumption.
44011         * modules/mbsinit (Depends-on): Add verify.
44012         Suggested by Paul Eggert.
44013
44014 2008-12-17  Bruno Haible  <bruno@clisp.org>
44015
44016         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
44017         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
44018         gl_FUNC_MBRTOWC.
44019         * m4/mbiter.m4 (gl_MBITER): LIkewise.
44020         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
44021         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
44022         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
44023         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
44024         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
44025         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
44026         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
44027         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
44028         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
44029         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
44030         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
44031         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
44032         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
44033         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
44034         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44035         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
44036         * modules/trim (configure.ac): Likewise.
44037
44038 2008-12-17  Bruno Haible  <bruno@clisp.org>
44039
44040         * modules/btowc-tests: New file.
44041         * tests/test-btowc1.sh: New file.
44042         * tests/test-btowc2.sh: New file.
44043         * tests/test-btowc.c: New file.
44044
44045         New module 'btowc'.
44046         * lib/wchar.in.h (btowc): New declaration.
44047         * lib/btowc.c: New file.
44048         * m4/btowc.m4: New file.
44049         * modules/btowc: New file.
44050         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
44051         HAVE_BTOWC.
44052         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
44053         * doc/posix-functions/btowc.texi: Document the new module.
44054
44055 2008-12-17  Bruno Haible  <bruno@clisp.org>
44056
44057         New module 'mbsinit'.
44058         * lib/wchar.in.h (mbsinit): New declaration.
44059         * lib/mbsinit.c: New file.
44060         * m4/mbsinit.m4: New file.
44061         * modules/mbsinit: New file.
44062         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
44063         HAVE_MBSINIT.
44064         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
44065         HAVE_MBSINIT.
44066         * doc/posix-functions/mbsinit.texi: Document the new module.
44067
44068 2008-12-16  Bruno Haible  <bruno@clisp.org>
44069
44070         * lib/unistd.in.h: Add comment.
44071         * tests/test-environ.c: Don't include <stdlib.h>.
44072
44073 2008-12-16  Bruno Haible  <bruno@clisp.org>
44074
44075         * lib/parse-duration.h (parse_duration): Document return value
44076         convention.
44077         * lib/parse-duration.c: Include specification header first. Add
44078         comments.
44079         (_): Remove macro.
44080         (parse_year_month_day, parse_hour_minute_second): Move side effects
44081         outside of strchr call.
44082         (parse_non_iso8601): Move side effects outside of isspace call.
44083         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
44084         call.
44085
44086 2008-12-16  Bruno Haible  <bruno@clisp.org>
44087
44088         * tests/test-parse-duration.sh: Produce no output when the test
44089         succeeds.
44090
44091 2008-12-16  Bruno Haible  <bruno@clisp.org>
44092
44093         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
44094         expressions.
44095
44096 2008-12-15  Bruno Haible  <bruno@clisp.org>
44097
44098         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
44099         * doc/glibc-functions/flistxattr.texi: Likewise.
44100         * doc/glibc-functions/fopencookie.texi: Likewise.
44101         * doc/glibc-functions/fremovexattr.texi: Likewise.
44102         * doc/glibc-functions/fsetxattr.texi: Likewise.
44103         * doc/glibc-functions/getxattr.texi: Likewise.
44104         * doc/glibc-functions/lgetxattr.texi: Likewise.
44105         * doc/glibc-functions/listxattr.texi: Likewise.
44106         * doc/glibc-functions/llistxattr.texi: Likewise.
44107         * doc/glibc-functions/lremovexattr.texi: Likewise.
44108         * doc/glibc-functions/lsetxattr.texi: Likewise.
44109         * doc/glibc-functions/removexattr.texi: Likewise.
44110         * doc/glibc-functions/setxattr.texi: Likewise.
44111         * doc/posix-functions/open_memstream.texi: Likewise.
44112
44113 2008-12-15  Eric Blake  <ebb9@byu.net>
44114
44115         Update doc for cygwin 1.7.
44116         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
44117         functions.
44118         * doc/posix-functions/fchmodat.texi: Likewise.
44119         * doc/posix-functions/fchownat.texi: Likewise.
44120         * doc/posix-functions/fdopendir.texi: Likewise.
44121         * doc/posix-functions/fmemopen.texi: Likewise.
44122         * doc/posix-functions/freeaddrinfo.texi: Likewise.
44123         * doc/posix-functions/fstatat.texi: Likewise.
44124         * doc/posix-functions/futimens.texi: Likewise.
44125         * doc/posix-functions/gai_strerror.texi: Likewise.
44126         * doc/posix-functions/getaddrinfo.texi: Likewise.
44127         * doc/posix-functions/getnameinfo.texi: Likewise.
44128         * doc/posix-functions/if_freenameindex.texi: Likewise.
44129         * doc/posix-functions/if_indextoname.texi: Likewise.
44130         * doc/posix-functions/if_nameindex.texi: Likewise.
44131         * doc/posix-functions/if_nametoindex.texi: Likewise.
44132         * doc/posix-functions/insque.texi: Likewise.
44133         * doc/posix-functions/linkat.texi: Likewise.
44134         * doc/posix-functions/llrint.texi: Likewise.
44135         * doc/posix-functions/llrintf.texi: Likewise.
44136         * doc/posix-functions/llrintl.texi: Likewise.
44137         * doc/posix-functions/lockf.texi: Likewise.
44138         * doc/posix-functions/lrintl.texi: Likewise.
44139         * doc/posix-functions/mkdirat.texi: Likewise.
44140         * doc/posix-functions/mkfifoat.texi: Likewise.
44141         * doc/posix-functions/mknodat.texi: Likewise.
44142         * doc/posix-functions/mq_close.texi: Likewise.
44143         * doc/posix-functions/mq_getattr.texi: Likewise.
44144         * doc/posix-functions/mq_notify.texi: Likewise.
44145         * doc/posix-functions/mq_open.texi: Likewise.
44146         * doc/posix-functions/mq_receive.texi: Likewise.
44147         * doc/posix-functions/mq_send.texi: Likewise.
44148         * doc/posix-functions/mq_setattr.texi: Likewise.
44149         * doc/posix-functions/mq_timedreceive.texi: Likewise.
44150         * doc/posix-functions/mq_timedsend.texi: Likewise.
44151         * doc/posix-functions/mq_unlink.texi: Likewise.
44152         * doc/posix-functions/open_memstream.texi: Likewise.
44153         * doc/posix-functions/openat.texi: Likewise.
44154         * doc/posix-functions/posix_fadvise.texi: Likewise.
44155         * doc/posix-functions/posix_fallocate.texi: Likewise.
44156         * doc/posix-functions/posix_madvise.texi: Likewise.
44157         * doc/posix-functions/posix_memalign.texi: Likewise.
44158         * doc/posix-functions/posix_openpt.texi: Likewise.
44159         * doc/posix-functions/readlinkat.texi: Likewise.
44160         * doc/posix-functions/remque.texi: Likewise.
44161         * doc/posix-functions/renameat.texi: Likewise.
44162         * doc/posix-functions/rintl.texi: Likewise.
44163         * doc/posix-functions/sem_unlink.texi: Likewise.
44164         * doc/posix-functions/shm_open.texi: Likewise.
44165         * doc/posix-functions/shm_unlink.texi: Likewise.
44166         * doc/posix-functions/signgam.texi: Likewise.
44167         * doc/posix-functions/sigset.texi: Likewise.
44168         * doc/posix-functions/stpcpy.texi: Likewise.
44169         * doc/posix-functions/stpncpy.texi: Likewise.
44170         * doc/posix-functions/strerror.texi: Likewise.
44171         * doc/posix-functions/strtod.texi: Likewise.
44172         * doc/posix-functions/symlinkat.texi: Likewise.
44173         * doc/posix-functions/unlinkat.texi: Likewise.
44174         * doc/posix-functions/utimensat.texi: Likewise.
44175         * doc/glibc-functions/bindresvport.texi: Likewise.
44176         * doc/glibc-functions/dn_expand.texi: Likewise.
44177         * doc/glibc-functions/exp10.texi: Likewise.
44178         * doc/glibc-functions/exp10f.texi: Likewise.
44179         * doc/glibc-functions/fgetxattr.texi: Likewise.
44180         * doc/glibc-functions/flistxattr.texi: Likewise.
44181         * doc/glibc-functions/fopencookie.texi: Likewise.
44182         * doc/glibc-functions/freeifaddrs.texi: Likewise.
44183         * doc/glibc-functions/fremovexattr.texi: Likewise.
44184         * doc/glibc-functions/fsetxattr.texi: Likewise.
44185         * doc/glibc-functions/getifaddrs.texi: Likewise.
44186         * doc/glibc-functions/getxattr.texi: Likewise.
44187         * doc/glibc-functions/lgetxattr.texi: Likewise.
44188         * doc/glibc-functions/listxattr.texi: Likewise.
44189         * doc/glibc-functions/llistxattr.texi: Likewise.
44190         * doc/glibc-functions/lremovexattr.texi: Likewise.
44191         * doc/glibc-functions/lsetxattr.texi: Likewise.
44192         * doc/glibc-functions/pow10.texi: Likewise.
44193         * doc/glibc-functions/pow10f.texi: Likewise.
44194         * doc/glibc-functions/rcmd_af.texi: Likewise.
44195         * doc/glibc-functions/removexattr.texi: Likewise.
44196         * doc/glibc-functions/res_init.texi: Likewise.
44197         * doc/glibc-functions/res_mkquery.texi: Likewise.
44198         * doc/glibc-functions/res_query.texi: Likewise.
44199         * doc/glibc-functions/res_querydomain.texi: Likewise.
44200         * doc/glibc-functions/res_send.texi: Likewise.
44201         * doc/glibc-functions/rresvport_af.texi: Likewise.
44202         * doc/glibc-functions/setxattr.texi: Likewise.
44203         * doc/glibc-functions/strcasestr.texi: Likewise.
44204
44205 2008-12-15  Bruno Haible  <bruno@clisp.org>
44206
44207         Fix compilation error on OSF/1 4.0.
44208         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
44209         <sys/time.h>, simply delegate to the system header.
44210         Reported by Daniel Richard G. <oss@teragram.com>.
44211
44212 2008-12-15  Bruno Haible  <bruno@clisp.org>
44213
44214         * doc/posix-functions/openat.texi: Mention the 'openat' module.
44215         * doc/posix-functions/fchmodat.texi: Likewise.
44216         * doc/posix-functions/fchownat.texi: Likewise.
44217         * doc/posix-functions/fdopendir.texi: Likewise.
44218         * doc/posix-functions/fstatat.texi: Likewise.
44219         * doc/posix-functions/mkdirat.texi: Likewise.
44220         * doc/posix-functions/unlinkat.texi: Likewise.
44221
44222 2008-12-14  Bruno Haible  <bruno@clisp.org>
44223
44224         Update doc for POSIX:2008.
44225         * doc/posix-functions/faccessat.texi: New file.
44226         * doc/posix-functions/fchmodat.texi: New file.
44227         * doc/posix-functions/fchownat.texi: New file.
44228         * doc/posix-functions/fdopendir.texi: New file.
44229         * doc/posix-functions/fstatat.texi: New file.
44230         * doc/posix-functions/futimens.texi: New file.
44231         * doc/posix-functions/linkat.texi: New file.
44232         * doc/posix-functions/mkdirat.texi: New file.
44233         * doc/posix-functions/mkfifoat.texi: New file.
44234         * doc/posix-functions/mknodat.texi: New file.
44235         * doc/posix-functions/open_wmemstream.texi: New file.
44236         * doc/posix-functions/openat.texi: New file.
44237         * doc/posix-functions/psiginfo.texi: New file.
44238         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
44239         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
44240         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
44241         * doc/posix-functions/readlinkat.texi: New file.
44242         * doc/posix-functions/renameat.texi: New file.
44243         * doc/posix-functions/strerror_l.texi: New file.
44244         * doc/posix-functions/symlinkat.texi: New file.
44245         * doc/posix-functions/unlinkat.texi: New file.
44246         * doc/posix-functions/utimensat.texi: New file.
44247         * doc/gnulib.texi (Function Substitutes): Add these subsections.
44248
44249 2008-12-14  Bruno Haible  <bruno@clisp.org>
44250
44251         Update doc for POSIX:2008.
44252         * doc/posix-functions/alphasort.texi: Renamed from
44253         doc/glibc-functions/alphasort.texi.
44254         * doc/posix-functions/dirfd.texi: Renamed from
44255         doc/glibc-functions/dirfd.texi.
44256         * doc/posix-functions/dprintf.texi: Renamed from
44257         doc/glibc-functions/dprintf.texi.
44258         * doc/posix-functions/duplocale.texi: Renamed from
44259         doc/glibc-functions/duplocale.texi.
44260         * doc/posix-functions/fexecve.texi: Renamed from
44261         doc/glibc-functions/fexecve.texi.
44262         * doc/posix-functions/fmemopen.texi: Renamed from
44263         doc/glibc-functions/fmemopen.texi.
44264         * doc/posix-functions/freelocale.texi: Renamed from
44265         doc/glibc-functions/freelocale.texi.
44266         * doc/posix-functions/getdate_err.texi: Renamed from
44267         doc/glibc-functions/getdate_err.texi.
44268         * doc/posix-functions/isalnum_l.texi: Renamed from
44269         doc/glibc-functions/isalnum_l.texi.
44270         * doc/posix-functions/isalpha_l.texi: Renamed from
44271         doc/glibc-functions/isalpha_l.texi.
44272         * doc/posix-functions/isblank_l.texi: Renamed from
44273         doc/glibc-functions/isblank_l.texi.
44274         * doc/posix-functions/iscntrl_l.texi: Renamed from
44275         doc/glibc-functions/iscntrl_l.texi.
44276         * doc/posix-functions/isdigit_l.texi: Renamed from
44277         doc/glibc-functions/isdigit_l.texi.
44278         * doc/posix-functions/isgraph_l.texi: Renamed from
44279         doc/glibc-functions/isgraph_l.texi.
44280         * doc/posix-functions/islower_l.texi: Renamed from
44281         doc/glibc-functions/islower_l.texi.
44282         * doc/posix-functions/isprint_l.texi: Renamed from
44283         doc/glibc-functions/isprint_l.texi.
44284         * doc/posix-functions/ispunct_l.texi: Renamed from
44285         doc/glibc-functions/ispunct_l.texi.
44286         * doc/posix-functions/isspace_l.texi: Renamed from
44287         doc/glibc-functions/isspace_l.texi.
44288         * doc/posix-functions/isupper_l.texi: Renamed from
44289         doc/glibc-functions/isupper_l.texi.
44290         * doc/posix-functions/iswalnum_l.texi: Renamed from
44291         doc/glibc-functions/iswalnum_l.texi.
44292         * doc/posix-functions/iswalpha_l.texi: Renamed from
44293         doc/glibc-functions/iswalpha_l.texi.
44294         * doc/posix-functions/iswblank_l.texi: Renamed from
44295         doc/glibc-functions/iswblank_l.texi.
44296         * doc/posix-functions/iswcntrl_l.texi: Renamed from
44297         doc/glibc-functions/iswcntrl_l.texi.
44298         * doc/posix-functions/iswctype_l.texi: Renamed from
44299         doc/glibc-functions/iswctype_l.texi.
44300         * doc/posix-functions/iswdigit_l.texi: Renamed from
44301         doc/glibc-functions/iswdigit_l.texi.
44302         * doc/posix-functions/iswgraph_l.texi: Renamed from
44303         doc/glibc-functions/iswgraph_l.texi.
44304         * doc/posix-functions/iswlower_l.texi: Renamed from
44305         doc/glibc-functions/iswlower_l.texi.
44306         * doc/posix-functions/iswprint_l.texi: Renamed from
44307         doc/glibc-functions/iswprint_l.texi.
44308         * doc/posix-functions/iswpunct_l.texi: Renamed from
44309         doc/glibc-functions/iswpunct_l.texi.
44310         * doc/posix-functions/iswspace_l.texi: Renamed from
44311         doc/glibc-functions/iswspace_l.texi.
44312         * doc/posix-functions/iswupper_l.texi: Renamed from
44313         doc/glibc-functions/iswupper_l.texi.
44314         * doc/posix-functions/iswxdigit_l.texi: Renamed from
44315         doc/glibc-functions/iswxdigit_l.texi.
44316         * doc/posix-functions/isxdigit_l.texi: Renamed from
44317         doc/glibc-functions/isxdigit_l.texi.
44318         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
44319         doc/glibc-functions/mbsnrtowcs.texi.
44320         * doc/posix-functions/mkdtemp.texi: Renamed from
44321         doc/glibc-functions/mkdtemp.texi.
44322         * doc/posix-functions/newlocale.texi: Renamed from
44323         doc/glibc-functions/newlocale.texi.
44324         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
44325         doc/glibc-functions/nl_langinfo_l.texi.
44326         * doc/posix-functions/open_memstream.texi: Renamed from
44327         doc/glibc-functions/open_memstream.texi.
44328         * doc/posix-functions/opterr.texi: Renamed from
44329         doc/glibc-functions/opterr.texi.
44330         * doc/posix-functions/optind.texi: Renamed from
44331         doc/glibc-functions/optind.texi.
44332         * doc/posix-functions/optopt.texi: Renamed from
44333         doc/glibc-functions/optopt.texi.
44334         * doc/posix-functions/psignal.texi: Renamed from
44335         doc/glibc-functions/psignal.texi.
44336         * doc/posix-functions/scandir.texi: Renamed from
44337         doc/glibc-functions/scandir.texi.
44338         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
44339         doc/glibc-functions/sched_get_priority_min.texi.
44340         * doc/posix-functions/signgam.texi: Renamed from
44341         doc/glibc-functions/signgam.texi.
44342         * doc/posix-functions/stpcpy.texi: Renamed from
44343         doc/glibc-functions/stpcpy.texi.
44344         * doc/posix-functions/stpncpy.texi: Renamed from
44345         doc/glibc-functions/stpncpy.texi.
44346         * doc/posix-functions/strcasecmp_l.texi: Renamed from
44347         doc/glibc-functions/strcasecmp_l.texi.
44348         * doc/posix-functions/strcoll_l.texi: Renamed from
44349         doc/glibc-functions/strcoll_l.texi.
44350         * doc/posix-functions/strfmon_l.texi: Renamed from
44351         doc/glibc-functions/strfmon_l.texi.
44352         * doc/posix-functions/strftime_l.texi: Renamed from
44353         doc/glibc-functions/strftime_l.texi.
44354         * doc/posix-functions/strncasecmp_l.texi: Renamed from
44355         doc/glibc-functions/strncasecmp_l.texi.
44356         * doc/posix-functions/strndup.texi: Renamed from
44357         doc/glibc-functions/strndup.texi.
44358         * doc/posix-functions/strnlen.texi: Renamed from
44359         doc/glibc-functions/strnlen.texi.
44360         * doc/posix-functions/strsignal.texi: Renamed from
44361         doc/glibc-functions/strsignal.texi.
44362         * doc/posix-functions/strxfrm_l.texi: Renamed from
44363         doc/glibc-functions/strxfrm_l.texi.
44364         * doc/posix-functions/timer_gettime.texi: Renamed from
44365         doc/glibc-functions/timer_gettime.texi.
44366         * doc/posix-functions/tolower_l.texi: Renamed from
44367         doc/glibc-functions/tolower_l.texi.
44368         * doc/posix-functions/toupper_l.texi: Renamed from
44369         doc/glibc-functions/toupper_l.texi.
44370         * doc/posix-functions/towctrans_l.texi: Renamed from
44371         doc/glibc-functions/towctrans_l.texi.
44372         * doc/posix-functions/towlower_l.texi: Renamed from
44373         doc/glibc-functions/towlower_l.texi.
44374         * doc/posix-functions/towupper_l.texi: Renamed from
44375         doc/glibc-functions/towupper_l.texi.
44376         * doc/posix-functions/uselocale.texi: Renamed from
44377         doc/glibc-functions/uselocale.texi.
44378         * doc/posix-functions/vdprintf.texi: Renamed from
44379         doc/glibc-functions/vdprintf.texi.
44380         * doc/posix-functions/wcpcpy.texi:
44381         Renamed from doc/glibc-functions/wcpcpy.texi.
44382         * doc/posix-functions/wcpncpy.texi: Renamed from
44383         doc/glibc-functions/wcpncpy.texi.
44384         * doc/posix-functions/wcscasecmp.texi: Renamed from
44385         doc/glibc-functions/wcscasecmp.texi.
44386         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
44387         doc/glibc-functions/wcscasecmp_l.texi.
44388         * doc/posix-functions/wcscoll_l.texi: Renamed from
44389         doc/glibc-functions/wcscoll_l.texi.
44390         * doc/posix-functions/wcsdup.texi: Renamed from
44391         doc/glibc-functions/wcsdup.texi.
44392         * doc/posix-functions/wcsncasecmp.texi: Renamed from
44393         doc/glibc-functions/wcsncasecmp.texi.
44394         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
44395         doc/glibc-functions/wcsncasecmp_l.texi.
44396         * doc/posix-functions/wcsnlen.texi: Renamed from
44397         doc/glibc-functions/wcsnlen.texi.
44398         * doc/posix-functions/wcsnrtombs.texi: Renamed from
44399         doc/glibc-functions/wcsnrtombs.texi.
44400         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
44401         doc/glibc-functions/wcsxfrm_l.texi.
44402         * doc/posix-functions/wctrans_l.texi: Renamed from
44403         doc/glibc-functions/wctrans_l.texi.
44404         * doc/posix-functions/wctype_l.texi: Renamed from
44405         doc/glibc-functions/wctype_l.texi.
44406         * doc/gnulib.texi (Function Substitutes): Add these subsections.
44407         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
44408         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
44409         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
44410         these subsections.
44411         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
44412         Remove sections.
44413
44414 2008-12-14  Bruno Haible  <bruno@clisp.org>
44415
44416         Update doc for POSIX:2008.
44417         * doc/posix-functions/*.texi: Update URL of POSIX specification.
44418
44419 2008-12-14  Bruno Haible  <bruno@clisp.org>
44420
44421         Update doc for POSIX:2008.
44422         * doc/pastposix-functions/bcmp.texi: Renamed from
44423         doc/posix-functions/bcmp.texi.
44424         * doc/pastposix-functions/bcopy.texi: Renamed from
44425         doc/posix-functions/bcopy.texi.
44426         * doc/pastposix-functions/bsd_signal.texi: Renamed from
44427         doc/posix-functions/bsd_signal.texi.
44428         * doc/pastposix-functions/bzero.texi: Renamed from
44429         doc/posix-functions/bzero.texi.
44430         * doc/pastposix-functions/ecvt.texi: Renamed from
44431         doc/posix-functions/ecvt.texi.
44432         * doc/pastposix-functions/fcvt.texi: Renamed from
44433         doc/posix-functions/fcvt.texi.
44434         * doc/pastposix-functions/ftime.texi: Renamed from
44435         doc/posix-functions/ftime.texi.
44436         * doc/pastposix-functions/gcvt.texi: Renamed from
44437         doc/posix-functions/gcvt.texi.
44438         * doc/pastposix-functions/getcontext.texi: Renamed from
44439         doc/posix-functions/getcontext.texi.
44440         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
44441         doc/posix-functions/gethostbyaddr.texi.
44442         * doc/pastposix-functions/gethostbyname.texi: Renamed from
44443         doc/posix-functions/gethostbyname.texi.
44444         * doc/pastposix-functions/getwd.texi: Renamed from
44445         doc/posix-functions/getwd.texi.
44446         * doc/pastposix-functions/h_errno.texi: Renamed from
44447         doc/posix-functions/h_errno.texi.
44448         * doc/pastposix-functions/index.texi: Renamed from
44449         doc/posix-functions/index.texi.
44450         * doc/pastposix-functions/makecontext.texi: Renamed from
44451         doc/posix-functions/makecontext.texi.
44452         * doc/pastposix-functions/mktemp.texi: Renamed from
44453         doc/posix-functions/mktemp.texi.
44454         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
44455         doc/posix-functions/pthread_attr_getstackaddr.texi.
44456         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
44457         doc/posix-functions/pthread_attr_setstackaddr.texi.
44458         * doc/pastposix-functions/rindex.texi: Renamed from
44459         doc/posix-functions/rindex.texi.
44460         * doc/pastposix-functions/scalb.texi: Renamed from
44461         doc/posix-functions/scalb.texi.
44462         * doc/pastposix-functions/setcontext.texi: Renamed from
44463         doc/posix-functions/setcontext.texi.
44464         * doc/pastposix-functions/swapcontext.texi: Renamed from
44465         doc/posix-functions/swapcontext.texi.
44466         * doc/pastposix-functions/ualarm.texi: Renamed from
44467         doc/posix-functions/ualarm.texi.
44468         * doc/pastposix-functions/usleep.texi: Renamed from
44469         doc/posix-functions/usleep.texi.
44470         * doc/pastposix-functions/vfork.texi: Renamed from
44471         doc/posix-functions/vfork.texi.
44472         * doc/pastposix-functions/wcswcs.texi: Renamed from
44473         doc/posix-functions/wcswcs.texi.
44474         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
44475         (Function Substitutes): Update.
44476
44477 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44478
44479         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
44480         m4/strerror.m4.
44481
44482 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44483             Bruno Haible  <bruno@clisp.org>
44484
44485         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
44486
44487 2008-12-13  Bruno Haible  <bruno@clisp.org>
44488
44489         * modules/strtoull (Depends-on): Remove unistd.
44490
44491 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44492
44493         * modules/strtoull (Depends-on): Add stdlib.
44494
44495 2008-12-11  Simon Josefsson  <simon@josefsson.org>
44496
44497         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
44498
44499 2008-12-10  Jim Meyering  <meyering@redhat.com>
44500
44501         gl_ASSERT: don't say assertions are disabled when they're not
44502         * m4/assert.m4 (gl_ASSERT): Do not make configure report
44503         "checking whether to enable assertions... no", when they are in
44504         fact enabled.  This is solely a bug in the output of configure.
44505         In spite of saying "no", NDEBUG was not defined in that case.
44506         Also, as noted by Eric Blake, leave assertions enabled upon
44507         --enable-assert=INVALID.
44508
44509 2008-12-10  Bruno Haible  <bruno@clisp.org>
44510
44511         Change MODULES.html to refer to POSIX:2008 where possible.
44512         * MODULES.html.sh (POSIX2008_URL): New variable.
44513         (posix_headers): Remove sys/timeb, ucontext.
44514         (posix2001_headers): New variable.
44515         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
44516         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
44517         index, makecontext, mktemp, pthread_attr_getstackaddr,
44518         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
44519         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
44520         (posix2001_functions): New variable.
44521         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
44522         otherwise.
44523
44524 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44525
44526         add missing include to parse-duration.c
44527         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
44528         * modules/parse-duration (Depends-on): Add xalloc.
44529
44530         fix sed script reading maint.mk
44531         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
44532         (syntax-check-rules): Use it.
44533
44534 2008-12-09  Bruno Haible  <bruno@clisp.org>
44535
44536         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
44537         MacOS X 10.4/PowerPC.
44538         Reported by Simon Josefsson.
44539
44540 2008-12-08  Jim Meyering  <meyering@redhat.com>
44541
44542         work around mingw's lack of some S_IF definitions
44543         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
44544         Reported by Simon Josefsson.
44545
44546 2008-12-08  Bruno Haible  <bruno@clisp.org>
44547
44548         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
44549         applied to variables. Needed on MacOS X 10.4/PowerPC.
44550         Reported by Simon Josefsson.
44551
44552 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
44553         and Eric Blake  <ebb9@byu.net>
44554
44555         assert: honor --enable-assert
44556         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
44557         order to honor --enable-assert, rather than treating it as a
44558         synonym for --disable-assert.
44559
44560 2008-12-08  Jim Meyering  <meyering@redhat.com>
44561
44562         * lib/posixtm.c: Remove now-useless declaration of mktime.
44563
44564         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
44565
44566 2008-12-07  Bruno Haible  <bruno@clisp.org>
44567
44568         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
44569         test_once): Mark functions as static.
44570         * tests/test-tls.c (test_tls): Likewise.
44571
44572 2008-12-07  Bruno Haible  <bruno@clisp.org>
44573
44574         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
44575         iconv_register_autodetect.
44576
44577 2008-12-07  Jim Meyering  <meyering@redhat.com>
44578
44579         posixtm.c: avoid a warning
44580         * lib/posixtm.c (posixtime): Don't initialize tm0.
44581         It's no longer needed to placate gcc4's -Wuninitialized,
44582         and the attempt to placate would elicit a new warning.
44583
44584         unicodeio.c: mark unused parameters
44585         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
44586         (fallback_failure_callback): Likewise.
44587
44588 2008-12-07  Bruno Haible  <bruno@clisp.org>
44589
44590         * gnulib-tool (func_create_testdir): When building the tests
44591         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
44592         Reported by Simon Josefsson.
44593
44594 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44595
44596         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
44597
44598 2008-12-06  Bruno Haible  <bruno@clisp.org>
44599
44600         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
44601         Suggested by Eric Blake.
44602
44603 2008-12-06  Bruno Haible  <bruno@clisp.org>
44604
44605         Fix a c-stack test failure on MacOS X.
44606         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
44607         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
44608         handler for SIGBUS as well.
44609         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
44610         install a signal handler for SIGBUS as well.
44611         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
44612
44613 2008-12-06  Bruno Haible  <bruno@clisp.org>
44614
44615         Advocacy documentation.
44616         * doc/gnulib-intro.texi (Benefits): New section.
44617         * doc/gnulib.texi: Update.
44618
44619 2008-12-06  Bruno Haible  <bruno@clisp.org>
44620
44621         Document the 'manywarnings' module.
44622         * doc/manywarnings.texi: New file.
44623         * doc/gnulib.texi: Include it.
44624
44625 2008-12-05  Eric Blake  <ebb9@byu.net>
44626
44627         tests: silence some gcc warnings
44628         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
44629         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
44630         type mismatches.
44631
44632 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44633             Bruno Haible  <bruno@clisp.org>
44634
44635         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
44636
44637 2008-11-29  Jim Meyering  <meyering@redhat.com>
44638
44639         unicodeio.c: mark unused parameters
44640         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
44641         (fallback_failure_callback): Likewise.
44642
44643         fts: fix a thinko
44644         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
44645         (set_stat_type): Return S_IF*-valued "type" directly.
44646         Prompted by James Youngman's spotting a related bug.
44647         Confirmed by further testing through find.
44648
44649         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
44650         * lib/fts.c (D_TYPE): Define.
44651         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
44652         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
44653         (s_ifmt_shift_bits): New function.
44654         (set_stat_type): New function.
44655         (fts_build): When not calling fts_stat, call set_stat_type
44656         to propagate dirent.d_type info to fts_read caller.
44657         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
44658         fts_statp->st_mode type information may be valid.
44659
44660 2008-11-28  Simon Josefsson  <simon@josefsson.org>
44661
44662         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
44663         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
44664         <sds@gnu.org>.
44665
44666 2008-11-20  Bruno Haible  <bruno@clisp.org>
44667
44668         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
44669         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
44670         INCLUDE_NEXT.
44671         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
44672         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
44673         * modules/math (Makefile.am): Substitute
44674         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
44675         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44676
44677 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
44678             Bruno Haible  <bruno@clisp.org>
44679
44680         * lib/stdint.in.h: Define all type macros so that their expansion is
44681         a single typedef'ed token. Fixes a compilation failure in Boost which
44682         does "using ::int8_t;".
44683
44684 2008-11-18  Simon Josefsson  <simon@josefsson.org>
44685
44686         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
44687         gl_MANYWARN_ALL_GCC.
44688         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
44689         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
44690         * modules/manywarnings: New file.
44691         * MODULES.html.sh: Mention manywarnings module.
44692
44693 2008-11-18  Bruno Haible  <bruno@clisp.org>
44694
44695         * doc/gnulib-tool.texi (Unit tests): New section.
44696
44697 2008-11-18  Simon Josefsson  <simon@josefsson.org>
44698
44699         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
44700         paths like 'lib/po/foo.po'.
44701
44702 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44703
44704         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
44705         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
44706
44707 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44708
44709         * m4/warnings.m4: Use CPPFLAGS to really check whether the
44710         parameter works.
44711
44712 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44713
44714         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
44715
44716 2008-11-17  Bruce Korb  <bkorb@gnu.org>
44717
44718         * modules/parse-duration-tests: New file.
44719         * tests/test-parse-duration.sh: New file.
44720         * tests/test-parse-duration.c: New file.
44721
44722         New module 'parse-duration'.
44723         * lib/parse-duration.h: New file.
44724         * lib/parse-duration.c: New file.
44725         * modules/parse-duration: New file.
44726
44727 2008-11-17  Bruno Haible  <bruno@clisp.org>
44728
44729         * tests/test-select-out.sh: Comment out the first pipe test.
44730         Reported by Simon Josefsson.
44731
44732 2008-11-17  Bruno Haible  <bruno@clisp.org>
44733
44734         * modules/getaddrinfo (Depends-on): Add servent, hostent.
44735         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
44736         gl_HOSTENT.
44737
44738 2008-11-17  Bruno Haible  <bruno@clisp.org>
44739
44740         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
44741         -lnetwork and -lnet. Needed for Haiku and BeOS.
44742
44743 2008-11-16  Bruno Haible  <bruno@clisp.org>
44744
44745         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
44746
44747 2008-11-16  Bruno Haible  <bruno@clisp.org>
44748
44749         Avoid test failure on Haiku.
44750         * tests/test-fsync.c: Include <errno.h>.
44751         (main): Don't require that fsync (0) fails.
44752
44753 2008-11-15  Bruno Haible  <bruno@clisp.org>
44754
44755         New module 'hostent'.
44756         * modules/hostent: New file.
44757         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
44758
44759 2008-11-15  Bruno Haible  <bruno@clisp.org>
44760
44761         New module 'servent'.
44762         * modules/servent: New file.
44763         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
44764
44765 2008-11-15  Bruno Haible  <bruno@clisp.org>
44766
44767         Avoid generating same test program with two different rules.
44768         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
44769         test-frexp to test-frexp-nolibm.
44770         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
44771         test-frexpl to test-frexpl-nolibm.
44772
44773 2008-11-15  Bruno Haible  <bruno@clisp.org>
44774
44775         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
44776         $(FREXPL_LIBM).
44777
44778 2008-11-15  Bruno Haible  <bruno@clisp.org>
44779
44780         * lib/netdb.in.h: Activate the definitions also when the system's
44781         <netdb.h> has 'struct addrinfo'.
44782         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
44783         EAI_OVERFLOW or AI_NUMERICSERV.
44784         * doc/posix-headers/netdb.texi: Document the problem.
44785
44786 2008-11-15  Bruno Haible  <bruno@clisp.org>
44787
44788         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
44789
44790         Make the 'sched' module work on platforms where <sched.h> exists but
44791         is incomplete (such as Haiku).
44792         * lib/sched.in.h; Include the system's <sched.h> if it exists.
44793         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
44794         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
44795         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
44796         HAVE_STRUCT_SCHED_PARAM.
44797         * modules/sched (Depends-on): Add include_next.
44798         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
44799         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
44800         * doc/posix-headers/sched.texi: Document the issue.
44801
44802 2008-11-13  Jim Meyering  <meyering@redhat.com>
44803
44804         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
44805         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
44806         test would fail due to the difference in the Report bugs to ...
44807         line.  The expected address is empty, "<>", while the actual
44808         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
44809
44810 2008-11-12  Bruno Haible  <bruno@clisp.org>
44811
44812         lstat: don't compile lstat.c on systems lacking lstat
44813         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
44814         which don't have lstat; this is handled by lib/sys_stat.in.h already.
44815         Reported by Daniel P. Berrange via Jim Meyering.
44816
44817 2008-11-12  Jim Meyering  <meyering@redhat.com>
44818
44819         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
44820
44821 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44822
44823         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
44824         instead.
44825
44826 2008-11-12  Bruno Haible  <bruno@clisp.org>
44827
44828         * lib/unicodeio.c: Include unistr.h.
44829         (utf8_wctomb): Remove function.
44830         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
44831
44832 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44833
44834         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
44835         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
44836         <bruno@clisp.org>.
44837         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
44838
44839 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44840
44841         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
44842         * doc/gnulib.texi: Add section for warnings.
44843
44844 2008-11-11  Bruno Haible  <bruno@clisp.org>
44845
44846         * lib/sockets.h: Add a comment.
44847
44848 2008-11-11  Karl Berry  <karl@gnu.org>
44849
44850         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
44851
44852 2008-11-11  Eric Blake  <ebb9@byu.net>
44853
44854         fdl.texi: avoid git symlinks
44855         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
44856
44857 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44858
44859         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
44860
44861 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44862
44863         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
44864         (gl_WARN_ADD): Substitute $2 if literal.
44865
44866 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44867
44868         * m4/warning.m4: Remove.
44869
44870 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44871
44872         * m4/warnings.m4: Almost complete rewrite. :-)
44873
44874 2008-11-10  Simon Josefsson  <simon@josefsson.org>
44875
44876         * modules/warnings: New module.
44877         * m4/warnings.m4: New file.
44878         * MODULES.html.sh: Mention warnings module.
44879         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
44880         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44881
44882 2008-11-10  Eric Blake  <ebb9@byu.net>
44883
44884         fdl.texi: make a symlink to the latest version
44885         * doc/standards.texi: Revert today's earlier change.
44886         * doc/fdl-1.2.texi: Rename from old fdl.texi...
44887         * doc/fdl.texi: ...and replace this with a symlink to the newer
44888         fdl-1.3.texi.
44889
44890 2008-11-10  Bruno Haible  <bruno@clisp.org>
44891
44892         * tests/test-select-fd.c (main): Accept the result file name as fourth
44893         argument.
44894         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
44895         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
44896
44897 2008-11-10  Bruno Haible  <bruno@clisp.org>
44898
44899         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
44900         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
44901         as autoconf-substituted macros.
44902         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
44903         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
44904         gl_NETDB_H_DEFAULTS. Set these variables.
44905         * modules/netdb (Makefile.am): Substitute these variables.
44906
44907 2008-11-10  Eric Blake  <ebb9@byu.net>
44908
44909         standards.texi: include correct file for FDL 1.3
44910         * doc/standards.texi (GNU Free Documentation License): Change
44911         include file to pull in FDL 1.3, not 1.2.
44912
44913         fdl.texi: revert accidental change to license
44914         * doc/fdl.texi: This is FDL 1.2, not 1.3.
44915
44916 2008-11-10  Bruno Haible  <bruno@clisp.org>
44917
44918         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
44919         cross-compiling guesses also when the native compile gives no result.
44920
44921 2008-11-10  Bruno Haible  <bruno@clisp.org>
44922
44923         * lib/spawni.c (__spawni): Force variable into the stack.
44924
44925 2008-11-10  Bruno Haible  <bruno@clisp.org>
44926
44927         Add support for Haiku.
44928         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
44929         glibc and BeOS, but also on Haiku.
44930         * lib/fpurge.c (fpurge): Likewise.
44931         * lib/freadable.c (freadable): Likewise.
44932         * lib/freadahead.c (freadahead): Likewise.
44933         * lib/freading.c (freading): Likewise.
44934         * lib/freadptr.c (freadptr): Likewise.
44935         * lib/freadseek.c (freadptrinc): Likewise.
44936         * lib/fseeko.c (rpl_fseeko): Likewise.
44937         * lib/fseterr.c (fseterr): Likewise.
44938         * lib/fwritable.c (fwritable): Likewise.
44939         * lib/fwriting.c (fwriting): Likewise.
44940         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
44941
44942 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44943
44944         * lib/config.charset: Treat Haiku like BeOS.
44945
44946 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44947
44948         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
44949         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
44950
44951 2008-11-08  Bruno Haible  <bruno@clisp.org>
44952
44953         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
44954         AC_CACHE_CHECK.
44955
44956 2008-11-08  Bruno Haible  <bruno@clisp.org>
44957
44958         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
44959
44960 2008-11-08  Bruno Haible  <bruno@clisp.org>
44961
44962         * tests/test-select-fd.c: New file.
44963         * tests/test-select-in.sh: New file.
44964         * tests/test-select-out.sh: New file.
44965         * tests/test-select-stdin.c: New file.
44966         * modules/select-tests (Files): Add the new files.
44967         (Depends-on): Add gettimeofday.
44968         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
44969         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
44970         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
44971
44972 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
44973             Bruno Haible  <bruno@clisp.org>
44974
44975         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
44976
44977 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
44978
44979         * build-aux/pmccabe2html: Added support for C++ source files.
44980
44981 2008-11-05  Ben Pfaff  <blp@gnu.org>
44982
44983         Fix lib/close.c build on Windows.
44984         * modules/close (Files): Add lib/w32sock.h.
44985
44986 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
44987
44988         Accept Bison's NEWS format.
44989         * build-aux/announce-gen (print_news_deltas): Tweak
44990         $re_prefix.
44991
44992 2008-11-04  Bruno Haible  <bruno@clisp.org>
44993
44994         * modules/random_r (Maintainer): Add glibc.
44995
44996 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44997
44998         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
44999         by karl@freefriends.org (Karl Berry).
45000         * doc/alloca.texi: Likewise.
45001         * doc/c-ctype.texi: Likewise.
45002         * doc/c-strcase.texi: Likewise.
45003         * doc/c-strcaseeq.texi: Likewise.
45004         * doc/c-strcasestr.texi: Likewise.
45005         * doc/c-strstr.texi: Likewise.
45006         * doc/c-strtod.texi: Likewise.
45007         * doc/c-strtold.texi: Likewise.
45008         * doc/ctime.texi: Likewise.
45009         * doc/error.texi: Likewise.
45010         * doc/fdl.texi: Likewise.
45011         * doc/gcd.texi: Likewise.
45012         * doc/getdate.texi: Likewise.
45013         * doc/gnulib-intro.texi: Likewise.
45014         * doc/gnulib-tool.texi: Likewise.
45015         * doc/gnulib.texi: Likewise.
45016         * doc/inet_ntoa.texi: Likewise.
45017         * doc/maintain.texi: Likewise.
45018         * doc/make-stds.texi: Likewise.
45019         * doc/quote.texi: Likewise.
45020         * doc/regexprops-generic.texi: Likewise.
45021         * doc/standards.texi: Likewise.
45022         * doc/verify.texi: Likewise.
45023         * doc/visibility.texi: Likewise.
45024         * doc/gnulib.texi (GNU Free Documentation License): Include
45025         fdl-1.3.texi instead of fdl.texi.
45026
45027 2008-11-04  Simon Josefsson  <simon@josefsson.org>
45028
45029         * doc/fdl-1.3.texi: New file, from
45030         <http://www.gnu.org/licenses/fdl-1.3.texi>.
45031         * modules/fdl-1.3: Add.
45032         * MODULES.html.sh: Add fdl-1.3.
45033
45034 2008-11-03  Bruno Haible  <bruno@clisp.org>
45035
45036         Make determination of absolute name of header file work with AIX xlc.
45037         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
45038         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
45039         preprocessing.
45040         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45041         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
45042
45043 2008-11-03  Simon Josefsson  <simon@josefsson.org>
45044
45045         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
45046         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
45047         <ludo@gnu.org>.
45048
45049 2008-11-02  Bruno Haible  <bruno@clisp.org>
45050
45051         Mark 'strpbrk' obsolete.
45052         * modules/strpbrk (Status, Notice): New sections.
45053         * modules/strtok_r (Depends-on): Add strpbrk.
45054
45055 2008-11-02  Bruno Haible  <bruno@clisp.org>
45056
45057         Mark 'strdup' obsolete.
45058         * modules/strdup (Status, Notice): New sections.
45059         * modules/findprog (Depends-on): Add strdup.
45060         * modules/getaddrinfo (Depends-on): Likewise.
45061         * modules/localename (Depends-on): Likewise.
45062         * modules/relocatable-lib (Depends-on): Likewise.
45063         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
45064         * modules/relocatable-prog (Depends-on): Likewise.
45065         * modules/trim (Depends-on): Likewise.
45066         * modules/unictype/gen-ctype (Depends-on): Likewise.
45067         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
45068
45069 2008-11-02  Bruno Haible  <bruno@clisp.org>
45070
45071         Mark 'strcspn' obsolete.
45072         * modules/strcspn (Status, Notice): New sections.
45073
45074 2008-11-02  Bruno Haible  <bruno@clisp.org>
45075
45076         Mark 'rmdir' obsolete.
45077         * modules/rmdir (Status, Notice): New sections.
45078         * modules/clean-temp (Depends-on): Add rmdir.
45079         * modules/openat (Depends-on): Likewise.
45080
45081 2008-11-02  Bruno Haible  <bruno@clisp.org>
45082
45083         Mark 'raise' obsolete.
45084         * modules/raise (Status, Notice): New sections.
45085         (Include): Specify <signal.h>.
45086         * modules/stdio (Depends-on): Add raise.
45087         * modules/write (Depends-on): Likewise.
45088
45089 2008-11-02  Bruno Haible  <bruno@clisp.org>
45090
45091         Mark 'memset' obsolete.
45092         * modules/memset (Status, Notice): New sections.
45093
45094 2008-11-02  Bruno Haible  <bruno@clisp.org>
45095
45096         Mark 'memmove' obsolete.
45097         * modules/memmove (Status, Notice): New sections.
45098         * modules/argp (Depends-on): Add memmove.
45099         * modules/argz (Depends-on): Likewise.
45100         * modules/canonicalize (Depends-on): Likewise.
45101         * modules/canonicalize-lgpl (Depends-on): Likewise.
45102         * modules/fts (Depends-on): Likewise.
45103         * modules/getcwd (Depends-on): Likewise.
45104         * modules/human (Depends-on): Likewise.
45105         * modules/regex (Depends-on): Likewise.
45106         * modules/striconveh (Depends-on): Likewise.
45107         * modules/trim (Depends-on): Likewise.
45108         * modules/unistr/u8-move (Depends-on): Likewise.
45109         * modules/unistr/u16-move (Depends-on): Likewise.
45110         * modules/unistr/u32-move (Depends-on): Likewise.
45111
45112 2008-11-02  Bruno Haible  <bruno@clisp.org>
45113
45114         Mark 'memcpy' obsolete.
45115         * modules/memcpy (Status, Notice): New sections.
45116
45117 2008-11-02  Bruno Haible  <bruno@clisp.org>
45118
45119         Mark 'memcmp' obsolete.
45120         * modules/memcmp (Status, Notice): New sections.
45121         * modules/argmatch (Depends-on): Add memchr.
45122         * modules/backupfile (Depends-on): Likewise.
45123         * modules/c-strcasestr (Depends-on): Likewise.
45124         * modules/crypto/des (Depends-on): Likewise.
45125         * modules/csharpcomp (Depends-on): Likewise.
45126         * modules/fnmatch (Depends-on): Likewise.
45127         * modules/git-merge-changelog (Depends-on): Likewise.
45128         * modules/isnand (Depends-on): Likewise.
45129         * modules/isnand-nolibm (Depends-on): Likewise.
45130         * modules/isnanf (Depends-on): Likewise.
45131         * modules/isnanf-nolibm (Depends-on): Likewise.
45132         * modules/isnanl (Depends-on): Likewise.
45133         * modules/isnanl-nolibm (Depends-on): Likewise.
45134         * modules/mbchar (Depends-on): Likewise.
45135         * modules/memcoll (Depends-on): Likewise.
45136         * modules/quotearg (Depends-on): Likewise.
45137         * modules/regex (Depends-on): Likewise.
45138         * modules/relocatable-prog (Depends-on): Likewise.
45139         * modules/same (Depends-on): Likewise.
45140         * modules/signbit (Depends-on): Likewise.
45141         * modules/strcasestr-simple (Depends-on): Likewise.
45142         * modules/unictype/gen-ctype (Depends-on): Likewise.
45143         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
45144         * modules/uniname/uniname (Depends-on): Likewise.
45145         * modules/unistr/u8-cmp (Depends-on): Likewise.
45146
45147 2008-11-02  Bruno Haible  <bruno@clisp.org>
45148
45149         Mark 'memchr' obsolete.
45150         * modules/memchr (Status, Notice): New sections.
45151         * modules/argp (Depends-on): Add memchr.
45152         * modules/base64 (Depends-on): Likewise.
45153         * modules/c-strcasestr (Depends-on): Likewise.
45154         * modules/chdir-long (Depends-on): Likewise.
45155         * modules/fnmatch (Depends-on): Likewise.
45156         * modules/getsubopt (Depends-on): Likewise.
45157         * modules/git-merge-changelog (Depends-on): Likewise.
45158         * modules/glob (Depends-on): Likewise.
45159         * modules/strcasestr-simple (Depends-on): Likewise.
45160         * modules/strnlen (Depends-on): Likewise.
45161
45162 2008-11-02  Bruno Haible  <bruno@clisp.org>
45163
45164         Mark 'atexit' obsolete.
45165         * modules/atexit (Status, Notice): New sections.
45166         * modules/chdir-long (Depends-on): Add atexit.
45167         * modules/wait-process (Depends-on): Likewise.
45168
45169 2008-11-02  Bruno Haible  <bruno@clisp.org>
45170
45171         * gnulib-tool: New option --with-obsolete.
45172         (func_usage): Document it.
45173         (func_modules_transitive_closure): Drop obsolete dependencies if
45174         incobsolete is not true.
45175         (func_import): Read and save the incobsolete variable to the cache.
45176
45177 2008-11-02  Bruno Haible  <bruno@clisp.org>
45178
45179         * modules/TEMPLATE-EXTENDED: New field 'Status'.
45180         * gnulib-tool: New option --extract-status.
45181         (func_usage): Document it.
45182         (sed_extract_prog): Recognize it.
45183         (func_get_status): New function.
45184
45185 2008-10-30  Simon Josefsson  <simon@josefsson.org>
45186
45187         * modules/sockets (License): Change from LGPL to LGPLv2+.
45188
45189 2008-10-28  Simon Josefsson  <simon@josefsson.org>
45190
45191         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
45192
45193 2008-10-28  Simon Josefsson  <simon@josefsson.org>
45194
45195         * MODULES.html.sh (Support for systems lacking POSIX:2001):
45196         Mention times and sys_times.
45197         * modules/sys_times, modules/sys_times-tests: New modules.
45198         * modules/times, modules/times-tests: Likewise
45199         * m4/sys_times_h.m4: New file.
45200         * lib/sys_times.in.h: Likewise
45201         * lib/times.c: Likewise.
45202         * tests/test-sys_times.c: Likewise.
45203         * tests/test-times.c: Likewise.
45204         * doc/posix-headers/sys_times.texi: Update.
45205         * doc/posix-functions/times.texi: Update.
45206
45207 2008-10-28  Jim Meyering  <meyering@redhat.com>
45208
45209         * modules/tempname (Depends-on): Add lstat.
45210
45211         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
45212
45213 2008-10-28  Simon Josefsson  <simon@josefsson.org>
45214
45215         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
45216         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
45217         using idiom used elsewhere in gnulib.
45218
45219 2008-10-27  Jim Meyering  <meyering@redhat.com>
45220
45221         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
45222
45223 2008-10-27  Simon Josefsson  <simon@josefsson.org>
45224
45225         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
45226         TESTS_ENVIRONMENT, for shell scripts that needs to call built
45227         programs.
45228         * tests/test-argp-2.sh: Use $EXEEXT when needed.
45229
45230 2008-10-27  Simon Josefsson  <simon@josefsson.org>
45231
45232         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
45233
45234 2008-10-27  Bruno Haible  <bruno@clisp.org>
45235
45236         * tests/test-lstat.c: Include <stdio.h>.
45237
45238 2008-10-27  Simon Josefsson  <simon@josefsson.org>
45239
45240         * modules/lstat-tests: New module.
45241         * tests/test-lstat.c: New file.
45242
45243 2008-10-26  Jim Meyering  <meyering@redhat.com>
45244
45245         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
45246
45247 2008-10-26  Simon Josefsson  <simon@josefsson.org>
45248             Bruno Haible  <bruno@clisp.org>
45249
45250         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
45251         * modules/configmake (Include): Add a note that the include must come
45252         after all system headers.
45253         * lib/javaversion.c: Include configmake.h after all other includes.
45254
45255 2008-10-26  Bruno Haible  <bruno@clisp.org>
45256
45257         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
45258         HAVE_STRUCT_RANDOM_DATA to 1.
45259         (gl_STDLIB_H): Simplify.
45260
45261 2008-10-26  Simon Josefsson  <simon@josefsson.org>
45262
45263         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
45264         substitute HAVE_STRUCT_RANDOM_DATA.
45265         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
45266         random_data.
45267         * modules/stdlib (Makefile.am): Substitute
45268         HAVE_STRUCT_RANDOM_DATA.
45269
45270 2008-10-26  Simon Josefsson  <simon@josefsson.org>
45271
45272         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
45273         * doc/gnulib-intro.texi (Copyright): Likewise.
45274
45275 2008-10-26  Simon Josefsson  <simon@josefsson.org>
45276
45277         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
45278         findings.
45279
45280 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
45281             Bruno Haible  <bruno@clisp.org>
45282
45283         * lib/unistd.in.h: Include <winsock2.h>.
45284         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
45285         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
45286         Provide dummy declarations.
45287         (gethostname): Override.
45288         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
45289         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
45290         gl_PREREQ_SYS_H_WINSOCK2.
45291         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
45292         * doc/posix-functions/gethostname.texi: More details.
45293
45294 2008-10-25  Bruno Haible  <bruno@clisp.org>
45295
45296         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45297         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
45298         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
45299
45300         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
45301         here ...
45302         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
45303         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
45304         gl_UNISTD_H_DEFAULTS.
45305
45306 2008-10-25  Eric Blake  <ebb9@byu.net>
45307
45308         signbit: avoid spurious compiler failure
45309         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
45310         declarations inside function.
45311
45312 2008-10-24  Simon Josefsson  <simon@josefsson.org>
45313             Bruno Haible  <bruno@clisp.org>
45314
45315         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
45316         * modules/random_r (Depends-on): Add stdint.
45317
45318 2008-10-24  Bruno Haible  <bruno@clisp.org>
45319
45320         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
45321         Eggert.
45322         * modules/strerror (License): Likewise.
45323
45324 2008-10-24  Jim Meyering  <meyering@redhat.com>
45325
45326         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
45327         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
45328
45329 2008-10-24  Eric Blake  <ebb9@byu.net>
45330
45331         getgroups: fix compilation when getgroups is available
45332         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
45333         but with <config.h> override of getgroups disabled.
45334
45335 2008-10-24  Simon Josefsson  <simon@josefsson.org>
45336
45337         * doc/gnulib.texi (Header files): Add note about C++ problems.
45338         Explained by Bruno Haible <bruno@clisp.org>.
45339
45340 2008-10-23  Bruno Haible  <bruno@clisp.org>
45341
45342         Define a dummy SA_NODEFER macro on Interix.
45343         * lib/signal.in.h (SA_NODEFER): Define fallback.
45344         Reported by Aleksey Cheusov <cheusov@tut.by> via
45345         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
45346
45347 2008-10-23  Bruno Haible  <bruno@clisp.org>
45348
45349         * modules/freadahead (License): Change to LGPLv2+.
45350         Suggested by Simon Josefsson.
45351
45352 2008-10-23  Jim Meyering  <meyering@redhat.com>
45353
45354         random_r: new module
45355         * modules/random_r: New file.
45356         * m4/random_r.m4: New file.
45357         * lib/random_r.c: New file, from glibc.
45358         * modules/random_r-tests: New file.
45359         * tests/test-random_r.c: New file.
45360         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
45361          Declare.
45362         (RAND_MAX): Define.
45363         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
45364         * modules/stdlib: Substitute them, too.
45365         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
45366         * doc/glibc-functions/initstate_r.texi: Mention the new module.
45367         * doc/glibc-functions/random_r.texi: Likewise.
45368         * doc/glibc-functions/setstate_r.texi: Likewise.
45369         * doc/glibc-functions/srandom_r.texi: Likewise.
45370         * config/srclist.txt: Mention it.
45371
45372 2008-10-23  David Lutterkort  <lutter@redhat.com>
45373
45374         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
45375         link requirement
45376
45377 2008-10-23  Jim Meyering  <meyering@redhat.com>
45378
45379         selinux-h: mark parameters of stub functions as intentionally unused
45380         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
45381         * lib/se-context.in.h: Likewise.
45382
45383 2008-10-22  Simon Josefsson  <simon@josefsson.org>
45384
45385         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
45386
45387 2008-10-22  Simon Josefsson  <simon@josefsson.org>
45388
45389         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
45390
45391 2008-10-22  Eric Blake  <ebb9@byu.net>
45392
45393         glthread/thread: avoid compiler warning
45394         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
45395         Add unreachable abort to silence compiler.
45396
45397 2008-10-22  Eric Blake  <ebb9@byu.net>
45398
45399         netdb: also supply struct addrinfo for cygwin 1.5.x
45400         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
45401         older cygwin.
45402         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
45403         cygwin.
45404         * doc/posix-headers/netdb.texi (netdb.h): Document this.
45405
45406 2008-10-22  Bruno Haible  <bruno@clisp.org>
45407
45408         * users.txt: Update entry about pspp.
45409
45410 2008-10-21  Bruno Haible  <bruno@clisp.org>
45411
45412         Simplification.
45413         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
45414         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
45415
45416         Simplification.
45417         * lib/ioctl.c (ioctl): Don't undefine.
45418         * lib/socket.c (socket): Don't undefine.
45419
45420         Remove unused module indicator macros.
45421         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
45422         GNULIB_$1 as a C macro.
45423
45424         * doc/posix-functions/close.texi: Undo last change.
45425         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
45426         Windows platforms.
45427
45428 2008-10-21  Bruno Haible  <bruno@clisp.org>
45429
45430         Add gethostname() declaration to <unistd.h>.
45431         * lib/unistd.in.h (gethostname): New declaration.
45432         * lib/gethostname.c: Include <unistd.h>.
45433         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
45434         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
45435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
45436         and HAVE_GETHOSTNAME.
45437         * modules/gethostname (Depends-on): Add unistd.
45438         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45439         (Include): Specify <unistd.h>.
45440         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
45441         HAVE_GETHOSTNAME.
45442         * tests/test-gethostname.c: Include <unistd.h> first.
45443
45444 2008-10-21  Bruno Haible  <bruno@clisp.org>
45445
45446         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
45447         * modules/select-tests (Depends-on): Likewise.
45448         Reported by Simon Josefsson.
45449
45450 2008-10-21  Simon Josefsson  <simon@josefsson.org>
45451
45452         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
45453         * lib/accept.c: New file, based on winsock.c.
45454         * lib/bind.c: New file, based on winsock.c.
45455         * lib/connect.c: New file, based on winsock.c.
45456         * lib/getpeername.c: New file, based on winsock.c.
45457         * lib/getsockname.c: New file, based on winsock.c.
45458         * lib/getsockopt.c: New file, based on winsock.c.
45459         * lib/ioctl.c: New file, based on winsock.c.
45460         * lib/listen.c: New file, based on winsock.c.
45461         * lib/recv.c: New file, based on winsock.c.
45462         * lib/recvfrom.c: New file, based on winsock.c.
45463         * lib/send.c: New file, based on winsock.c.
45464         * lib/sendto.c: New file, based on winsock.c.
45465         * lib/setsockopt.c: New file, based on winsock.c.
45466         * lib/shutdown.c: New file, based on winsock.c.
45467         * lib/socket.c: New file, based on winsock.c.
45468         * lib/w32sock.h: New file, based on winsock.c.
45469         * lib/winsock.c: Remove file.
45470         * modules/accept: Likewise.
45471         * modules/bind: Likewise.
45472         * modules/connect: Likewise.
45473         * modules/getpeername: Likewise.
45474         * modules/getsockname: Likewise.
45475         * modules/getsockopt: Likewise.
45476         * modules/ioctl: Likewise.
45477         * modules/listen: Likewise.
45478         * modules/recv: Likewise.
45479         * modules/recvfrom: Likewise.
45480         * modules/send: Likewise.
45481         * modules/sendto: Likewise.
45482         * modules/setsockopt: Likewise.
45483         * modules/shutdown: Likewise.
45484         * modules/socket: Use socket.c instead of winsock.c.
45485         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
45486         * doc/posix-functions/accept.texi: Doc fix.
45487         * doc/posix-functions/bind.texi: Doc fix.
45488         * doc/posix-functions/close.texi: Doc fix.
45489         * doc/posix-functions/connect.texi: Doc fix.
45490         * doc/posix-functions/getpeername.texi: Doc fix.
45491         * doc/posix-functions/getsockname.texi: Doc fix.
45492         * doc/posix-functions/getsockopt.texi: Doc fix.
45493         * doc/posix-functions/ioctl.texi: Doc fix.
45494         * doc/posix-functions/listen.texi: Doc fix.
45495         * doc/posix-functions/recv.texi: Doc fix.
45496         * doc/posix-functions/recvfrom.texi: Doc fix.
45497         * doc/posix-functions/send.texi: Doc fix.
45498         * doc/posix-functions/sendto.texi: Doc fix.
45499         * doc/posix-functions/setsockopt.texi: Doc fix.
45500         * doc/posix-functions/shutdown.texi: Doc fix.
45501         * doc/posix-functions/socket.texi: Doc fix.
45502
45503 2008-10-20  Bruno Haible  <bruno@clisp.org>
45504
45505         Take into account the role of SIGABRT_COMPAT on Windows 2008.
45506         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
45507         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
45508         as an alias for SIGABRT.
45509         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
45510         (sigaction): Map it to SIGABRT.
45511         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
45512
45513 2008-10-20  Bruno Haible  <bruno@clisp.org>
45514
45515         * lib/fts.c: Don't include lstat.h.
45516         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
45517
45518         Move the lstat() declaration to <sys/stat.h>.
45519         * lib/lstat.h: Remove file.
45520         * lib/sys_stat.in.h: Add special invocation convention.
45521         (lstat): New declaration.
45522         * lib/lstat.c (orig_lstat): New function.
45523         (rpl_lstat): Use orig_lstat instead of lstat.
45524         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
45525         AC_C_INLINE. Set REPLACE_LSTAT.
45526         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
45527         and REPLACE_LSTAT.
45528         * modules/lstat (Files): Remove lib/lstat.h.
45529         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
45530         (Include): Specify <sys/stat.h> instead of lstat.h.
45531         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
45532         REPLACE_LSTAT.
45533         * NEWS: Mention the change.
45534
45535 2008-10-20  Bruno Haible  <bruno@clisp.org>
45536
45537         * modules/posix_spawn-tests: New file.
45538         * tests/test-posix_spawn3.c: New file.
45539
45540 2008-10-20  Bruno Haible  <bruno@clisp.org>
45541
45542         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
45543         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
45544         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
45545         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
45546         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
45547
45548 2008-10-20  Bruno Haible  <bruno@clisp.org>
45549
45550         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
45551         of posix_spawn on AIX 5.3.
45552
45553 2008-10-20  Bruno Haible  <bruno@clisp.org>
45554
45555         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
45556
45557 2008-10-20  Bruno Haible  <bruno@clisp.org>
45558
45559         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
45560         of AC_LANG_PROGRAM.
45561
45562 2008-10-20  Simon Josefsson  <simon@josefsson.org>
45563
45564         * lib/netdb.in.h: Don't define GNU specific constants until they
45565         are supported or needed.  Reported by Bruno Haible
45566         <bruno@clisp.org>.
45567
45568 2008-10-20  Simon Josefsson  <simon@josefsson.org>
45569
45570         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
45571
45572 2008-10-20  Simon Josefsson  <simon@josefsson.org>
45573
45574         * lib/getaddrinfo.h: Remove file.
45575         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
45576         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
45577         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
45578         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
45579         * modules/netdb: Substitute GNULIB_GETADDRINFO.
45580         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
45581         * tests/test-getaddrinfo.c: Likewise.
45582         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
45583         * NEWS: Mention change.
45584
45585 2008-10-19  Bruno Haible  <bruno@clisp.org>
45586
45587         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
45588
45589 2008-10-19  Bruno Haible  <bruno@clisp.org>
45590
45591         * lib/wait-process.c: Include simply <sys/wait.h>.
45592         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
45593         WIFSTOPPED): Remove fallback definitions.
45594         * modules/wait-process (Depends-on): Add sys_wait.
45595
45596         New module 'sys_wait'.
45597         * modules/sys_wait: New file.
45598         * lib/sys_wait.in.h: New file, partially copied from
45599         lib/wait-process.c.
45600         * m4/sys_wait_h.m4: New file.
45601         * doc/posix-headers/sys_wait.texi: Mention the new module.
45602
45603 2008-10-19  Bruno Haible  <bruno@clisp.org>
45604
45605         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
45606
45607 2008-10-19  Bruno Haible  <bruno@clisp.org>
45608
45609         Assume that waitpid() fills an 'int' status, not a 'union wait'.
45610         * lib/wait-process.c (WAIT_T): Remove type.
45611         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
45612         (wait_subprocess): Update.
45613
45614 2008-10-19  Bruno Haible  <bruno@clisp.org>
45615
45616         New module 'atoll'.
45617         * modules/atoll: New file.
45618         * lib/stdlib.in.h (atoll): New declaration.
45619         * lib/atoll.c: New file, from glibc with modifications.
45620         * m4/atoll.m4: New file.
45621         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
45622         HAVE_ATOLL.
45623         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
45624         * doc/posix-functions/atoll.texi: Mention the new module.
45625
45626 2008-10-19  Bruno Haible  <bruno@clisp.org>
45627
45628         Add strtoull() declaration to <stdlib.h>.
45629         * lib/stdlib.in.h (strtoull): New declaration.
45630         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
45631         Set HAVE_STRTOULL.
45632         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
45633         HAVE_STRTOULL.
45634         * modules/strtoull (Depends-on): Add stdlib.
45635         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45636         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
45637         HAVE_STRTOULL.
45638
45639 2008-10-19  Bruno Haible  <bruno@clisp.org>
45640
45641         Add strtoll() declaration to <stdlib.h>.
45642         * lib/stdlib.in.h (strtoll): New declaration.
45643         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
45644         Set HAVE_STRTOLL.
45645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
45646         HAVE_STRTOLL.
45647         * modules/strtoll (Depends-on): Add stdlib.
45648         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45649         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
45650
45651 2008-10-19  Bruno Haible  <bruno@clisp.org>
45652
45653         * modules/bcopy (Depends-on): Add strings.
45654         (Include): Specify <strings.h>.
45655
45656 2008-10-19  Bruno Haible  <bruno@clisp.org>
45657
45658         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
45659
45660 2008-10-19  Bruno Haible  <bruno@clisp.org>
45661
45662         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
45663         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
45664         mingw.
45665
45666 2008-10-19  Bruno Haible  <bruno@clisp.org>
45667
45668         * lib/atanl.c: Don't include isnanl.h.
45669         * lib/cosl.c: Likewise.
45670         * lib/ldexpl.c: Likewise.
45671         * lib/logl.c: Likewise.
45672         * lib/sinl.c: Likewise.
45673         * lib/sqrtl.c: Likewise.
45674         * lib/tanl.c: Likewise.
45675
45676         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
45677         * lib/isnanf.h: Remove file.
45678         * lib/isnand.h: Remove file.
45679         * lib/isnanl.h: Remove file.
45680         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
45681         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
45682         macros.
45683         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
45684         HAVE_ISNANF, don't define it as a C macro.
45685         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
45686         HAVE_ISNAND, don't define it as a C macro.
45687         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
45688         HAVE_ISNANL, don't define it as a C macro.
45689         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
45690         HAVE_ISNAN[FDL].
45691         * modules/isnanf (Files): Remove lib/isnanf.h.
45692         (Depends-on): Add math.
45693         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45694         (Include): Specify <math.h> instead of isnanf.h.
45695         * modules/isnand (Files): Remove lib/isnand.h.
45696         (Depends-on): Add math.
45697         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45698         (Include): Specify <math.h> instead of isnand.h.
45699         * modules/isnanl (Files): Remove lib/isnanl.h.
45700         (Depends-on): Add math.
45701         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45702         (Include): Specify <math.h> instead of isnanl.h.
45703         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
45704         HAVE_ISNAN[FDL].
45705         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
45706         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
45707         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
45708         * NEWS: Mention the change.
45709
45710 2008-10-18  Bruno Haible  <bruno@clisp.org>
45711
45712         Add getusershell(), setusershell(), endusershell() declarations to
45713         <unistd.h>.
45714         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
45715         declarations.
45716         * lib/getusershell.c: Include unistd.h.
45717         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
45718         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
45719         HAVE_GETUSERSHELL.
45720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
45721         and HAVE_GETUSERSHELL.
45722         * modules/getusershell (Depends-on): Add unistd, extensions.
45723         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45724         (Include): Specify <unistd.h>.
45725         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
45726         HAVE_GETUSERSHELL.
45727
45728 2008-10-18  Bruno Haible  <bruno@clisp.org>
45729
45730         Add a getloadavg() declaration to <stdlib.h>.
45731         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
45732         getloadavg declaration.
45733         (getloadavg): New declaration.
45734         * lib/getloadavg.c: Include <stdlib.h> first.
45735         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
45736         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
45737         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
45738         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
45739         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
45740         * modules/getloadavg (Depends-on): Add stdlib, extensions.
45741         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45742         (Include): Specify <stdlib.h>.
45743         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
45744         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
45745
45746 2008-10-18  Bruno Haible  <bruno@clisp.org>
45747
45748         * lib/dirchownmod.c: Don't include lchmod.h.
45749
45750         Move the lchmod() declaration to <sys/stat.h>.
45751         * lib/lchmod.h: Remove file.
45752         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
45753         (lchmod): New declaration, moved here from lib/lchown.h.
45754         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
45755         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
45756         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
45757         and HAVE_LCHMOD.
45758         * modules/lchmod (Files): Remove lib/lchmod.h.
45759         (Depends-on): Add sys_stat, extensions.
45760         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
45761         (Include): Specify <sys/stat.h> instead of lchmod.h.
45762         * modules/sys_stat (Depends-on): Add link-warning.
45763         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
45764         definition of GL_LINK_WARNING.
45765         * NEWS: Mention the change.
45766
45767 2008-10-18  Bruno Haible  <bruno@clisp.org>
45768
45769         * lib/fchdir.c: Don't include dirfd.h.
45770         * lib/fts.c: Likewise.
45771         * lib/getcwd.c: Likewise.
45772         * lib/glob.c: Likewise.
45773
45774         Move the dirfd() declaration to <dirent.h>.
45775         * lib/dirfd.h: Remove file.
45776         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
45777         (dirfd): New declaration.
45778         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
45779         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
45780         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
45781         HAVE_DECL_DIRFD.
45782         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
45783         HAVE_DECL_DIRFD.
45784         * modules/dirfd (Files): Remove lib/dirfd.h.
45785         (Depends-on): Add dirent, extensions.
45786         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
45787         (Include): Specify <dirent.h> instead of dirfd.h.
45788         * modules/dirent (Depends-on): Add link-warning.
45789         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
45790         definition of GL_LINK_WARNING.
45791         * NEWS: Mention the change.
45792
45793 2008-10-18  Bruno Haible  <bruno@clisp.org>
45794
45795         Move the euidaccess() declaration to <unistd.h>.
45796         * lib/euidaccess.h: Remove file.
45797         * lib/unistd.in.h (euidaccess): New declaration.
45798         * lib/euidaccess.c: Don't include euidaccess.h.
45799         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
45800         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
45801         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
45802         and HAVE_EUIDACCESS.
45803         * modules/euidaccess (Files): Remove lib/euidaccess.h.
45804         (Depends-on): Add unistd.
45805         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45806         (Include): Specify <unistd.h> instead of euidaccess.h.
45807         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
45808         HAVE_EUIDACCESS.
45809         * NEWS: Mention the change.
45810
45811 2008-10-18  Bruno Haible  <bruno@clisp.org>
45812
45813         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
45814
45815         Move the getdomainname() declaration to <unistd.h>.
45816         * lib/getdomainname.h: Remove file.
45817         * lib/unistd.in.h (getdomainname): New declaration.
45818         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
45819         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
45820         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
45821         HAVE_GETDOMAINNAME.
45822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45823         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
45824         * modules/getdomainname (Files): Remove lib/getdomainname.h.
45825         (Depends-on): Add unistd, extensions.
45826         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45827         (Includes): Specify <unistd.h> instead of getdomainname.h.
45828         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
45829         HAVE_GETDOMAINNAME.
45830         * NEWS: Mention the change.
45831
45832 2008-10-18  Bruno Haible  <bruno@clisp.org>
45833
45834         * modules/dirent: New file.
45835         * m4/dirent_h.m4: New file.
45836         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
45837         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
45838         * modules/fchdir (Files): Remove lib/dirent.in.h.
45839         (Depends-on): Add dirent.
45840         (Makefile.am): Move rules to modules/dirent.
45841         * doc/posix-headers/dirent.texi: Mention the new module.
45842
45843 2008-10-18  Bruno Haible  <bruno@clisp.org>
45844
45845         Avoid -Wunused-parameter warnings in public gnulib header files.
45846         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
45847         macro.
45848         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
45849
45850 2008-10-18  Bruno Haible  <bruno@clisp.org>
45851
45852         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
45853         * doc/glibc-functions/error.texi: Mention the module 'error'.
45854         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
45855         * doc/glibc-functions/getdomainname.texi: Mention the module
45856         'getdomainname'.
45857         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
45858         * doc/glibc-functions/getpagesize.texi: Mention the module
45859         'getpagesize'.
45860         * doc/glibc-functions/getusershell.texi: Mention the module
45861         'getusershell'.
45862         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
45863         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
45864         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
45865         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
45866         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
45867         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
45868         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
45869         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
45870         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
45871         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
45872         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
45873         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
45874         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
45875         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
45876
45877 2008-10-17  Bruno Haible  <bruno@clisp.org>
45878
45879         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
45880         HP-UX and IRIX, use -0.0L.
45881         * tests/test-ceill.c (minus_zero): Likewise.
45882         * tests/test-floorl.c (minus_zero): Likewise.
45883         * tests/test-frexpl.c (minus_zero): Likewise.
45884         * tests/test-isnan.c (minus_zerol): Likewise.
45885         * tests/test-isnanl.h (minus_zero): Likewise.
45886         * tests/test-ldexpl.c (minus_zero): Likewise.
45887         * tests/test-roundl.c (minus_zero): Likewise.
45888         * tests/test-signbit.c (minus_zerol): Likewise.
45889         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45890         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45891         * tests/test-truncl.c (minus_zero): Likewise.
45892         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45893         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45894         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
45895         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45896
45897 2008-10-17  Bruno Haible  <bruno@clisp.org>
45898
45899         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
45900         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
45901         that it gets activated only for gcc >= 3.0.
45902         * lib/dirent.in.h: Likewise.
45903         * lib/errno.in.h: Likewise.
45904         * lib/fcntl.in.h: Likewise.
45905         * lib/float.in.h: Likewise.
45906         * lib/iconv.in.h: Likewise.
45907         * lib/inttypes.in.h: Likewise.
45908         * lib/locale.in.h: Likewise.
45909         * lib/math.in.h: Likewise.
45910         * lib/netdb.in.h: Likewise.
45911         * lib/netinet_in.in.h: Likewise.
45912         * lib/search.in.h: Likewise.
45913         * lib/signal.in.h: Likewise.
45914         * lib/spawn.in.h: Likewise.
45915         * lib/stdarg.in.h: Likewise.
45916         * lib/stdint.in.h: Likewise.
45917         * lib/stdio.in.h: Likewise.
45918         * lib/stdlib.in.h: Likewise.
45919         * lib/string.in.h: Likewise.
45920         * lib/strings.in.h: Likewise.
45921         * lib/sys_file.in.h: Likewise.
45922         * lib/sys_ioctl.in.h: Likewise.
45923         * lib/sys_select.in.h: Likewise.
45924         * lib/sys_socket.in.h: Likewise.
45925         * lib/sys_stat.in.h: Likewise.
45926         * lib/sys_time.in.h: Likewise.
45927         * lib/sysexits.in.h: Likewise.
45928         * lib/time.in.h: Likewise.
45929         * lib/unistd.in.h: Likewise.
45930         * lib/wchar.in.h: Likewise.
45931         * lib/wctype.in.h: Likewise.
45932         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45933
45934 2008-10-17  Jim Meyering  <meyering@redhat.com>
45935
45936         ignore-value: don't depend on inline module
45937         * modules/ignore-value (Depends-on): Remove 'inline'.
45938         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
45939         Suggestion from Bruno Haible.
45940
45941 2008-10-17  Bruno Haible  <bruno@clisp.org>
45942
45943         New implementation of condition variables for Win32.
45944         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
45945         (gl_linked_waitqueue_t): New type.
45946         (gl_cond_t): Use it.
45947         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
45948         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
45949         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
45950         (glthread_cond_init_func, glthread_cond_wait_func,
45951         glthread_cond_timedwait_func, glthread_cond_signal_func,
45952         glthread_cond_broadcast_func, glthread_cond_destroy_func):
45953         Reimplemented on the basis of gl_linked_waitqueue_t.
45954         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
45955         gl_waitqueue_t.
45956         (gl_rwlock_t): Update.
45957         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
45958
45959 2008-10-17  Simon Josefsson  <simon@josefsson.org>
45960
45961         * modules/recvfrom (Depends-on): Add dependency on getpeername.
45962         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45963
45964 2008-10-17  Jim Meyering  <meyering@redhat.com>
45965
45966         ignore-value: new module
45967         * modules/ignore-value: New file.
45968         * lib/ignore-value.h: New file.
45969         * MODULES.html.sh (Compiler warning management): New section,
45970         just for this module.  More to come.
45971
45972 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45973
45974         open-safer.c: avoid 'signed and unsigned in conditional...' warning
45975         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
45976         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
45977
45978 2008-10-16  Jim Meyering  <meyering@redhat.com>
45979
45980         openat-die.c: avoid 'no previous prototype' warning
45981         * lib/openat-die.c: Include "openat.h".
45982         Reported by Reuben Thomas <rrt@sc3d.org>.
45983
45984 2008-10-16  Simon Josefsson  <simon@josefsson.org>
45985
45986         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
45987         * lib/netdb.in.h: Fix typo.
45988         Reported by Bruno Haible  <bruno@clisp.org>
45989
45990         * lib/netdb.in.h: Include sys/socket.h for platforms without
45991         netdb.h, to get structures like hostent on MinGW.
45992         * modules/netdb (Depends-on): Add sys_socket.
45993
45994 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45995
45996         * modules/netdb, modules/netdb-tests: New file.
45997         * m4/netdb_h.m4: New file.
45998         * lib/netdb.in.h: Add, currently just an empty file pending
45999         definitions.
46000         * tests/test-netdb.c: New file.
46001         * doc/posix-headers/netdb.texi: Mention that we replace it if
46002         needed.
46003         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46004         netdb.
46005
46006 2008-10-15  Simon Josefsson  <simon@josefsson.org>
46007
46008         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
46009         with code.
46010
46011 2008-10-13  Bruno Haible  <bruno@clisp.org>
46012
46013         * lib/glthread/cond.c (glthread_cond_wait_func,
46014         glthread_cond_timedwait_func): Add a comment.
46015
46016 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46017
46018         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
46019         * tests/test-select.c: Likewise,
46020
46021 2008-10-13  Bruno Haible  <bruno@clisp.org>
46022
46023         * lib/glthread/cond.c (glthread_cond_wait_func,
46024         glthread_cond_timedwait_func): Fix variable name.
46025         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
46026
46027 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
46028
46029         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
46030         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
46031         struct sockaddr.sa_len.
46032         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
46033
46034 2008-10-13  Simon Josefsson  <simon@josefsson.org>
46035
46036         * build-aux/pmccabe2html: Add css and css_url parameters.
46037
46038 2008-10-12  Bruno Haible  <bruno@clisp.org>
46039
46040         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
46041         calling aclx_get.
46042         Reported by Rainer Tammer <tammer@tammer.net>.
46043
46044 2008-10-12  Bruno Haible  <bruno@clisp.org>
46045
46046         Use msvcrt aware primitives for creation/termination of Win32 threads.
46047         * lib/glthread/thread.c: Include <process.h>.
46048         (glthread_create_func): Use _beginthreadex instead of CreateThread.
46049         (wrapper_func): Update signature.
46050         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
46051
46052 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46053             Bruno Haible  <bruno@clisp.org>
46054
46055         Provide a Win32 implementation of the 'cond' module.
46056         * lib/glthread/cond.h [USE_WIN32]: New implementation.
46057         * lib/glthread/cond.c (glthread_cond_init_func,
46058         glthread_cond_wait_func, glthread_cond_timedwait_func,
46059         glthread_cond_signal_func, glthread_cond_broadcast_func,
46060         glthread_cond_destroy_func) [USE_WIN32]: New functions.
46061         * modules/cond (Dependencies): Add gettimeofday.
46062
46063 2008-10-11  Bruno Haible  <bruno@clisp.org>
46064
46065         Make sleep work on older versions of mingw.
46066         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
46067         only whether it exists.
46068         * doc/posix-functions/sleep.texi: Mention the problem with older
46069         versions of mingw.
46070
46071 2008-10-11  Bruno Haible  <bruno@clisp.org>
46072
46073         New module 'shutdown'.
46074         * modules/shutdown: New file.
46075         * lib/sys_socket.in.h (shutdown): New declaration.
46076         * lib/winsock.c (shutdown): New function.
46077         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46078         GNULIB_SHUTDOWN.
46079         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
46080         * doc/posix-functions/shutdown.texi: Document the new module.
46081
46082 2008-10-11  Jim Meyering  <meyering@redhat.com>
46083
46084         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
46085
46086 2008-10-11  Bruno Haible  <bruno@clisp.org>
46087
46088         New module 'fclose'.
46089         * modules/fclose: New file.
46090         * lib/stdio.in.h (fclose): New declaration.
46091         * lib/fclose.c: New file.
46092         * m4/fclose.m4: New file.
46093         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
46094         REPLACE_FCLOSE.
46095         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
46096         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
46097         REPLACE_FCLOSE.
46098         * modules/close (Depends-on): fclose.
46099         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
46100
46101 2008-10-11  Bruno Haible  <bruno@clisp.org>
46102
46103         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
46104         set errno and don't call _close.
46105
46106 2008-10-10  Bruno Haible  <bruno@clisp.org>
46107
46108         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
46109         ACL, not afterwards. Fixes test failure on Cygwin.
46110
46111 2008-10-09  Ben Pfaff  <blp@gnu.org>
46112
46113         * build-aux/announce-gen: Fix gnulib version related part of usage
46114         message.  Die with a useful error message if no tarballs are
46115         found.
46116
46117 2008-10-10  Jim Meyering  <meyering@redhat.com>
46118
46119         bootstrap: use git's --depth=N option only if it's supported
46120         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
46121         recognize the --depth option.  Reported by Pádraig Brady.
46122
46123 2008-10-09  Bruno Haible  <bruno@clisp.org>
46124
46125         New module 'ioctl'.
46126         * modules/ioctl: New file.
46127         * lib/sys_socket.in.h (ioctl): Remove declaration.
46128         * lib/winsock.c: Include <sys/ioctl.h>.
46129         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
46130         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
46131         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
46132         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
46133         * doc/posix-functions/ioctl.texi: Mention the new module.
46134
46135 2008-10-09  Bruno Haible  <bruno@clisp.org>
46136
46137         New module 'sys_ioctl'.
46138         * lib/sys_ioctl.in.h: New file.
46139         * m4/sys_ioctl_h.m4: New file.
46140         * modules/sys_ioctl: New file.
46141         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
46142
46143 2008-10-09  Bruno Haible  <bruno@clisp.org>
46144
46145         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
46146         * lib/winsock.c: Include <stdarg.h>.
46147         (rpl_ioctl): Change to second argument 'int' and then varargs.
46148
46149 2008-10-09  Bruno Haible  <bruno@clisp.org>
46150
46151         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
46152         when the sys_socket module is present and the system has <winsock2.h>.
46153
46154 2008-10-09  Bruno Haible  <bruno@clisp.org>
46155
46156         * doc/posix-functions/close.texi: Mention module 'close' instead of
46157         module 'sys_socket'.
46158
46159 2008-10-09  Bruno Haible  <bruno@clisp.org>
46160
46161         * doc/glibc-headers/sys_ioctl.texi: New file.
46162         * doc/gnulib.texi: Include it.
46163
46164 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46165             Bruno Haible  <bruno@clisp.org>
46166
46167         Combine the two replacements of 'close'.
46168         * lib/sys_socket.in.h (close): Define to a reminder to include
46169         <unistd.h>.
46170         (_gl_close_fd_maybe_socket): New declaration.
46171         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
46172         * lib/winsock.c (close): Remove undefinition.
46173         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
46174         needed for the gnulib module 'close'.
46175         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
46176         define to an error symbol or to a warning, if suitable.
46177         * lib/close.c: Include <sys/socket.h>.
46178         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
46179         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
46180         UNISTD_H_HAVE_WINSOCK2_H.
46181         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
46182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46183         UNISTD_H_HAVE_WINSOCK2_H.
46184         * modules/sys_socket (Files): Add m4/unistd_h.m4.
46185         (configure.ac): Set a module indicator.
46186         (Makefile.am): Substitute GNULIB_CLOSE.
46187         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
46188         * modules/poll-tests (Depends-on): Add close.
46189         * modules/select-tests (Depends-on): Likewise.
46190
46191 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46192             Bruno Haible  <bruno@clisp.org>
46193
46194         New module 'close'.
46195         * modules/close: New file.
46196         * lib/unistd.in.h (close): Move declaration out of the
46197         FCHDIR_REPLACEMENT scope.
46198         (_gl_unregister_fd): New declaration.
46199         * lib/close.c: New file.
46200         * lib/fchdir.c (rpl_close): Remove function.
46201         * m4/close.m4: New file.
46202         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
46203         close.
46204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
46205         REPLACE_CLOSE.
46206         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
46207         REPLACE_CLOSE.
46208         * modules/fchdir (Depends-on): Add close.
46209
46210 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46211             Bruno Haible  <bruno@clisp.org>
46212
46213         * lib/fcntl.in.h (open): Simplify conditionals.
46214         (_gl_register_fd): New declaration.
46215         * lib/fchdir.c (rpl_open): Remove function.
46216         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
46217         also.
46218         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
46219         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
46220         open.
46221
46222 2008-10-09  Jim Meyering  <meyering@redhat.com>
46223
46224         GNUmakefile: use the more name-space-friendly "_version"
46225         * top/GNUmakefile (_dummy): Update.
46226         (_version): Rename from "version".
46227
46228 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46229             Bruno Haible  <bruno@clisp.org>
46230
46231         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
46232         rpl_close.
46233         (_gl_register_fd): New function, extracted from rpl_open.
46234         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
46235         (rpl_open, rpl_opendir): Use _gl_register_fd.
46236
46237 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46238
46239         Fix organization of 'open' replacement.
46240         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
46241         (gl_FUNC_OPEN): Use it.
46242         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
46243
46244 2008-10-08  Bruno Haible  <bruno@clisp.org>
46245
46246         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
46247
46248 2008-10-08  Simon Josefsson  <simon@josefsson.org>
46249
46250         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
46251         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
46252         listen).
46253
46254 2008-10-08  Eric Blake  <ebb9@byu.net>
46255
46256         GNUmakefile: add 'make version' target
46257         * top/GNUmakefile (_curr-ver): Split version update rules...
46258         (version): ...into a target.
46259
46260 2008-10-07  Bruno Haible  <bruno@clisp.org>
46261
46262         Use a more portable replacement expression for -0.0L.
46263         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
46264         instead of -0.0L. Fix m4 quotation.
46265
46266         * tests/test-signbit.c: Include <float.h>.
46267         (minus_zero): New variable.
46268         (test_signbitl): Use minus_zero instead of -zero.
46269         * modules/signbit-tests (Depends-on): Add float.
46270
46271         * tests/test-ceill.c: Include <float.h>.
46272         (zero): Remove variable.
46273         (minus_zero): New variable.
46274         (main): Use minus_zero instead of -zero.
46275         * modules/ceill-tests (Depends-on): Add float.
46276
46277         * tests/test-floorl.c: Include <float.h>.
46278         (zero): Remove variable.
46279         (minus_zero): New variable.
46280         (main): Use minus_zero instead of -zero.
46281         * modules/floorl-tests (Depends-on): Add float.
46282
46283         * tests/test-roundl.c: Include <float.h>.
46284         (zero): Remove variable.
46285         (minus_zero): New variable.
46286         (main): Use minus_zero instead of -zero.
46287         * modules/roundl-tests (Depends-on): Add float.
46288
46289         * tests/test-truncl.c: Include <float.h>.
46290         (zero): Remove variable.
46291         (minus_zero): New variable.
46292         (main): Use minus_zero instead of -zero.
46293         * modules/truncl-tests (Depends-on): Add float.
46294
46295         * tests/test-frexpl.c (zero): Remove variable.
46296         (minus_zero): New variable.
46297         (main): Use minus_zero instead of -zero.
46298         * modules/frexpl-tests (Depends-on): Add float.
46299
46300         * tests/test-isnan.c (zerol): Remove variable.
46301         (minus_zerol): New variable.
46302         (test_long_double): Use minus_zerol instead of -zerol.
46303         * modules/isnan-tests (Depends-on): Add float.
46304
46305         * tests/test-isnanl.h (zero): Remove variable.
46306         (minus_zero): New variable.
46307         (main): Use minus_zero instead of -zero.
46308         * modules/isnanl-nolibm-tests (Depends-on): Add float.
46309         * modules/isnanl-tests (Depends-on): Add float.
46310
46311         * tests/test-ldexpl.c (zero): Remove variable.
46312         (minus_zero): New variable.
46313         (main): Use minus_zero instead of -zero.
46314         * modules/ldexpl-tests (Depends-on): Add float.
46315
46316         * tests/test-snprintf-posix.h (zerol): Remove variable.
46317         (minus_zerol): New variable.
46318         (test_function): Use minus_zerol instead of -zerol.
46319         * modules/snprintf-posix-tests (Depends-on): Add float.
46320         * modules/vsnprintf-posix-tests (Depends-on): Add float.
46321
46322         * tests/test-sprintf-posix.h (zerol): Remove variable.
46323         (minus_zerol): New variable.
46324         (test_function): Use minus_zerol instead of -zerol.
46325         * modules/sprintf-posix-tests (Depends-on): Add float.
46326         * modules/vsprintf-posix-tests (Depends-on): Add float.
46327
46328         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
46329         (minus_zerol): New variable.
46330         (test_function): Use minus_zerol instead of -zerol.
46331         * modules/vasnprintf-posix-tests (Depends-on): Add float.
46332
46333         * tests/test-vasprintf-posix.c (zerol): Remove variable.
46334         (minus_zerol): New variable.
46335         (test_function): Use minus_zerol instead of -zerol.
46336         * modules/vasprintf-posix-tests (Depends-on): Add float.
46337
46338 2008-10-07  Simon Josefsson  <simon@josefsson.org>
46339
46340         * MODULES.html.sh (Support for building documentation): Mention
46341         pmccabe2html.  Sort entries.
46342
46343         Add pmccabe2html module, from gnupdf.
46344         * build-aux/pmccabe.css: New file.
46345         * build-aux/pmccabe2html: New file.
46346         * m4/pmccabe2html.m4: New file.
46347         * modules/pmccabe2html: New file.
46348
46349 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
46350
46351         flock: new module
46352         * MODULES.html.sh: Add to list of modules.
46353         * lib/flock.c: flock implementation for Windows and Unix systems
46354         which have fcntl.
46355         * doc/glibc-functions/flock.texi: Update documentation.
46356         * lib/sys_file.in.h: <sys/file.h> header file.
46357         * m4/flock.m4: M4 macros.
46358         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
46359         * modules/flock: flock module.
46360         * modules/flock-tests: flock tests module.
46361         * modules/sys_file: sys/file.h module.
46362         * tests/test-flock.c: test suite for flock.
46363
46364 2008-10-06  Jim Meyering  <meyering@redhat.com>
46365
46366         bootstrap: check for LT_INIT more portably still ;-)
46367         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
46368         Spotted by Bruno Haible.
46369
46370 2008-10-06  Eric Blake  <ebb9@byu.net>
46371
46372         test-signbit: avoid tripping Irix cc bug on -0.0L
46373         * tests/test-signbit.c (minus_zerol): Delete, and replace with
46374         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
46375         entire testsuite consistent and avoids an Irix 6.2 bug.
46376
46377 2008-10-05  Bruno Haible  <bruno@clisp.org>
46378             Jim Meyering  <jim@meyering.net>
46379
46380         Add an option for ignoring EPIPE during close_stdout.
46381         * lib/closeout.h: Include <stdbool.h>.
46382         (close_stdout_set_ignore_EPIPE): New declaration.
46383         * lib/closeout.c: Include <stdbool.h>.
46384         (ignore_EPIPE): New variable.
46385         (close_stdout_set_ignore_EPIPE): New function.
46386         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
46387         * lib/close-stream.c (close_stream): Mention the possible EPIPE
46388         failure.
46389         * modules/closeout (Depends-on): Add stdbool.
46390
46391 2008-10-05  Bruno Haible  <bruno@clisp.org>
46392
46393         * modules/accept: New file.
46394         * modules/bind: New file.
46395         * modules/connect: New file.
46396         * modules/getpeername: New file.
46397         * modules/getsockname: New file.
46398         * modules/getsockopt: New file.
46399         * modules/listen: New file.
46400         * modules/recv: New file.
46401         * modules/recvfrom: New file.
46402         * modules/send: New file.
46403         * modules/sendto: New file.
46404         * modules/setsockopt: New file.
46405         * modules/socket: New file.
46406         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
46407         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
46408         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
46409         the particular module is requested. Add a link warning when the
46410         particular module is not requested.
46411         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
46412         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
46413         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
46414         the particular module is requested.
46415         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
46416         gl_SYS_SOCKET_H_DEFAULTS): New macros.
46417         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
46418         * modules/sys_socket (Depends-on): Add link-warning.
46419         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
46420         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
46421         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
46422         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
46423         GL_LINK_WARNING.
46424         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
46425         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
46426         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
46427         * doc/posix-functions/getpeername.texi: Mention the new module
46428         'getpeername'.
46429         * doc/posix-functions/getsockname.texi: Mention the new module
46430         'getsockname'.
46431         * doc/posix-functions/getsockopt.texi: Mention the new module
46432         'getsockopt'.
46433         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
46434         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
46435         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
46436         * doc/posix-functions/send.texi: Mention the new module 'send'.
46437         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
46438         * doc/posix-functions/setsockopt.texi: Mention the new module
46439         'setsockopt'.
46440         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
46441         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
46442         listen, connect, accept.
46443         * modules/select-tests (Depends-on): Likewise.
46444
46445 2008-10-05  Bruno Haible  <bruno@clisp.org>
46446
46447         * lib/winsock.c (strerror): Remove unused #undef.
46448         (rpl_close): Remove unused local variable.
46449
46450         * modules/sys_socket (Depends-on); Add errno.
46451
46452 2008-10-05  Bruno Haible  <bruno@clisp.org>
46453
46454         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
46455         (select): Add a link warning when the 'select' module is not used.
46456         * modules/sys_select (Depends-on): Add link-warning.
46457         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
46458         Suggested by Paolo Bonzini.
46459
46460 2008-10-05  Jim Meyering  <meyering@redhat.com>
46461
46462         bootstrap: check for LT_INIT more portably
46463         * build-aux/bootstrap: Avoid using grep -E, since it's not
46464         portable enough.  Suggestion from Bruno Haible.
46465
46466 2008-10-05  Bruno Haible  <bruno@clisp.org>
46467
46468         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
46469         as being fixed by gnulib.
46470
46471 2008-10-05  Bruno Haible  <bruno@clisp.org>
46472
46473         * modules/select-tests: New file, mostly copied from
46474         modules/sys_select-tests.
46475         * tests/test-select.c: New file, mostly copied from
46476         tests/test-sys_select.c.
46477         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
46478         * modules/sys_select-tests (Depends-on): Remove all dependencies.
46479         (Makefile.am): Remove test_sys_select_LDADD.
46480
46481         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
46482         to an undefined symbol, for an error message.
46483         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
46484         (gl_SYS_SELECT_H_DEFAULTS): New macro.
46485         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
46486         winsock-select.c here.
46487         * modules/sys_select (Files): Remove lib/winsock-select.c.
46488         (Depends-on): Remove alloca.
46489         (Makefile.am): Substitute GNULIB_SELECT.
46490         * modules/select: New file.
46491         * doc/posix-functions/select.texi: Update.
46492
46493 2008-10-05  Bruno Haible  <bruno@clisp.org>
46494
46495         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
46496         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
46497         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
46498         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
46499         getdtablesize.
46500         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
46501         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
46502
46503 2008-10-05  Bruno Haible  <bruno@clisp.org>
46504
46505         * modules/getdtablesize-tests: New file.
46506         * tests/test-getdtablesize.c: New file.
46507
46508         New module 'getdtablesize'.
46509         * lib/unistd.in.h (getdtablesize): New declaration.
46510         * lib/getdtablesize.c: New file.
46511         * m4/getdtablesize.m4: New file.
46512         * modules/getdtablesize: New file.
46513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46514         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
46515         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
46516         HAVE_GETDTABLESIZE.
46517         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
46518
46519 2008-10-05  Bruno Haible  <bruno@clisp.org>
46520
46521         * modules/sched (Makefile.am): Fix typo.
46522         Reported by Simon Josefsson.
46523
46524 2008-10-05  Jim Meyering  <meyering@redhat.com>
46525
46526         bootstrap: check for LT_INIT, too
46527         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
46528         are deprecated.  Suggestion from Ralf Wildenhues.
46529
46530 2008-10-05  Bruno Haible  <bruno@clisp.org>
46531
46532         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
46533         overriding them by ours.
46534         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
46535
46536 2008-10-05  Jim Meyering  <meyering@redhat.com>
46537
46538         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
46539         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
46540         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
46541
46542 2008-10-04  Bruno Haible  <bruno@clisp.org>
46543
46544         * modules/dup2 (License): Change to LGPLv2+.
46545         * modules/sleep (License): Likewise.
46546         * modules/perror (License): Likewise.
46547         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
46548         Blake.
46549         * modules/signal (License): Likewise.
46550         * modules/sigprocmask (License): Likewise.
46551         * modules/raise (License): Change to LGPLv2+, with approval by Jim
46552         Meyering.
46553
46554 2008-10-04  Bruno Haible  <bruno@clisp.org>
46555
46556         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
46557         Reported by Rainer Tammer <tammer@tammer.net>.
46558
46559 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
46560             Bruno Haible  <bruno@clisp.org>
46561
46562         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
46563         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
46564         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
46565
46566 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
46567
46568         filevercmp: new module
46569         * lib/filevercmp.h: New function filevercmp comparing version strings.
46570         * lib/filevercmp.c: Implementation of filevercmp function.
46571         * modules/filevercmp: Module metadata.
46572         * tests/test-filevercmp.c: Unit test for new module.
46573         * modules/filevercmp-tests: Unit test metadata.
46574         * MODULES.html.sh: Add filevercmp module.
46575
46576 2008-10-03  Bruno Haible  <bruno@clisp.org>
46577
46578         * lib/c-ctype.h: Add comment.
46579         Reported by Jim Meyering.
46580
46581 2008-10-02  Bruno Haible  <bruno@clisp.org>
46582
46583         * modules/posix_spawn-internal (Depends-on): Add 'open'.
46584
46585 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46586
46587         * build-aux/bootstrap: Allow renaming bootstrap, and change the
46588         name of bootstrap.conf accordingly.
46589
46590 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46591
46592         * build-aux/bootstrap: Install git-merge-changelog configuration
46593         items into .gitconfig if needed.
46594
46595 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46596
46597         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
46598         git repository, and initialize/update it accordingly.
46599
46600 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
46601
46602         * modules/fsync-tests: New file.
46603         * tests/test-fsync.c: New file.
46604
46605         New module 'fsync'.
46606         * lib/fsync.c: New file.
46607         * m4/fsync.m4: New file.
46608         * modules/fsync: New file.
46609         * lib/unistd.in.h (fsync): New declaration.
46610         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
46611         GNULIB_FSYNC and HAVE_FSYNC.
46612         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
46613         * MODULES.html.sh (posix_functions): Add fsync.
46614         * doc/posix-functions/fsync.texi: Mention the new module.
46615
46616 2008-10-02  Jim Meyering  <meyering@redhat.com>
46617
46618         fts.c: sync with similar code from coreutils' remove.c
46619         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
46620         Guard also with "#if defined __linux__", since for now at least,
46621         this code is Linux-kernel-specific.
46622
46623 2008-10-02  Jim Meyering  <meyering@redhat.com>
46624
46625         fts: bug fixes
46626         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
46627         Include <sys/vfs.h>, not <sys/statfs.h>.
46628
46629         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
46630         Include <sys/vfs.h>, not <sys/statfs.h>.
46631
46632 2008-10-01  Bruno Haible  <bruno@clisp.org>
46633
46634         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
46635         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
46636         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
46637         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
46638         * doc/posix-functions/posix_spawnp.texi: Likewise.
46639         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
46640         whether posix_spawn actually works.
46641         * m4/pipe.m4 (gl_PIPE): Likewise.
46642         * modules/execute (Files): Add m4/posix_spawn.m4.
46643         * modules/pipe (Files): Add m4/posix_spawn.m4.
46644         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
46645
46646 2008-10-01  Jim Meyering  <meyering@redhat.com>
46647
46648         remove trailing spaces
46649         * NEWS: Likewise.
46650         * lib/poll.c (poll): Likewise.
46651         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
46652         * lib/winsock.c (rpl_close): Likewise.
46653         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
46654         * modules/yield: Likewise.
46655         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
46656         * tests/test-sys_select.c (connect_to_socket): Likewise.
46657
46658         fts.c: adjust a new interface to be more generally useful
46659         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
46660         (fts_build): Adjust caller.
46661
46662 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46663
46664         * modules/cond-tests: New file.
46665         * tests/test-cond.c: New file.
46666
46667 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46668             Bruno Haible  <bruno@clisp.org>
46669
46670         * modules/cond (Dependencies): Add errno, time.
46671         * lib/glthread/cond.h: Include <time.h>.
46672         (gl_cond_define, gl_cond_define_initialized): Use the same definition
46673         across platforms.
46674
46675 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46676             Bruno Haible  <bruno@clisp.org>
46677
46678         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
46679
46680 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46681             Bruno Haible  <bruno@clisp.org>
46682
46683         * modules/tls-tests (Depends-on): Add thread, yield.
46684         (configure.ac): Remove all checks.
46685         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
46686         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
46687         gl_thread_self): Remove definitions. Include glthread/thread.h and
46688         glthread/yield.h instead.
46689         (test_tls): Pass an additional NULL argument to gl_thread_join.
46690
46691 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46692             Bruno Haible  <bruno@clisp.org>
46693
46694         * modules/lock-tests (Depends-on): Add thread, yield.
46695         (configure.ac): Remove all checks.
46696         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
46697         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
46698         gl_thread_self): Remove definitions. Include glthread/thread.h and
46699         glthread/yield.h instead.
46700         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
46701         additional NULL argument to gl_thread_join.
46702
46703 2008-09-30  Bruno Haible  <bruno@clisp.org>
46704
46705         Fix the Win32 implementation of the 'thread' module.
46706         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
46707         pointer type.
46708         (gl_thread_self): Invoke gl_thread_self_func.
46709         (gl_thread_self_func): New declaration.
46710         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
46711         (do_init_self_key, init_self_key): New functions.
46712         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
46713         Remove some fields.
46714         (running_threads, running_lock): Remove variables.
46715         (get_current_thread_handle): New function.
46716         (gl_thread_self_func, wrapper_func, glthread_create_func,
46717         glthread_join_func, gl_thread_exit_func): Largely rewritten and
46718         simplified.
46719
46720 2008-09-30  Bruno Haible  <bruno@clisp.org>
46721
46722         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
46723         files.
46724
46725 2008-09-30  Jim Meyering  <meyering@redhat.com>
46726
46727         fts.m4: correct the test for statfs.f_type
46728         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
46729         when checking for statfs.f_type.
46730
46731 2008-09-15  Simon Josefsson  <simon@josefsson.org>
46732
46733         tests: avoid some compiler warnings
46734         * tests/test-memchr.c (main): Pass NULL indirectly.
46735         * tests/test-getdate.c (main): Remove unused variable 'ret'.
46736
46737 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
46738
46739         getdate.y: disallow countable dayshifts like "4 yesterday ago"
46740         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
46741         exactly specified dayshifts.
46742         (dayshift): New rule.
46743         (rel): Add dayshift.
46744         (relative_time_table) [tomorrow, yesterday, today, now]:
46745         Use tDAY_SHIFT in place of tDAY_UNIT.
46746         * tests/test-getdate.c: Add tests for now-disallowed countable
46747         dayshifts, e.g., "4 yesterday ago".
46748
46749 2008-09-29  Bruno Haible  <bruno@clisp.org>
46750
46751         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
46752         * tests/test-posix_spawn1.in.sh: Renamed from
46753         tests/test-posix_spawn.in.sh.
46754         * tests/test-posix_spawn2.c: New file.
46755         * tests/test-posix_spawn2.in.sh: New file.
46756         * modules/posix_spawnp-tests (Files): Update.
46757         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
46758
46759 2008-09-29  Bruno Haible  <bruno@clisp.org>
46760
46761         Propagate effects of putenv/setenv/unsetenv to child processes.
46762         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
46763         * lib/pipe.c (create_pipe): Likewise.
46764
46765 2008-09-29  Bruno Haible  <bruno@clisp.org>
46766
46767         Enable use of shell scripts as executables in mingw.
46768         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
46769         run the program as a shell script.
46770         * lib/pipe.c (create_pipe): Likewise.
46771         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
46772         resulting array.
46773
46774 2008-09-29  Eric Blake  <ebb9@byu.net>
46775
46776         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
46777
46778 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
46779
46780         * doc/posix-functions/accept.texi: Update mingw problems.
46781         * doc/posix-functions/bind.texi: Update mingw problems.
46782         * doc/posix-functions/close.texi: Update mingw problems.
46783         * doc/posix-functions/connect.texi: Update mingw problems.
46784         * doc/posix-functions/getpeername.texi: Update mingw problems.
46785         * doc/posix-functions/getsockname.texi: Update mingw problems.
46786         * doc/posix-functions/getsockopt.texi: Update mingw problems.
46787         * doc/posix-functions/ioctl.texi: Update mingw problems.
46788         * doc/posix-functions/listen.texi: Update mingw problems.
46789         * doc/posix-functions/recv.texi: Update mingw problems.
46790         * doc/posix-functions/recvfrom.texi: Update mingw problems.
46791         * doc/posix-functions/select.texi: Update mingw problems.
46792         * doc/posix-functions/send.texi: Update mingw problems.
46793         * doc/posix-functions/sendto.texi: Update mingw problems.
46794         * doc/posix-functions/setsockopt.texi: Update mingw problems.
46795         * doc/posix-functions/socket.texi: Update mingw problems.
46796
46797 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
46798             Bruno Haible  <bruno@clisp.org>
46799
46800         * lib/sys_select.in.h: Include sys/time.h.
46801         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
46802         * modules/sys_select: Depend on sys_time.
46803         * tests/test-sys_select.c: Test that sys/select.h defines struct
46804         timeval fully.
46805
46806 2008-09-29  Bruno Haible  <bruno@clisp.org>
46807
46808         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
46809         * lib/sys_select.in.h: Likewise.
46810
46811 2008-09-29  Bruno Haible  <bruno@clisp.org>
46812
46813         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
46814
46815 2008-09-29  Bruno Haible  <bruno@clisp.org>
46816
46817         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
46818         Set LIBSOCKET instead of augmenting LIBS.
46819         * modules/sockets (Link): New section.
46820         * modules/sockets-tests (test_sockets_LDADD): New variable.
46821         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
46822         * modules/poll-tests (test_poll_LDADD): New variable.
46823         * NEWS: Document the change.
46824
46825 2008-09-29  Bruno Haible  <bruno@clisp.org>
46826
46827         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
46828         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
46829         ARPA_INET_H directly.
46830         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46831
46832 2008-09-28  Bruno Haible  <bruno@clisp.org>
46833
46834         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
46835         from gl_HEADER_SYS_SOCKET.
46836         (gl_HEADER_SYS_SOCKET): Invoke it.
46837         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46838
46839 2008-09-28  Bruno Haible  <bruno@clisp.org>
46840
46841         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
46842         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
46843         Needed on OSF/1 4.0.
46844
46845 2008-09-28  Bruno Haible  <bruno@clisp.org>
46846
46847         Override open more carefully.
46848         * lib/open.c (orig_open): New function.
46849         (rpl_open): Use orig_open instead of open.
46850         * lib/fcntl.in.h: Add special invocation convention.
46851         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
46852         (gl_FUNC_OPEN): Invoke it.
46853
46854         Override freopen more carefully.
46855         * lib/freopen.c (orig_freopen): New function.
46856         (rpl_freopen): Use orig_freopen instead of freopen.
46857         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
46858         (gl_FUNC_FREOPEN): Invoke it.
46859
46860         Override fopen more carefully.
46861         * lib/fopen.c (orig_fopen): New function.
46862         (rpl_fopen): Use orig_fopen instead of fopen.
46863         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
46864         (gl_FUNC_FOPEN): Invoke it.
46865         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
46866
46867 2008-09-28  Bruno Haible  <bruno@clisp.org>
46868
46869         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
46870         SIGPIPE.
46871
46872 2008-09-28  Bruno Haible  <bruno@clisp.org>
46873
46874         * tests/test-sigaction.c (handler, main): Disable the check whether
46875         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
46876         glibc systems with LinuxThreads.
46877
46878 2008-09-28  Bruno Haible  <bruno@clisp.org>
46879
46880         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
46881
46882         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
46883         with AIX xlc.
46884         * lib/fcntl.in.h (open): Likewise.
46885         Reported by Rainer Tammer <tammer@tammer.net>.
46886
46887 2008-09-28  Bruno Haible  <bruno@clisp.org>
46888
46889         * modules/posix_spawnp-tests: New file.
46890         * tests/test-posix_spawn.c: New file.
46891         * tests/test-posix_spawn.in.sh: New file.
46892
46893         New module 'posix_spawnp'.
46894         * modules/posix_spawnp: New file.
46895         * lib/spawnp.c: New file, from GNU libc with modifications.
46896         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
46897
46898         New module 'posix_spawn'.
46899         * modules/posix_spawn: New file.
46900         * lib/spawn.c: New file, from GNU libc with modifications.
46901         * doc/posix-functions/posix_spawn.texi: Mention the new module.
46902
46903         New module 'posix_spawnattr_destroy'.
46904         * modules/posix_spawnattr_destroy: New file.
46905         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
46906         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
46907         module.
46908
46909         New module 'posix_spawnattr_setsigmask'.
46910         * modules/posix_spawnattr_setsigmask: New file.
46911         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
46912         modifications.
46913         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
46914         new module.
46915
46916         New module 'posix_spawnattr_getsigmask'.
46917         * modules/posix_spawnattr_getsigmask: New file.
46918         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
46919         modifications.
46920         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
46921         new module.
46922
46923         New module 'posix_spawnattr_setsigdefault'.
46924         * modules/posix_spawnattr_setsigdefault: New file.
46925         * lib/spawnattr_setdefault.c: New file, from GNU libc with
46926         modifications.
46927         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
46928         new module.
46929
46930         New module 'posix_spawnattr_getsigdefault'.
46931         * modules/posix_spawnattr_getsigdefault: New file.
46932         * lib/spawnattr_getdefault.c: New file, from GNU libc with
46933         modifications.
46934         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
46935         new module.
46936
46937         New module 'posix_spawnattr_setschedpolicy'.
46938         * modules/posix_spawnattr_setschedpolicy: New file.
46939         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
46940         modifications.
46941         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
46942         new module.
46943
46944         New module 'posix_spawnattr_getschedpolicy'.
46945         * modules/posix_spawnattr_getschedpolicy: New file.
46946         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
46947         modifications.
46948         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
46949         new module.
46950
46951         New module 'posix_spawnattr_setschedparam'.
46952         * modules/posix_spawnattr_setschedparam: New file.
46953         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
46954         modifications.
46955         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
46956         new module.
46957
46958         New module 'posix_spawnattr_getschedparam'.
46959         * modules/posix_spawnattr_getschedparam: New file.
46960         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
46961         modifications.
46962         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
46963         new module.
46964
46965         New module 'posix_spawnattr_setpgroup'.
46966         * modules/posix_spawnattr_setpgroup: New file.
46967         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
46968         modifications.
46969         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
46970         module.
46971
46972         New module 'posix_spawnattr_getpgroup'.
46973         * modules/posix_spawnattr_getpgroup: New file.
46974         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
46975         modifications.
46976         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
46977         module.
46978
46979         New module 'posix_spawnattr_setflags'.
46980         * modules/posix_spawnattr_setflags: New file.
46981         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
46982         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
46983         module.
46984
46985         New module 'posix_spawnattr_getflags'.
46986         * modules/posix_spawnattr_getflags: New file.
46987         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
46988         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
46989         module.
46990
46991         New module 'posix_spawnattr_init'.
46992         * modules/posix_spawnattr_init: New file.
46993         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
46994         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
46995         module.
46996
46997         New module 'posix_spawn_file_actions_destroy'.
46998         * modules/posix_spawn_file_actions_destroy: New file.
46999         * lib/spawn_faction_destroy.c: New file, from GNU libc with
47000         modifications.
47001         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
47002         the new module.
47003
47004         New module 'posix_spawn_file_actions_addopen'.
47005         * modules/posix_spawn_file_actions_addopen: New file.
47006         * lib/spawn_faction_addopen.c: New file, from GNU libc with
47007         modifications.
47008         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
47009         the new module.
47010
47011         New module 'posix_spawn_file_actions_adddup2'.
47012         * modules/posix_spawn_file_actions_adddup2: New file.
47013         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
47014         modifications.
47015         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
47016         the new module.
47017
47018         New module 'posix_spawn_file_actions_addclose'.
47019         * modules/posix_spawn_file_actions_addclose: New file.
47020         * lib/spawn_faction_addclose.c: New file, from GNU libc with
47021         modifications.
47022         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
47023         the new module.
47024
47025         New module 'posix_spawn_file_actions_init'.
47026         * modules/posix_spawn_file_actions_init: New file.
47027         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
47028         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
47029         new module.
47030
47031         New module 'posix_spawn-internal'.
47032         * modules/posix_spawn-internal: New file.
47033         * lib/spawn_int.h: New file, from GNU libc with modifications.
47034         * lib/spawni.c: New file, from GNU libc with modifications.
47035         * m4/posix_spawn.m4: New file.
47036
47037         New module 'spawn'.
47038         * modules/spawn: New file.
47039         * lib/spawn.in.h: New file, from GNU libc with modifications.
47040         * m4/spawn_h.m4: New file.
47041         * doc/posix-headers/spawn.texi: Mention the new module.
47042
47043 2008-09-28  Bruno Haible  <bruno@clisp.org>
47044
47045         * modules/sched-tests: New file.
47046         * tests/test-sched.c: New file.
47047
47048         New module 'sched'.
47049         * modules/sched: New file.
47050         * lib/sched.in.h: New file.
47051         * m4/sched_h.m4: New file.
47052         * doc/posix-headers/sched.texi: Mention the new module.
47053
47054 2008-09-27  Eric Blake  <ebb9@byu.net>
47055
47056         Fix previous patch, and tweak references to $0.
47057         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
47058         (func_version, func_gnulib_dir): Don't call this program
47059         gnulib-tool.
47060         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
47061         with using $0 in function.
47062         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
47063         (func_fatal_error): Reuse the name the user invoked us with.
47064
47065 2008-09-27  Bruno Haible  <bruno@clisp.org>
47066
47067         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
47068         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
47069         (gl_ICONV_H): Not here.
47070         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
47071         instead of assigning ICONV_H directly.
47072
47073         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
47074         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
47075         WCHAR_H directly.
47076
47077 2008-09-27  Bruno Haible  <bruno@clisp.org>
47078
47079         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
47080         * modules/arpa_inet (Depends-on): Add link-warning.
47081         (Makefile.am): Insert the definition of GL_LINK-WARNING.
47082         * modules/unistd (Makefile.am): Likewise.
47083
47084 2008-09-26  Bruno Haible  <bruno@clisp.org>
47085
47086         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
47087         variables.
47088         (func_version): Essentially copied from gnulib-tool.
47089         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
47090         func_readlink): Copied from gnulib-tool.
47091
47092 2008-09-26  Bruno Haible  <bruno@clisp.org>
47093
47094         * gnulib-tool (func_version): Change directory to $gnulib_dir before
47095         invoking git-version-gen.
47096
47097 2008-09-26  Bruno Haible  <bruno@clisp.org>
47098
47099         * posix-modules: Update to directory names changed on 2008-01-19.
47100         Remove commas in output before splitting into words. No more need to
47101         avoid 'ftruncate' since 2007-02-19.
47102
47103 2008-09-26  Bruno Haible  <bruno@clisp.org>
47104
47105         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
47106
47107 2008-09-26  Bruno Haible  <bruno@clisp.org>
47108
47109         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
47110         * modules/fwriteerror (Depends-on): Add errno.
47111
47112 2008-09-26  Bruno Haible  <bruno@clisp.org>
47113
47114         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
47115         * tests/test-vc-list-files-cvs.sh: Likewise.
47116
47117 2008-09-26  Bruno Haible  <bruno@clisp.org>
47118
47119         * doc/posix-headers/sys_resource.texi: Reorder items.
47120
47121 2008-09-26  Jim Meyering  <meyering@redhat.com>
47122
47123         fts: tweak inode comparison function
47124         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
47125         inode numbers, as documented.
47126
47127         fts: sort dirent entries on inode number before traversing
47128         This avoids a quadratic, seek-related performance penalty when
47129         operating on a directory containing many entries (measurable at 10k;
47130         3.5 hours at 2 million entries with a cold cache) on certain types
47131         of file systems, including ext3 and ext4, but not tmpfs.
47132         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
47133         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
47134         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
47135         (fs_handles_readdir_ordered_dirents_efficiently): New function.
47136         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
47137         (fts_build): Set the stat.st_ino member from D_INO.
47138         If it is likely to be useful, sort dirent entries on inode number.
47139
47140         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
47141         and the struct statfs.f_type member.
47142         * modules/fts (Depends-on): Add d-ino.
47143
47144 2008-09-26  Bruno Haible  <bruno@clisp.org>
47145
47146         * modules/sigpipe-die (Depends-on): Add sigpipe.
47147
47148         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
47149         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
47150         and GNULIB_STDIO_H_SIGPIPE are set.
47151         * lib/stdio-write.c: New file.
47152         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
47153         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
47154         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
47155         REPLACE_STDIO_WRITE_FUNCS.
47156         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
47157         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
47158         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
47159         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
47160         * modules/stdio (Files): Add lib/stdio-write.c.
47161         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
47162         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
47163         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
47164         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
47165         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
47166         REPLACE_FPRINTF_POSIX.
47167         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
47168         REPLACE_PRINTF_POSIX.
47169         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
47170         REPLACE_VFPRINTF_POSIX.
47171         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
47172         REPLACE_VPRINTF_POSIX.
47173         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
47174         SIGPIPE issue.
47175         * doc/posix-functions/fputc.texi: Likewise.
47176         * doc/posix-functions/fputs.texi: Likewise.
47177         * doc/posix-functions/fwrite.texi: Likewise.
47178         * doc/posix-functions/printf.texi: Likewise.
47179         * doc/posix-functions/putc.texi: Likewise.
47180         * doc/posix-functions/putchar.texi: Likewise.
47181         * doc/posix-functions/puts.texi: Likewise.
47182         * doc/posix-functions/vfprintf.texi: Likewise.
47183         * doc/posix-functions/vprintf.texi: Likewise.
47184
47185         * modules/safe-write (Depends-on): Add write.
47186
47187         * modules/sigpipe-tests: New file.
47188         * tests/test-sigpipe.c: New file.
47189         * tests/test-sigpipe.sh: New file.
47190
47191         * modules/write: New file.
47192         * lib/unistd.in.h: Include <sys/types.h>.
47193         (write): New declaration.
47194         * lib/write.c: New file.
47195         * m4/write.m4: New file.
47196         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47197         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
47198         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
47199         GNULIB_WRITE, REPLACE_WRITE.
47200         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
47201         and the SIGPIPE issue.
47202
47203         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
47204         (raise): New declaration.
47205         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
47206         (ext_signal): New function.
47207         (rpl_raise): New function.
47208         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
47209         GNULIB_SIGNAL_H_SIGPIPE.
47210         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
47211         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
47212
47213         * modules/sigpipe: New file.
47214         * m4/sigpipe.m4: New file.
47215
47216 2008-09-25  Derek Price  <derek@ximbiot.com>
47217             Bruno Haible  <bruno@clisp.org>
47218
47219         * gnulib-tool (func_import): Report all license incompatibilities, not
47220         just the first one.
47221
47222 2008-09-25  Bruno Haible  <bruno@clisp.org>
47223
47224         * gnulib-tool (func_import): When computing the edits, consider not
47225         only the Makefile.ams that exist but also those that will be generated.
47226
47227 2008-09-25  Simon Josefsson  <simon@josefsson.org>
47228
47229         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
47230         fixes gnulib-tool --test warning about duplicate dependency.
47231
47232 2008-09-25  Bruno Haible  <bruno@clisp.org>
47233
47234         * gnulib-tool: Don't ask the user to perform edits in the generated
47235         Makefile.ams.
47236         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
47237         apply to the Makefile.am being generated.
47238         (func_emit_tests_Makefile_am): Execute edits that apply to the
47239         Makefile.am being generated.
47240         (func_import): Setup list of Makefile.am edits before emitting the
47241         Makefile.ams, not at the end.
47242         (func_create_testdir): Update.
47243         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47244
47245 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47246
47247         * gnulib-tool (func_import): Store the --tests-base option in the
47248         comment in gnulib-cache.m4.
47249
47250 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
47251
47252         * NEWS: Document increased portability that sys_select now provides.
47253
47254         * lib/sys_select.in.h: Install select wrapper.
47255         * lib/sys_socket.in.h: Use more descriptive name when there is no
47256         select wrapper.
47257         * lib/winsock-select.c: New.
47258         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
47259         Require gl_HEADER_SYS_SOCKET.
47260         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
47261         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
47262         * tests/test-sys_select.c: Add functional tests.
47263
47264 2008-09-24  Eric Blake  <ebb9@byu.net>
47265
47266         open, fopen: close fd leak in last patch
47267         * lib/open.c (rpl_open): Close fd before returning error.
47268         * lib/fopen.c (rpl_fopen): Close fd before returning error.
47269         * doc/posix-functions/open.texi (open): Document that Irix also
47270         has the bug.
47271         * doc/posix-functions/fopen.texi (fopen): Likewise.
47272         Reported by Paolo Bonzini.
47273
47274 2008-09-24  Bruno Haible  <bruno@clisp.org>
47275
47276         Ensure that a filename ending in a slash cannot be used to access a
47277         non-directory.
47278         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
47279         to check whether it's really a directory.
47280         * lib/fopen.c: Include fcntl.h, unistd.h.
47281         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
47282         and fdopen().
47283         * modules/fopen (Depends-on): Add unistd.
47284         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
47285         * tests/test-fopen.c (main): Likewise.
47286         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
47287         * doc/posix-functions/fopen.texi: Likewise.
47288         Reported by Eric Blake.
47289
47290 2008-09-23  Eric Blake  <ebb9@byu.net>
47291
47292         c-stack: avoid compiler optimizations when provoking overflow
47293         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
47294         recursion harder to optimize, to ensure a stack overflow occurs.
47295         * tests/test-c-stack.c (recurse): Likewise.
47296         Borrowed from libsigsegv.
47297
47298         c-stack: work around Irix sigaltstack bug
47299         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
47300         whether sigaltstack uses wrong end of stack_t (copied in part from
47301         libsigsegv).
47302         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
47303         Irix bug, without requiring an over-allocation.
47304         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
47305         bug.
47306
47307         fopen: document mingw bug on directories
47308         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
47309         not allowing a stream visiting a directory, even though reading
47310         from such a stream is not portable.
47311
47312 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
47313
47314         * lib/poll.c: Rewrite.
47315         * modules/poll: Depend on alloca.
47316
47317 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
47318
47319         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
47320         instead define prototypes for a full set of wrappers.  Ensure
47321         that Cygwin does not use the compatibility code, which is only
47322         for MinGW.
47323         * lib/winsock.c: New.
47324         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
47325         * modules/sys_socket: Add lib/winsock.c.
47326
47327         * modules/poll-tests: Add errno and perror.
47328         * tests/test-poll.c: Use ioctl, not ioctlsocket.
47329
47330 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
47331
47332         * tests/test-poll.c: Downgrade minimum needed Winsock version.
47333
47334 2008-09-23  Bruno Haible  <bruno@clisp.org>
47335
47336         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
47337         * doc/glibc-functions/*: Likewise.
47338
47339 2008-09-23  Simon Josefsson  <simon@josefsson.org>
47340
47341         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
47342         success.
47343
47344 2008-09-22  Eric Blake  <ebb9@byu.net>
47345             Bruno Haible  <bruno@clisp.org>
47346
47347         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
47348         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
47349         supply %A but mishandle pseudo-NaN.
47350         Reported by Simon Josefsson.
47351
47352 2008-09-21  Bruno Haible  <bruno@clisp.org>
47353
47354         * tests/test-lock.c (main): Tweak skip message.
47355         * tests/test-tls.c (main): Likewise.
47356
47357 2008-09-21  Bruno Haible  <bruno@clisp.org>
47358
47359         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
47360         whether 'struct sigaction' has sa_sigaction here...
47361         (gl_PREREQ_SIG_HANDLER_H): ... not here.
47362         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
47363
47364 2008-09-21  Bruno Haible  <bruno@clisp.org>
47365
47366         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
47367         section.
47368         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
47369         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
47370         the new section.
47371         (Support for obsolete systems lacking POSIX:2001): New section.
47372         (String handling <string.h>): Move strdup to the new section.
47373         Suggested by Simon Josefsson and Paolo Bonzini.
47374
47375 2008-09-21  Bruno Haible  <bruno@clisp.org>
47376
47377         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
47378         exponents in %e and %g results on 'long double'. Needed for mingw's
47379         improved *printf functions.
47380         * tests/test-vasprintf-posix.c (test_function): Likewise.
47381         * tests/test-snprintf-posix.h (test_function): Likewise.
47382         * tests/test-sprintf-posix.h (test_function): Likewise.
47383         Reported by Eric Blake.
47384
47385 2008-09-21  Bruno Haible  <bruno@clisp.org>
47386
47387         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
47388         * tests/test-sprintf-posix.h (test_function): Likewise.
47389
47390 2008-09-21  Bruno Haible  <bruno@clisp.org>
47391
47392         * modules/getpass (Depends-on): Add strdup-posix.
47393
47394         New module 'strdup-posix'.
47395         * modules/strdup-posix: New file.
47396         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
47397         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
47398         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47399         REPLACE_STRDUP.
47400         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
47401         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
47402         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47403         strdup-posix.
47404
47405         * modules/strdup (Depends-on): Remove malloc-posix.
47406
47407 2008-09-20  Bruno Haible  <bruno@clisp.org>
47408
47409         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
47410         Wildenhues.
47411
47412 2008-09-20  Bruno Haible  <bruno@clisp.org>
47413
47414         Ensure that wint_t gets defined on IRIX 5.3.
47415         * lib/wchar.in.h (wint_t): Define if not defined by the system.
47416         * lib/wctype.in.h (wint_t): Likewise.
47417         (__wctype_wint_t): Remove type.
47418         (isw*): Use wint_t instead of __wctype_wint_t.
47419         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
47420         * modules/wchar (Files): Add m4/wint_t.m4.
47421         (Makefile.am): Substitute HAVE_WINT_T.
47422         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
47423         * tests/test-wctype.c: Check that wint_t is defined.
47424         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
47425         * doc/posix-headers/wctype.texi: Likewise.
47426         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47427
47428 2008-09-18  Bruno Haible  <bruno@clisp.org>
47429
47430         * gnulib-tool (func_exit): Update comment.
47431
47432 2008-09-18  Simon Josefsson  <simon@josefsson.org>
47433
47434         * modules/getaddrinfo (Depends-on): Remove strdup, this module
47435         assumes strdup exists and does not depend on strdup to return
47436         ENOMEM on out of memory conditions.
47437
47438 2008-09-18  Bruno Haible  <bruno@clisp.org>
47439
47440         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
47441         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
47442         digits for the exponent.
47443
47444 2008-09-18  Jim Meyering  <meyering@redhat.com>
47445             Bruno Haible  <bruno@clisp.org>
47446
47447         * lib/vasnprintf.c (decimal_point_char): Define also if
47448         NEED_PRINTF_INFINITE_LONG_DOUBLE.
47449
47450 2008-09-16  Bruno Haible  <bruno@clisp.org>
47451         and Eric Blake  <ebb9@byu.net>
47452
47453         vasnprintf: support Irix 5.3
47454         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
47455         that mishandle long double infinity.
47456         Reported by Tom G. Christensen.
47457
47458 2008-09-16  Bruno Haible  <bruno@clisp.org>
47459
47460         * doc/glibc-functions/scandir.texi: Mention the function is missing on
47461         Solaris 9.
47462         * doc/glibc-functions/alphasort.texi: Likewise.
47463         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
47464
47465 2008-09-16  Jim Meyering  <meyering@redhat.com>
47466
47467         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
47468         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
47469         a umask modification leak out of a subshell.  Otherwise, the
47470         opensolaris /bin/sh would be accepted and thus cause unwarranted
47471         failures in the coreutils test suite.
47472
47473 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
47474
47475         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
47476         to succeed.
47477
47478 2008-09-16  Jim Meyering  <meyering@redhat.com>
47479
47480         avoid spurious test failure when library is built without ACL support
47481         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
47482         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
47483         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
47484         * tests/test-copy-acl.sh: Likewise.
47485
47486 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47487
47488         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
47489         based on character occurrence counts.
47490
47491 2008-09-15  Eric Blake  <ebb9@byu.net>
47492
47493         tests: avoid some compiler warnings
47494         * tests/test-memchr.c (main): Pass NULL indirectly.
47495         * tests/test-closein.c (main): Avoid unused variable.
47496
47497 2008-09-15  Bruno Haible  <bruno@clisp.org>
47498
47499         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
47500         are missing on OpenBSD 4.0 individually.
47501         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47502
47503 2008-09-15  Bruno Haible  <bruno@clisp.org>
47504
47505         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
47506         * doc/posix-functions/strerror.texi: Mention also Cygwin.
47507         * doc/posix-functions/perror.texi: Likewise.
47508         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
47509         is missing.
47510         Reported by Eric Blake.
47511
47512         * lib/errno.in.h: Use replacement values >= 2000.
47513         Reported by Eric Blake.
47514
47515 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47516
47517         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
47518         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
47519         limit.
47520         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
47521         compareseq was aborted.
47522
47523 2008-09-14  Bruno Haible  <bruno@clisp.org>
47524
47525         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
47526         yvec_edit_count.
47527         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
47528         (fstrcmp_bounded): Simplify result computation accordingly.
47529
47530 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47531
47532         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
47533         (fstrcmp): Define in terms of fstrcmp_bounded.
47534         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
47535         lower_bound argument.
47536         Return quickly if the result is certainly < lower_bound.
47537         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
47538
47539 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47540
47541         * lib/diffseq.h (EARLY_ABORT): New macro.
47542         (compareseq): Change return type to bool. Return true when EARLY_ABORT
47543         evaluates to true.
47544
47545 2008-09-14  Bruno Haible  <bruno@clisp.org>
47546
47547         * modules/perror-tests: New file.
47548         * tests/test-perror.sh: New file.
47549         * tests/test-perror.c: New file.
47550
47551         New module 'perror'.
47552         * lib/stdio.in.h (perror): New declaration.
47553         * lib/perror.c: New file.
47554         * m4/perror.m4: New file.
47555         * modules/perror: New file.
47556         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
47557         * doc/posix-functions/perror.texi: Mention the perror module.
47558         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
47559         REPLACE_PERROR.
47560         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
47561         REPLACE_PERROR.
47562
47563 2008-09-14  Bruno Haible  <bruno@clisp.org>
47564
47565         * modules/stdio (Makefile.am): Reorder to match the order in
47566         lib/stdio.in.h.
47567         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47568
47569 2008-09-13  Bruno Haible  <bruno@clisp.org>
47570
47571         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
47572
47573 2008-09-13  Bruno Haible  <bruno@clisp.org>
47574
47575         Extend strerror to cover the added errno values.
47576         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
47577         (rpl_strerror): Provide error messages for the added errno values and
47578         for the WSA* values.
47579         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
47580         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
47581         strerror.
47582         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
47583         * modules/strerror (Depends-on): Add errno.
47584         * doc/posix-functions/strerror.texi: Document the change.
47585         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
47586         and EOVERFLOW.
47587
47588 2008-09-13  Bruno Haible  <bruno@clisp.org>
47589
47590         * modules/EOVERFLOW: Remove file.
47591         * m4/eoverflow.m4: Remove file.
47592         * modules/EOVERFLOW-tests: Remove file.
47593         * tests/test-EOVERFLOW.c: Remove file.
47594         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
47595         * modules/ftell (Depends-on): Likewise.
47596         * modules/getdelim (Depends-on): Likewise.
47597         * modules/getugroups (Depends-on): Likewise.
47598         * modules/poll (Depends-on): Likewise.
47599         * modules/snprintf (Depends-on): Likewise.
47600         * modules/sprintf-posix (Depends-on): Likewise.
47601         * modules/vasnprintf (Depends-on): Likewise.
47602         * modules/vasprintf (Depends-on): Likewise.
47603         * modules/vfprintf-posix (Depends-on): Likewise.
47604         * modules/vsnprintf (Depends-on): Likewise.
47605         * modules/vsprintf-posix (Depends-on): Likewise.
47606         * modules/xvasprintf (Depends-on): Likewise.
47607         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47608         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
47609         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
47610         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
47611         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47612         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
47613         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
47614         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
47615         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47616         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
47617         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
47618         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
47619         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47620         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
47621         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
47622         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
47623         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47624         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
47625         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
47626         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
47627         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47628         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
47629         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
47630         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
47631         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
47632         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47633         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
47634         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
47635         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
47636         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
47637         * MODULES.html.sh: Remove EOVERFLOW.
47638         * NEWS: Mention the change.
47639
47640 2008-09-13  Bruno Haible  <bruno@clisp.org>
47641
47642         * modules/errno-tests: New file.
47643         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
47644
47645         * lib/errno.in.h: New file.
47646         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
47647         * modules/errno: New file.
47648         * doc/posix-headers/errno.texi: Update documentation.
47649         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
47650
47651 2008-09-13  Bruno Haible  <bruno@clisp.org>
47652
47653         * tests/test-poll.c: Use #if for native Windows, rather than testing
47654         __MSVCRT__.
47655
47656 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47657             Bruno Haible  <bruno@clisp.org>
47658
47659         * lib/glob.c: Don't include <pwd.h> on native Windows.
47660         (WINDOWS32): New macro.
47661         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
47662
47663 2008-09-13  Bruno Haible  <bruno@clisp.org>
47664
47665         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
47666         (ETIMEDOUT): Remove macro.
47667         (glthread_cond_timedwait_multithreaded): New declaration.
47668         (glthread_cond_timedwait): Use it.
47669         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
47670         (glthread_cond_timedwait_multithreaded): New function.
47671
47672 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47673
47674         * modules/poll-tests: Do not check for io.h.
47675         * tests/test-poll.c: Check for __MSVCRT__ instead.
47676
47677 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47678
47679         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
47680         * modules/poll-tests: Add inet_pton, stdbool, sockets.
47681         * tests/test-poll.c: Use them.  Use _pipe on Windows.
47682
47683 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47684
47685         * modules/poll-tests: New.
47686         * tests/test-poll.c: New.
47687
47688 2008-09-12  Eric Blake  <ebb9@byu.net>
47689
47690         frexp: test for NetBSD failure on -0.0
47691         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
47692         not all, bugs from NetBSD 3.0 have been fixed.
47693         * doc/posix-functions/frexp.texi (frexp): Document bug.
47694         Reported by Thomas Klausner.
47695
47696         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
47697         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
47698         literal -0.0.
47699         Reported by Jonathan C. Patschke <jp@centtech.com>.
47700
47701 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47702
47703         * lib/glthread/cond.h: Use dummy implementation also if
47704         USE_WIN32_THREADS.
47705
47706 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47707
47708         * modules/fnmatch-posix (License): Change to LGPLv2+.
47709         * modules/fnmatch-gnu (License): Likewise.
47710
47711 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47712
47713         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
47714
47715 2008-09-11  Jim Meyering  <meyering@redhat.com>
47716
47717         * users.txt: Add gtk-vnc.
47718
47719 2008-09-08  Simon Josefsson  <simon@josefsson.org>
47720
47721         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
47722         rotate amounts.
47723
47724         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
47725         required for 16-bit and 8-bit rotates.
47726         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
47727         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
47728         UINT8_MAX instead of hard-coded constants.
47729         Suggested by Paul Eggert.
47730
47731 2008-09-07  Bruno Haible  <bruno@clisp.org>
47732
47733         * tests/test-striconveh.c (main): Check behaviour when converting from
47734         UTF-7.
47735
47736         Make striconveh work better with stateful encodings.
47737         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
47738         that iconv does not increment the inptr when returning -1/EINVAL.
47739
47740 2008-09-07  Bruno Haible  <bruno@clisp.org>
47741
47742         * build-aux/config.rpath: Update according to libtool-2.2.6.
47743         * build-aux/config.libpath: Likewise.
47744
47745 2008-09-06  Bruno Haible  <bruno@clisp.org>
47746
47747         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
47748         * lib/freadptr.c (freadptr): Likewise.
47749         * lib/freadseek.c (freadptrinc): Likewise.
47750         Reported by Simon Josefsson.
47751
47752 2008-09-06  Bruno Haible  <bruno@clisp.org>
47753
47754         * modules/freadptr (License): Change to LGPLv2+.
47755         * modules/freadseek (License): Likewise.
47756         Suggested by Eric Blake.
47757
47758         * modules/memchr2 (License): Change to LGPLv2+.
47759         Approved by Eric Blake.
47760
47761 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47762             Bruno Haible  <bruno@clisp.org>
47763
47764         Make gnulib-tool work with native 'sed' on AIX.
47765         * gnulib-tool (sed_noop): New variable.
47766         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
47767         func_add_or_update, func_create_testdir): Use it to initialize sed
47768         script variables.
47769         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47770
47771 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
47772             Bruno Haible  <bruno@clisp.org>
47773
47774         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
47775         also works after #include directives.
47776
47777 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
47778
47779         getdate.y: reject an out-of-range timezone value
47780         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
47781         the range [-24...+24].  When specified with only one or two digits,
47782         * tests/test-getdate.c: Tests for the fix.
47783         * doc/getdate.texi: Document this change.
47784
47785 2008-09-03  Bruno Haible  <bruno@clisp.org>
47786
47787         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
47788
47789 2008-09-02  Simon Josefsson  <simon@josefsson.org>
47790
47791         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
47792         <bruce.korb@gmail.com> with ideas from Ben Pfaff
47793         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
47794         Blake <ebb9@byu.net>.
47795
47796         * tests/test-bitrotate.c: Add more test vectors.
47797
47798 2008-09-02  Eric Blake  <ebb9@byu.net>
47799
47800         vasnprintf-posix: handle large precision via %.*d
47801         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
47802         when handling it ourselves.
47803         * tests/test-vasnprintf-posix.c (test_function): Add test.
47804         * tests/test-snprintf-posix.h (test_function): Likewise.
47805         * tests/test-sprintf-posix.h (test_function): Likewise.
47806         * tests/test-vasprintf-posix.c (test_function): Likewise.
47807         Reported by Alain Guibert.
47808
47809 2008-09-01  Eric Blake  <ebb9@byu.net>
47810
47811         c-stack: make configure-time check more robust
47812         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
47813         successful sigaction call.
47814         Reported by Tom G. Christensen.
47815
47816 2008-09-01  Bruno Haible  <bruno@clisp.org>
47817
47818         New module 'findprog-lgpl'.
47819         * modules/findprog-lgpl: New file.
47820         * lib/findprog-lgpl.c: New file.
47821         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
47822         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
47823         to decide whether to use strdup or xstrdup, concatenated_filename or
47824         xconcatenated_filename.
47825
47826 2008-09-01  Bruno Haible  <bruno@clisp.org>
47827
47828         Split module 'concat-filename' into 'concat-filename' (LGPL) and
47829         'xconcat-filename' (GPL).
47830         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
47831         (License): Change to LGPLv2+.
47832         * modules/xconcat-filename: New file.
47833         * lib/concat-filename.h (concatenated_filename): Change specification.
47834         (xconcatenated_filename): New declaration.
47835         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
47836         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
47837         memory situations.
47838         * lib/xconcat-filename.c: New file.
47839         * NEWS: Mention the change.
47840         * lib/findprog.c: Include concat-filename.h, not filename.h.
47841         (find_in_path): Use xconcatenated_filename instead of
47842         concatenated_filename.
47843         * lib/javacomp.c: Include concat-filename.h, not filename.h.
47844         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
47845         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
47846         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
47847         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
47848         instead of concatenated_filename.
47849         * lib/javaexec.c: Include concat-filename.h, not filename.h.
47850         (execute_java_class): Use xconcatenated_filename instead of
47851         concatenated_filename.
47852         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
47853         * modules/javacomp (Depends-on): Likewise.
47854         * modules/javaexec (Depends-on): Likewise.
47855
47856 2008-09-01  Bruno Haible  <bruno@clisp.org>
47857
47858         Split module 'filename' into 'filename' and 'concat-filename'.
47859         * modules/filename: Keep only lib/filename.h.
47860         (License): Change to LGPLv2+.
47861         * modules/concat-filename: New file, extracted from modules/filename.
47862         * lib/filename.h (concatenated_filename): Remove declaration.
47863         * lib/concat-filename.h: New file, extracted from lib/filename.h.
47864         * lib/concat-filename.c: Include concat-filename.h.
47865         * NEWS: Mention the change.
47866
47867 2008-09-01  Simon Josefsson  <simon@josefsson.org>
47868
47869         * lib/bitrotate.h (rotl8, rotr8): Add.
47870
47871         * modules/bitrotate (configure.ac): Need
47872         AC_REQUIRE([AC_C_INLINE]).
47873         (Description): Mention stdint.h.  Reported by Bruno Haible
47874         <bruno@clisp.org>.
47875
47876         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
47877         Paolo Bonzini <bonzini@gnu.org>.
47878
47879 2008-08-31  Bruno Haible  <bruno@clisp.org>
47880
47881         Assume Solaris specific bi-arch conventions on Solaris systems.
47882         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
47883         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
47884         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
47885         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
47886         like acl_libdirstem.
47887         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
47888         acl_libdirstem.
47889         * NEWS: Mention the change.
47890         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
47891
47892 2008-08-31  Jim Meyering  <meyering@redhat.com>
47893
47894         * lib/strftime.h: Add comments describing the two added arguments.
47895
47896         remove duplicate #include directives
47897         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
47898         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
47899
47900 2008-08-31  Bruno Haible  <bruno@clisp.org>
47901
47902         New module 'sigpipe-die'.
47903         * modules/sigpipe-die: New file.
47904         * lib/sigpipe-die.h: New file.
47905         * lib/sigpipe-die.c: New file.
47906         * MODULES.html.sh (Signal handling): Add sigpipe-die.
47907
47908 2008-08-31  Bruno Haible  <bruno@clisp.org>
47909
47910         Don't override previously installed signal handlers.
47911         * lib/fatal-signal.c (saved_sigactions): New variable.
47912         (uninstall_handlers): Reset the signal to the saved handler, not
47913         to SIG_DFL (except when ignored).
47914         (install_handlers): Save the previous handlers.
47915
47916 2008-08-30  Bruno Haible  <bruno@clisp.org>
47917
47918         * gnulib-tool (func_reset_sigpipe): New function.
47919         (func_get_automake_snippet, func_modules_transitive_closure,
47920         func_import): Invoke it before a join command that reads from stdin,
47921         to avoid "echo: write error: Broken pipe" error messages on stderr.
47922         Reported by Sam Steingold <sds@gnu.org>.
47923
47924 2008-08-30  Bruno Haible  <bruno@clisp.org>
47925
47926         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
47927         Code copied from m4/open.m4.
47928         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
47929         access and the filename ends in a slash. Code copied from lib/open.c.
47930         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
47931         * tests/test-fopen.c (main): Check against bug with trailing slash.
47932
47933 2008-08-29  Bruno Haible  <bruno@clisp.org>
47934
47935         Avoid some "gcc -pedantic" warnings.
47936         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
47937         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
47938         * lib/dirent.in.h: Likewise.
47939         * lib/fcntl.in.h: Likewise.
47940         * lib/float.in.h: Likewise.
47941         * lib/iconv.in.h: Likewise.
47942         * lib/inttypes.in.h: Likewise.
47943         * lib/locale.in.h: Likewise.
47944         * lib/math.in.h: Likewise.
47945         * lib/netinet_in.in.h: Likewise.
47946         * lib/search.in.h: Likewise.
47947         * lib/signal.in.h: Likewise.
47948         * lib/stdarg.in.h: Likewise.
47949         * lib/stdint.in.h: Likewise.
47950         * lib/stdio.in.h: Likewise.
47951         * lib/stdlib.in.h: Likewise.
47952         * lib/string.in.h: Likewise.
47953         * lib/strings.in.h: Likewise.
47954         * lib/sys_select.in.h: Likewise.
47955         * lib/sys_socket.in.h: Likewise.
47956         * lib/sys_stat.in.h: Likewise.
47957         * lib/sys_time.in.h: Likewise.
47958         * lib/sysexits.in.h: Likewise.
47959         * lib/time.in.h: Likewise.
47960         * lib/unistd.in.h: Likewise.
47961         * lib/wchar.in.h: Likewise.
47962         * lib/wctype.in.h: Likewise.
47963         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
47964         * modules/fchdir (Makefile.am): Likewise.
47965         * modules/fcntl (Makefile.am): Likewise.
47966         * modules/float (Makefile.am): Likewise.
47967         * modules/iconv_open (Makefile.am): Likewise.
47968         * modules/inttypes (Makefile.am): Likewise.
47969         * modules/locale (Makefile.am): Likewise.
47970         * modules/math (Makefile.am): Likewise.
47971         * modules/netinet_in (Makefile.am): Likewise.
47972         * modules/search (Makefile.am): Likewise.
47973         * modules/signal (Makefile.am): Likewise.
47974         * modules/stdarg (Makefile.am): Likewise.
47975         * modules/stdint (Makefile.am): Likewise.
47976         * modules/stdio (Makefile.am): Likewise.
47977         * modules/stdlib (Makefile.am): Likewise.
47978         * modules/string (Makefile.am): Likewise.
47979         * modules/strings (Makefile.am): Likewise.
47980         * modules/sys_select (Makefile.am): Likewise.
47981         * modules/sys_socket (Makefile.am): Likewise.
47982         * modules/sys_stat (Makefile.am): Likewise.
47983         * modules/sys_time (Makefile.am): Likewise.
47984         * modules/sysexits (Makefile.am): Likewise.
47985         * modules/time (Makefile.am): Likewise.
47986         * modules/unistd (Makefile.am): Likewise.
47987         * modules/wchar (Makefile.am): Likewise.
47988         * modules/wctype (Makefile.am): Likewise.
47989         Reported by Reuben Thomas <rrt@sc3d.org>.
47990
47991 2008-08-29  Bruno Haible  <bruno@clisp.org>
47992
47993         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
47994         any more.
47995
47996 2008-08-29  Simon Josefsson  <simon@josefsson.org>
47997
47998         * MODULES.html.sh (Misc): Add bitrotate.
47999
48000         * modules/bitrotate: New file.
48001
48002         * lib/bitrotate.h: New file.
48003
48004         * modules/bitrotate-tests: New file.
48005
48006         * tests/test-bitrotate.c: New file.
48007
48008         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
48009         on the bitrotate module.
48010
48011         * lib/arctwo.c: Use new bitrotate module.
48012
48013 2008-08-29  Jim Meyering  <meyering@redhat.com>
48014
48015         bootstrap: merge changes from coreutils
48016         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
48017         of copied files.  Remove a kludge, now that this is fixed.
48018         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
48019         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
48020         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
48021
48022 2008-08-29  Bruno Haible  <bruno@clisp.org>
48023
48024         * MODULES.html.sh: Remove --cvs-urls option.
48025
48026 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
48027
48028         maint.mk: adjust to file name change
48029         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
48030
48031 2008-08-28  Jim Meyering  <meyering@redhat.com>
48032
48033         * modules/getndelim2 (License): Relicense to LGPLv2+.
48034         Approved by Richard Stallman for the version of 1995, and by
48035         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
48036
48037 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
48038
48039         * lib/getdelim.c (flockfile, funlockfile): Make all of them
48040         dummy if one is not available.  Do not touch them if
48041         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
48042         (getc_maybe_unlocked): New.
48043         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
48044
48045 2008-08-26  Eric Blake  <ebb9@byu.net>
48046
48047         doc/INSTALL: resync from autoconf
48048         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
48049         (INSTALL_PRELUDE): Delete; this is done more efficiently by
48050         moving...
48051         * install.texi [!autoconf]: ...here.  Resync from autoconf.
48052         * INSTALL: Regenerate.
48053         * INSTALL.ISO: New file.
48054         * INSTALL.UTF-8: Likewise.
48055
48056 2008-08-26  Jim Meyering  <meyering@redhat.com>
48057
48058         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
48059         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
48060         these definitions conditional, so that they may be overridden, too.
48061
48062 2008-08-26  Bruno Haible  <bruno@clisp.org>
48063
48064         Generate INSTALL file variants with prettier quotes.
48065         * doc/Makefile (INSTALL_PRELUDE): New macro.
48066         (INSTALL): Use it.
48067         (INSTALL.ISO, INSTALL.UTF-8): New rules.
48068
48069 2008-08-26  Bruno Haible  <bruno@clisp.org>
48070
48071         Run makeinfo in an English locale.
48072         * doc/Makefile (MAKEINFO): New variable.
48073
48074 2008-08-26  Bruno Haible  <bruno@clisp.org>
48075
48076         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
48077         Suggested by Eric Blake.
48078
48079 2008-08-25  Bruno Haible  <bruno@clisp.org>
48080
48081         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
48082
48083 2008-08-25  Eric Blake  <ebb9@byu.net>
48084
48085         c-stack: test that stack overflow can be caught
48086         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
48087         that platform allows handling stack overflow; at least OS/2 EMX
48088         has sigaltstack, but crashes before transferring control to
48089         handler on stack overflow.
48090         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
48091         check for HAVE_STACK_OVERFLOW_HANDLING.
48092         Reported by Elbert Pol.
48093
48094 2008-08-25  Bruno Haible  <bruno@clisp.org>
48095
48096         * doc/posix-functions/strftime.texi: Fix description of strftime
48097         module.
48098
48099 2008-08-24  Bruno Haible  <bruno@clisp.org>
48100
48101         * tests/uniwidth/test-uc_width2.c: New file.
48102         * tests/uniwidth/test-uc_width2.sh: New file.
48103         * modules/uniwidth/width-tests (Files): Add the new files.
48104         (TESTS): Add uniwidth/test-uc_width2.sh.
48105         (TESTS_ENVIRONMENT): New variable.
48106         (check_PROGRAMS): Add test-uc_width2.
48107         (test_uc_width2_SOURCES): New variable.
48108
48109         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
48110         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
48111         not 0x00AB.
48112         Reported by Alexander V. Lukyanov <lav@netis.ru>.
48113
48114 2008-08-22  Eric Blake  <ebb9@byu.net>
48115
48116         test-lock, test-tls: mention why a test is skipped
48117         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
48118         skipped.
48119         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
48120
48121         count-one-bits: relax license
48122         * modules/count-one-bits (License): Relicense to LGPLv2+.
48123         Suggested by Ludovic Courtès, approved by Ben Pfaff.
48124
48125 2008-08-22  Andreas Schwab  <schwab@suse.de>
48126
48127         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
48128         Remove spurious space in assignment.
48129
48130 2008-08-21  Simon Josefsson  <simon@josefsson.org>
48131
48132         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
48133         Paul Eggert <eggert@CS.UCLA.EDU>.
48134
48135 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
48136
48137         * modules/gettext: Add m4/threadlib.m4.
48138
48139 2008-08-19  Eric Blake  <ebb9@byu.net>
48140
48141         test-c-stack: fix compilation failure on FreeBSD 5.0
48142         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
48143         headers before <sys/resource.h>.
48144         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
48145         the bug.
48146         Reported by Nelson H. F. Beebe.
48147
48148         strverscmp: migrate from "strverscmp.h" to <string.h>
48149         * modules/string (Makefile.am): Add new hooks.
48150         * modules/strverscmp (Files): Remove strverscmp.h.
48151         (Depends-on): Add string.
48152         (configure.ac): Add indicator.
48153         (Include): Mention new header.
48154         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
48155         defaults.
48156         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
48157         results.
48158         * lib/strverscmp.h: Delete.
48159         * lib/string.in.h (strverscmp): Provide declaration, when needed.
48160         * tests/test-strverscmp.c (includes): Adjust client.
48161         * lib/check-version.c (includes): Likewise.
48162         * NEWS: Document the change.
48163
48164         strverscmp: add unit test
48165         * modules/strverscmp-tests: New file.
48166         * tests/test-strverscmp.c: Likewise.
48167
48168 2008-08-19  Simon Josefsson  <simon@josefsson.org>
48169
48170         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
48171         regarding Windows crypto stuff, from Mono.
48172
48173 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
48174
48175         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
48176         if present, for intel RND.  Return error on failures.
48177
48178 2008-08-18  Ben Pfaff  <blp@gnu.org>
48179
48180         gitlog-to-changelog: give better diagnostic for failed pipe-open
48181         * build-aux/gitlog-to-changelog: Improve error message: suggest
48182         that the version of Git may be too old.
48183
48184 2008-08-18  Simon Josefsson  <simon@josefsson.org>
48185
48186         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
48187         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
48188
48189 2008-08-18  Bruno Haible  <bruno@clisp.org>
48190
48191         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
48192         pthread_in_use().
48193
48194 2008-08-18  Bruno Haible  <bruno@clisp.org>
48195
48196         * lib/glthread/threadlib.c: Include <pthread.h>.
48197
48198 2008-08-18  Bruno Haible  <bruno@clisp.org>
48199
48200         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
48201         glthread_recursive_lock_* macros.
48202         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
48203         Fix syntax error.
48204
48205 2008-08-18  Bruno Haible  <bruno@clisp.org>
48206
48207         * lib/glthread/thread.c: Avoid forcing a context switch right after
48208         thread creation.
48209
48210 2008-08-17  Bruno Haible  <bruno@clisp.org>
48211
48212         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
48213         * lib/glthread/thread.h: Provide Win32 specific implementation.
48214         * modules/thread (Files): Add lib/glthread/thread.c.
48215         (Depends-on): Add lock.
48216         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
48217
48218 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48219
48220         New module 'yield'.
48221         * modules/yield: New file.
48222         * lib/glthread/yield.h: New file.
48223         * m4/yield.m4: New file.
48224         * MODULES.html.sh (Multithreading): Add yield.
48225
48226 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48227
48228         New module 'thread'.
48229         * modules/thread: New file.
48230         * lib/glthread/thread.h: New file.
48231         * m4/thread.m4: New file.
48232         * MODULES.html.sh (Multithreading): Add thread.
48233
48234 2008-08-17  Bruno Haible  <bruno@clisp.org>
48235
48236         * lib/glthread/lock.h: Include <stdlib.h> always.
48237         * lib/glthread/tls.h: Likewise.
48238         * lib/glthread/cond.h: Likewise.
48239
48240 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48241
48242         New module 'cond'.
48243         * modules/cond: New file.
48244         * lib/glthread/cond.h: New file.
48245         * lib/glthread/cond.c: New file.
48246         * m4/cond.m4: New file.
48247         * MODULES.html.sh (Multithreading): Add cond.
48248
48249 2008-08-16  Eric Blake  <ebb9@byu.net>
48250
48251         c-stack: fix regression on Irix 5.3 from 2008-06-21
48252         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
48253         sa_sigaction...
48254         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
48255         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
48256         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
48257         * modules/signal (Makefile.am): Use the value.
48258         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
48259         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
48260         * doc/posix-headers/signal.texi (signal.h): Document this
48261         portability issue.
48262         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
48263         Reported by Tom G. Christensen.
48264
48265 2008-08-17  Bruno Haible  <bruno@clisp.org>
48266
48267         New module 'threadlib'.
48268         * modules/threadlib: New file.
48269         * lib/glthread/threadlib.c: New file, extracted from
48270         lib/glthread/lock.c.
48271         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
48272         functions.
48273         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
48274         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
48275         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
48276         macros.
48277         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
48278         (gl_DISABLE_THREADS): Remove macro.
48279         * modules/lock (Files): Remove build-aux/config.rpath.
48280         (Depends-on): Remove havelib. Add threadlib.
48281         (configure.ac-early): Remove section.
48282         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
48283         * modules/tls (Depends-on): Remove lock. Add threadlib.
48284         (Link): New section, copied from threadlib.
48285         * MODULES.html.sh (Multithreading): Add threadlib.
48286
48287 2008-08-14  Bruno Haible  <bruno@clisp.org>
48288
48289         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
48290         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
48291         glthread_rwlock_unlock, glthread_rwlock_destroy,
48292         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
48293         glthread_recursive_lock_destroy): Define as macros always.
48294         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
48295         glthread_lock_lock.
48296         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
48297         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
48298         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
48299         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
48300         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
48301         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
48302         (glthread_recursive_lock_lock_func): Renamed from
48303         glthread_recursive_lock_lock.
48304         (glthread_recursive_lock_unlock_func): Renamed from
48305         glthread_recursive_lock_unlock.
48306         (glthread_recursive_lock_destroy_func): Renamed from
48307         glthread_recursive_lock_destroy.
48308
48309 2008-08-14  Bruno Haible  <bruno@clisp.org>
48310
48311         * lib/glthread/lock.h: Renamed from lib/lock.h.
48312         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
48313         * lib/glthread/tls.h: Renamed from lib/tls.h.
48314         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
48315         * lib/fstrcmp.c: Update includes.
48316         * lib/strsignal.c: Update includes.
48317         * modules/lock (Files, Makefile.am): Update.
48318         (Include): Change to "glthread/lock.h".
48319         * modules/tls (Files, Makefile.am): Update.
48320         (Include): Change to "glthread/tls.h".
48321         * tests/test-lock.c: Update includes.
48322         * tests/test-tls.c: Update includes.
48323         * NEWS: Mention the renamed header files.
48324
48325 2008-08-11  Jim Meyering  <meyering@redhat.com>
48326
48327         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
48328
48329 2008-08-11  Eric Blake  <ebb9@byu.net>
48330
48331         test-c-stack: avoid C99-ism
48332         * tests/test-c-stack.c (main): Fix whitespace, move declaration
48333         before statement.
48334         Reported by Alain Guibert.
48335
48336 2008-08-10  Jim Meyering  <meyering@redhat.com>
48337
48338         ensure that return value of uinttostr et al are not ignored
48339         * lib/inttostr.h (__GNUC_PREREQ): Define.
48340         (__attribute_warn_unused_result__): Define.
48341         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
48342
48343 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
48344
48345         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
48346         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
48347
48348 2008-08-07  Jim Meyering  <meyering@redhat.com>
48349
48350         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
48351
48352         * modules/mkstemp (License): Relicense under LGPLv2+.
48353         * modules/tempname (License): Likewise.
48354
48355 2008-08-06  Bruno Haible  <bruno@clisp.org>
48356
48357         * lib/poll.c (poll): Further micro-optimization.
48358
48359 2008-08-06  Jim Meyering  <meyering@redhat.com>
48360
48361         inet_pton.c: use locale-independent tolower
48362         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
48363         (inet_pton6): Use c_tolower rather than tolower.
48364         * modules/inet_pton (Depends-on): Add c-ctype.
48365
48366 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
48367
48368         * lib/poll.c (poll): Avoid division when timeout is 0, cache
48369         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
48370
48371 2008-08-06  Jim Meyering  <meyering@redhat.com>
48372
48373         * modules/inet_pton (License): Relicense under LGPLv2+.
48374
48375 2008-08-03  Bruno Haible  <bruno@clisp.org>
48376
48377         Additional non-aborting API for lock and tls.
48378         * lib/lock.h: Include <errno.h>.
48379         (glthread_lock_init): New macro/function.
48380         (gl_lock_init): Define as wrapper around glthread_lock_init.
48381         (glthread_lock_lock): New macro/function.
48382         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
48383         (glthread_lock_unlock): New macro/function.
48384         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
48385         (glthread_lock_destroy): New macro/function.
48386         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
48387         (glthread_rwlock_init): New macro/function.
48388         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
48389         (glthread_rwlock_rdlock): New macro/function.
48390         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
48391         (glthread_rwlock_wrlock): New macro/function.
48392         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
48393         (glthread_rwlock_unlock): New macro/function.
48394         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
48395         (glthread_rwlock_destroy): New macro/function.
48396         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
48397         (glthread_recursive_lock_init): New macro/function.
48398         (gl_recursive_lock_init): Define as wrapper around
48399         glthread_recursive_lock_init.
48400         (glthread_recursive_lock_lock): New macro/function.
48401         (gl_recursive_lock_lock): Define as wrapper around
48402         glthread_recursive_lock_lock.
48403         (glthread_recursive_lock_unlock): New macro/function.
48404         (gl_recursive_lock_unlock): Define as wrapper around
48405         glthread_recursive_lock_unlock.
48406         (glthread_recursive_lock_destroy): New macro/function.
48407         (gl_recursive_lock_destroy): Define as wrapper around
48408         glthread_recursive_lock_destroy.
48409         (glthread_once): New macro/function.
48410         (gl_once): Define as wrapper around glthread_once.
48411         Update function declarations.
48412         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
48413         glthread_rwlock_init. Return error code.
48414         (glthread_rwlock_rdlock_multithreaded): Renamed from
48415         glthread_rwlock_rdlock. Return error code.
48416         (glthread_rwlock_wrlock_multithreaded): Renamed from
48417         glthread_rwlock_wrlock. Return error code.
48418         (glthread_rwlock_unlock_multithreaded): Renamed from
48419         glthread_rwlock_unlock. Return error code.
48420         (glthread_rwlock_destroy_multithreaded): Renamed from
48421         glthread_rwlock_destroy. Return error code.
48422         (glthread_recursive_lock_init_multithreaded): Renamed from
48423         glthread_recursive_lock_init. Return error code.
48424         (glthread_recursive_lock_lock_multithreaded): Renamed from
48425         glthread_recursive_lock_lock. Return error code.
48426         (glthread_recursive_lock_unlock_multithreaded): Renamed from
48427         glthread_recursive_lock_unlock. Return error code.
48428         (glthread_recursive_lock_destroy_multithreaded): Renamed from
48429         glthread_recursive_lock_destroy. Return error code.
48430         (glthread_once_call): Make static.
48431         (glthread_once_multithreaded): Renamed from glthread_once.
48432         * lib/tls.h: Include <errno.h>.
48433         (glthread_tls_key_init): New macro/function.
48434         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
48435         (glthread_tls_set): New macro/function.
48436         (gl_tls_set): Define as wrapper around glthread_tls_set.
48437         (glthread_tls_key_destroy): New macro/function.
48438         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
48439         Update function declarations.
48440         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
48441         glthread_tls_get.
48442         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48443
48444 2008-08-04  Eric Blake  <ebb9@byu.net>
48445
48446         gnumakefile: use space, not TAB, outside of targets
48447         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
48448
48449 2008-08-02  Jim Meyering  <meyering@redhat.com>
48450
48451         getdate.y: avoid locale-dependent date parsing failure
48452         In Turkish locales, getdate would fail to recognize keywords
48453         containing a lowercase "i".  The solution is not to rely on
48454         locale-sensitive case-conversion.
48455         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
48456         (lookup_word): Use c_toupper in place of toupper.
48457         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
48458         Reported by Vefa Bicakci <bicave@superonline.com> in
48459         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
48460         * modules/getdate (Depends-on): Add c-ctype.
48461
48462 2008-08-02  Bruno Haible  <bruno@clisp.org>
48463
48464         * gnulib-tool (func_import): When updating or creating a .gitignore
48465         file, prepend each added line with a slash, and ignore leading slashes
48466         from the existing lines.
48467         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
48468
48469 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48470
48471         Portability fix for GNU make 3.79.1.
48472         * top/GNUmakefile: Avoid 'else COND', which older GNU make
48473         versions do not understand.
48474
48475 2008-08-01  Bruno Haible  <bruno@clisp.org>
48476
48477         Work around bug of HP-UX 10.20 cc with -0.0 literal.
48478         * tests/test-isnanf.h (zero): New variable.
48479         (main): Avoid literal -0.0f.
48480         * tests/test-isnand.h (zero): New variable.
48481         (main): Avoid literal -0.0.
48482         * tests/test-isnanl.h (zero): New variable.
48483         (main): Avoid literal -0.0L.
48484         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
48485         (test_float, test_double, test_long_double): Avoid literals -0.0f,
48486         -0.0, -0.0L.
48487         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
48488         (test_signbitd): Avoid literal -0.0.
48489         (test_signbitl): Avoid literal -0.0L.
48490         * tests/test-ceilf1.c (zero): New variable.
48491         (main): Avoid literal -0.0f.
48492         * tests/test-ceill.c (zero): New variable.
48493         (main): Avoid literal -0.0L.
48494         * tests/test-floorf1.c (zero): New variable.
48495         (main): Avoid literal -0.0f.
48496         * tests/test-floorl.c (zero): New variable.
48497         (main): Avoid literal -0.0L.
48498         * tests/test-roundf1.c (zero): New variable.
48499         (main): Avoid literal -0.0f.
48500         * tests/test-round1.c (zero): New variable.
48501         (main): Avoid literal -0.0.
48502         * tests/test-roundl.c (zero): New variable.
48503         (main): Avoid literal -0.0L.
48504         * tests/test-truncf1.c (zero): New variable.
48505         (main): Avoid literal -0.0f.
48506         * tests/test-trunc1.c (zero): New variable.
48507         (main): Avoid literal -0.0.
48508         * tests/test-truncl.c (zero): New variable.
48509         (main): Avoid literal -0.0L.
48510         * tests/test-frexp.c (zero): New variable.
48511         (main): Avoid literal -0.0.
48512         * tests/test-frexpl.c (zero): New variable.
48513         (main): Avoid literal -0.0L.
48514         * tests/test-ldexpl.c (zero): New variable.
48515         (main): Avoid literal -0.0L.
48516         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
48517         (zerod, zerol): New variables.
48518         (test_function): Avoid literals -0.0, -0.0L.
48519         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
48520         (zerod, zerol): New variables.
48521         (test_function): Avoid literals -0.0, -0.0L.
48522         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
48523         (zerod, zerol): New variables.
48524         (test_function): Avoid literals -0.0, -0.0L.
48525         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
48526         (zerod, zerol): New variables.
48527         (test_function): Avoid literals -0.0, -0.0L.
48528         * tests/test-strtod.c (zero): New variable.
48529         (main): Avoid literal -0.0.
48530         Reported by Jonathan C. Patschke <jp@centtech.com>.
48531
48532 2008-07-31  Jim Meyering  <meyering@redhat.com>
48533
48534         sha256.h: correct definition of SHA224_DIGEST_SIZE
48535         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
48536         Reported by Paulie Pena IV <paulie4@gmail.com>.
48537         Define as 224 / 8, rather than as a literal.
48538         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
48539         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
48540         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
48541
48542 2008-07-31  Bruno Haible  <bruno@clisp.org>
48543
48544         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
48545         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
48546         Reported by Jonathan Patschke <jp@centtech.com>.
48547
48548 2008-07-31  Bruno Haible  <bruno@clisp.org>
48549
48550         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
48551         Reported by Paolo Bonzini <bonzini@gnu.org>.
48552
48553 2008-07-30  Eric Blake  <ebb9@byu.net>
48554
48555         test-strtod: allow compilation without -lm
48556         * tests/test-strtod.c (main): Avoid link dependence on fabs.
48557         Reported by Dennis Clarke <blastwave@gmail.com>.
48558
48559 2008-07-28  Jim Meyering  <meyering@redhat.com>
48560
48561         bootstrap: work also when there are no .po files in po/
48562         * build-aux/bootstrap (update_po_files): Complete the change
48563         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
48564
48565 2008-07-27  Jim Meyering  <meyering@redhat.com>
48566
48567         * users.txt: Add zile.
48568
48569 2008-07-26  Ben Pfaff  <blp@gnu.org>
48570
48571         Add missing dependencies on new m4/exponent[fdl].m4 files.
48572         * modules/isnanf-nolibm: Add m4/exponentf.m4.
48573         * modules/isnand-nolibm: Add m4/exponentd.m4.
48574         * modules/isnanl-nolibm: Add m4/exponentl.m4.
48575         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
48576         m4/isnan[fdl].m4, because the macros actually used moved.
48577         Reported by Jim Meyering.
48578
48579 2008-07-14  Ben Pfaff  <blp@gnu.org>
48580
48581         Add isinf module.
48582         * lib/isinf.c: New file.
48583         * lib/math.in.h: Define isinf macro if we have decided to replace
48584         it.
48585         * m4/isinf.m4: New file.
48586         * m4/math_h.m4: Initialize and substitute variables for isinf
48587         module.
48588         * modules/isinf: New file.
48589         * modules/isinf-tests: New file.
48590         * modules/math: Add substitutions for new module.
48591         * tests/test-isinf.c: New file.
48592         * doc/posix-functions/isinf.texi: Mention new module.
48593         * MODULES.html.sh: Mention new module.
48594
48595 2008-07-14  Ben Pfaff  <blp@gnu.org>
48596
48597         Factor out some macros for use by additional modules.
48598         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
48599         exponentf.m4.
48600         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
48601         exponentd.m4.
48602         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
48603         file exponentl.m4.
48604         * m4/exponentf.m4: New file.
48605         * m4/exponentd.m4: New file.
48606         * m4/exponentl.m4: New file.
48607         * modules/isnanf: Use new file m4/exponentf.m4.
48608         * modules/isnand: Use new file m4/exponentd.m4.
48609         * modules/isnanl: Use new file m4/exponentl.m4.
48610
48611 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
48612
48613         mktime.c: normalize tp->tm_isdst value to -1/0/1.
48614         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
48615         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
48616         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
48617
48618         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
48619         readlink on platforms without PATH_MAX.
48620
48621 2008-07-21  Eric Blake  <ebb9@byu.net>
48622
48623         Warn, not fail, on stale version.
48624         * top/GNUmakefile (_curr-ver): Tone down previous patch.
48625
48626         Don't allow installation with stale devel version number.
48627         * top/GNUmakefile (_is-install-target): New macro.
48628         (_curr-ver): Forbid installation with stale version number.
48629
48630 2008-07-20  Bruno Haible  <bruno@clisp.org>
48631
48632         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
48633         TESTS_ENVIRONMENT.
48634         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
48635
48636 2008-07-20  Bruno Haible  <bruno@clisp.org>
48637
48638         * lib/c-stack.h (c_stack_action): Add documentation.
48639         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
48640
48641 2008-07-20  Bruno Haible  <bruno@clisp.org>
48642
48643         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
48644         * modules/readlink (License): Likewise.
48645
48646 2008-07-17  Eric Blake  <ebb9@byu.net>
48647
48648         * modules/c-stack (Link): Fix typo.
48649
48650         Make c-stack use libsigsegv, when available.
48651         * modules/c-stack (Depends-on): Add libsigsegv.
48652         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
48653         needed.
48654         * lib/c-stack.c (SIGSTKSZ): Define fallback.
48655         (segv_handler, overflow_handler, c_stack_action)
48656         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
48657         implementation when libsigsegv is available, but only when using
48658         the library is necessary.
48659         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
48660         comment, explaining why XSI check fails on Linux.
48661         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
48662         * tests/test-c-stack2.sh: Tweak skip message.
48663         * NEWS: Document new link-time requirements.
48664
48665 2008-07-16  Eric Blake  <ebb9@byu.net>
48666
48667         c-stack: Expose false positives when not using libsigsegv.
48668         * modules/c-stack-tests (Files): Expand test.
48669         * tests/test-c-stack.c (main): Add means to conditionally trigger
48670         non-overflow SIGSEGV.
48671         * tests/test-c-stack2.sh: New file.
48672
48673 2008-07-14  Bruno Haible  <bruno@clisp.org>
48674
48675         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
48676         Reported by Eric Blake.
48677
48678 2008-07-14  Sam Steingold  <sds@gnu.org>
48679             Bruno Haible  <bruno@clisp.org>
48680
48681         New module libsigsegv.
48682         * modules/libsigsegv: New file.
48683         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
48684         modifications.
48685         * MODULES.html.sh (Signal handling): New section.
48686
48687 2008-07-14  Bruno Haible  <bruno@clisp.org>
48688
48689         * modules/unictype/ctype-* (Description): Add the word "function".
48690         Improves the resulting doc in MODULES.html.
48691
48692 2008-07-12  Ben Pfaff  <blp@gnu.org>
48693
48694         Add longlong module.
48695         * modules/longlong: New file.
48696
48697 2008-07-12  Bruno Haible  <bruno@clisp.org>
48698
48699         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
48700         to empty.
48701
48702 2008-07-10  Ben Pfaff  <blp@gnu.org>
48703
48704         Add isnan module.
48705         * doc/posix-functions/isnan.texi: Mention new module.
48706         * lib/math.in.h: Define isnan macro if we have decided to replace
48707         it.
48708         * m4/isnan.m4: New file.
48709         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
48710         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
48711         also.
48712         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
48713         redundancy.
48714         * m4/math_h.m4: Initialize and substitute variables for isnan
48715         module.
48716         * modules/isnan: New file.
48717         * modules/isnan-tests: New file.
48718         * modules/math: Add substitutions for new module.
48719         * tests/test-isnan.c: New file.
48720         * MODULES.html.sh: Mention new module.
48721
48722 2008-07-10  Ben Pfaff  <blp@gnu.org>
48723
48724         Add isnanf module.
48725         * lib/isnanf.m4: New file.
48726         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
48727         (gl_HAVE_ISNANF_IN_LIBM): New macro.
48728         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
48729         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
48730         * modules/isnanf: New file.
48731         * modules/isnanf-tests: New file.
48732         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
48733         files.
48734         * tests/test-isnanf-nolibm.c: factored most of its contents into
48735         new file tests/test-isnanf.h.
48736         * tests/test-isnanf.h: New file.
48737         * tests/test-isnanf.c: New file.
48738         * MODULES.html.sh: Mention new module.
48739         * doc/glibc-functions/isnanf.texi: Mention new module.
48740
48741 2008-07-10  Ben Pfaff  <blp@gnu.org>
48742
48743         Add isnand module.
48744         * lib/isnand.h: New file.
48745         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
48746         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
48747         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
48748         functionality also.
48749         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
48750         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
48751         (gl_HAVE_ISNAND_IN_LIBM): New macro.
48752         * modules/isnand: New file.
48753         * modules/isnand-tests: New file.
48754         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
48755         files.
48756         * tests/test-isnand-nolibm.c: factored most of its contents into
48757         new file tests/test-isnand.h.
48758         * tests/test-isnand.h: New file.
48759         * tests/test-isnand.c: New file.
48760         * MODULES.html.sh: Mention new module.
48761
48762 2008-07-10  Ben Pfaff  <blp@gnu.org>
48763
48764         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
48765         * lib/isnand.h: Rename lib/isnand-nolibm.h.
48766         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
48767         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
48768         * modules/isnanf-nolibm: Update references to renamed files.
48769         * modules/isnand-nolibm: Likewise.
48770         * modules/isnanf-nolibm-tests: Likewise.
48771         * modules/isnand-nolibm-tests: Likewise.
48772         * lib/frexp.c: Likewise.
48773         * lib/isfinite.c: Likewise.
48774         * lib/signbitd.c: Likewise.
48775         * lib/signbitf.c: Likewise.
48776         * lib/vasnprintf.c: Likewise.
48777         * tests/test-ceilf1.c: Likewise.
48778         * tests/test-ceilf2.c: Likewise.
48779         * tests/test-floorf1.c: Likewise.
48780         * tests/test-floorf2.c: Likewise.
48781         * tests/test-frexp.c: Likewise.
48782         * tests/test-round1.c: Likewise.
48783         * tests/test-round2.c: Likewise.
48784         * tests/test-roundf1.c: Likewise.
48785         * tests/test-strtod.c: Likewise.
48786         * tests/test-trunc1.c: Likewise.
48787         * tests/test-trunc2.c: Likewise.
48788         * tests/test-truncf1.c: Likewise.
48789         * tests/test-truncf2.c: Likewise.
48790         * NEWS: Mention the renamed header files.
48791
48792 2008-07-11  Jim Meyering  <meyering@redhat.com>
48793
48794         vc-list-files: make the last-resort awk code more portable
48795         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
48796         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
48797         does not support it.
48798
48799 2008-07-10  Eric Blake  <ebb9@byu.net>
48800
48801         Work with tar's bootstrap.
48802         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
48803         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
48804         an m4 comment.
48805
48806 2008-07-09  Jim Meyering  <meyering@redhat.com>
48807
48808         posix-shell.m4: fix typo that made this test malfunction
48809         * m4/posix-shell.m4: Remove capitalization in variable name.
48810
48811 2008-07-08  Bruno Haible  <bruno@clisp.org>
48812
48813         * m4/onceonly.m4: Update comments.
48814         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48815
48816 2008-07-04  Jim Meyering  <meyering@redhat.com>
48817
48818         * users.txt: Add vc-dwim.
48819         (bison, coreutils): Use the gitweb URL.
48820
48821 2008-07-03  Jim Meyering  <meyering@redhat.com>
48822
48823         * users.txt: Add libffcall.  From Sam Steingold.
48824
48825 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
48826
48827         getdate.y: do not ignore TZ with relative day, month or year offset
48828         * lib/getdate.y (get_date): Move the tz-handling block to follow the
48829         relative-date-handling, since otherwise, the latter would clobber the
48830         sole output (an updated Start value) of the tz-handling block.
48831         * tests/test-getdate.c: Tests for the fix
48832
48833 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48834
48835         Recognize 'foo_LIBRARIES += libgnu.a'.
48836         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
48837         makefile snippet has already specified an installation location,
48838         also using '+='.
48839
48840 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
48841
48842         getdate.y: factor out common actions
48843         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
48844         Use them in place of open-coded actions.
48845
48846 2008-07-01  Simon Josefsson  <simon@josefsson.org>
48847
48848         Add self-test for getdate module.
48849         * modules/getdate-tests: New file.
48850         * tests/test-getdate.c: New file.
48851
48852 2008-06-29  Bruno Haible  <bruno@clisp.org>
48853
48854         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
48855         .gitignore.
48856         Reported by Sylvain Beucler <beuc@beuc.net>.
48857
48858 2008-06-29  Bruno Haible  <bruno@clisp.org>
48859
48860         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
48861         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
48862
48863 2008-06-29  Bruno Haible  <bruno@clisp.org>
48864
48865         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
48866         EXTRA_DIST.
48867         Reported by Sylvain Beucler <beuc@beuc.net>.
48868
48869 2008-06-26  Jim Meyering  <meyering@redhat.com>
48870
48871         make several modules depend on the "open" module
48872         This provides slightly increased consistency when opening-for-write
48873         the name of a non-directory spelled with a trailing slash.
48874         * modules/chdir-safer: Likewise.
48875         * modules/chown: Likewise.
48876         * modules/clean-temp: Likewise.
48877         * modules/copy-file: Likewise.
48878         * modules/fchdir: Likewise.
48879         * modules/fcntl-safer: Likewise.
48880         * modules/pipe: Likewise.
48881         * modules/utime: Likewise.
48882         Prompted by Eric Blake and Bruno Haible.
48883
48884 2008-06-24  Andreas Schwab  <schwab@suse.de>
48885
48886         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
48887         literals can be used as initializers for global variables.
48888
48889 2008-06-23  Eric Blake  <ebb9@byu.net>
48890
48891         Make gnulib-cache.m4 easier to diff.
48892         * gnulib-tool (func_import): Allow newlines when reading cached
48893         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
48894
48895 2008-06-23  Bruno Haible  <bruno@clisp.org>
48896
48897         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
48898         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
48899         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
48900         m4/signalblocking.m4.
48901         (gl_PREREQ_SIGACTION): Don't invoke it.
48902         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
48903         gl_PREREQ_SIG_HANDLER_H.
48904         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48905         Don't check for sigaction here.
48906
48907 2008-06-23  Bruno Haible  <bruno@clisp.org>
48908
48909         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
48910         (install_handlers): Don't set the SA_RESETHAND flag.
48911
48912 2008-06-23  Bruno Haible  <bruno@clisp.org>
48913
48914         * m4/sigaction.m4: Comment fixes.
48915         * lib/signal.in.h: Likewise.
48916
48917 2008-06-23  Eric Blake  <ebb9@byu.net>
48918
48919         Fix typo.
48920         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
48921
48922         Avoid SA_ namespace.
48923         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
48924         Reported by Ralf Wildenhues.
48925
48926         Avoid test failure due to SA_RESTORER.
48927         * tests/test-sigaction.c (SA_MASK): New macro.
48928         (main): Avoid failing due to extension flags being set.
48929         Reported by Jim Meyering.
48930
48931         Revert use of sig-handler.h in sigprocmask.c.
48932         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
48933         it requires the existence of struct sigaction.
48934         * lib/sigprocmask.c (handler_t): Restore typedef.
48935         (rpl_signal, old_handlers): Use local type.
48936
48937 2008-06-22  Bruno Haible  <bruno@clisp.org>
48938
48939         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
48940         conditionally.
48941         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48942
48943 2008-06-22  Bruno Haible  <bruno@clisp.org>
48944
48945         * doc/posix-functions/siginterrupt.texi: Move note.
48946
48947         * lib/signal.in.h (SA_RESTART): New macro.
48948         * lib/sigaction.c: Update comment.
48949
48950         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
48951
48952         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
48953         (gl_PREREQ_SIGPROCMASK): Invoke it.
48954         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
48955
48956         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
48957
48958         * lib/sigprocmask.c: Update a comment.
48959
48960 2008-06-21  Eric Blake  <ebb9@byu.net>
48961
48962         Use sigaction module rather than signal().
48963         * modules/c-stack (Depends-on): Add sigaction.
48964         * modules/fatal-signal (Depends-on): Likewise.
48965         * modules/nanosleep (Depends-on): Likewise.
48966         * modules/sigprocmask (Files): Add sig-handler.h.
48967         * modules/sigaction (Files): Likewise.
48968         * lib/sig-handler.h (get_handler): New file, suggested by Paul
48969         Eggert.
48970         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
48971         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
48972         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
48973         (init_fatal_signals): Likewise.
48974         * lib/nanosleep.c (rpl_nanosleep): Likewise.
48975         (siginterrupt): Delete fallback.
48976         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
48977         instead.
48978         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
48979         siginterrupt.
48980
48981         New module sigaction, for mingw.
48982         * modules/sigaction: New module...
48983         * modules/sigaction-tests: ...and its test.
48984         * m4/sigaction.m4: New file.
48985         * lib/sigaction.c: Likewise.
48986         * tests/test-sigaction.c: Likewise.
48987         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
48988         * modules/signal (Makefile.am): Likewise.
48989         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
48990         needed.
48991         * doc/posix-headers/signal.texi (signal.h): Mention provided
48992         types.
48993         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
48994         that sigaction is preferable.
48995         * doc/posix-functions/sigaction.texi (sigaction): Mention new
48996         module.
48997         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48998         sigaction.
48999
49000         Improve robustness of sigprocmask by overriding signal.
49001         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
49002         is in use.
49003         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
49004         (SIGKILL, SIGSTOP): Provide fallbacks.
49005         (rpl_signal): Implement.
49006         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
49007         signal can be called inside handlers.
49008
49009         Fix nanosleep module on mingw.
49010         * modules/nanosleep (Depends-on): Add sys_select.
49011         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
49012
49013         Fix licensing of sigprocmask.
49014         * modules/raise (License): Relicense as LGPL.
49015
49016 2008-06-21  Bruno Haible  <bruno@clisp.org>
49017
49018         * lib/propername.c (proper_name_utf8): Don't use the transliterated
49019         result if it contains question marks.
49020         Reported by Michael Geng <linux@michaelgeng.de>.
49021
49022 2008-06-19  Bruno Haible  <bruno@clisp.org>
49023
49024         Fix CVS-ism.
49025         * doc/gnulib.texi: Include updated-stamp.texi.
49026         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
49027         (updated-stamp.texi): New rule.
49028         (gnulib.info): Depend on it.
49029         * doc/.gitignore: Add updated-stamp.texi.
49030         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
49031
49032 2008-06-19  Bruno Haible  <bruno@clisp.org>
49033
49034         * doc/Makefile (gnulib.info): Update and simplify dependencies.
49035         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
49036
49037 2008-06-19  Eric Blake  <ebb9@byu.net>
49038
49039         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
49040         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
49041         Reported by Stepan Kasal.
49042
49043 2008-06-18  Bruno Haible  <bruno@clisp.org>
49044
49045         * lib/fatal-signal.c (init_fatal_signals): Add comment.
49046         Reported by Eric Blake.
49047
49048 2008-06-18  Eric Blake  <ebb9@byu.net>
49049
49050         Work around cygwin 1.5.25 strsignal bug.
49051         * tests/test-strsignal.c: Allow for const char *.
49052         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
49053
49054 2008-06-18  Simon Josefsson  <simon@josefsson.org>
49055
49056         * users.txt: Update URL to article and add author/date
49057         information.
49058
49059 2008-06-17  Bruno Haible  <bruno@clisp.org>
49060
49061         New macro gl_DISABLE_THREADS.
49062         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
49063         if the user did not pass --enable-threads or --disable-threads option.
49064         (gl_DISABLE_THREADS): New macro.
49065         Reported by Eric Blake <ebb9@byu.net>.
49066
49067 2008-06-17  Bruno Haible  <bruno@clisp.org>
49068
49069         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
49070         when the macro ignores it.
49071         Based on a patch by Eric Blake <ebb9@byu.net>.
49072
49073 2008-06-17  Bruno Haible  <bruno@clisp.org>
49074
49075         * modules/tls (License): Change to LGPLv2+.
49076         Reported by Eric Blake.
49077
49078 2008-06-17  Eric Blake  <ebb9@byu.net>
49079
49080         Simplify c-stack prerequisites.
49081         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
49082         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
49083         no longer requires <ucontext.h> to exist.  Optimize setrlimit
49084         check.
49085         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
49086         <sys/resource.h>.
49087
49088         Move c-stack test into testsuite.
49089         * modules/c-stack-tests: New file.
49090         * lib/c-stack.c [DEBUG]: Move test program...
49091         * tests/test-c-stack.c: ...into this new file.  Skip rather than
49092         fail test if sigaltstack is lacking.
49093         * tests/test-c-stack.sh: New driver file.
49094
49095 2008-06-16  Eric Blake  <ebb9@byu.net>
49096
49097         Use raise module consistently.
49098         * modules/fatal-signal (Depends-on): Add raise.
49099         * modules/sigprocmask (Depends-on): Likewise.
49100         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
49101         * lib/sigprocmask.c (sigprocmask): Likewise.
49102         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
49103         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
49104
49105         Fix compliance bug in sigpending.
49106         * lib/sigprocmask.c (sigpending): Return pending array via
49107         parameter, not return value.
49108
49109 2008-06-14  Eric Blake  <ebb9@byu.net>
49110
49111         Improve obstack-printf test code.
49112         * tests/test-obstack-printf.c (test_function): Fix comment, and
49113         simplify usage of obstack_* in macros.  Add a test for coverage.
49114         Reported by Bruno Haible.
49115
49116 2008-06-14  Bruno Haible  <bruno@clisp.org>
49117
49118         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
49119         array size as a constant, not as a const variable.
49120         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
49121         AC_USE_SYSTEM_EXTENSIONS.
49122         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
49123         Test whether the obstack_printf function actually exists.
49124         * modules/obstack-printf (Depends-on): Add extensions.
49125         (Include): Remove obstack.h.
49126         * modules/obstack-printf-posix (Depends-on): Add extensions.
49127         (Include): Remove obstack.h.
49128
49129 2008-06-13  Eric Blake  <ebb9@byu.net>
49130
49131         Add obstack-printf and obstack-printf-posix modules.
49132         * modules/obstack-printf: New file.
49133         * modules/obstack-printf-posix: Likewise.
49134         * MODULES.html.sh (Misc): Mention them.
49135         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
49136         Likewise.
49137         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
49138         Likewise.
49139         * modules/stdio (Makefile.am): Accomodate new modules.
49140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49141         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
49142         Declare.
49143         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
49144         functions.
49145         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
49146         (gl_REPLACE_OBSTACK_PRINTF): New macros
49147         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
49148         * tests/test-obstack-printf.c: New file.
49149         * modules/obstack-printf-tests: Likewise.
49150         * modules/obstack-printf-posix-tests: Likewise.
49151
49152 2008-06-11  Bruno Haible  <bruno@clisp.org>
49153
49154         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
49155         * lib/open.c: Include errno.h.
49156         (open): Fail when attempting to write to a file that has a trailing
49157         slash.
49158         * tests/test-open.c (main): Test against trailing slash bug.
49159         * doc/posix-functions/open.texi: Mention the trailing slash bug.
49160
49161 2008-06-10  Bruno Haible  <bruno@clisp.org>
49162
49163         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
49164         for $? to work inside the trap command, with various /bin/sh-s.
49165         * tests/test-vc-list-files-cvs.sh: Likewise.
49166
49167 2008-06-10  Bruno Haible  <bruno@clisp.org>
49168
49169         * lib/acl-internal.h: Don't include gettext.h here.
49170         * lib/set-mode-acl.c: Include gettext.h here.
49171         * lib/copy-acl.c: Likewise.
49172
49173 2008-06-10  Bruno Haible  <bruno@clisp.org>
49174
49175         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
49176         * lib/wait-process.c (wait_subprocess): Likewise.
49177         * lib/execute.h (execute): Add termsigp argument.
49178         * lib/execute.c (execute): Likewise.
49179         * lib/csharpcomp.c (compile_csharp_using_pnet,
49180         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
49181         * lib/csharpexec.c (execute_csharp_using_pnet,
49182         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
49183         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
49184         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
49185         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
49186         is_jikes_present): Update.
49187         * lib/javaexec.c (execute_java_class): Update.
49188         * lib/javaversion.c (execute_and_read_line): Update.
49189         * NEWS: Document the changes.
49190         Reported by Eric Blake.
49191
49192 2008-06-10  Eric Blake  <ebb9@byu.net>
49193
49194         Add missing include.
49195         * tests/test-strstr.c (includes): Add <signal.h>.
49196         * tests/test-strcasestr.c (includes): Likewise.
49197         * tests/test-memmem.c (includes): Likewise.
49198
49199 2008-06-10  Bruno Haible  <bruno@clisp.org>
49200
49201         * lib/wait-process.c (wait_subprocess): Add an assertion.
49202
49203 2008-06-10  Bruno Haible  <bruno@clisp.org>
49204
49205         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
49206
49207 2008-06-10  Bruno Haible  <bruno@clisp.org>
49208
49209         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
49210         using alarm().
49211         * tests/test-strcasestr.c (main): Likewise.
49212         * tests/test-strstr.c (main): Likewise.
49213
49214 2008-06-09  Bruno Haible  <bruno@clisp.org>
49215
49216         Work around the Solaris 10 ACE ACLs ABI change.
49217         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
49218         declare if ACL_NO_TRIVIAL is present.
49219         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
49220         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
49221         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
49222         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
49223         define if ACL_NO_TRIVIAL is present.
49224         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
49225         and use the current ABI.
49226         (file_has_acl): Use same #if condition as elsewhere.
49227         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
49228         in use, and use the current ABI.
49229         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
49230         Reported by Jim Meyering.
49231
49232 2008-06-09  Eric Blake  <ebb9@byu.net>
49233
49234         Work around environments that (stupidly) ignore SIGALRM.
49235         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
49236         before using alarm().
49237         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49238         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49239         Reported by Ian Beckwith <ianb@erislabs.net>.
49240
49241         Produce autobuild blurb earlier in log.
49242         * modules/autobuild (configure.ac-early): Move AB_INIT here.
49243
49244 2008-06-09  Jim Meyering  <meyering@redhat.com>
49245         and Ondřej Vašík  <ovasik@redhat.com>
49246
49247         utimens.c: correct kernel bug work-around
49248         Ondřej Vašík found that the invalid return value of 280 indicates
49249         failure, not success, and the kernel bug we're trying to work
49250         around affects not just the utimensat call, but also the fallback
49251         futimens call.
49252         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
49253         not success.
49254         [HAVE_FUTIMENS]: Use the same work-around, here.
49255
49256 2008-06-09  Jim Meyering  <meyering@redhat.com>
49257
49258         add more guards around definition of ACE_-related code
49259         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
49260         ALLOW and ACE_OWNER are also defined.
49261
49262 2008-06-08  Bruno Haible  <bruno@clisp.org>
49263
49264         * lib/acl-internal.h: Add me as co-author.
49265         * lib/file-has-acl.c: Likewise.
49266         * lib/set-mode-acl.c: Likewise.
49267         * lib/copy-acl.c: Likewise.
49268
49269 2008-06-08  Bruno Haible  <bruno@clisp.org>
49270
49271         Add support for AIX ACLs.
49272         * lib/acl-internal.h (acl_nontrivial): New declaration.
49273         * lib/file-has-acl.c (acl_nontrivial): New function.
49274         (file_has_acl): Add implementation using AIX 4 ACL API.
49275         * lib/set-mode-acl.c (qset_acl): Likewise.
49276         * lib/copy-acl.c (qcopy_acl): Likewise.
49277
49278 2008-06-08  Bruno Haible  <bruno@clisp.org>
49279
49280         Add support for HP-UX ACLs.
49281         * lib/acl-internal.h (acl_nontrivial): New declaration.
49282         * lib/file-has-acl.c (acl_nontrivial): New function.
49283         (file_has_acl): Add implementation using HP-UX 11 ACL API.
49284         * lib/set-mode-acl.c (qset_acl): Likewise.
49285         * lib/copy-acl.c (qcopy_acl): Likewise.
49286
49287 2008-06-08  Bruno Haible  <bruno@clisp.org>
49288
49289         Add support for Cygwin ACLs.
49290         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
49291         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
49292         the chmod_or_fchmod call.
49293         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
49294
49295 2008-06-08  Bruno Haible  <bruno@clisp.org>
49296
49297         Fix bug with setuid modes in Solaris 10+ code.
49298         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
49299         succeeded, when the mode contains some special bits.
49300
49301 2008-06-08  Bruno Haible  <bruno@clisp.org>
49302
49303         Add support for Solaris 7..10 ACLs.
49304         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
49305         declarations.
49306         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
49307         functions.
49308         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
49309         * lib/set-mode-acl.c (qset_acl): Likewise.
49310         * lib/copy-acl.c (qcopy_acl): Likewise.
49311
49312 2008-06-08  Bruno Haible  <bruno@clisp.org>
49313
49314         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
49315         declaration.
49316         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
49317         (acl_access_nontrivial): Remove MacOS X case.
49318         (file_has_acl): Use acl_extended_nontrivial.
49319         * lib/copy-acl.c (qcopy_acl): Likewise.
49320
49321 2008-06-08  Bruno Haible  <bruno@clisp.org>
49322
49323         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
49324
49325 2008-06-08  Jim Meyering  <meyering@redhat.com>
49326
49327         * modules/acl (Maintainer): Add Bruno Haible.
49328
49329 2008-06-07  Bruno Haible  <bruno@clisp.org>
49330
49331         Improve support for Tru64 ACLs.
49332         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
49333         ACL on OSF/1.
49334
49335 2008-06-07  Bruno Haible  <bruno@clisp.org>
49336
49337         Add support for MacOS X ACLs.
49338         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
49339         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
49340         * lib/set-mode-acl.c (qset_acl): Likewise.
49341         * lib/copy-acl.c (qcopy_acl): Likewise.
49342
49343 2008-06-07  Bruno Haible  <bruno@clisp.org>
49344
49345         Fix memory leak introduced on 2008-05-22.
49346         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
49347         use.
49348
49349 2008-06-07  Bruno Haible  <bruno@clisp.org>
49350
49351         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
49352         to construct an empty ACL.
49353
49354 2008-06-07  Bruno Haible  <bruno@clisp.org>
49355
49356         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
49357         precisely.
49358         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
49359
49360 2008-06-07  Bruno Haible  <bruno@clisp.org>
49361
49362         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
49363         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
49364
49365 2008-06-07  Bruno Haible  <bruno@clisp.org>
49366
49367         * doc/posix-functions/_setjmp.texi: Explain the use of this function
49368         regardless of POSIX.
49369         * doc/posix-functions/_longjmp.texi: Likewise.
49370         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
49371         SystemV platform in this case.
49372
49373 2008-06-06  Eric Blake  <ebb9@byu.net>
49374
49375         Document abort() bugs.
49376         * doc/posix-functions/abort.texi (abort): Mention anomalies.
49377
49378         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
49379         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
49380         sigsetjmp.
49381         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
49382         siglongjmp, but only as a macro.
49383         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
49384         is obsolete.
49385         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
49386
49387         Tweak documentation to cover cygwin argz bugs.
49388         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
49389         argz bug fix; no code change needed since no cygwin releases
49390         occurred between the last fix and the bug being tested.
49391         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
49392         module and recently fixed cygwin bugs.
49393         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
49394         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
49395         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
49396         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
49397         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
49398         Likewise.
49399         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
49400         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
49401         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
49402         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
49403         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
49404         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
49405         Likewise.
49406
49407         Avoid gcc warning on cygwin.
49408         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
49409         !ACL_NO_TRIVIAL]: Avoid unused variable.
49410
49411 2008-06-05  Eric Blake  <ebb9@byu.net>
49412
49413         Be tolerant of UNKNOWN version in gnulib-tool test dir.
49414         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
49415         git-version-gen fails to come up with a version.
49416         Reported by Simon Josefsson.
49417
49418 2008-06-05  Jim Meyering  <meyering@redhat.com>
49419             Paul Eggert  <eggert@cs.ucla.edu>
49420
49421         utimens.c: work around a probable Linux kernel bug
49422         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
49423         appears to be a kernel bug that causes utimensat to return 280
49424         instead of 0, indicating success.
49425
49426 2008-06-04  Bruno Haible  <bruno@clisp.org>
49427
49428         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
49429         2008-06-01 commit.
49430
49431 2008-06-04  Bruno Haible  <bruno@clisp.org>
49432
49433         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
49434         * lib/file-has-acl.c (acl_access_nontrivial): New function.
49435         (file_has_acl): Use it. Save errno afterwards.
49436         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
49437
49438 2008-06-03  Bruno Haible  <bruno@clisp.org>
49439
49440         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
49441         draft code. Simplify #ifs.
49442         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
49443         Put Solaris code after POSIX-draft code. Fix comments regarding
49444         Solaris 10, HP-UX. Mention Cygwin.
49445         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
49446
49447 2008-06-03  Eric Blake  <ebb9@byu.net>
49448
49449         Provide fallback for older kernels.
49450         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
49451         Provide runtime fallback if kernel lacks support.
49452         Reported by Mike Frysinger.
49453
49454 2008-06-02  Bruno Haible  <bruno@clisp.org>
49455
49456         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
49457         it exists.
49458
49459 2008-06-02  Bruno Haible  <bruno@clisp.org>
49460
49461         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
49462         * lib/copy-acl.c (qcopy_acl): Update comment.
49463
49464 2008-06-02  Bruno Haible  <bruno@clisp.org>
49465
49466         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
49467         like ACL APIs.
49468
49469 2008-06-02  Bruno Haible  <bruno@clisp.org>
49470
49471         * tests/test-file-has-acl.sh: Use different code for Cygwin.
49472         * tests/test-set-mode-acl.sh: Likewise.
49473         * tests/test-copy-acl.sh: Likewise.
49474         * tests/test-copy-file.sh: Likewise.
49475
49476 2008-06-02  Bruno Haible  <bruno@clisp.org>
49477
49478         * tests/test-file-has-acl.sh: Remove unused code.
49479
49480 2008-06-01  Bruno Haible  <bruno@clisp.org>
49481
49482         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
49483         (copy_acl): Just a wrapper around qcopy_acl that emits the error
49484         messages.
49485         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
49486
49487 2008-06-01  Bruno Haible  <bruno@clisp.org>
49488
49489         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
49490         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
49491         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
49492         APIs.
49493         * modules/acl-tests (configure.ac): Remove tests now contained in
49494         m4/acl.m4.
49495
49496 2008-06-02  Jim Meyering  <meyering@redhat.com>
49497
49498         announce-gen: use a better key-server host name
49499         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
49500         it may be more consistently reliable.  Suggested by Werner Koch
49501         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
49502
49503 2008-06-01  Bruno Haible  <bruno@clisp.org>
49504
49505         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
49506         Reported by Voroskoi Andras <voroskoi@gmail.com>.
49507
49508 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
49509
49510         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
49511
49512 2008-06-01  Bruno Haible  <bruno@clisp.org>
49513
49514         New ACL tests.
49515         * tests/test-file-has-acl.sh: New file.
49516         * tests/test-file-has-acl.c: New file.
49517         * tests/test-set-mode-acl.sh: New file.
49518         * tests/test-set-mode-acl.c: New file.
49519         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
49520         * tests/test-copy-acl.c: New file.
49521         * modules/acl-tests: New file, based on modules/copy-file-tests.
49522         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
49523         (Depends-on): Add acl-tests.
49524         (configure.ac): Remove checks.
49525         (Makefile.am): Don't create test-sameacls program here any more.
49526
49527 2008-06-01  Bruno Haible  <bruno@clisp.org>
49528
49529         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
49530         * tests/test-sameacls.c: Include progname.h.
49531         (main): Invoke set_program_name. Portability fixes for MacOS X,
49532         Solaris, HP-UX.
49533
49534 2008-06-01  Bruno Haible  <bruno@clisp.org>
49535
49536         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
49537         function.
49538         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
49539
49540 2008-06-01  Bruno Haible  <bruno@clisp.org>
49541
49542         * modules/rpmatch (Depends-on): Add strdup.
49543
49544 2008-06-01  Bruno Haible  <bruno@clisp.org>
49545
49546         * lib/pipe.c: Include unistd-safer.h.
49547         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
49548         * modules/pipe (Depends-on): Add unistd-safer.
49549
49550 2008-05-30  Simon Josefsson  <simon@josefsson.org>
49551
49552         * modules/autobuild (configure.ac): Call AB_INIT.
49553
49554 2008-05-30  Simon Josefsson  <simon@josefsson.org>
49555
49556         * tests/test-getaddrinfo.c: Don't print debug messages by default.
49557         Suggested by Bruno Haible <bruno@clisp.org>.
49558
49559 2008-05-30  Simon Josefsson  <simon@josefsson.org>
49560
49561         * tests/test-base64.c: Cast size_t to unsigned long when invoking
49562         printf.  Use %lu instead of %d.  Reported by Bruno Haible
49563         <bruno@clisp.org>.
49564
49565 2008-05-29  Eric Blake  <ebb9@byu.net>
49566
49567         Prefer new POSIX 200x interfaces over futimesat.
49568         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
49569         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
49570         when available.
49571         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
49572
49573 2008-05-28  Bruno Haible  <bruno@clisp.org>
49574
49575         * modules/stpcpy (License): Change to LGPLv2+.
49576         Requested by David Lutterkort <dlutter@redhat.com>.
49577
49578 2008-05-27  Bruno Haible  <bruno@clisp.org>
49579
49580         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
49581         current mingw.
49582         Reported by Jose E. Marchesi <jemarch@gnu.org>.
49583
49584 2008-05-27  Bruno Haible  <bruno@clisp.org>
49585
49586         * modules/iconv_open (Link): New section, from module 'iconv'.
49587         * modules/striconv (Link): Likewise.
49588         * modules/striconveh (Link): Likewise.
49589         * modules/xstriconv (Link): Likewise.
49590         * modules/unicodeio (Link): Likewise.
49591         * modules/propername (Link): Likewise.
49592         Reported by Jim Meyering.
49593
49594 2008-05-26  Jim Meyering  <meyering@redhat.com>
49595
49596         sha256: do not artificially restrict buffer length to be < 2^32
49597         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
49598         uint32_t to size_t.
49599         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
49600         to match.
49601
49602         avoid unaligned access errors, e.g., on sparc
49603         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
49604         direct access through a possibly-unaligned uint64* pointer.
49605         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
49606         direct access through a possibly-unaligned uint32* pointer.
49607         Prompted by this patch from Tom "spot" Callaway:
49608         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
49609
49610         sha512.c: fix typo in comment
49611         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
49612
49613 2008-05-25  Bruno Haible  <bruno@clisp.org>
49614
49615         * lib/set-mode-acl.c: Renamed from lib/acl.c.
49616         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
49617         (Makefile.am): Update lib_SOURCES.
49618
49619 2008-05-25  Bruno Haible  <bruno@clisp.org>
49620
49621         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
49622
49623 2008-05-25  Jim Meyering  <meyering@redhat.com>
49624
49625         useless-if-before-free: freed expr may have white-space differences
49626         * build-aux/useless-if-before-free: Recognize cases in which the
49627         freed expression differs from the tested one in embedded white
49628         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
49629         $1 was used, so we can't make any regexp shy.  Improved tests now
49630         detect this.
49631
49632         useless-if-before-free: accept white space in the expression.
49633         * build-aux/useless-if-before-free: For now, any white space
49634         in the expression must be identical in the free argument.
49635
49636         useless-if-before-free: efficiency tweak
49637         * build-aux/useless-if-before-free: Make the expression-matching
49638         regexp "shy".
49639         Make the *outer* regexp shy, not the expr-matching one.
49640
49641         update code-in-comment to accept cast of free arg
49642         * build-aux/useless-if-before-free: Update regexp.
49643
49644 2008-05-25  Bruno Haible  <bruno@clisp.org>
49645
49646         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
49647         * modules/copy-file-tests (Files, Makefile.am): Update.
49648         * tests/test-copy-file.c (func_test_copy): Update.
49649
49650 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
49651
49652         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
49653
49654 2008-05-23  Bruno Haible  <bruno@clisp.org>
49655
49656         Improve support for ACLs on OSF/1.
49657         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
49658         Remove fallback for unknown flavors of ACLs.
49659
49660 2008-05-22  Bruno Haible  <bruno@clisp.org>
49661
49662         Add support for ACLs on OSF/1.
49663         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
49664         replacements.
49665         (acl_free_text): New macro fallback.
49666         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
49667         acl_free.
49668         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
49669         acl_free_text function. Require AC_C_INLINE.
49670
49671 2008-05-22  Bruno Haible  <bruno@clisp.org>
49672
49673         Make copy_acl work on MacOS X 10.5.
49674         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
49675         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
49676         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
49677         If MODE_INSIDE_ACL, don't assume that every system has the same text
49678         representation for ACLs as FreeBSD.
49679         * lib/copy-acl.c (copy_acl): Add support for platforms with
49680         !MODE_INSIDE_ACL.
49681         * lib/file-has-acl.c (file_has_acl): Likewise.
49682         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
49683         FreeBSD, MacOS X, or IRIX, respectively.
49684
49685 2008-05-22  Bruno Haible  <bruno@clisp.org>
49686
49687         * lib/acl.h: Don't include <sys/acl.h>.
49688         (GETACLCNT): Move fallback to lib/acl-internal.h.
49689         * lib/acl-internal.h: Include <sys/acl.h> here.
49690         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
49691
49692 2008-05-22  Bruno Haible  <bruno@clisp.org>
49693
49694         Split off copy_acl function to separate file.
49695         * lib/copy-acl.c: New file, extracted from lib/acl.c.
49696         * lib/acl.c (copy_acl): Moved function to separate file.
49697         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
49698         * modules/acl (Files): Add lib/copy-acl.c.
49699         (Makefiles.am): Augment lib_SOURCES.
49700
49701 2008-05-22  Bruno Haible  <bruno@clisp.org>
49702
49703         * modules/copy-file-tests: New file.
49704         * tests/test-copy-file.sh: New file.
49705         * tests/test-copy-file.c: New file.
49706         * tests/test-copy-file-sameacls.c: New file.
49707
49708 2008-05-22  Eric Blake  <ebb9@byu.net>
49709
49710         Avoid gcc warning.
49711         * tests/test-memcmp.c (main): Pass NULL indirectly.
49712
49713 2008-05-21  Bruno Haible  <bruno@clisp.org>
49714
49715         Add reference doc about ACLs.
49716         * doc/acl-resources.txt: New file.
49717         * doc/acl-cygwin.txt: New file.
49718
49719 2008-05-21  Bruno Haible  <bruno@clisp.org>
49720
49721         Avoid one more warning from gcc.
49722         * lib/vasnprintf.c (IF_LINT): Update comments.
49723         (VASNPRINTF): Use it also for the 'prefix' array initializer.
49724
49725 2008-05-21  Jim Meyering  <meyering@redhat.com>
49726
49727         avoid a warning from gcc
49728         * lib/vasnprintf.c (IF_LINT): Define.
49729         (scale10_round_decimal_long_double):
49730         Use it to avoid a "may be used uninitialized" warning.
49731         (scale10_round_decimal_double): Likewise.
49732
49733 2008-05-21  Simon Josefsson  <simon@josefsson.org>
49734
49735         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
49736         declared.
49737
49738 2008-05-20  Bruno Haible  <bruno@clisp.org>
49739
49740         * tests/test-memcmp.c (main): Test also the sign of the result. Test
49741         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
49742
49743 2008-05-20  Simon Josefsson  <simon@josefsson.org>
49744
49745         * modules/memcmp-tests: New file.
49746         * tests/test-memcmp.c: New file.
49747
49748 2008-05-19  Bruno Haible  <bruno@clisp.org>
49749
49750         * modules/propername (Notice, configure.ac): Put quoted "..." into
49751         --keyword option.
49752         * lib/propername.h: Update comments accordingly.
49753         Reported by Eric Blake.
49754
49755 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
49756
49757         * modules/getpass-gnu (Depends-on): Add fseeko.
49758
49759 2008-05-19  Simon Josefsson  <simon@josefsson.org>
49760
49761         * modules/base64-tests: New file.
49762
49763 2008-05-19  Bo Borgerson <gigabo@gmail.com>
49764
49765         * lib/base64.c (base64_decode_ctx): If a decode context structure
49766         was passed in use it to ignore newlines.  If a context structure
49767         was _not_ passed in, continue to treat newlines as garbage (this
49768         is the historical behavior).  Formerly base64_decode.
49769         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
49770         takes a decode context structure.
49771         * lib/base64.h (base64_decode): Macro for four-argument calls.
49772         (base64_decode_alloc): Likewise.
49773         * lib/base64.c (base64_decode_ctx): If a decode context structure
49774         was passed in use it to ignore newlines.  If a context structure
49775         was _not_ passed in, continue to treat newlines as garbage (this
49776         is the historical behavior).  Formerly base64_decode.
49777         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
49778         takes a decode context structure.
49779         * lib/base64.h (base64_decode): Macro for four-argument calls.
49780         (base64_decode_alloc): Likewise.
49781
49782 2008-05-19  Jim Meyering  <meyering@redhat.com>
49783
49784         avoid a warning from gcc
49785         * lib/trim.c (IF_LINT): Define.
49786         (trim2): Use it to avoid a "may be used uninitialized" warning.
49787
49788         Fix doc typo.
49789         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
49790
49791 2008-05-19  Bruno Haible  <bruno@clisp.org>
49792
49793         * doc/glibc-functions/getpass.texi: Document limits of other
49794         implementations.
49795
49796 2008-05-19  Simon Josefsson  <simon@josefsson.org>
49797             Bruno Haible <bruno@clisp.org>
49798
49799         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
49800
49801 2008-05-18  Bruno Haible  <bruno@clisp.org>
49802
49803         * modules/propername: New file, from GNU gettext.
49804         * lib/propername.h: New file, from GNU gettext.
49805         * lib/propername.c: New file, from GNU gettext.
49806         * MODULES.html.sh (Internationalization functions): Add propername.
49807
49808 2008-05-16  Jim Meyering  <meyering@redhat.com>
49809             Bruno Haible  <bruno@clisp.org>
49810
49811         Avoid some warnings from "gcc -Wshadow".
49812         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
49813
49814 2008-05-15  Eric Blake  <ebb9@byu.net>
49815
49816         Extend previous patch to cygwin 1.7.0.
49817         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
49818         fast implementation in cygwin >= 1.7.0.
49819         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49820         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49821
49822 2008-05-15  Bruno Haible  <bruno@clisp.org>
49823
49824         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
49825         implementation in glibc >= 2.9.
49826         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49827         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49828
49829 2008-05-15  Bruno Haible  <bruno@clisp.org>
49830
49831         * MODULES.html.sh (Internationalization functions): Remove linebreak.
49832         (Unicode string functions): Add unilbrk/*.
49833         Reported by Karl Berry.
49834
49835 2008-05-15  Eric Blake  <ebb9@byu.net>
49836
49837         Fix violation of <stdbool.h> replacement in regex.
49838         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
49839         * lib/regexec.c (re_search_internal): Likewise.
49840         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
49841
49842 2008-05-15  Jim Meyering  <meyering@redhat.com>
49843
49844         avoid distracting test output when git or cvs is not found
49845         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
49846         * tests/test-vc-list-files-git.sh: Likewise.
49847
49848 2008-05-15  Eric Blake  <ebb9@byu.net>
49849
49850         Glibc finally accepted the memmem speedup code, bugzilla #5514.
49851         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
49852         glibc version.
49853         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
49854         * doc/posix-functions/strstr.texi (strstr): Likewise.
49855         * lib/str-two-way.h (MAX): Sychronize with glibc.
49856
49857 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
49858
49859         * lib/regcomp.c (optimize_utf8): Add a note on why we test
49860         opr.ctx_type.
49861         (calc_first): Initialize constraint field.
49862         (duplicate_node_closure): Use it instead of special casing ANCHORS.
49863         Fix grammar.
49864         (duplicate_node): Merge constraint field for all node types.
49865         (calc_eclosure_iter): Look at constraint field for all node types.
49866         * lib/regex_internal.c (create_cd_newstate): Don't look at
49867         opr.ctx_type.
49868
49869 2008-05-14  Bruno Haible  <bruno@clisp.org>
49870
49871         Help GCC to do better code generation.
49872         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
49873         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
49874         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
49875         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
49876         Declare with attribute 'malloc' if supported.
49877
49878 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
49879
49880         use "echo STR|wc -c" rather than unportable "expr length STR"
49881         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
49882         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
49883
49884 2008-05-14  Jim Meyering  <meyering@redhat.com>
49885
49886         use dd ibs=$n count=1 ... rather than less-portable head -c$n
49887         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
49888         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
49889         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
49890         via Collin Lasse.
49891
49892 2008-05-14  Eric Blake  <ebb9@byu.net>
49893
49894         Avoid quadratic growth in gl_LIBSOURCES.
49895         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
49896         Suggested by Bruno Haible.
49897
49898         Test xmemdup0.
49899         * modules/xmemdup0-tests: New file.
49900         * tests/test-xmemdup0.c: Likewise.
49901
49902 2008-05-13  Eric Blake  <ebb9@byu.net>
49903
49904         Split xmemdup0 into its own module.
49905         * modules/xmemdup0: New file.
49906         * lib/xmemdup0.h: Likewise.
49907         * lib/xmemdup0.c: Likewise.
49908         * MODULES.html.sh (Memory management functions): Add xmemdup0.
49909         * lib/xalloc.h (xmemdup0): Remove.
49910         * lib/xmalloc.c (xmemdup0): Likewise.
49911
49912 2008-05-13  Eric Blake  <ebb9@byu.net>
49913             Bruno Haible  <bruno@clisp.org>
49914
49915         Reduce number of forks required during autoconf.
49916         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
49917         and gl_LIBSOURCES_DIR.
49918         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
49919         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
49920         m4_syscmd per file.
49921         <m4_foreach_w>: Move...
49922         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
49923
49924 2008-05-13  Eric Blake  <ebb9@byu.net>
49925
49926         * gnulib-tool: Fix various comment typos.
49927
49928 2008-05-12  Bruno Haible  <bruno@clisp.org>
49929
49930         Tailor the linebreaking algorithm.
49931         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
49932
49933 2008-05-12  Bruno Haible  <bruno@clisp.org>
49934
49935         Update to Unicode 5.0.0.
49936         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49937         LBP_JV, LBP_JT. Redistribute values.
49938         (unilbrk_table): Change size.
49939         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
49940         Unicode TR#14 rev. 22.
49941         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49942         LBP_JV, LBP_JT. Redistribute values.
49943         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
49944         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
49945         Update.
49946         * lib/unilbrk/lbrkprop1.h: Regenerated.
49947         * lib/unilbrk/lbrkprop2.h: Regenerated.
49948         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
49949         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
49950         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
49951         Likewise.
49952         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
49953         Likewise.
49954         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
49955         result.
49956         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
49957         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
49958         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
49959         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
49960         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
49961         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
49962
49963 2008-05-11  Bruno Haible  <bruno@clisp.org>
49964
49965         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
49966
49967 2008-05-11  Bruno Haible  <bruno@clisp.org>
49968
49969         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
49970         * modules/unilbrk/gen-lbrk: New file.
49971
49972 2008-05-11  Bruno Haible  <bruno@clisp.org>
49973
49974         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
49975         * m4/sha512.m4 (gl_SHA512): Likewise.
49976
49977 2008-05-11  Jim Meyering  <meyering@redhat.com>
49978
49979         New modules: crypto/sha256, crypto/sha512 (from coreutils)
49980         * modules/crypto/sha256: New file.
49981         * modules/crypto/sha512: Likewise.
49982         * lib/sha256.c: Likewise.
49983         * lib/sha256.h: Likewise.
49984         * lib/sha512.c: Likewise.
49985         * lib/sha512.h: Likewise.
49986         * lib/u64.h: Likewise.
49987         * m4/sha256.m4: Likewise.
49988         * m4/sha512.m4: Likewise.
49989         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
49990
49991 2008-05-10  Bruno Haible  <bruno@clisp.org>
49992
49993         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
49994         (Input/Output <stdio.h>): Add xprintf.
49995         (Signal handling <signal.h>): Add strsignal.
49996         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
49997         (Core language properties): Add func.
49998         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
49999         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
50000         strings.
50001         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
50002         (Input/output): New section.
50003         (File system functions): Add openat-die, stat-macros.
50004         (Networking functions): Add sockets.
50005         (Unicode string functions): Add unictype/*.
50006         (Support for building libraries and executables): Add gperf.
50007         (Support for building documentation): Add agpl-3.0.
50008         (Misc): Add nocrash.
50009
50010 2008-05-10  Bruno Haible  <bruno@clisp.org>
50011
50012         * modules/unictype/gen-ctype: New file.
50013
50014 2008-05-10  Jim Meyering  <meyering@redhat.com>
50015
50016         Make chdir-safer.c more efficient on a system with no symlinks.
50017         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
50018         also if ELOOP is zero.  Suggested by Bruno Haible.
50019
50020         Make chdir-safer.c slightly safer.
50021         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
50022         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
50023
50024         Avoid compile failure on systems without ELOOP (like mingw).
50025         * lib/chdir-safer.c (ELOOP): Define if not already defined.
50026         Reported by Bruno Haible.
50027
50028 2008-05-10  Bruno Haible  <bruno@clisp.org>
50029
50030         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
50031         (is_utf8_encoding): Use a case-insensitive comparison.
50032         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
50033         streq.
50034
50035 2008-05-10  Bruno Haible  <bruno@clisp.org>
50036
50037         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
50038         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
50039         * lib/unilbrk/ulc-common.h (iconv_string_length,
50040         iconv_string_keeping_offsets): Remove declarations.
50041         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
50042         Don't include <iconv.h>, streq.h, xsize.h.
50043         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
50044         conversion.
50045         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
50046         <iconv.h>, streq.h, xsize.h.
50047         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
50048         conversion.
50049         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
50050         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
50051         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
50052         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
50053
50054 2008-05-10  Bruno Haible  <bruno@clisp.org>
50055
50056         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
50057         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
50058
50059         * modules/unilbrk/u32-width-linebreaks-tests: New file.
50060         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
50061
50062         * modules/unilbrk/u16-width-linebreaks-tests: New file.
50063         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
50064
50065         * modules/unilbrk/u8-width-linebreaks-tests: New file.
50066         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
50067
50068         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
50069         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
50070
50071         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
50072         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
50073
50074         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
50075         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
50076
50077         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
50078         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
50079
50080 2008-05-10  Bruno Haible  <bruno@clisp.org>
50081
50082         Split up 'linebreak' module.
50083         * lib/unilbrk.h: New file, based on lib/linebreak.h.
50084         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
50085         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
50086         modifications.
50087         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
50088         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
50089         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
50090         lib/linebreak.c.
50091         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
50092         lib/linebreak.c.
50093         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
50094         lib/linebreak.c.
50095         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
50096         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
50097         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
50098         lib/linebreak.c.
50099         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
50100         lib/linebreak.c.
50101         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
50102         lib/linebreak.c.
50103         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
50104         lib/linebreak.c.
50105         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
50106         lib/linebreak.c.
50107         * modules/unilbrk/base: New file.
50108         * modules/unilbrk/tables: New file.
50109         * modules/unilbrk/u8-possible-linebreaks: New file.
50110         * modules/unilbrk/u16-possible-linebreaks: New file.
50111         * modules/unilbrk/u32-possible-linebreaks: New file.
50112         * modules/unilbrk/ulc-common: New file.
50113         * modules/unilbrk/ulc-possible-linebreaks: New file.
50114         * modules/unilbrk/u8-width-linebreaks: New file.
50115         * modules/unilbrk/u16-width-linebreaks: New file.
50116         * modules/unilbrk/u32-width-linebreaks: New file.
50117         * modules/unilbrk/ulc-width-linebreaks: New file.
50118         * lib/linebreak.h: Remove file.
50119         * lib/linebreak.c: Remove file.
50120         * m4/linebreak.m4: Remove file.
50121         * modules/linebreak: Remove file.
50122         * NEWS: Mention the changes.
50123
50124 2008-05-09  Eric Blake  <ebb9@byu.net>
50125
50126         Add xmemdup0.
50127         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
50128         implementation.
50129         * lib/xmalloc.c (xmemdup0): New C implementation.
50130
50131 2008-05-08  Bruno Haible  <bruno@clisp.org>
50132
50133         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
50134
50135 2008-05-07  Eric Blake  <ebb9@byu.net>
50136
50137         Support cross-compilation of <wctype.h>.
50138         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
50139         AC_CACHE_CHECK.
50140
50141 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
50142
50143         * build-aux/vc-list-files: Add support for bzr.
50144
50145 2008-05-03  Jim Meyering  <meyering@redhat.com>
50146
50147         avoid failed assertion with tight malloc
50148         * tests/test-getndelim2.c: Correct an off-by-one assertion.
50149
50150 2008-05-03  Simon Josefsson  <simon@josefsson.org>
50151
50152         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
50153         are needed from arpa/inet.h.
50154         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
50155         Reported by Bruno Haible.
50156
50157 2008-05-02  Jim Meyering  <meyering@redhat.com>
50158
50159         avoid compilation error on FreeBSD 6
50160         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
50161
50162 2008-05-01  Jim Meyering  <meyering@redhat.com>
50163
50164         useless-if-before-free: correct --help's exit status description
50165         * build-aux/useless-if-before-free (usage): Like grep, exit 0
50166         for one or more matches, etc.  Reported by Bruno Haible.
50167
50168         vc-list-files: make the stand-alone gnulib test work
50169         * modules/vc-list-files-tests (configure.ac):
50170         Define and AC_SUBST abs_aux_dir.
50171         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
50172         $(abs_top_srcdir) to each script and having each of them
50173         duplicate the work of setting PATH, set PATH here, using
50174         the new variable, abs_aux_dir instead.
50175         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
50176         * tests/test-vc-list-files-git.sh: Likewise.
50177         Reported by Bruno Haible.
50178
50179 2008-05-01  Bruno Haible  <bruno@clisp.org>
50180
50181         * lib/getndelim2.c (getndelim2): Fix newsize computation during
50182         reallocation. Rename 'done' to 'found_delimiter'.
50183
50184 2008-05-01  Jim Meyering  <meyering@redhat.com>
50185
50186         vc-list-files: accommodate /bin/sh like the one from Solaris 10
50187         * build-aux/vc-list-files: Use `...`, not $(...).
50188
50189 2008-04-30  Jim Meyering  <meyering@redhat.com>
50190
50191         add tests for vc-list-files
50192         * modules/vc-list-files-tests: New module.
50193         * tests/test-vc-list-files-cvs.sh: New file.
50194         * tests/test-vc-list-files-git.sh: New file.
50195
50196         avoid a warning from gcc
50197         * lib/getndelim2.c (IF_LINT): Define.
50198         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
50199
50200         vc-list-files: work properly with build-aux/cvsu, too
50201         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
50202         to all cvs-based clauses.
50203
50204         vc-list-files: work properly in the CVS+awk case, too
50205         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
50206
50207         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
50208         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
50209         take more than one file argument, so .  Add quotes, just in case $dir
50210         ever contains a shell meta-character.  Prompted by Soren Hansen in
50211         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
50212
50213 2008-04-29  Eric Blake  <ebb9@byu.net>
50214
50215         Optimize getndelim2 to use block operations when possible.
50216         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
50217         freadseek, and memchr2.
50218         * lib/getndelim2.c (getndelim2): Use them for block reads.
50219
50220 2008-04-29  Bruno Haible  <bruno@clisp.org>
50221
50222         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
50223         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50224         * modules/inet_ntop (Depends-on): Add extensions.
50225         * modules/inet_pton (Depends-on): Likewise.
50226         Reported by Simon Josefsson.
50227
50228 2008-04-29  Jim Meyering  <meyering@redhat.com>
50229
50230         When the is more than one match in a block, match all of them.
50231         * build-aux/useless-if-before-free: Iterate through each block
50232         until there are no more matches.
50233
50234         Fix broken useless-if-before-free script.
50235         * build-aux/useless-if-before-free: Fix typo: missing "?" after
50236         the expression to match cast of argument to free-like function.
50237
50238 2008-04-29  Eric Blake  <ebb9@byu.net>
50239
50240         Use new header.
50241         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
50242
50243 2008-04-29  Jim Meyering  <meyering@redhat.com>
50244
50245         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
50246         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
50247         by gnulib to exist and to declare e.g., inet_ntop.
50248         Don't include "inet_ntop.h", now removed.
50249
50250         * m4/arpa_inet_h.m4: Remove trailing blanks.
50251
50252 2008-04-29  Eric Blake  <ebb9@byu.net>
50253
50254         Silence valgrind on safe reads beyond potential array bounds.
50255         * lib/rawmemchr.valgrind: New file.
50256         * lib/strchrnul.valgrind: Likewise.
50257         * modules/rawmemchr (Files): Distribute new file.
50258         * modules/strchrnul (Files): Likewise.
50259         Suggested by Bruno Haible.
50260
50261 2008-04-29  Bruno Haible  <bruno@clisp.org>
50262
50263         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
50264         (inet_ntop, inet_pton): Change portability warning's wording.
50265         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
50266         Invoke gl_CHECK_NEXT_HEADERS.
50267         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
50268         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
50269         set ARPA_INET_H.
50270         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50271         * modules/arpa_inet (Description): No longer only for systems that
50272         lack it.
50273         (Depends-on): Add include_next.
50274         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
50275         HAVE_ARPA_INET_H.
50276
50277 2008-04-29  Jim Meyering  <meyering@redhat.com>
50278
50279         * modules/mkdir (License): Re-license as LGPLv2+.
50280
50281 2008-04-29  Bruno Haible  <bruno@clisp.org>
50282
50283         * modules/rawmemchr (Maintainer): Set to Eric.
50284         * modules/strchrnul (Maintainer): Likewise.
50285
50286 2008-04-29  Simon Josefsson  <simon@josefsson.org>
50287
50288         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
50289         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
50290
50291         * modules/arpa_inet (arpa/inet.h): Use them.
50292
50293 2008-04-28  Eric Blake  <ebb9@byu.net>
50294
50295         Test getndelim2.
50296         * modules/getndelim2-tests: New file.
50297         * tests/test-getndelim2.c: Likewise.
50298         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
50299         stream.
50300         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
50301
50302         * MODULES.html.sh: Document new module.
50303
50304 2008-04-20  Bruno Haible  <bruno@clisp.org>
50305
50306         * lib/c-stack.c (die): Use raise.
50307         * modules/c-stack (Depends-on): Add raise.
50308
50309 2008-04-28  Bruno Haible  <bruno@clisp.org>
50310
50311         Expect rpmatch to be declared.
50312         * lib/yesno.c (rpmatch): Remove declaration.
50313
50314         Declare rpmatch.
50315         * lib/stdlib.in.h (rpmatch): New declaration.
50316         * lib/rpmatch.c: Include <stdlib.h> first.
50317         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
50318         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
50319         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
50320         HAVE_RPMATCH.
50321         * modules/rpmatch (Depends-on): Add stdlib, extensions.
50322         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50323         (Include): Set to <stdlib.h>.
50324         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
50325         HAVE_RPMATCH.
50326         * NEWS: Document the change.
50327
50328 2008-04-28  Bruno Haible  <bruno@clisp.org>
50329
50330         Change rpmatch to use nl_langinfo when appropriate.
50331         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
50332         (N_): New macro.
50333         (localized_pattern): New function/macro.
50334         (try): Remove match, nomatch arguments. Copy the pattern into safe
50335         memory before caching it.
50336         (rpmatch): Use localized_pattern. Add translator comments.
50337         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
50338         Suggested by Eric Blake.
50339         * modules/rpmatch (Depends-on): Add stdbool.
50340
50341 2008-04-28  Eric Blake  <ebb9@byu.net>
50342
50343         Add rawmemchr module, matching glibc.
50344         * modules/string (Makefile.am): New indicator.
50345         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
50346         * lib/string.in.h (rawmemchr): Declare when appropriate.
50347         * modules/rawmemchr: New file.
50348         * m4/rawmemchr.m4: Likewise.
50349         * lib/rawmemchr.c: Likewise.
50350         * modules/rawmemchr-tests: Likewise.
50351         * tests/test-rawmemchr.c: Likewise.
50352         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
50353         module.
50354         * modules/strchrnul (Depends-on): Add rawmemchr.
50355         * lib/strchrnul.c (strchrnul): Optimize a corner case.
50356
50357         Whitespace cleanup.
50358         * tests/test-strchrnul.c: Reindent.
50359         * lib/strchrnul.c: Likewise.
50360
50361         Optimize and test strchrnul.
50362         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
50363         * modules/strchrnul-tests: New file.
50364         * tests/test-strchrnul.c: Likewise.
50365
50366         Remove intprops dependency.
50367         * modules/memchr (Depends-on): Remove intprops.
50368         * modules/memrchr (Depends-on): Likewise.
50369         * modules/memchr2 (Depends-on): Likewise.
50370         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
50371         * lib/memrchr.c (__memrchr): Likewise.
50372         * lib/memrchr2.c (memchr2): Likewise.
50373         Reported by Simon Josefsson.
50374
50375 2008-04-28  Simon Josefsson  <simon@josefsson.org>
50376
50377         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
50378         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50379
50380 2008-04-28  Simon Josefsson  <simon@josefsson.org>
50381
50382         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
50383
50384         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
50385
50386         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
50387
50388         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
50389         declarations.
50390         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
50391
50392         * m4/inet_pton.m4: Don't check for header files.
50393
50394         * m4/inet_ntop.m4: Don't check for header files.
50395
50396 2008-04-28  Simon Josefsson  <simon@josefsson.org>
50397
50398         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
50399         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
50400         trigger for cygwin).
50401         Reported by Bruno Haible  <bruno@clisp.org>.
50402
50403 2008-04-28  Bruno Haible  <bruno@clisp.org>
50404
50405         * doc/posix-functions/strdup.texi: Mention mingw problem.
50406
50407 2008-04-27  Bruno Haible  <bruno@clisp.org>
50408
50409         * modules/stat-time-tests (Depends-on): Add sleep.
50410         * tests/test-stat-time.c (force_unlink): New function.
50411         (cleanup): Use it.
50412         (test_mtime): Remove the ctime related tests.
50413         (test_ctime): New function, containing the ctime related tests.
50414         (main): Call test_ctime, except on native Windows platforms.
50415
50416 2008-04-27  Bruno Haible  <bruno@clisp.org>
50417
50418         * lib/rpmatch.c (rpmatch): Add some comments.
50419         Reported by James Youngman <jay@gnu.org>.
50420
50421 2008-04-27  Bruno Haible  <bruno@clisp.org>
50422
50423         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
50424         quiet NaNs.
50425
50426 2008-04-27  Bruno Haible  <bruno@clisp.org>
50427
50428         Make test-yesno.sh work on mingw.
50429         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
50430         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
50431         (main): Set stdin to binary mode.
50432         * modules/yesno-tests (Depends-on): Add binary-io.
50433
50434 2008-04-27  Bruno Haible  <bruno@clisp.org>
50435
50436         Fix 'isfinite' on x86, x86_64, ia64 platforms.
50437         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
50438         argument that lie outside the IEEE 854 domain.
50439         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
50440         (gl_ISFINITE): Use it.
50441         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
50442
50443 2008-04-27  Bruno Haible  <bruno@clisp.org>
50444
50445         Allow local renaming in config.h.
50446         * lib/memrchr.c (memrchr): Don't undefine outside libc.
50447
50448 2008-04-27  Bruno Haible  <bruno@clisp.org>
50449
50450         * lib/memchr.c (__memchr): Change type of 'i'.
50451         * lib/memchr2.c (memchr2): Likewise.
50452
50453 2008-04-26  Eric Blake  <ebb9@byu.net>
50454         and Bruno Haible  <bruno@clisp.org>
50455
50456         Optimize and test memrchr.
50457         * modules/memrchr (Depends-on): Add intprops.
50458         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
50459         * modules/memrchr-tests: New file.
50460         * tests/test-memrchr.c: New file.
50461
50462 2008-04-26  Bruno Haible  <bruno@clisp.org>
50463
50464         Add tentative support for DragonFly BSD.
50465         * lib/stdio-impl.h: Add macros for DragonFly BSD.
50466         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
50467         fp.
50468         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
50469         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
50470         * lib/fpurge.c (fpurge): Likewise.
50471         * lib/freadable.c (freaadable): Likewise.
50472         * lib/freadahead.c (freadahead): Likewise.
50473         * lib/freading.c (freading): Likewise.
50474         * lib/freadptr.c (freadptr): Likewise.
50475         * lib/freadseek.c (freadptrinc): Likewise.
50476         * lib/fseeko.c (fseeko): Likewise.
50477         * lib/fseterr.c (fseterr): Likewise.
50478         * lib/fwritable.c (fwritable): Likewise.
50479         * lib/fwriting.c (fwriting): Likewise.
50480
50481 2008-04-26  Bruno Haible  <bruno@clisp.org>
50482
50483         * lib/stdio-impl.h: New file.
50484         * lib/fbufmode.c: Include stdio-impl.h.
50485         (fbufmode): Use fp_, remove redundant #defines.
50486         * lib/fflush.c: Include stdio-impl.h.
50487         (clear_ungetc_buffer): Remove redundant #defines.
50488         * lib/fpurge.c: Include stdio-impl.h.
50489         (fpurge): Remove redundant #defines.
50490         * lib/freadable.c: Include stdio-impl.h.
50491         (freadable): Remove redundant #defines.
50492         * lib/freadahead.c: Include stdio-impl.h.
50493         (freadahead): Remove redundant #defines.
50494         * lib/freading.c: Include stdio-impl.h.
50495         (freading): Remove redundant #defines.
50496         * lib/freadptr.c: Include stdio-impl.h.
50497         (freadptr): Remove redundant #defines.
50498         * lib/freadseek.c: Include stdio-impl.h.
50499         (freadptrinc): Remove redundant #defines.
50500         * lib/fseeko.c: Include stdio-impl.h.
50501         (rpl_fseeko): Remove redundant #defines.
50502         * lib/fseterr.c: Include stdio-impl.h.
50503         (fseterr): Remove redundant #defines.
50504         * lib/fwritable.c: Include stdio-impl.h.
50505         (fwritable: Remove redundant #defines.
50506         * lib/fwriting.c: Include stdio-impl.h.
50507         (fwriting): Remove redundant #defines.
50508         * modules/fbufmode (Files): Add lib/stdio-impl.h.
50509         * modules/fflush (Files): Likewise.
50510         * modules/fpurge (Files): Likewise.
50511         * modules/freadable (Files): Likewise.
50512         * modules/freadahead (Files): Likewise.
50513         * modules/freading (Files): Likewise.
50514         * modules/freadptr (Files): Likewise.
50515         * modules/freadseek (Files): Likewise.
50516         * modules/fseeko (Files): Likewise.
50517         * modules/fseterr (Files): Likewise.
50518         * modules/fwritable (Files): Likewise.
50519         * modules/fwriting (Files): Likewise.
50520
50521 2008-04-26  Bruno Haible  <bruno@clisp.org>
50522
50523         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
50524         restore_seek_optimization, update_fpos_cache): New functions, extracted
50525         from rpl_fflush.
50526         (rpl_fflush): Use them.
50527         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
50528         (gl_REPLACE_FFLUSH): Use it.
50529
50530 2008-04-26  Bruno Haible  <bruno@clisp.org>
50531
50532         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
50533         on Solaris.
50534         * tests/test-xstrtoimax.sh: Likewise.
50535         * tests/test-xstrtoumax.sh: Likewise.
50536         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50537
50538 2008-04-26  Bruno Haible  <bruno@clisp.org>
50539
50540         * modules/memchr-tests: New file.
50541         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
50542
50543 2008-04-26  Eric Blake  <ebb9@byu.net>
50544             Bruno Haible  <bruno@clisp.org>
50545
50546         * lib/memchr.c: Include intprops.h.
50547         (__memchr): Optimize parallel detection of matching bytes. Rename local
50548         variables. Add explanatory comments.
50549
50550 2008-04-26  Bruno Haible  <bruno@clisp.org>
50551
50552         Fix module 'memchr', broken since 2000-10-28.
50553         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
50554
50555 2008-04-26  Bruno Haible  <bruno@clisp.org>
50556
50557         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
50558         comments.
50559
50560 2008-04-25  Eric Blake  <ebb9@byu.net>
50561
50562         Use native fstatat on cygwin 1.7.0.
50563         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
50564         first.
50565
50566 2008-04-23  Eric Blake  <ebb9@byu.net>
50567
50568         Improve memchr2 performance.
50569         * lib/memchr2.c (memchr2): Further optimize parallel detection of
50570         NUL bytes.
50571         * modules/memchr2 (Depends-on): Use intprops.h.
50572
50573 2008-04-23  Simon Josefsson  <simon@josefsson.org>
50574
50575         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
50576         an inline function instead of a CPP macro.  Patch by Ben Pfaff
50577         <blp@cs.stanford.edu>.
50578
50579 2008-04-23  Simon Josefsson  <simon@josefsson.org>
50580
50581         * lib/arpa_inet.in.h: New file.
50582
50583         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
50584         (Makefile.am): Sed in substitute header file.
50585
50586         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
50587         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
50588
50589         * modules/inet_ntop (configure.ac): Use
50590         gl_ARPA_INET_MODULE_INDICATOR.
50591
50592         * modules/inet_pton (configure.ac): Use
50593         gl_ARPA_INET_MODULE_INDICATOR.
50594
50595 2008-04-22  Jim Meyering  <meyering@redhat.com>
50596
50597         * modules/verify (License): Re-license as LGPLv2+.
50598
50599 2008-04-22  Simon Josefsson  <simon@josefsson.org>
50600
50601         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
50602         parameter to void* as per POSIX standard (MinGW uses char*).
50603
50604 2008-04-21  Bruno Haible  <bruno@clisp.org>
50605
50606         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
50607         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
50608         Define to replacements if REPLACE_ISWCNTRL is 1.
50609         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
50610         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
50611         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
50612         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
50613         what it fixes.
50614         * doc/posix-functions/iswalpha.texi: Likewise.
50615         * doc/posix-functions/iswblank.texi: Likewise.
50616         * doc/posix-functions/iswcntrl.texi: Likewise.
50617         * doc/posix-functions/iswdigit.texi: Likewise.
50618         * doc/posix-functions/iswgraph.texi: Likewise.
50619         * doc/posix-functions/iswlower.texi: Likewise.
50620         * doc/posix-functions/iswprint.texi: Likewise.
50621         * doc/posix-functions/iswpunct.texi: Likewise.
50622         * doc/posix-functions/iswspace.texi: Likewise.
50623         * doc/posix-functions/iswupper.texi: Likewise.
50624         * doc/posix-functions/iswxdigit.texi: Likewise.
50625         Reported by Alain Guibert.
50626
50627 2008-04-21  Bruno Haible  <bruno@clisp.org>
50628
50629         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
50630         Patch by Alain Guibert.
50631
50632 2008-04-21  Bruno Haible  <bruno@clisp.org>
50633
50634         Fix test failures on mingw.
50635         * tests/test-xstrtol.c (print_no_progname): New function.
50636         (main): Install it in error_print_progname hook.
50637         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
50638         * tests/test-xstrtoimax.sh: Likewise.
50639         * tests/test-xstrtoumax.sh: Likewise.
50640
50641 2008-04-21  Bruno Haible  <bruno@clisp.org>
50642
50643         Fix test failure on mingw.
50644         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
50645
50646 2008-04-21  Bruno Haible  <bruno@clisp.org>
50647
50648         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
50649         Actually assign a value.
50650
50651 2008-04-20  Bruno Haible  <bruno@clisp.org>
50652
50653         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
50654         take 2.
50655         * lib/canonicalize.c (canonicalize_file_name): Elide if the
50656         'canonicalize-lgpl' module is also used.
50657         * lib/canonicalize-lgpl.c: Undo last change.
50658         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
50659
50660 2008-04-20  Bruno Haible  <bruno@clisp.org>
50661
50662         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
50663         config.h. Provide _mkdir based fallback for mingw.
50664         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
50665         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
50666         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
50667         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
50668         rather than defining mkdir in config.h.
50669         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
50670         (gl_SYS_STAT_H_DEFAULTS): New macro.
50671         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
50672         HAVE_IO_H any more.
50673         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
50674         HAVE_DECL_MKDIR and HAVE_IO_H.
50675
50676 2008-04-20  Bruno Haible  <bruno@clisp.org>
50677
50678         * lib/isapipe.c: Port to native Windows platforms.
50679
50680 2008-04-20  Bruno Haible  <bruno@clisp.org>
50681
50682         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
50683
50684 2008-04-21  Eric Blake  <ebb9@byu.net>
50685
50686         Work around preprocessors that don't handle UINTMAX_MAX.
50687         * lib/memchr2.c (memchr2): Avoid embedded #if.
50688         Reported by Alain Guibert, fix suggested by Bruno Haible.
50689
50690 2008-04-21  Simon Josefsson  <simon@josefsson.org>
50691
50692         * doc/posix-functions/strftime.texi (strftime): Explain better
50693         Windows incompatibility.  Suggested by Micah Cowan
50694         <micah@cowan.name>.
50695
50696 2008-04-20  Bruno Haible  <bruno@clisp.org>
50697
50698         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
50699         unistr/u8-mblen.
50700
50701 2008-04-20  Bruno Haible  <bruno@clisp.org>
50702
50703         Fix test failure on platforms with non-GNU iconv.
50704         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
50705         (U_TO_U8): Use it, rather than u16_to_u8.
50706         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
50707         units at the end of the input string.
50708         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
50709
50710 2008-04-20  Bruno Haible  <bruno@clisp.org>
50711
50712         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
50713         when the resulting length is 0.
50714         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
50715
50716 2008-04-20  Bruno Haible  <bruno@clisp.org>
50717
50718         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
50719         works.
50720         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
50721
50722 2008-04-20  Bruno Haible  <bruno@clisp.org>
50723
50724         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
50725         * modules/tsearch-tests (configure.ac): Test for initstate function.
50726
50727 2008-04-20  Bruno Haible  <bruno@clisp.org>
50728
50729         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
50730         for nlink_t if missing.
50731         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
50732
50733 2008-04-19  Bruno Haible  <bruno@clisp.org>
50734
50735         Work around snprintf bug on Linux libc5.
50736         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
50737         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50738         gl_SNPRINTF_SIZE1.
50739         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50740         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
50741         that test failed.
50742         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
50743         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
50744         * modules/snprintf (Files): Add m4/printf.m4.
50745         * modules/vsnprintf (Files): Likewise.
50746         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
50747         * doc/posix-functions/vsnprintf.texi: Likewise.
50748
50749 2008-04-19  Bruno Haible  <bruno@clisp.org>
50750
50751         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
50752         from 0.0058 to less than 10^-7.
50753
50754 2008-04-19  Bruno Haible  <bruno@clisp.org>
50755
50756         Fix rounding when a precision is given.
50757         * lib/vasnprintf.c (is_borderline): New function.
50758         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
50759         9...9x.
50760         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
50761         %e, %g.
50762         * tests/test-vasprintf-posix.c (test_function): Likewise.
50763         * tests/test-snprintf-posix.h (test_function): Likewise.
50764         * tests/test-sprintf-posix.h (test_function): Likewise.
50765         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
50766         * tests/test-printf-posix.h (test_function): Likewise.
50767         * tests/test-printf-posix.output: Update.
50768         Reported by John Darrington <john@darrington.wattle.id.au> via
50769         Ben Pfaff <blp@cs.stanford.edu>.
50770
50771 2008-04-18  Simon Josefsson  <simon@josefsson.org>
50772
50773         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
50774         Suggested by Bruno Haible <bruno@clisp.org>.
50775
50776 2008-04-17  Bruno Haible  <bruno@clisp.org>
50777
50778         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
50779         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
50780         implementation.
50781         Patch by Bruce Merry <bmerry@gmail.com>.
50782
50783 2008-04-17  Simon Josefsson  <simon@josefsson.org>
50784
50785         * doc/posix-functions/strftime.texi (strftime): Mention that %e
50786         doesn't work under Windows.
50787
50788 2008-04-16  Bruno Haible  <bruno@clisp.org>
50789
50790         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
50791         New macros.
50792         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
50793         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
50794         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
50795         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
50796         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
50797         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
50798         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
50799         macros.
50800         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
50801         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
50802         Northern Sotho, Uighur.
50803
50804 2008-04-16  Bruno Haible  <bruno@clisp.org>
50805
50806         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
50807         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
50808         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
50809         Reported by Daniel Bergström <daniel@octocode.com>.
50810
50811 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
50812             Bruno Haible  <bruno@clisp.org>
50813
50814         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
50815         function.
50816         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
50817         New functions, mostly extracted from gl_locale_name_default.
50818         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
50819
50820 2008-04-16  Eric Blake  <ebb9@byu.net>
50821
50822         Adjust strtod detection to catch glibc 2.7 bug.
50823         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
50824         Reported by John Gatewood Ham.
50825
50826 2008-04-16  Bruno Haible  <bruno@clisp.org>
50827
50828         Add tentative support for Linux libc5.
50829         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
50830         * lib/fpurge.c (fpurge): Likewise.
50831         * lib/freadable.c (freadable): Likewise.
50832         * lib/freadahead.c (freadahead): Likewise.
50833         * lib/freading.c (freading): Likewise.
50834         * lib/freadptr.c (freadptr): Likewise.
50835         * lib/freadseek.c (freadptrinc): Likewise.
50836         * lib/fseeko.c (rpl_fseeko): Likewise.
50837         * lib/fseterr.c (fseterr): Likewise.
50838         * lib/fwritable.c (fwritable): Likewise.
50839         * lib/fwriting.c (fwriting): Likewise.
50840         Reported by Alain Guibert <alguibert+bts@free.fr>.
50841
50842 2008-04-15  Bruno Haible  <bruno@clisp.org>
50843
50844         * modules/mathl (configure.ac): Define module indicator.
50845
50846 2008-04-15  Bruno Haible  <bruno@clisp.org>
50847
50848         * lib/logl.c (logl): Remove unused variables.
50849
50850 2008-04-15  Bruno Haible  <bruno@clisp.org>
50851
50852         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
50853         fails.
50854
50855 2008-04-15  Bruno Haible  <bruno@clisp.org>
50856
50857         * lib/trim.c (trim2): Fix argument of isspace() macro.
50858
50859 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
50860
50861         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
50862         to 0.
50863         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
50864
50865 2008-04-14  Bruno Haible  <bruno@clisp.org>
50866
50867         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
50868         AC_LANG_PROGRAM argument.
50869         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
50870         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
50871         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
50872         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
50873         * m4/math_h.m4 (gl_MATH_H): Likewise.
50874         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
50875         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50876         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
50877         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
50878         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50879         * m4/regex.m4 (gl_REGEX): Likewise.
50880         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
50881         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
50882         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50883         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
50884         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
50885         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
50886         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50887         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
50888
50889 2008-04-14  Jim Meyering  <meyering@redhat.com>
50890
50891         test-strtod: fix typos: s/abs/fabs/
50892         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
50893
50894 2008-04-13  Bruno Haible  <bruno@clisp.org>
50895
50896         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
50897         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
50898         module is also used and while not building the reloc-wrapper.
50899
50900 2008-04-13  Bruno Haible  <bruno@clisp.org>
50901
50902         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
50903
50904 2008-04-13  Bruno Haible  <bruno@clisp.org>
50905
50906         Fix AIX compilation failure introduced on 2008-04-02.
50907         * tests/test-frexp.c (exp): Undefine before redefining.
50908         * tests/test-frexpl.c (exp): Likewise.
50909
50910 2008-04-13  Bruno Haible  <bruno@clisp.org>
50911
50912         Work around a HP-UX stdio bug.
50913         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
50914         * tests/test-ftello.c (main): Likewise.
50915         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
50916         * doc/posix-functions/ftello.texi: Likewise.
50917
50918 2008-04-13  Bruno Haible  <bruno@clisp.org>
50919
50920         Make test-signbit pass on HP-UX/hppa.
50921         * tests/test-signbit.c (minus_zerol): New variable.
50922         (test_signbitl): Use it.
50923
50924 2008-04-13  Bruno Haible  <bruno@clisp.org>
50925
50926         Make truncl work on OSF/1 4.0.
50927         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
50928         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50929         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50930         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
50931         HAVE_DECL_TRUNCL.
50932         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
50933         HAVE_DECL_TRUNCL.
50934         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
50935
50936 2008-04-13  Bruno Haible  <bruno@clisp.org>
50937
50938         * lib/unictype.h: Remove trailing comma from enumeration definitions.
50939
50940 2008-04-13  Bruno Haible  <bruno@clisp.org>
50941
50942         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
50943         expression, so as to avoid HP-UX 11 cc compiler bug.
50944
50945 2008-04-13  Bruno Haible  <bruno@clisp.org>
50946
50947         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
50948
50949 2008-04-13  Bruno Haible  <bruno@clisp.org>
50950
50951         * lib/git-merge-changelog.c: Remove empty declaration outside of
50952         functions.
50953
50954 2008-04-13  Bruno Haible  <bruno@clisp.org>
50955
50956         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
50957
50958 2008-04-13  Bruno Haible  <bruno@clisp.org>
50959
50960         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
50961         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
50962         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
50963         also if it exists but lacks definitions of the SHUT_* macros.
50964         * modules/sys_socket (Description): Update.
50965         Reported by Elbert Pol <e.pol@chello.nl>.
50966
50967 2008-04-13  Bruno Haible  <bruno@clisp.org>
50968
50969         * lib/localcharset.c (OS2): Don't redefine if already defined.
50970         Reported by Elbert Pol <e.pol@chello.nl>.
50971
50972 2008-04-13  Bruno Haible  <bruno@clisp.org>
50973
50974         * lib/binary-io.h [__EMX__]: Include <io.h>.
50975         Reported by Elbert Pol <e.pol@chello.nl>.
50976
50977 2008-04-12  Bruno Haible  <bruno@clisp.org>
50978
50979         * lib/fpucw.h: Enable the definitions also for x86_64.
50980         Needed for NetBSD/x86_64.
50981         Reported by Thomas Klausner <tk@giga.or.at>.
50982
50983 2008-04-12  Bruno Haible  <bruno@clisp.org>
50984
50985         * tests/test-strtod.c: Include isnand.h.
50986         (main): Use isnand instead of isnan.
50987         Reported by Jim Meyering.
50988
50989 2008-04-12  Bruno Haible  <bruno@clisp.org>
50990
50991         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
50992         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50993
50994 2008-04-12  Jim Meyering  <meyering@redhat.com>
50995
50996         * m4/math_h.m4 (gl_MATH_H): Fix typos.
50997
50998 2008-04-12  Bruno Haible  <bruno@clisp.org>
50999
51000         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
51001         Reported by Elbert Pol <e.pol@chello.nl>.
51002
51003 2008-04-12  Eric Blake  <ebb9@byu.net>
51004
51005         Work around Solaris 10 math.h bug.
51006         * m4/math_h.m4 (gl_MATH_H): Check for bug.
51007         (gl_MATH_H_DEFAULTS): Set up default.
51008         * modules/math (Makefile.am): Replace new indicators.
51009         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
51010         * tests/test-math.c (main): Test this.
51011         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
51012         * doc/posix-headers/math.texi (math.h): Mention bug.
51013         Reported by Nelson H. F. Beebe and Jim Meyering.
51014
51015 2008-04-11  Bruno Haible  <bruno@clisp.org>
51016
51017         Adapt to future versions of Apple GCC.
51018         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
51019         Reported by Peter O'Gorman <peter@pogma.com>.
51020
51021 2008-04-11  Bruno Haible  <bruno@clisp.org>
51022
51023         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
51024
51025 2008-04-11  Bruno Haible  <bruno@clisp.org>
51026
51027         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
51028
51029         * modules/getaddrinfo-tests (Makefile.am): Define
51030         test_getaddrinfo_LDADD.
51031
51032 2008-04-11  Bruno Haible  <bruno@clisp.org>
51033
51034         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
51035         (init): Fix syntax error.
51036         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
51037         is declared.
51038
51039 2008-04-11  Bruno Haible  <bruno@clisp.org>
51040
51041         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
51042         * modules/glob (Depends-on): Add stdbool.
51043
51044 2008-04-11  Bruno Haible  <bruno@clisp.org>
51045
51046         * lib/trim.c: Include <string.h>.
51047
51048 2008-04-11  Eric Blake  <ebb9@byu.net>
51049
51050         Avoid compile failure on OS/2.
51051         * lib/regex_internal.h (internal_function): Disable optimization
51052         on OS/2 (__EMX__), where it caused compiler error.
51053         Reported by Elbert Pol.
51054
51055 2008-04-11  Bruno Haible  <bruno@clisp.org>
51056
51057         Flush the standard error stream before aborting. Needed on mingw.
51058         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
51059         * tests/test-array_list.c (ASSERT): Likewise.
51060         * tests/test-array_oset.c (ASSERT): Likewise.
51061         * tests/test-avltree_list.c (ASSERT): Likewise.
51062         * tests/test-avltree_oset.c (ASSERT): Likewise.
51063         * tests/test-avltreehash_list.c (ASSERT): Likewise.
51064         * tests/test-binary-io.c (ASSERT): Likewise.
51065         * tests/test-byteswap.c (ASSERT): Likewise.
51066         * tests/test-c-ctype.c (ASSERT): Likewise.
51067         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
51068         * tests/test-c-strcasestr.c (ASSERT): Likewise.
51069         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
51070         * tests/test-c-strstr.c (ASSERT): Likewise.
51071         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
51072         * tests/test-canonicalize.c (ASSERT): Likewise.
51073         * tests/test-carray_list.c (ASSERT): Likewise.
51074         * tests/test-ceilf1.c (ASSERT): Likewise.
51075         * tests/test-ceilf2.c (ASSERT): Likewise.
51076         * tests/test-ceill.c (ASSERT): Likewise.
51077         * tests/test-count-one-bits.c (ASSERT): Likewise.
51078         * tests/test-fbufmode.c (ASSERT): Likewise.
51079         * tests/test-fflush2.c (ASSERT): Likewise.
51080         * tests/test-floorf1.c (ASSERT): Likewise.
51081         * tests/test-floorf2.c (ASSERT): Likewise.
51082         * tests/test-floorl.c (ASSERT): Likewise.
51083         * tests/test-fopen.c (ASSERT): Likewise.
51084         * tests/test-fpending.c (ASSERT): Likewise.
51085         * tests/test-fprintf-posix.c (ASSERT): Likewise.
51086         * tests/test-fpurge.c (ASSERT): Likewise.
51087         * tests/test-freadable.c (ASSERT): Likewise.
51088         * tests/test-freadahead.c (ASSERT): Likewise.
51089         * tests/test-freading.c (ASSERT): Likewise.
51090         * tests/test-freadptr.c (ASSERT): Likewise.
51091         * tests/test-freadptr2.c (ASSERT): Likewise.
51092         * tests/test-freadseek.c (ASSERT): Likewise.
51093         * tests/test-freopen.c (ASSERT): Likewise.
51094         * tests/test-frexp.c (ASSERT): Likewise.
51095         * tests/test-frexpl.c (ASSERT): Likewise.
51096         * tests/test-fseek.c (ASSERT): Likewise.
51097         * tests/test-fseeko.c (ASSERT): Likewise.
51098         * tests/test-fstrcmp.c (ASSERT): Likewise.
51099         * tests/test-ftell.c (ASSERT): Likewise.
51100         * tests/test-ftello.c (ASSERT): Likewise.
51101         * tests/test-func.c (ASSERT): Likewise.
51102         * tests/test-fwritable.c (ASSERT): Likewise.
51103         * tests/test-fwriting.c (ASSERT): Likewise.
51104         * tests/test-getdelim.c (ASSERT): Likewise.
51105         * tests/test-getline.c (ASSERT): Likewise.
51106         * tests/test-i-ring.c (ASSERT): Likewise.
51107         * tests/test-iconv-utf.c (ASSERT): Likewise.
51108         * tests/test-iconv.c (ASSERT): Likewise.
51109         * tests/test-isfinite.c (ASSERT): Likewise.
51110         * tests/test-isnand.c (ASSERT): Likewise.
51111         * tests/test-isnanf.c (ASSERT): Likewise.
51112         * tests/test-isnanl.h (ASSERT): Likewise.
51113         * tests/test-ldexpl.c (ASSERT): Likewise.
51114         * tests/test-linked_list.c (ASSERT): Likewise.
51115         * tests/test-linkedhash_list.c (ASSERT): Likewise.
51116         * tests/test-localename.c (ASSERT): Likewise.
51117         * tests/test-lseek.c (ASSERT): Likewise.
51118         * tests/test-mbscasecmp.c (ASSERT): Likewise.
51119         * tests/test-mbscasestr1.c (ASSERT): Likewise.
51120         * tests/test-mbscasestr2.c (ASSERT): Likewise.
51121         * tests/test-mbscasestr3.c (ASSERT): Likewise.
51122         * tests/test-mbscasestr4.c (ASSERT): Likewise.
51123         * tests/test-mbschr.c (ASSERT): Likewise.
51124         * tests/test-mbscspn.c (ASSERT): Likewise.
51125         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
51126         * tests/test-mbspbrk.c (ASSERT): Likewise.
51127         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
51128         * tests/test-mbsrchr.c (ASSERT): Likewise.
51129         * tests/test-mbsspn.c (ASSERT): Likewise.
51130         * tests/test-mbsstr1.c (ASSERT): Likewise.
51131         * tests/test-mbsstr2.c (ASSERT): Likewise.
51132         * tests/test-mbsstr3.c (ASSERT): Likewise.
51133         * tests/test-memchr2.c (ASSERT): Likewise.
51134         * tests/test-memmem.c (ASSERT): Likewise.
51135         * tests/test-open.c (ASSERT): Likewise.
51136         * tests/test-printf-frexp.c (ASSERT): Likewise.
51137         * tests/test-printf-frexpl.c (ASSERT): Likewise.
51138         * tests/test-printf-posix.c (ASSERT): Likewise.
51139         * tests/test-quotearg.c (ASSERT): Likewise.
51140         * tests/test-rbtree_list.c (ASSERT): Likewise.
51141         * tests/test-rbtree_oset.c (ASSERT): Likewise.
51142         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
51143         * tests/test-round1.c (ASSERT): Likewise.
51144         * tests/test-roundf1.c (ASSERT): Likewise.
51145         * tests/test-roundl.c (ASSERT): Likewise.
51146         * tests/test-signbit.c (ASSERT): Likewise.
51147         * tests/test-sleep.c (ASSERT): Likewise.
51148         * tests/test-snprintf-posix.c (ASSERT): Likewise.
51149         * tests/test-snprintf.c (ASSERT): Likewise.
51150         * tests/test-sprintf-posix.c (ASSERT): Likewise.
51151         * tests/test-stat-time.c (ASSERT): Likewise.
51152         * tests/test-strcasestr.c (ASSERT): Likewise.
51153         * tests/test-strerror.c (ASSERT): Likewise.
51154         * tests/test-striconv.c (ASSERT): Likewise.
51155         * tests/test-striconveh.c (ASSERT): Likewise.
51156         * tests/test-striconveha.c (ASSERT): Likewise.
51157         * tests/test-strsignal.c (ASSERT): Likewise.
51158         * tests/test-strstr.c (ASSERT): Likewise.
51159         * tests/test-strtod.c (ASSERT): Likewise.
51160         * tests/test-trunc1.c (ASSERT): Likewise.
51161         * tests/test-trunc2.c (ASSERT): Likewise.
51162         * tests/test-truncf1.c (ASSERT): Likewise.
51163         * tests/test-truncf2.c (ASSERT): Likewise.
51164         * tests/test-truncl.c (ASSERT): Likewise.
51165         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
51166         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
51167         * tests/test-vasnprintf.c (ASSERT): Likewise.
51168         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
51169         * tests/test-vasprintf.c (ASSERT): Likewise.
51170         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
51171         * tests/test-vprintf-posix.c (ASSERT): Likewise.
51172         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
51173         * tests/test-vsnprintf.c (ASSERT): Likewise.
51174         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
51175         * tests/test-wcwidth.c (ASSERT): Likewise.
51176         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
51177         * tests/test-xprintf-posix.c (ASSERT): Likewise.
51178         * tests/test-xvasprintf.c (ASSERT): Likewise.
51179         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
51180         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
51181         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
51182         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
51183         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
51184         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
51185         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
51186         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
51187         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
51188         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
51189         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
51190         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
51191         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
51192         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
51193         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
51194         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
51195         * tests/unictype/test-block_list.c (ASSERT): Likewise.
51196         * tests/unictype/test-block_of.c (ASSERT): Likewise.
51197         * tests/unictype/test-block_test.c (ASSERT): Likewise.
51198         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
51199         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
51200         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
51201         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
51202         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
51203         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
51204         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
51205         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
51206         * tests/unictype/test-combining.c (ASSERT): Likewise.
51207         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
51208         * tests/unictype/test-digit.c (ASSERT): Likewise.
51209         * tests/unictype/test-mirror.c (ASSERT): Likewise.
51210         * tests/unictype/test-numeric.c (ASSERT): Likewise.
51211         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
51212         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
51213         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
51214         * tests/unictype/test-scripts.c (ASSERT): Likewise.
51215         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
51216         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
51217         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
51218         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
51219         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
51220         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
51221         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
51222         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
51223         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
51224         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
51225         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
51226         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
51227         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
51228         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
51229         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
51230         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
51231         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
51232         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
51233         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
51234         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
51235         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
51236         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
51237         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
51238         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
51239         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
51240         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
51241         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
51242         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
51243         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
51244         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
51245         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
51246         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
51247         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
51248         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
51249         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
51250         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
51251         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
51252         Reported by Eric Blake.
51253
51254 2008-04-11  Bruno Haible  <bruno@clisp.org>
51255
51256         * lib/wchar.in.h: Tweak comment.
51257
51258 2008-04-11  Bruno Haible  <bruno@clisp.org>
51259
51260         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
51261         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
51262         gl_COMMON.
51263         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
51264
51265 2008-04-11  Bruno Haible  <bruno@clisp.org>
51266
51267         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
51268
51269 2008-04-11  Simon Josefsson  <simon@josefsson.org>
51270
51271         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
51272         of attempting to use non-existing /dev/*random.  Based on patch
51273         from Adam Strzelecki <ono@java.pl> in
51274         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
51275
51276 2008-04-08  Bruno Haible  <bruno@clisp.org>
51277
51278         Add tentative support for emx+gcc.
51279         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
51280         * lib/fpurge.c (fpurge): Likewise.
51281         * lib/freadable.c (freadable): Likewise.
51282         * lib/freadahead.c (freadahead): Likewise.
51283         * lib/freading.c (freading): Likewise.
51284         * lib/freadptr.c (freadptr): Likewise.
51285         * lib/freadseek.c (freadptrinc): Likewise.
51286         * lib/fseeko.c (rpl_fseeko): Likewise.
51287         * lib/fseterr.c (fseterr): Likewise.
51288         * lib/fwritable.c (fwritable): Likewise.
51289         * lib/fwriting.c (fwriting): Likewise.
51290         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
51291
51292 2008-04-09  Eric Blake  <ebb9@byu.net>
51293
51294         Avoid some autoconf warnings.
51295         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
51296         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
51297         * m4/afs.m4 (gl_AFS): Likewise.
51298         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
51299         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
51300         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51301         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
51302         (gl_INTEGER_TYPE_SUFFIX): Likewise.
51303         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
51304         (AC_CHECK_DECLS_ONCE): Likewise.
51305         Rename file...
51306         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
51307         gnulib-tool requires autoconf 2.59 or better.
51308         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
51309
51310 2008-04-08  Eric Blake  <ebb9@byu.net>
51311
51312         Use 'git describe --match' if present (added in git 1.5.5).
51313         * build-aux/git-version-gen: Limit result to tags that match 'v*'
51314         if possible.
51315
51316 2008-04-08  Bruno Haible  <bruno@clisp.org>
51317
51318         Add tentative support for OpenServer.
51319         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
51320         _ptr, _cnt.
51321         * lib/fpurge.c (fpurge): Likewise.
51322         * lib/freadable.c (freadable): Likewise.
51323         * lib/freadahead.c (freadahead): Likewise.
51324         * lib/freading.c (freading): Likewise.
51325         * lib/freadptr.c (freadptr): Likewise.
51326         * lib/freadseek.c (freadptrinc): Likewise.
51327         * lib/fseeko.c (rpl_fseeko): Likewise.
51328         * lib/fseterr.c (fseterr): Likewise.
51329         * lib/fwritable.c (fwritable): Likewise.
51330         * lib/fwriting.c (fwriting): Likewise.
51331         Reported by Roger Cornelius <rac@tenzing.org> and
51332         Brian K. White <brian@aljex.com>.
51333
51334 2008-04-06  Jim Meyering  <meyering@redhat.com>
51335
51336         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
51337
51338 2008-04-06  Bruno Haible  <bruno@clisp.org>
51339
51340         Avoid possible error with non-ASCII bytes in UTF-8 locales.
51341         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
51342         * tests/test-printf-posix.sh: Likewise.
51343         * tests/test-vfprintf-posix.sh: Likewise.
51344         * tests/test-vprintf-posix.sh: Likewise.
51345         * tests/test-xprintf-posix.sh: Likewise.
51346
51347 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51348
51349         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
51350         hide error from 'ls', needed on OS/2.
51351         Report by Elbert Pol <elbert.pol@gmail.com>.
51352
51353 2008-04-04  Eric Blake  <ebb9@byu.net>
51354
51355         Make test-fseeko.c failures meaningful.
51356         * tests/test-fseeko.c: Print line number on failure.
51357         * tests/test-fseek.c: Likewise.
51358         Reported by Nelson H. F. Beebe.
51359
51360         Improve strtod bug detection check.
51361         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
51362         required for Solaris 10.
51363         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
51364
51365 2008-04-04  Bruno Haible  <bruno@clisp.org>
51366
51367         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
51368         by m4/setenv.m4.
51369
51370 2008-04-03  Eric Blake  <ebb9@byu.net>
51371
51372         Ensure sane .version contents.
51373         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
51374         version string.
51375         * build-aux/git-version-gen: Improve documentation.
51376
51377         Make GNU make output nicer.
51378         * top/GNUmakefile [!_have-Makefile]: Add dependency on
51379         MAKECMDGOALS to enforce message for all command line targets.  Set
51380         srcdir for use in maint.mk.
51381
51382         Another maintainer tweak.
51383         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
51384         a target that regenerates version.
51385
51386 2008-04-03  Jim Meyering  <meyering@redhat.com>
51387
51388         vc-list-files: don't cause coreutils "make po-check" failure
51389         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
51390
51391 2008-04-03  Eric Blake  <ebb9@byu.net>
51392
51393         Allow VPATH usage of vc-list-files.
51394         * build-aux/vc-list-files (scriptversion): Add timestamp.
51395         (options): Add --help, --version, -C.
51396         (CVS): Support installed cvsu.
51397
51398 2008-04-02  Bruno Haible  <bruno@clisp.org>
51399
51400         Avoid some "statement with no effect" warnings from gcc.
51401         * tests/test-wctype.c (main): Explicitly ignore unused values.
51402         Reported by Jim Meyering.
51403
51404 2008-04-02  Jim Meyering  <meyering@redhat.com>
51405
51406         Avoid some warnings from "gcc -Wshadow".
51407         * tests/test-frexp.c (exp): Define to a different identifier.
51408         * tests/test-frexpl.c (exp): Likewise.
51409
51410 2008-04-03  Jim Meyering  <meyering@redhat.com>
51411
51412         bootstrap: remove dangling *.[ch] symlinks from lib
51413         * build-aux/bootstrap [dangling symlink removal]: Move find's
51414         -depth option to precede all others, to avoid a warning.
51415         Remove *.[ch] files too, and from "$source_base" (usually lib/).
51416
51417 2008-04-02  Bruno Haible  <bruno@clisp.org>
51418
51419         Avoid some warnings from "gcc -Wshadow".
51420         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
51421         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
51422         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
51423         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
51424         Reported by Jim Meyering.
51425
51426 2008-04-01  Bruno Haible  <bruno@clisp.org>
51427
51428         Fix test to work on IRIX 6.5 with cc.
51429         * tests/test-math.c (numeric_equal): New function.
51430         (main): Use it.
51431
51432 2008-04-01  Bruno Haible  <bruno@clisp.org>
51433
51434         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
51435
51436 2008-04-01  Bruno Haible  <bruno@clisp.org>
51437
51438         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
51439         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
51440         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
51441         (Depends-on): Remove math.
51442
51443         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
51444         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
51445         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
51446         (Depends-on): Remove math.
51447
51448         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
51449         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
51450         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
51451         (Depends-on): Remove math.
51452         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
51453         (Depends-on): Remove math.
51454
51455         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
51456         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
51457         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
51458         (Depends-on): Remove math.
51459         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
51460         (Depends-on): Remove math.
51461
51462         * tests/test-round1.c: Include nan.h.
51463         (main): Use NaNd instead of NAN.
51464         * modules/round-tests (Files): Add tests/nan.h.
51465
51466         * tests/test-trunc1.c: Include nan.h.
51467         (main): Use NaNd instead of NAN.
51468         * modules/trunc-tests (Files): Add tests/nan.h.
51469
51470         * tests/test-roundf1.c: Include nan.h.
51471         (main): Use NaNf instead of NAN.
51472         * modules/roundf-tests (Files): Add tests/nan.h.
51473
51474         * tests/test-truncf1.c: Include nan.h.
51475         (main): Use NaNf instead of NAN.
51476         * modules/truncf-tests (Files): Add tests/nan.h.
51477
51478         * tests/test-ceilf1.c: Include nan.h.
51479         (main): Use NaNf instead of NAN.
51480         * modules/ceilf-tests (Files): Add tests/nan.h.
51481
51482         * tests/test-floorf1.c: Include nan.h.
51483         (main): Use NaNf instead of NAN.
51484         * modules/floorf-tests (Files): Add tests/nan.h.
51485
51486         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
51487         (main): Use NaNf instead of NAN.
51488         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
51489
51490         * tests/test-isnand.c: Include nan.h instead of <math.h>.
51491         (main): Use NaNd instead of NAN.
51492         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
51493
51494         * tests/test-frexp.c: Include nan.h.
51495         (main): Use NaNd instead of NAN.
51496         * modules/frexp-tests (Files): Add tests/nan.h.
51497
51498         * lib/isnan.c: Don't include <math.h>.
51499         (FUNC): Don't use NAN macro.
51500         * modules/isnand-nolibm (Depends-on): Remove math.
51501         * modules/isnanf-nolibm (Depends-on): Remove math.
51502         * modules/isnanl (Depends-on): Remove math.
51503         * modules/isnanl-nolibm (Depends-on): Remove math.
51504
51505         * tests/nan.h: New file.
51506
51507 2008-04-01  Eric Blake  <ebb9@byu.net>
51508
51509         Fix typos.
51510         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
51511         values to be the right type.
51512
51513         For now, cater to gnulib strtod inaccuracies.
51514         * tests/test-strtod.c (main): Allow 1-ulp error on expected
51515         fractional results.  While not as nice from a QoI perspective, it
51516         is a quicker patch than correctly implementing decimal to binary
51517         rounding.
51518
51519 2008-03-31  Eric Blake  <ebb9@byu.net>
51520
51521         Guarantee a definition of NAN.
51522         * lib/math.in.h (NAN): Define if missing.
51523         * tests/test-math.c (main): Test it.
51524         * doc/posix-headers/math.texi (math.h): Document this.
51525         * lib/isnan.c (rpl_isnand): Use it.
51526         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
51527         * tests/test-floorf1.c (NaN): Likewise.
51528         * tests/test-frexp.c (NaN): Likewise.
51529         * tests/test-isnand.c (NaN): Likewise.
51530         * tests/test-isnanf.c (NaN): Likewise.
51531         * tests/test-round1.c (NaN): Likewise.
51532         * tests/test-roundf1.c (NaN): Likewise.
51533         * tests/test-snprintf-posix.h (NaN): Likewise.
51534         * tests/test-sprintf-posix.h (NaN): Likewise.
51535         * tests/test-trunc1.c (NaN): Likewise.
51536         * tests/test-truncf1.c (NaN): Likewise.
51537         * tests/test-vasnprintf-posix.c (NaN): Likewise.
51538         * tests/test-vasprintf-posix.c (NaN): Likewise.
51539         * modules/isnand-nolibm (Depends-on): Add math.
51540         * modules/isnanf-nolibm (Depends-on): Likewise.
51541         * modules/isnanl (Depends-on): Likewise.
51542         * modules/isnanl-nolibm (Depends-on): Likewise.
51543         * modules/snprintf-posix-tests (Depends-on): Likewise.
51544         * modules/sprintf-posix-tests (Depends-on): Likewise.
51545         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
51546         * modules/vsprintf-posix-tests (Depends-on): Likewise.
51547         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
51548         * modules/vasprintf-posix-tests (Depends-on): Likewise.
51549
51550 2008-03-31  Bruno Haible  <bruno@clisp.org>
51551
51552         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
51553         * doc/posix-functions/strtod.texi: Likewise.
51554
51555 2008-03-31  Bruno Haible  <bruno@clisp.org>
51556
51557         * tests/test-strtod.c (main): Don't use C99 syntax.
51558
51559 2008-03-31  Bruno Haible  <bruno@clisp.org>
51560
51561         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
51562         Reported by Eric Blake.
51563
51564 2008-03-31  Jim Meyering  <meyering@redhat.com>
51565
51566         Don't compare actual signbit return values.
51567         * tests/test-strtod.c (main): Rather, compare only their
51568         zero/non-zero nature.
51569
51570 2008-03-31  Eric Blake  <ebb9@byu.net>
51571
51572         More strtod documentation.
51573         * doc/posix-functions/strtod.texi (strtod): Interpret more test
51574         failures as distinct bugs.
51575
51576 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
51577
51578         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
51579         Problem reported by Erik Benada in
51580         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
51581
51582 2008-03-30  Bruno Haible  <bruno@clisp.org>
51583
51584         * tests/test-strtod.c: Add comments about which assertion fails on which
51585         platform.
51586         * doc/posix-functions/strtod.texi: Add info about many more platforms.
51587
51588 2008-03-30  Eric Blake  <ebb9@byu.net>
51589
51590         Test signbit behavior on zeros.
51591         * tests/test-signbit.c (test_signbitf): Add tests for zero.
51592         (test_signbitd, test_signbitl): Likewise.
51593
51594         More strtod touchups.
51595         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
51596         sign of negative underflow, for now.  Use .5, not .1.
51597         * doc/posix-functions/strtod.texi (strtod): Mention these
51598         limitations.
51599         Reported by Jim Meyering.
51600
51601 2008-03-30  Bruno Haible  <bruno@clisp.org>
51602
51603         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
51604         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
51605
51606 2008-03-30  Bruno Haible  <bruno@clisp.org>
51607
51608         Avoid failure when attempting to return empty iconv results on some
51609         platforms.
51610         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
51611         allocation, don't report ENOMEM when the resulting string is empty.
51612
51613 2008-03-30  Bruno Haible  <bruno@clisp.org>
51614
51615         Fix buffer overrun.
51616         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
51617         Don't consider the width for tmp_length. Check count against tmp_length
51618         before doing the padding. Ensure enough allocation during padding.
51619
51620 2008-03-30  Eric Blake  <ebb9@byu.net>
51621
51622         strtod touchups.
51623         * lib/strtod.c (strtod): Avoid compiler warnings.
51624         Reported by Jim Meyering.
51625
51626 2008-03-30  Bruno Haible  <bruno@clisp.org>
51627
51628         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
51629         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
51630         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
51631         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
51632         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
51633         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
51634         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
51635         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
51636
51637         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
51638         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
51639         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
51640         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
51641         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
51642         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
51643         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
51644         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
51645
51646         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
51647         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
51648         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
51649         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
51650         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
51651         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
51652         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
51653         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
51654
51655         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
51656         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
51657
51658         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
51659         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
51660
51661         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
51662         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
51663
51664         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
51665         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
51666         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
51667
51668         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
51669         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
51670         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
51671
51672         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
51673         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
51674         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
51675
51676         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
51677         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
51678         * modules/vasprintf (Depends-on): Add EOVERFLOW.
51679
51680         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
51681         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
51682         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
51683         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
51684         (Depends-on): Add EOVERFLOW.
51685         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
51686         (Depends-on): Add EOVERFLOW.
51687         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
51688         (Depends-on): Add EOVERFLOW.
51689         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
51690         (Depends-on): Add EOVERFLOW.
51691         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
51692         (Depends-on): Add EOVERFLOW.
51693         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
51694         (Depends-on): Add EOVERFLOW.
51695         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
51696         (Depends-on): Add EOVERFLOW.
51697         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
51698         (Depends-on): Add EOVERFLOW.
51699
51700         * lib/sprintf.c (EOVERFLOW): Remove fallback.
51701         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
51702         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
51703
51704         * lib/snprintf.c (EOVERFLOW): Remove fallback.
51705         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
51706         * modules/snprintf (Depends-on): Add EOVERFLOW.
51707
51708         * lib/poll.c (EOVERFLOW): Remove fallback.
51709         * modules/poll (Depends-on): Add EOVERFLOW.
51710
51711         * lib/getugroups.c (EOVERFLOW): Remove fallback.
51712         * modules/getugroups (Depends-on): Add EOVERFLOW.
51713
51714         * lib/getdelim.c (EOVERFLOW): Remove fallback.
51715         * modules/getdelim (Depends-on): Add EOVERFLOW.
51716
51717         * lib/ftell.c (EOVERFLOW): Remove fallback.
51718         * modules/ftell (Depends-on): Add EOVERFLOW.
51719
51720         * lib/fprintf.c (EOVERFLOW): Remove fallback.
51721         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
51722         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
51723
51724         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
51725
51726         * modules/EOVERFLOW-tests: New file.
51727         * tests/test-EOVERFLOW.c: New file.
51728
51729         * modules/EOVERFLOW: New file.
51730         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
51731
51732 2008-03-30  Bruno Haible  <bruno@clisp.org>
51733
51734         Fix bug introduced on 2007-06-10.
51735         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
51736         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
51737
51738 2008-03-30  Bruno Haible  <bruno@clisp.org>
51739
51740         Improve freadseek's efficiency after ungetc.
51741         * lib/freadseek.c: Include freadahead.h.
51742         (freadptrinc): New function, extracted from freadseek.
51743         (freadseek): Use it in a loop. Use freadahead to determine the number
51744         of loop iterations.
51745         * modules/freadseek (Depends-on): Add freadahead.
51746         (configure.ac): Require AC_C_INLINE.
51747
51748 2008-03-30  Bruno Haible  <bruno@clisp.org>
51749
51750         * lib/freadseek.c (freadseek): Don't ignore the return value of
51751         freadptr.
51752
51753 2008-03-29  Eric Blake  <ebb9@byu.net>
51754
51755         Add hex float support.
51756         * modules/strtod (Depends-on): Add c-ctype.
51757         (Link): Mention POW_LIB.
51758         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
51759         whitespace between 'e' and exponent.
51760         * tests/test-strtod.c (main): Enable hex float tests.
51761         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
51762         now provides.
51763
51764         Document various strtod bugs, with some fixes.
51765         * doc/posix-functions/strtod.texi (strtod): Document bugs with
51766         "-0x", "inf", "nan", and hex constants.
51767         * doc/posix-functions/atof.texi (atof): Likewise.
51768         * modules/stdlib (Makefile.am): Support strtod.
51769         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
51770         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
51771         detect additional strtod bugs.
51772         * lib/stdlib.in.h (rpl_strtod): Add declarations.
51773         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
51774         bool where appropriate.  Parse 'inf' and 'nan'.
51775         * tests/test-strtod.c: New file.
51776         * modules/strtod (Depends-on): Add stdbool, stdlib.
51777         (configure.ac): Turn on module indicator.
51778         * modules/strtod-tests: New module.
51779
51780 2008-03-29  Eric Blake  <ebb9@byu.net>
51781
51782         Fix ftell on mingw.
51783         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
51784         * modules/ftell-tests (Depends-on): Add binary-io.
51785         * modules/ftello-tests (Depends-on): Likewise.
51786         * tests/test-ftell.c (main): Enhance test to cover behavior after
51787         ungetc.  Enforce binary mode.
51788         * tests/test-ftello.c (main): Likewise.
51789
51790         Pass test-freadseek on cygwin.
51791         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
51792         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
51793         ungetc buffer.
51794
51795         * tests/test-fflush2.c (main): Fix typo.
51796
51797 2008-03-29  Bruno Haible  <bruno@clisp.org>
51798
51799         * tests/test-fflush2.c (main): Temporarily disable the contents of
51800         this test.
51801         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
51802         Reported by Eric Blake.
51803
51804 2008-03-28  Simon Josefsson  <simon@josefsson.org>
51805
51806         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
51807         (GC_SHA224_DIGEST_SIZE): Add.
51808
51809         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
51810         (gc_hash_digest_length): Likewise.
51811         (gc_hash_buffer): Likewise.
51812
51813 2008-03-25  Bruno Haible  <bruno@clisp.org>
51814
51815         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
51816         detail which gettext release to use.
51817         Reported by Simon Josefsson.
51818
51819 2008-03-26  Jim Meyering  <meyering@redhat.com>
51820
51821         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
51822         * modules/gnumakefile (clean-GNUmakefile): Also, use
51823         test ... && ... || : syntax rather than if-then ... fi.
51824
51825         gnumakefile: Don't double-quote-expand $(VPATH) value.
51826         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
51827
51828 2008-03-24  Eric Blake  <ebb9@byu.net>
51829
51830         Alter GNUmakefile to install into top directory.
51831         * modules/maintainer-makefile: Split, and add dependency...
51832         * modules/gnumakefile: to this new module.
51833         * build-aux/GNUmakefile: Move...
51834         * top/GNUmakefile: ...here.
51835         * build-aux/maint.mk: Move...
51836         * top/maint.mk: ...here.
51837         * MODULES.html.sh (Support for maintaining...): Document new
51838         module.
51839
51840 2008-03-23  Bruno Haible  <bruno@clisp.org>
51841
51842         * gnulib-tool: New options --vc-files, --no-vc-files.
51843         (func_usage): Document them.
51844         (vc_files): New variable.
51845         (func_import): Consider vc_files.
51846         (func_create_testdir): Set vc_files to empty.
51847         Suggested by Jim Meyering and Karl Berry.
51848
51849 2008-03-23  Bruno Haible  <bruno@clisp.org>
51850
51851         Fix regex compilation error on HP-UX 11.
51852         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
51853         * modules/regex (Files): Add m4/mbstate_t.m4.
51854         Reported by Ton Voon <ton.voon@altinity.com>.
51855
51856 2008-03-23  Bruno Haible  <bruno@clisp.org>
51857
51858         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
51859
51860 2008-03-23  Eric Blake  <ebb9@byu.net>
51861             Bruno Haible  <bruno@clisp.org>
51862
51863         Install files from top/ in the destination directory.
51864         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51865         augmentation also for the files from top/.
51866         (func_import, func_create_testdir): Rewrite file names:
51867         top/filename -> filename.
51868
51869 2008-03-23  Bruno Haible  <bruno@clisp.org>
51870
51871         Tweak "gnulib --version" output.
51872         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
51873
51874 2008-03-23  Bruno Haible  <bruno@clisp.org>
51875
51876         Tweak "gnulib --version" output.
51877         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
51878         rather than contents of ChangeLog, when possible.
51879
51880 2008-03-21  Eric Blake  <ebb9@byu.net>
51881
51882         More --version tweaks.
51883         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
51884         date of last ChangeLog entry.
51885
51886 2008-03-21  Jim Meyering  <meyering@redhat.com>
51887
51888         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
51889
51890 2008-03-20  Eric Blake  <ebb9@byu.net>
51891
51892         VPATH fix.
51893         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
51894
51895 2008-03-20  Simon Josefsson  <simon@josefsson.org>
51896
51897         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
51898         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
51899
51900 2008-03-20  Eric Blake  <ebb9@byu.net>
51901
51902         Sync GNUmakefile with coreutils.
51903         * build-aux/GNUmakefile (have-Makefile): Rename...
51904         (_have-Makefile): ...to this, for namespace consideration.
51905         (GNUmakefile.cfg): Include, if present.
51906         (_autoreconf): Define a default.
51907         (_is-dist-target): New rule for rebuilds to pick up intra-release
51908         version.
51909         (maint-cfg.mk): Rename...
51910         (cfg.mk): ...to this.
51911
51912 2008-03-18  Jim Meyering  <meyering@redhat.com>
51913
51914         New script and module: mktempd
51915         * MODULES.html.sh (maint+release support): Add mktempd.
51916         * build-aux/mktempd: New file.
51917         * modules/mktempd: New file.
51918
51919 2008-03-15  Jim Meyering  <meyering@redhat.com>
51920
51921         Undo last change.
51922         * lib/sha1.c, lib/md5.c: 63 != ~63.
51923         Reported by Andreas Schwab.
51924
51925         sha1.c, md5.c: Hoist a redundant expression.
51926         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
51927         "ctx->buflen" only once, before calling *_process_block.
51928         * lib/md5.c (md5_process_bytes): Likewise.
51929
51930 2008-03-14  Eric Blake  <ebb9@byu.net>
51931
51932         Bump copyright year in files generated by gnulib-tool.
51933         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
51934         gnulib-tool, rather than hard-coding it.
51935
51936         Fix 'gnulib-tool --version' output to work with git.
51937         * gnulib-tool (func_gnulib_dir): New function, extracted from...
51938         (startup): ...here.
51939         (func_version): Use it to invoke git-version-gen, rather than
51940         relying on CVS keyword expansion.  Modernize wording.
51941         (cvsdatestamp, last_checkin_date, version): Kill unused
51942         variables.
51943
51944 2008-03-12  Jim Meyering  <meyering@redhat.com>
51945
51946         Recognize optional cast of the argument to free.
51947         * build-aux/useless-if-before-free: Update regexps.
51948
51949         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
51950
51951 2008-03-11  Bruno Haible  <bruno@clisp.org>
51952
51953         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
51954         by a single package.
51955         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
51956         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
51957         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
51958         Reported by Sam Steingold <sds@gnu.org>.
51959
51960 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51961
51962         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
51963         repositories.
51964
51965 2008-03-11  Bruno Haible  <bruno@clisp.org>
51966
51967         Avoid conflicts between local macro definitions.
51968         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51969         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
51970
51971 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
51972             Bruno Haible  <bruno@clisp.org>
51973
51974         Make va_copy work with some version of xlc on AIX 5.1.
51975         * lib/stdarg.in.h: New file.
51976         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
51977         On AIX, use a <stdarg.h> file substitute.
51978         * modules/stdarg (Files): Add lib/stdarg.in.h.
51979         (Depends-on): Add include_next.
51980         (Makefile.am): Build a stdarg.h substitute if requested.
51981         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
51982
51983 2008-03-10  Bruno Haible  <bruno@clisp.org>
51984
51985         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
51986         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51987         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51988
51989 2008-03-10  Bruno Haible  <bruno@clisp.org>
51990
51991         * modules/stdlib (Depends-on): Add include_next, remove
51992         absolute-header.
51993
51994 2008-03-09  Bruno Haible  <bruno@clisp.org>
51995
51996         * lib/freadahead.h (freadahead): Document more precisely.
51997         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
51998         the sum of both buffer sizes.
51999         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
52000         * NEWS: Document the change.
52001
52002 2008-03-09  Bruno Haible  <bruno@clisp.org>
52003
52004         Extend freadptr to return also the buffer size.
52005         * lib/freadptr.h (freadptr): Add sizep argument.
52006         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
52007         (freadptr): Add sizep argument. Determine buffer size like freadahead
52008         does.
52009         * tests/test-freadptr.c: Don't include freadahead.h.
52010         (main): Adapt for new calling convention of freadptr.
52011         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
52012         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
52013         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
52014         tests/test-freadptr2.sh.
52015         (Depends): Remove freadahead.
52016         (TESTS): Add test-freadptr2.sh.
52017         (check_PROGRAMS): Add test-freadptr2.
52018
52019 2008-03-09  Bruno Haible  <bruno@clisp.org>
52020
52021         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
52022         Report and solution by Simon Josefsson.
52023
52024 2008-03-06  Bruno Haible  <bruno@clisp.org>
52025
52026         Make fflush after ungetc work on BSD platforms.
52027         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
52028         * tests/test-fflush2.c: New file.
52029         * tests/test-fflush2.sh: New file.
52030         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
52031         tests/test-fflush2.c.
52032         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
52033         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
52034
52035 2008-03-06  Eric Blake  <ebb9@byu.net>
52036
52037         Likewise for ftello.
52038         * modules/ftello (Dependencies): Add extensions.
52039         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
52040
52041 2008-03-06  Bruno Haible  <bruno@clisp.org>
52042
52043         * modules/fseeko (Dependencies): Add extensions.
52044         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
52045         Needed on glibc systems.
52046
52047 2008-03-06  Bruno Haible  <bruno@clisp.org>
52048
52049         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
52050         email address.
52051         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52052
52053 2008-03-06  Bruno Haible  <bruno@clisp.org>
52054
52055         * users.txt: Add libgnupdf.
52056
52057 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
52058
52059         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
52060         (Header File Substitutes, Function Substitutes,
52061         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
52062         (Build robot for gnulib): Fix typo.
52063
52064 2008-03-06  Bruno Haible  <bruno@clisp.org>
52065
52066         * doc/gnulib-tool.texi (VCS Issues): Small updates.
52067         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52068
52069 2008-03-06  Bruno Haible  <bruno@clisp.org>
52070
52071         * doc/func.texi: New file, extracted from doc/gnulib.texi.
52072         * doc/gnulib.texi: Include it.
52073
52074 2008-03-06  Simon Josefsson  <simon@josefsson.org>
52075
52076         * modules/func (License): Change license to unlimited; there was
52077         no LGPL parts in the module anyway.
52078
52079 2008-03-06  Simon Josefsson  <simon@josefsson.org>
52080
52081         * modules/__func__: Renamed to modules/func.
52082         * modules/__func__-tests: Renamed to modules/func-tests.
52083         * tests/test-__func__.c: Renamed to tests/test-func.c.
52084         * m4/__func__.m4: Renamed to m4/func.m4.
52085         * doc/gnulib.texi (__func__): Section renamed to func.
52086         Suggested by Eric Blake <ebb9@byu.net>.
52087
52088 2008-03-06  Simon Josefsson  <simon@josefsson.org>
52089
52090         * doc/gnulib.texi (__func__): Use C99 terminology when talking
52091         about __func__.  Make example self-contained.  Suggested by Eric
52092         Blake <ebb9@byu.net>.
52093
52094         * tests/test-__func__.c (main): Avoid extraneous () around __func.
52095         Suggested by Eric Blake <ebb9@byu.net>.
52096
52097 2008-03-06  Simon Josefsson  <simon@josefsson.org>
52098
52099         * modules/__func__: New file.
52100         * modules/__func__-tests: New file.
52101         * tests/test-__func__.c: New file.
52102         * m4/__func__.m4: New file.
52103         * doc/gnulib.texi (__func__): Document __func__ module.
52104
52105 2008-03-05  Simon Josefsson  <simon@josefsson.org>
52106
52107         * modules/byteswap (License): Re-license as LGPLv2+.
52108
52109 2008-03-05  Simon Josefsson  <simon@josefsson.org>
52110
52111         * doc/Makefile: Add pdf target.
52112
52113 2008-03-05  Simon Josefsson  <simon@josefsson.org>
52114
52115         * modules/inline (License): Use 'unlimited', since there are only
52116         *.m4 files in this module.
52117
52118 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
52119             Bruno Haible  <bruno@clisp.org>
52120
52121         Add support for HP C 7.1 on OpenVMS 8.3.
52122         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
52123
52124 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
52125
52126         Update VMS specifics.
52127         * lib/getopt.c [VMS]: Remove include of unixlib.h.
52128
52129 2008-03-02  Jim Meyering  <meyering@redhat.com>
52130
52131         Remove the last dependency on the "free" module.
52132         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
52133         Reported by Bob Proulx.
52134
52135         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
52136
52137         Remove useless "if" tests before free.  Deprecate "free" module.
52138         * doc/posix-functions/free.texi: Mention that this
52139         module is no longer useful.
52140         * modules/free (Notice): Say this module is obsolete.
52141         * modules/readutmp (Depends-on): Remove free.
52142         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
52143         * lib/putenv.c (putenv): Likewise.
52144         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
52145         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
52146         * tests/test-c-strcasestr.c (main): Likewise.
52147         * tests/test-c-strstr.c (main): Likewise.
52148         * tests/test-mbscasestr1.c (main): Likewise.
52149         * tests/test-mbscasestr2.c (main): Likewise.
52150         * tests/test-mbsstr1.c (main): Likewise.
52151         * tests/test-mbsstr2.c (main): Likewise.
52152         * tests/test-memmem.c (main): Likewise.
52153         * tests/test-strcasestr.c (main): Likewise.
52154         * tests/test-striconv.c (main): Likewise.
52155         * tests/test-striconveh.c (main): Likewise.
52156         * tests/test-striconveha.c (main): Likewise.
52157         * tests/test-strstr.c (main): Likewise.
52158
52159         * build-aux/git-version-gen: Adjust a comment and the Usage string.
52160
52161         bootstrap: sync from coreutils again
52162         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
52163
52164 2008-03-01  Jim Meyering  <meyering@redhat.com>
52165
52166         bootstrap: sync from coreutils
52167         * build-aux/bootstrap (update_po_files): Copy a .po file into place
52168         also when the target doesn't exist.
52169
52170 2008-03-01  Eric Blake  <ebb9@byu.net>
52171
52172         Fix bugs in last patch.
52173         * lib/memchr2.c (memchr2): Fix typo.
52174         * tests/test-memchr2.c: Test previous bug, and don't use GNU
52175         extension.
52176         Reported by Bruce Korb.
52177
52178         New module 'memchr2'.
52179         * modules/memchr2: New file.
52180         * modules/memchr2-tests: Likewise.
52181         * lib/memchr2.h: Likewise.
52182         * lib/memchr2.c: Likewise, based on memchr.c.
52183         * tests/test-memchr2.c: New test.
52184         * MODULES.html.sh (String handling): Add memchr2.
52185
52186 2008-02-29  Bruno Haible  <bruno@clisp.org>
52187
52188         * modules/freadseek-tests: New file.
52189         * tests/test-freadseek.sh: New file.
52190         * tests/test-freadseek.c: New file.
52191
52192         New module 'freadseek'.
52193         * modules/freadseek: New file.
52194         * lib/freadseek.h: New file.
52195         * lib/freadseek.c: New file.
52196         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
52197
52198 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
52199
52200         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
52201         wydawca.
52202
52203         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
52204         program_invocation_name and program_invocation_short_name are
52205         present.
52206
52207 2008-02-28  Bruno Haible  <bruno@clisp.org>
52208
52209         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
52210         * tests/test-freadptr.sh: Also test non-seekable stdin.
52211
52212 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
52213
52214         * build-aux/bootstrap (source_base, m4_base)
52215         (doc_base, tests_base): New variables.
52216         (gnulib_tool_options): Do not hardcode base directories, use
52217         the above variables instead.
52218
52219 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
52220
52221         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
52222
52223 2008-02-28  Bruno Haible  <bruno@clisp.org>
52224
52225         * modules/freadptr-tests: New file.
52226         * tests/test-freadptr.sh: New file.
52227         * tests/test-freadptr.c: New file.
52228
52229         New module 'freadptr'.
52230         * modules/freadptr: New file.
52231         * lib/freadptr.h: New file.
52232         * lib/freadptr.c: New file.
52233         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
52234
52235 2008-02-26  Karl Berry  <karl@freefriends.org>
52236
52237         Sync from Libtool:
52238         * libltdl/argz.c (argz_add, argz_count): New functions.
52239         * libltdl/argz.in.h: Declare them.
52240         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
52241
52242 2008-02-22  Bruno Haible  <bruno@clisp.org>
52243
52244         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
52245         is a pointer type.  Needed for HP-UX 10.
52246         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
52247         * doc/posix-functions/gmtime_r.texi: Likewise.
52248         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
52249
52250 2008-02-24  Bruno Haible  <bruno@clisp.org>
52251
52252         * modules/environ-tests: New file.
52253         * tests/test-environ.c: New file.
52254
52255         New module 'environ'.
52256         * modules/environ: New file.
52257         * lib/unistd.in.h (environ): New declaration.
52258         * m4/environ.m4: New file.
52259         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
52260         after use.
52261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
52262         HAVE_DECL_ENVIRON.
52263         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
52264         HAVE_DECL_ENVIRON.
52265         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
52266         wrong claim that 'environ' is missing on some systems.
52267         * modules/execute (Depends-on): Add environ.
52268         * lib/execute.c (environ): Remove fallback declaration.
52269         * modules/pipe (Depends-on): Add environ.
52270         * lib/pipe.c (environ): Remove fallback declaration.
52271         * modules/setenv (Depends-on): Add environ.
52272         * lib/setenv.c (environ): Remove fallback declaration.
52273         * modules/unsetenv (Depends-on): Add environ.
52274         * lib/unsetenv.c (environ): Remove fallback declaration.
52275         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
52276         m4/environ.m4.
52277         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
52278         (gl_PREREQ_UNSETENV): Likewise.
52279
52280 2008-02-24  Bruno Haible  <bruno@clisp.org>
52281
52282         * doc/posix-functions/environ.texi: Document the MacOS X problem.
52283
52284 2008-02-20  Bob Proulx  <bob@proulx.com>
52285
52286         Enable use of older two part flavor 'git describe'.
52287         * build-aux/git-version-gen: If using the older two part flavor of
52288         git version then recreate the third part now present in the
52289         newer three part flavor of git describe.
52290
52291 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
52292
52293         * lib/fts.c (fts_build): Typo correction to comment.
52294
52295 2008-02-17  Bruno Haible  <bruno@clisp.org>
52296
52297         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
52298         generating no-op conflicts.
52299
52300 2008-02-17  Bruno Haible  <bruno@clisp.org>
52301
52302         Speed up by 10%.
52303         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
52304         result_entries, rather than an index-based loop.
52305
52306 2008-02-17  Bruno Haible  <bruno@clisp.org>
52307
52308         Speed up by 25%.
52309         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
52310         'hashcode_cached'.
52311         (entry_create): New function.
52312         (entry_hashcode): Use the cached hashcode if possible.
52313         (read_changelog_file, try_split_merged_entry): Use entry_create.
52314
52315 2008-02-17  Bruno Haible  <bruno@clisp.org>
52316
52317         Speed up from O(n^2) to O(n) for long ChangeLog files.
52318         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
52319         (read_changelog_file): Change implementation of entries_reversed list
52320         to rbtreehash.
52321         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
52322
52323 2008-02-17  Bruno Haible  <bruno@clisp.org>
52324
52325         New option --split-merged-entry.
52326         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
52327         (find_paragraph_end, try_split_merged_entry): New functions.
52328         (long_options): Add option --split-merged-entry.
52329         (usage): Document option --split-merged-entry.
52330         (main): Implement option --split-merged-entry.
52331         Reported by Eric Blake.
52332
52333 2008-02-17  Bruno Haible  <bruno@clisp.org>
52334
52335         * lib/git-merge-changelog.c: Include c-strstr.h.
52336         (main): Support the "git pull --rebase" situation.
52337         * modules/git-merge-changelog (Depends-on): Add c-strstr.
52338         Reported by Eric Blake.
52339
52340 2008-02-16  Eric Blake  <ebb9@byu.net>
52341
52342         Avoid doubling \ in common case of "c-maybe" quoting style.
52343         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
52344         eliding outer quotes.
52345         * lib/quotearg.h: Document this.
52346         * tests/test-quotearg.c (result_strings, inputs, results_g)
52347         (flag_results, locale_results): Test it by adding a new string to
52348         each test group.
52349         (compare_strings): Test new string.
52350
52351 2008-02-13  Eric Blake  <ebb9@byu.net>
52352
52353         Avoid trigraph quoting in default output.
52354         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
52355         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
52356         unless explicitly requested.
52357         * tests/test-quotearg.c (flag_results, main): Add additional tests.
52358
52359 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
52360
52361         Don't rely on signed integer overflowing to negative value.
52362         * lib/getugroups.c (getugroups): Include <limits.h>.
52363         Instead, compare against INT_MAX, and increment only if the test passes.
52364
52365 2008-02-13  Jim Meyering  <meyering@redhat.com>
52366         and Eric Blake  <ebb9@byu.net>
52367
52368         Avoid shadowing warning and compile errors on Linux.
52369         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
52370         forwarding macros on Linux.
52371         (dcgettext): Define a stub, for Linux.
52372         (results_g, main): Avoid warnings.
52373
52374 2008-02-12  Eric Blake  <ebb9@byu.net>
52375
52376         Silence warning in last patch.
52377         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
52378
52379         Quotearg part 4: add tests, fix c-maybe colon quoting.
52380         * lib/quotearg.h: Improve documentation.
52381         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
52382         escapes when adding outer quotes.  When quoting trigraphs, use
52383         valid C notation.  When quoting NUL, omit extra characters if next
52384         character is not digit.  Alter prototype.
52385         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
52386         callers.
52387         * modules/quotearg-tests: New module.
52388         * tests/test-quotearg.c: New test.
52389
52390 2008-02-07  Eric Blake  <ebb9@byu.net>
52391
52392         Quotearg part 3: add flag to control outer quote elision.
52393         * lib/quotearg.h (c_maybe_quoting_style): New style.
52394         (enum quoting_flags): Better documentation of flags.
52395         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
52396         c-maybe style.
52397         (quotearg_buffer_restyled): Handle new flag to elide outer
52398         quotes.
52399
52400         Quotearg part 2: add flag that can control NUL elision.
52401         * lib/quotearg.h (set_quoting_flags): New prototype.
52402         * lib/quotearg.c (struct quoting_options): Add flag field.
52403         (set_quoting_flags): New function.
52404         (quotearg_buffer_restyled): Add flags parameter.
52405         (quotearg_alloc_mem): Set the flag if length cannot be returned.
52406         (quotearg_n_options): Set the flag, since length cannot be
52407         returned.
52408         (quoting_options_from_style): Default flags correctly.
52409
52410         Quotearg part 1: more wrappers, restore quotearg_char state.
52411         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
52412         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
52413         (quotearg_colon_mem): New wrappers.
52414         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
52415         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
52416         functions.
52417         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
52418         (quotearg_colon_mem): New functions.
52419
52420 2008-02-11  Bruno Haible  <bruno@clisp.org>
52421
52422         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
52423         library in the current directory: it does not work with parallel make.
52424         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52425
52426 2008-02-11  Bruno Haible  <bruno@clisp.org>
52427
52428         * .gitattributes: New file.
52429
52430 2008-02-11  Jim Meyering  <meyering@redhat.com>
52431
52432         useless-if-before-free: Fix reversed exit values.
52433         * build-aux/useless-if-before-free: Use correct values
52434         for EXIT_MATCH and EXIT_NO_MATCH.
52435
52436         * build-aux/useless-if-before-free: Close stdout carefully.
52437
52438 2008-02-10  Bruno Haible  <bruno@clisp.org>
52439
52440         New module 'git-merge-changelog'.
52441         * modules/git-merge-changelog: New file.
52442         * lib/git-merge-changelog.c: New file.
52443
52444 2008-02-10  Jim Meyering  <meyering@redhat.com>
52445
52446         useless-if-before-free: New option: --list (-l).
52447
52448         useless-if-before-free: Don't exit immediately upon open failure.
52449         * build-aux/useless-if-before-free: Exit 2 for errors.
52450         Upon failure to open a file, don't exit immediately.
52451         Rather, just warn and continue with any remaining files.
52452
52453 2008-02-10  Bruno Haible  <bruno@clisp.org>
52454
52455         New abstract list operation 'node_set_value'.
52456         * lib/gl_list.h (gl_list_node_set_value): New function.
52457         (struct gl_list_implementation): New field node_set_value.
52458         * lib/gl_list.c (gl_list_node_set_value): New function.
52459         * lib/gl_array_list.c (gl_array_node_set_value): New function.
52460         (gl_array_list_implementation): Update.
52461         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
52462         (gl_carray_list_implementation): Update.
52463         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
52464         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
52465         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
52466         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
52467         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
52468         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
52469         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
52470         Update.
52471         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
52472         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
52473         (gl_sublist_list_implementation): Update.
52474
52475 2008-02-10  Bruno Haible  <bruno@clisp.org>
52476
52477         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
52478         Needed when ELEMENT is #defined to 'some_type *'.
52479
52480 2008-02-10  Jim Meyering  <meyering@redhat.com>
52481
52482         New script and module: useless-if-before-free
52483         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
52484         * build-aux/useless-if-before-free: New file.
52485         * modules/useless-if-before-free: New file.
52486
52487         * build-aux/gitlog-to-changelog: Use committer date, not author date.
52488
52489         xstrtol_error: Fix typo.
52490         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
52491         s/exit_failure/exit_status/.
52492
52493 2008-02-09  Jim Meyering  <meyering@redhat.com>
52494
52495         New script and module: gitlog-to-changelog
52496         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
52497         * modules/gitlog-to-changelog: New file.
52498         * build-aux/gitlog-to-changelog: New file.
52499
52500 2008-02-08  Jim Meyering  <meyering@redhat.com>
52501
52502         Avoid two "parameter unused" warnings.
52503         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
52504         Mark "st" as used.
52505
52506         Use "git COMMAND", not "git-COMMAND".
52507         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
52508         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
52509         * build-aux/git-version-gen: Use "git status", not "git-status".
52510
52511 2008-02-07  Bruno Haible  <bruno@clisp.org>
52512
52513         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
52514         Avoids a crash on Windows Vista.
52515         Reported by Adam Strzelecki <ono@java.pl> via
52516         Simon Josefsson <simon@josefsson.org>.
52517
52518 2008-02-06  Bruno Haible  <bruno@clisp.org>
52519
52520         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
52521         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
52522         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
52523         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
52524         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
52525         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52526         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
52527         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
52528         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52529         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52530         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52531         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52532         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52533         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52534         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52535         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
52536         left-adjust flag.
52537         * tests/test-snprintf-posix.h (test_function): Likewise.
52538         * tests/test-sprintf-posix.h (test_function): Likewise.
52539         * tests/test-vasprintf-posix.c (test_function): Likewise.
52540         * doc/posix-functions/fprintf.texi: Update.
52541         * doc/posix-functions/printf.texi: Update.
52542         * doc/posix-functions/snprintf.texi: Update.
52543         * doc/posix-functions/sprintf.texi: Update.
52544         * doc/posix-functions/vfprintf.texi: Update.
52545         * doc/posix-functions/vprintf.texi: Update.
52546         * doc/posix-functions/vsnprintf.texi: Update.
52547         * doc/posix-functions/vsprintf.texi: Update.
52548         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52549
52550 2008-02-06  Bruno Haible  <bruno@clisp.org>
52551
52552         Fix bug introduced on 2008-01-26.
52553         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
52554
52555 2008-02-06  Bruno Haible  <bruno@clisp.org>
52556
52557         Fix bug introduced on 2007-06-10.
52558         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
52559         !NEED_PRINTF_FLAG_ZERO.
52560
52561 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
52562
52563         getloadavg: use libperfstat on AIX5
52564         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
52565
52566 2008-02-03  Bruno Haible  <bruno@clisp.org>
52567
52568         * lib/diffseq.h: Add comments about required #includes.
52569         Reported by Michael Biggs <gnulib@doubleplum.net>.
52570
52571 2008-02-01  Bruno Haible  <bruno@clisp.org>
52572
52573         * users.txt: Add gnuit.
52574
52575 2008-01-31  Bruno Haible  <bruno@clisp.org>
52576
52577         * lib/md4.c (set_uint32): Mark as inline.
52578         * lib/md5.c (set_uint32): Likewise.
52579         * lib/sha1.c (set_uint32): Likewise.
52580         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
52581         * m4/md5.m4 (gl_MD5): Likewise.
52582         * m4/sha1.m4 (gl_SHA1): Likewise.
52583
52584 2008-01-31  Jim Meyering  <meyering@redhat.com>
52585
52586         Use "sizeof VAR", rather than a literal "4".
52587         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
52588         * lib/md4.c (md4_read_ctx): Likewise.
52589         * lib/sha1.c (sha1_read_ctx): Likewise.
52590
52591 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52592
52593         * tests/test-sha1.c: New file, based on test-md5.c.
52594
52595         * modules/crypto/sha1-tests: New file.
52596
52597 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52598
52599         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
52600
52601 2008-01-31  Jim Meyering  <meyering@redhat.com>
52602
52603         Prefer "sizeof v" over the equivalent "4".
52604         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
52605         * lib/md5.c (set_uint32): Likewise.
52606         * lib/sha1.c (set_uint32): Likewise.
52607
52608 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52609
52610         * lib/sha1.c (set_uint32): Mark function as static.
52611
52612 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52613
52614         md2: clarify comments to say that alignment is not required.
52615         * lib/md2.h: Remove warning about alignment in comment.
52616         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
52617         never been required.
52618
52619 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52620
52621         md4: adapt alignment constraint fix from sha1.
52622         * lib/md4.c (set_uint32): New function, from sha1.c
52623         (md4_read_ctx): Use it.
52624         (md4_finish_ctx): Doc fix.
52625         * lib/md4.h: Doc fix.
52626
52627 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52628
52629         md5: adapt alignment constraint fix from sha1.
52630         * lib/md5.c (set_uint32): New function, from sha1.c
52631         (md5_read_ctx): Use it.
52632         (md5_finish_ctx): Doc fix.
52633         * lib/md5.h: Doc fix.
52634
52635 2008-01-30  Peter Palfrader  <weasel@debian.org>
52636
52637         sha1: remove the result buffer alignment constraint
52638         * lib/sha1.c (set_uint32): New function.
52639         (sha1_read_ctx): Rewrite to remove the result buffer alignment
52640         constraint.
52641         (sha1_finish_ctx): Remove comment warning about alignment constraint.
52642         * lib/sha1.h: Likewise.
52643
52644 2008-01-30  Andreas Schwab  <schwab@suse.de>
52645             Bruno Haible  <bruno@clisp.org>
52646
52647         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
52648         correct definition of LDBL_MIN_EXP.
52649
52650 2008-01-30  Karl Berry  <karl@gnu.org>
52651
52652         * config/srclist-update: try to preserve x bit on updates.
52653         * config/srclistvars.sh: update for karl.
52654
52655 2008-01-29  Jim Meyering  <meyering@redhat.com>
52656
52657         vasnprintf.c: Avoid warning about unused label
52658         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
52659         "overflow" label definition and associated code with the
52660         same cpp condition that guards the sole use of that label.
52661
52662 2008-01-26  Bruno Haible  <bruno@clisp.org>
52663
52664         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
52665         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
52666         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
52667         * lib/isnanl-nolibm.h (isnanl): Likewise.
52668         Reported by Paul Eggert <eggert@cs.ucla.edu>.
52669
52670 2008-01-26  Bruno Haible  <bruno@clisp.org>
52671
52672         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
52673         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
52674
52675 2008-01-26  Bruno Haible  <bruno@clisp.org>
52676
52677         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
52678         GCC >= 4.0 built-in.
52679         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
52680
52681 2008-01-26  Bruno Haible  <bruno@clisp.org>
52682
52683         Rename isnan, applicable to 'double' only, to isnand.
52684         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
52685         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
52686         (configure.ac): Update.
52687         (Include): Replace "isnan.h" with "isnand.h".
52688         * m4/isnand.m4: Renamed from m4/isnan.m4.
52689         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
52690         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
52691         instead of isnan.c.
52692         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
52693         instead of HAVE_ISNAN_IN_LIBC.
52694         (isnand): Renamed from isnan.
52695         * lib/isnand.c: New file.
52696         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
52697         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
52698         (Makefile.am): Update.
52699         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
52700         Include isnand.h instead of isnan.h.
52701         (main): Test isnand instead of isnan.
52702         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
52703         isnan-nolibm.
52704         * modules/frexp (Depends-on): Likewise.
52705         * modules/frexp-tests (Depends-on): Likewise.
52706         * modules/frexp-nolibm (Depends-on): Likewise.
52707         * modules/frexp-nolibm-tests (Depends-on): Likewise.
52708         * modules/isfinite (Depends-on): Likewise.
52709         * modules/round-tests (Depends-on): Likewise.
52710         * modules/signbit (Depends-on): Likewise.
52711         * modules/signbit-tests (Depends-on): Likewise.
52712         * modules/snprintf-posix (Depends-on): Likewise.
52713         * modules/sprintf-posix (Depends-on): Likewise.
52714         * modules/trunc-tests (Depends-on): Likewise.
52715         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52716         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52717         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52718         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52719         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52720         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52721         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52722         * modules/vasnprintf-posix (Depends-on): Likewise.
52723         * modules/vasprintf-posix (Depends-on): Likewise.
52724         * modules/vfprintf-posix (Depends-on): Likewise.
52725         * modules/vsnprintf-posix (Depends-on): Likewise.
52726         * modules/vsprintf-posix (Depends-on): Likewise.
52727         * lib/frexp.c: Include isnand.h instead of isnan.h.
52728         (ISNAN): Set to isnand instead of isnan.
52729         * lib/isfinite.c: Include isnand.h instead of isnan.h.
52730         (gl_isfinited): Use isnand instead of isnan.
52731         * lib/signbitd.c: Include isnand.h instead of isnan.h.
52732         (gl_signbitd): Use isnand instead of isnan.
52733         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
52734         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
52735         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
52736         (main): Use isnand instead of isnan.
52737         * tests/test-round1.c: Include isnand.h.
52738         (main): Use isnand instead of isnan.
52739         * tests/test-round2.c: Include isnand.h instead of isnan.h.
52740         (ISNAN): Set to isnand instead of isnan.
52741         * tests/test-trunc1.c: Include isnand.h.
52742         (main): Use isnand instead of isnan.
52743         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
52744         (equal): Use isnand instead of isnan.
52745         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
52746         isnand-nolibm.
52747         * NEWS: Mention the change.
52748
52749 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
52750             Bruno Haible  <bruno@clisp.org>
52751
52752         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
52753         the GCC builtins for signbits are present and set
52754         REPLACE_SIGNBIT_USING_GCC if so.
52755         * lib/math.in.h (signbit): Define using GCC builtins if
52756         REPLACE_SIGNBIT_USING_GCC is set.
52757         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
52758         REPLACE_SIGNBIT_USING_GCC.
52759         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
52760
52761 2008-01-25  Jim Meyering  <meyering@redhat.com>
52762
52763         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
52764         * lib/poll.c: Include <config.h>, not "config.h".
52765         * tests/test-getaddrinfo.c: Likewise.
52766
52767 2008-01-25  Simon Josefsson  <simon@josefsson.org>
52768
52769         * modules/sockets-tests: New file.
52770
52771 2008-01-24  Simon Josefsson  <simon@josefsson.org>
52772
52773         * modules/sockets: New module, can be used to call WSA_Startup and
52774         WSA_Cleanup when needed.
52775
52776         * lib/sockets.h, lib/sockets.c: New files.
52777
52778         * m4/sockets.m4: New file.
52779
52780         * tests/test-sockets.c: New file.
52781
52782 2008-01-19  Bruno Haible  <bruno@clisp.org>
52783
52784         * doc/posix-headers: Renamed from doc/headers.
52785         * doc/posix-functions: Renamed from doc/functions.
52786         * doc/gnulib.texi: Update.
52787
52788 2008-01-19  Bruno Haible  <bruno@clisp.org>
52789
52790         * doc/glibc-functions/strcasestr.texi: Include contents of
52791         doc/functions/strcasestr.texi, fixing the list of platforms.
52792         * doc/functions/strcasestr.texi: Remove file.
52793
52794 2008-01-19  Bruno Haible  <bruno@clisp.org>
52795
52796         * doc/glibc-functions/memmem.texi: Include contents of
52797         doc/functions/memmem.texi.
52798         * doc/functions/memmem.texi: Remove file.
52799
52800 2008-01-18  Bruno Haible  <bruno@clisp.org>
52801
52802         * doc/glibc-functions/*.texi: New files.
52803         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
52804         to use the new files.
52805
52806 2008-01-17  Bruno Haible  <bruno@clisp.org>
52807
52808         * tests/test-gethostname.c (main): Fix printf statement.
52809
52810 2008-01-17  Simon Josefsson  <simon@josefsson.org>
52811
52812         * modules/gethostname-tests: New file.
52813
52814         * tests/test-gethostname.c: New file.
52815
52816 2008-01-17  Simon Josefsson  <simon@josefsson.org>
52817
52818         * lib/gethostname.c: Include string.h unconditionally, strncpy is
52819         used by the UNAME case.  Reported by Bruno Haible
52820         <bruno@clisp.org>.
52821
52822 2008-01-17  Eric Blake  <ebb9@byu.net>
52823
52824         Convert c-strcasestr to be more efficient.
52825         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
52826         (Depends-on): Add c-strcase, remove malloca, strnlen.
52827         * tests/test-c-strcasestr.c (main): Enhance test.
52828         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
52829
52830 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52831
52832         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
52833         Use it in creating po/Makevars.
52834
52835 2008-01-15  Simon Josefsson  <simon@josefsson.org>
52836
52837         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
52838         Applications that requires it should initialize libgcrypt
52839         manually.
52840
52841 2008-01-16  Simon Josefsson  <simon@josefsson.org>
52842
52843         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
52844
52845 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
52846
52847         Fix problem with getdate on mingw32 reported by Simon Josefsson
52848         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
52849         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
52850         tzname", when deciding whether to declare tzname.
52851         * lib/strftime.c (tzname): Likewise.
52852
52853 2008-01-15  Bruno Haible  <bruno@clisp.org>
52854
52855         Work around a MacOS X 10.5 bug in frexpl().
52856         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
52857         * doc/functions/frexpl.texi: Document the bug.
52858         Reported by Elias Pipping <pipping@gentoo.org>.
52859
52860 2008-01-14  Eric Blake  <ebb9@byu.net>
52861
52862         Touch up previous patch.
52863         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
52864         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
52865
52866         Convert strcasestr module to use Two-Way algorithm.
52867         * modules/strcasestr-simple: New module, based on the old
52868         strcasestr, but with Two-Way rather than KMP.
52869         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
52870         * lib/string.in.h (rpl_strcasestr): Declare.
52871         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
52872         performance.
52873         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
52874         * modules/string (Makefile.am): Support strcasestr.
52875         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
52876         * modules/strcasestr-tests (Depends-on): Check for alarm.
52877         * tests/test-strcasestr.c: Augment test.
52878         * lib/str-two-way.h: Clean up stray macro.
52879         * NEWS: Document new module.
52880         * MODULES.html.sh (string handling): Likewise.
52881         * doc/functions/strcasestr.texi: New file.
52882         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
52883         here, since it is not a POSIX function.
52884
52885 2008-01-14  Colin Watson  <cjwatson@debian.org>
52886             Bruno Haible  <bruno@clisp.org>
52887
52888         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
52889         works fine; if not, set REPLACE_STRSIGNAL.
52890         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
52891         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52892         REPLACE_STRSIGNAL.
52893         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
52894         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
52895         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
52896
52897 2008-01-14  Bruno Haible  <bruno@clisp.org>
52898
52899         * modules/strsignal (Include): Change to <string.h>.
52900
52901 2008-01-14  Colin Watson  <cjwatson@debian.org>
52902
52903         * modules/argp (Notice): Add a notice recommending to change
52904         XGETTEXT_OPTIONS.
52905         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
52906
52907 2008-01-13  Colin Watson  <cjwatson@debian.org>
52908
52909         * modules/strsignal-tests: New file.
52910         * tests/test-strsignal.c: New file.
52911
52912         * lib/strsignal.c: New file, from glibc with modifications.
52913         * lib/siglist.h: New file, from glibc with modifications.
52914         * lib/string.in.h (strsignal): New declaration.
52915         * m4/strsignal.m4: New file.
52916         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52917         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
52918         * modules/strsignal: New file.
52919         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
52920         HAVE_DECL_STRSIGNAL.
52921
52922 2008-01-13  Bruno Haible  <bruno@clisp.org>
52923
52924         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
52925         locale encoding is not ASCII. Needed for OpenBSD 4.0.
52926         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52927         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52928
52929 2008-01-13  Bruno Haible  <bruno@clisp.org>
52930
52931         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
52932         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
52933         * lib/argp.h (__attribute__): Likewise.
52934         * lib/c-stack.c (__attribute__): Likewise.
52935         * lib/error.h (__attribute__): Likewise.
52936         * lib/fts.c (__attribute__): Likewise.
52937         * lib/openat.h (__attribute__): Likewise.
52938         * lib/stdio.in.h (__attribute__): Likewise.
52939         * lib/string.in.h (__attribute__): Likewise.
52940         * lib/utimens.c (__attribute__): Likewise.
52941         * lib/vasnprintf.h (__attribute__): Likewise.
52942         * lib/xalloc.h (__attribute__): Likewise.
52943         * lib/xprintf.h (__attribute__): Likewise.
52944         * lib/xstrtol.h (__attribute__): Likewise.
52945         * lib/xvasprintf.h (__attribute__): Likewise.
52946
52947 2008-01-12  Bruno Haible  <bruno@clisp.org>
52948
52949         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
52950         * doc/glibc-headers/a.out.texi: New file.
52951         * doc/glibc-headers/aliases.texi: New file.
52952         * doc/glibc-headers/alloca.texi: New file.
52953         * doc/glibc-headers/ar.texi: New file.
52954         * doc/glibc-headers/argp.texi: New file.
52955         * doc/glibc-headers/argz.texi: New file.
52956         * doc/glibc-headers/byteswap.texi: New file.
52957         * doc/glibc-headers/crypt.texi: New file.
52958         * doc/glibc-headers/endian.texi: New file.
52959         * doc/glibc-headers/envz.texi: New file.
52960         * doc/glibc-headers/err.texi: New file.
52961         * doc/glibc-headers/error.texi: New file.
52962         * doc/glibc-headers/execinfo.texi: New file.
52963         * doc/glibc-headers/fpu_control.texi: New file.
52964         * doc/glibc-headers/fstab.texi: New file.
52965         * doc/glibc-headers/fts.texi: New file.
52966         * doc/glibc-headers/getopt.texi: New file.
52967         * doc/glibc-headers/ieee754.texi: New file.
52968         * doc/glibc-headers/ifaddrs.texi: New file.
52969         * doc/glibc-headers/libintl.texi: New file.
52970         * doc/glibc-headers/mcheck.texi: New file.
52971         * doc/glibc-headers/mntent.texi: New file.
52972         * doc/glibc-headers/obstack.texi: New file.
52973         * doc/glibc-headers/paths.texi: New file.
52974         * doc/glibc-headers/printf.texi: New file.
52975         * doc/glibc-headers/pty.texi: New file.
52976         * doc/glibc-headers/resolv.texi: New file.
52977         * doc/glibc-headers/shadow.texi: New file.
52978         * doc/glibc-headers/sysexits.texi: New file.
52979         * doc/glibc-headers/ttyent.texi: New file.
52980
52981 2008-01-12  Jim Meyering  <meyering@redhat.com>
52982
52983         announce-gen: emit Gnulib's git-based version string.
52984         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
52985         New option --gnulib-version=V, where V is expected to be
52986         the output of running git describe in the gnulib directory.
52987         (get_tool_versions): Request feedback on xdelta.  I suspect it's
52988         not useful, and plan to stop publishing an xdelta file with each
52989         coreutils release.
52990
52991         * build-aux/announce-gen: Also check for lzma-compressed files.
52992
52993 2008-01-11  Bruno Haible  <bruno@clisp.org>
52994
52995         * tests/test-memmem.c (main): Increase maximum allowed time.
52996         * tests/test-strstr.c (main): Likewise.
52997
52998 2008-01-11  Bruno Haible  <bruno@clisp.org>
52999
53000         * doc/functions/memmem.texi: Add more precisions about platforms.
53001         * doc/functions/strstr.texi: Likewise.
53002
53003 2008-01-10  Eric Blake  <ebb9@byu.net>
53004
53005         * m4/strstr.m4: Delete cruft from copy-n-paste.
53006         Reported by Bruno Haible.
53007
53008 2008-01-10  Bruno Haible  <bruno@clisp.org>
53009
53010         Make c-strstr rely on strstr.
53011         * lib/c-strstr.c: Don't include str-kmp.h.
53012         (c_strstr): Define in terms of strstr.
53013         * modules/c-strstr (Files): Remove lib/str-kmp.h.
53014         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
53015
53016 2008-01-10  Bruno Haible  <bruno@clisp.org>
53017
53018         * doc/gnulib.texi (String Functions in C Locale): New section.
53019         * doc/c-ctype.texi: New file.
53020         * doc/c-strcase.texi: New file.
53021         * doc/c-strcaseeq.texi: New file.
53022         * doc/c-strcasestr.texi: New file.
53023         * doc/c-strstr.texi: New file.
53024         * doc/c-strtod.texi: New file.
53025         * doc/c-strtold.texi: New file.
53026
53027 2008-01-10  Eric Blake  <ebb9@byu.net>
53028
53029         * lib/relocatable.h: Fix a comment.
53030
53031 2008-01-10  Eric Blake  <ebb9@byu.net>
53032
53033         Share two-way algorithm.
53034         * lib/str-two-way.h: New file, merged from...
53035         * lib/memmem.c: ...here...
53036         * lib/strstr.c: ...and here.
53037         * modules/memmem (Files): Use it.
53038         * modules/strstr (Files): Likewise.
53039
53040         Avoid quadratic strstr implementations.
53041         * lib/strstr.c: New file.
53042         * m4/strstr.m4: Likewise.
53043         * modules/strstr: Likewise.
53044         * modules/strstr-tests: Likewise.
53045         * tests/test-strstr.c: Likewise.
53046         * lib/string.in.h (rpl_strstr): Declare.
53047         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
53048         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
53049         * modules/string (Makefile.am): Likewise.
53050         * MODULES.html.sh (string handling): Mention new module.
53051         * doc/functions/strstr.texi (strstr): Document the bug.
53052
53053 2008-01-10  Bruno Haible  <bruno@clisp.org>
53054
53055         * lib/relocatable.h (relocate): State whether result is freshly
53056         allocated or not.
53057         * lib/relocatable.c (relocate): Return a freshly allocated string
53058         instead of a pointer to a privately held string.
53059         Reported by Sylvain Beucler <beuc@gnu.org>.
53060
53061 2008-01-10  Colin Watson  <cjwatson@debian.org>
53062
53063         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
53064         s/S_ISNLK/S_ISLNK/.
53065
53066 2008-01-09  Bruno Haible  <bruno@clisp.org>
53067
53068         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
53069         and other files.
53070         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
53071         if it's only a guess.
53072         * modules/memmem: Simplify by depending on memmem-simple.
53073
53074 2008-01-09  Bruno Haible  <bruno@clisp.org>
53075
53076         Work around OpenBSD 4.0 tdelete() bug.
53077         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
53078         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
53079         macros and don't redefine the enum values.
53080         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
53081         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
53082         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
53083
53084 2008-01-09  Bruno Haible  <bruno@clisp.org>
53085
53086         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
53087         (main): Don't perform the tests if setlocale did not install a UTF-8
53088         locale. Needed on OpenBSD 4.0.
53089         * modules/wcwidth-tests (Depends-on): Add localcharset.
53090
53091 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
53092
53093         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
53094         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
53095         * NEWS: announce this.
53096         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
53097
53098 2008-01-09  Simon Josefsson  <simon@josefsson.org>
53099         and Eric Blake  <ebb9@byu.net>
53100
53101         Add memmem-simple module.
53102         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
53103         (gl_FUNC_MEMMEM): Separate performance from presence checks.
53104         * modules/memmem-simple: New file.
53105         * modules/memmem (Description): Tweak.
53106         * MODULES.html.sh (string handling): Mention new module.
53107         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
53108         addressed by memmem-simple.
53109         * NEWS: Document the difference.
53110
53111 2008-01-09  Eric Blake  <ebb9@byu.net>
53112
53113         Give gcc some memmem optimization hints.
53114         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
53115         (strcasestr): Declare as pure.
53116         * modules/memmem (Maintainer): Claim my implementation.
53117
53118 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53119
53120         Support AIX 6.1 and higher.
53121         * build-aux/config.libpath: Likewise.
53122         * build-aux/config.rpath: Likewise.
53123
53124 2008-01-08  Jim Meyering  <meyering@redhat.com>
53125             Bruno Haible  <bruno@clisp.org>
53126
53127         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
53128         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
53129         Reported by Peter Fales in
53130         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
53131
53132 2008-01-08  Bruno Haible  <bruno@clisp.org>
53133
53134         * modules/unictype/category-of (Depends-on): Add
53135         unictype/category-none.
53136         * modules/unictype/category-and-tests (Depends-on): Add
53137         unictype/category-{L,N,Lu,Nd}.
53138         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
53139         * modules/unictype/category-or-tests (Depends-on): Add
53140         unictype/category-{L,N}.
53141         * modules/unictype/category-name-tests (Depends-on): Add
53142         unictype/category-{Z,Nl}.
53143         Reported by Simon Josefsson.
53144
53145 2008-01-08  Bruno Haible  <bruno@clisp.org>
53146
53147         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
53148         convention better.
53149         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
53150         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
53151         Reported by Peter Miller <millerp@canb.auug.org.au>.
53152
53153 2008-01-08  Eric Blake  <ebb9@byu.net>
53154
53155         Rewrite memmem to guarantee linear complexity without malloc.
53156         * lib/memmem.c (memmem): Use Two-Way rather than
53157         Knuth-Morris-Pratt, to allow O(1) space usage.
53158         (critical_factorization, two_way_short_needle)
53159         (two_way_long_needle): New functions.
53160         (knuth_morris_pratt): Delete.
53161         * modules/memmem (Depends-on): No longer need malloca or stdbool.
53162         Add stdint.
53163         * tests/test-memmem.c (main): Add tests for periodic needle and
53164         sublinear performance.
53165         * doc/functions/memmem.texi (memmem): Document other deficiencies
53166         in cygwin and older glibc.
53167
53168 2008-01-08  Bruno Haible  <bruno@clisp.org>
53169
53170         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
53171         augmentation.
53172
53173 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
53174
53175         Add a configure time option: --disable-acl.
53176         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
53177         AC_ARG_ENABLE(acl).
53178
53179 2008-01-06  Simon Josefsson  <simon@josefsson.org>
53180
53181         * tests/test-localename.c: Don't include obsolete "setenv.h".
53182
53183         * modules/localename-tests (Depends-on): Need unsetenv.
53184
53185 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53186
53187         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
53188
53189 2008-01-06  Colin Watson  <cjwatson@debian.org>
53190
53191         * users.txt: Add man-db.
53192
53193 2008-01-07  Bruno Haible  <bruno@clisp.org>
53194
53195         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
53196         previous section name.
53197
53198 2008-01-07  Bruno Haible  <bruno@clisp.org>
53199
53200         * lib/progname.c (set_program_name): Don't strip off a leading
53201         "lt-" prefix outside a .libs directory.
53202         Suggested by Paul Eggert.
53203
53204 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
53205             Bruno Haible  <bruno@clisp.org>
53206
53207         Improve memory cleanup in 'relocatable' module.
53208         * lib/relocatable.h (compute_curr_prefix): Change return type to
53209         'char *'.
53210         * lib/relocatable.c (compute_curr_prefix): Change return type to
53211         'char *'. Free curr_installdir after use.
53212         (relocate): Free curr_prefix_better after use.
53213         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
53214
53215 2008-01-01  Bruno Haible  <bruno@clisp.org>
53216
53217         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
53218         failure on older glibc systems.
53219         Reported by Peter Fales <psfales@alcatel-lucent.com>.
53220
53221 2008-01-05  Eric Blake  <ebb9@byu.net>
53222
53223         Avoid quadratic system memmem.
53224         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
53225         Reported by Ralf Wildenhues.
53226
53227         Fix memmem test for mingw.
53228         * modules/memmem-tests (configure.ac): Check for alarm.
53229         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
53230         it.
53231         * doc/functions/memmem.texi: New file.
53232         * doc/gnulib.texi (Function Substitutes): Add memmem.
53233         Reported by Bruno Haible.
53234
53235 2008-01-04  Bruno Haible  <bruno@clisp.org>
53236
53237         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
53238         Require gl_HEADER_STRINGS_H_DEFAULTS, not
53239         gl_HEADER_STRING_H_DEFAULTS.
53240
53241 2008-01-04  Eric Blake  <ebb9@byu.net>
53242
53243         Shorten duration of memmem test.
53244         * tests/test-memmem.c (main): Use alarm to declare failure if test
53245         is taking too long.
53246         Reported by Ralf Wildenhues.
53247
53248 2007-12-21  Simon Josefsson  <simon@josefsson.org>
53249
53250         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
53251         string, needed by strerror.
53252
53253 2008-01-03  Colin Watson  <cjwatson@debian.org>
53254             Bruno Haible  <bruno@clisp.org>
53255
53256         * doc/gnulib-tool.texi (Localization): New section.
53257
53258 2008-01-02  Bruno Haible  <bruno@clisp.org>
53259
53260         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
53261         variables to 'unsigned char *' type.
53262         Reported by Paul Eggert.
53263
53264 2008-01-02  Jim Meyering  <jim@meyering.net>
53265
53266         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
53267
53268 2007-12-31  Jim Meyering  <jim@meyering.net>
53269
53270         Avoid use of private FTS type name.
53271         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
53272
53273 2007-12-30  Karl Berry  <karl@gnu.org>
53274
53275         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
53276         work around defect in Texinfo and/or the standalone Info browser.
53277
53278 2007-12-30  Bruno Haible  <bruno@clisp.org>
53279
53280         Unify 5 copies of the KMP code.
53281         * lib/str-kmp.h: New file.
53282         * lib/c-strcasestr.c: Include str-kmp.h.
53283         (knuth_morris_pratt): Remove function.
53284         (c_strcasestr): Update.
53285         * lib/c-strstr.c: Include str-kmp.h.
53286         (knuth_morris_pratt): Remove function.
53287         (c_strcasestr): Update.
53288         * lib/mbscasestr.c: Include str-kmp.h.
53289         (knuth_morris_pratt_unibyte): Remove function.
53290         * lib/mbsstr.c: Include str-kmp.h.
53291         (knuth_morris_pratt_unibyte): Remove function.
53292         * lib/strcasestr.c: Include str-kmp.h.
53293         (knuth_morris_pratt): Remove function.
53294         (strcasestr): Update.
53295         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
53296         * modules/c-strstr (Files): Likewise.
53297         * modules/mbscasestr (Files): Likewise.
53298         * modules/mbsstr (Files): Likewise.
53299         * modules/strcasestr (Files): Likewise.
53300         Suggested by Paul Eggert.
53301
53302 2007-12-30  Bruno Haible  <bruno@clisp.org>
53303
53304         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
53305         defined.
53306
53307 2007-12-30  Bruno Haible  <bruno@clisp.org>
53308
53309         * lib/xmalloca.h: Include xalloc.h.
53310         (xnmalloca): New macro.
53311
53312 2007-12-30  Bruno Haible  <bruno@clisp.org>
53313
53314         * lib/malloca.h (nmalloca): New macro.
53315         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
53316         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
53317         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
53318         knuth_morris_pratt_multibyte): Likewise.
53319         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
53320         knuth_morris_pratt_multibyte): Likewise.
53321         * lib/memmem.c (knuth_morris_pratt): Likewise.
53322         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
53323
53324 2007-12-25  Bruno Haible  <bruno@clisp.org>
53325
53326         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
53327         * lib/glob.c: Don't include openat.h.
53328         (link_exists2_p): Add back the code that deals with the
53329         !GLOB_ALTDIRFUNC case.
53330         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
53331         let it do the filename concatenation.
53332         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
53333         * modules/glob (Depends-on): Remove openat.
53334
53335 2007-12-31  Bruno Haible  <bruno@clisp.org>
53336
53337         * modules/dirfd (License): Change to LGPLv2+.
53338         Approved by Jim Meyering.
53339
53340 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
53341
53342         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
53343         when multiplying M by sizeof (size_t).
53344
53345 2007-12-10  Martin Lambers  <marlam@marlam.de>
53346
53347         Override getpagesize on mingw.
53348         * lib/getpagesize.c: New file.
53349         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
53350         * modules/getpagesize (Files): Add lib/getpagesize.c.
53351         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
53352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53353         REPLACE_GETPAGESIZE.
53354         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
53355
53356 2007-12-25  Bruno Haible  <bruno@clisp.org>
53357
53358         * modules/localcharset (Notice): New field.
53359         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
53360         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
53361
53362 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
53363             Bruno Haible  <bruno@clisp.org>
53364
53365         Avoid using the syntax symbol() in formatted documentation.
53366         * MODULES.html.sh (func_module): When replacing symbol() with a
53367         hyperlink, remove the parentheses. Show an error if some remain.
53368         Recognize and render the '...' syntax.
53369         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
53370         Rework. Add paragraph about GCC's inlining.
53371         * doc/alloca.texi: Likewise.
53372         * doc/error.texi: Remove parentheses from symbol reference.
53373         * doc/gnulib-intro.texi: Likewise.
53374         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
53375         * modules/fnmatch (Description): Reword to say "the ... function".
53376         * modules/full-read (Description): Likewise.
53377         * modules/full-write (Description): Likewise.
53378         * modules/safe-read (Description): Likewise.
53379         * modules/safe-write (Description): Likewise.
53380         * modules/strchrnul (Description): Likewise.
53381         * modules/trim (Description): Likewise.
53382         * modules/error (Description): Remove parentheses from symbol
53383         references.
53384         * modules/verror (Description): Likewise.
53385         Reported by Karl Berry.
53386
53387 2007-12-25  Bruno Haible  <bruno@clisp.org>
53388
53389         Fixup after 2007-10-16 commit.
53390         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
53391
53392 2007-12-24  Bruno Haible  <bruno@clisp.org>
53393
53394         Make --enable-relocatable work with DESTDIR.
53395         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
53396         to compute installdir from destprog.
53397         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
53398         also set the RELOC_DESTDIR variable.
53399         Reported by Левашев Иван <octagram@bluebottle.com>.
53400
53401 2007-12-24  Bruno Haible  <bruno@clisp.org>
53402
53403         Fix link error due to xalloc_die().
53404         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
53405         of xreadlink.
53406         * lib/relocwrapper.c: Update comments.
53407         * build-aux/install-reloc: Remove xreadlink.c from file list.
53408         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
53409         xreadlink.c.
53410         Reported by Левашев Иван <octagram@bluebottle.com>.
53411
53412 2007-12-24  Bruno Haible  <bruno@clisp.org>
53413
53414         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
53415         * lib/setenv.h: Remove file.
53416         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
53417         lib/setenv.h.
53418         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
53419         (Depends-on): Add stdlib.
53420         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
53421         gl_FUNC_UNSETENV.
53422         (Include): Replace setenv.h with <stdlib.h>.
53423         * modules/unsetenv: New file.
53424         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
53425         * lib/unsetenv.c: Include <stdlib.h> first.
53426         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
53427         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
53428         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
53429         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
53430         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
53431         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
53432         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
53433         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
53434         * doc/functions/unsetenv.texi: Update.
53435         * modules/xsetenv (Depends-on): Add unsetenv.
53436         * modules/getdate (Depends-on): Likewise.
53437         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
53438         * lib/xsetenv.c: Don't include setenv.h.
53439         * lib/getdate.y: Likewise.
53440         * lib/relocwrapper.c: Likewise.
53441         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
53442         (Depends-on): Add stdlib.
53443         * NEWS: Mention the changes.
53444         Reported by Левашев Иван <octagram@bluebottle.com>.
53445
53446 2007-12-23  Bruno Haible  <bruno@clisp.org>
53447
53448         * lib/memmem.c (memmem): Use lowercase variable names. Tab
53449         indentation.
53450
53451 2007-12-23  Bruno Haible  <bruno@clisp.org>
53452
53453         * lib/c-strcasestr.c: Add more comments.
53454         * lib/c-strstr.c: Likewise.
53455         * lib/mbscasestr.c: Likewise.
53456         * lib/mbsstr.c: Likewise.
53457         * lib/strcasestr.c: Likewise.
53458         * lib/memmem.c: Likewise.
53459
53460 2007-12-23  Bruno Haible  <bruno@clisp.org>
53461
53462         * tests/test-memmem.c: Include <string.h> first.
53463
53464 2007-12-22  Bruno Haible  <bruno@clisp.org>
53465
53466         * gnulib-tool (func_create_testdir): Change $auxdir while generating
53467         the contents of $testsbase.
53468         Reported by Ralf Wildenhues.
53469
53470 2007-12-22  Bruno Haible  <bruno@clisp.org>
53471
53472         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
53473         two variables local_ldadd_before, local_ldadd_last.
53474
53475 2007-12-20  Eric Blake  <ebb9@byu.net>
53476
53477         Work around circular library issue when cross-compiling.
53478         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
53479         that progname.o does not need to pull in rpl_memcmp.
53480
53481 2007-12-19  Eric Blake  <ebb9@byu.net>
53482
53483         Fix memmem to avoid O(n^2) worst-case complexity.
53484         * lib/memmem.c (knuth_morris_pratt): New function.
53485         (memmem): Use it if first few naive iterations fail.
53486         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
53487         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
53488         * modules/memchr (License): Likewise.
53489         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
53490         malloca.
53491         * tests/test-memmem.c: Rewrite, borrowing ideas from
53492         test-mbsstr1.c; the old version wouldn't even compile!
53493         * modules/memmem-tests: New file.
53494         * lib/string.in.h (rpl_memmem): Add declaration.
53495         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
53496         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
53497         REPLACE_MEMMEM.
53498
53499 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53500
53501         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
53502         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
53503         before any system include files, and undef after them all.  This
53504         should fix a problem on VMS reported by John E. Malmberg in
53505         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
53506
53507 2007-12-17  Eric Blake  <ebb9@byu.net>
53508
53509         Revert addition of verify, for BSD/OS.
53510         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
53511         can't handle large files, for the sake of obsolete platforms.
53512         * modules/fseeko (Depends-on): Remove verify.
53513         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
53514         * doc/functions/ftello.texi (ftello): Likewise.
53515         * doc/functions/fgetpos.texi (fgetpos): Likewise.
53516         Reported by Larry Jones.
53517
53518 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
53519
53520         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
53521         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
53522
53523 2007-12-17  Jim Meyering  <meyering@redhat.com>
53524
53525         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
53526         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
53527         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
53528         * modules/getcwd (Depends-on): Add openat.
53529         Reported by Petr Salinger.
53530
53531 2007-12-17  Bruno Haible  <bruno@clisp.org>
53532
53533         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
53534         avoid a segmentation fault of the configure test on x86_64 systems.
53535
53536 2007-12-15  Jim Meyering  <meyering@redhat.com>
53537
53538         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
53539
53540 2007-12-13  Eric Blake  <ebb9@byu.net>
53541
53542         Another fseek test.
53543         * tests/test-fseek.c (main): Also test ungetc handling.
53544         * tests/test-fseeko.c (main): Likewise.
53545         * modules/fseeko (Depends-on): Add verify.
53546         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
53547         large.
53548         Reported by Larry Jones.
53549
53550         Fix fseeko on mingw.
53551         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
53552         seek.
53553
53554         Beef up fseek tests.
53555         * tests/test-fseek.c (main): Also test eof handling.
53556         * tests/test-fseeko.c (main): Likewise.
53557         Reported by Larry Jones.
53558
53559 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
53560
53561         Fix fseeko on BSD-based platforms.
53562         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
53563         successful seek.
53564
53565 2007-12-12  Eric Blake  <ebb9@byu.net>
53566
53567         Allow circular dependency of separate libtests.a
53568         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
53569         when use_libtests.
53570
53571 2007-12-11  Eric Blake  <ebb9@byu.net>
53572
53573         Fix bug with -0.0L in previous patch.
53574         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
53575         * tests/test-isnan.c (main): Also test on zeroes.
53576         * tests/test-isnanf.c (main): Likewise.
53577         * tests/test-isnanl.h (main): Likewise.
53578
53579         Detect pseudo-denormals on x86 even when cross-compiling.
53580         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
53581         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
53582         invalid bit patterns that happen to satisfy ==.
53583
53584         Avoid link failures with separate libtests.a.
53585         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
53586         last, to satisfy circular dependencies.
53587
53588 2007-12-11  Eric Blake  <ebb9@byu.net>
53589         and Bruno Haible  <bruno@clisp.org>
53590
53591         Fix OpenBSD 4.0 <float.h> handling of long double.
53592         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
53593         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
53594         * doc/headers/float.texi (float.h): Document OpenBSD bug.
53595
53596 2007-12-11  Jim Meyering  <meyering@redhat.com>
53597
53598         * users.txt: Add libvirt.
53599
53600         Support versions of autoconf prior to 2.59c.
53601         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
53602         if it is not already defined.
53603
53604 2007-12-09  Bruno Haible  <bruno@clisp.org>
53605
53606         Let 'gnulib-tool --import' collect sources needed for the tests in
53607         tests/ rather than in lib/.
53608         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
53609         argument. If true, add rules to generate libtests.a, and put libtests.a
53610         into $(LDADD). Consider source files in subdirectories and set
53611         uses_subdirs.
53612         (func_emit_initmacro_start, func_emit_initmacro_end,
53613         func_emit_initmacro_done): Pass all arguments explicitly.
53614         (func_import): Determine two module lists main_modules,
53615         testsrelated_modules. Determine use_libtests. Determine two variables
53616         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
53617         instead of just sed_transform_lib_file. Determine two variables
53618         main_files and testsrelated_files. Compute 'files' as the union of
53619         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
53620         func_add_or_update. In the generated gnulib-comp.m4, collect the
53621         object files for tests/ in different variables than those for lib/.
53622         Substitute LIBTESTS_LIBDEPS.
53623         (func_create_testdir): Combine the uses_subdirs results from
53624         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
53625
53626 2007-12-09  Bruno Haible  <bruno@clisp.org>
53627
53628         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
53629         the build-aux directory.
53630
53631 2007-12-09  Bruno Haible  <bruno@clisp.org>
53632
53633         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
53634         introduced on 2006-09-09.
53635
53636 2007-12-07  Jim Meyering  <meyering@redhat.com>
53637
53638         Let these macros work also with autoconf-2.59.
53639         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
53640         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
53641         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
53642
53643 2007-12-06  Jim Meyering  <meyering@redhat.com>
53644
53645         Avoid a configure-time syntax error in gl_FUNC_ACL.
53646         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
53647         function in each branch, before testing the cache variable.
53648
53649 2007-12-04  Eric Blake  <ebb9@byu.net>
53650
53651         Make scripts executable.
53652         * build-aux/config.guess: Add execute permissions.
53653         * build-aux/config.sub: Likewise.
53654         * build-aux/gendocs.sh: Likewise.
53655
53656         Fix frexp on mingw.
53657         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
53658         cross-compiling.
53659         * doc/functions/frexp.texi (frexp): Document the bug.
53660
53661         Make cygwin fseeko check more reliable.
53662         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
53663         version numbers, rather than unrelated feature check.
53664         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
53665         * doc/functions/ftello.texi (ftello): Likewise.
53666         Reported by Bruno Haible.
53667
53668         * m4/strerror.m4: Bump version number.
53669
53670 2007-12-03  Bruno Haible  <bruno@clisp.org>
53671
53672         * doc/functions/mprotect.texi: Mention the mingw problem.
53673
53674 2007-12-03  Eric Blake  <ebb9@byu.net>
53675
53676         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
53677         REPLACE_STRERROR is initialized before this macro.
53678
53679 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
53680
53681         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
53682         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
53683         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
53684         put -lsec in even for programs other than 'ls'.  This fixes a problem
53685         for gettext reported by Bruno Haible in
53686         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
53687         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
53688         Add support for Solaris 10.  This isn't efficient, but should get the
53689         job done for now.
53690
53691 2007-12-03  James Youngman  <jay@gnu.org>
53692
53693         * doc/regexprops-generic.texi: change "an close-group" to "a
53694         close-group" and "illegal" to "not allowed".
53695
53696 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53697
53698         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
53699         pr_byname.h. Needed for the rare case when the maintainer has done
53700         "make maintainer-clean" in the source directory and then attempts a
53701         build outside the source directory.
53702         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
53703         scripts_byname.h.
53704
53705 2007-12-02  Martin Lambers <marlam@marlam.de>
53706             Bruno Haible  <bruno@clisp.org>
53707
53708         * lib/getpagesize.h: Remove file.
53709         * lib/unistd.in.h: Include declaration of getpagesize here.
53710         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
53711         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
53712         HAVE_SYS_PARAM_H.
53713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
53714         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
53715         * modules/getpagesize (Files): Remove lib/getpagesize.h.
53716         (Depends-on): Add unistd.
53717         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53718         (Include): Use <unistd.h> instead of getpagesize.h.
53719         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
53720         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
53721         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
53722         gl_GETPAGESIZE invocation, already handled by module dependency.
53723         * lib/pagealign_alloc.c: Don't include getpagesize.h.
53724
53725 2007-12-02  Bruno Haible  <bruno@clisp.org>
53726
53727         * modules/strings-tests: New file.
53728         * tests/test-strings.c: New file.
53729
53730         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
53731         * lib/strings.in.h: New file.
53732         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
53733         * m4/strings_h.m4: New file.
53734         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
53735         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
53736         * modules/strings: New file.
53737         * modules/string (Makefile.am): Update.
53738         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
53739         Reported by Karl Berry.
53740
53741 2007-12-01  Eric Blake  <ebb9@byu.net>
53742
53743         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
53744         accomodate fix in cygwin 1.5.25.
53745
53746 2007-12-01  Jim Meyering  <meyering@redhat.com>
53747
53748         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
53749         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
53750         that would inhibit utf8-optimization of a regexp containing line-
53751         or buffer-anchors, e.g., `^', `$'.
53752
53753 2007-11-30  Bruno Haible  <bruno@clisp.org>
53754
53755         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
53756         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
53757         glthread_recursive_lock_init.
53758         * lib/lock.c (glthread_recursive_lock_init)
53759         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
53760         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53761
53762 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
53763
53764         New function qset_acl, like set_acl but with syscall semantics.
53765         * lib/acl.h (qset_acl): New decl.
53766         * lib/acl.c (qset_acl): New function.
53767         (set_acl): Use new function.  Use more-consistent diagnostics.
53768
53769 2007-11-28  Jim Meyering  <meyering@redhat.com>
53770
53771         * modules/physmem (License): Change from GPL to LGPLv2+.
53772
53773 2007-11-26  Bruno Haible  <bruno@clisp.org>
53774
53775         * lib/vasnprintf.c (decode_long_double): Don't abort if the
53776         'long double' type has excess precision.
53777         Reported by Jim Meyering in
53778         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
53779
53780 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53781
53782         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
53783         Sync from <http://gnu.org/licenses>.
53784         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
53785         with license text from same location.
53786         * doc/maintain.texi, doc/standards.texi:  Sync from
53787         <http://savannah.gnu.org/projects/gnustandards>.
53788
53789 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
53790         and Jim Meyering  <meyering@redhat.com>
53791
53792         Adjust getdate' grammar to accept a slightly more regular language.
53793         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
53794         Before, the former was rejected.
53795         * lib/getdate.y (digits_to_date_time): New function, factored
53796         out of ...
53797         (number): ...here.  Just call digits_to_date_time.
53798         (hybrid): New non-terminal to handle an <unsigned number,
53799         signed relative offset> sequence consistently.
53800
53801 2007-11-18  Jim Meyering  <meyering@redhat.com>
53802
53803         Pull my changes from coreutils:
53804         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
53805         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
53806         use of $gnulib_tool_option_extras, so that it's separated from the
53807         preceding argument.
53808
53809         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
53810         * build-aux/bootstrap (cp_mark_as_generated): Create any required
53811         parent destination directories before copying a file into place.
53812
53813 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
53814
53815         bootstrap: work also with 4-argument variant of AC_INIT
53816         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
53817
53818 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53819
53820         Port test-getaddrinfo to Solaris.
53821         Problem reported by Bruno Haible in
53822         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
53823         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
53824         explanation of setting 'hints'.
53825         Don't reject an implementation merely because it returns EAI_SERVICE.
53826         (EAI_SERVICE): Define to 0 if not defined.
53827
53828 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
53829
53830         The license of gnu-make and posix-shell is now "GPLed build tool".
53831         * modules/gnu-make (License): Likewise.
53832         * modules/posix-shell (License): Likewise.
53833
53834         New module posix-shell, for determining a POSIX shell
53835         or perhaps something that is close enough to a POSIX shell.
53836         * m4/posix-shell.m4: New file.
53837         * modules/posix-shell: New file.
53838
53839         * MODULES.html.sh: Mention new module.
53840
53841         New module gnu-make, for determining whether we're using GNU Make.
53842         * m4/gnu-make.m4: New file.
53843         * modules/gnu-make: New file.
53844         * MODULES.html.sh: Mention new module.
53845
53846 2007-11-14  Jim Meyering  <meyering@redhat.com>
53847
53848         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
53849         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
53850         use this macro to create a function _definition_.
53851         Remove useless "#undef ARGMATCH_DIE".
53852
53853 2007-11-14  Bruno Haible  <bruno@clisp.org>
53854
53855         * lib/config.charset: Update for OpenBSD 4.1.
53856         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
53857
53858 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
53859
53860         Document 64-bit #if problems in stdint.texi.
53861         * doc/headers/stdint.texi (stdint.h): Mention problems with
53862         64-bit-#if, and how to work around them.
53863
53864         Don't insist on 'long long int' support in the preprocessor.  It
53865         breaks too many things.  For example, PRIdMAX still uses a 'long
53866         long int' format with the latest Sun compiler, even though
53867         HAVE_LONG_LONG_INT isn't defined due to that compiler's
53868         preprocessor problem.  This causes the latest coreutils to dump
53869         core on Solaris 10 sparc with the Sun C compiler.
53870         Instead, fix the 2007-10-16 problem in a different way, by evaluating
53871         the troublesome expressions at configure-time, not at #if-time.
53872         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
53873         preprocessor.
53874         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
53875         compile-time C checks, done at 'configure'-time.
53876         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
53877         * modules/inttypes (Makefile): Substitute the new symbols that
53878         gl_INTTYPES_H now generates.
53879         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
53880
53881 2007-11-12  Bruno Haible  <bruno@clisp.org>
53882
53883         Tests for Unicode character classification functions.
53884
53885         * modules/unictype/bidicategory-byname-tests: New file.
53886         * modules/unictype/bidicategory-name-tests: New file.
53887         * modules/unictype/bidicategory-of-tests: New file.
53888         * modules/unictype/bidicategory-test-tests: New file.
53889         * modules/unictype/block-list-tests: New file.
53890         * modules/unictype/block-of-tests: New file.
53891         * modules/unictype/block-test-tests: New file.
53892         * modules/unictype/category-C-tests: New file.
53893         * modules/unictype/category-Cc-tests: New file.
53894         * modules/unictype/category-Cf-tests: New file.
53895         * modules/unictype/category-Cn-tests: New file.
53896         * modules/unictype/category-Co-tests: New file.
53897         * modules/unictype/category-Cs-tests: New file.
53898         * modules/unictype/category-L-tests: New file.
53899         * modules/unictype/category-Ll-tests: New file.
53900         * modules/unictype/category-Lm-tests: New file.
53901         * modules/unictype/category-Lo-tests: New file.
53902         * modules/unictype/category-Lt-tests: New file.
53903         * modules/unictype/category-Lu-tests: New file.
53904         * modules/unictype/category-M-tests: New file.
53905         * modules/unictype/category-Mc-tests: New file.
53906         * modules/unictype/category-Me-tests: New file.
53907         * modules/unictype/category-Mn-tests: New file.
53908         * modules/unictype/category-N-tests: New file.
53909         * modules/unictype/category-Nd-tests: New file.
53910         * modules/unictype/category-Nl-tests: New file.
53911         * modules/unictype/category-No-tests: New file.
53912         * modules/unictype/category-P-tests: New file.
53913         * modules/unictype/category-Pc-tests: New file.
53914         * modules/unictype/category-Pd-tests: New file.
53915         * modules/unictype/category-Pe-tests: New file.
53916         * modules/unictype/category-Pf-tests: New file.
53917         * modules/unictype/category-Pi-tests: New file.
53918         * modules/unictype/category-Po-tests: New file.
53919         * modules/unictype/category-Ps-tests: New file.
53920         * modules/unictype/category-S-tests: New file.
53921         * modules/unictype/category-Sc-tests: New file.
53922         * modules/unictype/category-Sk-tests: New file.
53923         * modules/unictype/category-Sm-tests: New file.
53924         * modules/unictype/category-So-tests: New file.
53925         * modules/unictype/category-Z-tests: New file.
53926         * modules/unictype/category-Zl-tests: New file.
53927         * modules/unictype/category-Zp-tests: New file.
53928         * modules/unictype/category-Zs-tests: New file.
53929         * modules/unictype/category-and-not-tests: New file.
53930         * modules/unictype/category-and-tests: New file.
53931         * modules/unictype/category-byname-tests: New file.
53932         * modules/unictype/category-name-tests: New file.
53933         * modules/unictype/category-none-tests: New file.
53934         * modules/unictype/category-of-tests: New file.
53935         * modules/unictype/category-or-tests: New file.
53936         * modules/unictype/category-test-withtable-tests: New file.
53937         * modules/unictype/combining-class-tests: New file.
53938         * modules/unictype/ctype-alnum-tests: New file.
53939         * modules/unictype/ctype-alpha-tests: New file.
53940         * modules/unictype/ctype-blank-tests: New file.
53941         * modules/unictype/ctype-cntrl-tests: New file.
53942         * modules/unictype/ctype-digit-tests: New file.
53943         * modules/unictype/ctype-graph-tests: New file.
53944         * modules/unictype/ctype-lower-tests: New file.
53945         * modules/unictype/ctype-print-tests: New file.
53946         * modules/unictype/ctype-punct-tests: New file.
53947         * modules/unictype/ctype-space-tests: New file.
53948         * modules/unictype/ctype-upper-tests: New file.
53949         * modules/unictype/ctype-xdigit-tests: New file.
53950         * modules/unictype/decimal-digit-tests: New file.
53951         * modules/unictype/digit-tests: New file.
53952         * modules/unictype/mirror-tests: New file.
53953         * modules/unictype/numeric-tests: New file.
53954         * modules/unictype/property-alphabetic-tests: New file.
53955         * modules/unictype/property-ascii-hex-digit-tests: New file.
53956         * modules/unictype/property-bidi-arabic-digit-tests: New file.
53957         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
53958         * modules/unictype/property-bidi-block-separator-tests: New file.
53959         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
53960         * modules/unictype/property-bidi-common-separator-tests: New file.
53961         * modules/unictype/property-bidi-control-tests: New file.
53962         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
53963         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
53964         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
53965         * modules/unictype/property-bidi-european-digit-tests: New file.
53966         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
53967         * modules/unictype/property-bidi-left-to-right-tests: New file.
53968         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
53969         * modules/unictype/property-bidi-other-neutral-tests: New file.
53970         * modules/unictype/property-bidi-pdf-tests: New file.
53971         * modules/unictype/property-bidi-segment-separator-tests: New file.
53972         * modules/unictype/property-bidi-whitespace-tests: New file.
53973         * modules/unictype/property-byname-tests: New file.
53974         * modules/unictype/property-combining-tests: New file.
53975         * modules/unictype/property-composite-tests: New file.
53976         * modules/unictype/property-currency-symbol-tests: New file.
53977         * modules/unictype/property-dash-tests: New file.
53978         * modules/unictype/property-decimal-digit-tests: New file.
53979         * modules/unictype/property-default-ignorable-code-point-tests: New file.
53980         * modules/unictype/property-deprecated-tests: New file.
53981         * modules/unictype/property-diacritic-tests: New file.
53982         * modules/unictype/property-extender-tests: New file.
53983         * modules/unictype/property-format-control-tests: New file.
53984         * modules/unictype/property-grapheme-base-tests: New file.
53985         * modules/unictype/property-grapheme-extend-tests: New file.
53986         * modules/unictype/property-grapheme-link-tests: New file.
53987         * modules/unictype/property-hex-digit-tests: New file.
53988         * modules/unictype/property-hyphen-tests: New file.
53989         * modules/unictype/property-id-continue-tests: New file.
53990         * modules/unictype/property-id-start-tests: New file.
53991         * modules/unictype/property-ideographic-tests: New file.
53992         * modules/unictype/property-ids-binary-operator-tests: New file.
53993         * modules/unictype/property-ids-trinary-operator-tests: New file.
53994         * modules/unictype/property-ignorable-control-tests: New file.
53995         * modules/unictype/property-iso-control-tests: New file.
53996         * modules/unictype/property-join-control-tests: New file.
53997         * modules/unictype/property-left-of-pair-tests: New file.
53998         * modules/unictype/property-line-separator-tests: New file.
53999         * modules/unictype/property-logical-order-exception-tests: New file.
54000         * modules/unictype/property-lowercase-tests: New file.
54001         * modules/unictype/property-math-tests: New file.
54002         * modules/unictype/property-non-break-tests: New file.
54003         * modules/unictype/property-not-a-character-tests: New file.
54004         * modules/unictype/property-numeric-tests: New file.
54005         * modules/unictype/property-other-alphabetic-tests: New file.
54006         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
54007         * modules/unictype/property-other-grapheme-extend-tests: New file.
54008         * modules/unictype/property-other-id-continue-tests: New file.
54009         * modules/unictype/property-other-id-start-tests: New file.
54010         * modules/unictype/property-other-lowercase-tests: New file.
54011         * modules/unictype/property-other-math-tests: New file.
54012         * modules/unictype/property-other-uppercase-tests: New file.
54013         * modules/unictype/property-paired-punctuation-tests: New file.
54014         * modules/unictype/property-paragraph-separator-tests: New file.
54015         * modules/unictype/property-pattern-syntax-tests: New file.
54016         * modules/unictype/property-pattern-white-space-tests: New file.
54017         * modules/unictype/property-private-use-tests: New file.
54018         * modules/unictype/property-punctuation-tests: New file.
54019         * modules/unictype/property-quotation-mark-tests: New file.
54020         * modules/unictype/property-radical-tests: New file.
54021         * modules/unictype/property-sentence-terminal-tests: New file.
54022         * modules/unictype/property-soft-dotted-tests: New file.
54023         * modules/unictype/property-space-tests: New file.
54024         * modules/unictype/property-terminal-punctuation-tests: New file.
54025         * modules/unictype/property-test-tests: New file.
54026         * modules/unictype/property-titlecase-tests: New file.
54027         * modules/unictype/property-unassigned-code-value-tests: New file.
54028         * modules/unictype/property-unified-ideograph-tests: New file.
54029         * modules/unictype/property-uppercase-tests: New file.
54030         * modules/unictype/property-variation-selector-tests: New file.
54031         * modules/unictype/property-white-space-tests: New file.
54032         * modules/unictype/property-xid-continue-tests: New file.
54033         * modules/unictype/property-xid-start-tests: New file.
54034         * modules/unictype/property-zero-width-tests: New file.
54035         * modules/unictype/scripts-tests: New file.
54036         * modules/unictype/syntax-c-ident-tests: New file.
54037         * modules/unictype/syntax-c-whitespace-tests: New file.
54038         * modules/unictype/syntax-java-ident-tests: New file.
54039         * modules/unictype/syntax-java-whitespace-tests: New file.
54040         * tests/unictype/test-bidi_byname.c: New file.
54041         * tests/unictype/test-bidi_name.c: New file.
54042         * tests/unictype/test-bidi_of.c: New file.
54043         * tests/unictype/test-bidi_test.c: New file.
54044         * tests/unictype/test-block_list.c: New file.
54045         * tests/unictype/test-block_of.c: New file.
54046         * tests/unictype/test-block_test.c: New file.
54047         * tests/unictype/test-categ_and.c: New file.
54048         * tests/unictype/test-categ_and_not.c: New file.
54049         * tests/unictype/test-categ_byname.c: New file.
54050         * tests/unictype/test-categ_name.c: New file.
54051         * tests/unictype/test-categ_none.c: New file.
54052         * tests/unictype/test-categ_of.c: New file.
54053         * tests/unictype/test-categ_or.c: New file.
54054         * tests/unictype/test-categ_test_withtable.c: New file.
54055         * tests/unictype/test-combining.c: New file.
54056         * tests/unictype/test-decdigit.c: New file.
54057         * tests/unictype/test-digit.c: New file.
54058         * tests/unictype/test-mirror.c: New file.
54059         * tests/unictype/test-numeric.c: New file.
54060         * tests/unictype/test-pr_byname.c: New file.
54061         * tests/unictype/test-pr_test.c: New file.
54062         * tests/unictype/test-predicate-part1.h: New file.
54063         * tests/unictype/test-predicate-part2.h: New file.
54064         * tests/unictype/test-scripts.c: New file.
54065         * tests/unictype/test-sy_c_ident.c: New file.
54066         * tests/unictype/test-sy_java_ident.c: New file.
54067
54068         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
54069         for Unicode 5.0.0.
54070         * tests/unictype/test-categ_Cc.c: Likewise.
54071         * tests/unictype/test-categ_Cf.c: Likewise.
54072         * tests/unictype/test-categ_Cn.c: Likewise.
54073         * tests/unictype/test-categ_Co.c: Likewise.
54074         * tests/unictype/test-categ_Cs.c: Likewise.
54075         * tests/unictype/test-categ_L.c: Likewise.
54076         * tests/unictype/test-categ_Ll.c: Likewise.
54077         * tests/unictype/test-categ_Lm.c: Likewise.
54078         * tests/unictype/test-categ_Lo.c: Likewise.
54079         * tests/unictype/test-categ_Lt.c: Likewise.
54080         * tests/unictype/test-categ_Lu.c: Likewise.
54081         * tests/unictype/test-categ_M.c: Likewise.
54082         * tests/unictype/test-categ_Mc.c: Likewise.
54083         * tests/unictype/test-categ_Me.c: Likewise.
54084         * tests/unictype/test-categ_Mn.c: Likewise.
54085         * tests/unictype/test-categ_N.c: Likewise.
54086         * tests/unictype/test-categ_Nd.c: Likewise.
54087         * tests/unictype/test-categ_Nl.c: Likewise.
54088         * tests/unictype/test-categ_No.c: Likewise.
54089         * tests/unictype/test-categ_P.c: Likewise.
54090         * tests/unictype/test-categ_Pc.c: Likewise.
54091         * tests/unictype/test-categ_Pd.c: Likewise.
54092         * tests/unictype/test-categ_Pe.c: Likewise.
54093         * tests/unictype/test-categ_Pf.c: Likewise.
54094         * tests/unictype/test-categ_Pi.c: Likewise.
54095         * tests/unictype/test-categ_Po.c: Likewise.
54096         * tests/unictype/test-categ_Ps.c: Likewise.
54097         * tests/unictype/test-categ_S.c: Likewise.
54098         * tests/unictype/test-categ_Sc.c: Likewise.
54099         * tests/unictype/test-categ_Sk.c: Likewise.
54100         * tests/unictype/test-categ_Sm.c: Likewise.
54101         * tests/unictype/test-categ_So.c: Likewise.
54102         * tests/unictype/test-categ_Z.c: Likewise.
54103         * tests/unictype/test-categ_Zl.c: Likewise.
54104         * tests/unictype/test-categ_Zp.c: Likewise.
54105         * tests/unictype/test-categ_Zs.c: Likewise.
54106         * tests/unictype/test-ctype_alnum.c: Likewise.
54107         * tests/unictype/test-ctype_alpha.c: Likewise.
54108         * tests/unictype/test-ctype_blank.c: Likewise.
54109         * tests/unictype/test-ctype_cntrl.c: Likewise.
54110         * tests/unictype/test-ctype_digit.c: Likewise.
54111         * tests/unictype/test-ctype_graph.c: Likewise.
54112         * tests/unictype/test-ctype_lower.c: Likewise.
54113         * tests/unictype/test-ctype_print.c: Likewise.
54114         * tests/unictype/test-ctype_punct.c: Likewise.
54115         * tests/unictype/test-ctype_space.c: Likewise.
54116         * tests/unictype/test-ctype_upper.c: Likewise.
54117         * tests/unictype/test-ctype_xdigit.c: Likewise.
54118         * tests/unictype/test-decdigit.h: Likewise.
54119         * tests/unictype/test-digit.h: Likewise.
54120         * tests/unictype/test-numeric.h: Likewise.
54121         * tests/unictype/test-pr_alphabetic.c: Likewise.
54122         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
54123         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
54124         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
54125         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
54126         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
54127         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
54128         * tests/unictype/test-pr_bidi_control.c: Likewise.
54129         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
54130         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
54131         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
54132         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
54133         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
54134         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
54135         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
54136         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
54137         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
54138         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
54139         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
54140         * tests/unictype/test-pr_combining.c: Likewise.
54141         * tests/unictype/test-pr_composite.c: Likewise.
54142         * tests/unictype/test-pr_currency_symbol.c: Likewise.
54143         * tests/unictype/test-pr_dash.c: Likewise.
54144         * tests/unictype/test-pr_decimal_digit.c: Likewise.
54145         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
54146         * tests/unictype/test-pr_deprecated.c: Likewise.
54147         * tests/unictype/test-pr_diacritic.c: Likewise.
54148         * tests/unictype/test-pr_extender.c: Likewise.
54149         * tests/unictype/test-pr_format_control.c: Likewise.
54150         * tests/unictype/test-pr_grapheme_base.c: Likewise.
54151         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
54152         * tests/unictype/test-pr_grapheme_link.c: Likewise.
54153         * tests/unictype/test-pr_hex_digit.c: Likewise.
54154         * tests/unictype/test-pr_hyphen.c: Likewise.
54155         * tests/unictype/test-pr_id_continue.c: Likewise.
54156         * tests/unictype/test-pr_id_start.c: Likewise.
54157         * tests/unictype/test-pr_ideographic.c: Likewise.
54158         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
54159         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
54160         * tests/unictype/test-pr_ignorable_control.c: Likewise.
54161         * tests/unictype/test-pr_iso_control.c: Likewise.
54162         * tests/unictype/test-pr_join_control.c: Likewise.
54163         * tests/unictype/test-pr_left_of_pair.c: Likewise.
54164         * tests/unictype/test-pr_line_separator.c: Likewise.
54165         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
54166         * tests/unictype/test-pr_lowercase.c: Likewise.
54167         * tests/unictype/test-pr_math.c: Likewise.
54168         * tests/unictype/test-pr_non_break.c: Likewise.
54169         * tests/unictype/test-pr_not_a_character.c: Likewise.
54170         * tests/unictype/test-pr_numeric.c: Likewise.
54171         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
54172         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
54173         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
54174         * tests/unictype/test-pr_other_id_continue.c: Likewise.
54175         * tests/unictype/test-pr_other_id_start.c: Likewise.
54176         * tests/unictype/test-pr_other_lowercase.c: Likewise.
54177         * tests/unictype/test-pr_other_math.c: Likewise.
54178         * tests/unictype/test-pr_other_uppercase.c: Likewise.
54179         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
54180         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
54181         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
54182         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
54183         * tests/unictype/test-pr_private_use.c: Likewise.
54184         * tests/unictype/test-pr_punctuation.c: Likewise.
54185         * tests/unictype/test-pr_quotation_mark.c: Likewise.
54186         * tests/unictype/test-pr_radical.c: Likewise.
54187         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
54188         * tests/unictype/test-pr_soft_dotted.c: Likewise.
54189         * tests/unictype/test-pr_space.c: Likewise.
54190         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
54191         * tests/unictype/test-pr_titlecase.c: Likewise.
54192         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
54193         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
54194         * tests/unictype/test-pr_uppercase.c: Likewise.
54195         * tests/unictype/test-pr_variation_selector.c: Likewise.
54196         * tests/unictype/test-pr_white_space.c: Likewise.
54197         * tests/unictype/test-pr_xid_continue.c: Likewise.
54198         * tests/unictype/test-pr_xid_start.c: Likewise.
54199         * tests/unictype/test-pr_zero_width.c: Likewise.
54200         * tests/unictype/test-sy_c_whitespace.c: Likewise.
54201         * tests/unictype/test-sy_java_whitespace.c: Likewise.
54202
54203 2007-11-12  Bruno Haible  <bruno@clisp.org>
54204
54205         Unicode character classification functions.
54206         * lib/unictype.h: New file.
54207         * modules/unictype/base: New file.
54208         * modules/unictype/category-L: New file.
54209         * modules/unictype/category-Lu: New file.
54210         * modules/unictype/category-Ll: New file.
54211         * modules/unictype/category-Lt: New file.
54212         * modules/unictype/category-Lm: New file.
54213         * modules/unictype/category-Lo: New file.
54214         * modules/unictype/category-M: New file.
54215         * modules/unictype/category-Mn: New file.
54216         * modules/unictype/category-Mc: New file.
54217         * modules/unictype/category-Me: New file.
54218         * modules/unictype/category-N: New file.
54219         * modules/unictype/category-Nd: New file.
54220         * modules/unictype/category-Nl: New file.
54221         * modules/unictype/category-No: New file.
54222         * modules/unictype/category-P: New file.
54223         * modules/unictype/category-Pc: New file.
54224         * modules/unictype/category-Pd: New file.
54225         * modules/unictype/category-Ps: New file.
54226         * modules/unictype/category-Pe: New file.
54227         * modules/unictype/category-Pi: New file.
54228         * modules/unictype/category-Pf: New file.
54229         * modules/unictype/category-Po: New file.
54230         * modules/unictype/category-S: New file.
54231         * modules/unictype/category-Sm: New file.
54232         * modules/unictype/category-Sc: New file.
54233         * modules/unictype/category-Sk: New file.
54234         * modules/unictype/category-So: New file.
54235         * modules/unictype/category-Z: New file.
54236         * modules/unictype/category-Zs: New file.
54237         * modules/unictype/category-Zl: New file.
54238         * modules/unictype/category-Zp: New file.
54239         * modules/unictype/category-C: New file.
54240         * modules/unictype/category-Cc: New file.
54241         * modules/unictype/category-Cf: New file.
54242         * modules/unictype/category-Cs: New file.
54243         * modules/unictype/category-Co: New file.
54244         * modules/unictype/category-Cn: New file.
54245         * modules/unictype/category-or: New file.
54246         * modules/unictype/category-of: New file.
54247         * modules/unictype/category-test: New file.
54248         * modules/unictype/category-test-withtable: New file.
54249         * modules/unictype/category-byname: New file.
54250         * modules/unictype/category-none: New file.
54251         * modules/unictype/category-and: New file.
54252         * modules/unictype/category-and-not: New file.
54253         * modules/unictype/category-name: New file.
54254         * modules/unictype/combining-class: New file.
54255         * modules/unictype/category-all: New file.
54256         * modules/unictype/bidicategory-all: New file.
54257         * modules/unictype/bidicategory-byname: New file.
54258         * modules/unictype/bidicategory-name: New file.
54259         * modules/unictype/bidicategory-of: New file.
54260         * modules/unictype/bidicategory-test: New file.
54261         * modules/unictype/decimal-digit: New file.
54262         * modules/unictype/digit: New file.
54263         * modules/unictype/numeric: New file.
54264         * modules/unictype/mirror: New file.
54265         * modules/unictype/property-white-space: New file.
54266         * modules/unictype/property-alphabetic: New file.
54267         * modules/unictype/property-other-alphabetic: New file.
54268         * modules/unictype/property-not-a-character: New file.
54269         * modules/unictype/property-default-ignorable-code-point: New file.
54270         * modules/unictype/property-other-default-ignorable-code-point: New
54271         file.
54272         * modules/unictype/property-deprecated: New file.
54273         * modules/unictype/property-logical-order-exception: New file.
54274         * modules/unictype/property-variation-selector: New file.
54275         * modules/unictype/property-private-use: New file.
54276         * modules/unictype/property-unassigned-code-value: New file.
54277         * modules/unictype/property-uppercase: New file.
54278         * modules/unictype/property-other-uppercase: New file.
54279         * modules/unictype/property-lowercase: New file.
54280         * modules/unictype/property-other-lowercase: New file.
54281         * modules/unictype/property-titlecase: New file.
54282         * modules/unictype/property-soft-dotted: New file.
54283         * modules/unictype/property-id-start: New file.
54284         * modules/unictype/property-other-id-start: New file.
54285         * modules/unictype/property-id-continue: New file.
54286         * modules/unictype/property-other-id-continue: New file.
54287         * modules/unictype/property-xid-start: New file.
54288         * modules/unictype/property-xid-continue: New file.
54289         * modules/unictype/property-pattern-white-space: New file.
54290         * modules/unictype/property-pattern-syntax: New file.
54291         * modules/unictype/property-join-control: New file.
54292         * modules/unictype/property-grapheme-base: New file.
54293         * modules/unictype/property-grapheme-extend: New file.
54294         * modules/unictype/property-other-grapheme-extend: New file.
54295         * modules/unictype/property-grapheme-link: New file.
54296         * modules/unictype/property-bidi-control: New file.
54297         * modules/unictype/property-bidi-left-to-right: New file.
54298         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
54299         * modules/unictype/property-bidi-arabic-right-to-left: New file.
54300         * modules/unictype/property-bidi-european-digit: New file.
54301         * modules/unictype/property-bidi-eur-num-separator: New file.
54302         * modules/unictype/property-bidi-eur-num-terminator: New file.
54303         * modules/unictype/property-bidi-arabic-digit: New file.
54304         * modules/unictype/property-bidi-common-separator: New file.
54305         * modules/unictype/property-bidi-block-separator: New file.
54306         * modules/unictype/property-bidi-segment-separator: New file.
54307         * modules/unictype/property-bidi-whitespace: New file.
54308         * modules/unictype/property-bidi-non-spacing-mark: New file.
54309         * modules/unictype/property-bidi-boundary-neutral: New file.
54310         * modules/unictype/property-bidi-pdf: New file.
54311         * modules/unictype/property-bidi-embedding-or-override: New file.
54312         * modules/unictype/property-bidi-other-neutral: New file.
54313         * modules/unictype/property-hex-digit: New file.
54314         * modules/unictype/property-ascii-hex-digit: New file.
54315         * modules/unictype/property-ideographic: New file.
54316         * modules/unictype/property-unified-ideograph: New file.
54317         * modules/unictype/property-radical: New file.
54318         * modules/unictype/property-ids-binary-operator: New file.
54319         * modules/unictype/property-ids-trinary-operator: New file.
54320         * modules/unictype/property-zero-width: New file.
54321         * modules/unictype/property-space: New file.
54322         * modules/unictype/property-non-break: New file.
54323         * modules/unictype/property-iso-control: New file.
54324         * modules/unictype/property-format-control: New file.
54325         * modules/unictype/property-dash: New file.
54326         * modules/unictype/property-hyphen: New file.
54327         * modules/unictype/property-punctuation: New file.
54328         * modules/unictype/property-line-separator: New file.
54329         * modules/unictype/property-paragraph-separator: New file.
54330         * modules/unictype/property-quotation-mark: New file.
54331         * modules/unictype/property-sentence-terminal: New file.
54332         * modules/unictype/property-terminal-punctuation: New file.
54333         * modules/unictype/property-currency-symbol: New file.
54334         * modules/unictype/property-math: New file.
54335         * modules/unictype/property-other-math: New file.
54336         * modules/unictype/property-paired-punctuation: New file.
54337         * modules/unictype/property-left-of-pair: New file.
54338         * modules/unictype/property-combining: New file.
54339         * modules/unictype/property-composite: New file.
54340         * modules/unictype/property-decimal-digit: New file.
54341         * modules/unictype/property-numeric: New file.
54342         * modules/unictype/property-diacritic: New file.
54343         * modules/unictype/property-extender: New file.
54344         * modules/unictype/property-ignorable-control: New file.
54345         * modules/unictype/property-test: New file.
54346         * modules/unictype/property-byname: New file.
54347         * modules/unictype/property-all: New file.
54348         * modules/unictype/scripts: New file.
54349         * modules/unictype/scripts-all: New file.
54350         * modules/unictype/block-of: New file.
54351         * modules/unictype/block-test: New file.
54352         * modules/unictype/block-list: New file.
54353         * modules/unictype/block-all: New file.
54354         * modules/unictype/syntax-c-whitespace: New file.
54355         * modules/unictype/syntax-java-whitespace: New file.
54356         * modules/unictype/syntax-c-ident: New file.
54357         * modules/unictype/syntax-java-ident: New file.
54358         * modules/unictype/ctype-alnum: New file.
54359         * modules/unictype/ctype-alpha: New file.
54360         * modules/unictype/ctype-cntrl: New file.
54361         * modules/unictype/ctype-digit: New file.
54362         * modules/unictype/ctype-graph: New file.
54363         * modules/unictype/ctype-lower: New file.
54364         * modules/unictype/ctype-print: New file.
54365         * modules/unictype/ctype-punct: New file.
54366         * modules/unictype/ctype-space: New file.
54367         * modules/unictype/ctype-upper: New file.
54368         * modules/unictype/ctype-xdigit: New file.
54369         * modules/unictype/ctype-blank: New file.
54370         * lib/unictype/bidi_byname.c: New file.
54371         * lib/unictype/bidi_name.c: New file.
54372         * lib/unictype/bidi_of.c: New file.
54373         * lib/unictype/bidi_test.c: New file.
54374         * lib/unictype/bitmap.h: New file.
54375         * lib/unictype/block_test.c: New file.
54376         * lib/unictype/blocks.c: New file.
54377         * lib/unictype/categ_C.c: New file.
54378         * lib/unictype/categ_Cc.c: New file.
54379         * lib/unictype/categ_Cf.c: New file.
54380         * lib/unictype/categ_Cn.c: New file.
54381         * lib/unictype/categ_Co.c: New file.
54382         * lib/unictype/categ_Cs.c: New file.
54383         * lib/unictype/categ_L.c: New file.
54384         * lib/unictype/categ_Ll.c: New file.
54385         * lib/unictype/categ_Lm.c: New file.
54386         * lib/unictype/categ_Lo.c: New file.
54387         * lib/unictype/categ_Lt.c: New file.
54388         * lib/unictype/categ_Lu.c: New file.
54389         * lib/unictype/categ_M.c: New file.
54390         * lib/unictype/categ_Mc.c: New file.
54391         * lib/unictype/categ_Me.c: New file.
54392         * lib/unictype/categ_Mn.c: New file.
54393         * lib/unictype/categ_N.c: New file.
54394         * lib/unictype/categ_Nd.c: New file.
54395         * lib/unictype/categ_Nl.c: New file.
54396         * lib/unictype/categ_No.c: New file.
54397         * lib/unictype/categ_P.c: New file.
54398         * lib/unictype/categ_Pc.c: New file.
54399         * lib/unictype/categ_Pd.c: New file.
54400         * lib/unictype/categ_Pe.c: New file.
54401         * lib/unictype/categ_Pf.c: New file.
54402         * lib/unictype/categ_Pi.c: New file.
54403         * lib/unictype/categ_Po.c: New file.
54404         * lib/unictype/categ_Ps.c: New file.
54405         * lib/unictype/categ_S.c: New file.
54406         * lib/unictype/categ_Sc.c: New file.
54407         * lib/unictype/categ_Sk.c: New file.
54408         * lib/unictype/categ_Sm.c: New file.
54409         * lib/unictype/categ_So.c: New file.
54410         * lib/unictype/categ_Z.c: New file.
54411         * lib/unictype/categ_Zl.c: New file.
54412         * lib/unictype/categ_Zp.c: New file.
54413         * lib/unictype/categ_Zs.c: New file.
54414         * lib/unictype/categ_and.c: New file.
54415         * lib/unictype/categ_and_not.c: New file.
54416         * lib/unictype/categ_byname.c: New file.
54417         * lib/unictype/categ_name.c: New file.
54418         * lib/unictype/categ_none.c: New file.
54419         * lib/unictype/categ_of.c: New file.
54420         * lib/unictype/categ_or.c: New file.
54421         * lib/unictype/categ_test.c: New file.
54422         * lib/unictype/combining.c: New file.
54423         * lib/unictype/ctype_alnum.c: New file.
54424         * lib/unictype/ctype_alpha.c: New file.
54425         * lib/unictype/ctype_blank.c: New file.
54426         * lib/unictype/ctype_cntrl.c: New file.
54427         * lib/unictype/ctype_digit.c: New file.
54428         * lib/unictype/ctype_graph.c: New file.
54429         * lib/unictype/ctype_lower.c: New file.
54430         * lib/unictype/ctype_print.c: New file.
54431         * lib/unictype/ctype_punct.c: New file.
54432         * lib/unictype/ctype_space.c: New file.
54433         * lib/unictype/ctype_upper.c: New file.
54434         * lib/unictype/ctype_xdigit.c: New file.
54435         * lib/unictype/decdigit.c: New file.
54436         * lib/unictype/digit.c: New file.
54437         * lib/unictype/identsyntaxmap.h: New file.
54438         * lib/unictype/mirror.c: New file.
54439         * lib/unictype/numeric.c: New file.
54440         * lib/unictype/pr_alphabetic.c: New file.
54441         * lib/unictype/pr_ascii_hex_digit.c: New file.
54442         * lib/unictype/pr_bidi_arabic_digit.c: New file.
54443         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
54444         * lib/unictype/pr_bidi_block_separator.c: New file.
54445         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
54446         * lib/unictype/pr_bidi_common_separator.c: New file.
54447         * lib/unictype/pr_bidi_control.c: New file.
54448         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
54449         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
54450         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
54451         * lib/unictype/pr_bidi_european_digit.c: New file.
54452         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
54453         * lib/unictype/pr_bidi_left_to_right.c: New file.
54454         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
54455         * lib/unictype/pr_bidi_other_neutral.c: New file.
54456         * lib/unictype/pr_bidi_pdf.c: New file.
54457         * lib/unictype/pr_bidi_segment_separator.c: New file.
54458         * lib/unictype/pr_bidi_whitespace.c: New file.
54459         * lib/unictype/pr_byname.c: New file.
54460         * lib/unictype/pr_byname.gperf: New file.
54461         * lib/unictype/pr_combining.c: New file.
54462         * lib/unictype/pr_composite.c: New file.
54463         * lib/unictype/pr_currency_symbol.c: New file.
54464         * lib/unictype/pr_dash.c: New file.
54465         * lib/unictype/pr_decimal_digit.c: New file.
54466         * lib/unictype/pr_default_ignorable_code_point.c: New file.
54467         * lib/unictype/pr_deprecated.c: New file.
54468         * lib/unictype/pr_diacritic.c: New file.
54469         * lib/unictype/pr_extender.c: New file.
54470         * lib/unictype/pr_format_control.c: New file.
54471         * lib/unictype/pr_grapheme_base.c: New file.
54472         * lib/unictype/pr_grapheme_extend.c: New file.
54473         * lib/unictype/pr_grapheme_link.c: New file.
54474         * lib/unictype/pr_hex_digit.c: New file.
54475         * lib/unictype/pr_hyphen.c: New file.
54476         * lib/unictype/pr_id_continue.c: New file.
54477         * lib/unictype/pr_id_start.c: New file.
54478         * lib/unictype/pr_ideographic.c: New file.
54479         * lib/unictype/pr_ids_binary_operator.c: New file.
54480         * lib/unictype/pr_ids_trinary_operator.c: New file.
54481         * lib/unictype/pr_ignorable_control.c: New file.
54482         * lib/unictype/pr_iso_control.c: New file.
54483         * lib/unictype/pr_join_control.c: New file.
54484         * lib/unictype/pr_left_of_pair.c: New file.
54485         * lib/unictype/pr_line_separator.c: New file.
54486         * lib/unictype/pr_logical_order_exception.c: New file.
54487         * lib/unictype/pr_lowercase.c: New file.
54488         * lib/unictype/pr_math.c: New file.
54489         * lib/unictype/pr_non_break.c: New file.
54490         * lib/unictype/pr_not_a_character.c: New file.
54491         * lib/unictype/pr_numeric.c: New file.
54492         * lib/unictype/pr_other_alphabetic.c: New file.
54493         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
54494         * lib/unictype/pr_other_grapheme_extend.c: New file.
54495         * lib/unictype/pr_other_id_continue.c: New file.
54496         * lib/unictype/pr_other_id_start.c: New file.
54497         * lib/unictype/pr_other_lowercase.c: New file.
54498         * lib/unictype/pr_other_math.c: New file.
54499         * lib/unictype/pr_other_uppercase.c: New file.
54500         * lib/unictype/pr_paired_punctuation.c: New file.
54501         * lib/unictype/pr_paragraph_separator.c: New file.
54502         * lib/unictype/pr_pattern_syntax.c: New file.
54503         * lib/unictype/pr_pattern_white_space.c: New file.
54504         * lib/unictype/pr_private_use.c: New file.
54505         * lib/unictype/pr_punctuation.c: New file.
54506         * lib/unictype/pr_quotation_mark.c: New file.
54507         * lib/unictype/pr_radical.c: New file.
54508         * lib/unictype/pr_sentence_terminal.c: New file.
54509         * lib/unictype/pr_soft_dotted.c: New file.
54510         * lib/unictype/pr_space.c: New file.
54511         * lib/unictype/pr_terminal_punctuation.c: New file.
54512         * lib/unictype/pr_test.c: New file.
54513         * lib/unictype/pr_titlecase.c: New file.
54514         * lib/unictype/pr_unassigned_code_value.c: New file.
54515         * lib/unictype/pr_unified_ideograph.c: New file.
54516         * lib/unictype/pr_uppercase.c: New file.
54517         * lib/unictype/pr_variation_selector.c: New file.
54518         * lib/unictype/pr_white_space.c: New file.
54519         * lib/unictype/pr_xid_continue.c: New file.
54520         * lib/unictype/pr_xid_start.c: New file.
54521         * lib/unictype/pr_zero_width.c: New file.
54522         * lib/unictype/scripts.c: New file.
54523         * lib/unictype/sy_c_ident.c: New file.
54524         * lib/unictype/sy_c_whitespace.c: New file.
54525         * lib/unictype/sy_java_ident.c: New file.
54526         * lib/unictype/sy_java_whitespace.c: New file.
54527
54528         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
54529         Unicode 5.0.0.
54530         * lib/unictype/blocks.h: Likewise.
54531         * lib/unictype/categ_C.h: Likewise.
54532         * lib/unictype/categ_Cc.h: Likewise.
54533         * lib/unictype/categ_Cf.h: Likewise.
54534         * lib/unictype/categ_Cn.h: Likewise.
54535         * lib/unictype/categ_Co.h: Likewise.
54536         * lib/unictype/categ_Cs.h: Likewise.
54537         * lib/unictype/categ_L.h: Likewise.
54538         * lib/unictype/categ_Ll.h: Likewise.
54539         * lib/unictype/categ_Lm.h: Likewise.
54540         * lib/unictype/categ_Lo.h: Likewise.
54541         * lib/unictype/categ_Lt.h: Likewise.
54542         * lib/unictype/categ_Lu.h: Likewise.
54543         * lib/unictype/categ_M.h: Likewise.
54544         * lib/unictype/categ_Mc.h: Likewise.
54545         * lib/unictype/categ_Me.h: Likewise.
54546         * lib/unictype/categ_Mn.h: Likewise.
54547         * lib/unictype/categ_N.h: Likewise.
54548         * lib/unictype/categ_Nd.h: Likewise.
54549         * lib/unictype/categ_Nl.h: Likewise.
54550         * lib/unictype/categ_No.h: Likewise.
54551         * lib/unictype/categ_P.h: Likewise.
54552         * lib/unictype/categ_Pc.h: Likewise.
54553         * lib/unictype/categ_Pd.h: Likewise.
54554         * lib/unictype/categ_Pe.h: Likewise.
54555         * lib/unictype/categ_Pf.h: Likewise.
54556         * lib/unictype/categ_Pi.h: Likewise.
54557         * lib/unictype/categ_Po.h: Likewise.
54558         * lib/unictype/categ_Ps.h: Likewise.
54559         * lib/unictype/categ_S.h: Likewise.
54560         * lib/unictype/categ_Sc.h: Likewise.
54561         * lib/unictype/categ_Sk.h: Likewise.
54562         * lib/unictype/categ_Sm.h: Likewise.
54563         * lib/unictype/categ_So.h: Likewise.
54564         * lib/unictype/categ_Z.h: Likewise.
54565         * lib/unictype/categ_Zl.h: Likewise.
54566         * lib/unictype/categ_Zp.h: Likewise.
54567         * lib/unictype/categ_Zs.h: Likewise.
54568         * lib/unictype/categ_of.h: Likewise.
54569         * lib/unictype/combining.h: Likewise.
54570         * lib/unictype/ctype_alnum.h: Likewise.
54571         * lib/unictype/ctype_alpha.h: Likewise.
54572         * lib/unictype/ctype_blank.h: Likewise.
54573         * lib/unictype/ctype_cntrl.h: Likewise.
54574         * lib/unictype/ctype_digit.h: Likewise.
54575         * lib/unictype/ctype_graph.h: Likewise.
54576         * lib/unictype/ctype_lower.h: Likewise.
54577         * lib/unictype/ctype_print.h: Likewise.
54578         * lib/unictype/ctype_punct.h: Likewise.
54579         * lib/unictype/ctype_space.h: Likewise.
54580         * lib/unictype/ctype_upper.h: Likewise.
54581         * lib/unictype/ctype_xdigit.h: Likewise.
54582         * lib/unictype/decdigit.h: Likewise.
54583         * lib/unictype/digit.h: Likewise.
54584         * lib/unictype/mirror.h: Likewise.
54585         * lib/unictype/numeric.h: Likewise.
54586         * lib/unictype/pr_alphabetic.h: Likewise.
54587         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
54588         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
54589         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
54590         * lib/unictype/pr_bidi_block_separator.h: Likewise.
54591         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
54592         * lib/unictype/pr_bidi_common_separator.h: Likewise.
54593         * lib/unictype/pr_bidi_control.h: Likewise.
54594         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
54595         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
54596         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
54597         * lib/unictype/pr_bidi_european_digit.h: Likewise.
54598         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
54599         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
54600         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
54601         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
54602         * lib/unictype/pr_bidi_pdf.h: Likewise.
54603         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
54604         * lib/unictype/pr_bidi_whitespace.h: Likewise.
54605         * lib/unictype/pr_combining.h: Likewise.
54606         * lib/unictype/pr_composite.h: Likewise.
54607         * lib/unictype/pr_currency_symbol.h: Likewise.
54608         * lib/unictype/pr_dash.h: Likewise.
54609         * lib/unictype/pr_decimal_digit.h: Likewise.
54610         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
54611         * lib/unictype/pr_deprecated.h: Likewise.
54612         * lib/unictype/pr_diacritic.h: Likewise.
54613         * lib/unictype/pr_extender.h: Likewise.
54614         * lib/unictype/pr_format_control.h: Likewise.
54615         * lib/unictype/pr_grapheme_base.h: Likewise.
54616         * lib/unictype/pr_grapheme_extend.h: Likewise.
54617         * lib/unictype/pr_grapheme_link.h: Likewise.
54618         * lib/unictype/pr_hex_digit.h: Likewise.
54619         * lib/unictype/pr_hyphen.h: Likewise.
54620         * lib/unictype/pr_id_continue.h: Likewise.
54621         * lib/unictype/pr_id_start.h: Likewise.
54622         * lib/unictype/pr_ideographic.h: Likewise.
54623         * lib/unictype/pr_ids_binary_operator.h: Likewise.
54624         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
54625         * lib/unictype/pr_ignorable_control.h: Likewise.
54626         * lib/unictype/pr_iso_control.h: Likewise.
54627         * lib/unictype/pr_join_control.h: Likewise.
54628         * lib/unictype/pr_left_of_pair.h: Likewise.
54629         * lib/unictype/pr_line_separator.h: Likewise.
54630         * lib/unictype/pr_logical_order_exception.h: Likewise.
54631         * lib/unictype/pr_lowercase.h: Likewise.
54632         * lib/unictype/pr_math.h: Likewise.
54633         * lib/unictype/pr_non_break.h: Likewise.
54634         * lib/unictype/pr_not_a_character.h: Likewise.
54635         * lib/unictype/pr_numeric.h: Likewise.
54636         * lib/unictype/pr_other_alphabetic.h: Likewise.
54637         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
54638         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
54639         * lib/unictype/pr_other_id_continue.h: Likewise.
54640         * lib/unictype/pr_other_id_start.h: Likewise.
54641         * lib/unictype/pr_other_lowercase.h: Likewise.
54642         * lib/unictype/pr_other_math.h: Likewise.
54643         * lib/unictype/pr_other_uppercase.h: Likewise.
54644         * lib/unictype/pr_paired_punctuation.h: Likewise.
54645         * lib/unictype/pr_paragraph_separator.h: Likewise.
54646         * lib/unictype/pr_pattern_syntax.h: Likewise.
54647         * lib/unictype/pr_pattern_white_space.h: Likewise.
54648         * lib/unictype/pr_private_use.h: Likewise.
54649         * lib/unictype/pr_punctuation.h: Likewise.
54650         * lib/unictype/pr_quotation_mark.h: Likewise.
54651         * lib/unictype/pr_radical.h: Likewise.
54652         * lib/unictype/pr_sentence_terminal.h: Likewise.
54653         * lib/unictype/pr_soft_dotted.h: Likewise.
54654         * lib/unictype/pr_space.h: Likewise.
54655         * lib/unictype/pr_terminal_punctuation.h: Likewise.
54656         * lib/unictype/pr_titlecase.h: Likewise.
54657         * lib/unictype/pr_unassigned_code_value.h: Likewise.
54658         * lib/unictype/pr_unified_ideograph.h: Likewise.
54659         * lib/unictype/pr_uppercase.h: Likewise.
54660         * lib/unictype/pr_variation_selector.h: Likewise.
54661         * lib/unictype/pr_white_space.h: Likewise.
54662         * lib/unictype/pr_xid_continue.h: Likewise.
54663         * lib/unictype/pr_xid_start.h: Likewise.
54664         * lib/unictype/pr_zero_width.h: Likewise.
54665         * lib/unictype/scripts.h: Likewise.
54666         * lib/unictype/scripts_byname.gperf: Likewise.
54667         * lib/unictype/sy_c_ident.h: Likewise.
54668         * lib/unictype/sy_c_whitespace.h: Likewise.
54669         * lib/unictype/sy_java_ident.h: Likewise.
54670         * lib/unictype/sy_java_whitespace.h: Likewise.
54671
54672         * lib/unictype/Makefile: New file.
54673         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
54674         glibc.
54675         * lib/unictype/3level.h: New file, copied from glibc.
54676         * lib/unictype/3levelbit.h: New file.
54677
54678 2007-11-11  Bruno Haible  <bruno@clisp.org>
54679
54680         * modules/gperf: New file.
54681         * modules/iconv_open (Depends-on): Add it.
54682         (Makefile.am): Remove the GPERF definition.
54683
54684 2007-11-11  Bruno Haible  <bruno@clisp.org>
54685
54686         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
54687         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
54688
54689 2007-11-11  Bruno Haible  <bruno@clisp.org>
54690
54691         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
54692         (usage): Remove function.
54693
54694 2007-11-11  Bruno Haible  <bruno@clisp.org>
54695
54696         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
54697         gl_FUNC_CEILF_LIBS.
54698         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
54699         gl_FUNC_CEIL_LIBS.
54700         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
54701         gl_FUNC_CEILL_LIBS.
54702         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
54703         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
54704         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
54705
54706 2007-11-11  Bruno Haible  <bruno@clisp.org>
54707
54708         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
54709         roundf were declared but do not exist on functions.
54710         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
54711         roundl were declared but do not exist on functions.
54712         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
54713         HAVE_FLOORL_AND_CEILL, respectively.
54714         Needed for Sun C on Solaris 10.
54715
54716 2007-11-11  Bruno Haible  <bruno@clisp.org>
54717
54718         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
54719         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
54720         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
54721         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
54722         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
54723         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
54724         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
54725         HAVE_DECL_ROUNDF.
54726         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
54727         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
54728         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
54729         of HAVE_DECL_ROUND*.
54730         * modules/math (Makefile.am): Update.
54731
54732 2007-11-10  Bruno Haible  <bruno@clisp.org>
54733
54734         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
54735         ptrdiff_t as m4/intl.m4.
54736
54737 2007-11-10  Jim Meyering  <meyering@redhat.com>
54738
54739         Avoid link failure for the argmatch test.
54740         * tests/test-argmatch.c (usage): Define function to avoid a link
54741         failure: argmatch_die requires a usage function.
54742
54743 2007-11-09  Bruno Haible  <bruno@clisp.org>
54744
54745         * doc/functions/snprintf.texi: Mention BeOS deficiency.
54746         * doc/functions/vsnprintf.texi: Likewise.
54747         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
54748         with a size argument < 2.
54749
54750 2007-11-09  Bruno Haible  <bruno@clisp.org>
54751
54752         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
54753         buffer. Fixes an inefficiency introduced on 2007-11-03.
54754
54755 2007-11-09  Bruno Haible  <bruno@clisp.org>
54756
54757         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
54758         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
54759
54760 2007-11-08  Jim Meyering  <meyering@redhat.com>
54761
54762         Change cache variable name prefix "jm_" to "gl_" everywhere.
54763         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
54764         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
54765         * m4/uptime.m4: s/gl_/jm_/
54766
54767 2007-11-07  Bruno Haible  <bruno@clisp.org>
54768
54769         Update to GNU gettext 0.17.
54770         * m4/intl.m4: Update to GNU gettext 0.17.
54771         * m4/po.m4: Likewise.
54772         * modules/gettext (Files): Remove m4/ulonglong.m4.
54773         (configure.ac): Require gettext infrastructure from version 0.17.
54774
54775 2007-11-06  Bruno Haible  <bruno@clisp.org>
54776
54777         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
54778         symbolic values are not defined in a public header.
54779         * lib/freadable.c (freadable) [QNX]: Likewise.
54780         * lib/freadahead.c (freadahead) [QNX]: Likewise.
54781         * lib/freading.c (freading) [QNX]: Likewise.
54782         * lib/fseterr.c (fseterr) [QNX]: Likewise.
54783         * lib/fwritable.c (fwritable) [QNX]: Likewise.
54784         * lib/fwriting.c (fwriting) [QNX]: Likewise.
54785         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
54786         Reported by Alain Magloire.
54787
54788         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
54789
54790 2007-11-05  Bruno Haible  <bruno@clisp.org>
54791
54792         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
54793         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
54794         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
54795         Reported by Eric Blake.
54796
54797 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54798             Bruno Haible  <bruno@clisp.org>
54799
54800         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
54801         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
54802         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
54803         (malloc): Undefine also before including <stdlib.h>.
54804         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
54805         Needed on OSF/1 4.0.
54806
54807 2007-11-05  Jim Meyering  <meyering@redhat.com>
54808
54809         git-version-gen: sync from coreutils.
54810         * build-aux/git-version-gen: Add comments.
54811         Change the first '-' to '.' in the snapshot version string,
54812         e.g., 6.9-377-08144 -> 6.9.377-08144
54813         Remove first parameter.
54814         Don't declare a version "-dirty" merely because a time
54815         stamp has changed.
54816
54817 2007-11-04  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/lock.h: Protect all macro definitions containing an 'if'
54820         statement through a "do { ... } while (0)".
54821         * lib/tls.h: Likewise.
54822
54823 2007-11-04  Bruno Haible  <bruno@clisp.org>
54824
54825         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
54826
54827 2007-11-04  Bruno Haible  <bruno@clisp.org>
54828
54829         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
54830         * modules/fprintf-posix (Depends-on): Add nocrash.
54831         * modules/snprintf-posix (Depends-on): Likewise.
54832         * modules/sprintf-posix (Depends-on): Likewise.
54833         * modules/vasnprintf-posix (Depends-on): Likewise.
54834         * modules/vasprintf-posix (Depends-on): Likewise.
54835         * modules/vfprintf-posix (Depends-on): Likewise.
54836         * modules/vsnprintf-posix (Depends-on): Likewise.
54837         * modules/vsprintf-posix (Depends-on): Likewise.
54838         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54839         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54840         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54841         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54842         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54843         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54844         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54845
54846 2007-11-04  Bruno Haible  <bruno@clisp.org>
54847
54848         * modules/nocrash: New file.
54849         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
54850         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
54851
54852 2007-11-04  Bruno Haible  <bruno@clisp.org>
54853
54854         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
54855         precision handling.
54856         * tests/test-vasprintf-posix.c (test_function): Likewise.
54857         * tests/test-snprintf-posix.h (test_function): Likewise.
54858         * tests/test-sprintf-posix.h (test_function): Likewise.
54859
54860         Fix *printf behaviour for large precisions on mingw and BeOS.
54861         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
54862         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
54863         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
54864         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54865         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54866         gl_PRINTF_PRECISION and test its result. Invoke
54867         gl_PREREQ_VASNPRINTF_PRECISION.
54868         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54869         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54870         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54871         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54872         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54873         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54874         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54875         * doc/functions/fprintf.texi: Update.
54876         * doc/functions/printf.texi: Update.
54877         * doc/functions/snprintf.texi: Update.
54878         * doc/functions/sprintf.texi: Update.
54879         * doc/functions/vfprintf.texi: Update.
54880         * doc/functions/vprintf.texi: Update.
54881         * doc/functions/vsnprintf.texi: Update.
54882         * doc/functions/vsprintf.texi: Update.
54883
54884 2007-11-04  Bruno Haible  <bruno@clisp.org>
54885
54886         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
54887
54888 2007-11-04  Bruno Haible  <bruno@clisp.org>
54889
54890         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
54891         Reported by Sylvain Beucler <beuc@gnu.org>.
54892
54893 2007-11-03  Bruno Haible  <bruno@clisp.org>
54894
54895         * tests/test-fprintf-posix2.sh: New file.
54896         * tests/test-fprintf-posix2.c: New file.
54897         * modules/fprintf-posix-tests (Files): Add them.
54898         (TESTS): Add test-fprintf-posix2.sh.
54899         (configure.ac): Check for getrlimit and setrlimit.
54900         (check_PROGRAMS): Add test-fprintf-posix2.
54901
54902         * tests/test-printf-posix2.sh: New file.
54903         * tests/test-printf-posix2.c: New file.
54904         * modules/printf-posix-tests (Files): Add them.
54905         (TESTS): Add test-printf-posix2.sh.
54906         (configure.ac): Check for getrlimit and setrlimit.
54907         (check_PROGRAMS): Add test-printf-posix2.
54908
54909         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
54910         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
54911         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
54912         (decode_double): New function, copied from decode_long_double.
54913         (scale10_round_decimal_decoded): New function, extracted from
54914         scale10_round_decimal_long_double.
54915         (scale10_round_decimal_long_double): Use it.
54916         (scale10_round_decimal_double): New function.
54917         (floorlog10): New function.
54918         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
54919         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
54920         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54921         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54922         gl_PRINTF_ENOMEM and test its result. Invoke
54923         gl_PREREQ_VASNPRINTF_ENOMEM.
54924         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54925         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54926         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54927         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54928         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54929         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54930         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54931         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
54932         * modules/snprintf-posix (Depends-on): Likewise.
54933         * modules/sprintf-posix (Depends-on): Likewise.
54934         * modules/vasnprintf-posix (Depends-on): Likewise.
54935         * modules/vasprintf-posix (Depends-on): Likewise.
54936         * modules/vfprintf-posix (Depends-on): Likewise.
54937         * modules/vsnprintf-posix (Depends-on): Likewise.
54938         * modules/vsprintf-posix (Depends-on): Likewise.
54939         * doc/functions/fprintf.texi: Update.
54940         * doc/functions/printf.texi: Update.
54941         * doc/functions/snprintf.texi: Update.
54942         * doc/functions/sprintf.texi: Update.
54943         * doc/functions/vfprintf.texi: Update.
54944         * doc/functions/vprintf.texi: Update.
54945         * doc/functions/vsnprintf.texi: Update.
54946         * doc/functions/vsprintf.texi: Update.
54947
54948 2007-11-03  Bruno Haible  <bruno@clisp.org>
54949
54950         * modules/frexp-nolibm-tests: New file.
54951
54952         * modules/frexp-nolibm: New file.
54953         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
54954
54955 2007-11-03  Bruno Haible  <bruno@clisp.org>
54956
54957         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
54958         value is C99 compliant.
54959         Needed for OSF/1 5.1.
54960
54961 2007-11-03  Bruno Haible  <bruno@clisp.org>
54962
54963         Fix out-of-memory handling of vasnprintf.
54964         * lib/printf-parse.c: Include <errno.h>.
54965         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
54966         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
54967         is already set.
54968
54969 2007-11-02  Eric Blake  <ebb9@byu.net>
54970
54971         Fix tests on cygwin.
54972         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
54973
54974 2007-11-01  Bruno Haible  <bruno@clisp.org>
54975
54976         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
54977         warning.
54978         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
54979         needed for POSIX compatibility.
54980
54981 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54982
54983         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
54984         for compatibility with GNU.
54985
54986 2007-11-01  Bruno Haible  <bruno@clisp.org>
54987
54988         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
54989         (putenv): Renamed from rpl_putenv. Change argument type from
54990         'const char *' to 'char *'.
54991         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
54992         of defining putenv in config.h, just set REPLACE_PUTENV.
54993         * modules/putenv (Depends-on): Add stdlib.
54994         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54995         (Include): Use <stdlib.h>.
54996         * lib/stdlib.in.h (putenv): New declaration.
54997         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
54998         REPLACE_PUTENV.
54999         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
55000         REPLACE_PUTENV.
55001         Needed for MacOS X 10.5.0.
55002         Reported by Peter O'Gorman <peter@pogma.com>.
55003
55004 2007-11-01  Jim Meyering  <meyering@redhat.com>
55005
55006         Treat an empty date string exactly like "0".
55007         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
55008         if the remaining date string (to be parsed) is empty, use "0".
55009         Reported by Mischa Molhoek and discussed in this thread:
55010         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
55011
55012 2007-10-31  Bruno Haible  <bruno@clisp.org>
55013
55014         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
55015         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
55016         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
55017         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
55018         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
55019         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
55020
55021 2007-10-31  Bruno Haible  <bruno@clisp.org>
55022
55023         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
55024         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
55025         (AC_TYPE_LONG_LONG_INT): Use it.
55026         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
55027         it as well.
55028         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
55029         to m4/longlong.m4.
55030         * modules/stdint (Files): Remove m4/ulonglong.m4.
55031         * modules/strtoull (Files): Use m4/longlong.m4 instead of
55032         m4/ulonglong.m4.
55033         * modules/strtoumax (Files): Likewise.
55034
55035 2007-10-30  Bruno Haible  <bruno@clisp.org>
55036
55037         * modules/xvasprintf-posix: New file.
55038         Suggested by Eric Blake.
55039
55040 2007-10-30  Bruno Haible  <bruno@clisp.org>
55041
55042         * modules/xprintf-posix-tests: New file.
55043         * tests/test-xprintf-posix.sh: New file.
55044         * tests/test-xprintf-posix.c: New file.
55045         * tests/test-xfprintf-posix.c: New file.
55046
55047         * modules/xprintf-posix: New file.
55048
55049 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55050
55051         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
55052         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
55053         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
55054
55055 2007-10-29  Bruno Haible  <bruno@clisp.org>
55056
55057         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
55058         contain the special marker '_cv_'.
55059         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
55060         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
55061         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
55062         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
55063         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
55064         Reported by Ralf Wildenhues.
55065
55066 2007-10-29  Bruno Haible  <bruno@clisp.org>
55067
55068         * gnulib-tool (func_import): When --lgpl is not specified, set
55069         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
55070         GPLv3.
55071         Reported by Simon Josefsson.
55072
55073 2007-10-28  Bruno Haible  <bruno@clisp.org>
55074
55075         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
55076         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
55077         HAVE_DECL_ISFINITE.
55078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
55079         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
55080         HAVE_DECL_ISFINITE.
55081
55082 2007-10-28  Bruno Haible  <bruno@clisp.org>
55083
55084         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
55085         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
55086
55087 2007-10-28  Bruno Haible  <bruno@clisp.org>
55088
55089         Fix link errors with Sun C 5.0 on Solaris 10.
55090         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
55091         function is declared but not present in the compiler's libm.
55092         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
55093         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
55094         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
55095         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
55096         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
55097         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
55098         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
55099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
55100         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
55101         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
55102         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
55103         HAVE_DECL_FLOORL.
55104
55105 2007-10-28  Bruno Haible  <bruno@clisp.org>
55106
55107         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
55108         gl_FUNC_FLOORL. Cache the result.
55109         (gl_FUNC_FLOORL): Use it.
55110         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
55111         gl_FUNC_CEILL. Cache the result.
55112         (gl_FUNC_CEILL): Use it.
55113
55114         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
55115         gl_FUNC_FLOOR. Cache the result.
55116         (gl_FUNC_FLOOR): Use it.
55117         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
55118         gl_FUNC_CEIL. Cache the result.
55119         (gl_FUNC_CEIL): Use it.
55120
55121         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
55122         gl_FUNC_FLOORF. Cache the result.
55123         (gl_FUNC_FLOORF): Use it.
55124         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
55125         gl_FUNC_CEILF. Cache the result.
55126         (gl_FUNC_CEILF): Use it.
55127
55128 2007-10-28  Bruno Haible  <bruno@clisp.org>
55129
55130         * gnulib-tool: Allow specifying the LGPL version number through
55131         --lgpl=2 or --lgpl=3.
55132         (func_usage): Document --lgpl with argument.
55133         Handle --lgpl=... arguments.
55134         (func_import): Recognize also gl_LGPL calls with an argument. When
55135         --lgpl=2 is used and the module's license is just LGPL, report an
55136         error. Set sed_transform_lib_file according to the lgpl variable. In
55137         the generated files, use --lgpl or gl_LGPL invocations with argument,
55138         if necessary.
55139         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
55140         an LGPv2+ license.
55141         * doc/gnulib-tool.texi (Modified imports): Update explanation of
55142         gl_LGPL macro.
55143
55144 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55145             Bruno Haible  <bruno@clisp.org>
55146
55147         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
55148         (u16_uctomb_aux): Likewise.
55149         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
55150         !HAVE_INLINE.
55151         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
55152
55153 2007-10-28  Bruno Haible  <bruno@clisp.org>
55154
55155         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
55156         Invoke AM_GETTEXT_OPTION if it exists.
55157         * modules/vasprintf: Likewise.
55158         * modules/verror: Likewise.
55159         * modules/xprintf: Likewise.
55160         * modules/xvasprintf: Likewise.
55161
55162 2007-10-27  Ben Pfaff  <blp@gnu.org>
55163
55164         * lib/math.in.h: Define isfinite macro and prototypes for
55165         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
55166         implementations.
55167         * m4/math_h.m4: New substitutions for isfinite module.
55168         * lib/isfinite.c: New file.
55169         * m4/isfinite.m4: New file.
55170         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
55171         * modules/isfinite: New file.
55172         * modules/isfinite-tests: New file.
55173         * tests/tests-isfinite.c: New file.
55174         * doc/functions/isfinite.texi: Mention isfinite module.
55175         * MODULES.html.sh: Mention new module.
55176
55177 2007-10-27  Ben Pfaff  <blp@gnu.org>
55178
55179         Ralf Wildenhues reported that Tru64 4.0D declares the round
55180         functions but does not have definitions.
55181         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
55182         cannot be found in any library, set the output variable to
55183         "missing" instead of "".
55184         * m4/round.m4: Also use our substitute if we cannot find round in
55185         any library, even if it is declared.
55186         * m4/roundf.m4: Likewise for roundf.
55187         * m4/roundl.m4: Likewise for roundl.
55188         * lib/math.in.h: Undefine roundf, round, roundl before defining
55189         their replacements, to allow for hypothetical systems where these
55190         may be defined as macros but not available in libraries.
55191
55192 2007-10-27  Bruno Haible  <bruno@clisp.org>
55193
55194         * doc/gnulib.texi: Invoke @firstparagraphindent.
55195         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
55196         changes in gnulib.
55197         (Source changes): New section.
55198
55199 2007-10-26  Bruno Haible  <bruno@clisp.org>
55200
55201         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
55202         borrowed from autoconf.
55203
55204 2007-10-26  Bruno Haible  <bruno@clisp.org>
55205
55206         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
55207         strerror returned the empty string. Needed on HP-UX 11.00.
55208
55209 2007-10-24  Micah Cowan  <micah@cowan.name>
55210
55211         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
55212         * build-aux/bootstrap: Remove support for now-unnecessary option,
55213         --cvs-user, and envvars CVS_USER, CVS_RSH.
55214
55215 2007-10-24  Jim Meyering  <meyering@redhat.com>
55216
55217         Avoid diagnostics from sha1sum when there is no cached checksum.
55218         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
55219         if the po.s1 file hasn't been created yet.
55220
55221         * build-aux/bootstrap: Sync from coreutils:
55222         2007-10-24  Jim Meyering  <meyering@redhat.com>
55223         Get gnulib from the git repository, not from an obsolete cvs one.
55224         * build-aux/bootstrap: Suggestion from Micah Cowan.
55225         2007-10-04  Jim Meyering  <jim@meyering.net>
55226         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
55227         (update_po_files): Work also when there are no .po files in po/.
55228
55229 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55230
55231         * README: Append ".git" to git and cg examples.
55232         Problem reported by Benoit Sigoure.
55233
55234 2007-10-23  Micah Cowan  <micah@cowan.name>
55235
55236         * users.txt: Add wget.
55237
55238 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55239
55240         Fix linking of some unistdio tests on FreeBSD.
55241         * modules/unistdio/u16-vsnprintf-tests
55242         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
55243         * modules/unistdio/u16-vsprintf-tests
55244         (test_u16_vsnprintf1_LDADD): Likewise.
55245         * modules/unistdio/u32-vsnprintf-tests
55246         (test_u32_vsnprintf1_LDADD): Likewise.
55247         * modules/unistdio/u32-vsprintf-tests
55248         (test_u32_vsprintf1_LDADD): Likewise.
55249         * modules/unistdio/u8-vsnprintf-tests
55250         (test_u8_vsnprintf1_LDADD): Likewise.
55251         * modules/unistdio/u8-vsprintf-tests
55252         (test_u8_vsprintf1_LDADD): Likewise.
55253         * modules/unistdio/ulc-vsnprintf-tests
55254         (test_ulc_vsnprintf1_LDADD): Likewise.
55255         * modules/unistdio/ulc-vsprintf-tests
55256         (test_ulc_vsprintf1_LDADD): Likewise.
55257
55258         Fix linking of some uniconv tests on FreeBSD.
55259         * modules/uniconv/u16-conv-from-enc-tests
55260         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
55261         * modules/uniconv/u16-conv-to-enc-tests
55262         (test_u16_conv_to_enc_LDADD): Likewise.
55263         * modules/uniconv/u16-strconv-from-enc-tests
55264         (test_u16_strconv_from_enc_LDADD): Likewise.
55265         * modules/uniconv/u16-strconv-to-enc-tests
55266         (test_u16_strconv_to_enc_LDADD): Likewise.
55267         * modules/uniconv/u32-conv-from-enc-tests
55268         (test_u32_conv_from_enc_LDADD): Likewise.
55269         * modules/uniconv/u32-conv-to-enc-tests
55270         (test_u32_conv_to_enc_LDADD): Likewise.
55271         * modules/uniconv/u32-strconv-from-enc-tests
55272         (test_u32_strconv_from_enc_LDADD): Likewise.
55273         * modules/uniconv/u32-strconv-to-enc-tests
55274         (test_u32_strconv_to_enc_LDADD): Likewise.
55275         * modules/uniconv/u8-conv-from-enc-tests
55276         (test_u8_conv_from_enc_LDADD): Likewise.
55277         * modules/uniconv/u8-conv-to-enc-tests
55278         (test_u8_conv_to_enc_LDADD): Likewise.
55279         * modules/uniconv/u8-strconv-from-enc-tests
55280         (test_u8_strconv_from_enc_LDADD): Likewise.
55281         * modules/uniconv/u8-strconv-to-enc-tests
55282         (test_u8_strconv_to_enc_LDADD): Likewise.
55283
55284 2007-10-22  Bruno Haible  <bruno@clisp.org>
55285
55286         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
55287         size.
55288
55289 2007-10-22  Eric Blake  <ebb9@byu.net>
55290
55291         Tweak x*printf documentation.
55292         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
55293         variable name and comments.
55294         Suggested by Bruno Haible.
55295
55296 2007-10-22  Bruno Haible  <bruno@clisp.org>
55297
55298         * lib/acl.c (copy_acl): Fix file name in comment.
55299
55300 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55301
55302         Fix Tru64 problem with stdbool.h.
55303         * lib/stdbool.in.h (false, true):
55304         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
55305         Don't declare as an enum in this situation; it runs afoul of Tru64.
55306         Problem reported by Steven M. Schweda in
55307         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
55308
55309 2007-10-22  Eric Blake  <ebb9@byu.net>
55310
55311         Also wrap vf?printf.
55312         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
55313         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
55314         (xvprintf, xvfprintf): New functions.
55315
55316 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55317
55318         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
55319         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
55320
55321         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
55322         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
55323
55324 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55325
55326         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
55327         by Bruno Haible.
55328
55329 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55330
55331         * lib/getloadavg.c
55332         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
55333         Undef `sys' after including sys/table.h, for Tru64 4.0D.
55334
55335         * tests/test-i-ring.c: Work for C89.
55336
55337 2007-10-22  Bruno Haible  <bruno@clisp.org>
55338
55339         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
55340         -1u, in preprocessor expression, so that we don't test for the bug
55341         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
55342         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
55343
55344 2007-10-22  Eric Blake  <ebb9@byu.net>
55345
55346         * tests/test-yesno.sh: Silence stderr during test.
55347
55348 2007-10-22  Simon Josefsson  <simon@josefsson.org>
55349
55350         * modules/crypto/gc-camellia: New file.
55351
55352         * m4/gc-camellia.m4: New file.
55353
55354         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
55355
55356         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
55357
55358 2007-10-22  Simon Josefsson  <simon@josefsson.org>
55359
55360         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
55361         --help to stdout.  Reported by sms@antinode.org (Steven
55362         M. Schweda).
55363
55364 2007-10-22  Simon Josefsson  <simon@josefsson.org>
55365
55366         * users.txt: Fix link to libksba.
55367
55368 2007-10-21  Ben Pfaff  <blp@gnu.org>
55369
55370         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
55371         round.c roundf implementation that depends on floorf and ceilf to
55372         be tested unconditionally.
55373
55374 2007-10-21  Ben Pfaff  <blp@gnu.org>
55375
55376         * m4/check-libm-func.m4: Removed.
55377         * m4/check-math-lib.m4: New file.
55378         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
55379         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
55380         definition and lack of AC_LIBOBJ([roundf]).
55381         * m4/roundl.m4: Ditto, and similarly for roundl.
55382         * modules/round: Reference new m4 file.
55383         * modules/roundf: Ditto.
55384         * modules/roundl: Ditto.
55385         * tests/test-round2.c (main): Use ROUND instead of round.
55386         Bug report from Bruno Haible.
55387
55388 2007-10-21  Bruno Haible  <bruno@clisp.org>
55389
55390         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
55391         context.
55392
55393 2007-10-21  Bruno Haible  <bruno@clisp.org>
55394
55395         * tests/test-wcwidth.c (main): Allow negative result for some control
55396         characters.
55397
55398         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
55399         Needed on OSF/1 5.1.
55400
55401 2007-10-21  Bruno Haible  <bruno@clisp.org>
55402
55403         * tests/test-floorf1.c: Include isnanf.h.
55404         (main): Use isnanf() instead of isnan().
55405         * tests/test-ceilf1.c: Include isnanf.h.
55406         (main): Use isnanf() instead of isnan().
55407         * tests/test-truncf1.c: Include isnanf.h.
55408         (main): Use isnanf() instead of isnan().
55409         * tests/test-roundf1.c: Include isnanf.h.
55410         (main): Use isnanf() instead of isnan().
55411
55412 2007-10-21  Eric Blake  <ebb9@byu.net>
55413
55414         * users.txt: Update URL for m4.
55415
55416 2007-10-21  Bruno Haible  <bruno@clisp.org>
55417
55418         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
55419
55420 2007-10-21  Bruno Haible  <bruno@clisp.org>
55421
55422         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
55423         Git's management files if the CVS files are not present.
55424
55425 2007-10-20  Bruno Haible  <bruno@clisp.org>
55426
55427         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
55428         gcc-3.4.x.
55429
55430 2007-10-20  Ben Pfaff  <blp@gnu.org>
55431
55432         * lib/math.in.h: Declare round, roundf, roundl if we are providing
55433         implementations.
55434         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
55435         * lib/round.c: New file.
55436         * lib/roundf.c: New file.
55437         * lib/roundl.c: New file.
55438         * m4/round.m4: New file.
55439         * m4/roundf.m4: New file.
55440         * m4/roundl.m4: New file.
55441         * m4/check-libm-func-m4: New file.
55442         * modules/math: Replace round, roundf, roundl related @VARS@ in
55443         math.in.h.
55444         * modules/round: New file.
55445         * modules/round-tests: New file.
55446         * modules/roundf: New file.
55447         * modules/roundf-tests: New file.
55448         * modules/roundl: New file.
55449         * modules/roundl-tests: New file.
55450         * tests/test-round1.c: New file.
55451         * tests/test-round2.c: New file.
55452         * tests/test-roundf1.c: New file.
55453         * tests/test-roundf2.c: New file.
55454         * tests/test-roundl.c: New file.
55455         * doc/functions/round.texi: Mention round module.
55456         * doc/functions/roundf.texi: Mention roundf module.
55457         * doc/functions/roundl.texi: Mention roundl module.
55458         * MODULES.html.sh: Mention new modules.
55459         Thanks to Bruno Haible for suggestions.
55460
55461 2007-10-20  Jim Meyering  <meyering@redhat.com>
55462
55463         * lib/xprintf.c: Include <config.h> unconditionally.
55464
55465         Change xprintf's license to GPL.
55466         * modules/xprintf (License): s/LGPL/GPL/, since this module
55467         depends on modules (exit and exitfail) which are GPL.
55468         Suggestion from Bruno Haible.
55469
55470         xprintf fixes.
55471         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
55472         Use a clearer diagnostic.
55473         Patch from Bruno Haible.
55474
55475 2007-10-20  Bruno Haible  <bruno@clisp.org>
55476
55477         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
55478         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
55479         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55480
55481 2007-10-20  Bruno Haible  <bruno@clisp.org>
55482
55483         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
55484         precision in the comparison result > x - 1 or similar.
55485         * tests/test-ceilf2.c (correct_result_p): Likewise.
55486         * tests/test-truncf2.c (correct_result_p): Likewise.
55487         * tests/test-trunc2.c (correct_result_p): Likewise.
55488         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55489
55490 2007-10-20  Bruno Haible  <bruno@clisp.org>
55491
55492         * modules/ceil: New file.
55493         * m4/ceil.m4: New file.
55494         * doc/functions/ceil.texi: Mention the 'ceil' module.
55495
55496 2007-10-20  Bruno Haible  <bruno@clisp.org>
55497
55498         * modules/floor: New file.
55499         * m4/floor.m4: New file.
55500         * doc/functions/floor.texi: Mention the 'floor' module.
55501
55502 2007-10-20  Bruno Haible  <bruno@clisp.org>
55503
55504         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
55505         of %a.
55506         * modules/floorf-tests (Depends-on): Likewise.
55507         * modules/truncf-tests (Depends-on): Likewise.
55508         * modules/trunc-tests (Depends-on): Likewise.
55509         Reported by Ben Pfaff.
55510
55511 2007-10-19  Jim Meyering  <meyering@redhat.com>
55512
55513         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
55514         Don't bother testing specific errno values.  Just test ferror.
55515
55516         New module: xprintf
55517         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
55518
55519 2007-10-19  Bruno Haible  <bruno@clisp.org>
55520
55521         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
55522         syntax.
55523         * modules/javaexec (Makefile.am): Likewise.
55524         * modules/relocatable-prog (Makefile.am): Likewise.
55525         Suggested by Jim Meyering.
55526
55527 2007-10-18  Bruno Haible  <bruno@clisp.org>
55528
55529         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
55530         Reported by Jim Meyering.
55531
55532 2007-10-18  Eric Blake  <ebb9@byu.net>
55533
55534         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
55535
55536 2007-10-18  Bruno Haible  <bruno@clisp.org>
55537
55538         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
55539         the format string into writable memory. Needed in Fortify conditions.
55540
55541 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
55542             Bruno Haible  <bruno@clisp.org>
55543
55544         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
55545         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
55546         * modules/trim (Depends-on): Add mbchar.
55547         (configure.ac): Add gl_FUNC_MBRTOWC.
55548         (Makefile.am): Augment lib_SOURCES.
55549
55550 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55551
55552         Modify glob.c to use fstatat and dirfd, to simplify it.
55553         Suggested by Eric Blake.
55554         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
55555         Don't include <stdbool.h>; not used.
55556         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
55557         (link_exists_p): Simplify implementation, since we can now assume
55558         dirfd and fstatat.
55559         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
55560
55561 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55562
55563         * gnulib-tool (func_get_dependencies): Fix sed script to
55564         match only tests.
55565
55566 2007-10-17  Bruno Haible  <bruno@clisp.org>
55567
55568         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
55569         allow locale names without encoding suffix.
55570         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55571         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55572
55573 2007-10-16  Bruno Haible  <bruno@clisp.org>
55574
55575         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
55576         * lib/getgroups.c (getgroups): Likewise.
55577         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
55578
55579 2007-10-16  Bruno Haible  <bruno@clisp.org>
55580
55581         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
55582         * modules/malloc-posix (License): Likewise.
55583         * modules/realloc-posix (License): Likewise.
55584         * modules/calloc-posix (License): Likewise.
55585         * modules/intprops (License): Change from GPL to LGPL, with
55586         Paul Eggert's approval.
55587
55588 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55589
55590         Merge glibc changes into lib/glob.c.
55591
55592         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
55593         2007-10-15 04:59:03 UTC.  Here are the changes:
55594
55595         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
55596
55597         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
55598
55599         * lib/glob.c: Add some branch prediction throughout.
55600
55601         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
55602
55603         [BZ #5103]
55604         * lib/glob.c (glob): Recognize patterns starting \/.
55605
55606         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
55607
55608         [BZ #3996]
55609         * lib/glob.c (attribute_hidden): Define if not defined.
55610         (glob): Unescape dirname, filename or username when needed and not
55611         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
55612         is NULL.  Handle unescaped [ in pattern without closing ].
55613         Don't pass GLOB_CHECK down to recursive glob for directories.
55614         (__glob_pattern_type): New function.
55615         (__glob_pattern_p): Implement using __glob_pattern_type.
55616         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
55617         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
55618         Remove unreachable code.
55619
55620         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
55621
55622         * lib/glob.c (glob_in_dir): Add some comments and asserts to
55623         explain why there are no leaks.
55624
55625         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
55626
55627         [BZ #3253]
55628         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
55629         time, rather allocate increasingly bigger arrays of pointers, if
55630         possible with alloca, if too large with malloc.
55631
55632 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55633
55634         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
55635         Problem reported by H.Merijn Brand in
55636         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
55637         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
55638         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
55639
55640 2007-10-15  Bruno Haible  <bruno@clisp.org>
55641
55642         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
55643         with explicit rpl_ prefix.
55644         * lib/fopen.c (fopen): Likewise.
55645         * lib/freopen.c (freopen): Likewise.
55646         * lib/iconv.c (iconv): Likewise.
55647         * lib/iconv_close.c (iconv_close): Likewise.
55648
55649 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55650
55651         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
55652
55653 2007-10-15  Bruno Haible  <bruno@clisp.org>
55654
55655         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
55656         <stddef.h> instead of <stdlib.h> since we only need NULL.
55657         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55658
55659 2007-10-15  Bruno Haible  <bruno@clisp.org>
55660
55661         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
55662         Replace paragraph talking about LIBOBJS.
55663         Reported by Colin Watson <cjwatson@debian.org>.
55664
55665 2007-10-15  Bruno Haible  <bruno@clisp.org>
55666
55667         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
55668         <stdlib.h> before using NULL.
55669
55670 2007-10-15  Simon Josefsson  <simon@josefsson.org>
55671
55672         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
55673         Reported by Albert Chin <china@thewrittenword.com>.
55674
55675 2007-10-14  Bruno Haible  <bruno@clisp.org>
55676
55677         * modules/iconv_open-utf-tests: New file.
55678         * tests/test-iconv-utf.c: New file.
55679
55680         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
55681         * modules/iconv_open-utf: New file.
55682         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
55683         (iconv, iconv_close): New declarations.
55684         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
55685         be defined.
55686         (iconv_open): Add special handling of conversion between UTF-8 and
55687         UTF-{16,32}{BE,LE}.
55688         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
55689         * lib/iconv_close.c: New file.
55690         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
55691         gl_FUNC_ICONV_OPEN.
55692         (gl_FUNC_ICONV_OPEN): Use it.
55693         (gl_FUNC_ICONV_OPEN_UTF): New macro.
55694         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
55695         and REPLACE_ICONV_UTF.
55696         * modules/iconv_open (Depends-on): Add c-strcase.
55697         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
55698         ICONV_CONST.
55699         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
55700
55701 2007-10-13  Albert Chin  <china@thewrittenword.com>
55702             Bruno Haible  <bruno@clisp.org>
55703
55704         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
55705         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
55706
55707 2007-10-13  Bruno Haible  <bruno@clisp.org>
55708
55709         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
55710         defined, use the ISO C99 inline semantics.
55711         * lib/argp.h (ARGP_EI): Likewise.
55712
55713 2007-10-13  Bruno Haible  <bruno@clisp.org>
55714
55715         Handle 'inline' change in gcc 4.3.0.
55716         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
55717         argp_fmtstream_write, argp_fmtstream_set_lmargin,
55718         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
55719         argp_fmtstream_point): Disable 'extern' declaration if the function
55720         definition is going to be provided inline.
55721         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
55722         semantics, not the ISO C99 inline semantics.
55723         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
55724         'extern' declaration if the function definition is going to be provided
55725         inline.
55726         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
55727         the GNU C inline semantics, not the ISO C99 inline semantics. With
55728         GCC 4.2, avoid a warning.
55729
55730 2007-10-13  Bruno Haible  <bruno@clisp.org>
55731
55732         * lib/freading.h (freading): Enable the use of __freading for
55733         glibc >= 2.7.
55734         * lib/freading.c (freading): Likewise.
55735
55736 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55737
55738         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
55739         "warning: C99 inline functions are not supported; using GNU89".
55740
55741 2007-10-12  Bruno Haible  <bruno@clisp.org>
55742
55743         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
55744         of 2.
55745         * tests/test-ceilf2.c: New file.
55746         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
55747
55748         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
55749         * modules/ceilf-tests: Update.
55750
55751 2007-10-12  Bruno Haible  <bruno@clisp.org>
55752
55753         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
55754         of 2.
55755         * tests/test-floorf2.c: New file.
55756         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
55757
55758         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
55759         * modules/floorf-tests: Update.
55760
55761 2007-10-12  Bruno Haible  <bruno@clisp.org>
55762
55763         * tests/test-trunc2.c: New file.
55764         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
55765
55766         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
55767         * modules/trunc-tests: Update.
55768
55769 2007-10-12  Bruno Haible  <bruno@clisp.org>
55770
55771         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
55772         of 2.
55773         * tests/test-truncf2.c: New file.
55774         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
55775
55776         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
55777         * modules/truncf-tests: Update.
55778
55779 2007-10-11  Eric Blake  <ebb9@byu.net>
55780
55781         Don't claim strerror is broken on Interix.
55782         * doc/functions/strerror.texi (strerror): Known broken systems are
55783         now Solaris 8, and not Interix.
55784         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
55785         Interix on cross-compile.
55786         Reported by Martin Koeppe in
55787         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
55788
55789 2007-10-11  Bruno Haible  <bruno@clisp.org>
55790
55791         * modules/i-ring-tests: New file.
55792         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
55793         instead of assert.
55794
55795 2007-10-11  Bruno Haible  <bruno@clisp.org>
55796
55797         * modules/filenamecat-tests: New file.
55798         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
55799         * lib/filenamecat.c: Remove test code.
55800
55801 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55802
55803         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
55804
55805         * lib/strerror.c: Include <string.h> always, to test interface,
55806         and to remove the need for the dummy.
55807         Include intprops.h to compute width instead of doing it ourselves
55808         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
55809         (strerror): Define it to return NULL if there's no system strerror.
55810         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
55811         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
55812         ancient pre-strerror Unix systems well any more.  Saying "unknown
55813         system error" is enough.
55814         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
55815         simpler strerror.c implementation.
55816         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
55817         Simplify the tests to reflect the simpler strerror implementation.
55818         * modules/strerror (Depends-on): Add intprops.
55819
55820 2007-10-09  Eric Blake  <ebb9@byu.net>
55821
55822         Silence test-fpending.
55823         * modules/fpending-tests (Files): Add wrapper script.
55824         * tests/test-fpending.sh: New file.
55825
55826 2007-10-09  Bruno Haible  <bruno@clisp.org>
55827
55828         * MODULES.html.sh (func_module): Don't create a hyperlink for
55829         function names like 'printf_frexp'.
55830         (Misc): Add crc, memxor.
55831         (Characteristics of floating types): New section.
55832         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
55833         isnanf-nolibm, signbit, trunc, truncf, truncl.
55834         (Enhancements for ISO C 99 functions): New subsection Input/output.
55835         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
55836         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
55837         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
55838         (Compatibility checks for POSIX:2001 functions): Add clock-time.
55839         (Enhancements for POSIX:2001 functions): Add chdir-long.
55840         (File system functions): Add areadlink, chdir-safer, read-file.
55841         Remove cycle-check.
55842         (File system as inode set): New section.
55843         (Date and time): Add gethrxtime.
55844         (Multithreading): Add openmp.
55845         (Internationalization functions): Add localename.
55846         (Unicode string functions): Add unistr/u*-mbsnlen.
55847         (Support for maintaining and releasing projects): Add git-version-gen.
55848         (Lone files): Remove directories.
55849
55850 2007-10-08  Ben Pfaff  <blp@gnu.org>
55851
55852         * lib/xmalloca.h: Fix typo in comment.
55853
55854 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55855
55856         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
55857         when avoiding problems with integer overflow.  Use a portable test
55858         instead.
55859
55860 2007-10-08  Simon Josefsson  <simon@josefsson.org>
55861
55862         * modules/dummy (License): Change to LGPLv2+.
55863         * modules/float (License): Likewise
55864         * modules/realloc (License): Likewise
55865         * modules/stdlib (License): Likewise
55866
55867 2007-10-07  Bruno Haible  <bruno@clisp.org>
55868
55869         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
55870         * floor.c (TWO_MANT_DIG): Likewise.
55871         * ceil.c (TWO_MANT_DIG): Likewise.
55872         Reported by Ben Pfaff.
55873
55874 2007-10-07  Bruno Haible  <bruno@clisp.org>
55875
55876         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
55877         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
55878         * lib/frexp.c (FUNC): Likewise.
55879         * lib/printf-frexp.h (printf_frexp): Likewise.
55880         * lib/printf-frexpl.h (printf_frexpl): Likewise.
55881         * lib/printf-frexp.c (FUNC): Likewise.
55882         Suggested by Jim Meyering.
55883
55884 2007-10-07  Jim Meyering  <meyering@redhat.com>
55885
55886         Make xnanosleep's integer overflow test more robust.
55887         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
55888         so that gcc-4.3.0 doesn't optimize away this test for overflow.
55889
55890 2007-10-07  Bruno Haible  <bruno@clisp.org>
55891
55892         * NEWS: Mention the license change.
55893
55894         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
55895         abbreviations in the modules files.
55896
55897         Change copyright notice from GPLv2+ to GPLv3+.
55898         * README: Change copyright notice.
55899         * MODULES.html.sh: Likewise.
55900         * build-aux/bootstrap.conf: Likewise.
55901         * build-aux/config.libpath: Likewise.
55902         * build-aux/csharpcomp.sh.in: Likewise.
55903         * build-aux/csharpexec.sh.in: Likewise.
55904         * build-aux/install-reloc: Likewise.
55905         * build-aux/javacomp.sh.in: Likewise.
55906         * build-aux/javaexec.sh.in: Likewise.
55907         * build-aux/ldd.sh.in: Likewise.
55908         * build-aux/reloc-ldflags: Likewise.
55909         * build-aux/relocatable.sh.in: Likewise.
55910         * build-aux/x-to-1.in: Likewise.
55911         * check-module: Likewise.
55912         * config/srclistvars.sh: Likewise.
55913         * gnulib-tool: Likewise.
55914         * lib/acl-internal.h: Likewise.
55915         * lib/acl.c: Likewise.
55916         * lib/acl.h: Likewise.
55917         * lib/acl_entries.c: Likewise.
55918         * lib/areadlink-with-size.c: Likewise.
55919         * lib/areadlink.c: Likewise.
55920         * lib/areadlink.h: Likewise.
55921         * lib/argmatch.c: Likewise.
55922         * lib/argmatch.h: Likewise.
55923         * lib/argp-ba.c: Likewise.
55924         * lib/argp-eexst.c: Likewise.
55925         * lib/argp-fmtstream.c: Likewise.
55926         * lib/argp-fmtstream.h: Likewise.
55927         * lib/argp-fs-xinl.c: Likewise.
55928         * lib/argp-help.c: Likewise.
55929         * lib/argp-namefrob.h: Likewise.
55930         * lib/argp-parse.c: Likewise.
55931         * lib/argp-pin.c: Likewise.
55932         * lib/argp-pv.c: Likewise.
55933         * lib/argp-pvh.c: Likewise.
55934         * lib/argp-xinl.c: Likewise.
55935         * lib/argp.h: Likewise.
55936         * lib/at-func.c: Likewise.
55937         * lib/atanl.c: Likewise.
55938         * lib/backupfile.c: Likewise.
55939         * lib/backupfile.h: Likewise.
55940         * lib/basename.c: Likewise.
55941         * lib/binary-io.h: Likewise.
55942         * lib/byteswap.in.h: Likewise.
55943         * lib/c-stack.c: Likewise.
55944         * lib/c-stack.h: Likewise.
55945         * lib/c-strcasestr.c: Likewise.
55946         * lib/c-strcasestr.h: Likewise.
55947         * lib/c-strstr.c: Likewise.
55948         * lib/c-strstr.h: Likewise.
55949         * lib/c-strtod.c: Likewise.
55950         * lib/calloc.c: Likewise.
55951         * lib/canon-host.c: Likewise.
55952         * lib/canon-host.h: Likewise.
55953         * lib/canonicalize-lgpl.c: Likewise.
55954         * lib/canonicalize.c: Likewise.
55955         * lib/canonicalize.h: Likewise.
55956         * lib/ceil.c: Likewise.
55957         * lib/ceilf.c: Likewise.
55958         * lib/ceill.c: Likewise.
55959         * lib/chdir-long.c: Likewise.
55960         * lib/chdir-long.h: Likewise.
55961         * lib/chdir-safer.c: Likewise.
55962         * lib/chdir-safer.h: Likewise.
55963         * lib/chown.c: Likewise.
55964         * lib/classpath.c: Likewise.
55965         * lib/classpath.h: Likewise.
55966         * lib/clean-temp.c: Likewise.
55967         * lib/clean-temp.h: Likewise.
55968         * lib/cloexec.c: Likewise.
55969         * lib/close-stream.c: Likewise.
55970         * lib/closein.c: Likewise.
55971         * lib/closein.h: Likewise.
55972         * lib/closeout.c: Likewise.
55973         * lib/closeout.h: Likewise.
55974         * lib/concat-filename.c: Likewise.
55975         * lib/copy-file.c: Likewise.
55976         * lib/copy-file.h: Likewise.
55977         * lib/count-one-bits.h: Likewise.
55978         * lib/crc.c: Likewise.
55979         * lib/crc.h: Likewise.
55980         * lib/creat-safer.c: Likewise.
55981         * lib/csharpcomp.c: Likewise.
55982         * lib/csharpcomp.h: Likewise.
55983         * lib/csharpexec.c: Likewise.
55984         * lib/csharpexec.h: Likewise.
55985         * lib/cycle-check.c: Likewise.
55986         * lib/cycle-check.h: Likewise.
55987         * lib/diacrit.c: Likewise.
55988         * lib/diacrit.h: Likewise.
55989         * lib/diffseq.h: Likewise.
55990         * lib/dirchownmod.c: Likewise.
55991         * lib/dirent.in.h: Likewise.
55992         * lib/dirfd.c: Likewise.
55993         * lib/dirfd.h: Likewise.
55994         * lib/dirname.c: Likewise.
55995         * lib/dirname.h: Likewise.
55996         * lib/dummy.c: Likewise.
55997         * lib/dup-safer.c: Likewise.
55998         * lib/dup2.c: Likewise.
55999         * lib/eealloc.h: Likewise.
56000         * lib/error.c: Likewise.
56001         * lib/error.h: Likewise.
56002         * lib/euidaccess.c: Likewise.
56003         * lib/exclude.c: Likewise.
56004         * lib/exclude.h: Likewise.
56005         * lib/execute.c: Likewise.
56006         * lib/execute.h: Likewise.
56007         * lib/exitfail.c: Likewise.
56008         * lib/exitfail.h: Likewise.
56009         * lib/expl.c: Likewise.
56010         * lib/fatal-signal.c: Likewise.
56011         * lib/fatal-signal.h: Likewise.
56012         * lib/fbufmode.c: Likewise.
56013         * lib/fbufmode.h: Likewise.
56014         * lib/fchdir.c: Likewise.
56015         * lib/fchmodat.c: Likewise.
56016         * lib/fchownat.c: Likewise.
56017         * lib/fcntl--.h: Likewise.
56018         * lib/fcntl-safer.h: Likewise.
56019         * lib/fcntl.in.h: Likewise.
56020         * lib/fd-safer.c: Likewise.
56021         * lib/fflush.c: Likewise.
56022         * lib/file-has-acl.c: Likewise.
56023         * lib/file-set.c: Likewise.
56024         * lib/file-type.c: Likewise.
56025         * lib/file-type.h: Likewise.
56026         * lib/fileblocks.c: Likewise.
56027         * lib/filemode.c: Likewise.
56028         * lib/filemode.h: Likewise.
56029         * lib/filename.h: Likewise.
56030         * lib/filenamecat.c: Likewise.
56031         * lib/filenamecat.h: Likewise.
56032         * lib/findprog.c: Likewise.
56033         * lib/findprog.h: Likewise.
56034         * lib/float.in.h: Likewise.
56035         * lib/floor.c: Likewise.
56036         * lib/floorf.c: Likewise.
56037         * lib/floorl.c: Likewise.
56038         * lib/fopen-safer.c: Likewise.
56039         * lib/fopen.c: Likewise.
56040         * lib/fpending.c: Likewise.
56041         * lib/fpending.h: Likewise.
56042         * lib/fprintf.c: Likewise.
56043         * lib/fprintftime.h: Likewise.
56044         * lib/fpucw.h: Likewise.
56045         * lib/fpurge.c: Likewise.
56046         * lib/fpurge.h: Likewise.
56047         * lib/freadable.c: Likewise.
56048         * lib/freadable.h: Likewise.
56049         * lib/freadahead.c: Likewise.
56050         * lib/freadahead.h: Likewise.
56051         * lib/freading.c: Likewise.
56052         * lib/freading.h: Likewise.
56053         * lib/free.c: Likewise.
56054         * lib/freopen.c: Likewise.
56055         * lib/frexp.c: Likewise.
56056         * lib/frexpl.c: Likewise.
56057         * lib/fseek.c: Likewise.
56058         * lib/fseterr.c: Likewise.
56059         * lib/fseterr.h: Likewise.
56060         * lib/fstatat.c: Likewise.
56061         * lib/fstrcmp.c: Likewise.
56062         * lib/fstrcmp.h: Likewise.
56063         * lib/fsusage.c: Likewise.
56064         * lib/fsusage.h: Likewise.
56065         * lib/ftell.c: Likewise.
56066         * lib/ftello.c: Likewise.
56067         * lib/fts-cycle.c: Likewise.
56068         * lib/fts.c: Likewise.
56069         * lib/fts_.h: Likewise.
56070         * lib/full-read.c: Likewise.
56071         * lib/full-read.h: Likewise.
56072         * lib/full-write.c: Likewise.
56073         * lib/full-write.h: Likewise.
56074         * lib/fwritable.c: Likewise.
56075         * lib/fwritable.h: Likewise.
56076         * lib/fwriteerror.c: Likewise.
56077         * lib/fwriteerror.h: Likewise.
56078         * lib/fwriting.c: Likewise.
56079         * lib/fwriting.h: Likewise.
56080         * lib/gcd.c: Likewise.
56081         * lib/gcd.h: Likewise.
56082         * lib/getcwd.c: Likewise.
56083         * lib/getdate.h: Likewise.
56084         * lib/getdate.y: Likewise.
56085         * lib/getdomainname.c: Likewise.
56086         * lib/getdomainname.h: Likewise.
56087         * lib/getgroups.c: Likewise.
56088         * lib/gethostname.c: Likewise.
56089         * lib/gethrxtime.c: Likewise.
56090         * lib/gethrxtime.h: Likewise.
56091         * lib/getloadavg.c: Likewise.
56092         * lib/getndelim2.c: Likewise.
56093         * lib/getndelim2.h: Likewise.
56094         * lib/getnline.c: Likewise.
56095         * lib/getnline.h: Likewise.
56096         * lib/getopt.c: Likewise.
56097         * lib/getopt.in.h: Likewise.
56098         * lib/getopt1.c: Likewise.
56099         * lib/getopt_int.h: Likewise.
56100         * lib/getpagesize.h: Likewise.
56101         * lib/getsubopt.c: Likewise.
56102         * lib/gettime.c: Likewise.
56103         * lib/getugroups.c: Likewise.
56104         * lib/getugroups.h: Likewise.
56105         * lib/getusershell.c: Likewise.
56106         * lib/gl_anyavltree_list1.h: Likewise.
56107         * lib/gl_anyavltree_list2.h: Likewise.
56108         * lib/gl_anyhash_list1.h: Likewise.
56109         * lib/gl_anyhash_list2.h: Likewise.
56110         * lib/gl_anylinked_list1.h: Likewise.
56111         * lib/gl_anylinked_list2.h: Likewise.
56112         * lib/gl_anyrbtree_list1.h: Likewise.
56113         * lib/gl_anyrbtree_list2.h: Likewise.
56114         * lib/gl_anytree_list1.h: Likewise.
56115         * lib/gl_anytree_list2.h: Likewise.
56116         * lib/gl_anytree_oset.h: Likewise.
56117         * lib/gl_anytreehash_list1.h: Likewise.
56118         * lib/gl_anytreehash_list2.h: Likewise.
56119         * lib/gl_array_list.c: Likewise.
56120         * lib/gl_array_list.h: Likewise.
56121         * lib/gl_array_oset.c: Likewise.
56122         * lib/gl_array_oset.h: Likewise.
56123         * lib/gl_avltree_list.c: Likewise.
56124         * lib/gl_avltree_list.h: Likewise.
56125         * lib/gl_avltree_oset.c: Likewise.
56126         * lib/gl_avltree_oset.h: Likewise.
56127         * lib/gl_avltreehash_list.c: Likewise.
56128         * lib/gl_avltreehash_list.h: Likewise.
56129         * lib/gl_carray_list.c: Likewise.
56130         * lib/gl_carray_list.h: Likewise.
56131         * lib/gl_linked_list.c: Likewise.
56132         * lib/gl_linked_list.h: Likewise.
56133         * lib/gl_linkedhash_list.c: Likewise.
56134         * lib/gl_linkedhash_list.h: Likewise.
56135         * lib/gl_list.c: Likewise.
56136         * lib/gl_list.h: Likewise.
56137         * lib/gl_oset.c: Likewise.
56138         * lib/gl_oset.h: Likewise.
56139         * lib/gl_rbtree_list.c: Likewise.
56140         * lib/gl_rbtree_list.h: Likewise.
56141         * lib/gl_rbtree_oset.c: Likewise.
56142         * lib/gl_rbtree_oset.h: Likewise.
56143         * lib/gl_rbtreehash_list.c: Likewise.
56144         * lib/gl_rbtreehash_list.h: Likewise.
56145         * lib/gl_sublist.c: Likewise.
56146         * lib/gl_sublist.h: Likewise.
56147         * lib/group-member.c: Likewise.
56148         * lib/group-member.h: Likewise.
56149         * lib/hard-locale.c: Likewise.
56150         * lib/hard-locale.h: Likewise.
56151         * lib/hash-pjw.c: Likewise.
56152         * lib/hash-pjw.h: Likewise.
56153         * lib/hash-triple.c: Likewise.
56154         * lib/hash.c: Likewise.
56155         * lib/hash.h: Likewise.
56156         * lib/human.c: Likewise.
56157         * lib/human.h: Likewise.
56158         * lib/i-ring.c: Likewise.
56159         * lib/i-ring.h: Likewise.
56160         * lib/idcache.c: Likewise.
56161         * lib/imaxabs.c: Likewise.
56162         * lib/imaxdiv.c: Likewise.
56163         * lib/inet_pton.c: Likewise.
56164         * lib/inet_pton.h: Likewise.
56165         * lib/intprops.h: Likewise.
56166         * lib/inttostr.c: Likewise.
56167         * lib/inttostr.h: Likewise.
56168         * lib/inttypes.in.h: Likewise.
56169         * lib/isapipe.c: Likewise.
56170         * lib/isdir.c: Likewise.
56171         * lib/isnan.c: Likewise.
56172         * lib/isnan.h: Likewise.
56173         * lib/isnanf.c: Likewise.
56174         * lib/isnanf.h: Likewise.
56175         * lib/isnanl-nolibm.h: Likewise.
56176         * lib/isnanl.c: Likewise.
56177         * lib/isnanl.h: Likewise.
56178         * lib/javacomp.c: Likewise.
56179         * lib/javacomp.h: Likewise.
56180         * lib/javaexec.c: Likewise.
56181         * lib/javaexec.h: Likewise.
56182         * lib/javaversion.c: Likewise.
56183         * lib/javaversion.h: Likewise.
56184         * lib/javaversion.java: Likewise.
56185         * lib/lbrkprop.h: Likewise.
56186         * lib/lchmod.h: Likewise.
56187         * lib/lchown.c: Likewise.
56188         * lib/ldexpl.c: Likewise.
56189         * lib/linebreak.c: Likewise.
56190         * lib/linebreak.h: Likewise.
56191         * lib/linebuffer.c: Likewise.
56192         * lib/linebuffer.h: Likewise.
56193         * lib/locale.in.h: Likewise.
56194         * lib/logl.c: Likewise.
56195         * lib/long-options.c: Likewise.
56196         * lib/long-options.h: Likewise.
56197         * lib/lstat.c: Likewise.
56198         * lib/lstat.h: Likewise.
56199         * lib/math.in.h: Likewise.
56200         * lib/mbchar.c: Likewise.
56201         * lib/mbchar.h: Likewise.
56202         * lib/mbfile.h: Likewise.
56203         * lib/mbiter.h: Likewise.
56204         * lib/mbscasecmp.c: Likewise.
56205         * lib/mbscasestr.c: Likewise.
56206         * lib/mbschr.c: Likewise.
56207         * lib/mbscspn.c: Likewise.
56208         * lib/mbslen.c: Likewise.
56209         * lib/mbsncasecmp.c: Likewise.
56210         * lib/mbsnlen.c: Likewise.
56211         * lib/mbspbrk.c: Likewise.
56212         * lib/mbspcasecmp.c: Likewise.
56213         * lib/mbsrchr.c: Likewise.
56214         * lib/mbssep.c: Likewise.
56215         * lib/mbsspn.c: Likewise.
56216         * lib/mbsstr.c: Likewise.
56217         * lib/mbstok_r.c: Likewise.
56218         * lib/mbswidth.c: Likewise.
56219         * lib/mbswidth.h: Likewise.
56220         * lib/mbuiter.h: Likewise.
56221         * lib/memcasecmp.c: Likewise.
56222         * lib/memcasecmp.h: Likewise.
56223         * lib/memchr.c: Likewise.
56224         * lib/memcmp.c: Likewise.
56225         * lib/memcoll.c: Likewise.
56226         * lib/memcoll.h: Likewise.
56227         * lib/memcpy.c: Likewise.
56228         * lib/memrchr.c: Likewise.
56229         * lib/mkancesdirs.c: Likewise.
56230         * lib/mkdir-p.c: Likewise.
56231         * lib/mkdir-p.h: Likewise.
56232         * lib/mkdir.c: Likewise.
56233         * lib/mkdirat.c: Likewise.
56234         * lib/mkdtemp.c: Likewise.
56235         * lib/mkstemp-safer.c: Likewise.
56236         * lib/mkstemp.c: Likewise.
56237         * lib/modechange.c: Likewise.
56238         * lib/modechange.h: Likewise.
56239         * lib/mountlist.c: Likewise.
56240         * lib/mountlist.h: Likewise.
56241         * lib/mpsort.c: Likewise.
56242         * lib/nanosleep.c: Likewise.
56243         * lib/obstack.c: Likewise.
56244         * lib/obstack.h: Likewise.
56245         * lib/open-safer.c: Likewise.
56246         * lib/open.c: Likewise.
56247         * lib/openat-die.c: Likewise.
56248         * lib/openat-priv.h: Likewise.
56249         * lib/openat-proc.c: Likewise.
56250         * lib/openat.c: Likewise.
56251         * lib/openat.h: Likewise.
56252         * lib/pagealign_alloc.c: Likewise.
56253         * lib/pagealign_alloc.h: Likewise.
56254         * lib/physmem.c: Likewise.
56255         * lib/physmem.h: Likewise.
56256         * lib/pipe-safer.c: Likewise.
56257         * lib/pipe.c: Likewise.
56258         * lib/pipe.h: Likewise.
56259         * lib/posixtm.c: Likewise.
56260         * lib/posixtm.h: Likewise.
56261         * lib/posixver.c: Likewise.
56262         * lib/printf-frexp.c: Likewise.
56263         * lib/printf-frexp.h: Likewise.
56264         * lib/printf-frexpl.c: Likewise.
56265         * lib/printf-frexpl.h: Likewise.
56266         * lib/printf.c: Likewise.
56267         * lib/progname.c: Likewise.
56268         * lib/progname.h: Likewise.
56269         * lib/progreloc.c: Likewise.
56270         * lib/putenv.c: Likewise.
56271         * lib/quote.c: Likewise.
56272         * lib/quote.h: Likewise.
56273         * lib/quotearg.c: Likewise.
56274         * lib/quotearg.h: Likewise.
56275         * lib/raise.c: Likewise.
56276         * lib/readline.c: Likewise.
56277         * lib/readline.h: Likewise.
56278         * lib/readlink.c: Likewise.
56279         * lib/readtokens.c: Likewise.
56280         * lib/readtokens.h: Likewise.
56281         * lib/readtokens0.c: Likewise.
56282         * lib/readtokens0.h: Likewise.
56283         * lib/readutmp.c: Likewise.
56284         * lib/readutmp.h: Likewise.
56285         * lib/realloc.c: Likewise.
56286         * lib/relocwrapper.c: Likewise.
56287         * lib/rename-dest-slash.c: Likewise.
56288         * lib/rename.c: Likewise.
56289         * lib/rmdir.c: Likewise.
56290         * lib/rpmatch.c: Likewise.
56291         * lib/safe-read.c: Likewise.
56292         * lib/safe-read.h: Likewise.
56293         * lib/safe-write.c: Likewise.
56294         * lib/safe-write.h: Likewise.
56295         * lib/same-inode.h: Likewise.
56296         * lib/same.c: Likewise.
56297         * lib/same.h: Likewise.
56298         * lib/save-cwd.c: Likewise.
56299         * lib/save-cwd.h: Likewise.
56300         * lib/savedir.c: Likewise.
56301         * lib/savedir.h: Likewise.
56302         * lib/savewd.c: Likewise.
56303         * lib/savewd.h: Likewise.
56304         * lib/search.in.h: Likewise.
56305         * lib/setenv.c: Likewise.
56306         * lib/setenv.h: Likewise.
56307         * lib/settime.c: Likewise.
56308         * lib/sh-quote.c: Likewise.
56309         * lib/sh-quote.h: Likewise.
56310         * lib/sig2str.c: Likewise.
56311         * lib/sig2str.h: Likewise.
56312         * lib/signal.in.h: Likewise.
56313         * lib/signbitd.c: Likewise.
56314         * lib/signbitf.c: Likewise.
56315         * lib/signbitl.c: Likewise.
56316         * lib/sigprocmask.c: Likewise.
56317         * lib/sincosl.c: Likewise.
56318         * lib/sleep.c: Likewise.
56319         * lib/sprintf.c: Likewise.
56320         * lib/sqrtl.c: Likewise.
56321         * lib/stat-time.h: Likewise.
56322         * lib/stdio--.h: Likewise.
56323         * lib/stdio-safer.h: Likewise.
56324         * lib/stdlib--.h: Likewise.
56325         * lib/stdlib-safer.h: Likewise.
56326         * lib/stdlib.in.h: Likewise.
56327         * lib/stpcpy.c: Likewise.
56328         * lib/stpncpy.c: Likewise.
56329         * lib/strchrnul.c: Likewise.
56330         * lib/strcspn.c: Likewise.
56331         * lib/strerror.c: Likewise.
56332         * lib/strftime.c: Likewise.
56333         * lib/strftime.h: Likewise.
56334         * lib/striconveh.c: Likewise.
56335         * lib/striconveh.h: Likewise.
56336         * lib/striconveha.c: Likewise.
56337         * lib/striconveha.h: Likewise.
56338         * lib/stripslash.c: Likewise.
56339         * lib/strnlen1.c: Likewise.
56340         * lib/strnlen1.h: Likewise.
56341         * lib/strtod.c: Likewise.
56342         * lib/strtoimax.c: Likewise.
56343         * lib/strtok_r.c: Likewise.
56344         * lib/strtol.c: Likewise.
56345         * lib/strtoll.c: Likewise.
56346         * lib/strtoul.c: Likewise.
56347         * lib/strtoull.c: Likewise.
56348         * lib/sysexits.in.h: Likewise.
56349         * lib/tempname.c: Likewise.
56350         * lib/tempname.h: Likewise.
56351         * lib/timespec.h: Likewise.
56352         * lib/tls.c: Likewise.
56353         * lib/tls.h: Likewise.
56354         * lib/tmpdir.c: Likewise.
56355         * lib/tmpdir.h: Likewise.
56356         * lib/tmpfile-safer.c: Likewise.
56357         * lib/tmpfile.c: Likewise.
56358         * lib/trigl.c: Likewise.
56359         * lib/trigl.h: Likewise.
56360         * lib/trim.c: Likewise.
56361         * lib/trim.h: Likewise.
56362         * lib/trunc.c: Likewise.
56363         * lib/truncf.c: Likewise.
56364         * lib/truncl.c: Likewise.
56365         * lib/tsearch.c: Likewise.
56366         * lib/unicodeio.c: Likewise.
56367         * lib/unicodeio.h: Likewise.
56368         * lib/unistd--.h: Likewise.
56369         * lib/unistd-safer.h: Likewise.
56370         * lib/unistdio/ulc-fprintf.c: Likewise.
56371         * lib/unistdio/ulc-vfprintf.c: Likewise.
56372         * lib/unlinkdir.c: Likewise.
56373         * lib/unlinkdir.h: Likewise.
56374         * lib/unlocked-io.h: Likewise.
56375         * lib/unsetenv.c: Likewise.
56376         * lib/userspec.c: Likewise.
56377         * lib/utime.c: Likewise.
56378         * lib/utimecmp.c: Likewise.
56379         * lib/utimecmp.h: Likewise.
56380         * lib/utimens.c: Likewise.
56381         * lib/verify.h: Likewise.
56382         * lib/verror.c: Likewise.
56383         * lib/verror.h: Likewise.
56384         * lib/version-etc-fsf.c: Likewise.
56385         * lib/version-etc.c: Likewise.
56386         * lib/version-etc.h: Likewise.
56387         * lib/vfprintf.c: Likewise.
56388         * lib/vprintf.c: Likewise.
56389         * lib/vsprintf.c: Likewise.
56390         * lib/w32spawn.h: Likewise.
56391         * lib/wait-process.c: Likewise.
56392         * lib/wait-process.h: Likewise.
56393         * lib/wcwidth.c: Likewise.
56394         * lib/write-any-file.c: Likewise.
56395         * lib/xalloc-die.c: Likewise.
56396         * lib/xalloc.h: Likewise.
56397         * lib/xasprintf.c: Likewise.
56398         * lib/xgetcwd.c: Likewise.
56399         * lib/xgetcwd.h: Likewise.
56400         * lib/xgetdomainname.c: Likewise.
56401         * lib/xgetdomainname.h: Likewise.
56402         * lib/xgethostname.c: Likewise.
56403         * lib/xmalloc.c: Likewise.
56404         * lib/xmalloca.c: Likewise.
56405         * lib/xmalloca.h: Likewise.
56406         * lib/xmemcoll.c: Likewise.
56407         * lib/xnanosleep.c: Likewise.
56408         * lib/xreadlink.c: Likewise.
56409         * lib/xreadlink.h: Likewise.
56410         * lib/xsetenv.c: Likewise.
56411         * lib/xsetenv.h: Likewise.
56412         * lib/xstriconv.c: Likewise.
56413         * lib/xstriconv.h: Likewise.
56414         * lib/xstrndup.c: Likewise.
56415         * lib/xstrndup.h: Likewise.
56416         * lib/xstrtod.c: Likewise.
56417         * lib/xstrtod.h: Likewise.
56418         * lib/xstrtol-error.c: Likewise.
56419         * lib/xstrtol.c: Likewise.
56420         * lib/xstrtol.h: Likewise.
56421         * lib/xtime.h: Likewise.
56422         * lib/xvasprintf.c: Likewise.
56423         * lib/xvasprintf.h: Likewise.
56424         * lib/yesno.c: Likewise.
56425         * lib/yesno.h: Likewise.
56426         * posix-modules: Likewise.
56427         * tests/test-alloca-opt.c: Likewise.
56428         * tests/test-arcfour.c: Likewise.
56429         * tests/test-arctwo.c: Likewise.
56430         * tests/test-argmatch.c: Likewise.
56431         * tests/test-argp-2.sh: Likewise.
56432         * tests/test-argp.c: Likewise.
56433         * tests/test-arpa_inet.c: Likewise.
56434         * tests/test-array_list.c: Likewise.
56435         * tests/test-array_oset.c: Likewise.
56436         * tests/test-atexit.c: Likewise.
56437         * tests/test-avltree_list.c: Likewise.
56438         * tests/test-avltree_oset.c: Likewise.
56439         * tests/test-avltreehash_list.c: Likewise.
56440         * tests/test-base64.c: Likewise.
56441         * tests/test-binary-io.c: Likewise.
56442         * tests/test-byteswap.c: Likewise.
56443         * tests/test-c-ctype.c: Likewise.
56444         * tests/test-c-strcasecmp.c: Likewise.
56445         * tests/test-c-strcasestr.c: Likewise.
56446         * tests/test-c-strncasecmp.c: Likewise.
56447         * tests/test-c-strstr.c: Likewise.
56448         * tests/test-canonicalize-lgpl.c: Likewise.
56449         * tests/test-canonicalize.c: Likewise.
56450         * tests/test-carray_list.c: Likewise.
56451         * tests/test-ceilf.c: Likewise.
56452         * tests/test-ceill.c: Likewise.
56453         * tests/test-count-one-bits.c: Likewise.
56454         * tests/test-crc.c: Likewise.
56455         * tests/test-dirname.c: Likewise.
56456         * tests/test-fbufmode.c: Likewise.
56457         * tests/test-fcntl.c: Likewise.
56458         * tests/test-fflush.c: Likewise.
56459         * tests/test-floorf.c: Likewise.
56460         * tests/test-floorl.c: Likewise.
56461         * tests/test-fopen.c: Likewise.
56462         * tests/test-fprintf-posix.c: Likewise.
56463         * tests/test-fprintf-posix.h: Likewise.
56464         * tests/test-fpurge.c: Likewise.
56465         * tests/test-freadable.c: Likewise.
56466         * tests/test-freadahead.c: Likewise.
56467         * tests/test-freading.c: Likewise.
56468         * tests/test-freopen.c: Likewise.
56469         * tests/test-frexp.c: Likewise.
56470         * tests/test-frexpl.c: Likewise.
56471         * tests/test-fseek.c: Likewise.
56472         * tests/test-fseeko.c: Likewise.
56473         * tests/test-fseterr.c: Likewise.
56474         * tests/test-fstrcmp.c: Likewise.
56475         * tests/test-ftell.c: Likewise.
56476         * tests/test-ftello.c: Likewise.
56477         * tests/test-fwritable.c: Likewise.
56478         * tests/test-fwriting.c: Likewise.
56479         * tests/test-getaddrinfo.c: Likewise.
56480         * tests/test-getpass.c: Likewise.
56481         * tests/test-gettimeofday.c: Likewise.
56482         * tests/test-hmac-md5.c: Likewise.
56483         * tests/test-hmac-sha1.c: Likewise.
56484         * tests/test-iconv.c: Likewise.
56485         * tests/test-iconvme.c: Likewise.
56486         * tests/test-inttypes.c: Likewise.
56487         * tests/test-isnan.c: Likewise.
56488         * tests/test-isnanf.c: Likewise.
56489         * tests/test-isnanl-nolibm.c: Likewise.
56490         * tests/test-isnanl.c: Likewise.
56491         * tests/test-isnanl.h: Likewise.
56492         * tests/test-ldexpl.c: Likewise.
56493         * tests/test-linked_list.c: Likewise.
56494         * tests/test-linkedhash_list.c: Likewise.
56495         * tests/test-locale.c: Likewise.
56496         * tests/test-localename.c: Likewise.
56497         * tests/test-lock.c: Likewise.
56498         * tests/test-lseek.c: Likewise.
56499         * tests/test-malloca.c: Likewise.
56500         * tests/test-math.c: Likewise.
56501         * tests/test-mbscasecmp.c: Likewise.
56502         * tests/test-mbscasestr1.c: Likewise.
56503         * tests/test-mbscasestr2.c: Likewise.
56504         * tests/test-mbscasestr3.c: Likewise.
56505         * tests/test-mbscasestr4.c: Likewise.
56506         * tests/test-mbschr.c: Likewise.
56507         * tests/test-mbscspn.c: Likewise.
56508         * tests/test-mbsncasecmp.c: Likewise.
56509         * tests/test-mbspbrk.c: Likewise.
56510         * tests/test-mbspcasecmp.c: Likewise.
56511         * tests/test-mbsrchr.c: Likewise.
56512         * tests/test-mbsspn.c: Likewise.
56513         * tests/test-mbsstr1.c: Likewise.
56514         * tests/test-mbsstr2.c: Likewise.
56515         * tests/test-mbsstr3.c: Likewise.
56516         * tests/test-md5.c: Likewise.
56517         * tests/test-memmem.c: Likewise.
56518         * tests/test-netinet_in.c: Likewise.
56519         * tests/test-open.c: Likewise.
56520         * tests/test-printf-frexp.c: Likewise.
56521         * tests/test-printf-frexpl.c: Likewise.
56522         * tests/test-printf-posix.c: Likewise.
56523         * tests/test-printf-posix.h: Likewise.
56524         * tests/test-rbtree_list.c: Likewise.
56525         * tests/test-rbtree_oset.c: Likewise.
56526         * tests/test-rbtreehash_list.c: Likewise.
56527         * tests/test-read-file.c: Likewise.
56528         * tests/test-rijndael.c: Likewise.
56529         * tests/test-search.c: Likewise.
56530         * tests/test-signbit.c: Likewise.
56531         * tests/test-sleep.c: Likewise.
56532         * tests/test-snprintf-posix.c: Likewise.
56533         * tests/test-snprintf-posix.h: Likewise.
56534         * tests/test-snprintf.c: Likewise.
56535         * tests/test-sprintf-posix.c: Likewise.
56536         * tests/test-sprintf-posix.h: Likewise.
56537         * tests/test-stat-time.c: Likewise.
56538         * tests/test-stdbool.c: Likewise.
56539         * tests/test-stdint.c: Likewise.
56540         * tests/test-stdio.c: Likewise.
56541         * tests/test-stdlib.c: Likewise.
56542         * tests/test-stpncpy.c: Likewise.
56543         * tests/test-strcasestr.c: Likewise.
56544         * tests/test-striconv.c: Likewise.
56545         * tests/test-striconveh.c: Likewise.
56546         * tests/test-striconveha.c: Likewise.
56547         * tests/test-string.c: Likewise.
56548         * tests/test-sys_select.c: Likewise.
56549         * tests/test-sys_socket.c: Likewise.
56550         * tests/test-sys_stat.c: Likewise.
56551         * tests/test-sys_time.c: Likewise.
56552         * tests/test-sysexits.c: Likewise.
56553         * tests/test-time.c: Likewise.
56554         * tests/test-tls.c: Likewise.
56555         * tests/test-trunc.c: Likewise.
56556         * tests/test-truncf.c: Likewise.
56557         * tests/test-truncl.c: Likewise.
56558         * tests/test-unistd.c: Likewise.
56559         * tests/test-vasnprintf-posix.c: Likewise.
56560         * tests/test-vasnprintf-posix2.c: Likewise.
56561         * tests/test-vasnprintf.c: Likewise.
56562         * tests/test-vasprintf-posix.c: Likewise.
56563         * tests/test-vasprintf.c: Likewise.
56564         * tests/test-verify.c: Likewise.
56565         * tests/test-vfprintf-posix.c: Likewise.
56566         * tests/test-vprintf-posix.c: Likewise.
56567         * tests/test-vsnprintf-posix.c: Likewise.
56568         * tests/test-vsnprintf.c: Likewise.
56569         * tests/test-vsprintf-posix.c: Likewise.
56570         * tests/test-wchar.c: Likewise.
56571         * tests/test-wctype.c: Likewise.
56572         * tests/test-wcwidth.c: Likewise.
56573         * tests/test-xstrtol.c: Likewise.
56574         * tests/test-xvasprintf.c: Likewise.
56575         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
56576         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
56577         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
56578         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
56579         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
56580         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
56581         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
56582         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
56583         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
56584         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
56585         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
56586         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
56587         * tests/uniname/test-uninames.c: Likewise.
56588         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
56589         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
56590         * tests/unistdio/test-u16-printf1.h: Likewise.
56591         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
56592         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
56593         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
56594         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
56595         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
56596         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
56597         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
56598         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
56599         * tests/unistdio/test-u32-printf1.h: Likewise.
56600         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
56601         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
56602         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
56603         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
56604         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
56605         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
56606         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
56607         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
56608         * tests/unistdio/test-u8-printf1.h: Likewise.
56609         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
56610         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
56611         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
56612         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
56613         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
56614         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
56615         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
56616         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
56617         * tests/unistdio/test-ulc-printf1.h: Likewise.
56618         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
56619         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
56620         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
56621         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
56622         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
56623         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
56624         * tests/uniwidth/test-u16-strwidth.c: Likewise.
56625         * tests/uniwidth/test-u16-width.c: Likewise.
56626         * tests/uniwidth/test-u32-strwidth.c: Likewise.
56627         * tests/uniwidth/test-u32-width.c: Likewise.
56628         * tests/uniwidth/test-u8-strwidth.c: Likewise.
56629         * tests/uniwidth/test-u8-width.c: Likewise.
56630         * tests/uniwidth/test-uc_width.c: Likewise.
56631         * config/srclist-update: Likewise.
56632         (fixlicense): Update to GPLv3+.
56633
56634         Change copyright notice from LGPLv2.1+ to LGPLv3+.
56635         * tests/test-tsearch.c: Change copyright notice.
56636
56637         Change copyright notice from LGPLv2.0+ to LGPLv3+.
56638         * lib/c-strcaseeq.h: Change copyright notice.
56639         * lib/streq.h: Likewise.
56640         * lib/uniconv.h: Likewise.
56641         * lib/uniconv/u-conv-from-enc.h: Likewise.
56642         * lib/uniconv/u-conv-to-enc.h: Likewise.
56643         * lib/uniconv/u-strconv-from-enc.h: Likewise.
56644         * lib/uniconv/u-strconv-to-enc.h: Likewise.
56645         * lib/uniconv/u16-conv-from-enc.c: Likewise.
56646         * lib/uniconv/u16-conv-to-enc.c: Likewise.
56647         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
56648         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
56649         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
56650         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
56651         * lib/uniconv/u32-conv-from-enc.c: Likewise.
56652         * lib/uniconv/u32-conv-to-enc.c: Likewise.
56653         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
56654         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
56655         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
56656         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
56657         * lib/uniconv/u8-conv-from-enc.c: Likewise.
56658         * lib/uniconv/u8-conv-to-enc.c: Likewise.
56659         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
56660         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
56661         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
56662         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
56663         * lib/uniname.h: Likewise.
56664         * lib/uniname/uniname.c: Likewise.
56665         * lib/unistdio.h: Likewise.
56666         * lib/unistdio/u-asnprintf.h: Likewise.
56667         * lib/unistdio/u-asprintf.h: Likewise.
56668         * lib/unistdio/u-printf-args.c: Likewise.
56669         * lib/unistdio/u-printf-args.h: Likewise.
56670         * lib/unistdio/u-printf-parse.h: Likewise.
56671         * lib/unistdio/u-snprintf.h: Likewise.
56672         * lib/unistdio/u-sprintf.h: Likewise.
56673         * lib/unistdio/u-vasprintf.h: Likewise.
56674         * lib/unistdio/u-vsnprintf.h: Likewise.
56675         * lib/unistdio/u-vsprintf.h: Likewise.
56676         * lib/unistdio/u16-asnprintf.c: Likewise.
56677         * lib/unistdio/u16-asprintf.c: Likewise.
56678         * lib/unistdio/u16-printf-parse.c: Likewise.
56679         * lib/unistdio/u16-snprintf.c: Likewise.
56680         * lib/unistdio/u16-sprintf.c: Likewise.
56681         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
56682         * lib/unistdio/u16-u16-asprintf.c: Likewise.
56683         * lib/unistdio/u16-u16-snprintf.c: Likewise.
56684         * lib/unistdio/u16-u16-sprintf.c: Likewise.
56685         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
56686         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
56687         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
56688         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
56689         * lib/unistdio/u16-vasnprintf.c: Likewise.
56690         * lib/unistdio/u16-vasprintf.c: Likewise.
56691         * lib/unistdio/u16-vsnprintf.c: Likewise.
56692         * lib/unistdio/u16-vsprintf.c: Likewise.
56693         * lib/unistdio/u32-asnprintf.c: Likewise.
56694         * lib/unistdio/u32-asprintf.c: Likewise.
56695         * lib/unistdio/u32-printf-parse.c: Likewise.
56696         * lib/unistdio/u32-snprintf.c: Likewise.
56697         * lib/unistdio/u32-sprintf.c: Likewise.
56698         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
56699         * lib/unistdio/u32-u32-asprintf.c: Likewise.
56700         * lib/unistdio/u32-u32-snprintf.c: Likewise.
56701         * lib/unistdio/u32-u32-sprintf.c: Likewise.
56702         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
56703         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
56704         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
56705         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
56706         * lib/unistdio/u32-vasnprintf.c: Likewise.
56707         * lib/unistdio/u32-vasprintf.c: Likewise.
56708         * lib/unistdio/u32-vsnprintf.c: Likewise.
56709         * lib/unistdio/u32-vsprintf.c: Likewise.
56710         * lib/unistdio/u8-asnprintf.c: Likewise.
56711         * lib/unistdio/u8-asprintf.c: Likewise.
56712         * lib/unistdio/u8-printf-parse.c: Likewise.
56713         * lib/unistdio/u8-snprintf.c: Likewise.
56714         * lib/unistdio/u8-sprintf.c: Likewise.
56715         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
56716         * lib/unistdio/u8-u8-asprintf.c: Likewise.
56717         * lib/unistdio/u8-u8-snprintf.c: Likewise.
56718         * lib/unistdio/u8-u8-sprintf.c: Likewise.
56719         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
56720         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
56721         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
56722         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
56723         * lib/unistdio/u8-vasnprintf.c: Likewise.
56724         * lib/unistdio/u8-vasprintf.c: Likewise.
56725         * lib/unistdio/u8-vsnprintf.c: Likewise.
56726         * lib/unistdio/u8-vsprintf.c: Likewise.
56727         * lib/unistdio/ulc-asnprintf.c: Likewise.
56728         * lib/unistdio/ulc-asprintf.c: Likewise.
56729         * lib/unistdio/ulc-printf-parse.c: Likewise.
56730         * lib/unistdio/ulc-snprintf.c: Likewise.
56731         * lib/unistdio/ulc-sprintf.c: Likewise.
56732         * lib/unistdio/ulc-vasnprintf.c: Likewise.
56733         * lib/unistdio/ulc-vasprintf.c: Likewise.
56734         * lib/unistdio/ulc-vsnprintf.c: Likewise.
56735         * lib/unistdio/ulc-vsprintf.c: Likewise.
56736         * lib/unistr.h: Likewise.
56737         * lib/unistr/u-cpy-alloc.h: Likewise.
56738         * lib/unistr/u-cpy.h: Likewise.
56739         * lib/unistr/u-endswith.h: Likewise.
56740         * lib/unistr/u-move.h: Likewise.
56741         * lib/unistr/u-set.h: Likewise.
56742         * lib/unistr/u-startswith.h: Likewise.
56743         * lib/unistr/u-stpcpy.h: Likewise.
56744         * lib/unistr/u-stpncpy.h: Likewise.
56745         * lib/unistr/u-strcat.h: Likewise.
56746         * lib/unistr/u-strcpy.h: Likewise.
56747         * lib/unistr/u-strcspn.h: Likewise.
56748         * lib/unistr/u-strdup.h: Likewise.
56749         * lib/unistr/u-strlen.h: Likewise.
56750         * lib/unistr/u-strncat.h: Likewise.
56751         * lib/unistr/u-strncpy.h: Likewise.
56752         * lib/unistr/u-strnlen.h: Likewise.
56753         * lib/unistr/u-strpbrk.h: Likewise.
56754         * lib/unistr/u-strspn.h: Likewise.
56755         * lib/unistr/u-strstr.h: Likewise.
56756         * lib/unistr/u-strtok.h: Likewise.
56757         * lib/unistr/u16-check.c: Likewise.
56758         * lib/unistr/u16-chr.c: Likewise.
56759         * lib/unistr/u16-cmp.c: Likewise.
56760         * lib/unistr/u16-cpy-alloc.c: Likewise.
56761         * lib/unistr/u16-cpy.c: Likewise.
56762         * lib/unistr/u16-endswith.c: Likewise.
56763         * lib/unistr/u16-mblen.c: Likewise.
56764         * lib/unistr/u16-mbsnlen.c: Likewise.
56765         * lib/unistr/u16-mbtouc-aux.c: Likewise.
56766         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
56767         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
56768         * lib/unistr/u16-mbtouc.c: Likewise.
56769         * lib/unistr/u16-mbtoucr.c: Likewise.
56770         * lib/unistr/u16-move.c: Likewise.
56771         * lib/unistr/u16-next.c: Likewise.
56772         * lib/unistr/u16-prev.c: Likewise.
56773         * lib/unistr/u16-set.c: Likewise.
56774         * lib/unistr/u16-startswith.c: Likewise.
56775         * lib/unistr/u16-stpcpy.c: Likewise.
56776         * lib/unistr/u16-stpncpy.c: Likewise.
56777         * lib/unistr/u16-strcat.c: Likewise.
56778         * lib/unistr/u16-strchr.c: Likewise.
56779         * lib/unistr/u16-strcmp.c: Likewise.
56780         * lib/unistr/u16-strcpy.c: Likewise.
56781         * lib/unistr/u16-strcspn.c: Likewise.
56782         * lib/unistr/u16-strdup.c: Likewise.
56783         * lib/unistr/u16-strlen.c: Likewise.
56784         * lib/unistr/u16-strmblen.c: Likewise.
56785         * lib/unistr/u16-strmbtouc.c: Likewise.
56786         * lib/unistr/u16-strncat.c: Likewise.
56787         * lib/unistr/u16-strncmp.c: Likewise.
56788         * lib/unistr/u16-strncpy.c: Likewise.
56789         * lib/unistr/u16-strnlen.c: Likewise.
56790         * lib/unistr/u16-strpbrk.c: Likewise.
56791         * lib/unistr/u16-strrchr.c: Likewise.
56792         * lib/unistr/u16-strspn.c: Likewise.
56793         * lib/unistr/u16-strstr.c: Likewise.
56794         * lib/unistr/u16-strtok.c: Likewise.
56795         * lib/unistr/u16-to-u32.c: Likewise.
56796         * lib/unistr/u16-to-u8.c: Likewise.
56797         * lib/unistr/u16-uctomb-aux.c: Likewise.
56798         * lib/unistr/u16-uctomb.c: Likewise.
56799         * lib/unistr/u32-check.c: Likewise.
56800         * lib/unistr/u32-chr.c: Likewise.
56801         * lib/unistr/u32-cmp.c: Likewise.
56802         * lib/unistr/u32-cpy-alloc.c: Likewise.
56803         * lib/unistr/u32-cpy.c: Likewise.
56804         * lib/unistr/u32-endswith.c: Likewise.
56805         * lib/unistr/u32-mblen.c: Likewise.
56806         * lib/unistr/u32-mbsnlen.c: Likewise.
56807         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
56808         * lib/unistr/u32-mbtouc.c: Likewise.
56809         * lib/unistr/u32-mbtoucr.c: Likewise.
56810         * lib/unistr/u32-move.c: Likewise.
56811         * lib/unistr/u32-next.c: Likewise.
56812         * lib/unistr/u32-prev.c: Likewise.
56813         * lib/unistr/u32-set.c: Likewise.
56814         * lib/unistr/u32-startswith.c: Likewise.
56815         * lib/unistr/u32-stpcpy.c: Likewise.
56816         * lib/unistr/u32-stpncpy.c: Likewise.
56817         * lib/unistr/u32-strcat.c: Likewise.
56818         * lib/unistr/u32-strchr.c: Likewise.
56819         * lib/unistr/u32-strcmp.c: Likewise.
56820         * lib/unistr/u32-strcpy.c: Likewise.
56821         * lib/unistr/u32-strcspn.c: Likewise.
56822         * lib/unistr/u32-strdup.c: Likewise.
56823         * lib/unistr/u32-strlen.c: Likewise.
56824         * lib/unistr/u32-strmblen.c: Likewise.
56825         * lib/unistr/u32-strmbtouc.c: Likewise.
56826         * lib/unistr/u32-strncat.c: Likewise.
56827         * lib/unistr/u32-strncmp.c: Likewise.
56828         * lib/unistr/u32-strncpy.c: Likewise.
56829         * lib/unistr/u32-strnlen.c: Likewise.
56830         * lib/unistr/u32-strpbrk.c: Likewise.
56831         * lib/unistr/u32-strrchr.c: Likewise.
56832         * lib/unistr/u32-strspn.c: Likewise.
56833         * lib/unistr/u32-strstr.c: Likewise.
56834         * lib/unistr/u32-strtok.c: Likewise.
56835         * lib/unistr/u32-to-u16.c: Likewise.
56836         * lib/unistr/u32-to-u8.c: Likewise.
56837         * lib/unistr/u32-uctomb.c: Likewise.
56838         * lib/unistr/u8-check.c: Likewise.
56839         * lib/unistr/u8-chr.c: Likewise.
56840         * lib/unistr/u8-cmp.c: Likewise.
56841         * lib/unistr/u8-cpy-alloc.c: Likewise.
56842         * lib/unistr/u8-cpy.c: Likewise.
56843         * lib/unistr/u8-endswith.c: Likewise.
56844         * lib/unistr/u8-mblen.c: Likewise.
56845         * lib/unistr/u8-mbsnlen.c: Likewise.
56846         * lib/unistr/u8-mbtouc-aux.c: Likewise.
56847         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
56848         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
56849         * lib/unistr/u8-mbtouc.c: Likewise.
56850         * lib/unistr/u8-mbtoucr.c: Likewise.
56851         * lib/unistr/u8-move.c: Likewise.
56852         * lib/unistr/u8-next.c: Likewise.
56853         * lib/unistr/u8-prev.c: Likewise.
56854         * lib/unistr/u8-set.c: Likewise.
56855         * lib/unistr/u8-startswith.c: Likewise.
56856         * lib/unistr/u8-stpcpy.c: Likewise.
56857         * lib/unistr/u8-stpncpy.c: Likewise.
56858         * lib/unistr/u8-strcat.c: Likewise.
56859         * lib/unistr/u8-strchr.c: Likewise.
56860         * lib/unistr/u8-strcmp.c: Likewise.
56861         * lib/unistr/u8-strcpy.c: Likewise.
56862         * lib/unistr/u8-strcspn.c: Likewise.
56863         * lib/unistr/u8-strdup.c: Likewise.
56864         * lib/unistr/u8-strlen.c: Likewise.
56865         * lib/unistr/u8-strmblen.c: Likewise.
56866         * lib/unistr/u8-strmbtouc.c: Likewise.
56867         * lib/unistr/u8-strncat.c: Likewise.
56868         * lib/unistr/u8-strncmp.c: Likewise.
56869         * lib/unistr/u8-strncpy.c: Likewise.
56870         * lib/unistr/u8-strnlen.c: Likewise.
56871         * lib/unistr/u8-strpbrk.c: Likewise.
56872         * lib/unistr/u8-strrchr.c: Likewise.
56873         * lib/unistr/u8-strspn.c: Likewise.
56874         * lib/unistr/u8-strstr.c: Likewise.
56875         * lib/unistr/u8-strtok.c: Likewise.
56876         * lib/unistr/u8-to-u16.c: Likewise.
56877         * lib/unistr/u8-to-u32.c: Likewise.
56878         * lib/unistr/u8-uctomb-aux.c: Likewise.
56879         * lib/unistr/u8-uctomb.c: Likewise.
56880         * lib/unitypes.h: Likewise.
56881         * lib/uniwidth.h: Likewise.
56882         * lib/uniwidth/cjk.h: Likewise.
56883         * lib/uniwidth/u16-strwidth.c: Likewise.
56884         * lib/uniwidth/u16-width.c: Likewise.
56885         * lib/uniwidth/u32-strwidth.c: Likewise.
56886         * lib/uniwidth/u32-width.c: Likewise.
56887         * lib/uniwidth/u8-strwidth.c: Likewise.
56888         * lib/uniwidth/u8-width.c: Likewise.
56889         * lib/uniwidth/width.c: Likewise.
56890
56891 2007-10-07  Bruno Haible  <bruno@clisp.org>
56892
56893         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
56894         The file is still under LGPL (see modules/inttypes).
56895
56896 2007-10-06  Bruno Haible  <bruno@clisp.org>
56897
56898         * modules/trunc (Dependencies): Add 'extensions'.
56899         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
56900         Reported by Ben Pfaff <blp@gnu.org>.
56901
56902 2007-10-06  Bruno Haible  <bruno@clisp.org>
56903
56904         * modules/freopen-tests: New file.
56905         * tests/test-freopen.c: New file.
56906
56907         * modules/fopen-tests: New file.
56908         * tests/test-fopen.c: New file.
56909
56910         * modules/fopen: New file.
56911         * lib/fopen.c: New file.
56912         * m4/fopen.m4: New file.
56913         * modules/freopen: New file.
56914         * lib/freopen.c: New file.
56915         * m4/freopen.m4: New file.
56916         * lib/stdio.in.h (fopen, freopen): New declarations.
56917         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
56918         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56919         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
56920         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56921         * doc/functions/fopen.texi: Mention the 'fopen' module.
56922         * doc/functions/freopen.texi: Mention the 'freopen' module.
56923
56924 2007-10-06  Bruno Haible  <bruno@clisp.org>
56925
56926         * modules/open-tests: New file.
56927         * tests/test-open.c: New file.
56928
56929         * modules/open: New file.
56930         * lib/open.c: New file.
56931         * m4/open.m4: New file.
56932         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
56933         lib/open.c does.
56934         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
56935         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
56936         macros.
56937         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
56938         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
56939         REPLACE_OPEN.
56940         * doc/functions/open.texi: Mention the 'open' module.
56941
56942 2007-10-04  Bruno Haible  <bruno@clisp.org>
56943
56944         * modules/ceill-tests: New file.
56945         * tests/test-ceill.c: New file.
56946
56947         * modules/ceill: New file.
56948         * lib/ceill.c: Replace entire file.
56949         * m4/ceill.m4: New file.
56950         * lib/math.in.h (ceill): Replace declaration.
56951         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
56952         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
56953         * doc/functions/ceill.texi: Mention the 'ceill' module.
56954         * modules/mathl (Files): Remove lib/ceill.c.
56955         (Depends-on): Add ceill.
56956
56957 2007-10-04  Bruno Haible  <bruno@clisp.org>
56958
56959         * modules/ceilf-tests: New file.
56960         * tests/test-ceilf.c: New file.
56961
56962         * modules/ceilf: New file.
56963         * lib/ceil.c: New file.
56964         * lib/ceilf.c: New file.
56965         * m4/ceilf.m4: New file.
56966         * lib/math.in.h (ceilf): New declaration.
56967         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
56968         HAVE_DECL_CEILF.
56969         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
56970         HAVE_DECL_CEILF.
56971         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
56972
56973 2007-10-04  Bruno Haible  <bruno@clisp.org>
56974
56975         * modules/floorl-tests: New file.
56976         * tests/test-floorl.c: New file.
56977
56978         * modules/floorl: New file.
56979         * lib/floorl.c: Replace entire file.
56980         * m4/floorl.m4: New file.
56981         * lib/math.in.h (floorl): Replace declaration.
56982         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
56983         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
56984         * doc/functions/floorl.texi: Mention the 'floorl' module.
56985         * modules/mathl (Files): Remove lib/floorl.c.
56986         (Depends-on): Add floorl.
56987
56988 2007-10-04  Bruno Haible  <bruno@clisp.org>
56989
56990         * modules/floorf-tests: New file.
56991         * tests/test-floorf.c: New file.
56992
56993         * modules/floorf: New file.
56994         * lib/floor.c: New file.
56995         * lib/floorf.c: New file.
56996         * m4/floorf.m4: New file.
56997         * lib/math.in.h (floorf): New declaration.
56998         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
56999         HAVE_DECL_FLOORF.
57000         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
57001         HAVE_DECL_FLOORF.
57002         * doc/functions/floorf.texi: Mention the 'floorf' module.
57003
57004 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
57005             Bruno Haible  <bruno@clisp.org>
57006
57007         Advertise for the Git server instead of the CVS server.
57008         * doc/gnulib-intro.texi (Steady Development): Mention the Git
57009         repository instead of the CVS one.
57010         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
57011         about all VCS systems generically.
57012         * doc/gnulib.texi (Introduction): Capitalize `Git'.
57013
57014 2007-10-04  Bruno Haible  <bruno@clisp.org>
57015
57016         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
57017         means.
57018         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
57019
57020 2007-10-04  Bruno Haible  <bruno@clisp.org>
57021
57022         * modules/truncl-tests: New file.
57023         * tests/test-truncl.c: New file.
57024
57025         * modules/truncl: New file.
57026         * lib/truncl.c: New file.
57027         * m4/truncl.m4: New file.
57028         * lib/math.in.h (truncl): New declaration.
57029         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
57030         HAVE_DECL_TRUNCL.
57031         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
57032         HAVE_DECL_TRUNCL.
57033         * doc/functions/truncl.texi: Mention the 'truncl' module.
57034
57035 2007-10-04  Bruno Haible  <bruno@clisp.org>
57036
57037         * modules/truncf-tests: New file.
57038         * tests/test-truncf.c: New file.
57039
57040         * modules/truncf: New file.
57041         * lib/trunc.c: Make paramerizable through USE_* macros.
57042         * lib/truncf.c: New file.
57043         * m4/truncf.m4: New file.
57044         * lib/math.in.h (truncf): New declaration.
57045         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
57046         HAVE_DECL_TRUNCF.
57047         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
57048         HAVE_DECL_TRUNCF.
57049         * doc/functions/truncf.texi: Mention the 'truncf' module.
57050
57051 2007-10-03  Bruno Haible  <bruno@clisp.org>
57052
57053         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57054         augmentation also for tests modules.
57055         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
57056         * modules/atexit-tests (Makefile.am): Likewise.
57057         * modules/binary-io-tests (Makefile.am): Likewise.
57058         * modules/c-strcase-tests (Makefile.am): Likewise.
57059         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
57060         * modules/canonicalize-tests (Makefile.am): Likewise.
57061         * modules/closein-tests (Makefile.am): Likewise.
57062         * modules/fprintf-posix-tests (Makefile.am): Likewise.
57063         * modules/freadahead-tests (Makefile.am): Likewise.
57064         * modules/fseek-tests (Makefile.am): Likewise.
57065         * modules/fseeko-tests (Makefile.am): Likewise.
57066         * modules/ftell-tests (Makefile.am): Likewise.
57067         * modules/ftello-tests (Makefile.am): Likewise.
57068         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
57069         * modules/isnanl-tests (Makefile.am): Likewise.
57070         * modules/lseek-tests (Makefile.am): Likewise.
57071         * modules/mbscasecmp-tests (Makefile.am): Likewise.
57072         * modules/mbscasestr-tests (Makefile.am): Likewise.
57073         * modules/mbschr-tests (Makefile.am): Likewise.
57074         * modules/mbscspn-tests (Makefile.am): Likewise.
57075         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
57076         * modules/mbspbrk-tests (Makefile.am): Likewise.
57077         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
57078         * modules/mbsrchr-tests (Makefile.am): Likewise.
57079         * modules/mbsspn-tests (Makefile.am): Likewise.
57080         * modules/mbsstr-tests (Makefile.am): Likewise.
57081         * modules/printf-posix-tests (Makefile.am): Likewise.
57082         * modules/snprintf-posix-tests (Makefile.am): Likewise.
57083         * modules/sprintf-posix-tests (Makefile.am): Likewise.
57084         * modules/tsearch-tests (Makefile.am): Likewise.
57085         * modules/uniname/uniname-tests (Makefile.am): Likewise.
57086         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
57087         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
57088         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
57089         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
57090         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
57091         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
57092         * modules/vprintf-posix-tests (Makefile.am): Likewise.
57093         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
57094         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
57095         * modules/xstrtoimax-tests (Makefile.am): Likewise.
57096         * modules/xstrtol-tests (Makefile.am): Likewise.
57097         * modules/xstrtoumax-tests (Makefile.am): Likewise.
57098         * modules/yesno-tests (Makefile.am): Likewise.
57099
57100 2007-10-03  Bruno Haible  <bruno@clisp.org>
57101
57102         * modules/trunc-tests: New file.
57103         * tests/test-trunc.c: New file.
57104
57105         * modules/trunc: New file.
57106         * lib/trunc.c: New file.
57107         * m4/trunc.m4: New file.
57108         * lib/math.in.h (trunc): New declaration.
57109         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
57110         HAVE_DECL_TRUNC.
57111         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
57112         HAVE_DECL_TRUNC.
57113         * doc/functions/trunc.texi: Mention the 'trunc' module.
57114
57115 2007-10-03  Bruno Haible  <bruno@clisp.org>
57116
57117         * tests/test-fpending.c: New file, mostly copied
57118         from coreutils/lib/t-fpending.c.
57119         * modules/fpending-tests: New file.
57120
57121 2007-10-03  Bruno Haible  <bruno@clisp.org>
57122
57123         Port the stdio extensions to QNX (untested).
57124         * lib/fseterr.c (fseterr): Add support for QNX.
57125         * lib/fbufmode.c (fbufmode): Likewise.
57126         * lib/freadable.c (freadable): Likewise.
57127         * lib/fwritable.c (fwritable): Likewise.
57128         * lib/freading.c (freading): Likewise.
57129         * lib/fwriting.c (fwriting): Likewise.
57130         * lib/freadahead.c (freadahed): Likewise.
57131         * lib/fpurge.c (fpurge): Likewise.
57132         * lib/fseeko.c (rpl_fseeko): Likewise.
57133
57134 2007-10-03  Bruno Haible  <bruno@clisp.org>
57135             Jim Meyering  <jim@meyering.net>
57136             Eric Blake  <ebb9@byu.net>
57137
57138         * doc/relocatable.texi: Use @command instead of @program.
57139
57140 2007-10-02  Jim Meyering  <jim@meyering.net>
57141
57142         Perform one more "_.h" -> ".in.h" substitution.
57143         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
57144         instead of unistd_.h here, too.
57145
57146 2007-10-01  Bruno Haible  <bruno@clisp.org>
57147
57148         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
57149         Needed for the alloca-opt module.
57150
57151 2007-09-30  Bruno Haible  <bruno@clisp.org>
57152
57153         * lib/alloca.in.h: Renamed from lib/alloca_.h.
57154         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
57155         alloca_.h.
57156         * lib/argz.in.h: Renamed from lib/argz_.h.
57157         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
57158         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
57159         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
57160         byteswap_.h.
57161         * lib/dirent.in.h: Renamed from lib/dirent_.h.
57162         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
57163         dirent_.h.
57164         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
57165         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
57166         fcntl_.h.
57167         * lib/float.in.h: Renamed from lib/float_.h.
57168         * modules/float (Files, Makefile.am): Use float.in.h instead of
57169         float_.h.
57170         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
57171         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
57172         fnmatch_.h.
57173         * lib/getopt.in.h: Renamed from lib/getopt_.h.
57174         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
57175         getopt_.h.
57176         * lib/glob.in.h: Renamed from lib/glob_.h.
57177         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
57178         * lib/iconv.in.h: Renamed from lib/iconv_.h.
57179         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
57180         iconv_.h.
57181         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
57182         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
57183         inttypes_.h.
57184         * lib/locale.in.h: Renamed from lib/locale_.h.
57185         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
57186         locale_.h.
57187         * lib/math.in.h: Renamed from lib/math_.h.
57188         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
57189         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
57190         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
57191         of netinet_in_.h. Add dependency.
57192         * lib/poll.in.h: Renamed from lib/poll_.h.
57193         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
57194         * lib/search.in.h: Renamed from lib/search_.h.
57195         * modules/search (Files, Makefile.am): Use search.in.h instead of
57196         search_.h.
57197         * lib/signal.in.h: Renamed from lib/signal_.h.
57198         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
57199         _signal.h.
57200         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
57201         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
57202         stdbool_.h.
57203         * lib/stdint.in.h: Renamed from lib/stdint_.h.
57204         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
57205         stdint_.h.
57206         * lib/stdio.in.h: Renamed from lib/stdio_.h.
57207         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
57208         stdio_.h.
57209         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
57210         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
57211         stdlib_.h.
57212         * lib/string.in.h: Renamed from lib/string_.h.
57213         * modules/string (Files, Makefile.am): Use string.in.h instead of
57214         string_.h.
57215         * doc/gnulib-tool.texi (Initial import): Update.
57216         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
57217         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
57218         of sys_select_.h. Add dependency.
57219         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
57220         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
57221         of sys_socket_.h.
57222         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
57223         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
57224         sys_stat_.h.
57225         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
57226         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
57227         sys_time_.h.
57228         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
57229         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
57230         sysexits_.h.
57231         * lib/time.in.h: Renamed from lib/time_.h.
57232         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
57233         * lib/unistd.in.h: Renamed from lib/unistd_.h.
57234         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
57235         unistd_.h.
57236         * lib/wchar.in.h: Renamed from lib/wchar_.h.
57237         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
57238         wchar_.h.
57239         * lib/wctype.in.h: Renamed from lib/wctype_.h.
57240         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
57241         wctype_.h.
57242         * build-aux/bootstrap (slurp): Update.
57243         * lib/.cppi-disable: Update.
57244
57245 2007-09-30  Bruno Haible  <bruno@clisp.org>
57246
57247         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
57248         Needed on BeOS.
57249
57250 2007-09-30  Bruno Haible  <bruno@clisp.org>
57251
57252         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
57253
57254 2007-09-29  Bruno Haible  <bruno@clisp.org>
57255
57256         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
57257
57258 2007-09-29  Bruno Haible  <bruno@clisp.org>
57259
57260         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
57261         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
57262         * build-aux/install-reloc: Compile also areadlink.c.
57263         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
57264
57265 2007-09-29  Bruno Haible  <bruno@clisp.org>
57266
57267         * gnulib-tool (func_emit_initmacro_done): Indentation.
57268
57269 2007-09-29  Bruno Haible  <bruno@clisp.org>
57270
57271         * README: Add CVS checkout update instructions.
57272         Info from Bob Proulx <bob@proulx.com>.
57273
57274 2007-09-28  Eric Blake  <ebb9@byu.net>
57275
57276         Provide move-if-change.
57277         * build-aux/move-if-change: New file, based on best practice
57278         rather than any canonical upstream location.
57279
57280 2007-09-28  Jim Meyering  <jim@meyering.net>
57281
57282         Fix canonicalize loop-detection corner case.
57283         Do not attempt to stat the symlink values stored via seen_triple.
57284         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
57285         on linux-2.6.18, (but not 2.6.22).
57286         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
57287         triple_compare.  The former compares dev,ino,filename, while the latter
57288         would actually stat dirname(filename) when dev and ino were equal.
57289         * lib/hash-triple.c: Install <string.h>.
57290         (STREQ): Define.
57291         (triple_compare_ino_str): New function.
57292         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
57293
57294 2007-09-28  Eric Blake  <ebb9@byu.net>
57295
57296         Enforce that AC_REPLACE_FUNCS files exist.
57297         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
57298         override check for typos.
57299
57300         Fix test-closein on Solaris 10.
57301         * tests/test-closein.c (main): Don't assume stdin can be inherited
57302         closed on all systems.
57303         * tests/test-closein.sh: Likewise.
57304         Reported by Piotr Tarnowski.
57305
57306 2007-09-28  Jim Meyering  <jim@meyering.net>
57307
57308         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
57309
57310 2007-09-27  Jim Meyering  <jim@meyering.net>
57311
57312         canonicalize: Avoid a false-positive cycle failure.
57313         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
57314         Sort.  Remove cycle-check.
57315         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
57316         not cycle-check.h.
57317         (seen_triple): New function.
57318         (canonicalize_filename_mode): Use it instead of cycle-check.
57319         * tests/test-canonicalize.c: Add a test for this bug.
57320         * tests/test-canonicalize.sh: Set up and run the test.
57321
57322         New module, file-set, from coreutils.
57323         * modules/file-set: Define it.
57324         * lib/file-set.c, lib/file-set.h: Implement.
57325
57326         New module, hash-triple, from coreutils.
57327         * modules/hash-triple: Define it.
57328         * lib/hash-triple.c, lib/hash-triple.h: Implement.
57329
57330 2007-09-25  Eric Blake  <ebb9@byu.net>
57331
57332         Fix strerror on Interix.
57333         * lib/string_.h (strerror): Declare replacement.
57334         * doc/functions/strerror.texi (strerror): Document the Interix
57335         shortcoming.
57336         * modules/string (Makefile.am): Support new hooks.
57337         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
57338         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
57339         gl_FUNC_STRERROR_SEPARATE.
57340         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
57341         * lib/strerror.c (rpl_strerror): Provide replacement.
57342         * modules/strerror (Depends-on): Add string.
57343         (configure.ac): Detect use of module.
57344         * tests/test-strerror.c: New file.
57345         * modules/strerror-tests: New test module.
57346         * modules/argp (Depends-on): Add strerror.
57347         * modules/error (Depends-on): Likewise.
57348         Reported by Martin Koeppe.
57349
57350 2007-09-24  Bruno Haible  <bruno@clisp.org>
57351
57352         * README: Update git instructions.
57353
57354 2007-09-24  Eric Blake  <ebb9@byu.net>
57355
57356         Revert fpending breakage from 2007-09-08.
57357         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
57358         __fpending.c.
57359
57360 2007-09-24  Jim Meyering  <jim@meyering.net>
57361
57362         filenamecat.c: Add a test.
57363         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
57364         showing how the function works when DIR is the empty string.
57365
57366 2007-09-21  Simon Josefsson  <simon@josefsson.org>
57367
57368         * tests/test-canonicalize.sh: Turn on executable bit.
57369
57370 2007-09-19  Eric Blake  <ebb9@byu.net>
57371
57372         * README: Update CVS instructions.
57373
57374 2007-09-18  Bruno Haible  <bruno@clisp.org>
57375
57376         * modules/areadlink: New file.
57377         * lib/areadlink.h (areadlink): New declaration.
57378         * lib/areadlink.c: New file, based on lib/xreadlink.c.
57379
57380 2007-09-17  Jim Meyering  <jim@meyering.net>
57381
57382         * lib/savewd.c (ESTALE) [!defined]: Define.
57383         Reported to be required on Interix by Martin Koeppe.
57384
57385 2007-09-17  Bruno Haible  <bruno@clisp.org>
57386
57387         * gnulib-tool (func_version): Use $version.
57388
57389 2007-09-16  Bruno Haible  <bruno@clisp.org>
57390
57391         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
57392         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
57393         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
57394         Reported by Greg Schafer <gschafer@zip.com.au>.
57395
57396 2007-09-15  Bruno Haible  <bruno@clisp.org>
57397
57398         * gnulib-tool (sed): Try a little harder to make bash understand the
57399         alias.
57400         Reported by Bruce Korb <bruce.korb@gmail.com>.
57401
57402 2007-09-13  Eric Blake  <ebb9@byu.net>
57403
57404         * ChangeLog: Remove conflict markers.
57405
57406 2007-09-13  Simon Josefsson  <simon@josefsson.org>
57407
57408         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
57409         Reported by Bruno Haible <bruno@clisp.org>.
57410
57411 2007-09-12  Bruno Haible  <bruno@clisp.org>
57412
57413         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
57414         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
57415         is not defined.
57416
57417 2007-09-12  Eric Blake  <ebb9@byu.net>
57418
57419         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
57420         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
57421         Autoconf definition.
57422         * modules/euidaccess (Depends-on): Add extensions, for
57423         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
57424         * modules/fnmatch (Depends-on): Likewise.
57425         * modules/getaddrinfo (Depends-on): Likewise.
57426         * modules/getdelim (Depends-on): Likewise.
57427         * modules/getline (Depends-on): Likewise.
57428         * modules/getsubopt (Depends-on): Likewise.
57429         * modules/gettext (Depends-on): Likewise.
57430         * modules/group-member (Depends-on): Likewise.
57431         * modules/mbchar (Depends-on): Likewise.
57432         * modules/memmem (Depends-on): Likewise.
57433         * modules/mempcpy (Depends-on): Likewise.
57434         * modules/memrchr (Depends-on): Likewise.
57435         * modules/pagealign_alloc (Depends-on): Likewise.
57436         * modules/readutmp (Depends-on): Likewise.
57437         * modules/stpcpy (Depends-on): Likewise.
57438         * modules/stpncpy (Depends-on): Likewise.
57439         * modules/strchrnul (Depends-on): Likewise.
57440         * modules/strndup (Depends-on): Likewise.
57441         * modules/strsep (Depends-on): Likewise.
57442         * modules/strverscmp (Depends-on): Likewise.
57443         * modules/vasprintf (Depends-on): Likewise.
57444         * modules/wcwidth (Depends-on): Likewise.
57445         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
57446         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
57447         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
57448         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
57449         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57450         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
57451         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
57452         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
57453         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
57454         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
57455         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57456         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
57457         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
57458         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
57459         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
57460         * m4/readutmp.m4 (gl_READUTMP): Likewise.
57461         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57462         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
57463         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
57464         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
57465         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57466         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
57467         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
57468         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
57469         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
57470         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57471         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
57472         so that lock.m4 can be used in gettext without extensions module.
57473
57474 2007-09-11  Bruno Haible  <bruno@clisp.org>
57475
57476         * m4/isc-posix.m4: Remove file.
57477         Suggested by Eric Blake.
57478
57479 2007-09-11  Eric Blake  <ebb9@byu.net>
57480
57481         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
57482
57483 2007-09-10  Bruno Haible  <bruno@clisp.org>
57484
57485         * posix-modules: Fix typo in error message.
57486         Reported by Matt <mkraai@beckman.com>.
57487
57488 2007-09-09  Bruno Haible  <bruno@clisp.org>
57489
57490         * doc/functions/getdelim.texi: Update list of platforms lacking the
57491         function.
57492         * doc/functions/getline.texi: Likewise.
57493
57494 2007-09-09  Jim Meyering  <jim@meyering.net>
57495
57496         * lib/hash.c (hash_initialize): Detect calloc failure.
57497         Reported by Bruno Haible.
57498
57499 2007-09-09  Bruno Haible  <bruno@clisp.org>
57500
57501         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
57502         malloc or realloc fails.
57503
57504 2007-09-09  Bruno Haible  <bruno@clisp.org>
57505
57506         * modules/getcwd (Depends-on): Add malloc-posix.
57507         * modules/glob (Depends-on): Likewise.
57508         * modules/putenv (Depends-on): Likewise.
57509         * modules/strdup (Depends-on): Likewise.
57510         * modules/getdelim (Depends-on): Add realloc-posix.
57511         * modules/read-file (Depends-on): Likewise.
57512
57513 2007-09-09  Bruno Haible  <bruno@clisp.org>
57514
57515         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
57516         (gl_FUNC_MALLOC_POSIX): Require it.
57517         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
57518         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
57519         * modules/realloc (Files): Add m4/malloc.m4.
57520         * modules/calloc (Files): Likewise.
57521
57522 2007-09-09  Bruno Haible  <bruno@clisp.org>
57523
57524         * modules/malloc-posix: New file.
57525         * modules/malloc (Depends-on): Add malloc-posix.
57526         * lib/malloc.c: Include errno.h.
57527         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
57528         and a POSIX-compatible malloc into a single function. Set ENOMEM
57529         when returning NULL.
57530         * m4/malloc.m4: New file.
57531         * doc/functions/malloc.texi: Mention the malloc-posix module.
57532         * lib/stdlib_.h (malloc): New declaration.
57533         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
57534         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
57535         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
57536         and HAVE_MALLOC_POSIX.
57537
57538 2007-09-09  Bruno Haible  <bruno@clisp.org>
57539
57540         * modules/realloc-posix: New file.
57541         * modules/realloc (Depends-on): Add realloc-posix.
57542         * lib/realloc.c: Include errno.h.
57543         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
57544         and a POSIX-compatible realloc into a single function. Set ENOMEM
57545         when returning NULL.
57546         * m4/realloc.m4: New file.
57547         * doc/functions/realloc.texi: Mention the realloc-posix module.
57548         * lib/stdlib_.h (realloc): New declaration.
57549         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
57550         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
57551         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
57552         and HAVE_REALLOC_POSIX.
57553
57554 2007-09-09  Bruno Haible  <bruno@clisp.org>
57555
57556         * modules/calloc-posix: New file.
57557         * modules/calloc (Depends-on): Add calloc-posix.
57558         * lib/calloc.c: Include errno.h.
57559         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
57560         and a POSIX-compatible calloc into a single function. Set ENOMEM
57561         when returning NULL.
57562         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
57563         * doc/functions/calloc.texi: Mention the calloc-posix module.
57564         * lib/stdlib_.h (calloc): New declaration.
57565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
57566         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
57567         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
57568         and HAVE_CALLOC_POSIX.
57569
57570 2007-09-09  Bruno Haible  <bruno@clisp.org>
57571
57572         Allow for modules to show an arbitrary notice.
57573         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
57574         * gnulib-tool: New option --extract-notice.
57575         (func_usage): Document it.
57576         (sed_extract_prog): Update.
57577         (func_get_notice): New function.
57578         (func_modules_notice): New function.
57579         (func_import, func_create_testdir): Invoke it.
57580         Suggested by Jim Meyering.
57581
57582 2007-09-09  Bruno Haible  <bruno@clisp.org>
57583
57584         * gnulib-tool: New options --verbose, --quiet.
57585         (func_usage): Document them.
57586         (verbose): New variable.
57587         (func_execute_command): New function.
57588         (func_import): Don't show the module list and the file list if
57589         $verbose < 0.
57590         (func_create_testdir): Likewise. Use func_execute_command.
57591         (func_create_megatestdir): Use func_execute_command.
57592
57593 2007-09-08  Bruno Haible  <bruno@clisp.org>
57594
57595         * gnulib-tool (func_import): Prefer rsync over wget when available,
57596         for fetching the PO files.
57597
57598 2007-09-08  Bruno Haible  <bruno@clisp.org>
57599
57600         * posix-modules: New file. Portions copied from gnulib-tool.
57601         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
57602
57603 2007-09-08  Jim Meyering  <jim@meyering.net>
57604
57605         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
57606         * lib/fpending.h: Rename from __fpending.h.
57607         * lib/fpending.c: Rename from __fpending.c.
57608         Include "fpending.h", not "__fpending.h".
57609         * lib/__fpending.h, lib/__fpending.c: Remove files.
57610         * modules/fpending (Files): Reflect new file names.
57611         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
57612
57613 2007-09-08  Bruno Haible  <bruno@clisp.org>
57614
57615         * m4/inttypes-h.m4: Remove stub file.
57616
57617 2007-09-07  Simon Josefsson  <simon@josefsson.org>
57618
57619         * doc/headers/stdint.texi: Discuss #include_next issue.
57620
57621 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
57622
57623         * build-aux/bootstrap: Remove obsolete comment about wget --help.
57624
57625 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57626
57627         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
57628         in variable name.
57629
57630 2007-09-03  Jim Meyering  <jim@meyering.net>
57631
57632         New module: git-version-gen.
57633         * modules/git-version-gen: New file.
57634
57635         Import changes from coreutils for bootstrap script.
57636
57637         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
57638
57639         bootstrap: uses rsync to download the .po files
57640         * build-aux/bootstrap (po_download_command_format): New global.
57641         (download_po_files): Use rsync.
57642         (update_po_files): Don't remove .po files after download,
57643         so future rsync runs can take advantage of the copies.
57644
57645         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
57646
57647         Solve the unnecessary-.po-file-regeneration problem once and for all.
57648         * build-aux/bootstrap (download_po_files): New function, renamed from
57649         get_translations.  Now, downloads, but doesn't update LINGUAS.
57650         (update_po_files): New function.
57651
57652         bootstrap: Ignore more.
57653         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
57654         uniwidth to e.g., lib/.gitignore.
57655         (slurp): Handle the sys_stat_.h -> sys mapping, too.
57656
57657         * build-aux/bootstrap: New setting: vc_ignore.
57658         (insert_sorted_if_absent): Create $file if absent.
57659         Adapt to new, possibly empty, list: $vc_ignore.
57660
57661         bootstrap: generate more ignorable names
57662         * build-aux/bootstrap (slurp): When generating ignorable names,
57663         also map .sin to .sed, .gperf to .c, and .y to .c.
57664
57665 2007-09-03  Jim Meyering  <jim@meyering.net>
57666
57667         * build-aux/git-version-gen: New file, from coreutils.  For details, see
57668         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
57669
57670 2007-09-02  Bruno Haible  <bruno@clisp.org>
57671
57672         Fix mis-recognition of 'mcs' on QNX 6.
57673         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
57674         output contains the string "Mono".
57675         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
57676         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
57677
57678 2007-09-01  Bruno Haible  <bruno@clisp.org>
57679
57680         Fix collision between uniwidth/* and linebreak modules.
57681         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
57682         u32_width): Remove declarations.
57683         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
57684         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
57685         streq3, streq2, streq1, streq0): Remove functions.
57686         (STREQ): Remove macro.
57687         (is_cjk_encoding): Remove function.
57688         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
57689         (uc_width, u8_width, u16_width, u32_width): Remove functions.
57690         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
57691         * NEWS: Document the change.
57692
57693 2007-09-01  Bruno Haible  <bruno@clisp.org>
57694
57695         * lib/streq.h: Add double-inclusion guard.
57696
57697 2007-09-01  Karl Berry  <karl@gnu.org>
57698
57699         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
57700
57701 2007-08-28  Jim Meyering  <jim@meyering.net>
57702
57703         Rename mreadlink_with_size to areadlink_with_size.
57704         * NEWS: Document the change.
57705         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
57706         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
57707         * lib/mreadlink.h: Rename this to...
57708         * lib/areadlink.h: ...this.
57709         * modules/mreadlink-with-size: Rename this to...
57710         * modules/areadlink-with-size: ...this.
57711         * lib/canonicalize.c: Reflect the renaming.
57712         * modules/canonicalize: Likewise.
57713
57714 2007-08-26  Bruno Haible  <bruno@clisp.org>
57715
57716         * gnulib-tool (func_import): When deciding which files to remove,
57717         consider also dangling symbolic links.
57718         Reported by Eric Blake.
57719
57720 2007-08-26  Bruno Haible  <bruno@clisp.org>
57721
57722         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
57723
57724 2007-08-23  Simon Josefsson  <simon@josefsson.org>
57725
57726         * lib/readline.c: Don't include getline.h, the prototype is now
57727         found in stdio.h.
57728
57729 2007-08-23  Jim Meyering  <jim@meyering.net>
57730
57731         Getdelim touchup.
57732         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
57733         around the funlockfile call, since funlockfile never sets errno.
57734         Don't set errno upon failed realloc.
57735
57736 2007-08-22  Eric Blake  <ebb9@byu.net>
57737
57738         Getline touchups.
57739         * lib/getdelim.c (getdelim): Revert regression that required *n to
57740         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
57741         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
57742         getdelim, rather than whether implementation is missing.
57743         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
57744         * lib/stdio_.h (getline): Also declare if replacement is
57745         required.
57746         * doc/functions/getdelim.texi: New file.
57747         * doc/functions/getline.texi: Likewise.
57748         * doc/gnulib.texi (Function Substitutes): Add new files.
57749         Reported by Bruno Haible.
57750
57751 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
57752
57753         * users.txt: Add Guile.
57754
57755 2007-08-22  Eric Blake  <ebb9@byu.net>
57756
57757         * tests/test-getdelim.c (main): Use remove, not unlink.
57758         * tests/test-getline.c (main): Likewise.
57759
57760         Move getline and getdelim into stdio.h, per POSIX 200x.
57761         * modules/getline (Files): Remove getline.h.
57762         (Depends-on): Add stdio.
57763         (configure.ac): Add module indicator.
57764         * modules/getdelim (Files): Remove getdelim.h.
57765         (Depends-on): Add stdio.
57766         (configure.ac): Add module indicator.
57767         * modules/stdio (Makefile.am): Work with new indicators.
57768         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
57769         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
57770         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
57771         * lib/getdelim.h: Delete.
57772         * lib/getline.h: Delete.
57773         * lib/stdio_.h (getdelim, getline): Declare.
57774         * modules/getdelim-tests: New module.
57775         * modules/getline-tests: Likewise.
57776         * tests/test-getdelim.c: New file.
57777         * tests/test-getline.c: Likewise.
57778         * NEWS: Document the change.
57779         * lib/getline.c: Update choice of header.
57780         * lib/csharpcomp.c: Likewise.
57781         * lib/getpass.c: Likewise.
57782         * lib/javacomp.c: Likewise.
57783         * lib/javaversion.c: Likewise.
57784         * lib/yesno.c: Likewise.
57785         * lib/getdelim.c: Likewise.
57786         (getdelim): Set errno on failure, and avoid memory leak.
57787
57788 2007-08-19  Bruno Haible  <bruno@clisp.org>
57789
57790         * modules/closein (Depends-on): Add freadahead.
57791         * lib/closein.c: Include freadahead.h.
57792         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
57793         is zero.
57794
57795 2007-08-19  Bruno Haible  <bruno@clisp.org>
57796
57797         * modules/freadahead-tests: New file.
57798         * tests/test-freadahead.sh: New file.
57799         * tests/test-freadahead.c: New file.
57800
57801         * modules/freadahead: New file.
57802         * lib/freadahead.h: New file.
57803         * lib/freadahead.c: New file.
57804         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
57805         fbufmode, fpurge, freadable, fwritable.
57806
57807 2007-08-19  Eric Blake  <ebb9@byu.net>
57808
57809         Test yesno in combination with closein.
57810         * lib/yesno.c (yesno): Document use of stdin.
57811         * modules/yesno-tests (Files): New module.
57812         * tests/test-yesno.c (main): New file.
57813         * tests/test-yesno.sh: Likewise.
57814
57815 2007-08-19  Bruno Haible  <bruno@clisp.org>
57816
57817         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
57818         * lib/fseeko.c (rpl_fseeko): Likewise.
57819         * lib/fseterr.c (fseterr): Likewise.
57820
57821 2007-08-19  Bruno Haible  <bruno@clisp.org>
57822
57823         * tests/test-lseek.c (main): Disable a test for BeOS.
57824         * doc/functions/lseek.texi: Document the BeOS bug.
57825
57826 2007-08-19  Bruno Haible  <bruno@clisp.org>
57827             Eric Blake  <ebb9@byu.net>
57828
57829         * lib/lseek.c: Include <sys/stat.h>.
57830         (rpl_lseek): Add workaround code also for Unix platforms.
57831         Needed for BeOS.
57832         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
57833         * doc/functions/lseek.texi: Document BeOS definiency.
57834
57835 2007-08-18  Bruno Haible  <bruno@clisp.org>
57836
57837         * modules/fstrcmp-tests: New file.
57838         * tests/test-fstrcmp.c: New file.
57839
57840 2007-08-18  Bruno Haible  <bruno@clisp.org>
57841
57842         * modules/fstrcmp: New file, from GNU gettext with modifications.
57843         * lib/fstrcmp.h: New file, from GNU gettext.
57844         * lib/fstrcmp.c: New file, from GNU gettext.
57845         * MODULES.html.sh (String handling): Add fstrcmp.
57846
57847 2007-08-18  Bruno Haible  <bruno@clisp.org>
57848
57849         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
57850         'bool'.
57851         (diag, compareseq): Remove const from the ctxt argument.
57852         (USE_HEURISTIC): Undefine at the end.
57853
57854 2007-08-18  Jim Meyering  <jim@meyering.net>
57855
57856         New file: lib/idcache.h
57857         * NEWS: Mention the addition.
57858         * modules/idcache (Files): Add lib/idcache.h
57859         * lib/idcache.c: Include "idcache.h".
57860         Don't include <sys/types.h>.
57861         Add a FIXME comment.
57862         Move file-scoped "static" declarations to the top.
57863         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
57864
57865 2007-08-17  Bruno Haible  <bruno@clisp.org>
57866         and Paul Eggert  <eggert@cs.ucla.edu>
57867
57868         * MODULES.html.sh: Add diffseq.
57869         * modules/diffseq: New file.
57870         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
57871         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
57872
57873 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57874
57875         Import changes from coreutils for bootstrap script.
57876
57877         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
57878
57879         * build-aux/bootstrap (slurp): Work even in environments where
57880         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
57881         current code does not slurp files whose names start with ".", and
57882         this looks like it might be a troublesome area.
57883
57884         2007-07-11  Jim Meyering  <jim@meyering.net>
57885
57886         If there's a GPL vN copyright comment, require that N == 3.
57887
57888         2007-07-08  Jim Meyering  <jim@meyering.net>
57889
57890         Run the coreutils-specific code only if tests/Makefile.am.in exists.
57891         * build-aux/bootstrap (mam_template): Move definition out of loop.
57892
57893         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
57894
57895         * build-aux/bootstrap (symlink_to_dir): Rename function from
57896         symlink_to_gnulib.  Add a directory parameter.  Update all
57897         callers.
57898         (cp_mark_as_generated): Also check for -- and link to -- files in
57899         gl/.
57900
57901         2007-07-08  Jim Meyering  <jim@meyering.net>
57902
57903         Adapt to deeper hierarchy in gnulib.
57904         * build-aux/bootstrap (symlink_to_dir): If the destination
57905         directory doesn't exist, create it. This is required at least for
57906         "lib/uniwidth/cjk.h".
57907
57908         2007-05-15  Jim Meyering  <jim@meyering.net>
57909
57910         * build-aux/bootstrap: Now that generated Makefile.am files
57911         are no longer under version control, they must be created at
57912         bootstrap time.
57913
57914 2007-08-14  Ben Pfaff  <blp@gnu.org>
57915
57916         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
57917
57918 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57919
57920         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
57921         given the changes below.
57922         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
57923         even on hosts that have padding bits beyond the supported 64.
57924
57925 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57926
57927         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
57928         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
57929         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
57930         depends on it.
57931         (xstrtol_error): Remove.
57932         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
57933         but with a different signature.
57934         (ATTRIBUTE_NORETURN, __attribute__): New macros.
57935         * lib/xstrtol-error.c: Include exitfail.h.
57936         (xstrtol_fatal): New function, with a different signature from the
57937         old xstrtol_error, so that the caller need not worry about passing
57938         in an exit status, or about storage management of the option argument.
57939         (xstrtol_error): Now a static function.  Redo signature to
57940         implement xstrtol_fatal.  Output the correct number of hyphens in
57941         front of the option so that the caller need not worry about
57942         storage management.
57943         (N_): New macro.
57944         (_): Remove; not used now.
57945         * modules/xstrtol: Depend on getopt.
57946         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
57947         of old STRTOL_FATAL_ERROR macro.
57948         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
57949         of test program.
57950         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
57951         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
57952
57953 2007-08-08  Eric Blake  <ebb9@byu.net>
57954
57955         * lib/xstrtol-error.c: Add missing include.
57956
57957         Move xstrtol messages into gnulib domain, when --pobase is used.
57958         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
57959         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
57960         * modules/xstrtol (Files): Distribute new file.
57961         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
57962         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
57963         * tests/test-xstrtol.c: ...into new file.
57964         * tests/test-xstrtoul.c: Also test xstrtoul.
57965         * tests/test-xstrtoimax.c: Also test xstrtoimax.
57966         * tests/test-xstrtoumax.c: Also test xstrtoumax.
57967         * tests/test-xstrtol.sh: Drive the tests.
57968         * tests/test-xstrtoimax.sh: Likewise.
57969         * tests/test-xstrtoumax.sh: Likewise.
57970         * modules/xstrtol-tests: New module.
57971         * modules/xstrtoimax-tests: Likewise.
57972         * modules/xstrtoumax-tests: Likewise.
57973
57974 2007-08-08  Jim Meyering  <jim@meyering.net>
57975
57976         New function: mfile_name_concat.
57977         * lib/filenamecat.c (mfile_name_concat): New function, just like
57978         file_name_concat, but return NULL upon failure rather than exiting
57979         with a diagnostic.
57980         * lib/filenamecat.h: Declare it.
57981
57982 2007-08-07  Bruno Haible  <bruno@clisp.org>
57983
57984         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
57985         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
57986         warning from gcc.
57987         Reported by Eric Blake.
57988
57989 2007-08-07  Simon Josefsson  <simon@josefsson.org>
57990
57991         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
57992         * modules/crypto/arcfour (License): Likewise.
57993         * modules/crypto/des-tests (License): Likewise.
57994         * modules/crypto/gc-arctwo-tests (License): Likewise.
57995         * modules/crypto/gc-des-tests (License): Likewise.
57996         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
57997         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
57998         * modules/crypto/gc-md2-tests (License): Likewise.
57999         * modules/crypto/gc-md4-tests (License): Likewise.
58000         * modules/crypto/gc-md5-tests (License): Likewise.
58001         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
58002         * modules/crypto/gc-rijndael-tests (License): Likewise.
58003         * modules/crypto/gc-sha1-tests (License): Likewise.
58004         * modules/crypto/gc-tests (License): Likewise.
58005         * modules/crypto/hmac-md5 (License): Likewise.
58006         * modules/crypto/hmac-sha1 (License): Likewise.
58007         * modules/crypto/md2-tests (License): Likewise.
58008         * modules/crypto/md4-tests (License): Likewise.
58009         * modules/crypto/md5 (License): Likewise.
58010         * modules/crypto/rijndael (License): Likewise.
58011         * modules/crypto/sha1 (License): Likewise.
58012         * modules/memxor (License): Likewise.
58013
58014 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58015         and Bruno Haible  <bruno@clisp.org>
58016
58017         * NEWS: Describe interface changes to human, xstrtol.
58018         * lib/human.h: Include <xstrtol.h>.
58019         (human_options): Return enum strtol_error, not int.  Remove
58020         bool arg; take int * instead.
58021         * lib/human.c: Don't include "gettext.h".
58022         (_): Remove; no longer used.
58023         Don't include <xstrtol.h>, since human.h does it.
58024         (human_options): Adjust to abovementioned interface changes.
58025         Do not report error to stderr; that's now the caller's
58026         responsibility.
58027         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
58028         interface change.
58029         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
58030         Str, Argument_type_string.  All uses changed.  Put " argument"
58031         in diagnostics to make them clearer.  Change wording of suffix
58032         message for clarity.
58033         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
58034         Argument_type_string.
58035         (STRTOL_FATAL_WARN): Remove; no longer used.
58036         * modules/human (Depends-on): Remove gettext-h.
58037
58038 2007-08-06  Simon Josefsson  <simon@josefsson.org>
58039
58040         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
58041
58042 2007-07-31  Bruno Haible  <bruno@clisp.org>
58043
58044         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
58045         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
58046         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
58047
58048 2007-07-31  Bruno Haible  <bruno@clisp.org>
58049
58050         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
58051         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
58052
58053 2007-07-30  Bruno Haible  <bruno@clisp.org>
58054
58055         * modules/base64 (License): Use the synonymous term "LGPLv2+".
58056         * modules/c-ctype (License): Likewise.
58057         * modules/c-strcase (License): Likewise.
58058         * modules/check-version (License): Likewise.
58059         * modules/iconv (License): Likewise.
58060         * modules/iconv_open (License): Likewise.
58061         * modules/read-file (License): Likewise.
58062         * modules/striconv (License): Likewise.
58063         * modules/strverscmp (License): Likewise.
58064         * modules/vasprintf (License): Likewise.
58065         * modules/crypto/des (License): Likewise.
58066         * modules/crypto/gc (License): Likewise.
58067         * modules/crypto/gc-arcfour (License): Likewise.
58068         * modules/crypto/gc-arctwo (License): Likewise.
58069         * modules/crypto/gc-des (License): Likewise.
58070         * modules/crypto/gc-hmac-md5 (License): Likewise.
58071         * modules/crypto/gc-hmac-sha1 (License): Likewise.
58072         * modules/crypto/gc-md2 (License): Likewise.
58073         * modules/crypto/gc-md4 (License): Likewise.
58074         * modules/crypto/gc-md5 (License): Likewise.
58075         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
58076         * modules/crypto/gc-random (License): Likewise.
58077         * modules/crypto/gc-rijndael (License): Likewise.
58078         * modules/crypto/gc-sha1 (License): Likewise.
58079         * modules/crypto/md2 (License): Likewise.
58080         * modules/crypto/md4 (License): Likewise.
58081
58082 2007-07-30  Jim Meyering  <jim@meyering.net>
58083
58084         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
58085         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
58086         it has valid stat data.  This bug would cause du not to count the
58087         sizes of inaccessible directories.
58088         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
58089         in <http://bugzilla.redhat.com/250077>.
58090
58091 2007-07-25  Peter O'Gorman  <peter@pogma.com>
58092             Bruno Haible  <bruno@clisp.org>
58093
58094         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
58095         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
58096         #include_next, gives a diagnostic about it, but reports no error in
58097         the exit code.
58098         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
58099
58100 2007-07-24  Ben Pfaff  <blp@gnu.org>
58101
58102         Improve name: "count-one-bits" is better than "popcount".
58103         * MODULES.html.sh: Update name.
58104         * lib/popcount.h: Renamed lib/count-one-bits.h.
58105         (popcount): Renamed count_one_bits.
58106         (popcountl): Renamed count_one_bits_l.
58107         (popcountll): Renamed count_one_bits_ll.
58108         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
58109         * modules/popcount: Renamed module/count-one-bits.
58110         * modules/popcount-tests: Renamed module/count-one-bits-tests.
58111         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
58112
58113 2007-07-23  Ben Pfaff  <blp@gnu.org>
58114
58115         * lib/popcount.h (popcount32): Reduce size of constants, to allow
58116         better code generation, and add U to large constants to avoid
58117         warnings, in non-GCC case.
58118         Suggested by Bruno Haible.
58119
58120 2007-07-23  Ben Pfaff  <blp@gnu.org>
58121
58122         * lib/popcount.h: Use verify_true instead of if...abort.
58123         * modules/popcount: Depend on verify module.
58124         Suggested by Jim Meyering.
58125
58126 2007-07-23  Bruno Haible  <bruno@clisp.org>
58127
58128         * gnulib-tool (func_import): Create a .cvsignore file also when the
58129         directory is not yet in CVS but the toplevel directory is. When
58130         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
58131         Reported by Karl Berry.
58132
58133 2007-07-22  Ben Pfaff  <blp@gnu.org>
58134
58135         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
58136         case.
58137         Suggested by Eric Blake.
58138
58139 2007-07-22  Ben Pfaff  <blp@gnu.org>
58140
58141         New module: popcount.
58142         * MODULES.html.sh: Add popcount.
58143         * modules/popcount: New file.
58144         * modules/popcount-tests: New file.
58145         * tests/test-popcount.c: New file.
58146         * lib/popcount.h: New file.
58147         * m4/popcount.m4: New file.
58148
58149 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58150
58151         * build-aux/announce-gen: Update to GPLv3.
58152
58153         * build-aux/config.guess: Update from config.
58154
58155 2007-07-21  Bruno Haible  <bruno@clisp.org>
58156
58157         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
58158         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
58159
58160 2007-07-20  Jim Meyering  <jim@meyering.net>
58161
58162         * check-module: Diagnose a self-dependency.
58163
58164 2007-07-19  Bruno Haible  <bruno@clisp.org>
58165
58166         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
58167         empty.
58168         Reported by Eric Blake.
58169
58170 2007-07-18  Bruno Haible  <bruno@clisp.org>
58171
58172         * gnulib-tool: New options --po-base, --po-domain.
58173         (func_usage): Document them.
58174         (pobase, po_domain): New variables.
58175         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
58176         DEFAULT_TEXT_DOMAIN.
58177         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
58178         (func_import): Consider pobase and po_domain. Create a po/ directory.
58179         (func_create_testdir): Set pobase and po_domain to empty.
58180         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
58181         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
58182
58183 2007-07-18  Bruno Haible  <bruno@clisp.org>
58184
58185         * gnulib-tool (func_get_automake_snippet): Synthesize also an
58186         EXTRA_DIST augmentation for files in build-aux/.
58187
58188 2007-07-16  Bruno Haible  <bruno@clisp.org>
58189
58190         * modules/lseek (License): Use the synonymous term "LGPLv2+".
58191         * modules/getdelim (License): Likewise.
58192
58193 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58194
58195         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
58196         * modules/d-type (License): Likewise.
58197         * modules/extensions (License): Likewise.
58198         * modules/fnmatch (License): Likewise.
58199         * modules/fseeko (License): Likewise.
58200         * modules/getaddrinfo (License): Likewise.
58201         * modules/getline (License): Likewise.
58202         * modules/getlogin_r (License): Likewise.
58203         * modules/getpass (License): Likewise.
58204         * modules/gettimeofday (License): Likewise.
58205         * modules/glob (License): Likewise.
58206         * modules/inet_ntop (License): Likewise.
58207         * modules/malloc (License): Likewise.
58208         * modules/malloca (License): Likewise.
58209         * modules/memmem (License): Likewise.
58210         * modules/mempcpy (License): Likewise.
58211         * modules/memset (License): Likewise.
58212         * modules/minmax (License): Likewise.
58213         * modules/mktime (License): Likewise.
58214         * modules/netinet_in (License): Likewise.
58215         * modules/pathmax (License): Likewise.
58216         * modules/poll (License): Likewise.
58217         * modules/regex (License): Likewise.
58218         * modules/snprintf (License): Likewise.
58219         * modules/stdbool (License): Likewise.
58220         * modules/stdint (License): Likewise.
58221         * modules/stdio (License): Likewise.
58222         * modules/strcase (License): Likewise.
58223         * modules/strcasestr (License): Likewise.
58224         * modules/strdup (License): Likewise.
58225         * modules/string (License): Likewise.
58226         * modules/strndup (License): Likewise.
58227         * modules/strnlen (License): Likewise.
58228         * modules/strpbrk (License): Likewise.
58229         * modules/strptime (License): Likewise.
58230         * modules/strsep (License): Likewise.
58231         * modules/sys_select (License): Likewise.
58232         * modules/sys_socket (License): Likewise.
58233         * modules/sys_stat (License): Likewise.
58234         * modules/sys_time (License): Likewise.
58235         * modules/time (License): Likewise.
58236         * modules/time_r (License): Likewise.
58237         * modules/timegm (License): Likewise.
58238         * modules/unistd (License): Likewise.
58239         * modules/vsnprintf (License): Likewise.
58240         * modules/wctype (License): Likewise.
58241
58242 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58243
58244         * modules/argz (License): LGPLv2+.
58245
58246 2007-07-15  Karl Berry  <karl@gnu.org>
58247
58248         * doc/gnulib.texi: revise node structure per new fdl.texi.
58249
58250 2007-07-14  Bruno Haible  <bruno@clisp.org>
58251
58252         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
58253         the output file.
58254         * lib/uniname/uninames.h: Regenerated.
58255
58256 2007-07-14  Karl Berry  <karl@gnu.org>
58257
58258         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
58259         omitting sectioning and index commands.
58260
58261 2007-07-13  Bruno Haible  <bruno@clisp.org>
58262
58263         New gnulib-tool option --more-symlinks.
58264         * gnulib-tool (func_usage): Document --more-symlinks.
58265         (do_copyrights): New variable.
58266         Recognize option --more-symlinks.
58267         (func_import): Don't add a copyright notice transform to
58268         sed_transform_lib_file if do_copyrights is empty.
58269
58270 2007-07-13  Bruno Haible  <bruno@clisp.org>
58271
58272         * lib/vasnprintf.c (decimal_point_char): Define also if
58273         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
58274         && !NEED_PRINTF_DIRECTIVE_A.
58275         Reported by Clemens Koller <clemens.koller@anagramm.de> via
58276         Gary V. Vaughan <gary@gnu.org>.
58277
58278 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
58279
58280         * lib/inttypes_.h: Undo previous change, since it was fixed
58281         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
58282
58283 2007-07-13  Bruno Haible  <bruno@clisp.org>
58284
58285         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
58286         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
58287
58288 2007-07-13  Jim Meyering  <jim@meyering.net>
58289
58290         df: Don't fail for Tru64's "file-on-file mount".
58291         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
58292         so we fall through and use statfs instead.  Details here:
58293         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
58294         Reported by Albert Chin.
58295
58296 2007-07-13  Bruno Haible  <bruno@clisp.org>
58297
58298         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
58299         * modules/configmake (License): Likewise.
58300         * modules/gettext (License): Likewise.
58301         * modules/gettext-h (License): Likewise.
58302         * modules/include_next (License): Likewise.
58303         * modules/link-warning (License): Likewise.
58304         * modules/localcharset (License): Likewise.
58305         * modules/localename (License): Likewise.
58306         * modules/lock (License): Likewise.
58307         * modules/relocatable-lib-lgpl (License): Likewise.
58308         * modules/size_max (License): Likewise.
58309         * modules/vasnprintf (License): Likewise.
58310         * modules/wchar (License): Likewise.
58311         * modules/xsize (License): Likewise.
58312
58313 2007-07-13  Bruno Haible  <bruno@clisp.org>
58314
58315         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
58316         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
58317
58318 2007-07-12  Bruno Haible  <bruno@clisp.org>
58319
58320         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
58321         in the modules files.
58322
58323 2007-07-11  Karl Berry  <karl@gnu.org>
58324
58325         * MODULES.html.sh (func_module): use
58326          sed -e '\|^'"${includefile}"'$|d'
58327          instead of /.../d, to avoid errors on $includefile's containing /.
58328
58329 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
58330
58331         * gnulib-tool (func_import): Avoid duplication of --avoid
58332         statements
58333         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
58334         names to `_' in variable names.
58335
58336 2007-07-10  Eric Blake  <ebb9@byu.net>
58337
58338         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
58339         * NEWS: Document this change.
58340
58341 2007-07-08  Bruno Haible  <bruno@clisp.org>
58342
58343         Update to Unicode 5.0.
58344         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
58345         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
58346         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
58347         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
58348         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
58349         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
58350         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
58351         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
58352         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
58353         U+10A3F, U+1D242..U+1D244.
58354         (nonspacing_table_ind): Update.
58355         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
58356         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
58357
58358 2007-07-08  Bruno Haible  <bruno@clisp.org>
58359
58360         Update to Unicode 5.0.
58361         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
58362         code transform. Extend the name index field of unicode_name_to_code and
58363         unicode_code_to_name from 16 to 24 bits.
58364         * lib/uniname/uniname.c (unicode_character_name,
58365         unicode_name_character): Add the range 0x12xxx to the code transform.
58366         * lib/uniname/uninames.h: Regenerated.
58367         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
58368
58369 2007-07-07  Bruno Haible  <bruno@clisp.org>
58370
58371         * modules/wcwidth-tests: New file.
58372         * tests/test-wcwidth.c: New file.
58373
58374         Work around MacOS X wcwidth() bug.
58375         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
58376         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
58377         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
58378         original wcwidth in non-UTF-8 locales.
58379         * modules/wcwidth (Depends-on): Add localcharset, streq,
58380         uniwidth/width.
58381         * doc/functions/wcwidth.texi: Update.
58382
58383 2007-07-07  Bruno Haible  <bruno@clisp.org>
58384
58385         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
58386         (wcwidth): New declaration.
58387         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
58388         macros.
58389         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
58390         here. Prepare for creating <wchar.h> unconditionally.
58391         * modules/wchar (Depends-on): Add link-warning.
58392         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
58393         REPLACE_WCWIDTH, and GL_LINK_WARNING.
58394         * lib/wcwidth.h: Remove file.
58395         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
58396         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
58397         * modules/wcwidth (Files): Remove lib/wcwidth.h.
58398         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
58399         (Include): Replace wcwidth.h with <wchar.h>.
58400         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
58401         * lib/mbchar.h: Don't include wcwidth.h.
58402         * lib/mbswidth.c: Likewise.
58403         * NEWS: Mention the change.
58404
58405 2007-07-07  Bruno Haible  <bruno@clisp.org>
58406
58407         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
58408         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
58409         definition with an external declaration.
58410         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
58411         defined as a function. Remove AC_C_INLINE requirement.
58412         * modules/wcwidth (Files): Add lib/wcwidth.c.
58413         (Makefile.am): Remove redundant statement.
58414
58415 2007-07-07  Bruno Haible  <bruno@clisp.org>
58416
58417         * MODULES.html.sh (Unicode string functions): Add the new modules.
58418
58419         * tests/uniwidth/test-u32-strwidth.c: New file.
58420         * modules/uniwidth/u32-strwidth-tests: New file.
58421
58422         * lib/uniwidth/u32-strwidth.c: New file.
58423         * modules/uniwidth/u32-strwidth: New file.
58424
58425         * tests/uniwidth/test-u16-strwidth.c: New file.
58426         * modules/uniwidth/u16-strwidth-tests: New file.
58427
58428         * lib/uniwidth/u16-strwidth.c: New file.
58429         * modules/uniwidth/u16-strwidth: New file.
58430
58431         * tests/uniwidth/test-u8-strwidth.c: New file.
58432         * modules/uniwidth/u8-strwidth-tests: New file.
58433
58434         * lib/uniwidth/u8-strwidth.c: New file.
58435         * modules/uniwidth/u8-strwidth: New file.
58436
58437         * tests/uniwidth/test-u32-width.c: New file.
58438         * modules/uniwidth/u32-width-tests: New file.
58439
58440         * lib/uniwidth/u32-width.c: New file.
58441         * modules/uniwidth/u32-width: New file.
58442
58443         * tests/uniwidth/test-u16-width.c: New file.
58444         * modules/uniwidth/u16-width-tests: New file.
58445
58446         * lib/uniwidth/u16-width.c: New file.
58447         * modules/uniwidth/u16-width: New file.
58448
58449         * tests/uniwidth/test-u8-width.c: New file.
58450         * modules/uniwidth/u8-width-tests: New file.
58451
58452         * lib/uniwidth/u8-width.c: New file.
58453         * modules/uniwidth/u8-width: New file.
58454
58455         * tests/uniwidth/test-uc_width.c: New file.
58456         * modules/uniwidth/width-tests: New file.
58457
58458         * lib/uniwidth/width.c: New file, from GNU libiconv.
58459         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
58460         * modules/uniwidth/width: New file.
58461
58462         * lib/uniwidth.h: New file, from GNU libiconv.
58463         * modules/uniwidth/base: New file.
58464
58465 2007-07-07  Bruno Haible  <bruno@clisp.org>
58466
58467         * lib/uniname.h: New file, from GNU gettext.
58468         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
58469         * lib/uniname/uninames.h: New file, from GNU gettext.
58470         * lib/uniname/uniname.c: New file, from GNU gettext.
58471         * tests/uniname/test-uninames.sh: New file.
58472         * tests/uniname/test-uninames.c: New file, from GNU gettext.
58473         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
58474         * modules/uniname/base: New file.
58475         * modules/uniname/uniname: New file.
58476         * modules/uniname/uniname-tests: New file.
58477         * MODULES.html.sh (Unicode string functions): Add the new modules.
58478
58479 2007-07-06  Bruno Haible  <bruno@clisp.org>
58480
58481         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
58482
58483 2007-07-06  Bruno Haible  <bruno@clisp.org>
58484
58485         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
58486         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
58487         includes <cygwin/sys_time.h> which includes <sys/select.h> which
58488         include <sys/time.h>.
58489         Reported by Eric Blake.
58490
58491 2007-07-06  Eric Blake  <ebb9@byu.net>
58492
58493         Fix testing canonicalize on cygwin.
58494         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58495         Revert patch from 2007-06-19.
58496         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
58497         canonicalize module is also in use.
58498         * tests/test-canonicalize.c: New file.
58499         * tests/test-canonicalize.sh: Likewise.
58500         * modules/canonicalize-tests: Likewise.
58501
58502 2007-07-06  Jim Meyering  <jim@meyering.net>
58503
58504         * lib/getugroups.c (getugroups): Detect getgrent failure.
58505         Adjust comment to reflect reality: this function may return -1.
58506
58507 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
58508
58509         * build-aux/bootstrap (TP_URL,get_translations): Update to use
58510         the new TP address.
58511         (usage): Fix typo
58512         (gnulib_mk): New variable.
58513
58514 2007-07-05  Jim Meyering  <jim@meyering.net>
58515
58516         Don't let endgrent clobber errno, no matter how improbable.
58517         * lib/getugroups.c (getugroups): Save and restore errno around
58518         endgrent call.
58519
58520         Close the group DB even when failing with 2^31 or more members.
58521         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
58522
58523 2007-07-04  Jim Meyering  <jim@meyering.net>
58524
58525         * lib/getugroups.h: New file.
58526         * lib/getugroups.c: Include "getugroups.h".
58527         Remove uses of "register" keyword.
58528         Move local variable, "cp", down into scope where used.
58529         Give "username" parameter the "const" attribute.
58530         * modules/getugroups (Files): Add lib/getugroups.h
58531
58532 2007-07-04  Karl Berry  <karl@gnu.org>
58533
58534         * MODULES.html.sh (func_all_modules): Complete rename of
58535         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
58536
58537 2007-07-02  Bruno Haible  <bruno@clisp.org>
58538
58539         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
58540         mode, when inttypes.h comes from gnulib.
58541         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58542
58543 2007-07-02  Simon Josefsson  <simon@josefsson.org>
58544
58545         * NEWS: Mention lgpl module name change.
58546
58547         * modules/lgpl-2.1: Renamed from lgpl.
58548
58549         * NEWS: Mention gpl module name change.
58550
58551         * modules/gpl-3.0: New file, based on gpl-2.0.
58552
58553         * modules/gpl-2.0: Renamed from gpl.
58554
58555         * modules/gpl: Fix filename, doc/gpl.texi is now found at
58556         doc/gpl-2.0.texi.
58557
58558 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58559
58560         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
58561         #define __STDC_LIMIT_MACROS temporarily while including
58562         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
58563         Problem reported by Joel E. Denny in
58564         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
58565
58566 2007-07-01  Bruno Haible  <bruno@clisp.org>
58567
58568         * lib/unistdio.h: New file.
58569         * lib/unistdio/u-asnprintf.h: New file.
58570         * lib/unistdio/u-asprintf.h: New file.
58571         * lib/unistdio/u-printf-args.c: New file.
58572         * lib/unistdio/u-printf-args.h: New file.
58573         * lib/unistdio/u-printf-parse.h: New file.
58574         * lib/unistdio/u-snprintf.h: New file.
58575         * lib/unistdio/u-sprintf.h: New file.
58576         * lib/unistdio/u-vasprintf.h: New file.
58577         * lib/unistdio/u-vsnprintf.h: New file.
58578         * lib/unistdio/u-vsprintf.h: New file.
58579         * lib/unistdio/ulc-asnprintf.c: New file.
58580         * lib/unistdio/ulc-asprintf.c: New file.
58581         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
58582         * lib/unistdio/ulc-printf-parse.c: New file.
58583         * lib/unistdio/ulc-snprintf.c: New file.
58584         * lib/unistdio/ulc-sprintf.c: New file.
58585         * lib/unistdio/ulc-vasnprintf.c: New file.
58586         * lib/unistdio/ulc-vasprintf.c: New file.
58587         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
58588         * lib/unistdio/ulc-vsnprintf.c: New file.
58589         * lib/unistdio/ulc-vsprintf.c: New file.
58590         * lib/unistdio/u8-asnprintf.c: New file.
58591         * lib/unistdio/u8-asprintf.c: New file.
58592         * lib/unistdio/u8-printf-parse.c: New file.
58593         * lib/unistdio/u8-snprintf.c: New file.
58594         * lib/unistdio/u8-sprintf.c: New file.
58595         * lib/unistdio/u8-vasnprintf.c: New file.
58596         * lib/unistdio/u8-vasprintf.c: New file.
58597         * lib/unistdio/u8-vsnprintf.c: New file.
58598         * lib/unistdio/u8-vsprintf.c: New file.
58599         * lib/unistdio/u8-u8-asnprintf.c: New file.
58600         * lib/unistdio/u8-u8-asprintf.c: New file.
58601         * lib/unistdio/u8-u8-snprintf.c: New file.
58602         * lib/unistdio/u8-u8-sprintf.c: New file.
58603         * lib/unistdio/u8-u8-vasnprintf.c: New file.
58604         * lib/unistdio/u8-u8-vasprintf.c: New file.
58605         * lib/unistdio/u8-u8-vsnprintf.c: New file.
58606         * lib/unistdio/u8-u8-vsprintf.c: New file.
58607         * lib/unistdio/u16-asnprintf.c: New file.
58608         * lib/unistdio/u16-asprintf.c: New file.
58609         * lib/unistdio/u16-printf-parse.c: New file.
58610         * lib/unistdio/u16-snprintf.c: New file.
58611         * lib/unistdio/u16-sprintf.c: New file.
58612         * lib/unistdio/u16-vasnprintf.c: New file.
58613         * lib/unistdio/u16-vasprintf.c: New file.
58614         * lib/unistdio/u16-vsnprintf.c: New file.
58615         * lib/unistdio/u16-vsprintf.c: New file.
58616         * lib/unistdio/u16-u16-asnprintf.c: New file.
58617         * lib/unistdio/u16-u16-asprintf.c: New file.
58618         * lib/unistdio/u16-u16-snprintf.c: New file.
58619         * lib/unistdio/u16-u16-sprintf.c: New file.
58620         * lib/unistdio/u16-u16-vasnprintf.c: New file.
58621         * lib/unistdio/u16-u16-vasprintf.c: New file.
58622         * lib/unistdio/u16-u16-vsnprintf.c: New file.
58623         * lib/unistdio/u16-u16-vsprintf.c: New file.
58624         * lib/unistdio/u32-asnprintf.c: New file.
58625         * lib/unistdio/u32-asprintf.c: New file.
58626         * lib/unistdio/u32-printf-parse.c: New file.
58627         * lib/unistdio/u32-snprintf.c: New file.
58628         * lib/unistdio/u32-sprintf.c: New file.
58629         * lib/unistdio/u32-vasnprintf.c: New file.
58630         * lib/unistdio/u32-vasprintf.c: New file.
58631         * lib/unistdio/u32-vsnprintf.c: New file.
58632         * lib/unistdio/u32-vsprintf.c: New file.
58633         * lib/unistdio/u32-u32-asnprintf.c: New file.
58634         * lib/unistdio/u32-u32-asprintf.c: New file.
58635         * lib/unistdio/u32-u32-snprintf.c: New file.
58636         * lib/unistdio/u32-u32-sprintf.c: New file.
58637         * lib/unistdio/u32-u32-vasnprintf.c: New file.
58638         * lib/unistdio/u32-u32-vasprintf.c: New file.
58639         * lib/unistdio/u32-u32-vsnprintf.c: New file.
58640         * lib/unistdio/u32-u32-vsprintf.c: New file.
58641         * tests/unistdio/test-ulc-asnprintf1.c: New file.
58642         * tests/unistdio/test-ulc-asnprintf1.h: New file.
58643         * tests/unistdio/test-ulc-printf1.h: New file.
58644         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
58645         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
58646         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
58647         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
58648         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
58649         * tests/unistdio/test-ulc-vasprintf1.c: New file.
58650         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
58651         * tests/unistdio/test-ulc-vsprintf1.c: New file.
58652         * tests/unistdio/test-u8-asnprintf1.c: New file.
58653         * tests/unistdio/test-u8-asnprintf1.h: New file.
58654         * tests/unistdio/test-u8-printf1.h: New file.
58655         * tests/unistdio/test-u8-vasnprintf1.c: New file.
58656         * tests/unistdio/test-u8-vasnprintf2.c: New file.
58657         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
58658         * tests/unistdio/test-u8-vasnprintf3.c: New file.
58659         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
58660         * tests/unistdio/test-u8-vasprintf1.c: New file.
58661         * tests/unistdio/test-u8-vsnprintf1.c: New file.
58662         * tests/unistdio/test-u8-vsprintf1.c: New file.
58663         * tests/unistdio/test-u16-asnprintf1.c: New file.
58664         * tests/unistdio/test-u16-asnprintf1.h: New file.
58665         * tests/unistdio/test-u16-printf1.h: New file.
58666         * tests/unistdio/test-u16-vasnprintf1.c: New file.
58667         * tests/unistdio/test-u16-vasnprintf2.c: New file.
58668         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
58669         * tests/unistdio/test-u16-vasnprintf3.c: New file.
58670         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
58671         * tests/unistdio/test-u16-vasprintf1.c: New file.
58672         * tests/unistdio/test-u16-vsnprintf1.c: New file.
58673         * tests/unistdio/test-u16-vsprintf1.c: New file.
58674         * tests/unistdio/test-u32-asnprintf1.c: New file.
58675         * tests/unistdio/test-u32-asnprintf1.h: New file.
58676         * tests/unistdio/test-u32-printf1.h: New file.
58677         * tests/unistdio/test-u32-vasnprintf1.c: New file.
58678         * tests/unistdio/test-u32-vasnprintf2.c: New file.
58679         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
58680         * tests/unistdio/test-u32-vasnprintf3.c: New file.
58681         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
58682         * tests/unistdio/test-u32-vasprintf1.c: New file.
58683         * tests/unistdio/test-u32-vsnprintf1.c: New file.
58684         * tests/unistdio/test-u32-vsprintf1.c: New file.
58685         * modules/unistdio/base: New file.
58686         * modules/unistdio/u-printf-args: New file.
58687         * modules/unistdio/ulc-asnprintf: New file.
58688         * modules/unistdio/ulc-asprintf: New file.
58689         * modules/unistdio/ulc-fprintf: New file.
58690         * modules/unistdio/ulc-printf-parse: New file.
58691         * modules/unistdio/ulc-snprintf: New file.
58692         * modules/unistdio/ulc-sprintf: New file.
58693         * modules/unistdio/ulc-vasnprintf: New file.
58694         * modules/unistdio/ulc-vasprintf: New file.
58695         * modules/unistdio/ulc-vfprintf: New file.
58696         * modules/unistdio/ulc-vsnprintf: New file.
58697         * modules/unistdio/ulc-vsprintf: New file.
58698         * modules/unistdio/u8-asnprintf: New file.
58699         * modules/unistdio/u8-asprintf: New file.
58700         * modules/unistdio/u8-printf-parse: New file.
58701         * modules/unistdio/u8-snprintf: New file.
58702         * modules/unistdio/u8-sprintf: New file.
58703         * modules/unistdio/u8-vasnprintf: New file.
58704         * modules/unistdio/u8-vasprintf: New file.
58705         * modules/unistdio/u8-vsnprintf: New file.
58706         * modules/unistdio/u8-vsprintf: New file.
58707         * modules/unistdio/u8-u8-asnprintf: New file.
58708         * modules/unistdio/u8-u8-asprintf: New file.
58709         * modules/unistdio/u8-u8-snprintf: New file.
58710         * modules/unistdio/u8-u8-sprintf: New file.
58711         * modules/unistdio/u8-u8-vasnprintf: New file.
58712         * modules/unistdio/u8-u8-vasprintf: New file.
58713         * modules/unistdio/u8-u8-vsnprintf: New file.
58714         * modules/unistdio/u8-u8-vsprintf: New file.
58715         * modules/unistdio/u16-asnprintf: New file.
58716         * modules/unistdio/u16-asprintf: New file.
58717         * modules/unistdio/u16-printf-parse: New file.
58718         * modules/unistdio/u16-snprintf: New file.
58719         * modules/unistdio/u16-sprintf: New file.
58720         * modules/unistdio/u16-vasnprintf: New file.
58721         * modules/unistdio/u16-vasprintf: New file.
58722         * modules/unistdio/u16-vsnprintf: New file.
58723         * modules/unistdio/u16-vsprintf: New file.
58724         * modules/unistdio/u16-u16-asnprintf: New file.
58725         * modules/unistdio/u16-u16-asprintf: New file.
58726         * modules/unistdio/u16-u16-snprintf: New file.
58727         * modules/unistdio/u16-u16-sprintf: New file.
58728         * modules/unistdio/u16-u16-vasnprintf: New file.
58729         * modules/unistdio/u16-u16-vasprintf: New file.
58730         * modules/unistdio/u16-u16-vsnprintf: New file.
58731         * modules/unistdio/u16-u16-vsprintf: New file.
58732         * modules/unistdio/u32-asnprintf: New file.
58733         * modules/unistdio/u32-asprintf: New file.
58734         * modules/unistdio/u32-printf-parse: New file.
58735         * modules/unistdio/u32-snprintf: New file.
58736         * modules/unistdio/u32-sprintf: New file.
58737         * modules/unistdio/u32-vasnprintf: New file.
58738         * modules/unistdio/u32-vasprintf: New file.
58739         * modules/unistdio/u32-vsnprintf: New file.
58740         * modules/unistdio/u32-vsprintf: New file.
58741         * modules/unistdio/u32-u32-asnprintf: New file.
58742         * modules/unistdio/u32-u32-asprintf: New file.
58743         * modules/unistdio/u32-u32-snprintf: New file.
58744         * modules/unistdio/u32-u32-sprintf: New file.
58745         * modules/unistdio/u32-u32-vasnprintf: New file.
58746         * modules/unistdio/u32-u32-vasprintf: New file.
58747         * modules/unistdio/u32-u32-vsnprintf: New file.
58748         * modules/unistdio/u32-u32-vsprintf: New file.
58749         * modules/unistdio/ulc-asnprintf-tests: New file.
58750         * modules/unistdio/ulc-vasnprintf-tests: New file.
58751         * modules/unistdio/ulc-vasprintf-tests: New file.
58752         * modules/unistdio/ulc-vsnprintf-tests: New file.
58753         * modules/unistdio/ulc-vsprintf-tests: New file.
58754         * modules/unistdio/u8-asnprintf-tests: New file.
58755         * modules/unistdio/u8-vasnprintf-tests: New file.
58756         * modules/unistdio/u8-vasprintf-tests: New file.
58757         * modules/unistdio/u8-vsnprintf-tests: New file.
58758         * modules/unistdio/u8-vsprintf-tests: New file.
58759         * modules/unistdio/u16-asnprintf-tests: New file.
58760         * modules/unistdio/u16-vasnprintf-tests: New file.
58761         * modules/unistdio/u16-vasprintf-tests: New file.
58762         * modules/unistdio/u16-vsnprintf-tests: New file.
58763         * modules/unistdio/u16-vsprintf-tests: New file.
58764         * modules/unistdio/u32-asnprintf-tests: New file.
58765         * modules/unistdio/u32-vasnprintf-tests: New file.
58766         * modules/unistdio/u32-vasprintf-tests: New file.
58767         * modules/unistdio/u32-vsnprintf-tests: New file.
58768         * modules/unistdio/u32-vsprintf-tests: New file.
58769         * MODULES.html.sh (Unicode string functions): Add the new modules.
58770
58771 2007-07-01  Bruno Haible  <bruno@clisp.org>
58772
58773         * lib/sprintf.c (sprintf): Limit the available length estimation,
58774         to avoid address wraparound.
58775         * lib/vsprintf.c (vsprintf): Likewise.
58776         * modules/sprintf-posix (Dependencies): Add stdint.
58777         * modules/vsprintf-posix (Dependencies): Likewise.
58778
58779 2007-07-01  Bruno Haible  <bruno@clisp.org>
58780
58781         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
58782         Windows PATH as well. Conservative double-quoting. Comments.
58783
58784 2007-07-01  Bruno Haible  <bruno@clisp.org>
58785             Eric Blake  <ebb9@byu.net>
58786             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58787
58788         * gnulib-tool (self_abspathname): Fix algorithm to cope with
58789         empty components in $PATH, denoting '.'.
58790
58791 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58792
58793         * gnulib-tool: Fix indentation.
58794         (func_create_megatestdir): Likewise.
58795         Report by Bruno Haible.
58796
58797 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58798
58799         Sync from Automake.
58800         * build-aux/gnupload: Fix shell portability issues with for loops.
58801         Report by Karl Berry.
58802
58803 2007-06-29  Simon Josefsson  <simon@josefsson.org>
58804
58805         * build-aux/maint.mk (POURL): Use translationproject.org.
58806
58807 2007-06-27  Simon Josefsson  <simon@josefsson.org>
58808             Bruno Haible  <bruno@clisp.org>
58809
58810         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
58811         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
58812         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
58813         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
58814         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
58815
58816 2007-06-27  Bruno Haible  <bruno@clisp.org>
58817
58818         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
58819         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
58820
58821 2007-06-26  Karl Berry  <karl@gnu.org>
58822
58823         * MODULES.html.sh: remove xreadlink-with-size.
58824
58825 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58826
58827         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
58828         method that I hope also handles the double-include problem noted
58829         by Bruno Haible in
58830         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
58831
58832 2007-06-23  Bruno Haible  <bruno@clisp.org>
58833
58834         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58835         Don't let the 'mostlyclean' target fail if the last subdirectory could
58836         not be removed.
58837         Reported by Karl Berry.
58838
58839 2007-06-23  Bruno Haible  <bruno@clisp.org>
58840
58841         * gnulib-tool (echo): Add a speedier workaround for ksh.
58842         * tests/test-echo.sh: Likewise.
58843
58844 2007-06-23  Bruno Haible  <bruno@clisp.org>
58845
58846         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
58847         * tests/test-echo.sh: Likewise.
58848
58849 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58850
58851         * gnulib-tool (IFS): Initialize early, so we don't set it to
58852         empty later.
58853         (self_abspathname): Rewrite algorithm to set it, reindent.
58854         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
58855         (func_create_megatestdir): Merge some sed scripts.
58856
58857 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58858
58859         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
58860         exposed by Sun Studio 11 cc on Solaris 8.
58861
58862 2007-06-22  Bruno Haible  <bruno@clisp.org>
58863
58864         * gnulib-tool (echo): Ensure the echo primitive does not interpret
58865         backslashes.
58866         * tests/test-echo.sh: New file.
58867
58868 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58869
58870         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
58871         simplify `sed_replace_build_aux' scripts, they are portable but
58872         echoing them with `echo' is not.
58873         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
58874
58875 2007-06-21  Karl Berry  <karl@gnu.org>
58876
58877         * config/srclist.txt: guess we can't handle the licenses via
58878         srclist at the moment.
58879
58880 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
58881
58882         * MODULES.html.sh: Add include_next.
58883         * modules/include_next: New file.
58884
58885 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
58886
58887         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
58888         INCLUDE_NEXT.
58889         (gl_CHECK_NEXT_HEADERS): New macro.
58890         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
58891         the obsolescent gl_ABSOLUTE_HEADER.
58892         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
58893         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
58894         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
58895         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
58896         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
58897         * m4/math_h.m4 (gl_MATH_H): Likewise.
58898         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
58899         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
58900         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
58901         * m4/stdint.m4 (gl_STDINT_H): Likewise.
58902         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
58903         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
58904         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
58905         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58906         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
58907         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
58908         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
58909         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
58910         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
58911         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
58912         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
58913         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58914         * m4/inttypes.m4 (gl_INTTYPES_H): Define
58915         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
58916         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
58917         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
58918         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
58919         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
58920         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
58921         * lib/float_.h: Likewise.
58922         * lib/inttypes_.h: Likewise.
58923         * lib/math_.h: Likewise.
58924         * lib/search_.h: Likewise.
58925         * lib/signal_.h: Likewise.
58926         * lib/stdint_.h: Likewise.
58927         * lib/stdio_.h: Likewise.
58928         * lib/stdlib_.h: Likewise.
58929         * lib/string_.h: Likewise.
58930         * lib/sys_stat_.h: Likewise.
58931         * lib/sys_time_.h: Likewise.
58932         * lib/time_.h: Likewise.
58933         * lib/unistd_.h: Likewise.
58934         * lib/wchar_.h: Likewise.
58935         * lib/wctype_.h: Likewise.
58936         * lib/dirent_.h: Likewise.
58937         * lib/iconv_.h: Likewise.
58938         * lib/locale_.h: Likewise.
58939         * lib/netinet_in_.h: Likewise.
58940         * lib/sys_select_.h: Likewise.
58941         * lib/sys_socket_.h: Likewise.
58942         * lib/sysexits_.h: Likewise.
58943         * modules/fcntl (Depends-on): Depend on include_next, not
58944         absolute_header.
58945         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
58946         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
58947         * modules/fchdir: Likewise.
58948         * modules/float: Likewise.
58949         * modules/iconv_open: Likewise.
58950         * modules/inttypes: Likewise.
58951         * modules/locale: Likewise.
58952         * modules/math: Likewise.
58953         * modules/netinet_in: Likewise.
58954         * modules/search: Likewise.
58955         * modules/signal: Likewise.
58956         * modules/stdint: Likewise.
58957         * modules/stdio: Likewise.
58958         * modules/stdlib: Likewise.
58959         * modules/string: Likewise.
58960         * modules/sys_select: Likewise.
58961         * modules/sys_socket: Likewise.
58962         * modules/sys_stat: Likewise.
58963         * modules/sys_time: Likewise.
58964         * modules/sysexits: Likewise.
58965         * modules/time: Likewise.
58966         * modules/unistd: Likewise.
58967         * modules/wchar: Likewise.
58968         * modules/wctype: Likewise.
58969         * modules/sys_stat: Change maintainer to "all".
58970         * modules/unistd: Likewise.
58971
58972 2007-06-20  Karl Berry  <karl@gnu.org>
58973
58974         * config/srclist.txt: track www changes in license files.
58975
58976 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
58977
58978         * build-aux/bootstrap: Remove stray dot.
58979         Make sure build_aux settings are honored when linking
58980         gnulib_extra_files.
58981
58982 2007-06-19  Eric Blake  <ebb9@byu.net>
58983
58984         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58985         Allow compilation on cygwin.
58986
58987 2007-06-19  Jim Meyering  <jim@meyering.net>
58988
58989         xreadlink-with-size: Remove module.  No longer used.
58990         Ex-callers now use xreadlink or mreadlink-with-size.
58991         * modules/xreadlink-with-size: Remove module.
58992         * lib/xreadlink-with-size.c: Remove file.
58993         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
58994         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
58995         just before the function definition *is* accurate.
58996
58997         Eliminate one way canonicalize_filename_mode could exit.
58998         * lib/canonicalize.c (canonicalize_filename_mode):
58999         Use mreadlink_with_size, not xreadlink_with_size.
59000
59001 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
59002
59003         Detect porting problems to FreeBSD/arm, which has time_t wider than
59004         long int.  Original problem reported for GNU diff by Xin Li in
59005         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
59006         * modules/getdate (Depends-on): Add intprops, verify.
59007         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
59008         is an integer type no wider than long int.
59009
59010 2007-06-18  Jim Meyering  <jim@meyering.net>
59011
59012         New module: mreadlink-with-size.
59013         * MODULES.html.sh: Add mreadlink-with-size.
59014         * modules/mreadlink-with-size: New module
59015         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
59016         not xreadlink-with-size.
59017         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
59018
59019 2007-06-16  Bruno Haible  <bruno@clisp.org>
59020
59021         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
59022         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
59023         Reported by Gary V. Vaughan <gary@gnu.org>.
59024
59025 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
59026
59027         Revamp lchown so that it lives in unistd.h where it belongs.
59028         * lib/lchown.h: Remove.
59029         * lib/dirchownmod.c: Don't include lib/lchown.h.
59030         * lib/fchownat.c: Likewise.
59031         * lib/openat.c: Likewise.
59032         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
59033         does not follow symlinks.
59034         (EOPNOTSUPP): Define if not defined.
59035         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
59036         is defined to 0.
59037         (lchown): New decl.
59038         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
59039         Do not check for lchown decl.
59040         Set REPLACE_LCHOWN.
59041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
59042         REPLACE_LCHOWN.
59043         * modules/chown: Make it clear it follows symlinks.
59044         * modules/lchown: Make it clear it doesn't follow symlinks.
59045         (Files): Remove lib/lchown.h
59046         (Depends-on): Add unistd.
59047         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
59048         (Include): Include <unistd.h>, not "lchown.h".
59049         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
59050         REPLACE_LCHOWN.
59051
59052 2007-06-15  Jim Meyering  <jim@meyering.net>
59053
59054         Change license (GPL to LGPL) of fsusage and dependents.
59055         * modules/fsusage (License): Change to LGPL.
59056         * modules/full-read (License): Likewise.
59057         * modules/full-write (License): Likewise.
59058         * modules/safe-read (License): Likewise.
59059         * modules/safe-write (License): Likewise.
59060
59061 2007-06-14  Ben Pfaff  <blp@gnu.org>
59062
59063         Missing part of allocsa -> malloca transition.
59064         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
59065         gl_MALLOCA.
59066
59067 2007-06-12  Bruno Haible  <bruno@clisp.org>
59068
59069         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
59070         to ia64, x86_64, i386.
59071         Reported by Eric Blake.
59072
59073 2007-06-12  Bruno Haible  <bruno@clisp.org>
59074
59075         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
59076         cross-compiling to x86_64.
59077
59078 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
59079
59080         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
59081         glitch reported by Ralf Wildenhues in
59082         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
59083
59084         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
59085         Vin Shelton.
59086
59087 2007-06-11  Bruno Haible  <bruno@clisp.org>
59088
59089         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
59090         replacement string.
59091         Reported by Eric Blake.
59092
59093 2007-06-10  Bruno Haible  <bruno@clisp.org>
59094
59095         Prepare vasnprintf code for use with Unicode strings.
59096         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
59097         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
59098         TYPE_U32_STRING.
59099         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
59100         a_u32_string variants.
59101         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
59102         * lib/printf-args.c: Don't include config.h and the specification
59103         header if PRINTF_FETCHARGS is already defined.
59104         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
59105         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
59106         TYPE_U16_STRING, TYPE_U32_STRING.
59107         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
59108         u16_directive, u16_directives, u32_directive, u32_directives): New
59109         types.
59110         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
59111         New declarations.
59112         * lib/printf-parse.c: Don't include config.h and the specification
59113         header if PRINTF_PARSE is already defined. Eliminate the set of
59114         parameters for WIDE_CHAR_VERSION; the user of this file must provide
59115         them now. Include c-ctype.h.
59116         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
59117         directive and CHAR_T_ONLY_ASCII.
59118         * lib/vasnprintf.c: Don't include config.h and the specification header
59119         if VASNPRINTF is already defined.
59120         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
59121         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
59122         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
59123         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
59124         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
59125         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
59126         code accordingly.
59127         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
59128         pad_ourselves also in this case, with the 'c' and 's' directives, and
59129         with a different notion of "width".
59130         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
59131
59132 2007-06-10  Bruno Haible  <bruno@clisp.org>
59133
59134         * modules/unistr/u32-mbsnlen: New file.
59135         * lib/unistr/u32-mbsnlen.c: New file.
59136
59137         * modules/unistr/u16-mbsnlen: New file.
59138         * lib/unistr/u16-mbsnlen.c: New file.
59139
59140         * modules/unistr/u8-mbsnlen: New file.
59141         * lib/unistr/u8-mbsnlen.c: New file.
59142
59143         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
59144         declarations.
59145
59146 2007-06-10  Bruno Haible  <bruno@clisp.org>
59147
59148         * lib/string_.h (mbsnlen): New declaration.
59149         * lib/mbsnlen.c: New file.
59150         * m4/mbsnlen.m4: New file.
59151         * modules/mbsnlen: New file.
59152         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
59153         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
59154         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
59155
59156 2007-06-10  Bruno Haible  <bruno@clisp.org>
59157
59158         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
59159
59160 2007-06-10  Bruno Haible  <bruno@clisp.org>
59161
59162         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
59163         * lib/mbuiter.h: Likewise.
59164
59165 2007-06-10  Bruno Haible  <bruno@clisp.org>
59166
59167         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
59168         declaration.
59169
59170 2007-06-10  Karl Berry  <karl@gnu.org>
59171
59172         * config/srclist.txt: remove gettext entries, Bruno prefers
59173         to update individually.
59174
59175 2007-06-10  Bruno Haible  <bruno@clisp.org>
59176
59177         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
59178         'maxlen'. Ensure only length + width bytes are allocated, not
59179         length + 1 + width.
59180
59181 2007-06-09  Bruno Haible  <bruno@clisp.org>
59182
59183         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
59184         (CHAR_T): Remove macro.
59185         (VASNPRINTF): Update.
59186
59187 2007-06-09  Bruno Haible  <bruno@clisp.org>
59188
59189         * MODULES.html.sh (Unicode string functions): Add the new modules.
59190
59191         * modules/uniconv/u32-conv-to-enc: New file.
59192         * lib/uniconv/u32-conv-to-enc.c: New file.
59193         * modules/uniconv/u32-conv-to-enc-tests: New file.
59194         * tests/uniconv/test-u32-conv-to-enc.c: New file.
59195
59196         * modules/uniconv/u16-conv-to-enc: New file.
59197         * lib/uniconv/u16-conv-to-enc.c: New file.
59198         * lib/uniconv/u-conv-to-enc.h: New file.
59199         * modules/uniconv/u16-conv-to-enc-tests: New file.
59200         * tests/uniconv/test-u16-conv-to-enc.c: New file.
59201
59202         * modules/uniconv/u8-conv-to-enc: New file.
59203         * lib/uniconv/u8-conv-to-enc.c: New file.
59204         * modules/uniconv/u8-conv-to-enc-tests: New file.
59205         * tests/uniconv/test-u8-conv-to-enc.c: New file.
59206
59207         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
59208         u32_conv_to_encoding): New declarations.
59209
59210 2007-06-09  Bruno Haible  <bruno@clisp.org>
59211
59212         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
59213
59214 2007-06-09  Bruno Haible  <bruno@clisp.org>
59215
59216         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
59217         * modules/malloca: Renamed from modules/allocsa, updated.
59218         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
59219         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
59220         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
59221         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
59222         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
59223         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
59224         * modules/xmalloca: Renamed from modules/xallocsa, updated.
59225         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
59226         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
59227         * modules/c-strcasestr (Depends-on): Update.
59228         * lib/c-strcasestr.c: Update.
59229         * modules/c-strstr (Depends-on): Update.
59230         * lib/c-strstr.c: Update.
59231         * modules/canonicalize-lgpl (Depends-on): Update.
59232         * lib/canonicalize-lgpl.c: Update.
59233         * modules/clean-temp (Depends-on): Update.
59234         * lib/clean-temp.c: Update.
59235         * modules/csharpcomp (Depends-on): Update.
59236         * lib/csharpcomp.c: Update.
59237         * modules/csharpexec (Depends-on): Update.
59238         * lib/csharpexec.c: Update.
59239         * modules/javacomp (Depends-on): Update.
59240         * lib/javacomp.c: Update.
59241         * modules/javaexec (Depends-on): Update.
59242         * lib/javaexec.c: Update.
59243         * modules/mbscasestr (Depends-on): Update.
59244         * lib/mbscasestr.c: Update.
59245         * modules/mbsstr (Depends-on): Update.
59246         * lib/mbsstr.c: Update.
59247         * modules/setenv (Depends-on): Update.
59248         * lib/setenv.c: Update.
59249         * modules/strcasestr (Depends-on): Update.
59250         * lib/strcasestr.c: Update.
59251         * modules/striconveha (Depends-on): Update.
59252         * lib/striconveha.c: Update.
59253         * modules/relocatable-prog-wrapper (Files): Update.
59254         * lib/relocwrapper.c: Update.
59255         * build-aux/install-reloc: Update.
59256         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
59257
59258 2007-06-08  Bruno Haible  <bruno@clisp.org>
59259
59260         Port to uClibc.
59261         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
59262         * lib/fpurge.c (fpurge): Likewise.
59263         * lib/freading.c (freading): Likewise.
59264         * lib/fseeko.c (rpl_fseeko): Likewise.
59265         * lib/fseterr.c (fseterr): Likewise.
59266         * lib/fwriting.c (fwriting): Likewise.
59267         * tests/test-fflush.c (main): Avoid a failure on uClibc.
59268
59269 2007-06-08  Bruno Haible  <bruno@clisp.org>
59270
59271         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
59272         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
59273         * modules/gettext (Files): Add m4/intlmacosx.m4.
59274
59275 2007-06-07  Bruno Haible  <bruno@clisp.org>
59276
59277         * modules/localename-tests: New file.
59278         * tests/test-localename.c: New file.
59279
59280         New module 'localename'.
59281         * lib/localename.h: New file.
59282         * lib/localename.c: New file, from GNU gettext.
59283         * m4/localename.m4: New file.
59284         * modules/localename: New file.
59285
59286 2007-06-07  Bruno Haible  <bruno@clisp.org>
59287
59288         Work around the lack of <wchar.h> on some builds of uClibc.
59289         * doc/headers/wchar.texi: Update.
59290         * lib/wchar_.h: Include <wchar.h> only if it exists.
59291         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
59292         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
59293         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
59294         doesn't exist.
59295         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
59296         * modules/mbfile (Depends-on): Add wchar.
59297         * modules/mbiter (Depends-on): Likewise.
59298         * modules/mbuiter (Depends-on): Likewise.
59299         Reported by Simon Josefsson.
59300
59301 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
59302
59303         Work around problem reported by Steven M. Schweda in
59304         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
59305         Tru64 5.1B with the Compaq compiler environment installed declares
59306         an 'isblank' function but does not define it in the C library.
59307         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
59308         * lib/regex_internal.h (isblank): Likewise.
59309         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
59310         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59311
59312 2007-06-05  Bruno Haible  <bruno@clisp.org>
59313
59314         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
59315         ia64.
59316         * modules/printf-safe: New file.
59317         * modules/fprintf-posix (Depends-on): Add printf-safe.
59318         * modules/printf-posix (Depends-on): Likewise.
59319         * modules/snprintf-posix (Depends-on): Likewise.
59320         * modules/sprintf-posix (Depends-on): Likewise.
59321         * modules/vasnprintf-posix (Depends-on): Likewise.
59322         * modules/vasprintf-posix (Depends-on): Likewise.
59323         * modules/vfprintf-posix (Depends-on): Likewise.
59324         * modules/vprintf-posix (Depends-on): Likewise.
59325         * modules/vsnprintf-posix (Depends-on): Likewise.
59326         * modules/vsprintf-posix (Depends-on): Likewise.
59327         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
59328         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
59329         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
59330         "no" on i386, x86_64, ia64.
59331         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
59332         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
59333         on i386, x86_64, ia64.
59334         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
59335         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
59336         on i386, x86_64, ia64.
59337         * tests/test-vasnprintf-posix.c: Include float.h.
59338         (LDBL80_WORDS): New macro.
59339         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
59340         on i386, x86_64, ia64.
59341         * tests/test-vasprintf-posix.c: Include float.h.
59342         (LDBL80_WORDS): New macro.
59343         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
59344         on i386, x86_64, ia64.
59345         * tests/test-snprintf-posix.c: Include float.h.
59346         * tests/test-sprintf-posix.c: Likewise.
59347         * tests/test-vsnprintf-posix.c: Likewise.
59348         * tests/test-vsprintf-posix.c: Likewise.
59349
59350 2007-06-05  Bruno Haible  <bruno@clisp.org>
59351
59352         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
59353         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
59354         non-IEEE numbers on i386, x86_64, ia64.
59355         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
59356         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
59357         * tests/test-isnanl.h: Include float.h.
59358         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
59359
59360 2007-06-05  Bruno Haible  <bruno@clisp.org>
59361
59362         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
59363         also the %a / %A. Handle the %a / %A code before this extra handling.
59364
59365 2007-06-05  Bruno Haible  <bruno@clisp.org>
59366
59367         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
59368         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
59369
59370 2007-06-05  Bruno Haible  <bruno@clisp.org>
59371
59372         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
59373         typo in variable name.
59374
59375 2007-06-05  Eric Blake  <ebb9@byu.net>
59376
59377         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
59378         Reported by Simon Josefsson.
59379
59380 2007-06-04  Bruno Haible  <bruno@clisp.org>
59381
59382         Avoid test failures on some PowerPC platforms.
59383         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
59384         Define differently for PowerPC.
59385         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
59386         Reported by Gary V. Vaughan <gary@gnu.org>.
59387
59388 2007-06-02  Bruno Haible  <bruno@clisp.org>
59389
59390         Fix test-stdint failure on FreeBSD/ia64.
59391         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
59392         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
59393         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
59394         * doc/headers/stdint.texi: Update.
59395
59396 2007-06-01  Bruno Haible  <bruno@clisp.org>
59397
59398         * tests/test-binary-io.c (main): Pass a third argument to open().
59399         Reported by Gary V. Vaughan <gary@gnu.org>.
59400
59401 2007-06-01  Bruno Haible  <bruno@clisp.org>
59402
59403         * doc/functions/frexpl.texi: Update for mingw.
59404
59405 2007-06-01  Bruno Haible  <bruno@clisp.org>
59406
59407         * tests/test-lseek.c (main): Disable test of errno for invalid third
59408         argument.
59409         * doc/functions/lseek.texi: Update.
59410         Reported by Gary V. Vaughan <gary@gnu.org>.
59411
59412 2007-05-28  Bruno Haible  <bruno@clisp.org>
59413
59414         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
59415
59416 2007-05-31  Eric Blake  <ebb9@byu.net>
59417
59418         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
59419         cross compiling.
59420
59421 2007-05-30  Eric Blake  <ebb9@byu.net>
59422         and Bruno Haible  <bruno@clisp.org>
59423
59424         Work around mingw test failures exposed by m4-1.4.9b.
59425         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
59426         * tests/test-unistd.c: Disable uid_t and git_t tests for the
59427         moment.
59428
59429 2007-05-30  Bruno Haible  <bruno@clisp.org>
59430
59431         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
59432         assuming that they are closed. Needed on HP-UX 11.
59433
59434 2007-05-29  Bruno Haible  <bruno@clisp.org>
59435
59436         Fix a problem with #include_next.
59437         * lib/dirent_.h: Split the double-inclusion guard.
59438         * lib/fcntl_.h: Likewise.
59439         * lib/float_.h: Likewise.
59440         * lib/iconv_.h: Likewise.
59441         * lib/inttypes_.h: Likewise.
59442         * lib/locale_.h: Likewise.
59443         * lib/math_.h: Likewise.
59444         * lib/netinet_in_.h: Likewise.
59445         * lib/search_.h: Likewise.
59446         * lib/signal_.h: Likewise.
59447         * lib/stdint_.h: Likewise.
59448         * lib/stdio_.h: Likewise.
59449         * lib/stdlib_.h: Likewise.
59450         * lib/string_.h: Likewise.
59451         * lib/sys_select_.h: Likewise.
59452         * lib/sys_socket_.h: Likewise.
59453         * lib/sys_stat_.h: Likewise.
59454         * lib/sys_time_.h: Likewise.
59455         * lib/sysexits_.h: Likewise.
59456         * lib/time_.h: Likewise.
59457         * lib/unistd_.h: Likewise.
59458         * lib/wchar_.h: Likewise.
59459         * lib/wctype_.h: Likewise.
59460
59461 2007-05-29  Bruno Haible  <bruno@clisp.org>
59462
59463         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
59464         for the moment.
59465
59466 2007-05-29  Bruno Haible  <bruno@clisp.org>
59467
59468         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
59469         invocation.
59470         Reported by Eric Blake.
59471
59472 2007-05-29  Bruno Haible  <bruno@clisp.org>
59473
59474         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
59475         compiling case.
59476
59477 2007-05-29  Eric Blake  <ebb9@byu.net>
59478             Bruno Haible  <bruno@clisp.org>
59479
59480         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
59481         cross compiles.
59482
59483 2007-05-28  Eric Blake  <ebb9@byu.net>
59484
59485         * modules/closein-tests (test_closein_LDADD): Support test on
59486         cygwin with libtool.
59487
59488 2007-05-28  Bruno Haible  <bruno@clisp.org>
59489
59490         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
59491         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
59492         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
59493         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
59494         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
59495         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
59496         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
59497         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
59498         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
59499
59500 2007-05-28  Eric Blake  <ebb9@byu.net>
59501
59502         Unconditionally include <config.h> in unit tests.
59503         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
59504         * tests/test-allocsa.c, tests/test-arcfour.c,
59505         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
59506         tests/test-array_list.c, tests/test-array_oset.c,
59507         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
59508         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
59509         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
59510         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
59511         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
59512         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
59513         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
59514         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
59515         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
59516         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
59517         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
59518         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
59519         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
59520         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
59521         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
59522         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
59523         test-md5.c, test-memmem.c, test-printf-posix.c,
59524         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
59525         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
59526         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
59527         test-strcasestr.c, test-striconv.c, test-striconveh.c,
59528         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
59529         test-vasnprintf-posix2.c, test-vasnprintf.c,
59530         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
59531         test-vfprintf-posix.c, test-vprintf-posix.c,
59532         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
59533         test-xvasprintf.c: Likewise.
59534
59535 2007-05-28  Bruno Haible  <bruno@clisp.org>
59536
59537         * gnulib-tool (func_import): Remember the --with-tests command-line
59538         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
59539         Reported by Eric Blake.
59540
59541 2007-05-28  Bruno Haible  <bruno@clisp.org>
59542
59543         * modules/ftell-tests: New file.
59544         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
59545         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
59546
59547         * lib/ftell.c: New file.
59548         * modules/ftell: New file.
59549         * m4/ftell.m4: New file.
59550         * doc/functions/ftell.texi: Update.
59551         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
59552         REPLACE_FTELL.
59553         * lib/stdio_.h (rpl_ftell): New declaration.
59554         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
59555         REPLACE_FTELL.
59556
59557 2007-05-28  Eric Blake  <ebb9@byu.net>
59558
59559         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
59560
59561 2007-05-28  Bruno Haible  <bruno@clisp.org>
59562
59563         * modules/fseek-tests: New file.
59564         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
59565         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
59566
59567         * lib/fseek.c: New file.
59568         * modules/fseek: New file.
59569         * m4/fseek.m4: New file.
59570         * doc/functions/fseek.texi: Update.
59571         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
59572         REPLACE_FSEEK.
59573         * lib/stdio_.h (rpl_fseek): New declaration.
59574         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
59575         REPLACE_FSEEK.
59576
59577 2007-05-28  Bruno Haible  <bruno@clisp.org>
59578
59579         * lib/stdio_.h (fflush): More comments.
59580
59581 2007-05-28  Bruno Haible  <bruno@clisp.org>
59582
59583         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
59584         runtime test.
59585
59586 2007-05-28  Eric Blake  <ebb9@byu.net>
59587
59588         Improve lseek module.
59589         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
59590         * lib/unistd_.h (lseek): Scale back link warning message.
59591         * tests/test-lseek.c: Beef up test.
59592         * tests/test-lseek.sh: Exercise more facets of lseek.
59593         Reported by Bruno Haible.
59594
59595 2007-05-28  Bruno Haible  <bruno@clisp.org>
59596
59597         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
59598         to define.
59599
59600 2007-05-27  Bruno Haible  <bruno@clisp.org>
59601
59602         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
59603
59604 2007-05-27  Bruno Haible  <bruno@clisp.org>
59605
59606         * modules/openmp: New file.
59607         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
59608         Noah Misch.
59609
59610 2007-05-26  Bruno Haible  <bruno@clisp.org>
59611
59612         * modules/chdir-long (Depends-on): Add fchdir.
59613         * modules/chdir-safer (Depends-on): Likewise.
59614         * modules/fts (Depends-on): Likewise.
59615         * modules/fts-lgpl (Depends-on): Likewise.
59616         * modules/openat (Depends-on): Likewise.
59617         * modules/savewd (Depends-on): Likewise.
59618
59619 2007-05-24  Eric Blake  <ebb9@byu.net>
59620
59621         Fix lseek on mingw.
59622         * modules/lseek: New module.
59623         * m4/lseek.m4: New file.
59624         * lib/lseek.c: New file.
59625         * modules/lseek-tests: New file.
59626         * tests/test-lseek.c: New file.
59627         * tests/test-lseek.sh: New file.
59628         * MODULES.html.sh: Document lseek module.
59629         * modules/fflush (Depends-on): Add lseek, fseeko.
59630         * modules/fseeko (Depends-on): Likewise.
59631         * modules/ftello (Depends-on): Likewise.
59632         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
59633         broken.
59634         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
59635         broken.
59636         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
59637         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
59638         * lib/ftello.c (rpl_ftello): Likewise.
59639         * tests/test-fseeko.c (main): Test this.
59640         * tests/test-fseeko.sh: Likewise.
59641         * tests/test-ftello.c (main): Likewise.
59642         * tests/test-ftello.sh: Likewise.
59643         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
59644         implies replacing fseek.
59645         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
59646         HAVE_FTELLO.
59647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
59648         * modules/unistd (Makefile.am): Likewise.
59649         * lib/unistd_.h (lseek): Declare a replacement.
59650         * doc/functions/lseek.texi (lseek): Document this fix.
59651         * doc/functions/fseek.texi (fseek): Likewise.
59652         * doc/functions/ftell.texi (ftell): Likewise.
59653
59654 2007-05-24  Bruno Haible  <bruno@clisp.org>
59655
59656         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
59657         in the printed representation of a NaN.
59658         * tests/test-vasprintf-posix.c (test_function): Likewise.
59659         * tests/test-snprintf-posix.h (test_function): Likewise.
59660         * tests/test-sprintf-posix.h (test_function): Likewise.
59661         Reported by Eric Blake.
59662
59663 2007-05-23  Eric Blake  <ebb9@byu.net>
59664
59665         Fix fseeko/ftello on cygwin 1.5.24.
59666         * doc/functions/fseeko.texi (fseeko): Document the fix.
59667         * doc/functions/ftello.texi (ftello): Document the fix.
59668         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
59669         * doc/functions/stdout.text (stdout): New file.
59670         * doc/functions/stderr.text (stderr): New file.
59671         * doc/gnulib.texi (Function Substitutes): Use new files.
59672         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
59673         prior to 1.7.0.
59674         * tests/test-ftello.c (main): Likewise for ftello.
59675         * tests/test-fseeko.sh: New file.
59676         * tests/test-ftello.sh: New file.
59677         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
59678         with seekable stdin.
59679         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
59680         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
59681         (gl_REPLACE_FSEEKO): New macro.
59682         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
59683         * modules/fseeko (Files): Distribute fseeko.c.
59684         * modules/ftello (Files): Distribute ftello.c.
59685         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
59686         mode.
59687         * lib/ftello.c (rpl_ftello): New file.
59688         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
59689         fseeko, ftello.
59690         (gl_STDIN_LARGE_OFFSET): New macro.
59691         * modules/stdio (Makefile.am): Perform the replacement.
59692         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
59693
59694 2007-05-23  Bruno Haible  <bruno@clisp.org>
59695
59696         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
59697         GNULIB_POSIXCHECK is defined.
59698
59699 2007-05-21  Bruno Haible  <bruno@clisp.org>
59700
59701         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
59702         Check also the output for NaN arguments. When cross-compiling, guess
59703         no on IRIX.
59704         * lib/vasnprintf.c: Update comments.
59705         * tests/test-vasnprintf-posix.c (strisnan): New function.
59706         (test_function): Use it.
59707         * tests/test-vasprintf-posix.c (strisnan): New function.
59708         (test_function): Use it.
59709         * tests/test-snprintf-posix.h (strisnan): New function.
59710         (test_function): Use it.
59711         * tests/test-sprintf-posix.h (strisnan): New function.
59712         (test_function): Use it.
59713         Reported by Eric Blake.
59714
59715 2007-05-20  Bruno Haible  <bruno@clisp.org>
59716
59717         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
59718         numbers that fails on BeOS.
59719         * doc/functions/frexpl.texi: Update.
59720
59721 2007-05-20  Jim Meyering  <jim@meyering.net>
59722
59723         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
59724         forced upon us by glibc-2.6.
59725
59726 2007-05-20  Bruno Haible  <bruno@clisp.org>
59727
59728         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
59729         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
59730         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
59731         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
59732         NEED_PRINTF_INFINITE.
59733         (is_infinitel): New function.
59734         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
59735         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
59736         gl_PREREQ_VASNPRINTF_INFINITE.
59737         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
59738         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59739         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
59740         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
59741         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
59742         gl_PREREQ_VASNPRINTF_INFINITE.
59743         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59744         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59745         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59746         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59747         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59748         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59749         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59750         * doc/functions/fprintf.texi: Update.
59751         * doc/functions/printf.texi: Update.
59752         * doc/functions/snprintf.texi: Update.
59753         * doc/functions/sprintf.texi: Update.
59754         * doc/functions/vfprintf.texi: Update.
59755         * doc/functions/vprintf.texi: Update.
59756         * doc/functions/vsnprintf.texi: Update.
59757         * doc/functions/vsprintf.texi: Update.
59758
59759 2007-05-20  Bruno Haible  <bruno@clisp.org>
59760
59761         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
59762         was not found in libc.
59763         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
59764
59765 2007-05-20  Bruno Haible  <bruno@clisp.org>
59766
59767         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
59768         printed as "-nan" instead of "nan".
59769         * tests/test-vasprintf-posix.c (test_function): Likewise.
59770         * tests/test-snprintf-posix.h (test_function): Likewise.
59771         * tests/test-sprintf-posix.h (test_function): Likewise.
59772         Needed for HP-UX 11.
59773
59774 2007-05-20  Jim Meyering  <jim@meyering.net>
59775
59776         Fix buggy test for the fchownat-deref bug.
59777         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
59778         symlink required for the run-test.  Without it, this test would
59779         always declare that fchownat doesn't work, and client code would
59780         unnecessarily use the replacement function with fixed libc.
59781         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
59782         Reported by Greg Schafer.
59783
59784 2007-05-19  Bruno Haible  <bruno@clisp.org>
59785
59786         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
59787         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
59788         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
59789         Needed for IRIX 6.5 and Solaris 2.5.1.
59790
59791 2007-05-19  Bruno Haible  <bruno@clisp.org>
59792
59793         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
59794         (test_function): Skip tests involving -0.0 on platforms where
59795         -0.0 = 0.0.
59796         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
59797         (test_function): Skip tests involving -0.0 on platforms where
59798         -0.0 = 0.0.
59799         * tests/test-snprintf-posix.h (have_minus_zero): New function.
59800         (test_function): Skip tests involving -0.0 on platforms where
59801         -0.0 = 0.0.
59802         * tests/test-sprintf-posix.h (have_minus_zero): New function.
59803         (test_function): Skip tests involving -0.0 on platforms where
59804         -0.0 = 0.0.
59805         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
59806         tests.
59807         * tests/test-printf-posix.h (test_function): Likewise.
59808         * tests/test-printf-posix.output: Remove all -0.0 related results.
59809         Needed for IRIX 6.5.
59810
59811 2007-05-19  Bruno Haible  <bruno@clisp.org>
59812
59813         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
59814         printed as "nan0x7fffffff" instead of "nan".
59815         * tests/test-vasprintf-posix.c (test_function): Likewise.
59816         * tests/test-snprintf-posix.h (test_function): Likewise.
59817         * tests/test-sprintf-posix.h (test_function): Likewise.
59818         * tests/test-fprintf-posix.h (NaN): Remove macro.
59819         (test_function): Remove all NaN related tests.
59820         * tests/test-printf-posix.h (NaN): Remove macro.
59821         (test_function): Remove all NaN related tests.
59822         * tests/test-printf-posix.output: Remove all NaN related results.
59823         Needed for IRIX 6.5.
59824
59825 2007-05-19  Bruno Haible  <bruno@clisp.org>
59826
59827         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
59828         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
59829
59830 2007-05-19  Bruno Haible  <bruno@clisp.org>
59831
59832         * lib/float_.h: New file.
59833         * m4/float_h.m4: New file.
59834         * modules/float: New file.
59835         * modules/isnanl (Dependencies): Add float.
59836         * modules/isnanl-nolibm (Dependencies): Likewise.
59837         * modules/mathl (Dependencies): Likewise.
59838         * modules/printf-frexpl (Dependencies): Likewise.
59839         * modules/signbit (Dependencies): Likewise.
59840         * modules/vasnprintf (Dependencies): Likewise.
59841         * doc/headers/float.texi: Update.
59842
59843 2007-05-19  Jim Meyering  <jim@meyering.net>
59844
59845         * lib/utimens.c (gl_futimens): Rename from futimens,
59846         now that glibc-2.6 declares futimens.
59847         * lib/utimens.h: Likewise.
59848
59849 2007-05-19  Bruno Haible  <bruno@clisp.org>
59850
59851         Avoid test failures on mingw.
59852         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
59853         * tests/test-printf-posix.sh: Likewise.
59854         * tests/test-vfprintf-posix.sh: Likewise.
59855         * tests/test-vprintf-posix.sh: Likewise.
59856
59857 2007-05-19  Bruno Haible  <bruno@clisp.org>
59858
59859         Fix *printf result for NaN, Inf, -0.0 on mingw.
59860         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
59861         * lib/vasnprintf.c: Include math.h and isnan.h.
59862         (is_infinite_or_zero): New function.
59863         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
59864         values in the %f, %F, %e, %E, %g, %G directives.
59865         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
59866         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59867         gl_PRINTF_INFINITE and test its result. Invoke
59868         gl_PREREQ_VASNPRINTF_INFINITE.
59869         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59870         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59871         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59872         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59873         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59874         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59875         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59876         * doc/functions/fprintf.texi: Update.
59877         * doc/functions/printf.texi: Update.
59878         * doc/functions/snprintf.texi: Update.
59879         * doc/functions/sprintf.texi: Update.
59880         * doc/functions/vfprintf.texi: Update.
59881         * doc/functions/vprintf.texi: Update.
59882         * doc/functions/vsnprintf.texi: Update.
59883         * doc/functions/vsprintf.texi: Update.
59884
59885 2007-05-19  Bruno Haible  <bruno@clisp.org>
59886
59887         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
59888         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
59889         Instead of multiplying with 10^k, set extra_zeroes to k.
59890         (scale10_round_long_double): Remove function.
59891
59892 2007-05-18  Bruno Haible  <bruno@clisp.org>
59893
59894         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
59895         introduced on 2007-05-06.
59896
59897 2007-05-18  Bruno Haible  <bruno@clisp.org>
59898
59899         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
59900         %g directives.
59901         * tests/test-vasprintf-posix.c (test_function): Likewise.
59902         * tests/test-snprintf-posix.h (test_function): Likewise.
59903         * tests/test-sprintf-posix.h (test_function): Likewise.
59904
59905 2007-05-18  Bruno Haible  <bruno@clisp.org>
59906
59907         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
59908         (strmatch): New function.
59909         (test_function): Test the %f directive on numbers of various exponents.
59910         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
59911         (strmatch): New function.
59912         (test_function): Test the %f directive on numbers of various exponents.
59913         * tests/test-snprintf-posix.h (strmatch): New function.
59914         (test_function): Test the %f directive on numbers of various exponents.
59915         * tests/test-sprintf-posix.h (strmatch): New function.
59916         (test_function): Test the %f directive on numbers of various exponents.
59917         * tests/test-snprintf-posix.c (SIZEOF): New macro.
59918         * tests/test-sprintf-posix.c (SIZEOF): New macro.
59919         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
59920         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
59921
59922 2007-05-18  Bruno Haible  <bruno@clisp.org>
59923
59924         Add support for 'long double' number output.
59925         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
59926         * lib/vasnprintf.c: Include math.h and float+.h.
59927         (mp_limb_t): New type.
59928         (GMP_LIMB_BITS): New macro.
59929         (mp_twolimb_t): New type.
59930         (GMP_TWOLIMB_BITS): New macro.
59931         (mpn_t): New type.
59932         (multiply, divide, convert_to_decimal, decode_long_double,
59933         scale10_round_long_double, scale10_round_decimal_long_double,
59934         floorlog10l): New functions.
59935         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
59936         for the %f, %F, %e, %E, %g, %G directives.
59937         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
59938         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59939         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
59940         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
59941         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59942         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59943         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59944         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59945         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59946         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59947         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59948         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
59949         * modules/snprintf-posix (Depends-on): Likewise.
59950         * modules/sprintf-posix (Depends-on): Likewise.
59951         * modules/vasnprintf-posix (Depends-on): Likewise.
59952         * modules/vasprintf-posix (Depends-on): Likewise.
59953         * modules/vfprintf-posix (Depends-on): Likewise.
59954         * modules/vsnprintf-posix (Depends-on): Likewise.
59955         * modules/vsprintf-posix (Depends-on): Likewise.
59956         * modules/vasnprintf (Files): Add lib/float+.h.
59957         * doc/functions/fprintf.texi: Update.
59958         * doc/functions/printf.texi: Update.
59959         * doc/functions/snprintf.texi: Update.
59960         * doc/functions/sprintf.texi: Update.
59961         * doc/functions/vfprintf.texi: Update.
59962         * doc/functions/vprintf.texi: Update.
59963         * doc/functions/vsnprintf.texi: Update.
59964         * doc/functions/vsprintf.texi: Update.
59965
59966 2007-05-18  Bruno Haible  <bruno@clisp.org>
59967
59968         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
59969
59970 2007-05-18  Bruno Haible  <bruno@clisp.org>
59971
59972         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
59973         for printing 64-bit integers. Needed for mingw.
59974
59975 2007-05-18  Bruno Haible  <bruno@clisp.org>
59976
59977         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59978         gl_FUNC_FREXPL_WORKS.
59979         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
59980
59981 2007-05-18  Bruno Haible  <bruno@clisp.org>
59982
59983         * modules/frexpl-nolibm-tests: New file.
59984
59985         * modules/frexpl-nolibm: New file.
59986         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
59987
59988 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59989
59990         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
59991         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59992         GCC 4.2, which otherwise issues a lot of warnings.
59993         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
59994         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
59995         Likewise.
59996         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
59997         * modules/iconv_open (iconv.h): Likewise.
59998         * modules/locale (locale.h): Likewise.
59999         * modules/netinet_in (netinet/in.h): Likewise.
60000         * modules/sys_select (sys_select.h): Likewise.
60001         * modules/sys_socket (sys/socket.h): Likewise.
60002         * modules/sys_stat (sys/stat.h): Likewise.
60003         * modules/sysexits (sysexits.h): Likewise.
60004         * modules/unistd (unistd.h): Likewise.
60005
60006 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60007
60008         * modules/closein-tests (Makefile.am): Distribute
60009         `test-closein.sh'.
60010
60011 2007-05-17  Bruno Haible  <bruno@clisp.org>
60012
60013         * tests/test-printf-posix.output: Renamed from
60014         tests/test-fprintf-posix.out.
60015         * modules/fprintf-posix-tests: Update.
60016         * modules/printf-posix-tests: Update.
60017         * modules/vfprintf-posix-tests: Update.
60018         * modules/vprintf-posix-tests: Update.
60019         * tests/test-fprintf-posix.sh: Update.
60020         * tests/test-printf-posix.sh: Update.
60021         * tests/test-vfprintf-posix.sh: Update.
60022         * tests/test-vprintf-posix.sh: Update.
60023         Reported by Ralf Wildenhues.
60024
60025 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
60026
60027         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
60028         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
60029         GCC 4.2, which otherwise issues a lot of warnings.
60030         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
60031         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
60032         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
60033         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
60034         it should no longer be needed.
60035         * lib/string_.h: Likewise.
60036         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
60037         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
60038         * modules/inttypes (inttypes.h): Likewise.
60039         * modules/math (math.h): Likewise.
60040         * modules/search (search.h): Likewise.
60041         * modules/signal (signal.h): Likewise.
60042         * modules/stdint (stdint.h): Likewise.
60043         * modules/stdio (stdio.h): Likewise.
60044         * modules/stdlib (stdlib.h): Likewise.
60045         * modules/string (string.h): Likewise.
60046         * modules/sys_time (sys/time.h): Likewise.
60047         * modules/time (time.h): Likewise.
60048         * modules/wchar (wchar.h): Likewise.
60049         * modules/wctype (wtype.h): Likewise.
60050
60051 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
60052
60053         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
60054
60055 2007-05-13  Bruno Haible  <bruno@clisp.org>
60056
60057         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
60058         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60059         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
60060         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60061         (gl_PREREQ_STRTOK_R): Don't require it here.
60062
60063 2007-05-13  Bruno Haible  <bruno@clisp.org>
60064
60065         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
60066         when used in C++ mode.
60067
60068 2007-05-12  Bruno Haible  <bruno@clisp.org>
60069
60070         * lib/linebuffer.h: Tweak doc.
60071         * lib/linebuffer.c: Likewise.
60072
60073 2007-05-12  James Youngman  <jay@gnu.org>
60074
60075         * lib/linebuffer.c (readlinebuffer_delim): New function,
60076         like readlinebuffer, but use a caller-specified delimiter.
60077         (readlinebuffer): Just call readlinebuffer_delim with '\n'
60078         as the delimiter.
60079         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
60080
60081 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60082
60083         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
60084         * modules/openat (Files): Remove openat-die.c.
60085         (Depends-on): Add openat-die.
60086         * modules/openat-die: New module.
60087
60088 2007-05-06  Bruno Haible  <bruno@clisp.org>
60089
60090         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
60091         Update with info about Cygwin.
60092         * doc/functions/fprintf.texi: Update.
60093         * doc/functions/printf.texi: Update.
60094         * doc/functions/snprintf.texi: Update.
60095         * doc/functions/sprintf.texi: Update.
60096         * doc/functions/vfprintf.texi: Update.
60097         * doc/functions/vprintf.texi: Update.
60098         * doc/functions/vsnprintf.texi: Update.
60099         * doc/functions/vsprintf.texi: Update.
60100         Reported by Eric Blake.
60101
60102 2007-05-06  Bruno Haible  <bruno@clisp.org>
60103
60104         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
60105         padding ourselves for the floating-point directives.
60106         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
60107         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
60108         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60109         gl_PRINTF_FLAG_ZERO and test its result. Invoke
60110         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
60111         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60112         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
60113         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60114         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60115         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60116         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60117         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60118         * tests/test-snprintf-posix.h (test_function): Also check the width
60119         and some flags in the %f directive.
60120         * tests/test-sprintf-posix.h (test_function): Likewise.
60121         * tests/test-vasnprintf-posix.c (test_function): Likewise.
60122         * tests/test-vasprintf-posix.c (test_function): Likewise.
60123         * doc/functions/fprintf.texi: Update.
60124         * doc/functions/printf.texi: Update.
60125         * doc/functions/snprintf.texi: Update.
60126         * doc/functions/sprintf.texi: Update.
60127         * doc/functions/vfprintf.texi: Update.
60128         * doc/functions/vprintf.texi: Update.
60129         * doc/functions/vsnprintf.texi: Update.
60130         * doc/functions/vsprintf.texi: Update.
60131
60132 2007-05-06  Bruno Haible  <bruno@clisp.org>
60133
60134         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
60135         pass the ' flag character to sprintf or snprintf.
60136         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
60137         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
60138         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60139         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
60140         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
60141         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60142         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
60143         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60144         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60145         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60146         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60147         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60148         * tests/test-snprintf-posix.h (test_function): Also check the grouping
60149         flag.
60150         * tests/test-sprintf-posix.h (test_function): Likewise.
60151         * tests/test-vasnprintf-posix.c (test_function): Likewise.
60152         * tests/test-vasprintf-posix.c (test_function): Likewise.
60153         * doc/functions/fprintf.texi: Update.
60154         * doc/functions/printf.texi: Update.
60155         * doc/functions/snprintf.texi: Update.
60156         * doc/functions/sprintf.texi: Update.
60157         * doc/functions/vfprintf.texi: Update.
60158         * doc/functions/vprintf.texi: Update.
60159         * doc/functions/vsnprintf.texi: Update.
60160         * doc/functions/vsprintf.texi: Update.
60161
60162 2007-05-01  Bruno Haible  <bruno@clisp.org>
60163
60164         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
60165
60166 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
60167
60168         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
60169         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
60170
60171 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60172
60173         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
60174         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
60175         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
60176
60177 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
60178
60179         * lib/argp-help.c (struct hol_entry): New member `ord'.
60180         (HOL_ENTRY_PTRCMP): Use ord for comparison
60181         (hol_sort): Initialize ord.
60182
60183 2007-05-01  Bruno Haible  <bruno@clisp.org>
60184
60185         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
60186         Reported by Eric Blake.
60187         * doc/gnulib.texi (Function Substitutes): Update.
60188
60189 2007-05-01  Bruno Haible  <bruno@clisp.org>
60190
60191         * doc/functions.texi: Remove file, now redundant through
60192         doc/functions/*.texi.
60193
60194 2007-05-01  Bruno Haible  <bruno@clisp.org>
60195
60196         * modules/argp (Depends-on): Add sleep.
60197
60198 2007-05-01  Bruno Haible  <bruno@clisp.org>
60199
60200         * modules/sleep-tests: New file.
60201         * tests/test-sleep.c: New file.
60202
60203         * modules/sleep: New file.
60204         * lib/sleep.c: New file.
60205         * m4/sleep.m4: New file.
60206         * lib/unistd_.h (sleep): New declaration.
60207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
60208         HAVE_SLEEP.
60209         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
60210         * doc/functions/sleep.texi: Document the sleep module.
60211
60212 2007-05-01  Bruno Haible  <bruno@clisp.org>
60213
60214         * lib/sigprocmask.h: Remove file.
60215         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
60216         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
60217         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
60218         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
60219         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
60220         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
60221         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
60222         HAVE_SIGSET_T as a shell variable.
60223         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
60224         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
60225         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
60226         (Depends-on): Add signal. Remove verify.
60227         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
60228         (Include): Mention <signal.h> instead of sigprocmask.h.
60229         * NEWS: Mention the change.
60230         * lib/fatal-signal.c: Don't include sigprocmask.h.
60231
60232 2007-05-01  Bruno Haible  <bruno@clisp.org>
60233
60234         * modules/signal: New file.
60235         * lib/signal_.h: New file.
60236         * m4/signal_h.m4: New file.
60237
60238 2007-05-01  Bruno Haible  <bruno@clisp.org>
60239
60240         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
60241         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
60242         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
60243         HAVE_WCTYPE_CTMP_BUG into wctype.h.
60244
60245 2007-05-01  Bruno Haible  <bruno@clisp.org>
60246
60247         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
60248         configure time.
60249         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
60250         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
60251         * modules/sys_stat (Makefile.am): Substitute their values into
60252         sys/stat.h.
60253
60254 2007-05-01  Bruno Haible  <bruno@clisp.org>
60255
60256         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
60257         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
60258         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
60259
60260 2007-05-01  Bruno Haible  <bruno@clisp.org>
60261
60262         * doc/header/assert.texi: Undo last change: don't mention the gnulib
60263         'assert' module here.
60264
60265 2007-05-01  Bruno Haible  <bruno@clisp.org>
60266
60267         * doc/functions/*.texi: New files.
60268         * doc/functions/google-ranking.txt: New file.
60269         * doc/gnulib.texi (Function Substitutes): New chapter.
60270         (ctime, inet_ntoa): Remove sections.
60271         * doc/ctime.texi: Remove file.
60272         * doc/inet_ntoa.texi: Remove file.
60273         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
60274         dependencies.
60275         (%.info): New rule, specifying a --reference-limit.
60276
60277 2007-05-01  Bruno Haible  <bruno@clisp.org>
60278
60279         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
60280
60281 2007-05-01  Bruno Haible  <bruno@clisp.org>
60282
60283         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
60284         the portability of 'mkdir' to mingw systems.
60285
60286 2007-05-01  Bruno Haible  <bruno@clisp.org>
60287
60288         * doc/headers/google-ranking.txt: New file.
60289
60290 2007-04-30  Eric Blake  <ebb9@byu.net>
60291
60292         Prefer fseeko to fseek.
60293         * modules/getpass (Depends-on): Add fseeko.
60294         * lib/getpass.c (getpass): Use fseeko, not fseek.
60295
60296 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
60297
60298         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
60299         assumes the sorting is stable, while most qsort implementations
60300         are not.  Use argument addresses to ensure they never compare as
60301         equal.
60302
60303         * tests/test-argp-2.sh (usage-indent test): Fix output
60304         (func_compare): Restore diff options
60305         * tests/test-argp.c: Restore #include "progname.h"
60306
60307 2007-04-29  Bruno Haible  <bruno@clisp.org>
60308
60309         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
60310         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60311         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
60312         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60313         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
60314         (configure.ac): Define CHECK_SNPRINTF_POSIX.
60315         (TESTS, check_PROGRAMS): Add test-snprintf.
60316         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
60317         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
60318         (TESTS, check_PROGRAMS): Add test-vsnprintf.
60319         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
60320         assertions that fail on HP-UX, OSF/1, or IRIX.
60321         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
60322
60323 2007-04-29  Bruno Haible  <bruno@clisp.org>
60324
60325         * MODULES.html.sh (posix_functions): Remove 'contents'.
60326
60327 2007-04-29  Karl Berry  <karl@gnu.org>
60328
60329         * config/srclist.txt (gendocs_template_min): new entry.
60330
60331 2007-04-29  Bruno Haible  <bruno@clisp.org>
60332
60333         Work around fpurge bug on BSD systems.
60334         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
60335         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
60336         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
60337         fpurge to rpl_fpurge if the system already has this function.
60338         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
60339         the case where the system already has this function. Correct invariants
60340         on BSD systems.
60341         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
60342         BSD systems.
60343
60344 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
60345
60346         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
60347         proposed by Sven Verdoolaege.
60348
60349         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
60350         options.
60351         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
60352         (usage and help tests): Update
60353
60354 2007-04-29  Bruno Haible  <bruno@clisp.org>
60355
60356         * tests/test-fflush.c (main): Use a file of size 17, not 10.
60357         Print more information in case of failure. Disable a test on BeOS.
60358
60359 2007-04-29  Bruno Haible  <bruno@clisp.org>
60360
60361         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
60362         This helps debugging on systems on which no gdb is available.
60363
60364 2007-04-29  Bruno Haible  <bruno@clisp.org>
60365
60366         * lib/freading.h: Improve comments.
60367         * lib/fwriting.h: Likewise.
60368         * tests/test-freading.c (main): Don't check freading immediately after
60369         repositioning. Needed for glibc.
60370
60371 2007-04-29  Bruno Haible  <bruno@clisp.org>
60372
60373         * lib/freading.c (freading): Trivial simplification.
60374
60375 2007-04-28  Bruno Haible  <bruno@clisp.org>
60376
60377         * tests/test-fwriting.c (main): Also test the interaction between
60378         fflush and fwriting.
60379         * modules/fwriting-tests (Depends-on): Add fflush.
60380
60381         * tests/test-freading.c (main): Also test the interaction between
60382         fflush and freading.
60383         * modules/freading-tests (Depends-on): Add fflush.
60384
60385 2007-04-28  Bruno Haible  <bruno@clisp.org>
60386
60387         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
60388         fseeko and ftello.
60389         Suggested by Eric Blake.
60390
60391 2007-04-28  Jim Meyering  <jim@meyering.net>
60392
60393         Avoid false-negative in gl_STDINT_H's C99 conformance test.
60394         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
60395         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
60396
60397 2007-04-27  Eric Blake  <ebb9@byu.net>
60398
60399         * doc/headers/assert.texi (assert.h): Document assert module use.
60400
60401 2007-04-27  Bruno Haible  <bruno@clisp.org>
60402
60403         * doc/headers/*.texi: New files.
60404         * doc/gnulib.texi (Header File Substitutes): New chapter.
60405         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
60406         dependencies.
60407         (standards.info ,standards.html, standards.dvi): Update dependencies.
60408         (mostlyclean, clean): New targets.
60409
60410 2007-04-27  Bruno Haible  <bruno@clisp.org>
60411
60412         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
60413         * modules/sysexits (Files, Makefile.am): Update.
60414
60415         * lib/sys_socket_.h: Renamed from lib/socket_.h.
60416         * modules/sys_socket (Files, Makefile.am): Update.
60417
60418         * lib/sys_stat_.h: Renamed from lib/stat_.h.
60419         * modules/sys_stat (Files, Makefile.am): Update.
60420
60421 2007-04-27  Eric Blake  <ebb9@byu.net>
60422
60423         * lib/freading.h: Improve comments.
60424         * lib/fwriting.h: Likewise.
60425         * lib/fflush.c: Likewise.
60426
60427         Fix closein for mingw.
60428         * modules/closein-tests: Add tests for closein.
60429         * tests/test-closein.c: New file.
60430         * tests/test-closein.sh: Likewise.
60431         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
60432         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
60433
60434 2007-04-27  Bruno Haible  <bruno@clisp.org>
60435
60436         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
60437         version is < 6.
60438         * lib/math_.h [__DECC]: Likewise.
60439         * lib/stdio_.h [__DECC]: Likewise.
60440         * lib/stdlib_.h [__DECC]: Likewise.
60441         * lib/string_.h [__DECC]: Likewise.
60442         * lib/time_.h [__DECC]: Likewise.
60443         * lib/wchar_.h [__DECC]: Likewise.
60444         * lib/wctype_.h [__DECC]: Likewise.
60445
60446 2007-04-27  Bruno Haible  <bruno@clisp.org>
60447
60448         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
60449
60450 2007-04-27  Bruno Haible  <bruno@clisp.org>
60451
60452         * lib/fflush.c: Add comments.
60453         * modules/fpurge-tests (Depends-on): Add fflush.
60454         * modules/freadable-tests (Depends-on): Likewise.
60455         * modules/fwritable-tests (Depends-on): Likewise.
60456
60457 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
60458
60459         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
60460         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
60461         Report by Bruno Haible <bruno@clisp.org>.
60462
60463 2007-04-26  Eric Blake  <ebb9@byu.net>
60464
60465         Fix fflush on mingw.
60466         * modules/fflush (Depends-on): Add freading.
60467         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
60468         but unread data.
60469
60470 2007-04-26  Eric Blake  <ebb9@byu.net>
60471         and Bruno Haible  <bruno@clisp.org>
60472
60473         Implement freading and fwriting.
60474         * lib/freading.c: New file.
60475         * lib/freading.h: Likewise.
60476         * m4/freading.m4: Likewise.
60477         * modules/freading: Likewise.
60478         * modules/freading-tests: Likewise.
60479         * tests/test-freading.c: Likewise.
60480         * lib/fwriting.c: New file.
60481         * lib/fwriting.h: Likewise.
60482         * m4/fwriting.m4: Likewise.
60483         * modules/fwriting: Likewise.
60484         * modules/fwriting-tests: Likewise.
60485         * tests/test-fwriting.c: Likewise.
60486         * MODULES.html.sh (File stream based Input/Output): Mention them.
60487
60488 2007-04-26  Bruno Haible  <bruno@clisp.org>
60489
60490         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
60491         'long' when we assume it.
60492         Suggested by Eric Blake.
60493
60494 2007-04-26  Bruno Haible  <bruno@clisp.org>
60495
60496         Ensure fseeko, ftello are declared on glibc systems.
60497         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
60498         * modules/fseeko (configure.ac-early): Likewise.
60499         * modules/ftello (configure.ac-early): Likewise.
60500         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
60501         AC_FUNC_FSEEKO for this.
60502         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
60503         (gl_CHECK_FSEEKO): Remove macro.
60504
60505 2007-04-26  Bruno Haible  <bruno@clisp.org>
60506
60507         * tests/test-fflush.c (main): Also check the ftell result after
60508         fflush and fseek/fseeko.
60509         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
60510         file descriptor position cache in the stream.
60511         * lib/fseeko.c (rpl_fseeko): Likewise.
60512
60513 2007-04-26  Bruno Haible  <bruno@clisp.org>
60514
60515         * modules/fflush-tests (Depends-on): Add fseeko.
60516
60517 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
60518             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60519
60520         * lib/argz_.h: ensure error_t definition is obtained in same
60521         mechanism system argz.h would have.
60522         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
60523         argz facilities are known bad.  Err on the side of caution if
60524         cross-compiling.
60525
60526 2007-04-25  Eric Blake  <ebb9@byu.net>
60527
60528         * lib/fpurge.c (includes): Use stdlib.h for free.
60529         * tests/test-fflush.c (main): Also test fflush-fseeko.
60530
60531 2007-04-25  Bruno Haible  <bruno@clisp.org>
60532
60533         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
60534         * lib/fseeko.c: New file.
60535         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
60536         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
60537         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
60538         gl_FUNC_FSEEKO.
60539         (gl_FUNC_FSEEKO): Invoke it.
60540         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
60541         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
60542         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
60543
60544 2007-04-25  Bruno Haible  <bruno@clisp.org>
60545
60546         * modules/fflush (Depends-on): Add ftello.
60547
60548 2007-04-25  Bruno Haible  <bruno@clisp.org>
60549
60550         * modules/ftello-tests: New file.
60551         * tests/test-ftello.c: New file.
60552
60553         * modules/ftello: New file.
60554         * m4/ftello.m4: New file.
60555         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
60556         HAVE_FTELLO.
60557         * lib/stdio_.h (ftello): New declaration.
60558         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
60559         HAVE_FTELLO.
60560
60561 2007-04-25  Bruno Haible  <bruno@clisp.org>
60562
60563         * modules/fseeko-tests: New file.
60564         * tests/test-fseeko.c: New file.
60565
60566         * modules/fseeko: New file.
60567         * m4/fseeko.m4: New file.
60568         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
60569         HAVE_FSEEKO.
60570         * lib/stdio_.h (fseeko): New declaration.
60571         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
60572         HAVE_FSEEKO.
60573
60574 2007-04-25  Bruno Haible  <bruno@clisp.org>
60575
60576         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
60577
60578 2007-04-25  Bruno Haible  <bruno@clisp.org>
60579
60580         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
60581         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
60582         * tests/test-unistd.c: Likewise.
60583         * tests/test-fcntl.c: Likewise.
60584
60585 2007-04-23  Eric Blake  <ebb9@byu.net>
60586
60587         * lib/fflush.c: Fix missing include.
60588         Reported by Bruno Haible.
60589
60590 2007-04-23  Bruno Haible  <bruno@clisp.org>
60591
60592         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
60593         Reported by Eric Blake.
60594
60595 2007-04-23  Bruno Haible  <bruno@clisp.org>
60596
60597         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
60598
60599 2007-04-23  Bruno Haible  <bruno@clisp.org>
60600
60601         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
60602
60603 2007-04-23  Bruno Haible  <bruno@clisp.org>
60604
60605         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
60606         Needed on HP-UX 11.
60607
60608 2007-04-16  Eric Blake  <ebb9@byu.net>
60609
60610         Make fflush rely on fpurge.
60611         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
60612         open coding all variants.
60613         * modules/fflush (Depends-on): Add fpurge and unistd.
60614         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
60615         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
60616
60617         Fix --with-tests compilation on cygwin.
60618         * modules/argmatch-tests (Makefile.am): List gnulib library first
60619         in LDADD.
60620         * modules/argp-tests (Makefile.am): Likewise.
60621         * modules/array-list-tests (Makefile.am): Likewise.
60622         * modules/array-oset-tests (Makefile.am): Likewise.
60623         * modules/avltree-list-tests (Makefile.am): Likewise.
60624         * modules/avltree-oset-tests (Makefile.am): Likewise.
60625         * modules/avltreehash-list-tests (Makefile.am): Likewise.
60626         * modules/carray-list-tests (Makefile.am): Likewise.
60627         * modules/dirname-tests (Makefile.am): Likewise.
60628         * modules/frexp-tests (Makefile.am): Likewise.
60629         * modules/isnanl-tests (Makefile.am): Likewise.
60630         * modules/linked-list-tests (Makefile.am): Likewise.
60631         * modules/linkedhash-list-tests (Makefile.am): Likewise.
60632         * modules/lock-tests (Makefile.am): Likewise.
60633         * modules/rbtree-list-tests (Makefile.am): Likewise.
60634         * modules/rbtree-oset-tests (Makefile.am): Likewise.
60635         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
60636         * modules/tls-tests (Makefile.am): Likewise.
60637         * modules/tsearch-tests (Makefile.am): Likewise.
60638         * modules/xvasprintf-tests (Makefile.am): Likewise.
60639
60640         Fix fpurge for cygwin.
60641         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
60642         value.
60643         * modules/fpurge-tests (Depends-on): Clean up trash.
60644
60645 2007-04-16  Simon Josefsson  <simon@josefsson.org>
60646
60647         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
60648
60649         * m4/autobuild.m4: Re-indent.
60650
60651 2007-04-13  Bruno Haible  <bruno@clisp.org>
60652
60653         * modules/fpurge-tests: New file.
60654         * tests/test-fpurge.c: New file.
60655
60656         * modules/fpurge: New file.
60657         * lib/fpurge.h: New file.
60658         * lib/fpurge.c: New file.
60659         * m4/fpurge.m4: New file.
60660
60661 2007-04-13  Bruno Haible  <bruno@clisp.org>
60662
60663         * modules/fbufmode-tests: New file.
60664         * tests/test-fbufmode.c: New file.
60665
60666         * modules/fbufmode: New file.
60667         * lib/fbufmode.h: New file.
60668         * lib/fbufmode.c: New file.
60669         * m4/fbufmode.m4: New file.
60670
60671 2007-04-13  Bruno Haible  <bruno@clisp.org>
60672
60673         * modules/fwritable-tests: New file.
60674         * tests/test-fwritable.c: New file.
60675
60676         * modules/fwritable: New file.
60677         * lib/fwritable.h: New file.
60678         * lib/fwritable.c: New file.
60679         * m4/fwritable.m4: New file.
60680
60681 2007-04-13  Bruno Haible  <bruno@clisp.org>
60682
60683         * modules/freadable-tests: New file.
60684         * tests/test-freadable.c: New file.
60685
60686         * modules/freadable: New file.
60687         * lib/freadable.h: New file.
60688         * lib/freadable.c: New file.
60689         * m4/freadable.m4: New file.
60690
60691 2007-04-13  Bruno Haible  <bruno@clisp.org>
60692
60693         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
60694         MOSTLYCLEANFILES.
60695
60696 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
60697
60698         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
60699         gzip bootstrap.conf to avoid dragging in i18n machinery.
60700         (gnulib_tool_option): Use it.
60701
60702 2007-04-13  Bruno Haible  <bruno@clisp.org>
60703
60704         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
60705         %F directives.
60706         * tests/test-vasprintf-posix.c (test_function): Likewise.
60707         * tests/test-snprintf-posix.h (test_function): Likewise.
60708         * tests/test-sprintf-posix.h (test_function): Likewise.
60709         * tests/test-fprintf-posix.h (test_function): Likewise.
60710         * tests/test-printf-posix.h (test_function): Likewise.
60711         * tests/test-fprintf-posix.out: Likewise.
60712
60713 2007-04-13  Bruno Haible  <bruno@clisp.org>
60714
60715         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
60716         * modules/tls-tests (configure.ac): Likewise.
60717         Reported by Arto C. Nirkko <anirkko@insel.ch>.
60718
60719 2007-04-13  Bruno Haible  <bruno@clisp.org>
60720
60721         * lib/tls.c (glthread_tls_get): Fix return type.
60722         Patch by Arto C. Nirkko <anirkko@insel.ch>.
60723
60724 2007-04-12  Eric Blake  <ebb9@byu.net>
60725
60726         * modules/gettime (Depends-on): Remove gettime.
60727         Reported by Dmitry V. Levin.
60728
60729 2007-04-12  Bruno Haible  <bruno@clisp.org>
60730
60731         * modules/fflush (Include): Mention <stdio.h>.
60732         * modules/strtoimax (Include): Mention <inttypes.h>.
60733         * modules/strtoumax (Include): Likewise.
60734
60735 2007-04-12  Eric Blake  <ebb9@byu.net>
60736
60737         * .cvsignore: New file.
60738         * .gitignore: Likewise.
60739
60740 2007-04-12  Bruno Haible  <bruno@clisp.org>
60741
60742         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
60743         not before, since $(LDADD) often contains libgnu.a.
60744         * modules/striconv-tests (test_striconv_LDADD): Likewise.
60745         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
60746         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
60747         Needed on Cygwin.
60748
60749 2007-04-12  Eric Blake  <ebb9@byu.net>
60750
60751         Work around glibc's failure to flush stdin on fclose.
60752         * lib/closein.c (close_stdin): Flush stdin before closing.
60753
60754         Work around glibc's failure to reset seekable stdin on exit.
60755         * modules/closein: New module.
60756         * lib/closein.c: New file.
60757         * lib/closein.h: Likewise.
60758         * m4/closein.m4: Likewise.
60759         * MODULES.html.sh (File stream based Input/Output): Document it.
60760
60761 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60762
60763         * gnulib-tool: Rename generated 'autobuild' script to
60764         'do-autobuild' in --create-megatestdir output.
60765
60766         * doc/gnulib.texi (Build robot for gnulib): Fix.
60767
60768 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60769
60770         * modules/sysexits (Depends-on): Add absolute-header.
60771
60772 2007-04-12  Eric Blake  <ebb9@byu.net>
60773
60774         No need to preserve errno on success.
60775         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
60776         Reported by Bruno Haible.
60777
60778 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60779
60780         * MODULES.html.sh (Support for maintaining and releasing
60781         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
60782
60783 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60784
60785         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
60786
60787 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60788
60789         * modules/autobuild: New module.
60790
60791         * m4/autobuild.m4: New file.
60792
60793 2007-04-11  Bruno Haible  <bruno@clisp.org>
60794
60795         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
60796         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
60797         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
60798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
60799         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60800         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60801         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60802         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60803         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60804         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60805         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
60806         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60807         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60808         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
60809         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60810         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60811         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
60812         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60813         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60814         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
60815         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60816         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60817         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
60818         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60819         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60820         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
60821         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60822         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60823         Reported by Eric Blake.
60824
60825 2007-04-11  Bruno Haible  <bruno@clisp.org>
60826
60827         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
60828
60829 2007-04-10  Bruno Haible  <bruno@clisp.org>
60830
60831         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
60832         for NaN and Infinity. Needed on FreeBSD 6.1.
60833         * tests/test-vasnprintf-posix.c (test_function): Undo last change
60834         regarding results for "%010a" of Infinity and NaN.
60835         * tests/test-vasprintf-posix.c (test_function): Likewise.
60836         * tests/test-snprintf-posix.h (test_function): Likewise.
60837         * tests/test-sprintf-posix.h (test_function): Likewise.
60838         * tests/test-fprintf-posix.h (test_function): Likewise.
60839         * tests/test-printf-posix.h (test_function): Likewise.
60840         * tests/test-fprintf-posix.out: Likewise.
60841
60842 2007-04-10  Bruno Haible  <bruno@clisp.org>
60843
60844         * modules/locale-tests: New file.
60845         * tests/test-locale.c: New file.
60846
60847         * modules/locale: New file.
60848         * lib/locale_.h: New file.
60849         * m4/locale_h.m4: New file.
60850
60851 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
60852             Bruno Haible  <bruno@clisp.org>
60853
60854         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
60855         be determined, test for availability of the copysignf, copysign,
60856         copysignl functions.
60857         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
60858         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
60859         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
60860
60861 2007-04-09  Eric Blake  <ebb9@byu.net>
60862
60863         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
60864         * modules/stdio (Makefile.am): Support fflush.
60865         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
60866         * modules/fflush: New file.
60867         * lib/fflush.c: Likewise.
60868         * m4/fflush.m4: Likewise.
60869         * modules/fflush-tests: New test.
60870         * tests/test-fflush.c: Likewise.
60871         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
60872
60873 2007-04-06  Bruno Haible  <bruno@clisp.org>
60874
60875         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
60876         (VASNPRINTF): Use signbit for faster determination whether to print a
60877         minus sign.
60878         * modules/vasnprintf (Files): Remove lib/float+.h.
60879         * modules/fprintf-posix (Depends-on): Add signbit.
60880         * modules/snprintf-posix (Depends-on): Likewise.
60881         * modules/sprintf-posix (Depends-on): Likewise.
60882         * modules/vasnprintf-posix (Depends-on): Likewise.
60883         * modules/vasprintf-posix (Depends-on): Likewise.
60884         * modules/vfprintf-posix (Depends-on): Likewise.
60885         * modules/vsnprintf-posix (Depends-on): Likewise.
60886         * modules/vsprintf-posix (Depends-on): Likewise.
60887
60888 2007-04-06  Bruno Haible  <bruno@clisp.org>
60889
60890         * tests/test-frexp.c (main): Test also the sign bit of zero results.
60891         * tests/test-frexpl.c (main): Likewise.
60892         * tests/test-ldexpl.c (main): Likewise.
60893         * modules/frexp-tests (Depends-on): Add signbit.
60894         * modules/frexpl-tests (Depdends-on): Likewise.
60895         * modules/ldexpl-tests (Depdends-on): Likewise.
60896
60897 2007-04-06  Bruno Haible  <bruno@clisp.org>
60898
60899         * modules/signbit-tests: New file.
60900         * tests/test-signbit.c: New file.
60901
60902         * modules/signbit: New file.
60903         * lib/signbitf.c: New file.
60904         * lib/signbitd.c: New file.
60905         * lib/signbitl.c: New file.
60906         * m4/signbit.m4: New file.
60907         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
60908         (signbit): New macro.
60909         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
60910         REPLACE_SIGNBIT.
60911         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
60912         REPLACE_FREXPL into math.h.
60913
60914 2007-04-06  Bruno Haible  <bruno@clisp.org>
60915
60916         * modules/isnanf-nolibm-tests: New file.
60917         * tests/test-isnanf.c: New file.
60918
60919         * modules/isnanf-nolibm: New file.
60920         * lib/isnanf.h: New file.
60921         * lib/isnanf.c: New file.
60922         * lib/isnan.c: Consider the USE_FLOAT macro.
60923         * m4/isnanf.m4: New file.
60924
60925 2007-04-06  Bruno Haible  <bruno@clisp.org>
60926
60927         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
60928         (Link): New section.
60929
60930         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
60931
60932 2007-04-06  Bruno Haible  <bruno@clisp.org>
60933
60934         Assume the 'long double' type.
60935         * m4/longdouble.m4: Remove file.
60936         * config/srclist.txt: Don't mention longdouble.m4.
60937         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
60938         * lib/float+.h: Likewise.
60939         * lib/frexp.c: Likewise.
60940         * lib/printf-args.h: Likewise.
60941         * lib/printf-args.c: Likewise.
60942         * lib/printf-frexp.c: Likewise.
60943         * lib/printf-parse.c: Likewise.
60944         * lib/vasnprintf.c: Likewise.
60945         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
60946         * m4/intl.m4: Likewise.
60947         * m4/isnanl.m4: Likewise.
60948         * m4/printf.m4: Likewise.
60949         * m4/printf-frexpl.m4: Likewise.
60950         * m4/vasnprintf.m4: Likewise.
60951         * modules/allocsa (Files): Remove m4/longdouble.m4.
60952         * modules/gettext (Files): Likewise.
60953         * modules/relocatable-prog-wrapper (Files): Likewise.
60954         * modules/vasnprintf (Files): Likewise.
60955         * modules/isnanl (Files): Likewise.
60956         (Include): Simplify.
60957         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
60958         (Include): Simplify.
60959         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
60960         (Include): Simplify.
60961         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
60962         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60963         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
60964         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60965         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60966         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60967         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
60968         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60969         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60970         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60971         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
60972         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60973         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
60974         * tests/test-isnanl.c: Likewise.
60975         * tests/test-snprintf-posix.h: Likewise.
60976         * tests/test-sprintf-posix.h: Likewise.
60977         * tests/test-vasnprintf-posix.c: Likewise.
60978         * tests/test-vasnprintf-posix2.c: Likewise.
60979         * tests/test-vasprintf-posix.c: Likewise.
60980
60981 2007-04-06  Bruno Haible  <bruno@clisp.org>
60982
60983         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
60984         * lib/math_.h [__DECC]: Include the overridden include file through
60985         #include_next, outside the double-inclusion guard.
60986         * lib/stdio_.h [__DECC]: Likewise.
60987         * lib/stdlib_.h [__DECC]: Likewise.
60988         * lib/string_.h [__DECC]: Likewise.
60989         * lib/time_.h [__DECC]: Likewise.
60990         * lib/wchar_.h [__DECC]: Likewise.
60991         * lib/wctype_.h [__DECC]: Likewise.
60992         * lib/inttypes_.h [__DECC]: Likewise.
60993         Reported by Albert Chin <china@thewrittenword.com> in
60994         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
60995
60996 2007-04-04  Eric Blake  <ebb9@byu.net>
60997
60998         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
60999         1.5.x.
61000
61001 2007-04-04  Bruno Haible  <bruno@clisp.org>
61002
61003         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
61004         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
61005
61006 2007-04-04  Bruno Haible  <bruno@clisp.org>
61007
61008         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
61009         results for "%010a" of Infinity and NaN.
61010         * tests/test-vasprintf-posix.c (test_function): Likewise.
61011         * tests/test-snprintf-posix.h (test_function): Likewise.
61012         * tests/test-sprintf-posix.h (test_function): Likewise.
61013         * tests/test-fprintf-posix.h (test_function): Remove these tests.
61014         * tests/test-printf-posix.h (test_function): Likewise.
61015         * tests/test-fprintf-posix.out: Update.
61016         Needed for FreeBSD 6.1.
61017
61018 2007-04-04  Bruno Haible  <bruno@clisp.org>
61019
61020         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
61021         directly used by the gnulib modules nor by gnulib-tool.
61022
61023 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
61024
61025         * DEPENDENCIES: Give overall description of version dependency
61026         desirability.  Use more-typical names for apps.
61027         Add shell, coreutils, diffutils, grep, tar, gzip.
61028
61029 2007-04-04  Simon Josefsson  <simon@josefsson.org>
61030
61031         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
61032
61033 2007-04-04  Karl Berry  <karl@gnu.org>
61034
61035         * MODULES.html.sh (func_module): missing '.
61036
61037 2007-04-03  Bruno Haible  <bruno@clisp.org>
61038
61039         * modules/argmatch-tests (Makefile.am): New variable
61040         test_argmatch_LDADD.
61041         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
61042         * modules/array-list-tests (Makefile.am): New variable
61043         test_array_list_LDADD.
61044         * modules/array-oset-tests (Makefile.am): New variable
61045         test_array_oset_LDADD.
61046         * modules/avltree-list-tests (Makefile.am): New variable
61047         test_avltree_list_LDADD.
61048         * modules/avltree-oset-tests (Makefile.am): New variable
61049         test_avltree_oset_LDADD.
61050         * modules/avltreehash-list-tests (Makefile.am): New variable
61051         test_avltreehash_list_LDADD.
61052         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
61053         test_canonicalize_lgpl_LDADD.
61054         * modules/carray-list-tests (Makefile.am): New variable
61055         test_carray_list_LDADD.
61056         * modules/dirname-tests (Makefile.am): New variable
61057         test_dirname_LDADD.
61058         * modules/linked-list-tests (Makefile.am): New variable
61059         test_linked_list_LDADD.
61060         * modules/linkedhash-list-tests (Makefile.am): New variable
61061         test_linkedhash_list_LDADD.
61062         * modules/rbtree-list-tests (Makefile.am): New variable
61063         test_rbtree_list_LDADD.
61064         * modules/rbtree-oset-tests (Makefile.am): New variable
61065         test_rbtree_oset_LDADD.
61066         * modules/rbtreehash-list-tests (Makefile.am): New variable
61067         test_rbtreehash_list_LDADD.
61068         * modules/xvasprintf-tests (Makefile.am): New variable
61069         test_xvasprintf_LDADD.
61070         Reported by Eric Blake.
61071
61072 2007-04-03  Eric Blake  <ebb9@byu.net>
61073
61074         * DEPENDENCIES: Weaken m4 requirements.
61075
61076 2007-04-03  Bruno Haible  <bruno@clisp.org>
61077
61078         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
61079         * modules/isnanl-tests (configure.ac): Likewise.
61080
61081 2007-04-03  Ben Pfaff  <blp@gnu.org>
61082
61083         * modules/iconv_open: Add $(srcdir)/ to source directory
61084         references in Makefile fragments that call gperf, to fix VPATH
61085         builds.
61086
61087 2007-04-03  Bruno Haible  <bruno@clisp.org>
61088
61089         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
61090         * lib/ldexpl.c: Undo last change.
61091
61092 2007-04-03  Bruno Haible  <bruno@clisp.org>
61093
61094         * modules/printf-frexpl (Depends-on): Undo last change.
61095         (Files): Add m4/ldexpl.m4.
61096
61097 2007-04-03  Bruno Haible  <bruno@clisp.org>
61098
61099         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
61100         * modules/isnanl (Link): New section.
61101
61102         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
61103         * modules/frexp (Link): New section.
61104
61105         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
61106         * modules/frexpl (Link): New section.
61107
61108         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
61109         * modules/ldexpl (Link): New section.
61110
61111 2007-04-03  Bruno Haible  <bruno@clisp.org>
61112
61113         * modules/TEMPLATE-EXTENDED: New file.
61114         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
61115
61116 2007-04-03  Bruno Haible  <bruno@clisp.org>
61117
61118         * DEPENDENCIES: New file.
61119         Suggested by Simon Josefsson.
61120
61121 2007-04-03  Bruno Haible  <bruno@clisp.org>
61122
61123         * doc/gnulib.texi: Escape @.
61124
61125 2007-04-03  James Youngman  <jay@gnu.org>
61126         and Paul Eggert  <eggert@cs.ucla.edu>
61127
61128         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
61129         birthtime on all systems that have birthtime, not just those which
61130         use st_birthtimensec rather than st_birthtim.  Putting zero in
61131         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
61132         that the birth time is not available for files on an NFS mount.
61133
61134 2007-04-03  Simon Josefsson  <simon@josefsson.org>
61135
61136         * modules/memxor: Move back from crypto/, suggested by Bruno.
61137         * modules/crypto/hmac-sha1: Fix memxor dependency.
61138
61139         * modules/crypto/gc: Moved from ../.
61140
61141 2007-04-02  Eric Blake  <ebb9@byu.net>
61142
61143         * lib/ldexpl.c (includes): Avoid libm.
61144
61145         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
61146
61147 2007-04-02  Bruno Haible  <bruno@clisp.org>
61148
61149         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
61150         on IRIX.
61151
61152 2007-04-02  Bruno Haible  <bruno@clisp.org>
61153
61154         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
61155         x86 or x86_64 platforms running MacOS X.
61156         Reported by Ryan Schmidt <@ryandesign.com>.
61157
61158 2007-04-02  Bruno Haible  <bruno@clisp.org>
61159
61160         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
61161         i386.
61162
61163 2007-04-01  Simon Josefsson  <simon@josefsson.org>
61164
61165         * modules/crypto/arcfour: Moved from ../.
61166         * modules/crypto/arcfour-tests: Moved from ../.
61167         * modules/crypto/arctwo: Moved from ../.
61168         * modules/crypto/arctwo-tests: Moved from ../.
61169         * modules/crypto/des: Moved from ../.
61170         * modules/crypto/des-tests: Moved from ../.
61171         * modules/crypto/gc-arcfour: Moved from ../.
61172         * modules/crypto/gc-arcfour-tests: Moved from ../.
61173         * modules/crypto/gc-arctwo: Moved from ../.
61174         * modules/crypto/gc-arctwo-tests: Moved from ../.
61175         * modules/crypto/gc-des: Moved from ../.
61176         * modules/crypto/gc-des-tests: Moved from ../.
61177         * modules/crypto/gc-hmac-md5: Moved from ../.
61178         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
61179         * modules/crypto/gc-hmac-sha1: Moved from ../.
61180         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
61181         * modules/crypto/gc-md2: Moved from ../.
61182         * modules/crypto/gc-md2-tests: Moved from ../.
61183         * modules/crypto/gc-md4: Moved from ../.
61184         * modules/crypto/gc-md4-tests: Moved from ../.
61185         * modules/crypto/gc-md5: Moved from ../.
61186         * modules/crypto/gc-md5-tests: Moved from ../.
61187         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
61188         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
61189         * modules/crypto/gc-random: Moved from ../.
61190         * modules/crypto/gc-rijndael: Moved from ../.
61191         * modules/crypto/gc-rijndael-tests: Moved from ../.
61192         * modules/crypto/gc-sha1: Moved from ../.
61193         * modules/crypto/gc-sha1-tests: Moved from ../.
61194         * modules/crypto/gc-tests: Moved from ../.
61195         * modules/crypto/hmac-md5: Moved from ../.
61196         * modules/crypto/hmac-md5-tests: Moved from ../.
61197         * modules/crypto/hmac-sha1: Moved from ../.
61198         * modules/crypto/hmac-sha1-tests: Moved from ../.
61199         * modules/crypto/md2: Moved from ../.
61200         * modules/crypto/md2-tests: Moved from ../.
61201         * modules/crypto/md4: Moved from ../.
61202         * modules/crypto/md4-tests: Moved from ../.
61203         * modules/crypto/md5: Moved from ../.
61204         * modules/crypto/md5-tests: Moved from ../.
61205         * modules/crypto/memxor: Moved from ../.
61206         * modules/crypto/rijndael: Moved from ../.
61207         * modules/crypto/rijndael-tests: Moved from ../.
61208         * modules/crypto/sha1: Moved from ../.
61209
61210 2007-03-30  James Youngman  <jay@gnu.org>
61211
61212         * tests/test-stat-time.c (prepare_test): use chmod() rather than
61213         rename() to change the ctime of a file (because ctime is unaffected
61214         by rename on jfs2 on AIX 5.1).
61215         (main): Start by doing cleanup, in case a previous run failed leaving
61216         test files behind.
61217
61218 2007-03-31  Bruno Haible  <bruno@clisp.org>
61219
61220         Support old proprietary implementations of iconv.
61221         * modules/iconv_open: New file.
61222         * lib/iconv_.h: New file.
61223         * m4/iconv_h.m4: New file.
61224         * lib/iconv_open.c: New file.
61225         * lib/iconv_open-aix.gperf: New file.
61226         * lib/iconv_open-hpux.gperf: New file.
61227         * lib/iconv_open-irix.gperf: New file.
61228         * lib/iconv_open-osf.gperf: New file.
61229         * m4/iconv_open.m4: New file.
61230         * modules/linebreak (Depends-on): Add iconv_open.
61231         * modules/striconv (Depends-on): Likewise.
61232         * modules/striconveh (Depends-on): Likewise.
61233         * modules/unicodeio (Depends-on): Likewise.
61234         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
61235         (iconv_t)(-1).
61236         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
61237         conversion if cd is (iconv_t)(-1).
61238         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
61239         is not possible.
61240
61241 2007-03-31  Bruno Haible  <bruno@clisp.org>
61242
61243         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
61244         work on Solaris either. Protect also second use of "autodetect_jp".
61245
61246 2007-03-31  Bruno Haible  <bruno@clisp.org>
61247
61248         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
61249         the function is not present.
61250
61251 2007-03-31  Bruno Haible  <bruno@clisp.org>
61252
61253         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
61254         the function is not present.
61255
61256 2007-03-31  Bruno Haible  <bruno@clisp.org>
61257
61258         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
61259         a bug in HP-UX iconv_open().
61260
61261 2007-03-31  Bruno Haible  <bruno@clisp.org>
61262
61263         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
61264         (Mathematics <math.h>): New section, add fpieee.
61265         (Input/output <stdio.h>): Add fseterr.
61266         (Mathematics <math.h>): New section, add printf-frexp.
61267         (Container data structures): Add sublist.
61268         (Core language properties): Add fpucw, inline.
61269         (Functions for greatest-width integer types <inttypes.h>): Add
61270         imaxabs, imaxdiv, inttypes.
61271         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
61272         isnanl-nolibm, ldexp.
61273         (Mathematics <math.h>): New section, add printf-frexpl.
61274         (Support for systems lacking POSIX:2001): Add fprintf-posix,
61275         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
61276         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
61277         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
61278         (Unicode string functions): Add unistr/u*-mbtoucr.
61279         (Java): Add javacomp-script, javaexec-script.
61280         (C#): Add csharpcomp-script, csharpexec-script.
61281         (Support for building libraries and executables): Add havelib,
61282         relocatable-*.
61283         (Support for maintaining and releasing projects): Renamed from
61284         'Support for maintaining and release projects'. Add announce-gen.
61285
61286 2007-03-31  Bruno Haible  <bruno@clisp.org>
61287
61288         * README: Talk primarily about git.
61289         (git and CVS): Renamed from CVS.
61290         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
61291         gnulib is available through git.
61292         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
61293
61294 2007-03-30  Bruno Haible  <bruno@clisp.org>
61295
61296         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
61297         * lib/poll_.h: Likewise.
61298         * lib/stat_.h: Likewise.
61299         * lib/sys_time_.h: Likewise.
61300         * lib/sysexit_.h: Likewise.
61301         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
61302         * lib/stdbool_.h: Likewise.
61303         * lib/byteswap_.h: Add double-inclusion guard.
61304
61305 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
61306
61307         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
61308
61309 2007-03-30  Karl Berry  <karl@gnu.org>
61310
61311         * config/srclist-update: double space after USA in the license
61312         substitution, since that's how it's usually (?) written.
61313
61314 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61315
61316         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
61317         reported by Bruno Haible.
61318
61319 2007-03-29  Bruno Haible  <bruno@clisp.org>
61320
61321         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
61322         a bug in AIX iconv().
61323
61324 2007-03-29  Bruno Haible  <bruno@clisp.org>
61325
61326         * modules/ldexpl-tests: New file.
61327         * tests/test-ldexpl.c: New file.
61328
61329 2007-03-29  Bruno Haible  <bruno@clisp.org>
61330
61331         * lib/ldexpl.c: Include fpucw.h.
61332         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
61333         multiplication.
61334         * modules/ldexpl (Depends-on): Add fpucw.
61335
61336 2007-03-29  Bruno Haible  <bruno@clisp.org>
61337
61338         * modules/ldexpl: New file.
61339         * m4/ldexpl.m4: New file.
61340         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
61341         set.
61342         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
61343         REPLACE_LDEXPL.
61344         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
61345         REPLACE_LDEXPL.
61346         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
61347         gl_FUNC_LDEXPL_WORKS.
61348         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
61349         * modules/mathl (Files): Remove lib/ldexpl.c.
61350         (Depends-on): Add ldexpl.
61351
61352 2007-03-29  Bruno Haible  <bruno@clisp.org>
61353
61354         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
61355
61356 2007-03-29  Bruno Haible  <bruno@clisp.org>
61357
61358         * tests/test-striconveh.c (main): Don't assume that a direct conversion
61359         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
61360         and possibly also HP-UX.
61361         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
61362         work on AIX, IRIX, HP-UX, OSF/1.
61363         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
61364         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
61365         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
61366         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
61367         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
61368         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
61369
61370 2007-03-29  Bruno Haible  <bruno@clisp.org>
61371
61372         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
61373
61374 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
61375
61376         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
61377         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
61378
61379 2007-03-29  Eric Blake  <ebb9@byu.net>
61380
61381         * lib/acl-internal.h: Remove redundant include.
61382         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
61383         Cygwin when a file is locked.
61384
61385 2007-03-29  Bruno Haible  <bruno@clisp.org>
61386
61387         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
61388         file.
61389         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
61390
61391 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
61392
61393         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
61394         try to remove a parent directory if the child couldn't be removed
61395         (except for the first rmdir, which could fail because the child
61396         doesn't exist).  Problem reported by Jeff Blaine in
61397         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
61398
61399 2007-03-28  Bruno Haible  <bruno@clisp.org>
61400
61401         * lib/striconveh.c (utf8conv_carefully): New function.
61402         (mem_cd_iconveh_internal): Invoke it.
61403
61404 2007-03-28  Bruno Haible  <bruno@clisp.org>
61405
61406         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
61407         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
61408         input.
61409         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
61410         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
61411         unistr/u8-uctomb.
61412
61413 2007-03-28  Bruno Haible  <bruno@clisp.org>
61414
61415         * modules/unistr/u8-mbtoucr: New file.
61416         * lib/unistr/u8-mbtoucr.c: New file.
61417         * modules/unistr/u16-mbtoucr: New file.
61418         * lib/unistr/u16-mbtoucr.c: New file.
61419         * modules/unistr/u16-mbtoucr: New file.
61420         * lib/unistr/u16-mbtoucr.c: New file.
61421         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
61422
61423 2007-03-27  Simon Josefsson  <simon@josefsson.org>
61424             Bruno Haible  <bruno@clisp.org>
61425
61426         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
61427         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
61428         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
61429
61430         * m4/stdio_h.m4: Add stubs for vasprintf too.
61431
61432         * modules/stdio: Support vasprintf in sed command.
61433
61434         * modules/vasprintf: Depend on stdio for prototypes.  Remove
61435         vasprintf.h.  Add stdio module indicator.
61436
61437         * lib/stdio_.h: Declare asprintf and vasprintf, based on
61438         vasprintf.h.
61439
61440         * lib/vasprintf.h: File removed.
61441
61442         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
61443         * lib/vasprintf.c: Ditto.
61444         * lib/xvasprintf.c: Ditto.
61445         * tests/test-vasprintf-posix.c: Ditto.
61446         * tests/test-vasprintf.c: Ditto.
61447
61448 2007-03-27  Bruno Haible  <bruno@clisp.org>
61449
61450         Make vasnprintf multithread-safe.
61451         * lib/vasnprintf.c (decimal_point_char): New function.
61452         (VASNPRINTF): Use it.
61453         Suggested by Simon Josefsson.
61454
61455 2007-03-27  Eric Blake  <ebb9@byu.net>
61456
61457         Support sub-second birthtime on cygwin.
61458         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
61459         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
61460         (get_stat_birthtime): Also work with st_birthtim.
61461
61462 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
61463
61464         * lib/stat-time.h (USE_BIRTHTIME): Remove.
61465         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
61466         (get_stat_birthtime_ns): Do not try to use "spare" fields.
61467         (get_stat_birthtime_ns): Simplify compile-time tests.
61468         (get_stat_birthtime): Change the API to look like
61469         get_stat_mtime etc., except return a negative tv_nsec on error.
61470         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
61471         Don't check for "spare" fields.
61472         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
61473         or for struct stat.st_birthtime, as these tests aren't used.
61474         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
61475
61476 2007-03-27  Bruno Haible  <bruno@clisp.org>
61477
61478         * lib/stat-time.h: Include <sys/stat.h>.
61479
61480 2007-03-27  James Youngman  <jay@gnu.org>
61481
61482         * lib/stat-time.h (get_stat_birthtime): New function for
61483           retrieving st_birthtime as provided by UFS2 (hence *BSD).
61484         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
61485           and its variants.
61486         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
61487         * modules/stat-time-test: New file.
61488         * tests/test-stat-time.c: New test, devised by Bruno Haible.
61489
61490 2007-03-26  Bruno Haible  <bruno@clisp.org>
61491
61492         Better support of signalling NaNs.
61493         * lib/atanl.c: Include isnanl.h.
61494         (atanl): Perform test for NaN at the beginning of the function and
61495         through a call to isnanl.
61496         * lib/cosl.c: Include isnanl.h.
61497         (cosl): Perform test for NaN at the beginning of the function and
61498         through a call to isnanl.
61499         * lib/ldexpl.c: Include isnanl.h.
61500         (ldexpl): Perform test for NaN through a call to isnanl.
61501         * lib/logl.c: Include isnanl.h.
61502         (logl): Perform test for NaN at the beginning of the function and
61503         through a call to isnanl.
61504         * lib/sinl.c: Include isnanl.h.
61505         (sinl): Perform test for NaN at the beginning of the function and
61506         through a call to isnanl.
61507         * lib/sqrtl.c: Include isnanl.h.
61508         (sqrtl): Perform test for NaN at the beginning of the function and
61509         through a call to isnanl.
61510         * lib/tanl.c: Include isnanl.h.
61511         (tanl): Perform test for NaN at the beginning of the function and
61512         through a call to isnanl.
61513         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
61514         * modules/mathl (Depends-on): Add isnanl.
61515
61516 2007-03-26  Eric Blake  <ebb9@byu.net>
61517
61518         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
61519         regression in logic sense of previous patch.
61520
61521 2007-03-26  Bruno Haible  <bruno@clisp.org>
61522
61523         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
61524         unportable shell command "if ! ...".
61525         Reported by Ralf Wildenhues.
61526
61527 2007-03-25  Bruno Haible  <bruno@clisp.org>
61528
61529         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
61530         <sysexits.h> file, and only add EX_CONFIG.
61531         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
61532         absolute file name and whether it is sufficient. Substitute also
61533         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
61534         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
61535         ABSOLUTE_SYSEXITS_H into sysexits.h.
61536
61537 2007-03-25  Bruno Haible  <bruno@clisp.org>
61538
61539         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
61540         hints is NULL.
61541
61542 2007-03-25  Bruno Haible  <bruno@clisp.org>
61543
61544         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
61545         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
61546
61547 2007-03-25  Bruno Haible  <bruno@clisp.org>
61548
61549         * lib/vasnprintf.c: Include langinfo.h.
61550         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
61551         multithread-safe.
61552         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
61553         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
61554         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61555         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61556         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61557         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61558         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61559         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
61560         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61561         Reported by Simon Josefsson.
61562
61563 2007-03-25  Bruno Haible  <bruno@clisp.org>
61564
61565         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
61566         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
61567         * modules/vasnprintf (Depends-on): Add stdint.
61568
61569 2007-03-25  Bruno Haible  <bruno@clisp.org>
61570
61571         * modules/fpieee: New file.
61572         * m4/fpieee.m4: New file.
61573         * modules/isnan-nolibm (Depends-on): Add fpieee.
61574         * modules/isnanl-nolibm (Depends-on): Add fpieee.
61575         * modules/isnanl (Depends-on): Add fpieee.
61576
61577 2007-03-25  Bruno Haible  <bruno@clisp.org>
61578
61579         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
61580
61581 2007-03-25  Bruno Haible  <bruno@clisp.org>
61582
61583         Avoid test failures on IRIX 6.5.
61584         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
61585         (main): Use it.
61586         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
61587         macros.
61588         (main): Use them.
61589
61590 2007-03-25  Bruno Haible  <bruno@clisp.org>
61591
61592         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
61593         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
61594         exists but doesn't work.
61595         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
61596         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
61597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
61598         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
61599         math.h.
61600
61601 2007-03-25  Bruno Haible  <bruno@clisp.org>
61602
61603         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
61604         returns inf. Needed on IRIX 6.5.
61605
61606 2007-03-25  Bruno Haible  <bruno@clisp.org>
61607
61608         * tests/test-frexpl.c: Include isnanl-nolibm.h.
61609         (main): Use isnanl instead of x != x idiom.
61610         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
61611
61612         * tests/test-frexp.c: Include isnan.h.
61613         (main): Use isnan instead of x != x idiom.
61614         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
61615
61616 2007-03-25  Bruno Haible  <bruno@clisp.org>
61617
61618         * tests/test-frexp.c (NaN): New function/macro.
61619         (main): Use it instead of 0.0 / 0.0.
61620         * tests/test-isnan.c (NaN): New function/macro.
61621         (main): Use it instead of 0.0 / 0.0.
61622         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
61623         (test_function): Use it instead of 0.0 / 0.0.
61624         * tests/test-vasprintf-posix.c (NaN): New function/macro.
61625         (test_function): Use it instead of 0.0 / 0.0.
61626         * tests/test-snprintf-posix.h (NaN): New function/macro.
61627         (test_function): Use it instead of 0.0 / 0.0.
61628         * tests/test-sprintf-posix.h (NaN): New function/macro.
61629         (test_function): Use it instead of 0.0 / 0.0.
61630         * tests/test-fprintf-posix.h (NaN): New function/macro.
61631         (test_function): Use it instead of 0.0 / 0.0.
61632         * tests/test-printf-posix.h (NaN): New function/macro.
61633         (test_function): Use it instead of 0.0 / 0.0.
61634
61635         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
61636
61637 2007-03-25  Bruno Haible  <bruno@clisp.org>
61638
61639         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
61640
61641 2007-03-25  Bruno Haible  <bruno@clisp.org>
61642
61643         * lib/regexec.c (merge_state_with_log): Make static.
61644
61645 2007-03-25  Bruno Haible  <bruno@clisp.org>
61646
61647         * lib/trigl.c (kernel_rem_pio2): Make static.
61648
61649 2007-03-25  Bruno Haible  <bruno@clisp.org>
61650
61651         * lib/sincosl.c (sincosl_table): Make static.
61652
61653 2007-03-25  Bruno Haible  <bruno@clisp.org>
61654
61655         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
61656         if the compiler does not support C99.
61657
61658 2007-03-25  Bruno Haible  <bruno@clisp.org>
61659
61660         * modules/time (Makefile.am): Ensure all rule action lines start with a
61661         tab.
61662
61663 2007-03-24  Bruno Haible  <bruno@clisp.org>
61664
61665         * modules/tsearch-tests: New file.
61666         * tests/test-tsearch.sh: New file.
61667         * tests/test-tsearch.c: New file, mostly copied from glibc.
61668
61669         * modules/search-tests: New file.
61670         * tests/test-search.c: New file.
61671
61672         * modules/search: New file.
61673         * lib/search_.h: New file, incorporating lib/tsearch.h.
61674         * m4/search_h.m4: New file.
61675         * lib/tsearch.h: Remove file.
61676         * lib/tsearch.c: Include search.h instead of tsearch.h.
61677         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
61678         HAVE_TSEARCH.
61679         * modules/tsearch (Files): Remove lib/tsearch.h.
61680         (Depends-on): Add search.
61681         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
61682         (Include): Change tsearch.h into search.h.
61683
61684 2007-03-24  Bruno Haible  <bruno@clisp.org>
61685
61686         * modules/fpucw: New file.
61687         * lib/fpucw.h: New file.
61688         * lib/frexp.c: Include fpucw.h.
61689         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
61690         (FUNC): Use them.
61691         * lib/printf-frexp.c: Include fpucw.h.
61692         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
61693         (FUNC): Use them.
61694         * lib/vasnprintf.c: Include fpucw.h.
61695         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
61696         'long double' calculations.
61697         * tests/test-frexpl.c: Include fpucw.h.
61698         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
61699         * tests/test-printf-frexpl.c: Include fpucw.h.
61700         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
61701         * modules/frexpl (Depends-on): Add fpucw.
61702         * modules/printf-frexpl (Depends-on): Likewise.
61703         * modules/fprintf-posix (Depends-on): Likewise.
61704         * modules/snprintf-posix (Depends-on): Likewise.
61705         * modules/sprintf-posix (Depends-on): Likewise.
61706         * modules/vasnprintf-posix (Depends-on): Likewise.
61707         * modules/vasprintf-posix (Depends-on): Likewise.
61708         * modules/vfprintf-posix (Depends-on): Likewise.
61709         * modules/vsnprintf-posix (Depends-on): Likewise.
61710         * modules/vsprintf-posix (Depends-on): Likewise.
61711         * modules/frexpl-tests (Depends-on): Likewise.
61712         * modules/printf-frexpl-tests (Depends-on): Likewise.
61713
61714 2007-03-24  Bruno Haible  <bruno@clisp.org>
61715
61716         * lib/float+.h: New file.
61717         * lib/isnan.c: Include float+.h.
61718         (SIZE): New macro.
61719         (FUNC): Compare only SIZE bytes of the value.
61720         * lib/vasnprintf.c: Include float+.h.
61721         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
61722         SIZEOF_LDBL or SIZEOF_DBL bytes.
61723         * modules/isnan-nolibm (Files): Add lib/float+.h.
61724         * modules/isnanl-nolibm (Files): Add lib/float+.h.
61725         * modules/isnanl (Files): Add lib/float+.h.
61726         * modules/vasnprintf (Files): Add lib/float+.h.
61727
61728 2007-03-24  Bruno Haible  <bruno@clisp.org>
61729
61730         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
61731         include isnanl-nolibm.h.
61732
61733 2007-03-24  Bruno Haible  <bruno@clisp.org>
61734
61735         * tests/test-read-file.c (main): Don't produce spurious output for
61736         expected situations. Make the test fail if it encountered unexpected
61737         results.
61738
61739 2007-03-24  Bruno Haible  <bruno@clisp.org>
61740
61741         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
61742         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
61743
61744 2007-03-24  Bruno Haible  <bruno@clisp.org>
61745
61746         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
61747
61748 2007-03-24  Bruno Haible  <bruno@clisp.org>
61749
61750         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
61751         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
61752
61753         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
61754         * modules/utf8-ucs4: Turn into a symbolic link to module
61755         unistr/u8-mbtouc.
61756
61757         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
61758         utf8-ucs4-unsafe.
61759         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
61760         unistr/u8-mbtouc-unsafe.
61761
61762         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
61763         * modules/utf16-ucs4: Turn into a symbolic link to module
61764         unistr/u16-mbtouc.
61765
61766         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
61767         utf16-ucs4-unsafe.
61768         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
61769         unistr/u16-mbtouc-unsafe.
61770
61771         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
61772         * modules/ucs4-utf8: Turn into a symbolic link to module
61773         unistr/u8-ubtomb.
61774
61775         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
61776         * modules/ucs4-utf16: Turn into a symbolic link to module
61777         unistr/u16-ubtomb.
61778
61779 2007-03-24  Bruno Haible  <bruno@clisp.org>
61780
61781         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
61782         Enable the function only if HAVE_INLINE.
61783         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
61784         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
61785         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
61786         Enable the function only if HAVE_INLINE.
61787         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
61788         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
61789         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
61790         Enable the function only if HAVE_INLINE.
61791         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
61792         Enable the function only if HAVE_INLINE.
61793         * modules/utf8-ucs4: Update.
61794         * modules/utf8-ucs4-unsafe: Update.
61795         * modules/utf16-ucs4: Update.
61796         * modules/utf16-ucs4-unsafe: Update.
61797         * modules/ucs4-utf8: Update.
61798         * modules/ucs4-utf16: Update.
61799
61800 2007-03-24  Bruno Haible  <bruno@clisp.org>
61801
61802         * lib/utf8-ucs4.h: Remove file.
61803         * lib/utf8-ucs4-unsafe.h: Remove file.
61804         * lib/utf16-ucs4.h: Remove file.
61805         * lib/utf16-ucs4-unsafe.h: Remove file.
61806         * lib/ucs4-utf8.h: Remove file.
61807         * lib/ucs4-utf16.h: Remove file.
61808         * lib/unistr.h: Include their previous contents.
61809         * m4/utf-ucs4.m4: Remove file.
61810         * m4/ucs4-utf.m4: Remove file.
61811         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
61812         (Depends-on): Add unistr/base.
61813         (configure.ac): Remove gl_UTF_UCS4.
61814         (Makefile.am): Update.
61815         (Include): Change to unistr.h.
61816         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
61817         (Depends-on): Add unistr/base.
61818         (configure.ac): Remove gl_UTF_UCS4.
61819         (Makefile.am): Update.
61820         (Include): Change to unistr.h.
61821         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
61822         (Depends-on): Add unistr/base.
61823         (configure.ac): Remove gl_UTF_UCS4.
61824         (Makefile.am): Update.
61825         (Include): Change to unistr.h.
61826         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
61827         (Depends-on): Add unistr/base.
61828         (configure.ac): Remove gl_UTF_UCS4.
61829         (Makefile.am): Update.
61830         (Include): Change to unistr.h.
61831         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
61832         (Depends-on): Add unistr/base.
61833         (configure.ac): Remove gl_UCS4_UTF.
61834         (Makefile.am): Update.
61835         (Include): Change to unistr.h.
61836         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
61837         (Depends-on): Add unistr/base.
61838         (configure.ac): Remove gl_UCS4_UTF.
61839         (Makefile.am): Update.
61840         (Include): Change to unistr.h.
61841         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
61842         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
61843         utf8-ucs4-unsafe.h.
61844         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
61845         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
61846         utf16-ucs4-unsafe.h.
61847         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
61848         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
61849         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
61850         * lib/unistr/u8-strchr.c: Likewise.
61851         * lib/unistr/u8-strrchr.c: Likewise.
61852         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
61853         * lib/unistr/u16-strchr.c: Likewise.
61854         * lib/unistr/u16-strrchr.c: Likewise.
61855         * lib/striconveh.c: Update.
61856         * lib/linebreak.c: Update.
61857
61858 2007-03-24  Bruno Haible  <bruno@clisp.org>
61859
61860         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
61861         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
61862
61863 2007-03-22  Bruno Haible  <bruno@clisp.org>
61864
61865         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
61866
61867 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
61868
61869         * MODULES.html.sh (File system functions): New module write-any-file.
61870         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
61871         * m4/write-any-file.m4: New files.
61872
61873 2007-03-23  Eric Blake  <ebb9@byu.net>
61874
61875         * gnulib-tool: Rearrange space-tab sequences, since some editors
61876         like to eat them.
61877
61878 2007-03-23  Eric Blake  <ebb9@byu.net>
61879
61880         * lib/version-etc.c (version_etc_va): Update license wording to
61881         be more concise.  Recommended by Richard Stallman.
61882
61883 2007-03-22  Bruno Haible  <bruno@clisp.org>
61884
61885         * lib/poll.c (MSG_PEEK): New fallback definition.
61886
61887 2007-03-22  Bruno Haible  <bruno@clisp.org>
61888
61889         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
61890         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
61891         (main): Update.
61892         Fixes a compilation error on BeOS.
61893
61894 2007-03-22  Bruno Haible  <bruno@clisp.org>
61895
61896         * modules/frexpl-tests: New file.
61897         * tests/test-frexpl.c: New file.
61898
61899         * modules/frexpl: New file.
61900         * m4/frexpl.m4: New file.
61901         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
61902         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
61903         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
61904         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
61905         (Depends-on): Add frexpl. Remove isnanl-nolibm.
61906         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
61907
61908 2007-03-22  Bruno Haible  <bruno@clisp.org>
61909
61910         * lib/frexpl.c: Share code with lib/frexp.c.
61911         * modules/mathl (Files): Add lib/frexp.c.
61912         (Depends-on): Add isnanl-nolibm.
61913
61914 2007-03-22  Bruno Haible  <bruno@clisp.org>
61915
61916         * modules/printf-frexp (Files): Add m4/frexp.m4.
61917         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
61918         only if the found frexp function actually works.
61919
61920 2007-03-22  Bruno Haible  <bruno@clisp.org>
61921
61922         * lib/frexp.c: Remove older implementation that uses divisions.
61923
61924 2007-03-21  Bruno Haible  <bruno@clisp.org>
61925
61926         * modules/frexp-tests: New file.
61927         * tests/test-frexp.c: New file.
61928
61929         * modules/frexp: New file.
61930         * lib/frexp.c: New file.
61931         * m4/frexp.m4: New file.
61932         * lib/math_.h (frexp): New declaration.
61933         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
61934         REPLACE_FREXP.
61935         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
61936
61937 2007-03-21  Bruno Haible  <bruno@clisp.org>
61938
61939         * modules/isnanl-tests: New file.
61940         * tests/test-isnanl.c: New file.
61941
61942         * modules/isnanl: New file.
61943         * lib/isnanl.h: New file.
61944         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
61945         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
61946         gl_FUNC_ISNANL_WORKS.
61947         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
61948         New macros.
61949
61950 2007-03-21  Bruno Haible  <bruno@clisp.org>
61951
61952         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
61953         lib/isnanl.h.
61954         (Include): Update.
61955         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
61956         * lib/vasnprintf.c: Update.
61957         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
61958         tests/test-isnanl.h, remove tests/test-isnanl.c.
61959         (Makefile.am): Update.
61960         * tests/test-isnanl-nolibm.c: New file.
61961         * tests/test-isnanl.h: New file.
61962         * tests/test-isnanl.c: Remove file.
61963
61964 2007-03-21  Jim Meyering  <jim@meyering.net>
61965
61966         When trying to open ".", treat ESTALE like EACCES.
61967         * lib/savewd.c (savewd_save): Resort to forking not just upon
61968         failure with EACCES, but also when errno is ESTALE.
61969
61970 2007-03-20  Bruno Haible  <bruno@clisp.org>
61971
61972         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
61973         Needed on AIX 5.1. Reported by Matthew Woehlke.
61974
61975 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61976
61977         Suggestions by Bruno Haible:
61978         * lib/acl-internal.h: Include "gettext.h" rather than rolling
61979         our own.
61980         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
61981         * modules/acl (Depends-on): Add gettext.
61982
61983 2007-03-19  Bruno Haible  <bruno@clisp.org>
61984
61985         * modules/iconvme: Remove file.
61986         * lib/iconvme.h: Remove file.
61987         * lib/iconvme.c: Remove file.
61988         * m4/iconvme.m4: Remove file.
61989
61990 2007-03-19  Bruno Haible  <bruno@clisp.org>
61991
61992         * doc/relocatable-maint.texi: Break long shell script line.
61993         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61994
61995 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61996
61997         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
61998         handle file_has_acl.
61999         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
62000         * lib/acl.c: Move header inclusions and related macro defns into
62001         lib/acl-internal.h.
62002         (S_ISLNK): Remove defn, since that's now done for us.
62003         (file_has_acl): Move to lib/file-has-acl.c.
62004         Call acl_trivial if available.  This is the crucial part of the fix.
62005         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
62006         shared within the library.  Rewrite a bit, partly to make it compatible
62007         with the GNU coding style.
62008         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
62009         Remove unnecessary double-quotes.
62010         Don't test for acl_to_text; the build will catch that.
62011         Replace acl_entries if it doesn't exist and it is needed.
62012         Check for -lsec and acl_trivial (as used on Solaris 10).
62013         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
62014         lib/file-has-acl.c.
62015         (Depends-on): Add sys_stat, for S_ISLNK.
62016
62017 2007-03-19  Ben Pfaff  <blp@gnu.org>
62018
62019         * doc/gnulib.texi: Fix typos.
62020         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
62021
62022 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
62023
62024         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
62025         If size is zero here, buf must be zero.
62026
62027 2007-03-19  Simon Josefsson  <simon@josefsson.org>
62028
62029         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
62030         <bruno@clisp.org>.
62031
62032 2007-03-18  Bruno Haible  <bruno@clisp.org>
62033
62034         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
62035         Suggested by Eric Blake.
62036
62037 2007-03-18  Ben Pfaff  <blp@gnu.org>
62038
62039         * doc/relocatable.texi: Recommend using as prefix a directory
62040         that does not exist and will never be created.  Based on
62041         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
62042         and others.
62043
62044 2007-03-17  Bruno Haible  <bruno@clisp.org>
62045
62046         * lib/fchownat.c: Include lchown.h.
62047
62048 2007-03-17  Bruno Haible  <bruno@clisp.org>
62049
62050         Fix endless loop when the given allocated size was > INT_MAX.
62051         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
62052         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
62053         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
62054         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
62055         * lib/sprintf.c (sprintf): Likewise.
62056
62057 2007-03-17  Bruno Haible  <bruno@clisp.org>
62058
62059         * tests/test-argp-2.sh (func_compare): Output a context diff.
62060
62061 2007-03-17  Bruno Haible  <bruno@clisp.org>
62062
62063         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
62064         locale's decimal-point character.
62065
62066 2007-03-17  Bruno Haible  <bruno@clisp.org>
62067
62068         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
62069         before comparing it. Needed because on some platforms (e.g. x86) a
62070         'long double' occupies less bytes than sizeof (long double).
62071
62072 2007-03-17  Bruno Haible  <bruno@clisp.org>
62073
62074         * tests/test-crc.c (main): Make printf statements 64-bit clean.
62075         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
62076         * tests/test-getaddrinfo.c (simple): Likewise.
62077         * tests/test-read-file.c (main): Likewise.
62078
62079 2007-03-17  Bruno Haible  <bruno@clisp.org>
62080
62081         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
62082
62083 2007-03-17  Bruno Haible  <bruno@clisp.org>
62084
62085         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
62086         unused variable.
62087
62088 2007-03-17  Bruno Haible  <bruno@clisp.org>
62089
62090         * tests/test-c-strcasecmp.c: Include c-strcase.h.
62091         * tests/test-c-strncasecmp.c: Likewise.
62092
62093 2007-03-17  Bruno Haible  <bruno@clisp.org>
62094
62095         * modules/stdlib (Depends-on): Add unistd.
62096         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
62097         Needed for MacOS X 10.3.
62098
62099 2007-03-17  Bruno Haible  <bruno@clisp.org>
62100
62101         * lib/unistr/u-strdup.h: Include <stdlib.h>.
62102
62103 2007-03-17  Bruno Haible  <bruno@clisp.org>
62104
62105         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
62106
62107 2007-03-17  Bruno Haible  <bruno@clisp.org>
62108
62109         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
62110         to reflect files copied from gnulib (with or without modifications).
62111         Suggested by Jim Meyering.
62112
62113 2007-03-17  Eric Blake  <ebb9@byu.net>
62114
62115         * NEWS: Document stdlib change from 2007-02-18.
62116
62117 2007-03-17  Jim Meyering  <jim@meyering.net>
62118
62119         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
62120         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
62121         someone uses a name containing shell meta-characters.
62122         Reported by Alfred M. Szmidt.
62123
62124         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
62125
62126 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
62127
62128         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
62129         and copy gettext configuration files only if configure.ac contains
62130         a use of AM_GNU_GETTEXT_VERSION.
62131
62132 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
62133
62134         * build-aux/bootstrap (gnulib_name): New variable.
62135         (gnulib_tool_options): Use it.
62136
62137 2007-03-13  Simon Josefsson  <simon@josefsson.org>
62138
62139         * tests/test-des.c: Use new namespace.
62140
62141 2007-03-15  Bruno Haible  <bruno@clisp.org>
62142
62143         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
62144         Reported by James Youngman <jay@gnu.org>.
62145
62146 2007-03-15  Bruno Haible  <bruno@clisp.org>
62147
62148         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
62149         declared prototype. Needed with cc on OSF/1 5.1.
62150
62151 2007-03-15  Bruno Haible  <bruno@clisp.org>
62152
62153         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
62154         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
62155         (struct gl_list_implementation): Add dispose_fn argument to the
62156         'create_empty', 'create' methods.
62157         (struct gl_list_impl_base): Add field 'dispose_fn'.
62158         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
62159         argument.
62160         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
62161         dispose_fn argument.
62162         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
62163         dispose_fn on the dropped values.
62164         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
62165         dispose_fn argument.
62166         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
62167         dropped values.
62168         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
62169         (gl_tree_remove_node): Call dispose_fn on the dropped value.
62170         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
62171         (gl_tree_remove_node): Call dispose_fn on the dropped value.
62172         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
62173         argument.
62174         (gl_tree_list_free): Call dispose_fn on the dropped values.
62175         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
62176         the dropped values.
62177         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
62178         Add dispose_fn argument.
62179         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
62180         Call dispose_fn on the dropped values.
62181         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
62182         Add dispose_fn argument.
62183         (gl_sublist_create): Initialize the 'dispose_fn' field.
62184         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
62185         * tests/test-array_list.c (main): Update.
62186         * tests/test-carray_list.c (main): Update.
62187         * tests/test-avltree_list.c (main): Update.
62188         * tests/test-rbtree_list.c (main): Update.
62189         * tests/test-avltreehash_list.c (main): Update.
62190         * tests/test-rbtreehash_list.c (main): Update.
62191         * tests/test-linked_list.c (main): Update.
62192         * tests/test-linkedhash_list.c (main): Update.
62193         * tests/test-array_oset.c (main): Update.
62194
62195 2007-03-15  Bruno Haible  <bruno@clisp.org>
62196
62197         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
62198         (gl_oset_create_empty): Add dispose_fn argument.
62199         (struct gl_oset_implementation): Add dispose_fn argument to
62200         'create_empty' method.
62201         (struct gl_oset_impl_base): Add dispose_fn field.
62202         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
62203         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
62204         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
62205         values.
62206         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
62207         (gl_tree_oset_free): Call dispose_fn on the dropped values.
62208         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
62209         dropped value.
62210         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
62211         dropped value.
62212         * tests/test-array_oset.c (main): Update.
62213         * tests/test-avltree_oset.c (main): Update.
62214         * tests/test-rbtree_oset.c (main): Update.
62215         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
62216
62217 2007-03-13  Bruno Haible  <bruno@clisp.org>
62218
62219         * tests/test-stdbool.c (i): Update after last patch.
62220
62221 2007-03-12  Bruno Haible  <bruno@clisp.org>
62222
62223         * lib/quotearg.c: Include <wctype.h> early, before the definition of
62224         the iswprint macro. Needed on Solaris 2.5.1.
62225
62226 2007-03-12  Bruno Haible  <bruno@clisp.org>
62227
62228         * tests/test-printf-frexp.c (main): Declare x as volatile.
62229
62230 2007-03-12  Simon Josefsson  <simon@josefsson.org>
62231
62232         * doc/gnulib.texi (Build robot for gnulib): New section.
62233
62234 2007-03-12  Jim Meyering  <jim@meyering.net>
62235
62236         * build-aux/bootstrap: New file.
62237         * build-aux/bootstrap.conf: New file, from coreutils.
62238
62239 2007-03-11  Bruno Haible  <bruno@clisp.org>
62240
62241         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
62242
62243 2007-03-12  Simon Josefsson  <simon@josefsson.org>
62244
62245         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
62246         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
62247         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
62248
62249 2007-03-11  Bruno Haible  <bruno@clisp.org>
62250
62251         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
62252         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
62253
62254 2007-03-11  Bruno Haible  <bruno@clisp.org>
62255
62256         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
62257         formula. Needed for SunPRO C 5.0.
62258
62259 2007-03-11  Bruno Haible  <bruno@clisp.org>
62260
62261         * modules/long-options (Depends-on): Add getopt.
62262
62263 2007-03-11  Bruno Haible  <bruno@clisp.org>
62264
62265         * modules/modechange (Depends-on): Add stdbool.
62266
62267 2007-03-11  Bruno Haible  <bruno@clisp.org>
62268
62269         * modules/i-ring (Depends-on): Add stdbool.
62270
62271 2007-03-11  Bruno Haible  <bruno@clisp.org>
62272
62273         * modules/gc-des (Depends-on): Add stdbool.
62274
62275 2007-03-11  Bruno Haible  <bruno@clisp.org>
62276
62277         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
62278
62279 2007-03-11  Bruno Haible  <bruno@clisp.org>
62280
62281         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
62282
62283 2007-03-11  Bruno Haible  <bruno@clisp.org>
62284
62285         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
62286
62287 2007-03-11  Bruno Haible  <bruno@clisp.org>
62288
62289         * lib/vasnprintf.c (sprintf): Undefine.
62290
62291 2007-03-11  Bruno Haible  <bruno@clisp.org>
62292
62293         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
62294         initializers in SunPRO C and Compaq C compilers.
62295
62296 2007-03-11  Bruno Haible  <bruno@clisp.org>
62297
62298         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
62299         decrementing code ANSI C compliant.
62300
62301 2007-03-11  Bruno Haible  <bruno@clisp.org>
62302
62303         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
62304         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
62305
62306 2007-03-11  Bruno Haible  <bruno@clisp.org>
62307
62308         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
62309         <stdbool.h> substitute doesn't pass.
62310
62311 2007-03-11  Bruno Haible  <bruno@clisp.org>
62312
62313         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
62314
62315 2007-03-11  Bruno Haible  <bruno@clisp.org>
62316
62317         * gnulib-tool (func_create_megatestdir): Create also an autobuild
62318         script, for submission to autobuild.josefsson.org.
62319
62320 2007-03-10  Bruno Haible  <bruno@clisp.org>
62321
62322         * modules/canonicalize-lgpl-tests: New file.
62323         * tests/test-canonicalize-lgpl.sh: New file.
62324         * tests/test-canonicalize-lgpl.c: New file.
62325
62326         * modules/c-strcase-tests: New file.
62327         * tests/test-c-strcase.sh: New file.
62328         * tests/test-c-strcasecmp.c: New file.
62329         * tests/test-c-strncasecmp.c: New file.
62330
62331         * modules/atexit-tests: New file.
62332         * tests/test-atexit.sh: New file.
62333         * tests/test-atexit.c: New file.
62334
62335 2007-03-10  Bruno Haible  <bruno@clisp.org>
62336
62337         * tests/test-binary-io.sh: Use temporary filenames that are not so
62338         likely to clash with those of other tests (in a parallel make).
62339         * tests/test-binary-io.c: Likewise.
62340
62341 2007-03-10  Bruno Haible  <bruno@clisp.org>
62342
62343         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
62344         fallback; use #error instead.
62345         Suggested by Simon Josefsson.
62346
62347 2007-03-10  Bruno Haible  <bruno@clisp.org>
62348
62349         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
62350         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
62351         first and the last.
62352
62353 2007-03-10  Bruno Haible  <bruno@clisp.org>
62354
62355         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
62356
62357 2007-03-10  Bruno Haible  <bruno@clisp.org>
62358
62359         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
62360         "make distcheck".
62361         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
62362         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
62363         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
62364
62365 2007-03-10  Bruno Haible  <bruno@clisp.org>
62366
62367         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
62368         variable.
62369         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
62370         variable.
62371
62372 2007-03-09  Eric Blake  <ebb9@byu.net>
62373         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
62374
62375         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
62376         types are not being provided by gnulib.
62377         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
62378         types are supported.
62379
62380 2007-03-10  Bruno Haible  <bruno@clisp.org>
62381
62382         * lib/stdio_.h (__attribute__): New macro.
62383         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
62384         vsprintf): Specify __attribute__ __format__ for GCC.
62385         Suggested by Eric Blake.
62386
62387 2007-03-09  Bruno Haible  <bruno@clisp.org>
62388
62389         * modules/printf-posix-tests: New file.
62390         * tests/test-printf-posix.sh: New file.
62391         * tests/test-printf-posix.c: New file.
62392
62393         * modules/printf-posix: New file.
62394         * lib/printf.c: New file.
62395         * m4/printf-posix-rpl.m4: New file.
62396         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
62397         REPLACE_PRINTF.
62398         * lib/stdio_.h (printf): New declaration.
62399         (format, __format__, ____printf____, ____scanf____, ____strftime____,
62400         ____strfmon____): New macros.
62401         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
62402         REPLACE_PRINTF.
62403
62404 2007-03-09  Bruno Haible  <bruno@clisp.org>
62405
62406         * tests/test-vasnprintf-posix2.sh: New file.
62407         * tests/test-vasnprintf-posix2.c: New file.
62408         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
62409         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
62410         (Makefile.am): Activate test-vasnprintf-posix2.sh.
62411
62412         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
62413         a locale dependent decimal point, rather than always '.'.
62414
62415 2007-03-09  Eric Blake  <ebb9@byu.net>
62416
62417         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
62418         spite of platforms like Tandem/NSK that define it to -1.
62419
62420 2007-03-08  Bruno Haible  <bruno@clisp.org>
62421
62422         * modules/vprintf-posix-tests: New file.
62423         * tests/test-vprintf-posix.sh: New file.
62424         * tests/test-vprintf-posix.c: New file.
62425         * tests/test-printf-posix.h: New file.
62426
62427         * modules/vprintf-posix: New file.
62428         * lib/vprintf.c: New file.
62429         * m4/vprintf-posix.m4: New file.
62430         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
62431         REPLACE_VPRINTF.
62432         * lib/stdio_.h (vprintf): New declaration.
62433         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
62434         REPLACE_VPRINTF.
62435
62436 2007-03-08  Bruno Haible  <bruno@clisp.org>
62437
62438         * modules/fprintf-posix-tests: New file.
62439         * tests/test-fprintf-posix.sh: New file.
62440         * tests/test-fprintf-posix.c: New file.
62441
62442         * modules/fprintf-posix: New file.
62443         * lib/fprintf.c: New file.
62444         * m4/fprintf-posix.m4: New file.
62445         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
62446         REPLACE_FPRINTF.
62447         * lib/stdio_.h (fprintf): New declaration.
62448         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
62449         REPLACE_FPRINTF.
62450
62451 2007-03-08  Bruno Haible  <bruno@clisp.org>
62452
62453         * modules/vfprintf-posix-tests: New file.
62454         * tests/test-vfprintf-posix.sh: New file.
62455         * tests/test-vfprintf-posix.c: New file.
62456         * tests/test-fprintf-posix.h: New file.
62457         * tests/test-fprintf-posix.out: New file.
62458
62459         * modules/vfprintf-posix: New file.
62460         * lib/vfprintf.c: New file.
62461         * m4/vfprintf-posix.m4: New file.
62462         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
62463         REPLACE_VFPRINTF.
62464         * lib/stdio_.h (vfprintf): New declaration.
62465         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
62466         REPLACE_VFPRINTF.
62467
62468 2007-03-08  Bruno Haible  <bruno@clisp.org>
62469
62470         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
62471
62472 2007-03-08  Bruno Haible  <bruno@clisp.org>
62473
62474         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
62475         instead of 'expr' invocations.
62476         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62477         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62478         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62479         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62480         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62481         Suggested by Paul Eggert.
62482
62483 2007-03-08  Bruno Haible  <bruno@clisp.org>
62484
62485         * modules/fseterr-tests: New file.
62486         * tests/test-fseterr.c: New file.
62487
62488         * modules/fseterr: New file.
62489         * lib/fseterr.h: New file.
62490         * lib/fseterr.c: New file.
62491
62492 2007-03-08  Bruno Haible  <bruno@clisp.org>
62493
62494         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
62495         * lib/getopt_.h: Likewise.
62496         * lib/mbswidth.h: Likewise.
62497         * lib/setenv.h: Likewise.
62498         * lib/vasnprintf.h: Likewise.
62499         * lib/vasprintf.h: Likewise.
62500         * lib/verror.h: Likewise.
62501         * lib/xsetenv.h: Likewise.
62502         * lib/xvasprintf.h: Likewise.
62503
62504 2007-03-08  Jim Meyering  <jim@meyering.net>
62505
62506         * users.txt: Add parted.
62507
62508         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
62509
62510 2007-03-07  Bruno Haible  <bruno@clisp.org>
62511
62512         * m4/printf.m4: Make the shell script snippets copy&pastable.
62513
62514 2007-03-02  Bruno Haible  <bruno@clisp.org>
62515
62516         * lib/netinet_in_.h: New file.
62517         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
62518         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
62519         * modules/netinet_in (Files): Add lib/netinet_in_.h.
62520         (Depends-on): Add absolute-header.
62521         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
62522         into netinet/in.h.
62523
62524 2007-03-03  Bruno Haible  <bruno@clisp.org>
62525
62526         * lib/sys_select_.h: New file.
62527         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
62528         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
62529         * modules/sys_select (Files): Add lib/sys_select_.h.
62530         (Depends-on): Add absolute-header.
62531         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
62532         into sys/select.h.
62533
62534 2007-03-02  Bruno Haible  <bruno@clisp.org>
62535
62536         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
62537         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
62538         values.
62539         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
62540         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
62541         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
62542         * modules/sys_socket (Depends-on): Add absolute-header.
62543         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
62544         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
62545         (Include): Remove requirement of inclusion of <sys/types.h>.
62546
62547 2007-03-02  Bruno Haible  <bruno@clisp.org>
62548
62549         * lib/byteswap_.h (bswap_32): Fix formula.
62550
62551 2007-03-06  Bruno Haible  <bruno@clisp.org>
62552
62553         * modules/sprintf-posix-tests: New file.
62554         * tests/test-sprintf-posix.c: New file.
62555
62556         * modules/sprintf-posix: New file.
62557         * lib/sprintf.c: New file.
62558         * m4/sprintf-posix.m4: New file.
62559         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
62560         REPLACE_SPRINTF.
62561         * lib/stdio_.h (sprintf): New declaration.
62562         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
62563         REPLACE_SPRINTF.
62564
62565 2007-03-06  Bruno Haible  <bruno@clisp.org>
62566
62567         * modules/vsprintf-posix-tests: New file.
62568         * tests/test-vsprintf-posix.c: New file.
62569         * tests/test-sprintf-posix.h: New file.
62570
62571         * modules/vsprintf-posix: New file.
62572         * lib/vsprintf.c: New file.
62573         * m4/vsprintf-posix.m4: New file.
62574         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
62575         REPLACE_VSPRINTF.
62576         * lib/stdio_.h (vsprintf): New declaration.
62577         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
62578         REPLACE_VSPRINTF.
62579
62580 2007-03-06  Bruno Haible  <bruno@clisp.org>
62581
62582         * modules/vsnprintf (Depend-on): Remove minmax.
62583
62584 2007-03-06  Bruno Haible  <bruno@clisp.org>
62585
62586         * modules/snprintf-posix-tests: New file.
62587         * tests/test-snprintf-posix.c: New file.
62588
62589         * modules/snprintf-posix: New file.
62590         * m4/snprintf-posix.m4: New file.
62591         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
62592         gl_FUNC_SNPRINTF.
62593         (gl_FUNC_SNPRINTF): Invoke it.
62594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
62595         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
62596         is set.
62597         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
62598
62599 2007-03-06  Bruno Haible  <bruno@clisp.org>
62600
62601         * modules/vsnprintf-posix-tests: New file.
62602         * tests/test-vsnprintf-posix.c: New file.
62603         * tests/test-snprintf-posix.h: New file.
62604
62605         * modules/vsnprintf-posix: New file.
62606         * m4/vsnprintf-posix.m4: New file.
62607         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
62608         gl_FUNC_VSNPRINTF.
62609         (gl_FUNC_VSNPRINTF): Invoke it.
62610         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
62611         * lib/stdio_.h (vsnprintf): Define as a replacement if
62612         REPLACE_VSNPRINTF is set.
62613         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
62614
62615 2007-03-06  Bruno Haible  <bruno@clisp.org>
62616
62617         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
62618         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
62619
62620 2007-03-06  Bruno Haible  <bruno@clisp.org>
62621
62622         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
62623         (asinl): Declare also if HAVE_DECL_ASINL is set.
62624         (atanl): Declare also if HAVE_DECL_ATANL is set.
62625         (ceill): Declare also if HAVE_DECL_CEILL is set.
62626         (cosl): Declare also if HAVE_DECL_COSL is set.
62627         (expl): Declare also if HAVE_DECL_EXPL is set.
62628         (floorl): Declare also if HAVE_DECL_FLOORL is set.
62629         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
62630         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
62631         (logl): Declare also if HAVE_DECL_LOGL is set.
62632         (sinl): Declare also if HAVE_DECL_SINL is set.
62633         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
62634         (tanl): Declare also if HAVE_DECL_TANL is set.
62635         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
62636         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
62637         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
62638         declaration of frexpl, ldexpl.
62639         * modules/printf-frexpl (Depends-on): Add math.
62640         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
62641
62642 2007-03-05  Bruno Haible  <bruno@clisp.org>
62643
62644         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
62645         frexpl and ldexpl are declared.
62646         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
62647
62648 2007-03-05  Bruno Haible  <bruno@clisp.org>
62649
62650         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
62651         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
62652
62653 2007-03-05  Bruno Haible  <bruno@clisp.org>
62654
62655         * lib/stdio_.h: Include <stddef.h>.
62656
62657 2007-03-05  Bruno Haible  <bruno@clisp.org>
62658
62659         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
62660
62661 2007-03-05  Bruno Haible  <bruno@clisp.org>
62662
62663         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
62664         NetBSD 4, from Ralf Wildenhues.
62665
62666 2007-03-04  Bruno Haible  <bruno@clisp.org>
62667
62668         * lib/vasprintf.h: Update #if logic for the case when the functions
62669         exist but are overridden.
62670
62671 2007-03-04  Bruno Haible  <bruno@clisp.org>
62672
62673         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
62674         implementations: glibc-2.4 and MacOS X 10.3.
62675         * tests/test-vasnprintf-posix.c (test_function): Test also the case
62676         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
62677         * tests/test-vasprintf-posix.c (test_function): Likewise.
62678
62679 2007-03-04  Bruno Haible  <bruno@clisp.org>
62680
62681         * modules/vasprintf-posix-tests: New file.
62682         * tests/test-vasprintf-posix.c: New file.
62683
62684         * modules/vasprintf-posix: New file.
62685         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
62686         defined.
62687         * m4/vasprintf-posix.m4: New file.
62688         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
62689         gl_FUNC_VASPRINTF.
62690         (gl_FUNC_VASPRINTF): Invoke it.
62691         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
62692         here.
62693         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
62694
62695 2007-03-04  Bruno Haible  <bruno@clisp.org>
62696
62697         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
62698         REPLACE_GETTIMEOFDAY.
62699         * modules/sys_time (Makefile.am): Likewise.
62700         * m4/sys_time_h.m4: Likewise.
62701         * m4/gettimeofday.m4: Likewise.
62702
62703 2007-03-04  Bruno Haible  <bruno@clisp.org>
62704
62705         * modules/vasnprintf-posix-tests: New file.
62706         * tests/test-vasnprintf-posix.c: New file.
62707
62708         * modules/vasnprintf-posix: New file.
62709         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
62710         printf-frexpl.h.
62711         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
62712         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
62713         REPLACE_VASNPRINTF is defined.
62714         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
62715         gl_FUNC_VASNPRINTF.
62716         (gl_FUNC_VASNPRINTF): Invoke it.
62717         * m4/vasnprintf-posix.m4: New file.
62718         * m4/printf.m4: New file.
62719
62720 2007-03-04  Bruno Haible  <bruno@clisp.org>
62721
62722         Compile progreloc.c only if --enable-relocatable is specified.
62723         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
62724         if --enable-relocatable was specified.
62725         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
62726         lib_SOURCES.
62727
62728 2007-03-04  Jim Meyering  <jim@meyering.net>
62729
62730         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
62731         Use it consistently, rather than enumerating errno constants.
62732
62733 2007-03-04  Bruno Haible  <bruno@clisp.org>
62734
62735         * modules/xvasprintf-tests: New file.
62736         * tests/test-xvasprintf.c: New file.
62737
62738         * modules/vasprintf-tests: New file.
62739         * tests/test-vasprintf.c: New file.
62740
62741         * modules/vasnprintf-tests: New file.
62742         * tests/test-vasnprintf.c: New file.
62743
62744         * modules/vsnprintf-tests: New file.
62745         * tests/test-vsnprintf.c: New file.
62746
62747         * modules/snprintf-tests: New file.
62748         * tests/test-snprintf.c: New file.
62749
62750 2007-03-04  Bruno Haible  <bruno@clisp.org>
62751
62752         Compile relocatable.c only if --enable-relocatable is specified.
62753         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
62754         gl_RELOCATABLE_LIBRARY.
62755         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
62756         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
62757         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
62758         gl_RELOCATABLE_LIBRARY.
62759         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
62760         (Makefile.am): Remove lib_SOURCES.
62761         * modules/relocatable-lib-lgpl (configure.ac): Invoke
62762         gl_RELOCATABLE_LIBRARY.
62763         (Makefile.am): Remove lib_SOURCES.
62764         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
62765         always.
62766         * modules/relocatable-prog-wrapper (configure.ac): Invoke
62767         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
62768
62769 2007-03-04  Bruno Haible  <bruno@clisp.org>
62770
62771         * modules/argmatch-tests: New file.
62772         * tests/test-argmatch.c: New file.
62773
62774         * tests/test-allocsa.c (main): Halve the number of loop runs.
62775
62776         * modules/alloca-opt-tests: New file.
62777         * tests/test-alloca-opt.c: New file.
62778
62779 2007-03-04  Jim Meyering  <jim@meyering.net>
62780
62781         Work around difference between Linux ACLs and Solaris 10 ZFS.
62782         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
62783         for EINVAL.
62784
62785 2007-03-03  Bruno Haible  <bruno@clisp.org>
62786
62787         * modules/relocatable-prog (Depends-on): Add back progreloc's
62788         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
62789
62790 2007-03-03  Bruno Haible  <bruno@clisp.org>
62791
62792         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
62793         * modules/relocatable-lib: New file.
62794
62795 2007-03-03  Bruno Haible  <bruno@clisp.org>
62796
62797         * modules/relocatable-prog: Renamed from modules/relocatable.
62798         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
62799
62800 2007-03-03  Bruno Haible  <bruno@clisp.org>
62801
62802         * modules/relocatable-script (Files): Add doc/relocatable.texi,
62803         m4/relocatable-lib.m4.
62804         (Depends-on): Remove 'relocatable'.
62805         (configure.ac): Add gl_RELOCATABLE_NOP.
62806
62807 2007-03-03  Bruno Haible  <bruno@clisp.org>
62808
62809         * modules/relocatable-prog-wrapper: New file.
62810         * modules/relocatable (Depends-on): Add it. Remove all other
62811         dependencies except progname.
62812         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
62813
62814         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
62815         (gl_FUNC_STRERROR): Nop.
62816         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
62817
62818         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
62819         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
62820
62821         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
62822         (gl_FUNC_READLINK): Update.
62823
62824         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
62825
62826 2007-03-03  Bruno Haible  <bruno@clisp.org>
62827
62828         * lib/xreadlink.c: Include <unistd.h> unconditionally.
62829         * modules/xreadlink (Depends-on): Add unistd.
62830         * modules/xreadlink-with-size (Depends-on): Likewise.
62831
62832 2007-03-03  Bruno Haible  <bruno@clisp.org>
62833
62834         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
62835         extracted from gt_FUNC_SETENV.
62836         (gt_FUNC_SETENV): Remove macro.
62837         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
62838         remove gt_FUNC_SETENV.
62839
62840 2007-03-03  Bruno Haible  <bruno@clisp.org>
62841
62842         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
62843         ENABLE_RELOCATABLE here.
62844         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
62845
62846 2007-03-03  Bruno Haible  <bruno@clisp.org>
62847
62848         * modules/rbtreehash-list-tests (Depends-on): Add progname.
62849         * tests/test-rbtreehash_list.c: Include progname.h.
62850         (main): Call set_program_name.
62851
62852         * modules/rbtree-oset-tests (Depends-on): Add progname.
62853         * tests/test-rbtree_oset.c: Include progname.h.
62854         (main): Call set_program_name.
62855
62856         * modules/rbtree-list-tests (Depends-on): Add progname.
62857         * tests/test-rbtree_list.c: Include progname.h.
62858         (main): Call set_program_name.
62859
62860         * modules/linked-list-tests (Depends-on): Add progname.
62861         * tests/test-linked_list.c: Include progname.h.
62862         (main): Call set_program_name.
62863
62864 2007-03-03  Bruno Haible  <bruno@clisp.org>
62865
62866         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
62867         All uses of __restrict changed to _Restrict_.
62868         * lib/glob_.h (__restrict): Remove macro.
62869
62870 2007-03-02  Bruno Haible  <bruno@clisp.org>
62871
62872         * modules/gettext (configure.ac): Require gettext infrastructure
62873         from version 0.16.1.
62874
62875 2007-03-02  Bruno Haible  <bruno@clisp.org>
62876
62877         * modules/linkedhash-list-tests (Depends-on): Add progname.
62878         * tests/test-linkedhash_list.c: Include progname.h.
62879         (main): Call set_program_name.
62880
62881         * modules/carray-list-tests (Depends-on): Add progname.
62882         * tests/test-carray_list.c: Include progname.h.
62883         (main): Call set_program_name.
62884
62885         * modules/avltreehash-list-tests (Depends-on): Add progname.
62886         * tests/test-avltreehash_list.c: Include progname.h.
62887         (main): Call set_program_name.
62888
62889         * modules/avltree-oset-tests (Depends-on): Add progname.
62890         * tests/test-avltree_oset.c: Include progname.h.
62891         (main): Call set_program_name.
62892
62893         * modules/avltree-list-tests (Depends-on): Add progname.
62894         * tests/test-avltree_list.c: Include progname.h.
62895         (main): Call set_program_name.
62896
62897         * modules/array-oset-tests (Depends-on): Add progname.
62898         * tests/test-array_oset.c: Include progname.h.
62899         (main): Call set_program_name.
62900
62901         * modules/array-list-tests (Depends-on): Add progname.
62902         * tests/test-array_list.c: Include progname.h.
62903         (main): Call set_program_name.
62904
62905         * modules/argp-tests (Depends-on): Add progname.
62906         * tests/test-argp.c: Include argp.h first. Include progname.h.
62907         (main): Call set_program_name.
62908
62909 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
62910
62911         * doc/gnulib-tool.texi (Initial import): Reword description of
62912         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
62913         limited effect even if defined after the first system include.
62914
62915 2007-03-01  Bruno Haible  <bruno@clisp.org>
62916
62917         * build-aux/config.libpath: Update to libtool-1.5.22.
62918         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
62919
62920 2007-03-01  Bruno Haible  <bruno@clisp.org>
62921
62922         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
62923         foo_CFLAGS.
62924         Reported by Ralf Wildenhues.
62925
62926 2007-03-01  Bruno Haible  <bruno@clisp.org>
62927
62928         * build-aux/install-reloc: Remove object files left over by some
62929         compilers.
62930         Reported by Ralf Wildenhues.
62931
62932 2007-03-01  Bruno Haible  <bruno@clisp.org>
62933
62934         * build-aux/install-reloc: Break long lines.
62935
62936 2007-03-01  Bruno Haible  <bruno@clisp.org>
62937
62938         * doc/relocatable.texi: Document that it may not work on OpenBSD.
62939         Reported by Ralf Wildenhues.
62940
62941 2007-03-01  Bruno Haible  <bruno@clisp.org>
62942
62943         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
62944         include ordering constraints.
62945
62946 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62947
62948         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
62949         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
62950         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
62951         as another example.
62952         * lib/time_.h: Fix misspelling.
62953         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62954         Require gl_HEADER_TIME_H_DEFAULTS.
62955         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
62956         * m4/time_r.m4 (gl_TIME_R): Likewise.
62957         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
62958
62959 2007-03-01  Bruno Haible  <bruno@clisp.org>
62960
62961         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
62962         * m4/utimens.m4 (gl_UTIMENS): Likewise.
62963
62964 2007-03-01  Jim Meyering  <jim@meyering.net>
62965
62966         * modules/xreadlink (Maintainer): Add my name.
62967         * modules/xreadlink-with-size (Depends-on): Alphabetize.
62968
62969 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
62970             Bruno Haible  <bruno@clisp.org>
62971
62972         * build-aux/install-reloc: Compile also c-ctype.c.
62973         * build-aux/relocatable.sh.in: New file.
62974         * doc/relocatable.texi: New file.
62975         * doc/relocatable-maint.texi: New file.
62976         * doc/gnulib.texi: Include relocatable-maint.texi.
62977         * lib/progreloc.c: Include unistd.h unconditionally.
62978         * lib/relocwrapper.c: Include unistd.h unconditionally.
62979         Include c-ctype.h.
62980         (add_dotbin): Use c_tolower.
62981         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
62982         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
62983         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
62984         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
62985         to m4/relocatable-lib.m4.
62986         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
62987         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
62988         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
62989         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
62990         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
62991         * modules/relocatable: New file.
62992         * modules/relocatable-lib: New file.
62993         * modules/relocatable-script: New file.
62994
62995 2007-02-28  Bruno Haible  <bruno@clisp.org>
62996
62997         Import --enable-relocatable infrastructure.
62998         * build-aux/config.libpath: New file, from GNU gettext.
62999         * build-aux/install-reloc: New file, from GNU gettext.
63000         * build-aux/reloc-ldflags: New file, from GNU gettext.
63001         * lib/relocatable.h: New file, from GNU gettext.
63002         * lib/relocatable.c: New file, from GNU gettext.
63003         * lib/relocwrapper.c: New file, from GNU gettext.
63004         * m4/relocatable.m4: New file, from GNU gettext.
63005
63006 2007-02-28  Bruno Haible  <bruno@clisp.org>
63007
63008         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
63009
63010         * modules/xreadlink: New file, from GNU gettext with modifications.
63011         * lib/xreadlink.c: New file, from GNU gettext.
63012         * lib/xreadlink.h: Add comments.
63013         (xreadlink): New declaration.
63014
63015         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
63016         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
63017         lib/xreadlink-with-size.c.
63018         (configure.ac): Remove gl_XREADLINK invocation.
63019         (Makefile.am): Augment lib_SOURCES.
63020         * m4/xreadlink.m4: Remove file.
63021         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
63022         (xreadlink_with_size): Renamed from xreadink.
63023         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
63024         * modules/canonicalize (Depends-on): Replace xreadlink with
63025         xreadlink-with-size.
63026         * lib/canonicalize.c (canonicalize_filename_mode): Update.
63027
63028 2007-02-25  Jim Meyering  <jim@meyering.net>
63029
63030         * build-aux/announce-gen: When complaining about excess arguments,
63031         list them.
63032
63033 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
63034
63035         * README: Document signed integer overflow situation more
63036         accurately.
63037
63038 2007-02-25  Bruno Haible  <bruno@clisp.org>
63039
63040         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
63041         'a' or 'A' conversion.
63042
63043 2007-02-25  Bruno Haible  <bruno@clisp.org>
63044
63045         * modules/filename: Renamed from modules/pathname.
63046         (Files): Replace lib/pathname.h with lib/filename.h. Replace
63047         lib/concatpath.c with lib/concat-filename.c.
63048         (Makefile.am): Update.
63049         (Include): Replace pathname.h with filename.h.
63050         * lib/filename.h: Renamed from lib/pathname.h.
63051         (concatenated_filename): Renamed from concatenated_pathname.
63052         * lib/concat-filename.c: Renamed from lib/concatpath.c.
63053         (concatenated_filename): Renamed from concatenated_pathname.
63054         * lib/findprog.c: Include filename.h instead of pathname.h.
63055         (find_in_path): Update.
63056         * lib/javacomp.c: Include filename.h instead of pathname.h.
63057         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
63058         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
63059         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
63060         is_oldgcj_14_13_usable, is_javac_usable): Update.
63061         * lib/javaexec.c: Include filename.h instead of pathname.h.
63062         (execute_java_class): Update.
63063         * modules/findprog: Update.
63064         * modules/javacomp: Update.
63065         * modules/javaexec: Update.
63066         * MODULES.html.sh (File system functions): Add 'filename', remove
63067         'pathname'.
63068
63069 2007-02-25  Bruno Haible  <bruno@clisp.org>
63070
63071         * modules/printf-frexpl-tests: New file.
63072         * tests/test-printf-frexpl.c: New file.
63073
63074         * modules/printf-frexpl: New file.
63075         * lib/printf-frexpl.h: New file.
63076         * lib/printf-frexpl.c: New file.
63077         * m4/printf-frexpl.m4: New file.
63078
63079 2007-02-25  Bruno Haible  <bruno@clisp.org>
63080
63081         * modules/printf-frexp-tests: New file.
63082         * tests/test-printf-frexp.c: New file.
63083
63084         * modules/printf-frexp: New file.
63085         * lib/printf-frexp.h: New file.
63086         * lib/printf-frexp.c: New file.
63087         * m4/printf-frexp.m4: New file.
63088
63089 2007-02-25  Bruno Haible  <bruno@clisp.org>
63090
63091         Assume automake >= 1.10 for the tests.
63092         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
63093         * modules/arctwo-tests: Likewise.
63094         * modules/argp-tests: Likewise.
63095         * modules/avltree-list-tests: Likewise.
63096         * modules/avltree-oset-tests: Likewise.
63097         * modules/avltreehash-list-tests: Likewise.
63098         * modules/carray-list-tests: Likewise.
63099         * modules/crc-tests: Likewise.
63100         * modules/des-tests: Likewise.
63101         * modules/gc-arcfour-tests: Likewise.
63102         * modules/gc-arctwo-tests: Likewise.
63103         * modules/gc-des-tests: Likewise.
63104         * modules/gc-hmac-md5-tests: Likewise.
63105         * modules/gc-hmac-sha1-tests: Likewise.
63106         * modules/gc-md2-tests: Likewise.
63107         * modules/gc-md4-tests: Likewise.
63108         * modules/gc-md5-tests: Likewise.
63109         * modules/gc-pbkdf2-sha1-tests: Likewise.
63110         * modules/gc-rijndael-tests: Likewise.
63111         * modules/gc-sha1-tests: Likewise.
63112         * modules/gc-tests: Likewise.
63113         * modules/getaddrinfo-tests: Likewise.
63114         * modules/hmac-md5-tests: Likewise.
63115         * modules/hmac-sha1-tests: Likewise.
63116         * modules/linked-list-tests: Likewise.
63117         * modules/linkedhash-list-tests: Likewise.
63118         * modules/lock-tests: Likewise.
63119         * modules/md2-tests: Likewise.
63120         * modules/md4-tests: Likewise.
63121         * modules/md5-tests: Likewise.
63122         * modules/rbtree-list-tests: Likewise.
63123         * modules/rbtree-oset-tests: Likewise.
63124         * modules/rbtreehash-list-tests: Likewise.
63125         * modules/read-file-tests: Likewise.
63126         * modules/rijndael-tests: Likewise.
63127         * modules/stdint-tests: Likewise.
63128         * modules/tls-tests: Likewise.
63129
63130 2007-02-24  Bruno Haible  <bruno@clisp.org>
63131
63132         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
63133         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
63134         function; instead check whether isnan with a double argument links.
63135         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
63136         function; instead check whether isnan with a 'long double' argument
63137         links.
63138         Reported by Eric Blake <ebb9@byu.net>.
63139
63140 2007-02-24  Bruno Haible  <bruno@clisp.org>
63141
63142         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
63143         defined.
63144         * lib/isnanl.c: Remove all code. Just include isnan.c.
63145         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
63146
63147 2007-02-25  Jim Meyering  <jim@meyering.net>
63148
63149         Avoid conflicting types for 'unsetenv' on FreeBSD.
63150         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
63151         conflicting with FreeBSD's (5.0 and 6.1) function declaration
63152         in stdlib.h.
63153
63154 2007-02-24  Bruno Haible  <bruno@clisp.org>
63155
63156         * modules/isnanl-nolibm-tests: New file.
63157         * tests/test-isnanl.c: New file.
63158
63159         * modules/isnanl-nolibm: New file.
63160         * lib/isnanl.h: New file.
63161         * lib/isnanl.c: New file.
63162         * m4/isnanl.m4: New file.
63163
63164 2007-02-24  Bruno Haible  <bruno@clisp.org>
63165
63166         * modules/isnan-nolibm-tests: New file.
63167         * tests/test-isnan.c: New file.
63168
63169         * modules/isnan-nolibm: New file.
63170         * lib/isnan.h: New file.
63171         * lib/isnan.c: New file.
63172         * m4/isnan.m4: New file.
63173
63174 2007-02-24  Bruno Haible  <bruno@clisp.org>
63175
63176         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
63177         assume that an exponent fits in 20 bits.
63178
63179 2007-02-24  Jim Meyering  <jim@meyering.net>
63180
63181         * m4/regex.m4: Update the description of the configure-time option,
63182         --without-included-regex, to state accurately what the defaults are,
63183         and perhaps to give people an idea why using this option is risky.
63184
63185 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
63186
63187         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
63188         loops on small arguments.  This attempts to avoid the problem
63189         Bruno Haible reported for AIX 4.3.2 in
63190         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
63191
63192 2007-02-23  Bruno Haible  <bruno@clisp.org>
63193
63194         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
63195         Needed for help2man.
63196
63197 2007-02-23  Karl Berry  <karl@gnu.org>
63198
63199         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
63200         exists, foo.h should be cvs-ignored, not committed.
63201
63202 2007-02-23  Eric Blake  <ebb9@byu.net>
63203
63204         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
63205         * lib/stat-time.h (includes): Likewise.
63206         * lib/utimecmp.c (includes): Likewise.
63207         * lib/utimens.h (includes): Likewise.
63208         * lib/getdate.y (includes): Also include "timespec.h" for use
63209         internal to the module.
63210         * modules/utimens (Depends-on): Revert yesterday's patch.
63211         * modules/nanosleep (Depends-on): Add missing dependency.
63212
63213 2007-02-22  Bruno Haible  <bruno@clisp.org>
63214
63215         * lib/glob.c: Don't include getlogin_r.h.
63216
63217 2007-02-22  Jim Meyering  <jim@meyering.net>
63218
63219         * modules/utimens (Depends-on): Add timespec, required for
63220         utimens.h's inclusion of timespec.h.
63221
63222 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
63223
63224         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
63225         long unreadable paths in GNU/Linux.  Problem reported by Andreas
63226         Schwab in
63227         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
63228         I'll try to think of a better way to fix the Solaris problem.
63229
63230         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
63231         like glibc; on Solaris 10, it fails with errno == EINVAL.
63232         POSIX says the behavior is unspecified if the first argument is NULL,
63233         so play it safe and never pass NULL to the system getcwd.
63234
63235 2007-02-21  Jim Meyering  <jim@meyering.net>
63236
63237         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
63238         of gettimeofday.  It would conflict with the one now always
63239         provided via sys_time_.h.  Reported by Matthew Woehlke, as
63240         an IRIX 6.5 build failure.
63241
63242 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
63243
63244         Minor fixups to port to Solaris 10 with Sun C 5.8.
63245         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
63246         * modules/getcwd (Depends-on): Add dirfd.
63247         * lib/putenv.c (putenv): #undef it.
63248         (rpl_putenv): New decl.
63249         (malloc, free): Include <stdlib.h> rather than prototyping separately.
63250
63251 2007-02-20  Bruno Haible  <bruno@clisp.org>
63252
63253         * modules/stdio-tests: New file.
63254         * tests/test-stdio.c: New file.
63255
63256         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
63257         (Depends-on): Add stdio.
63258         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
63259         (Include): Use <stdio.h> instead of vsnprintf.h.
63260         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
63261         HAVE_DECL_VSNPRINTF.
63262         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
63263
63264         * modules/snprintf (Files): Remove lib/snprintf.h.
63265         (Depends-on): Add stdio.
63266         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
63267         (Include): Use <stdio.h> instead of snprintf.h.
63268         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
63269         HAVE_DECL_SNPRINTF.
63270         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
63271         * lib/getaddrinfo.c: Likewise.
63272
63273         * modules/stdio: New file.
63274         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
63275         * lib/snprintf.h: Remove file.
63276         * lib/vsnprintf.h: Remove file.
63277         * lib/.cppi-disable: Remove snprintf.h.
63278         * m4/stdio_h.m4: New file.
63279         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
63280
63281 2007-02-20  Jim Meyering  <jim@meyering.net>
63282
63283         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
63284         used by e.g., mingw.  From Bruno Haible.
63285
63286 2007-02-19  Bruno Haible  <bruno@clisp.org>
63287
63288         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
63289         warnings.
63290         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63291
63292 2007-02-19  Bruno Haible  <bruno@clisp.org>
63293
63294         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
63295         from mingw users.
63296
63297 2007-02-19  Bruno Haible  <bruno@clisp.org>
63298
63299         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
63300         warnings.
63301         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
63302
63303 2007-02-19  Jim Meyering  <jim@meyering.net>
63304
63305         Don't use FD after a successful "fdopendir (fd)".
63306         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
63307         Reset it by calling dirfd on the just-obtained DIR*.
63308
63309         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
63310         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
63311
63312 2007-02-18  Bruno Haible  <bruno@clisp.org>
63313
63314         * lib/readlink.c: Include <unistd.h>.
63315         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
63316         HAVE_READLINK.
63317         * modules/readlink (Depends-on): Add unistd.
63318         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63319         (Include): Add <unistd.h>.
63320
63321         * lib/getlogin_r.h: Remove file.
63322         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
63323         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
63324         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
63325         HAVE_DECL_GETLOGIN_R.
63326         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
63327         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63328         (Include): Use <unistd.h> instead of getlogin_r.h.
63329
63330         * lib/getcwd.h: Remove file.
63331         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
63332         * lib/xgetcwd.c: Likewise.
63333         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
63334         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
63335         * modules/getcwd (Files): Remove lib/getcwd.h.
63336         (Depends-on): Add unistd.
63337         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63338         (Include): Use <unistd.h> instad of getcwd.h.
63339
63340         * lib/ftruncate.c: Include <unistd.h> first.
63341         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
63342         Set HAVE_FTRUNCATE.
63343         * modules/ftruncate (Depends-on): Add unistd.
63344         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63345
63346         * lib/fchdir.c: Include <unistd.h> first.
63347         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
63348         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
63349         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
63350         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63351         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
63352
63353         * lib/dup2.c: Include <unistd.h> first.
63354         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
63355         HAVE_DUP2.
63356         * modules/dup2 (Depends-on): Add unistd.
63357         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63358
63359         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
63360         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
63361         REPLACE_CHOWN. Don't define chown as a macro here.
63362         * modules/chown (Depends-on): Add unistd.
63363         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63364
63365         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
63366         Add definition for GL_LINK_WARNING.
63367         (chown, dup2): New declarations.
63368         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
63369         link warning.
63370         (ftruncate): New declaration.
63371         (getcwd): New declaration, taken from old getcwd.h.
63372         (getlogin_r): New declaration, taken from old getlogin_r.h.
63373         (readlink): New declaration.
63374         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
63375         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
63376         (gl_PREREQ_UNISTD): Remove macro.
63377         (gl_UNISTD_MODULE_INDICATOR): New macro.
63378         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
63379         many new variables. Don't set UNISTD_H.
63380         * modules/unistd (Description): Change.
63381         (Depends-on): Add link-warning.
63382         (configure.ac): Update.
63383         (Makefile.am): Create unistd.h always. Substitute many new variables
63384         into it.
63385
63386 2007-02-18  Bruno Haible  <bruno@clisp.org>
63387
63388         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
63389         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
63390         HAVE_GETSUBOPT.
63391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
63392         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
63393         * lib/getsubopt.h: Remove file.
63394         * modules/getsubopt (Files): Remove lib/getsubopt.h.
63395         (Depends-on): Add stdlib.
63396         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63397         (Includes): Use <stdlib.h> instead of getsubopt.h.
63398         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
63399         Set HAVE_GETSUBOPT.
63400         * lib/getsubopt.c: Don't include getsubopt.h.
63401
63402 2007-02-18  Bruno Haible  <bruno@clisp.org>
63403
63404         * modules/fchdir (Depends-on): Add dup2.
63405
63406 2007-02-18  Bruno Haible  <bruno@clisp.org>
63407
63408         * lib/stdlib_.h: Handle glibc's special invocation convention
63409         specially.
63410
63411 2007-02-18  Bruno Haible  <bruno@clisp.org>
63412
63413         * modules/stdlib-tests: New file.
63414         * tests/test-stdlib.c: New file.
63415
63416         * modules/mkstemp (Files): Remove lib/mkstemp.h.
63417         (Depends-on): Add stdlib.
63418         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63419         (Includes): Use <stdlib.h> instead of mkstemp.h.
63420         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
63421         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
63422         * lib/mkstemp.c: Don't include mkstemp.h.
63423         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
63424         * lib/stdlib--.h: Don't include mkstemp.h.
63425
63426         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
63427         (Depends-on): Add stdlib.
63428         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63429         (Includes): Use <stdlib.h> instead of mkdtemp.h.
63430         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
63431         HAVE_MKDTEMP.
63432         * lib/mkdtemp.c: Don't include mkdtemp.h.
63433         * lib/clean-temp.c: Don't include mkdtemp.h.
63434
63435         * modules/exit (Files): Remove lib/exit.h.
63436         (Depends-on): Add stdlib.
63437         (Makefile.am): Remove lib_SOURCES.
63438         (Include): Use <stdlib.h> instead of exit.h.
63439         * lib/argmatch.c: Don't include exit.h.
63440         * lib/execute.c: Likewise.
63441         * lib/pagealign_alloc.c: Likewise.
63442         * lib/pipe.c: Likewise.
63443         * lib/wait-process.c: Likewise.
63444         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
63445         * lib/exitfail.c: Likewise.
63446         * lib/savewd.c: Likewise.
63447         * lib/xsetenv.c: Likewise.
63448
63449         * modules/stdlib: New file.
63450         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
63451         and extra comments about mkstemp().
63452         * lib/exit.h: Remove file.
63453         * lib/mkdtemp.h: Remove file.
63454         * lib/mkstemp.h: Remove file.
63455         * m4/stdlib_h.m4: New file.
63456         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
63457
63458 2007-02-18  Bruno Haible  <bruno@clisp.org>
63459
63460         * modules/math-tests: New file.
63461         * tests/test-math.c: New file.
63462
63463         * modules/math: New file.
63464         * modules/mathl (Files): Remove lib/mathl.h.
63465         (Depends-on): Add math.
63466         (Makefile.am): Don't mention mathl.h.
63467         (Include): Use <math.h> instead of mathl.h.
63468         * lib/math_.h: New file.
63469         * lib/mathl.h: Remove file.
63470         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
63471         mathl.h.
63472         * lib/asinl.c: Likewise.
63473         * lib/atanl.c: Likewise.
63474         * lib/ceill.c: Likewise.
63475         * lib/cosl.c: Likewise.
63476         * lib/expl.c: Likewise.
63477         * lib/floorl.c: Likewise.
63478         * lib/frexpl.c: Likewise.
63479         * lib/ldexpl.c: Likewise.
63480         * lib/logl.c: Likewise.
63481         * lib/sincosl.c: Likewise.
63482         * lib/sinl.c: Likewise.
63483         * lib/sqrtl.c: Likewise.
63484         * lib/tanl.c: Likewise.
63485         * lib/trigl.c: Likewise.
63486         * m4/math_h.m4: New file.
63487         * MODULES.html.sh (Mathematics): Add math.
63488
63489 2007-02-17  Bruno Haible  <bruno@clisp.org>
63490
63491         * modules/wctype-tests: New file.
63492         * tests/test-wctype.c: New file.
63493
63494         * modules/wchar-tests: New file.
63495         * tests/test-wchar.c: New file.
63496
63497         * modules/unistd-tests: New file.
63498         * tests/test-unistd.c: New file.
63499
63500         * modules/time-tests: New file.
63501         * tests/test-time.c: New file.
63502
63503         * modules/sysexits-tests: New file.
63504         * tests/test-sysexits.c: New file.
63505
63506         * modules/sys_time-tests: New file.
63507         * tests/test-sys_time.c: New file.
63508
63509         * modules/sys_stat-tests: New file.
63510         * tests/test-sys_stat.c: New file.
63511
63512         * modules/sys_socket-tests: New file.
63513         * tests/test-sys_socket.c: New file.
63514
63515         * modules/sys_select-tests: New file.
63516         * tests/test-sys_select.c: New file.
63517
63518         * modules/string-tests: New file.
63519         * tests/test-string.c: New file.
63520
63521         * modules/stdbool-tests: New file.
63522         * tests/test-stdbool.c: New file.
63523
63524         * modules/netinet_in-tests: New file.
63525         * tests/test-netinet_in.c: New file.
63526
63527         * modules/inttypes-tests: New file.
63528         * tests/test-inttypes.c: New file.
63529
63530         * modules/fcntl-tests: New file.
63531         * tests/test-fcntl.c: New file.
63532
63533         * modules/byteswap-tests: New file.
63534         * tests/test-byteswap.c: New file.
63535
63536         * modules/arpa_inet-tests: New file.
63537         * tests/test-arpa_inet.c: New file.
63538
63539 2007-02-17  Bruno Haible  <bruno@clisp.org>
63540
63541         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
63542         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
63543         if the corresponding module is not enabled. Emit link warnings if
63544         the function is used nevertheless.
63545         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
63546         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
63547         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
63548         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
63549         * modules/inttypes (Depends-on): Add link-warning.
63550         (Makefile.am): Copy the contents of build-aux/link-warning.h into
63551         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
63552         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
63553         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
63554         * modules/imaxdiv (configure.ac): Likewise.
63555         * modules/strtoimax (configure.ac): Likewise.
63556         * modules/strtoumax (configure.ac): Likewise.
63557
63558 2007-02-17  Bruno Haible  <bruno@clisp.org>
63559
63560         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
63561         gl_STRING_MODULE_INDICATOR_DEFAULTS.
63562         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
63563         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
63564
63565 2007-02-17  Bruno Haible  <bruno@clisp.org>
63566
63567         * modules/link-warning: New file.
63568         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
63569         * lib/string_.h (GL_LINK_WARNING): Remove definition.
63570         * modules/string (Depends-on): Add link-warning.
63571         (Makefile.am): Copy the contents of build-aux/link-warning.h into
63572         string.h.
63573         * MODULES.html.sh (Support for building libraries and executables): Add
63574         link-warning.
63575
63576 2007-02-17  Bruno Haible  <bruno@clisp.org>
63577
63578         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
63579         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
63580         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
63581         long lines.
63582
63583 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
63584             Bruno Haible  <bruno@clisp.org>
63585
63586         * modules/tmpfile: New file.
63587         * lib/tmpfile.c: New file.
63588         * m4/tmpfile.m4: New file.
63589         * MODULES.html.sh (func_all_modules): New section "Input/output".
63590
63591 2007-02-15  Bruno Haible  <bruno@clisp.org>
63592
63593         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
63594         (supports_delete_on_close): New function.
63595         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
63596
63597 2007-02-14  Bruno Haible  <bruno@clisp.org>
63598
63599         * modules/mbspcasecmp-tests: New file.
63600         * tests/test-mbspcasecmp.sh: New file.
63601         * tests/test-mbspcasecmp.c: New file.
63602
63603         New module mbspcasecmp.
63604         * modules/mbspcasecmp: New file.
63605         * lib/mbspcasecmp.c: New file.
63606         * lib/string_.h (strncasecmp): Change warning message.
63607         (mbspcasecmp): New declaration.
63608         * m4/mbspcasecmp.m4: New file.
63609         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63610         GNULIB_MBSPCASECMP.
63611         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
63612         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
63613
63614 2007-02-14  Bruno Haible  <bruno@clisp.org>
63615
63616         * modules/mbsncasecmp-tests: New file.
63617         * tests/test-mbsncasecmp.sh: New file.
63618         * tests/test-mbsncasecmp.c: New file.
63619
63620         New module mbsncasecmp.
63621         * modules/mbsncasecmp: New file.
63622         * lib/mbsncasecmp.c: New file.
63623         * lib/string_.h (mbsncasecmp): New declaration.
63624         * m4/mbsncasecmp.m4: New file.
63625         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63626         GNULIB_MBSNCASECMP.
63627         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
63628         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
63629
63630 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
63631
63632         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
63633         Verify that it doesn't overlap with our flags.
63634         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
63635         do not have the desired effect in multibyte locales; instead, use
63636         mbscasecmp.
63637         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
63638         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
63639         we don't require GNU fnmatch ourselves (if our users require it, they
63640         should do so explicitly).
63641
63642         Fix regex code so it doesn't rely on strcasecmp.
63643         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
63644         Otherwise, include gnulib's langinfo.h.
63645         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
63646         undesirable behavior in non-C locales.  Instead, rely on localecharset.
63647         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
63648         * modules/regex (FILES): Remove m4/codeset.m4.
63649         (Depends-on): Add localcharset.  Remove strcase.
63650
63651 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63652
63653         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
63654         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63655
63656 2007-02-13  Bruno Haible  <bruno@clisp.org>
63657
63658         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
63659         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63660
63661 2007-02-12  Bruno Haible  <bruno@clisp.org>
63662
63663         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63664         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
63665         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
63666         time warning rather than a link error.
63667
63668 2007-02-12  Bruno Haible  <bruno@clisp.org>
63669
63670         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
63671         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63672         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63673
63674 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
63675
63676         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
63677         args, not 2.
63678
63679 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
63680
63681         New module 'time', so that apps can include <time.h> as per
63682         POSIX and GNU instead of separate include files like time_r.h
63683         and timegm.h.  This implementation tries out a simpler approach
63684         for replacing decls in standard include files (as compared to
63685         the string module), somewhat as an experiment.
63686
63687         * config/srclist.txt: Comment out mktime.c for now.
63688         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
63689         since it doesn't apply any more.  Use generic wording instead.
63690         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
63691         'time'.
63692         * lib/time_.h, m4/time_h.m4, modules/time: New files.
63693         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
63694         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
63695         Don't include <sys/types.h>; no longer needed since we assume C89.
63696         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
63697         * lib/strftime.c: Likewise.
63698         * lib/time_r.c: Likewise.
63699         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
63700         * lib/nanosleep.c: Include <time.h> first, to check interface.
63701         * lib/strptime.c: Likewise.
63702         * lib/time_r.c: Likewise.
63703         * lib/timegm.c: Likewise.
63704         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
63705         needed.
63706         * lib/timegm.c: Don't include timegm.h; no longer needed.
63707         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
63708         time.h now handles any problems in that area.
63709         (struct timespec, nanosleep): Remove; time.h now arranges for these.
63710         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
63711         that time.h defines struct timespec.
63712         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
63713         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
63714         handles that.
63715         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
63716         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
63717         needed.  Set REPLACE_LOCALTIME.
63718         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
63719         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
63720         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
63721         nanosleep; time_h.m4 now does that.  Don't require
63722         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
63723         module handles this now.
63724         * modules/getdate (Depends-on): Remove timespec.  Add time.
63725         * modules/nanosleep (Depends-on): Likewise.
63726         * modules/stat-time (Depends-on): Likewise.
63727         * modules/nanosleep (Include): Include time.h, not timespec.h.
63728         * modules/strptime (Files): Remove lib/strptime.h.
63729         (Depends-on): Add extensions, time.
63730         (Include): Include time.h, not strptime.h.
63731         * modules/time_r (Files): Remove lib/time_r.h.
63732         (Depends-on): Add time.
63733         (Include): Include time.h, not time_r.h.
63734         * modules/timegm: Likewise.
63735         * modules/timespec (Description): Now does timespec-related decls
63736         of our own, instead of struct timespec itself.
63737         (Depends-on): Add time; remove extensions.
63738         (Maintainer): Add self.
63739         * modules/utimecmp (Depends-on): Add time; remove timespec.
63740         * modules/utimens (Depends-on): Likewise.
63741         * modules/xnanosleep (Depends-on): Likewise.
63742
63743 2007-02-11  Bruno Haible  <bruno@clisp.org>
63744
63745         * lib/c-strstr.c: Include allocsa.h.
63746         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63747         * lib/c-strcasestr.c: Include allocsa.h.
63748         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63749         * lib/strcasestr.c: Include allocsa.h.
63750         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63751         * lib/mbsstr.c: Include allocsa.h.
63752         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
63753         allocsa/freesa instead of malloc/free.
63754         * lib/mbscasestr.c: Include allocsa.h.
63755         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
63756         allocsa/freesa instead of malloc/free.
63757         * modules/c-strstr (Depends-on): Add allocsa.
63758         * modules/c-strcasestr (Depends-on): Likewise.
63759         * modules/strcasestr (Depends-on): Likewise.
63760         * modules/mbsstr (Depends-on): Likewise.
63761         * modules/mbscasestr (Depends-on): Likewise.
63762
63763 2007-02-11  Bruno Haible  <bruno@clisp.org>
63764
63765         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
63766
63767         * modules/mbsspn-tests: New file.
63768         * tests/test-mbsspn.sh: New file.
63769         * tests/test-mbsspn.c: New file.
63770
63771 2007-02-11  Bruno Haible  <bruno@clisp.org>
63772
63773         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
63774
63775         * modules/mbspbrk-tests: New file.
63776         * tests/test-mbspbrk.sh: New file.
63777         * tests/test-mbspbrk.c: New file.
63778
63779 2007-02-11  Bruno Haible  <bruno@clisp.org>
63780
63781         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
63782         unneeded cast.
63783
63784         * modules/mbscspn-tests: New file.
63785         * tests/test-mbscspn.sh: New file.
63786         * tests/test-mbscspn.c: New file.
63787
63788 2007-02-11  Bruno Haible  <bruno@clisp.org>
63789
63790         * modules/mbscasecmp-tests: New file.
63791         * tests/test-mbscasecmp.sh: New file.
63792         * tests/test-mbscasecmp.c: New file.
63793
63794 2007-02-11  Bruno Haible  <bruno@clisp.org>
63795
63796         Ensure O(n) worst-case complexity of mbscasestr.
63797         * lib/mbscasestr.c: Include stdbool.h.
63798         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
63799         functions.
63800         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
63801         the bookkeeping indicates that it's worth it.
63802         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
63803
63804         * modules/mbscasestr-tests: New file.
63805         * tests/test-mbscasestr1.c: New file.
63806         * tests/test-mbscasestr2.sh: New file.
63807         * tests/test-mbscasestr2.c: New file.
63808         * tests/test-mbscasestr3.sh: New file.
63809         * tests/test-mbscasestr3.c: New file.
63810         * tests/test-mbscasestr4.sh: New file.
63811         * tests/test-mbscasestr4.c: New file.
63812         * m4/locale-tr.m4: New file.
63813
63814 2007-02-11  Bruno Haible  <bruno@clisp.org>
63815
63816         Ensure O(n) worst-case complexity of mbsstr.
63817         * lib/mbsstr.c: Include stdbool.h.
63818         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
63819         functions.
63820         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
63821         bookkeeping indicates that it's worth it.
63822         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
63823
63824         * modules/mbsstr-tests: New file.
63825         * tests/test-mbsstr1.c: New file.
63826         * tests/test-mbsstr2.sh: New file.
63827         * tests/test-mbsstr2.c: New file.
63828         * tests/test-mbsstr3.sh: New file.
63829         * tests/test-mbsstr3.c: New file.
63830         * m4/locale-fr.m4: New file.
63831
63832 2007-02-11  Bruno Haible  <bruno@clisp.org>
63833
63834         * lib/mbsrchr.c (mbsrchr): Fix bug.
63835
63836         * modules/mbsrchr-tests: New file.
63837         * tests/test-mbsrchr.sh: New file.
63838         * tests/test-mbsrchr.c: New file.
63839
63840 2007-02-11  Bruno Haible  <bruno@clisp.org>
63841
63842         * lib/mbschr.c (mbschr): Fix bug.
63843
63844         * modules/mbschr-tests: New file.
63845         * tests/test-mbschr.sh: New file.
63846         * tests/test-mbschr.c: New file.
63847         * m4/locale-zh.m4: New file.
63848
63849 2007-02-11  Bruno Haible  <bruno@clisp.org>
63850
63851         Support for copying multibyte string iterators.
63852         * lib/mbiter.h: Include <string.h>.
63853         (mbiter_multi_copy): New function.
63854         (mbi_copy): New macro.
63855         * lib/mbuiter.h: Include <string.h>.
63856         (mbuiter_multi_copy): New function.
63857         (mbui_copy): New macro.
63858
63859 2007-02-11  Bruno Haible  <bruno@clisp.org>
63860
63861         New module mbslen.
63862         * modules/mbslen: New file.
63863         * lib/mbslen.c: New file.
63864         * lib/string_.h (mbslen): New declaration.
63865         * m4/mbslen.m4: New file.
63866         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63867         GNULIB_MBSLEN.
63868         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
63869         * MODULES.html.sh (Internationalization functions): Add mbslen.
63870
63871 2007-02-11  Bruno Haible  <bruno@clisp.org>
63872
63873         Ensure O(n) worst-case complexity of strcasestr substitute.
63874         * lib/strcasestr.c: Include stdbool.h.
63875         (knuth_morris_pratt): New function.
63876         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63877         bookkeeping indicates that it's worth it.
63878         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
63879
63880         * modules/strcasestr-tests: New file.
63881         * tests/test-strcasestr.c: New file.
63882
63883 2007-02-11  Bruno Haible  <bruno@clisp.org>
63884
63885         Ensure O(n) worst-case complexity of c_strcasestr.
63886         * lib/c-strcasestr.c: Include stdbool.h, string.h.
63887         (knuth_morris_pratt): New function.
63888         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
63889         the bookkeeping indicates that it's worth it.
63890         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
63891
63892         * modules/c-strcasestr-tests: New file.
63893         * tests/test-c-strcasestr.c: New file.
63894
63895 2007-02-11  Bruno Haible  <bruno@clisp.org>
63896
63897         Ensure O(n) worst-case complexity of c_strstr.
63898         * lib/c-strstr.c: Include stdbool.h, string.h.
63899         (knuth_morris_pratt): New function.
63900         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63901         bookkeeping indicates that it's worth it.
63902         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
63903
63904         * lib/c-strstr.c: Complete rewrite for maintainability.
63905
63906         * modules/c-strstr-tests: New file.
63907         * tests/test-c-strstr.c: New file.
63908
63909 2007-02-11  Bruno Haible  <bruno@clisp.org>
63910
63911         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
63912         5.2.1 and earlier, whereby \055 was treated just like the range
63913         delimiter '-'.
63914         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63915
63916 2007-02-08  Bruno Haible  <bruno@clisp.org>
63917
63918         * modules/regex (Depends-on): Add stdbool.
63919         Reported by Dalibor Topic <robilad@kaffe.org>.
63920
63921 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63922
63923         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
63924         Prefer returning from main to exiting from it.
63925         Remove unnecessary parens after sizeof.
63926
63927 2007-02-05  Bruno Haible  <bruno@clisp.org>
63928
63929         New module mbssep.
63930         * modules/mbssep: New file.
63931         * lib/mbssep.c: New file.
63932         * lib/string_.h (strsep): Add a conditional link warning.
63933         (mbssep): New declaration.
63934         * m4/mbssep.m4: New file.
63935         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63936         GNULIB_MBSSEP.
63937         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
63938         * MODULES.html.sh (Internationalization functions): Add mbssep.
63939
63940 2007-02-05  Bruno Haible  <bruno@clisp.org>
63941
63942         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
63943         Optimize search in case of 1 delimiter.
63944
63945 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63946
63947         * lib/acl.h: Include sys/types.h before sys/acl.h.
63948
63949 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63950
63951         Merge upstream fix for glibc bugzilla #3957:
63952
63953         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
63954
63955         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
63956         bit for RE_HAT_LISTS_NOT_NEWLINE.
63957         (build_charclass_op): Remove bogus comment.
63958
63959 2007-02-05  Simon Josefsson  <simon@josefsson.org>
63960
63961         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
63962
63963 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63964
63965         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
63966         * lib/memmem.c [!defined _LIBC]: Include config.h.
63967
63968 2007-02-04  Bruno Haible  <bruno@clisp.org>
63969
63970         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
63971         warning message.
63972
63973 2007-02-04  Bruno Haible  <bruno@clisp.org>
63974
63975         New module mbstok_r.
63976         * modules/mbstok_r: New file.
63977         * lib/mbstok_r.c: New file.
63978         * lib/string_.h (strtok_r): Change argument names to match the
63979         comments. Add a conditional link warning.
63980         (mbstok_r): New declaration.
63981         * m4/mbstok_r.m4: New file.
63982         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63983         GNULIB_MBSTOK_R.
63984         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
63985         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
63986
63987 2007-02-04  Bruno Haible  <bruno@clisp.org>
63988
63989         New module mbsspn.
63990         * modules/mbsspn: New file.
63991         * lib/mbsspn.c: New file.
63992         * lib/string_.h (strspn): Add a conditional link warning.
63993         (mbsspn): New declaration.
63994         * m4/mbsspn.m4: New file.
63995         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63996         GNULIB_MBSSPN.
63997         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
63998         * MODULES.html.sh (Internationalization functions): Add mbsspn.
63999
64000 2007-02-04  Bruno Haible  <bruno@clisp.org>
64001
64002         New module mbspbrk.
64003         * modules/mbspbrk: New file.
64004         * lib/mbspbrk.c: New file.
64005         * lib/string_.h (strpbrk): Add a conditional link warning.
64006         (mbspbrk): New declaration.
64007         * m4/mbspbrk.m4: New file.
64008         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64009         GNULIB_MBSPBRK.
64010         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
64011         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
64012
64013 2007-02-04  Bruno Haible  <bruno@clisp.org>
64014
64015         New module mbscspn.
64016         * modules/mbscspn: New file.
64017         * lib/mbscspn.c: New file.
64018         * lib/string_.h (strcspn): Add a conditional link warning.
64019         (mbscspn): New declaration.
64020         * m4/mbscspn.m4: New file.
64021         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64022         GNULIB_MBSCSPN.
64023         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
64024         * MODULES.html.sh (Internationalization functions): Add mbscspn.
64025
64026 2007-02-04  Bruno Haible  <bruno@clisp.org>
64027
64028         New module mbscasestr, reduced goal of strcasestr.
64029         * modules/mbscasestr: New file.
64030         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
64031         (mbscasestr): Renamed from strcasestr.
64032         * lib/strcasestr.c: Don't include mbuiter.h.
64033         (strcasestr): Remove support for multibyte locales.
64034         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
64035         Change the conditional link warning.
64036         (mbscasestr): New declaration.
64037         * m4/mbscasestr.m4: New file.
64038         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
64039         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
64040         REPLACE_STRCASESTR.
64041         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
64042         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
64043         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
64044         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
64045         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
64046         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
64047         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
64048         (Depends-on): Remove mbuiter.
64049         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
64050
64051 2007-02-04  Bruno Haible  <bruno@clisp.org>
64052
64053         Simplify handling of strncasecmp.
64054         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
64055         the conditional link warning.
64056         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
64057         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
64058         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
64059         * modules/strcase (configure.ac): Don't invoke
64060         gl_STRING_MODULE_INDICATOR.
64061         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
64062
64063 2007-02-04  Bruno Haible  <bruno@clisp.org>
64064
64065         New module mbscasecmp, reduced goal of strcasecmp.
64066         * modules/mbscasecmp: New file.
64067         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
64068         (mbscasecmp): Renamed from strcasecmp.
64069         * lib/strcasecmp.c: Don't include mbuiter.h.
64070         (strcasecmp): Remove support for multibyte locales.
64071         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
64072         Change the conditional link warning.
64073         (mbscasecmp): New declaration.
64074         * m4/mbscasecmp.m4: New file.
64075         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
64076         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
64077         REPLACE_STRCASECMP.
64078         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
64079         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64080         GNULIB_MBSCASECMP.
64081         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
64082         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
64083         * modules/strcase (Files): Remove m4/mbrtowc.m4.
64084         (Depends-on): Remove mbuiter.
64085         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
64086
64087 2007-02-04  Bruno Haible  <bruno@clisp.org>
64088
64089         New module mbsstr. Remove module strstr.
64090         * modules/mbsstr: New file.
64091         * modules/strstr: Remove file.
64092         * lib/mbsstr.c: Renamed from lib/strstr.c.
64093         (mbsstr): Renamed from strstr.
64094         * lib/string_.h (strstr): Remove declaration. Change the conditional
64095         link warning.
64096         (mbsstr): New declaration.
64097         * m4/mbsstr.m4: New file.
64098         * m4/strstr.m4: Remove file.
64099         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
64100         REPLACE_STRSTR.
64101         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
64102         Don't initialize GNULIB_STRSTR.
64103         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
64104         substitute GNULIB_STRSTR and REPLACE_STRSTR.
64105         * MODULES.html.sh (Internationalization functions): Add mbsstr.
64106         (Support for systems lacking ANSI C 89): Remove strstr.
64107
64108 2007-02-04  Bruno Haible  <bruno@clisp.org>
64109
64110         New module mbsrchr.
64111         * modules/mbsrchr: New file.
64112         * lib/mbsrchr.c: New file.
64113         * lib/string_.h (strrchr): Add a conditional link warning.
64114         (mbsrchr): New declaration.
64115         * m4/mbsrchr.m4: New file.
64116         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64117         GNULIB_MBSRCHR.
64118         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
64119         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
64120
64121 2007-02-04  Bruno Haible  <bruno@clisp.org>
64122
64123         New module mbschr.
64124         * modules/mbschr: New file.
64125         * lib/mbschr.c: New file.
64126         * lib/string_.h (strchr): Add a conditional link warning.
64127         (mbschr): New declaration.
64128         * m4/mbschr.m4: New file.
64129         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64130         GNULIB_MBSCHR.
64131         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
64132         * MODULES.html.sh (Internationalization functions): Add mbschr.
64133
64134 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
64135
64136         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
64137
64138         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
64139
64140 2007-02-04  Bruno Haible  <bruno@clisp.org>
64141
64142         New module description section 'configure.ac-early'.
64143         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
64144         (func_get_autoconf_early_snippet): New function.
64145         (func_import, func_create_testdir): Use it. Remove special cases for
64146         modules 'extensions' and 'lock'.
64147         * modules/extensions (configure.ac-early): Require
64148         gl_USE_SYSTEM_EXTENSIONS.
64149         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
64150
64151 2007-02-04  Bruno Haible  <bruno@clisp.org>
64152
64153         Make use of gcj-4.3's -fsource and -ftarget option.
64154         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
64155         and if so try the options -fsource and -ftarget.
64156         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
64157         source_version, ftarget_option, target_version arguments.
64158         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
64159         (is_envjavac_oldgcj_14_14_usable): Renamed from
64160         is_envjavac_gcj_14_14_usable.
64161         (is_envjavac_oldgcj_14_13_usable): Renamed from
64162         is_envjavac_gcj_14_13_usable.
64163         (is_gcj_present): Update.
64164         (is_gcj_43, is_gcj43_usable): New functions.
64165         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
64166         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
64167         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
64168         try the options -fsource and -ftarget.
64169
64170 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
64171
64172         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
64173         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
64174         larger value.
64175
64176 2007-02-03  Jim Meyering  <jim@meyering.net>
64177
64178         Give tools a better chance to allocate space for very large buffers.
64179         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
64180
64181         Make pwd and readlink work also when run with an unreadable parent dir
64182         on systems with openat support.
64183         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
64184         provided getcwd function, even when we have openat support.
64185         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
64186
64187 2007-02-02  Bruno Haible  <bruno@clisp.org>
64188
64189         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
64190         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
64191         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
64192         portability problems if one of these functions is only used on specific
64193         platforms.
64194         Reported by Paul Eggert.
64195
64196 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
64197
64198         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
64199         is causing more trouble than it's curing.
64200         * lib/regex_internal.h (__mempcpy): Remove.
64201         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
64202         (and make the code a tad smaller to boot).
64203         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
64204
64205 2007-02-02  Jim Meyering  <jim@meyering.net>
64206
64207         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
64208         section, not in the Makefile.am: one.
64209
64210 2007-02-02  Eric Blake  <ebb9@byu.net>
64211
64212         * lib/strchrnul.c: Always include config.h first.
64213
64214         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
64215         gnulib strstr is not necessary here.
64216
64217 2007-02-02  Simon Josefsson  <simon@josefsson.org>
64218
64219         * m4/socklen.m4: Fix typo.
64220
64221 2007-02-02  Eric Blake  <ebb9@byu.net>
64222
64223         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
64224         * modules/netinet_in (Makefile.am): Likewise.
64225
64226 2007-02-01  Bruno Haible  <bruno@clisp.org>
64227
64228         * lib/string_.h (GL_LINK_WARNING): New macro.
64229         (strcasecmp, strstr, strcasestr): If provided by the system,
64230         conditionally define as a macro that leads to a warning instead of to
64231         an error.
64232         (strncasecmp): Conditionally define as a macro that leads to a warning.
64233
64234 2007-02-01  Karl Berry  <karl@gnu.org>
64235
64236         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
64237
64238 2007-02-01  Bruno Haible  <bruno@clisp.org>
64239
64240         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
64241         renamings.
64242
64243 2007-02-01  Eric Blake  <ebb9@byu.net>
64244
64245         * modules/regex (Depends-on): Revert dependence on mempcpy.
64246         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
64247         module's definition of mempcpy.
64248         Reported by Paul Eggert.
64249
64250 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
64251
64252         * lib/string_.h: If the gnulib module XYZ is not present, undefine
64253         the symbol XYZ before redefining it.  This fixes a problem with
64254         programs that don't use XYZ, when compiled on systems that define
64255         XYZ to something else.
64256
64257 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
64258
64259         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
64260         occurs when "mkdir -m foo" creates a setgid directory that is (1)
64261         writeable to group or other and (2) is intended to have a special
64262         mode bit that is set or cleared.  In such a case, the directory
64263         should be neither group- nor other-writeable until the special
64264         mode bits are right.
64265
64266 2007-01-31  Eric Blake  <ebb9@byu.net>
64267
64268         * modules/mountlist (Depends-on): Add strstr.
64269
64270         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
64271         bug.
64272         * modules/string (Makefile.am): Remove redundant replacement.
64273         * modules/regex (Depends-on): Add mempcpy.
64274
64275 2007-01-31  Bruno Haible  <bruno@clisp.org>
64276
64277         New module description field 'Link'.
64278         * gnulib-tool (func_usage): Document --extract-link-directive.
64279         (sed_extract_prog): Recognize 'Link' directive.
64280         (func_get_link_directive): New function.
64281         (func_import): Show summary of link directives.
64282         Handle --extract-link-directive option.
64283         * modules/acl (Link): New section.
64284         * modules/clock-time (Link): New section.
64285         * modules/euidaccess (Link): New section.
64286         * modules/gettext (Link): New section.
64287         * modules/iconv (Link): New section.
64288         * modules/lock (Link): New section.
64289         * modules/nanosleep (Link): New section.
64290         * modules/readline (Link): New section.
64291
64292 2007-01-27  Bruno Haible  <bruno@clisp.org>
64293
64294         Enforce the use of gnulib modules for unportable <string.h> functions.
64295         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
64296         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
64297         (gl_HEADER_STRING_H_BODY): Require it.
64298         * lib/string_.h: If the gnulib module XYZ is not present, redefine
64299         the symbol XYZ to one that gives a link error.
64300         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
64301         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
64302         * modules/mempcpy (configure.ac): Likewise.
64303         * modules/memrchr (configure.ac): Likewise.
64304         * modules/stpcpy (configure.ac): Likewise.
64305         * modules/stpncpy (configure.ac): Likewise.
64306         * modules/strcase (configure.ac): Likewise.
64307         * modules/strcasestr (configure.ac): Likewise.
64308         * modules/strchrnul (configure.ac): Likewise.
64309         * modules/strdup (configure.ac): Likewise.
64310         * modules/strndup (configure.ac): Likewise.
64311         * modules/strnlen (configure.ac): Likewise.
64312         * modules/strpbrk (configure.ac): Likewise.
64313         * modules/strsep (configure.ac): Likewise.
64314         * modules/strstr (configure.ac): Likewise.
64315         * modules/strtok_r (configure.ac): Likewise.
64316
64317 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
64318
64319         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
64320
64321 2007-01-30  Jim Meyering  <jim@meyering.net>
64322
64323         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
64324
64325 2007-01-29  Bruno Haible  <bruno@clisp.org>
64326
64327         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
64328         * lib/execute.c: Likewise.
64329         * lib/pipe.c: Likewise.
64330         * lib/printf-args.h: Likewise.
64331         * lib/printf-args.c: Likewise.
64332         * lib/printf-parse.c: Likewise.
64333         * lib/vasnprintf.c: Likewise.
64334
64335 2007-01-29  Eric Blake  <ebb9@byu.net>
64336
64337         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
64338         declaration.
64339
64340 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
64341
64342         * lib/strptime.h (strptime): Use 'restrict' for args where
64343         POSIX requires this.
64344         * lib/strptime.c (strptime): Likewise.
64345         Change license notice from LGPL to GPL, since gnulib-tool will
64346         change this as needed.
64347         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
64348         defined.
64349         Include "strptime.h" first, to check interface.
64350         Do not #undef _LIBC and _NL_CURRENT.
64351         Do not include <stdlib.h>; no longer needed.
64352         Include "time_r.h" and declare ptime_locale_status
64353         only if _LIBC is not defined.
64354         (__P): Remove unused macro.
64355         (match_string): Bring back glibc version, but use it only if _LIBC
64356         is defined.
64357         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
64358         Remove unnecessary assertion and abort() call.
64359         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
64360         * m4/strptime.m4: Fix serial number comment.
64361         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
64362         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
64363         (Depends-on): Add time_r.
64364
64365 2007-01-29  Bruno Haible  <bruno@clisp.org>
64366
64367         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64368         strptime.
64369         * modules/strptime (Depends-on): Add stdbool.
64370         * lib/strptime.h: Include <time.h> always. Add comments.
64371
64372 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
64373
64374         * modules/strptime: New file.
64375         * lib/strptime.h: New file.
64376         * lib/strptime.c: New file.
64377         * m4/strptime.m4: New file.
64378
64379 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
64380
64381         * MODULES.html.sh: New module mpsort.
64382         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
64383
64384         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
64385         a circularity problem with HP-UX ia64 reported by Bob Proulx in
64386         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
64387         All uses changed.
64388         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
64389         All uses changed.
64390         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
64391         to _Restrict_.
64392         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
64393         the parameter matches the prototype.
64394
64395 2007-01-28  Jim Meyering  <jim@meyering.net>
64396
64397         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
64398         sys/time.h here, reverting that part of the previous patch:
64399         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
64400
64401 2007-01-28  Bruno Haible  <bruno@clisp.org>
64402
64403         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
64404         value of $(SYS_TIME_H).
64405         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
64406         remove it conditionally, too. [added by Jim Meyering]
64407         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
64408         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64409         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
64410         GETTIMEOFDAY_REPLACEMENT to 1.
64411
64412 2007-01-28  Bruno Haible  <bruno@clisp.org>
64413
64414         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
64415         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
64416         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
64417         Set UNISTD_H instead of UNISTD_H2.
64418         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
64419
64420 2007-01-28  Bruno Haible  <bruno@clisp.org>
64421
64422         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
64423         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
64424
64425 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64426
64427         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
64428         (func_create_testdir): Ensure C locale for `grep' and `tr'
64429         character ranges.
64430         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
64431         ACLOCAL_AMFLAGS parsing state machine.
64432
64433 2007-01-27  Bruno Haible  <bruno@clisp.org>
64434
64435         * modules/unistr/base: Update.
64436
64437 2007-01-27  Bruno Haible  <bruno@clisp.org>
64438
64439         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
64440         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
64441         * modules/unistr/u32-mbtouc-unsafe: Renamed from
64442         modules/unistr/u32-mbtouc.
64443         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
64444         * lib/unistr.h: Update.
64445         * lib/linebreak.c: Update.
64446         * modules/unistr/u32-mbtouc: Renamed from
64447         modules/unistr/u32-mbtouc-safe.
64448         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
64449         * lib/unistr.h: Update.
64450         * lib/unistr/u32-to-u8.c: Update.
64451         * lib/unistr/u32-to-u16.c: Update.
64452
64453 2007-01-27  Bruno Haible  <bruno@clisp.org>
64454
64455         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
64456         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
64457         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
64458         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
64459         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
64460         * modules/unistr/u16-mbtouc-unsafe: Renamed from
64461         modules/unistr/u16-mbtouc.
64462         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
64463         * lib/unistr.h: Update.
64464         * lib/linebreak.c: Update.
64465         * modules/linebreak: Update.
64466         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
64467         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
64468         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
64469         * modules/unistr/u16-mbtouc: Renamed from
64470         modules/unistr/u16-mbtouc-safe.
64471         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
64472         * lib/unistr.h: Update.
64473         * lib/unistr/u16-to-u8.c: Update.
64474         * modules/unistr/u16-to-u8: Update.
64475         * lib/unistr/u16-to-u32.c: Update.
64476         * modules/unistr/u16-to-u32: Update.
64477
64478 2007-01-27  Bruno Haible  <bruno@clisp.org>
64479
64480         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
64481         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
64482         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
64483         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
64484         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
64485         * modules/unistr/u8-mbtouc-unsafe: Renamed from
64486         modules/unistr/u8-mbtouc.
64487         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
64488         * lib/unistr.h: Update.
64489         * lib/striconveh.c: Update.
64490         * modules/striconveh: Update.
64491         * lib/linebreak.c: Update.
64492         * modules/linebreak: Update.
64493         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
64494         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
64495         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
64496         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
64497         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
64498         * lib/unistr.h: Update.
64499         * lib/striconveh.c: Update.
64500         * modules/striconveh: Update.
64501         * lib/unistr/u8-to-u16.c: Update.
64502         * modules/unistr/u8-to-u16: Update.
64503         * lib/unistr/u8-to-u32.c: Update.
64504         * modules/unistr/u8-to-u32: Update.
64505
64506 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64507
64508         Sync from Libtool.
64509         * lib/argz.c: Do not include strings.h nor memory.h, include
64510         string.h unconditionally.  Patch by Simon Josefsson.
64511
64512 2007-01-27  Bruno Haible  <bruno@clisp.org>
64513
64514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
64515         from gl_HEADER_STRING_H_BODY.
64516         (gl_HEADER_STRING_H_BODY): Require it.
64517         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
64518         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64519         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64520         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64521         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64522         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
64523         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
64524         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64525         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
64526         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64527         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64528         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
64529         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64530         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
64531         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
64532
64533 2007-01-27  Bruno Haible  <bruno@clisp.org>
64534
64535         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
64536         check_PROGRAMS into noinst_PROGRAMS.
64537         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
64538         check_PROGRAMS in this case.
64539         (func_import): Set for_test to false.
64540         (func_create_testdir): Set for_test to true.
64541
64542 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64543             Bruno Haible  <bruno@clisp.org>
64544
64545         * modules/strcasestr (Files): Remove lib/strcasestr.h.
64546         (Depends-on): Add string.
64547         (Includes): Use <string.h> instead of strcasestr.h.
64548         * modules/string (Makefile.am): Also substitute the value of
64549         REPLACE_STRCASESTR.
64550         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
64551         assume strcasestr is declared in <string.h> not <strings.h>. Also
64552         set REPLACE_STRCASESTR.
64553         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
64554         REPLACE_STRCASESTR.
64555         * lib/strcasestr.h: Remove file.
64556         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
64557         * lib/string_.h (strcasestr): New declaration.
64558
64559 2007-01-27  Bruno Haible  <bruno@clisp.org>
64560
64561         * lib/string_.h: Use 'extern'.
64562
64563 2007-01-27  Jim Meyering  <jim@meyering.net>
64564
64565         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
64566         of set-but-not-used local, "q".
64567
64568         * lib/mempcpy.c: Include <config.h> before <string.h>.
64569         This fixes a compilation error on HP-UX, due to the system's
64570         "restrict"-using mempcpy prototype.
64571
64572 2007-01-26  Bruno Haible  <bruno@clisp.org>
64573
64574         Small optimization.
64575         * lib/javacomp.c: Include c-strstr.h.
64576          (is_envjavac_gcj): Use c_strstr instead of strstr.
64577         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
64578
64579 2007-01-26  Bruno Haible  <bruno@clisp.org>
64580
64581         * MODULES.html.sh (Unicode string functions): Add the new modules.
64582
64583         * modules/uniconv/u32-strconv-to-locale: New file.
64584         * lib/uniconv/u32-strconv-to-locale.c: New file.
64585
64586         * modules/uniconv/u16-strconv-to-locale: New file.
64587         * lib/uniconv/u16-strconv-to-locale.c: New file.
64588
64589         * modules/uniconv/u8-strconv-to-locale: New file.
64590         * lib/uniconv/u8-strconv-to-locale.c: New file.
64591
64592         * modules/uniconv/u32-strconv-from-locale: New file.
64593         * lib/uniconv/u32-strconv-from-locale.c: New file.
64594
64595         * modules/uniconv/u16-strconv-from-locale: New file.
64596         * lib/uniconv/u16-strconv-from-locale.c: New file.
64597
64598         * modules/uniconv/u8-strconv-from-locale: New file.
64599         * lib/uniconv/u8-strconv-from-locale.c: New file.
64600
64601         * modules/uniconv/u32-strconv-to-enc: New file.
64602         * lib/uniconv/u32-strconv-to-enc.c: New file.
64603         * modules/uniconv/u32-strconv-to-enc-tests: New file.
64604         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
64605
64606         * modules/uniconv/u16-strconv-to-enc: New file.
64607         * lib/uniconv/u16-strconv-to-enc.c: New file.
64608         * lib/uniconv/u-strconv-to-enc.h: New file.
64609         * modules/uniconv/u16-strconv-to-enc-tests: New file.
64610         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
64611
64612         * modules/uniconv/u8-strconv-to-enc: New file.
64613         * lib/uniconv/u8-strconv-to-enc.c: New file.
64614         * modules/uniconv/u8-strconv-to-enc-tests: New file.
64615         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
64616
64617         * modules/uniconv/u32-strconv-from-enc: New file.
64618         * lib/uniconv/u32-strconv-from-enc.c: New file.
64619         * modules/uniconv/u32-strconv-from-enc-tests: New file.
64620         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
64621
64622         * modules/uniconv/u16-strconv-from-enc: New file.
64623         * lib/uniconv/u16-strconv-from-enc.c: New file.
64624         * modules/uniconv/u16-strconv-from-enc-tests: New file.
64625         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
64626
64627         * modules/uniconv/u8-strconv-from-enc: New file.
64628         * lib/uniconv/u8-strconv-from-enc.c: New file.
64629         * lib/uniconv/u-strconv-from-enc.h: New file.
64630         * modules/uniconv/u8-strconv-from-enc-tests: New file.
64631         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
64632
64633         * modules/uniconv/u32-conv-from-enc: New file.
64634         * lib/uniconv/u32-conv-from-enc.c: New file.
64635         * modules/uniconv/u32-conv-from-enc-tests: New file.
64636         * tests/uniconv/test-u32-conv-from-enc.c: New file.
64637
64638         * modules/uniconv/u16-conv-from-enc: New file.
64639         * lib/uniconv/u16-conv-from-enc.c: New file.
64640         * lib/uniconv/u-conv-from-enc.h: New file.
64641         * modules/uniconv/u16-conv-from-enc-tests: New file.
64642         * tests/uniconv/test-u16-conv-from-enc.c: New file.
64643
64644         * modules/uniconv/u8-conv-from-enc: New file.
64645         * lib/uniconv/u8-conv-from-enc.c: New file.
64646         * modules/uniconv/u8-conv-from-enc-tests: New file.
64647         * tests/uniconv/test-u8-conv-from-enc.c: New file.
64648
64649         * modules/uniconv/base: New file.
64650         * lib/uniconv.h: New file.
64651
64652 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
64653
64654         * doc/gnulib-tool.texi (Initial import): Update to match current
64655         behavior with strdup module.
64656         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
64657         * lib/memmem.h: Remove; all uses removed.  This is now done
64658         by <string.h>.
64659         * lib/mempcpy.h: Likewise.
64660         * lib/memrchr.h: Likewise.
64661         * lib/stpcpy.h: Likewise.
64662         * lib/stpncpy.h: Likewise.
64663         * lib/strcase.h: Likewise.
64664         * lib/strchrnul.h: Likewise.
64665         * lib/strdup.h: Likewise.
64666         * lib/strndup.h: Likewise.
64667         * lib/strnlen.h: Likewise.
64668         * lib/strpbrk.h: Likewise.
64669         * lib/strsep.h: Likewise.
64670         * lib/strstr.h: Likewise.
64671         * lib/strtok_r.h: Likewise.
64672         * lib/string_.h: New file.
64673         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
64674         Rely on <string.h> instead.
64675         * lib/canon-host.c: Likewise.
64676         * lib/chdir-long.c: Likewise.
64677         * lib/concatpath.c: Likewise.
64678         * lib/exclude.c: Likewise.
64679         * lib/fchdir.c: Likewise.
64680         * lib/getaddrinfo.c: Likewise.
64681         * lib/getcwd.c: Likewise.
64682         * lib/getsubopt.c: Likewise.
64683         * lib/glob.c: Likewise.
64684         * lib/hard-locale.c: Likewise.
64685         * lib/iconvme.c: Likewise.
64686         * lib/javacomp.c: Likewise.
64687         * lib/mempcpy.c: Likewise.
64688         * lib/memrchr.c: Likewise.
64689         * lib/regex_internal.h: Likewise.
64690         * lib/stpncpy.c: Likewise.
64691         * lib/strcasecmp.c: Likewise.
64692         * lib/strchrnul.c: Likewise.
64693         * lib/strdup.c: Likewise.
64694         * lib/striconv.c: Likewise.
64695         * lib/striconveh.c: Likewise.
64696         * lib/striconveha.c: Likewise.
64697         * lib/strncasecmp.c: Likewise.
64698         * lib/strndup.c: Likewise.
64699         * lib/strnlen.c: Likewise.
64700         * lib/strsep.c: Likewise.
64701         * lib/strstr.c: Likewise.
64702         * lib/strtok_r.c: Likewise.
64703         * lib/userspec.c: Likewise.
64704         * lib/w32spawn.h: Likewise.
64705         * lib/xstrndup.c: Likewise.
64706         * lib/mountlist.c (strstr): Remove decl.
64707         * m4/string_h.m4: New file.
64708         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
64709         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
64710         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
64711         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
64712         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
64713         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
64714         Set REPLACE_STRCASECMP if necessary.
64715         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
64716         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
64717         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
64718         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
64719         HAVE_DECL_STRDUP if necessary.
64720         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
64721         since gl_FUNC_STRNDUP does that now.
64722         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
64723         Check for decl here...
64724         (gl_PREREQ_STRNLEN): ... not here.
64725         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
64726         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
64727         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
64728         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
64729         necessary.
64730         * modules/string: New file.
64731         * modules/memmem (Files): Remove special-purpose include file.
64732         (Depends-on): Add string.
64733         (Include): Include <string.h>, not the removed file.
64734         * modules/mempcpy: Likewise.
64735         * modules/memrchr: Likewise.
64736         * modules/stpcpy: Likewise.
64737         * modules/stpncpy: Likewise.
64738         * modules/strcase: Likewise.
64739         * modules/strchrnul: Likewise.
64740         * modules/strdup: Likewise.
64741         * modules/strndup: Likewise.
64742         * modules/strnlen: Likewise.
64743         * modules/strpbrk: Likewise.
64744         * modules/strsep: Likewise.
64745         * modules/strstr: Likewise.
64746         * modules/strtok_r: Likewise.
64747         * tests/test-dirname.c: Don't include "strdup.h", since
64748         <string.h> now suffices.
64749         * tests/test-memmem.c: Don't include "memmem.h", since
64750         <string.h> now suffices.
64751
64752 2007-01-25  Bruno Haible  <bruno@clisp.org>
64753
64754         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
64755         *resultp is 0.
64756
64757         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
64758         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
64759         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
64760         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
64761
64762         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
64763         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
64764         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
64765         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
64766         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
64767         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
64768
64769 2007-01-24  Bruno Haible  <bruno@clisp.org>
64770
64771         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
64772         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
64773         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
64774         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
64775         gl_FUNC_FTS_CORE.
64776         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
64777         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
64778         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64779         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
64780         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
64781         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
64782         gl_FUNC_FCHOWNAT.
64783         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
64784         gl_FUNC_STRFTIME.
64785         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
64786         Reported by Ralf Wildenhues.
64787
64788 2007-01-24  Bruno Haible  <bruno@clisp.org>
64789
64790         Drop AC_REQUIRE calls that are redundant with the module dependencies.
64791         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
64792         gl_GETADDRINFO.
64793         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
64794         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
64795         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
64796
64797 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
64798
64799         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
64800         Don't use 'exit'; just return from 'main'.
64801         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
64802
64803         * lib/fnmatch_.h: Readjust white space and comments to match
64804         glibc, to avoid spurious diffs.
64805
64806 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64807
64808         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
64809         2004-12-01 change by Jakub Jelinek, since this code won't compile
64810         if !LIBC.  Problem reported by Bob Proulx.
64811
64812 2007-01-23  Bruno Haible  <bruno@clisp.org>
64813
64814         * lib/striconveh.c: Include c-strcaseeq.h.
64815         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
64816         * modules/striconveh (Depends-on): Add c-strcaseeq.
64817
64818 2007-01-23  Bruno Haible  <bruno@clisp.org>
64819
64820         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
64821
64822         * modules/c-strcaseeq: New file.
64823         * lib/c-strcaseeq.h: New file.
64824
64825         * modules/streq: New file.
64826         * lib/streq.h: New file.
64827
64828 2007-01-23  Bruno Haible  <bruno@clisp.org>
64829
64830         * modules/striconveha-tests: New file.
64831         * tests/test-striconveha.c: New file.
64832
64833         * lib/striconveha.h: Include <stdbool.h>.
64834         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
64835         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
64836         (mem_iconveha_notranslit): Renamed from mem_iconveha.
64837         (mem_iconveha): New function.
64838         (str_iconveha_notranslit): Renamed from str_iconveha.
64839         (str_iconveha): New function.
64840         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
64841         c-strcase.
64842
64843 2007-01-23  Bruno Haible  <bruno@clisp.org>
64844
64845         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
64846         encodings without forgiving before trying any encoding with handler.
64847         (str_iconveha): Try all encodings without forgiving before trying any
64848         encoding with handler.
64849
64850 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64851
64852         Import the following changes from libc.
64853
64854         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
64855
64856         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
64857
64858         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
64859
64860         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
64861         normal_bracket label.
64862
64863         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
64864
64865         [BZ #361]
64866         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
64867         to normal_bracket after fetching the next character.
64868
64869 2007-01-22  Bruno Haible  <bruno@clisp.org>
64870
64871         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
64872         argument.
64873         * lib/striconveh.c (iconv_carefully_1): New function.
64874         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
64875         argument.
64876         (str_cd_iconveh): Update.
64877         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
64878         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
64879         * tests/test-striconveh.c (MAGIC): New macro.
64880         (new_offsets): New function.
64881         (main): Test call with and without offsets.
64882
64883 2007-01-22  Bruno Haible  <bruno@clisp.org>
64884
64885         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
64886         * modules/sys_select (Makefile.am): Likewise.
64887         * modules/sys_socket (Makefile.am): Likewise.
64888         * modules/sys_time (Makefile.am): Likewise.
64889
64890 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
64891
64892         * modules/gettimeofday (License): Change from GPL to LGPL, since
64893         gettimeofday is a library function.
64894
64895 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64896
64897         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
64898
64899 2007-01-21  Bruno Haible  <bruno@clisp.org>
64900
64901         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
64902
64903 2007-01-21  Bruno Haible  <bruno@clisp.org>
64904
64905         * modules/striconveha: New file.
64906         * lib/striconveha.h: New file.
64907         * lib/striconveha.c: New file.
64908         * MODULES.html.sh (Internationalization functions): Add striconveha.
64909         * lib/striconv.c (str_iconv): Optimize the case of an empty input
64910         string.
64911         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
64912
64913 2007-01-21  Bruno Haible  <bruno@clisp.org>
64914
64915         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
64916         * lib/striconveh.c (str_iconveh): Likewise.
64917
64918 2007-01-21  Bruno Haible  <bruno@clisp.org>
64919
64920         * lib/striconveh.h (mem_iconveh): New declaration.
64921         * lib/striconveh.c (mem_iconveh): New function.
64922         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
64923
64924 2007-01-21  Bruno Haible  <bruno@clisp.org>
64925
64926         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
64927
64928         * lib/striconveh.h (mem_cd_iconveh): Change specification.
64929         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
64930         original result buffer.
64931         (str_cd_iconveh): Update.
64932         * tests/test-striconveh.c (main): Update.
64933
64934         * lib/striconv.h (mem_cd_iconv): Change specification.
64935         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
64936         result buffer.
64937         (str_cd_iconv): Update.
64938         * tests/test-striconv.c (main): Update.
64939
64940 2007-01-21  Bruno Haible  <bruno@clisp.org>
64941
64942         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
64943
64944 2007-01-20  Jim Meyering  <jim@meyering.net>
64945
64946         * lib/userspec.c (parse_with_separator): If a user or group string
64947         starts with "+", skip the corresponding name-to-ID look-up, since
64948         such a look-up must fail: user and group names may not include "+".
64949
64950 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
64951
64952         * lib/poll.c: Include sys/time.h and time.h unconditionally,
64953         since we now assume the sys_time module.
64954         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
64955         check for sys/time.h; no longer needed.
64956         * modules/poll (Depends-on): Depend on sys_time.
64957
64958 2007-01-18  Bruno Haible  <bruno@clisp.org>
64959
64960         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
64961         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64962
64963         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
64964         gettimeofday.
64965
64966         * tests/test-gettimeofday.c: Include <time.h>.
64967         (dummy): Remove variable.
64968
64969         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
64970         gl_HEADER_SYS_TIME_H.
64971         (gl_HEADER_SYS_TIME_H): New macro.
64972
64973         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
64974         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64975         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
64976         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
64977         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64978         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
64979         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
64980         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64981         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
64982         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
64983         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64984
64985         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
64986         last change; it caused a compilation error when cross-compiling to
64987         Cygwin.
64988
64989 2007-01-18  Jim Meyering  <jim@meyering.net>
64990
64991         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
64992         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
64993         than the race-prone "test -d sys || mkdir sys".
64994         (configure.ac): Use AC_PROG_MKDIR_P.
64995         * modules/sys_select: Likewise.
64996         * modules/sys_socket: Likewise.
64997         * modules/sys_time: Likewise.
64998
64999 2007-01-18  Eric Blake  <ebb9@byu.net>
65000
65001         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
65002         replace gettimeofday.
65003         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
65004         name, to avoid infinite recursion.
65005
65006 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
65007
65008         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
65009         module sys_time.
65010         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
65011         assume timespec.h defines struct timeval.
65012         * lib/settime.c: Likewise.
65013         * lib/utimens.c: Likewise.
65014         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
65015         since we now assume the gettimeofday module.
65016         * lib/tempname.c (__gen_tempname): Likewise.
65017         * lib/gettimeofday.h: Remove.
65018         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
65019         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
65020         Include <time.h>, for 'time()'.
65021         (localtime_buffer_addr): Also use this workaround if
65022         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
65023         to simplify the uses.  All uses changed.
65024         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
65025         that #undef is inside {}, and 'const' follows type name consistently.
65026         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
65027         (gettimeofday): Do not use the maximum possible value for
65028         tv->tv_usec, since that might break usages other than ls.c.
65029         Instead, we'll leave ls.c alone.  This undoes today's patch
65030         by Bruno.  Add a compile-time warning for 1s-clock resolution;
65031         we've never observed the problem but might as well keep the
65032         canary.
65033         * lib/nanosleep.c: Include timespec.h first, for interface check.
65034         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
65035         now assume the sys_time module.
65036         * lib/tempname.c: Likewise.
65037         * lib/timespec.h: Likewise.
65038         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
65039         needed.
65040         * lib/strftime.c: Likewise.
65041         * lib/timespec.h: Likewise.
65042         * lib/posixtm.c: Include posixtm.h first, for interface check.
65043         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
65044         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
65045         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
65046         * lib/sys_time_.h: New file.
65047         * lib/timespec.h (struct timespec): Use long int, not long.
65048         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
65049         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
65050         Remove obsolescent call to AC_HEADER_TIME.
65051         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
65052         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
65053         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
65054         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
65055         Likewise.
65056         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
65057         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
65058         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
65059         into the sys_time module.  Check for gettimeofday just once.
65060         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
65061         for gettimeofday signature to just check the signature.  Merely
65062         compile it, since linking doesn't test signature.  Improve test for
65063         whether gettimeofday.o is actually needed.
65064         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
65065         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
65066         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
65067         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
65068         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
65069         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
65070         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
65071         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
65072         than worrying about sys/time.h.
65073         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65074         Don't bother worrying about TIME_WITH_SYS_TIME.
65075         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
65076         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
65077         * m4/sys_time_h.m4: New file.
65078         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
65079         Don't include sys/time.h.  Return from main rather than exiting.
65080         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
65081         all uses changed.
65082         * modules/gethrxtime (Depends-on): Add sys_time.
65083         * modules/gettime (Depends-on): Likewise.
65084         * modules/gettimeofday (Depends-on): Likewise.
65085         * modules/nanosleep (Depends-on): Likewise.
65086         * modules/settime (Depends-on): Likewise.
65087         * modules/tempname (Depends-on): Likewise.
65088         * modules/utimens (Depends-on): Likewise.
65089         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
65090         (Include): Change back to <sys/time.h>.
65091         (Maintainer): Add self.
65092         * modules/sys_time: New file.
65093         * modules/tempname (Depends-on): Add gettimeofday.
65094         * tests/test-gettimeofday.c: Include <sys/time.h>
65095         rather than gettimeofday.h.
65096
65097 2007-01-17  Bruno Haible  <bruno@clisp.org>
65098
65099         * gnulib-tool (func_get_license): Revert last patch. Instead, let
65100         the license default to GPL.
65101         (func_create_testdir): Don't complain if a module is LGPL and its
65102         tests module depends on GPLed modules.
65103
65104 2007-01-17  Bruno Haible  <bruno@clisp.org>
65105
65106         * lib/gettimeofday.c (gettimeofday): Add code for the case
65107         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
65108         maximum possible value for tv->tv_usec, rather than the minimum one.
65109
65110 2005-10-08  Martin Lambers  <marlam@marlam.de>
65111 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65112 2007-01-16  Bruno Haible  <bruno@clisp.org>
65113
65114         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
65115         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
65116         gl_FUNC_GETTIMEOFDAY.
65117         (Include): Add gettimeofday.h.
65118         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
65119         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
65120         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
65121         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
65122         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
65123         * lib/gettimeofday.h: New file.
65124         * lib/gettimeofday.c: Include <sys/timeb.h>.
65125         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
65126         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
65127         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
65128         fall back on time().
65129
65130         * tests/test-gettimeofday.c: New file.
65131         * modules/gettimeofday-tests: New file.
65132
65133 2007-01-16  Eric Blake  <ebb9@byu.net>
65134
65135         * modules/fnmatch (Depends-on): Depend on wchar.
65136         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
65137         * m4/fnmatch.m4: Likewise.
65138         * modules/mbchar (Makefile.am): Assume <wchar.h>.
65139         * m4/mbchar.m4: Likewise.
65140         * modules/mbswidth (Depends-on): Depend on wchar.
65141         * lib/mbswidth.c: Assume <wchar.h>.
65142         * m4/mbswidth.m4: Likewise.
65143         * modules/quotearg (Depends-on): Depend on wchar.
65144         * lib/quotearg.c: Assume <wchar.h>.
65145         * m4/quotearg.m4: Likewise.
65146         * modules/regex (Depends-on): Depend on wchar.
65147         * lib/regex_internal.h: Assume <wchar.h>.
65148         * m4/regex.m4: Likewise.
65149         * modules/stdint (Depends-on): Depend on wchar.
65150         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
65151         * m4/stdint.m4: Likewise.
65152         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
65153         * modules/strftime (Depends-on): Depend on wchar.
65154         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
65155         * modules/strtol (Depends-on): Depend on wchar.
65156         * lib/strtol.c: Assume <wchar.h>.
65157         * modules/wcwidth (Depends-on): Depend on wchar.
65158         * lib/wcwidth.h: Assume <wchar.h>.
65159         * m4/wcwidth.m4: Likewise.
65160
65161 2007-01-16  Bruno Haible  <bruno@clisp.org>
65162
65163         * modules/csharpexec-script: New, created from...
65164         * modules/csharpexec: ... this.
65165
65166 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
65167
65168         * modules/javaexec-script: New, created from...
65169         * modules/javaexec: ... this.
65170
65171 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65172
65173         * modules/poll (Dependencies): Add sys_select.
65174
65175 2007-01-15  Jim Meyering  <jim@meyering.net>
65176
65177         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
65178         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
65179         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
65180         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
65181
65182 2007-01-15  Bruno Haible  <bruno@clisp.org>
65183
65184         * modules/striconveh: New file.
65185         * lib/striconveh.h: New file.
65186         * lib/striconveh.c: New file.
65187         * MODULES.html.sh (Internationalization functions): Add striconveh.
65188
65189         * modules/striconveh-tests: New file.
65190         * tests/test-striconveh.c: New file.
65191
65192 2007-01-15  Bruno Haible  <bruno@clisp.org>
65193
65194         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
65195         not from GNU libiconv or GNU libc.
65196
65197 2007-01-15  Bruno Haible  <bruno@clisp.org>
65198
65199         * doc/gnulib-intro.texi (Copyright): Explain the different license
65200         terms for module descriptions, autoconf macros, tests, documentation.
65201
65202 2007-01-14  Bruno Haible  <bruno@clisp.org>
65203
65204         * modules/striconv-tests: New file.
65205         * tests/test-striconv.c: New file.
65206
65207 2007-01-14  Bruno Haible  <bruno@clisp.org>
65208
65209         * modules/iconv-tests: New file.
65210         * tests/test-iconv.c: New file.
65211
65212 2007-01-14  Bruno Haible  <bruno@clisp.org>
65213
65214         * gnulib-tool (func_get_license): For test modules, use the license of
65215         the main module.
65216
65217 2007-01-14  Bruno Haible  <bruno@clisp.org>
65218
65219         * modules/iconv (Include): Clarify that <iconv.h> can only be included
65220         if iconv is found to exist.
65221
65222 2007-01-14  Bruno Haible  <bruno@clisp.org>
65223
65224         * modules/c-ctype-tests: New file.
65225         * tests/test-c-ctype.c: New file.
65226
65227 2007-01-14  Bruno Haible  <bruno@clisp.org>
65228
65229         * modules/binary-io-tests: New file.
65230         * tests/test-binary-io.sh: New file.
65231         * tests/test-binary-io.c: New file.
65232
65233 2007-01-14  Bruno Haible  <bruno@clisp.org>
65234
65235         * modules/array-oset-tests: New file.
65236         * tests/test-array_oset.c: New file.
65237
65238 2007-01-14  Bruno Haible  <bruno@clisp.org>
65239
65240         * modules/array-list-tests: New file.
65241         * tests/test-array_list.c: New file.
65242
65243 2007-01-14  Bruno Haible  <bruno@clisp.org>
65244
65245         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
65246         and make.
65247         Reported by Simon Josefsson in
65248         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
65249
65250 2007-01-14  Bruno Haible  <bruno@clisp.org>
65251
65252         * modules/allocsa-tests: New file.
65253         * tests/test-allocsa.c: New file.
65254
65255 2007-01-14  Bruno Haible  <bruno@clisp.org>
65256
65257         * modules/fchdir (Depends-on): Add absolute-header.
65258         * modules/unistd (Depends-on): Likewise.
65259
65260 2006-12-30  Bruno Haible  <bruno@clisp.org>
65261
65262         * modules/fchdir: New file.
65263         * modules/unistd (Files): Add lib/unistd_.h.
65264         (Makefile.am): Generate unistd.h from unistd_.h.
65265         * lib/fchdir.c: New file.
65266         * lib/dirent_.h: New file.
65267         * lib/unistd_.h: New file.
65268         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
65269         * m4/fchdir.m4: New file.
65270         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
65271         (gl_HEADER_UNISTD): Invoke it.
65272         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
65273         function.
65274         * lib/backupfile.c (opendir, closedir): Undefine.
65275         * lib/chown.c (open, close): Undefine.
65276         * lib/clean-temp.c (open, close): Undefine.
65277         * lib/copy-file.c (open, close): Undefine.
65278         * lib/execute.c (open, close): Undefine.
65279         * lib/fsusage.c (open, close): Undefine.
65280         * lib/gc-gnulib.c (open, close): Undefine.
65281         * lib/getcwd.c (opendir, closedir): Undefine.
65282         * lib/glob.c (opendir, closedir): Undefine.
65283         * lib/javacomp.c (open, close): Undefine.
65284         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
65285         * lib/openat-proc.c (open, close): Undefine.
65286         * lib/pagealign_alloc.c (open, close): Undefine.
65287         * lib/pipe.c (open, close): Undefine.
65288         * lib/progreloc.c (open, close): Undefine.
65289         * lib/savedir.c (opendir, closedir): Undefine.
65290         * lib/utime.c (open, close): Undefine.
65291         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
65292
65293 2007-01-10  Bruno Haible  <bruno@clisp.org>
65294
65295         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
65296
65297 2007-01-12  Eric Blake  <ebb9@byu.net>
65298
65299         Provide a robust <wchar.h>.  Further simplifications are now
65300         possible in other modules, but not included here.
65301         * modules/wchar: New module.
65302         * m4/wchar.m4: New file.
65303         * lib/wchar_.h: Likewise.
65304         * modules/mbchar (Depends-on): Depend on wchar, as the first use
65305         of the new module.
65306         * MODULES.html.sh (Extended multibyte and wide character utilities):
65307         New section.
65308
65309 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
65310
65311         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
65312         to a reasonable default for memory allocation.
65313         (xreadlink): Don't allocate a huge buffer, to work around a buggy
65314         file system that reports garbage st_size values for symlinks.
65315         Problem reported by Liyang Hu.
65316
65317 2007-01-11  Simon Josefsson  <simon@josefsson.org>
65318
65319         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
65320         Emacs .#* auto-save files).
65321
65322 2007-01-11  Bruno Haible  <bruno@clisp.org>
65323
65324         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
65325         directory.
65326
65327 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65328
65329         Use @...@ consistently in lib/wctype_.h.
65330         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
65331         on it being set to 1 or 0.
65332         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
65333         go back to AC_SUBSTing it.
65334         * modules/wctype (Makefile.am): Undo previous change.
65335
65336 2007-01-10  Eric Blake  <ebb9@byu.net>
65337
65338         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
65339         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
65340         * modules/wctype (Makefile.am): Likewise.
65341         Reported by Chris McGuire.
65342
65343 2007-01-10  Jim Meyering  <jim@meyering.net>
65344
65345         fts.c: a small readability/maintainability improvement
65346         * lib/fts.c (fts_read): Make this code slightly more readable and
65347         maintainable by hoisting the "sp->fts_cur = p" assignments to
65348         immediately follow the statements that set P.  Derived from
65349         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
65350
65351 2007-01-10  Eric Blake  <ebb9@byu.net>
65352
65353         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
65354         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
65355         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65356         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
65357         Reported by Chris McGuire.
65358
65359 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65360
65361         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
65362         in sed script.
65363
65364 2007-01-09  Bruno Haible  <bruno@clisp.org>
65365
65366         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
65367         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
65368         variables.
65369         (func_module): Use them.
65370
65371 2007-01-09  Bruno Haible  <bruno@clisp.org>
65372
65373         * modules/unistr/base: New file.
65374         * lib/unistr.h: New file.
65375
65376         * modules/unistr/u8-to-u16: New file.
65377         * lib/unistr/u8-to-u16.c: New file.
65378
65379         * modules/unistr/u8-to-u32: New file.
65380         * lib/unistr/u8-to-u32.c: New file.
65381
65382         * modules/unistr/u16-to-u8: New file.
65383         * lib/unistr/u16-to-u8.c: New file.
65384
65385         * modules/unistr/u16-to-u32: New file.
65386         * lib/unistr/u16-to-u32.c: New file.
65387
65388         * modules/unistr/u32-to-u8: New file.
65389         * lib/unistr/u32-to-u8.c: New file.
65390
65391         * modules/unistr/u32-to-u16: New file.
65392         * lib/unistr/u32-to-u16.c: New file.
65393
65394         * modules/unistr/u8-check: New file.
65395         * modules/unistr/u16-check: New file.
65396         * modules/unistr/u32-check: New file.
65397         * lib/unistr/u8-check.c: New file.
65398         * lib/unistr/u16-check.c: New file.
65399         * lib/unistr/u32-check.c: New file.
65400
65401         * modules/unistr/u8-chr: New file.
65402         * modules/unistr/u16-chr: New file.
65403         * modules/unistr/u32-chr: New file.
65404         * lib/unistr/u8-chr.c: New file.
65405         * lib/unistr/u16-chr.c: New file.
65406         * lib/unistr/u32-chr.c: New file.
65407
65408         * modules/unistr/u8-cmp: New file.
65409         * modules/unistr/u16-cmp: New file.
65410         * modules/unistr/u32-cmp: New file.
65411         * lib/unistr/u8-cmp.c: New file.
65412         * lib/unistr/u16-cmp.c: New file.
65413         * lib/unistr/u32-cmp.c: New file.
65414
65415         * modules/unistr/u8-cpy: New file.
65416         * modules/unistr/u16-cpy: New file.
65417         * modules/unistr/u32-cpy: New file.
65418         * lib/unistr/u8-cpy.c: New file.
65419         * lib/unistr/u16-cpy.c: New file.
65420         * lib/unistr/u32-cpy.c: New file.
65421         * lib/unistr/u-cpy.h: New file.
65422
65423         * modules/unistr/u8-cpy-alloc: New file.
65424         * modules/unistr/u16-cpy-alloc: New file.
65425         * modules/unistr/u32-cpy-alloc: New file.
65426         * lib/unistr/u8-cpy-alloc.c: New file.
65427         * lib/unistr/u16-cpy-alloc.c: New file.
65428         * lib/unistr/u32-cpy-alloc.c: New file.
65429         * lib/unistr/u-cpy-alloc.h: New file.
65430
65431         * modules/unistr/u8-endswith: New file.
65432         * modules/unistr/u16-endswith: New file.
65433         * modules/unistr/u32-endswith: New file.
65434         * lib/unistr/u8-endswith.c: New file.
65435         * lib/unistr/u16-endswith.c: New file.
65436         * lib/unistr/u32-endswith.c: New file.
65437         * lib/unistr/u-endswith.h: New file.
65438
65439         * modules/unistr/u8-mblen: New file.
65440         * modules/unistr/u16-mblen: New file.
65441         * modules/unistr/u32-mblen: New file.
65442         * lib/unistr/u8-mblen.c: New file.
65443         * lib/unistr/u16-mblen.c: New file.
65444         * lib/unistr/u32-mblen.c: New file.
65445
65446         * modules/unistr/u8-mbtouc: New file.
65447         * modules/unistr/u16-mbtouc: New file.
65448         * modules/unistr/u32-mbtouc: New file.
65449         * lib/unistr/u8-mbtouc.c: New file.
65450         * lib/unistr/u16-mbtouc.c: New file.
65451         * lib/unistr/u32-mbtouc.c: New file.
65452
65453         * modules/unistr/u8-mbtouc-safe: New file.
65454         * modules/unistr/u16-mbtouc-safe: New file.
65455         * modules/unistr/u32-mbtouc-safe: New file.
65456         * lib/unistr/u8-mbtouc-safe.c: New file.
65457         * lib/unistr/u16-mbtouc-safe.c: New file.
65458         * lib/unistr/u32-mbtouc-safe.c: New file.
65459
65460         * modules/unistr/u8-move: New file.
65461         * modules/unistr/u16-move: New file.
65462         * modules/unistr/u32-move: New file.
65463         * lib/unistr/u8-move.c: New file.
65464         * lib/unistr/u16-move.c: New file.
65465         * lib/unistr/u32-move.c: New file.
65466         * lib/unistr/u-move.h: New file.
65467
65468         * modules/unistr/u8-next: New file.
65469         * modules/unistr/u16-next: New file.
65470         * modules/unistr/u32-next: New file.
65471         * lib/unistr/u8-next.c: New file.
65472         * lib/unistr/u16-next.c: New file.
65473         * lib/unistr/u32-next.c: New file.
65474
65475         * modules/unistr/u8-prev: New file.
65476         * modules/unistr/u16-prev: New file.
65477         * modules/unistr/u32-prev: New file.
65478         * lib/unistr/u8-prev.c: New file.
65479         * lib/unistr/u16-prev.c: New file.
65480         * lib/unistr/u32-prev.c: New file.
65481
65482         * modules/unistr/u8-set: New file.
65483         * modules/unistr/u16-set: New file.
65484         * modules/unistr/u32-set: New file.
65485         * lib/unistr/u8-set.c: New file.
65486         * lib/unistr/u16-set.c: New file.
65487         * lib/unistr/u32-set.c: New file.
65488         * lib/unistr/u-set.h: New file.
65489
65490         * modules/unistr/u8-startswith: New file.
65491         * modules/unistr/u16-startswith: New file.
65492         * modules/unistr/u32-startswith: New file.
65493         * lib/unistr/u8-startswith.c: New file.
65494         * lib/unistr/u16-startswith.c: New file.
65495         * lib/unistr/u32-startswith.c: New file.
65496         * lib/unistr/u-startswith.h: New file.
65497
65498         * modules/unistr/u8-stpcpy: New file.
65499         * modules/unistr/u16-stpcpy: New file.
65500         * modules/unistr/u32-stpcpy: New file.
65501         * lib/unistr/u8-stpcpy.c: New file.
65502         * lib/unistr/u16-stpcpy.c: New file.
65503         * lib/unistr/u32-stpcpy.c: New file.
65504         * lib/unistr/u-stpcpy.h: New file.
65505
65506         * modules/unistr/u8-stpncpy: New file.
65507         * modules/unistr/u16-stpncpy: New file.
65508         * modules/unistr/u32-stpncpy: New file.
65509         * lib/unistr/u8-stpncpy.c: New file.
65510         * lib/unistr/u16-stpncpy.c: New file.
65511         * lib/unistr/u32-stpncpy.c: New file.
65512         * lib/unistr/u-stpncpy.h: New file.
65513
65514         * modules/unistr/u8-strcat: New file.
65515         * modules/unistr/u16-strcat: New file.
65516         * modules/unistr/u32-strcat: New file.
65517         * lib/unistr/u8-strcat.c: New file.
65518         * lib/unistr/u16-strcat.c: New file.
65519         * lib/unistr/u32-strcat.c: New file.
65520         * lib/unistr/u-strcat.h: New file.
65521
65522         * modules/unistr/u8-strchr: New file.
65523         * modules/unistr/u16-strchr: New file.
65524         * modules/unistr/u32-strchr: New file.
65525         * lib/unistr/u8-strchr.c: New file.
65526         * lib/unistr/u16-strchr.c: New file.
65527         * lib/unistr/u32-strchr.c: New file.
65528
65529         * modules/unistr/u8-strcmp: New file.
65530         * modules/unistr/u16-strcmp: New file.
65531         * modules/unistr/u32-strcmp: New file.
65532         * lib/unistr/u8-strcmp.c: New file.
65533         * lib/unistr/u16-strcmp.c: New file.
65534         * lib/unistr/u32-strcmp.c: New file.
65535
65536         * modules/unistr/u8-strcpy: New file.
65537         * modules/unistr/u16-strcpy: New file.
65538         * modules/unistr/u32-strcpy: New file.
65539         * lib/unistr/u8-strcpy.c: New file.
65540         * lib/unistr/u16-strcpy.c: New file.
65541         * lib/unistr/u32-strcpy.c: New file.
65542         * lib/unistr/u-strcpy.h: New file.
65543
65544         * modules/unistr/u8-strcspn: New file.
65545         * modules/unistr/u16-strcspn: New file.
65546         * modules/unistr/u32-strcspn: New file.
65547         * lib/unistr/u8-strcspn.c: New file.
65548         * lib/unistr/u16-strcspn.c: New file.
65549         * lib/unistr/u32-strcspn.c: New file.
65550         * lib/unistr/u-strcspn.h: New file.
65551
65552         * modules/unistr/u8-strdup: New file.
65553         * modules/unistr/u16-strdup: New file.
65554         * modules/unistr/u32-strdup: New file.
65555         * lib/unistr/u8-strdup.c: New file.
65556         * lib/unistr/u16-strdup.c: New file.
65557         * lib/unistr/u32-strdup.c: New file.
65558         * lib/unistr/u-strdup.h: New file.
65559
65560         * modules/unistr/u8-strlen: New file.
65561         * modules/unistr/u16-strlen: New file.
65562         * modules/unistr/u32-strlen: New file.
65563         * lib/unistr/u8-strlen.c: New file.
65564         * lib/unistr/u16-strlen.c: New file.
65565         * lib/unistr/u32-strlen.c: New file.
65566         * lib/unistr/u-strlen.h: New file.
65567
65568         * modules/unistr/u8-strmblen: New file.
65569         * modules/unistr/u16-strmblen: New file.
65570         * modules/unistr/u32-strmblen: New file.
65571         * lib/unistr/u8-strmblen.c: New file.
65572         * lib/unistr/u16-strmblen.c: New file.
65573         * lib/unistr/u32-strmblen.c: New file.
65574
65575         * modules/unistr/u8-strmbtouc: New file.
65576         * modules/unistr/u16-strmbtouc: New file.
65577         * modules/unistr/u32-strmbtouc: New file.
65578         * lib/unistr/u8-strmbtouc.c: New file.
65579         * lib/unistr/u16-strmbtouc.c: New file.
65580         * lib/unistr/u32-strmbtouc.c: New file.
65581
65582         * modules/unistr/u8-strncat: New file.
65583         * modules/unistr/u16-strncat: New file.
65584         * modules/unistr/u32-strncat: New file.
65585         * lib/unistr/u8-strncat.c: New file.
65586         * lib/unistr/u16-strncat.c: New file.
65587         * lib/unistr/u32-strncat.c: New file.
65588         * lib/unistr/u-strncat.h: New file.
65589
65590         * modules/unistr/u8-strncmp: New file.
65591         * modules/unistr/u16-strncmp: New file.
65592         * modules/unistr/u32-strncmp: New file.
65593         * lib/unistr/u8-strncmp.c: New file.
65594         * lib/unistr/u16-strncmp.c: New file.
65595         * lib/unistr/u32-strncmp.c: New file.
65596
65597         * modules/unistr/u8-strncpy: New file.
65598         * modules/unistr/u16-strncpy: New file.
65599         * modules/unistr/u32-strncpy: New file.
65600         * lib/unistr/u8-strncpy.c: New file.
65601         * lib/unistr/u16-strncpy.c: New file.
65602         * lib/unistr/u32-strncpy.c: New file.
65603         * lib/unistr/u-strncpy.h: New file.
65604
65605         * modules/unistr/u8-strnlen: New file.
65606         * modules/unistr/u16-strnlen: New file.
65607         * modules/unistr/u32-strnlen: New file.
65608         * lib/unistr/u8-strnlen.c: New file.
65609         * lib/unistr/u16-strnlen.c: New file.
65610         * lib/unistr/u32-strnlen.c: New file.
65611         * lib/unistr/u-strnlen.h: New file.
65612
65613         * modules/unistr/u8-strpbrk: New file.
65614         * modules/unistr/u16-strpbrk: New file.
65615         * modules/unistr/u32-strpbrk: New file.
65616         * lib/unistr/u8-strpbrk.c: New file.
65617         * lib/unistr/u16-strpbrk.c: New file.
65618         * lib/unistr/u32-strpbrk.c: New file.
65619         * lib/unistr/u-strpbrk.h: New file.
65620
65621         * modules/unistr/u8-strrchr: New file.
65622         * modules/unistr/u16-strrchr: New file.
65623         * modules/unistr/u32-strrchr: New file.
65624         * lib/unistr/u8-strrchr.c: New file.
65625         * lib/unistr/u16-strrchr.c: New file.
65626         * lib/unistr/u32-strrchr.c: New file.
65627
65628         * modules/unistr/u8-strspn: New file.
65629         * modules/unistr/u16-strspn: New file.
65630         * modules/unistr/u32-strspn: New file.
65631         * lib/unistr/u8-strspn.c: New file.
65632         * lib/unistr/u16-strspn.c: New file.
65633         * lib/unistr/u32-strspn.c: New file.
65634         * lib/unistr/u-strspn.h: New file.
65635
65636         * modules/unistr/u8-strstr: New file.
65637         * modules/unistr/u16-strstr: New file.
65638         * modules/unistr/u32-strstr: New file.
65639         * lib/unistr/u8-strstr.c: New file.
65640         * lib/unistr/u16-strstr.c: New file.
65641         * lib/unistr/u32-strstr.c: New file.
65642         * lib/unistr/u-strstr.h: New file.
65643
65644         * modules/unistr/u8-strtok: New file.
65645         * modules/unistr/u16-strtok: New file.
65646         * modules/unistr/u32-strtok: New file.
65647         * lib/unistr/u8-strtok.c: New file.
65648         * lib/unistr/u16-strtok.c: New file.
65649         * lib/unistr/u32-strtok.c: New file.
65650         * lib/unistr/u-strtok.h: New file.
65651
65652         * modules/unistr/u8-uctomb: New file.
65653         * modules/unistr/u16-uctomb: New file.
65654         * modules/unistr/u32-uctomb: New file.
65655         * lib/unistr/u8-uctomb.c: New file.
65656         * lib/unistr/u16-uctomb.c: New file.
65657         * lib/unistr/u32-uctomb.c: New file.
65658
65659         * MODULES.html.sh (Unicode string functions): Add the new modules.
65660
65661 2007-01-08  Bruno Haible  <bruno@clisp.org>
65662
65663         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
65664         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
65665         subdirectories.
65666
65667 2007-01-08  Karl Berry  <karl@gnu.org>
65668
65669         * doc/error.texi: mention that main() fns must set program_name
65670         when progname is used.
65671
65672 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
65673
65674         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
65675         WCTYPE_H is empty, for the benefit of builds from non-distclean
65676         directories.  Problem reported by Eric Blake in
65677         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
65678
65679 2007-01-08  Bruno Haible  <bruno@clisp.org>
65680
65681         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
65682         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
65683         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
65684         PROVIDE_CANONICALIZE_FILENAME_MODE.
65685         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
65686
65687 2007-01-08  Bruno Haible  <bruno@clisp.org>
65688
65689         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
65690         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
65691         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
65692         * lib/fts.c: Likewise.
65693         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
65694
65695 2006-12-25  Bruno Haible  <bruno@clisp.org>
65696
65697         * modules/utf8-ucs4-safe: New file.
65698         * lib/utf8-ucs4-safe.h: New file.
65699         * lib/unistr/utf8-ucs4-safe.c: New file.
65700
65701         * modules/utf16-ucs4-safe: New file.
65702         * lib/utf16-ucs4-safe.h: New file.
65703         * lib/unistr/utf16-ucs4-safe.c: New file.
65704
65705         * MODULES.html.sh (Unicode string functions): Add the new modules.
65706
65707 2007-01-08  Bruno Haible  <bruno@clisp.org>
65708
65709         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
65710         (Depends-on): Add unitypes.
65711         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
65712         (u8_mbtouc_aux): Move out to separate file.
65713         (u8_mbtouc): Use ucs4_t, uint8_t types.
65714         * lib/unistr/utf8-ucs4.c: New file.
65715
65716         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
65717         (Depends-on): Add unitypes.
65718         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
65719         (u16_mbtouc_aux): Move out to separate file.
65720         (u16_mbtouc): Use ucs4_t, uint16_t types.
65721         * lib/unistr/utf16-ucs4.c: New file.
65722
65723         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
65724         (Depends-on): Add unitypes.
65725         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
65726         (u8_uctomb_aux): Move out to separate file.
65727         (u8_uctomb): Use ucs4_t, uint8_t types.
65728         * lib/unistr/ucs4-utf8.c: New file.
65729
65730         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
65731         (Depends-on): Add unitypes.
65732         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
65733         (u16_uctomb_aux): Move out to separate file.
65734         (u16_uctomb): Use ucs4_t, uint16_t types.
65735         * lib/unistr/ucs4-utf16.c: New file.
65736
65737 2006-12-25  Bruno Haible  <bruno@clisp.org>
65738
65739         * modules/unitypes: New file.
65740         * lib/unitypes.h: New file.
65741         * MODULES.html.sh (func_all_modules): New section "Unicode string
65742         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
65743         this section. Add unitypes.
65744
65745 2007-01-08  Bruno Haible  <bruno@clisp.org>
65746
65747         Avoid variable names that conflict with those from libtool.
65748         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
65749         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
65750         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
65751         library_names_spec to acl_library_names_spec, hardcode_* to
65752         acl_hardcode_*.
65753         Reported by Ralf Wildenhues.
65754
65755 2007-01-08  Bruno Haible  <bruno@clisp.org>
65756
65757         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
65758         definition.
65759         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
65760         definition.
65761         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
65762         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
65763         definition.
65764         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
65765         definition.
65766         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
65767         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
65768         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
65769         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
65770         definition.
65771         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
65772         definition.
65773         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
65774         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
65775         GC_USE_<algorithm>.
65776         * lib/gc-libgcrypt.c: Likewise.
65777         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
65778         * modules/gc-arctwo (configure.ac): Likewise.
65779         * modules/gc-des (configure.ac): Likewise.
65780         * modules/gc-hmac-md5 (configure.ac): Likewise.
65781         * modules/gc-hmac-sha1 (configure.ac): Likewise.
65782         * modules/gc-md2 (configure.ac): Likewise.
65783         * modules/gc-md4 (configure.ac): Likewise.
65784         * modules/gc-md5 (configure.ac): Likewise.
65785         * modules/gc-random (configure.ac): Likewise.
65786         * modules/gc-rijndael (configure.ac): Likewise.
65787         * modules/gc-sha1 (configure.ac): Likewise.
65788
65789 2007-01-08  Bruno Haible  <bruno@clisp.org>
65790
65791         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
65792         macro definition.
65793         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
65794         definition.
65795         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
65796         definition.
65797         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
65798         * modules/fcntl-safer (configure.ac): Likewise.
65799         * modules/fopen-safer (configure.ac): Likewise.
65800         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
65801         GNULIB_FWRITEERROR macro definition.
65802
65803 2007-01-08  Bruno Haible  <bruno@clisp.org>
65804
65805         * m4/gnulib-common.m4: New file.
65806         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
65807         (func_get_filelist): Add m4/gnulib-common.m4.
65808
65809 2007-01-08  Bruno Haible  <bruno@clisp.org>
65810
65811         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
65812         command.
65813
65814 2007-01-08  Jim Meyering  <jim@meyering.net>
65815
65816         Use a more robust test for a "can't happen" condition.
65817         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
65818         narrowed the st_size value.  Presuming the "can't happen" condition
65819         is true, that narrowing could conceivably convert an invalid st_size
65820         value into a valid one.  Instead, use a change based on Matthew
65821         Woehlke's original patch.
65822
65823         Slight readability improvement: use an assert-like macro
65824         in place of literal "abort ()" uses.
65825         * lib/fts.c (fts_assert): Define.
65826         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
65827         Use this macro instead of a bare 'abort'.
65828
65829 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
65830
65831         Don't worry about using IRIX 5.3's wctype.h broken definitions;
65832         simply work around them.
65833         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
65834         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
65835         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
65836         declaring.
65837         Don't bother to define as macros, since the standard doesn't require it.
65838         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
65839         longer worry about IRIX 5.3.
65840         (HAVE_WCTYPE_CTMP_BUG): Remove.
65841
65842 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65843
65844         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
65845         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
65846         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65847         Problems reported by Georg Schwarz for IRIX 5.3.
65848
65849         * gnulib-tool (autoconf_minversion): Take the maximum version number
65850         found, not the minimum.  Problem reported by James Youngman.
65851
65852 2007-01-03  Karl Berry  <karl@gnu.org>
65853
65854         * doc/error.texi: new file, explaining interaction with progname.
65855         * doc/gnulib.texi: include it.  Update copyright.
65856
65857 2007-01-03  Simon Josefsson  <simon@josefsson.org>
65858
65859         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
65860         AC_CANONICAL_HOST, to improve autobuild outputs.
65861
65862 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
65863             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
65864
65865         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
65866         sockets, server sockets, and other file descriptors.  Count errors
65867         to compute the return value.  Reorder the code a bit to be easier
65868         to follow.  Don't set event bits that were not requested (except
65869         POLLERR and POLLHUP).
65870
65871 2007-01-01  Bruno Haible  <bruno@clisp.org>
65872
65873         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
65874
65875 2007-01-03  Jim Meyering  <jim@meyering.net>
65876
65877         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
65878
65879 2007-01-02  Bruno Haible  <bruno@clisp.org>
65880
65881         * modules/settime (Include): Require timespec.h.
65882         * modules/nanosleep (Include): Likewise.
65883
65884 2007-01-01  Bruno Haible  <bruno@clisp.org>
65885
65886         * gnulib-tool (func_emit_copyright_notice): Bump year.
65887         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
65888
65889 2007-01-01  Bruno Haible  <bruno@clisp.org>
65890
65891         Improve support for OpenBSD.
65892         * build-aux/config.rpath (libname_spec): Export.
65893         (library_names_spec): New variable. Export.
65894         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
65895         library_names_spec from the config.rpath output. Locate shared library
65896         through the name pattern in library_names_spec.
65897
65898 2007-01-01  Eric Blake  <ebb9@byu.net>
65899
65900         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
65901
65902 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
65903
65904         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
65905         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
65906         assume the C locale, and avoid an "eval" that could cause trouble.
65907         Problem with SORT reported by Bob Proulx.
65908
65909         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
65910         Define.  Trivial patch from Henning Nielsen Lund, originally
65911         sent to bug-grep@gnu.org today.
65912
65913 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
65914
65915         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
65916         struct stat.  Problem reported by Henning Nielsen Lund.
65917         * lib/acl.c: Include acl.h first, to check interface.  Don't
65918         bother to include sys/types.h and sys/stat.h again.
65919
65920 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
65921
65922         Import the following change from libc; problem reported by
65923         Sven Verdoolaege.
65924
65925         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
65926
65927         [BZ #1373]
65928         * lib/argp.h: Remove __NTH for __argp_usage inline function.
65929
65930 2006-12-28  Jim Meyering  <jim@meyering.net>
65931
65932         * build-aux/announce-gen: Do not assume that the package
65933         builds any of tar.gz, tar.bz2, and .xdelta files.
65934         Suggestion from Simon Josefsson.
65935
65936 2006-12-28  Simon Josefsson  <simon@josefsson.org>
65937
65938         * modules/announce-gen: New file.
65939
65940 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
65941
65942         * lib/mbchar.h: Just include <wctype.h>; the wctype module
65943         handles its gotchas now.
65944         * lib/mbswidth.c: Likewise.
65945         * lib/wcwidth.h: Likewise.
65946         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
65947         and iswcntrl; the wctype module does this stuff now.
65948         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65949         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65950         * modules/mbchar (Depends-on): Add wctype.
65951         * modules/mbswidth (Depends-on): Likewise.
65952         * modules/wcwidth (Depends-on): Likewise.
65953
65954 2006-12-27  Eric Blake  <ebb9@byu.net>
65955
65956         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
65957         module uses more than what <wctype.h> is required to provide.
65958
65959 2006-12-26  Eric Blake  <ebb9@byu.net>
65960
65961         * gnulib-tool (sed_extract_prog): Avoid space-tab.
65962
65963 2006-12-26  Eric Blake  <ebb9@byu.net>
65964
65965         * modules/absolute-header: New module.
65966         * modules/fcntl (Depends-on): Depend on it.
65967         * modules/inttypes (Depends-on): Likewise.
65968         * modules/stdint (Depends-on): Likewise.
65969         * modules/sys_stat (Depends-on): Likewise.
65970         * modules/wctype (Depends-on): Likewise.
65971         * MODULES.html.sh (Support for building libraries and
65972         executables): Document it.
65973
65974 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
65975
65976         * gnulib-tool (SED): Remove, undoing previous change.
65977         The problem was that it broke coreutils on Solaris, because
65978         "sed --posix" leaked into a makefile.
65979         (sed): New alias, if 'alias' and GNU sed.
65980
65981 2006-12-24  Jim Meyering  <jim@meyering.net>
65982
65983         Work around an fchownat bug in glibc-2.4:
65984         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
65985         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
65986         in spite of the -P option.
65987         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
65988         New macros.
65989         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
65990         * modules/openat (Files): Add lib/fchownat.c.
65991         * lib/openat.c (fchownat): Don't define here.  Move to...
65992         * lib/fchownat.c: ...this new file.
65993
65994 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65995
65996         Fix bug reported by Bruno Haible in
65997         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
65998         where quotearg.c didn't compile on Mac OS X 10.2 because it
65999         lacks <wchar.h> and wint_t.
66000         * lib/wctype_.h (__wctype_wint_t): New type.
66001         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
66002         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
66003         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
66004         Arg is now of type __wctype_wint_t, not wint_t.
66005         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
66006         substitute HAVE_WINT_T.
66007         * modules/wctype (Files): Add m4/wint_t.m4.
66008         (wctype.h): Substitute HAVE_WINT_T.
66009
66010 2006-12-23  Bruno Haible  <bruno@clisp.org>
66011
66012         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
66013
66014 2006-12-23  Bruno Haible  <bruno@clisp.org>
66015
66016         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
66017         S_ISLNK.
66018         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
66019         mingw.
66020
66021 2006-12-22  Bruno Haible  <bruno@clisp.org>
66022
66023         * lib/copy-file.c: Include acl.h.
66024         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
66025         Close the file descriptors only after being done with copy_acl.
66026         * modules/copy-file (Depends-on): Add acl.
66027
66028 2006-12-22  Bruno Haible  <bruno@clisp.org>
66029
66030         * gnulib-tool (SED): New variable.
66031         Use $SED instead of sed everywhere.
66032
66033 2006-12-22  Bruno Haible  <bruno@clisp.org>
66034
66035         * modules/no-c++: New file.
66036         * m4/no-c++.m4: New file.
66037         * MODULES.html.sh (Support for building libraries and executables):
66038         Add no-c++.
66039
66040 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
66041
66042         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
66043         Include <limits.h>, and use its INT_MAX to rewrite the
66044         j loop so that it does not overflow 'int'.  Problem reported by
66045         Ralf Wildenhues in
66046         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
66047         Play it safe by shifting left by 1 rather than multiplying by 2,
66048         as GCC is less likely to optimize this away when the value
66049         is signed (when it assumes overflow leads to undefined behavior).
66050         Also, don't assume time_t uses two's complement.
66051
66052 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
66053
66054         * MODULES.html.sh: New module wctype.
66055         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
66056         * lib/fnmatch.c: Don't bother to include <wchar.h> before
66057         <wctype.h>, since the new wctype module should fix this.
66058         * lib/quotearg.c: Include <wctype.h> unconditionally, since
66059         the wctype module should arrange for it.
66060         * lib/regex_internal.h: Likewise.
66061         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
66062         since the wctype module should handle this now.
66063         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
66064         * modules/fnmatch (Depends-on): Add wctype.
66065         * modules/quotearg (Depends-on): Likewise.
66066         * modules/regex (Depends-on): Likewise.
66067
66068 2006-12-19  Bruno Haible  <bruno@clisp.org>
66069
66070         * lib/strdup.h [C++]: Wrap definitions in extern "C".
66071         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
66072
66073 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66074
66075         * modules/savewd (Depends-on): Fix dependency on fcntl.
66076
66077 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
66078
66079         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
66080         conforms to C99, rather than relying on the user's environment
66081         setting of STDINT_H.
66082
66083 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
66084         and Eric Blake  <ebb9@byu.net>
66085
66086         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
66087         This is more consistent with the other defines here.
66088         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
66089         Port to z/OS.  Problem reported by Paul Gilmartin.
66090         Change local vars to use gl_ prefix rather than ac_.
66091         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
66092         with other defines.
66093         * modules/double-slash-root: New module.
66094         * modules/dirname (Files): Remove m4/double-slash-root.m4.
66095         (Depends-on): Add double-slash-root.
66096         * MODULES.html.sh (File system functions): Mention new module.
66097
66098 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
66099
66100         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
66101         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
66102         This is for the benefit of gzip, which doesn't do i18n.
66103
66104 2006-12-12  Jim Meyering  <jim@meyering.net>
66105
66106         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
66107         Reported by Andreas Schwab <schwab@suse.de>.
66108
66109 2006-12-12  Bruno Haible  <bruno@clisp.org>
66110
66111         Merge these changes.
66112         2006-09-05  Bruno Haible  <bruno@clisp.org>
66113         * lib/iconvme.c (iconv_string): No need to save and restore errno when
66114         iconv_alloc succeeded.
66115         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
66116         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
66117         test for " && dest " at the end - dest is always != NULL there. Call
66118         iconv with 4xNULL arguments initially, to reset the state. Call iconv
66119         with 2xNULL arguments, also to flush the state storage. Handle the
66120         IRIX iconv behaviour. Realloc the final result, to throw away unused
66121         memory.
66122
66123 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
66124
66125         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
66126         and fchmodat unconditionally, since glibc 2.4 has them.
66127         Problem reported by Arkadiusz Miskiewicz.
66128
66129 2006-12-10  Bruno Haible  <bruno@clisp.org>
66130
66131         * gnulib-tool (func_import): Show the include files only for those
66132         modules that are copied and specified.
66133         Reported by Karl Berry.
66134
66135 2006-12-08  Jim Meyering  <jim@meyering.net>
66136
66137         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
66138         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
66139
66140         * build-aux/announce-gen: Add two new options, both optional:
66141         --bootstrap-tools=TOOL_LIST
66142               a comma-separated list of tools, e.g.,
66143               autoconf,automake,bison,gnulib
66144         --gnulib-snapshot-date=DATE
66145               if gnulib is in the bootstrap tool list,
66146               then report this as the snapshot date.
66147               If not specified, use the current date/time.
66148               If you specify a date here, be sure it's UTC.
66149
66150 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66151
66152         * tests/test-argp-2.sh: Fix test to match actual output.
66153         (func_compare): Fix sed script to be portable.
66154
66155 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
66156
66157         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
66158         workaround for this case.  It is not autoconfigured now; offhand
66159         it's hard to see how to autoconfigure it.
66160
66161 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
66162
66163         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
66164         a directory that is about to be chowned.  Such a directory's
66165         initial file permissions should permit the owner only and this
66166         should not be changed until after the chown, since the group and
66167         other bits would be incorrect if they granted permission before
66168         the chown.
66169
66170         Fix porting problem for iswctype reported by Georg Schwarz in:
66171         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
66172         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
66173         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
66174         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
66175         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66176
66177 2006-12-03  Jim Meyering  <jim@meyering.net>
66178
66179         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
66180         p->fts_statp may not yet be defined.
66181         (fts_read): Instead, set it in the caller, once p->fts_statp is
66182         sure to be defined, and corresponds to a top-level directory.
66183         This bug made du -x fail.  Here's the coreutils test case:
66184         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
66185         Reported by Mike Frysinger.
66186
66187 2006-12-01  Jim Meyering  <jim@meyering.net>
66188
66189         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
66190         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
66191         Reported by Simon Josefsson.
66192
66193 2006-11-30  Jim Meyering  <jim@meyering.net>
66194
66195         * m4/warning.m4: Use the all-permissive copyright notice
66196         recommended by RMS (rather than LGPL).
66197         * m4/vararrays.m4: Likewise.
66198         * m4/flexmember.m4: Likewise.
66199
66200 2006-11-29  Bruno Haible  <bruno@clisp.org>
66201
66202         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
66203         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
66204         using +=.
66205         Reported by Simon Josefsson <simon@josefsson.org>.
66206
66207 2006-11-28  James Youngman <jay@gnu.org>
66208
66209         * README: Advise users that they might find the bug-gnulib@gnu.org
66210         and autotools-announce@gnu.org mailing lists useful.
66211
66212 2006-11-28  Bruno Haible  <bruno@clisp.org>
66213
66214         * m4/ptrdiff_max.m4: Remove file.
66215
66216 2006-11-21  Bruno Haible  <bruno@clisp.org>
66217
66218         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
66219         _AC_COMPUTE_INT.
66220         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
66221         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
66222         _AC_COMPUTE_INT.
66223         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
66224         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
66225         _AC_COMPUTE_INT.
66226         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
66227
66228 2006-11-28  Jim Meyering  <jim@meyering.net>
66229
66230         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
66231         warning from "gcc -Wshadow" about shadowing the builtin.
66232
66233 2006-11-27  Bruno Haible  <bruno@clisp.org>
66234
66235         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
66236         _AC_COMPUTE_INT.
66237         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
66238
66239 2006-11-27  Bruno Haible  <bruno@clisp.org>
66240             Paul Eggert  <eggert@cs.ucla.edu>
66241
66242         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
66243
66244 2006-11-26  Bruno Haible  <bruno@clisp.org>
66245
66246         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
66247         noinst_LTLIBRARIES.
66248
66249 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
66250             Bruno Haible  <bruno@clisp.org>
66251
66252         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
66253         if compiling with "gcc -ansi".
66254
66255 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
66256
66257         Fix some incompatibilities with gcc -ansi -pedantic.
66258         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
66259         if compiling pedantically with GCC, unless it's C99 or later.
66260         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
66261         it mishandles gcc -ansi -pedantic as well.
66262         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
66263         if gcc -pedantic.
66264         * lib/regexec.c (check_node_accept_bytes): Don't use auto
66265         initializers for struct if -pedantic, unless it's C99 or later.
66266
66267 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
66268
66269         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
66270         Don't close an fd more than once. Identical atimes indicate
66271         success, not failure.
66272
66273 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
66274
66275         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
66276
66277 2006-11-23  Jim Meyering  <jim@meyering.net>
66278
66279         * build-aux/announce-gen: New file.  From coreutils.
66280
66281 2006-11-22  Jim Meyering  <jim@meyering.net>
66282
66283         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
66284         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
66285         (fts_read): Use a temporary to narrow the overused st_size member
66286         before using it in a switch statement.  Reported by Matthew Woehlke.
66287
66288         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
66289         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
66290
66291 2006-11-20  Bruno Haible  <bruno@clisp.org>
66292
66293         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
66294         changequote instead of pairs of brackets.
66295         Reported by Andreas Schwab <schwab@suse.de>.
66296
66297 2006-11-21  Jim Meyering  <jim@meyering.net>
66298
66299         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
66300         so as to remain compatible with older compilers.
66301         Patch from Michael Deutschmann.
66302
66303 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66304
66305         * MODULES.html.sh (File system functions): Add openat.
66306
66307         * lib/openat.h (rpl_fstatat): New macro, if
66308         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
66309         (fstatat): Define to rpl_fstatat under the same conditions,
66310         unless COMPILING_FSTATAT.
66311         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
66312         seems to have the bug.
66313         * lib/fstatat.c: New file.
66314         * modules/openat (Files): Add it.
66315
66316 2006-11-20  Bruno Haible  <bruno@clisp.org>
66317
66318         * Makefile: New file.
66319
66320 2006-11-20  Jim Meyering  <jim@meyering.net>
66321
66322         The beginnings of syntax-related checks for gnulib.
66323         * lib/Makefile: New file.
66324         * lib/t-idcache: New script.  Ensure that the two halves of
66325         idcache.c stay in sync.
66326
66327         * lib/idcache.c: Adjust comments in user- and group- portions to
66328         be more accurate, and to be consistent with one another.
66329
66330 2006-11-20  Jim Meyering  <jim@meyering.net>
66331
66332         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
66333         continue using the flexible array member (thus, this module performs
66334         half as many malloc calls), with the addition that...
66335         (getgroup, getuser): Consistently record a non-match via an empty
66336         "name" string, and map an empty string match to a NULL return value.
66337         * modules/idcache (Depends-on): Re-add flexmember.
66338
66339         * lib/idcache.c (getuser): Remove all uses of the register keyword.
66340         (getuidbyname, getgroup, getgidbyname): Likewise.
66341
66342         Use cleaner syntax: NULL rather than 0.
66343         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
66344
66345 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66346
66347         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
66348         It mishandled the case where the group was missing.
66349         Problem reported by Greg Schafer.
66350         * modules/idcache: Likewise.
66351
66352 2006-11-18  Jim Meyering  <jim@meyering.net>
66353
66354         * check-module (%exempt_header): Add exception for some
66355         conditionally-included headers.
66356
66357         * modules/i-ring (Depends-on): Add verify.
66358         (License): Change to LGPL.
66359
66360 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66361
66362         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
66363         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
66364         and inttostr.h.  Use snprintf rather than uinttostr, so that
66365         LGPLed code doesn't depend on GPLed.
66366
66367 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66368
66369         * modules/inline (License): Change from GPL to LGPL.
66370
66371 2006-11-17  Jim Meyering  <jim@meyering.net>
66372
66373         * modules/d-type (License): Switch to LGPL.
66374
66375 2006-11-15  Bruno Haible  <bruno@clisp.org>
66376
66377         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
66378
66379 2006-11-15  Eric Blake  <ebb9@byu.net>
66380
66381         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
66382         the module dependency.
66383
66384 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66385             Bruno Haible  <bruno@clisp.org>
66386
66387         * gnulib-tool (func_create_testdir): Add license consistency check.
66388
66389 2006-11-15  Eric Blake  <ebb9@byu.net>
66390
66391         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
66392         random "(cached)" in configure output.
66393
66394 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66395
66396         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
66397         test for conforming inttypes.h is both announced and cached.
66398
66399         * MODULES.html.sh (seen_modules, seen_files): New variables.
66400         (func_module): Rewrite to use a few less gnulib-tool and sed
66401         invocations.  Avoid a couple of quadratic algorithms for ...
66402         (missed_modules, missed_files): ... these, with ...
66403         (func_append, func_tmpdir): ... these new functions, from
66404         gnulib-tool.  Analogously, install traps for cleanup.
66405
66406         * tests/test-gc.c (main): Remove unused variables.
66407         * tests/test-read-file.c: Include stdlib.h, for 'free'.
66408
66409 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
66410
66411         * modules/inttostr (License): Change to LGPL.
66412
66413 2006-11-14  Eric Blake  <ebb9@byu.net>
66414
66415         * modules/tempname (License): Change to LGPL.
66416
66417 2006-11-14  Eric Blake  <ebb9@byu.net>
66418
66419         * doc/functions.texi (Function Portability): *printf functions on
66420         Cygwin now understand all POSIX size specifiers.
66421
66422 2006-11-14  Bruno Haible  <bruno@clisp.org>
66423
66424         * modules/c-ctype (License): Change to LGPL.
66425
66426 2006-11-12  Bruno Haible  <bruno@clisp.org>
66427
66428         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
66429         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
66430         for GNOME libraries, for which the include files are installed in
66431         subdirectories of $prefix/include.
66432
66433 2006-11-12  Bruno Haible  <bruno@clisp.org>
66434
66435         * m4/lib-link.m4: Require at least autoconf-2.54.
66436         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
66437         name to underscores for the --with option.
66438
66439 2006-11-13  Bruno Haible  <bruno@clisp.org>
66440
66441         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
66442         the tests directory.
66443         Reported by Ralf Wildenhues.
66444
66445 2006-11-13  Bruno Haible  <bruno@clisp.org>
66446
66447         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
66448         (func_emit_initmacro_end): Undo the override here.
66449         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
66450         Works around the famous automake error in coreutils.
66451
66452 2006-11-13  Eric Blake  <ebb9@byu.net>
66453
66454         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
66455         element, not its node.
66456
66457 2006-11-12  Bruno Haible  <bruno@clisp.org>
66458
66459         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
66460         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
66461
66462 2006-11-12  Bruno Haible  <bruno@clisp.org>
66463
66464         * gnulib-tool: New option --local-symlink.
66465         (func_usage): Document it.
66466         (lsymbolic): New variable.
66467         (func_import, func_create_testdir): If --symlink was not specified,
66468         test whether --local-symlink was specified and the file comes from
66469         the local_gnulib_dir.
66470
66471 2006-11-12  Bruno Haible  <bruno@clisp.org>
66472
66473         * gnulib-tool (func_ln): New function.
66474         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
66475
66476 2006-11-12  Bruno Haible  <bruno@clisp.org>
66477
66478         Finish support for source files in subdirectories.
66479         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
66480         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
66481         AUTOMAKE_OPTIONS.
66482         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
66483
66484 2006-11-12  Bruno Haible  <bruno@clisp.org>
66485
66486         * gnulib-tool (func_get_automake_snippet): Synthesize also an
66487         EXTRA_lib_SOURCES augmentation.
66488         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
66489
66490 2006-11-12  Jim Meyering  <jim@meyering.net>
66491
66492         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
66493         file descriptors.  This also averts a failure on systems with
66494         native openat support when a traversed directory lacks "x" access.
66495         * lib/fts_.h: Include "i-ring.h"
66496         (struct FTS) [fts_fd_ring]: New member.
66497         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
66498         (FCHDIR): Add parentheses.
66499         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
66500         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
66501         When descending, rather than simply closing the previous
66502         fts_cwd_fd value, push that file descriptor onto the ring.
66503         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
66504         (fts_open): Initialize the new fd_ring member.
66505         (fts_close): Clear the ring.
66506         (fts_safe_changedir): When possible, use our new fd_ring to skip
66507         the diropen and fstat and dev/ino comparison that would normally
66508         accompany a virtual `chdir ("..")'.
66509
66510         * modules/fts (Depends-on): Add i-ring.
66511         * modules/i-ring: New module.
66512         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
66513         * m4/i-ring.m4: New file.
66514
66515 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66516
66517         * gnulib-tool (func_create_testdir): Fix replacement of
66518         `build-aux' in configure.ac.  Run autotools in gltests
66519         subdirectory.
66520         (func_create_testdir, func_create_megatestdir, test): There is
66521         no need for '--force' in most autotool invocations in a new
66522         tree.  Actually fail the whole test if any of the tools, or the
66523         configure or make stages fail.
66524
66525         Sync from Automake.
66526         * build-aux/gnupload: Revert last change.  Add pointer to upload
66527         instructions of the GNU Maintenance Instructions.
66528         Suggestion by Karl Berry.
66529
66530 2006-11-10  Jim Meyering  <jim@meyering.net>
66531
66532         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
66533
66534 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66535
66536         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
66537         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
66538         (bind_textdomain_codeset) [! ENABLE_NLS]:
66539         Evaluate all the arguments.  That way, callers get compatible behavior
66540         if the arguments have side effects.  Also, it avoids some GCC
66541         diagnostics in some cases; Joel E. Denny reported problems when Bison
66542         was configured with --enable-gcc-warnigs.
66543
66544 2006-11-10  Jim Meyering  <jim@meyering.net>
66545
66546         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
66547         relevant options in CFLAGS (like -O, -fno-inline) are taken into
66548         account.
66549
66550 2006-11-10  Jim Meyering  <jim@meyering.net>
66551
66552         * modules/inline: New file/module.
66553         * modules/xalloc (Files): Remove m4/inline.m4.
66554         (Depends-on): Add inline, instead.
66555         * modules/oset: Likewise.
66556         * modules/list: Likewise.
66557
66558 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66559
66560         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
66561         Problem reported by Matthew Woehlke.
66562
66563 2006-11-09  Bruno Haible  <bruno@clisp.org>
66564
66565         * lib/tempname.c (gen_tempname): Remove variant that invokes
66566         __gen_tempname.
66567         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
66568         __gen_tempname.
66569
66570 2006-11-08  Bruno Haible  <bruno@clisp.org>
66571
66572         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
66573         to 'yes' instead of 'cross-compiling'.
66574
66575 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
66576
66577         * lib/quotearg.h (quotearg_free): New decl.
66578         * lib/quotearg.c (quotearg_free): New function.
66579         (slot0, nslots, slotvec0, slotvec):
66580         Now file-scope so that quotearg_free can get at them.
66581
66582 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66583
66584         Sync from Automake.
66585         * build-aux/gnupload: Add missing 'gnu' to example URL.
66586         Report by Karl Berry.
66587
66588 2006-11-08  Bruno Haible  <bruno@clisp.org>
66589
66590         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
66591         Suggested by Paul Eggert.
66592
66593 2006-11-08  Jim Meyering  <jim@meyering.net>
66594
66595         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
66596         It's already included if !_LIBC.
66597         (fts_safe_changedir): Add a comment.
66598
66599 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
66600
66601         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
66602         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
66603         Matthew Woehlke.
66604
66605         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
66606         definitions up, to avoid colliding with change below.
66607         (static_inline) [HAVE_INLINE]: New macro.
66608         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
66609         Provide extern decls when !HAVE_INLINE.  Do not define unless
66610         static_inline is defined, either by us or by xmalloc.c.  Use
66611         static_inline rather than static inline.
66612         (XCALLOC): Optimize sizeof(T) = 1 case.
66613         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
66614
66615 2006-11-07  Bruno Haible  <bruno@clisp.org>
66616
66617         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
66618         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
66619         AC_C_INLINE.
66620         * modules/xalloc (Files): Add m4/inline.m4.
66621
66622 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66623
66624         * README: Fix typo.
66625         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
66626         (Miscellanous Notes): ...from this.
66627
66628 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
66629
66630         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
66631         Mention that offsetof should be used instead of sizeof.
66632         From Bruno Haible.
66633
66634 2006-11-07  Bruno Haible  <bruno@clisp.org>
66635
66636         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
66637
66638 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
66639
66640         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
66641         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
66642         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
66643         (gl_tree_add_before, gl_tree_add_after):
66644         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
66645         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
66646         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66647         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
66648         (gl_linked_add_after, gl_linked_add_at): Likewise.
66649         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
66650         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
66651         (gl_tree_add_before, gl_tree_add_after): Likewise.
66652         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
66653         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
66654         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
66655
66656 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66657
66658         * lib/gl_oset.h: Use C comment style, not C++ comment style.
66659
66660 2006-11-06  Bruno Haible  <bruno@clisp.org>
66661
66662         * m4/inline.m4: New file.
66663         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
66664         * modules/list (Files): Add m4/inline.m4.
66665         * modules/oset (Files): Likewise.
66666
66667 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
66668
66669         * lib/idcache.c: Include <stddef.h>, for offsetof.
66670         (struct userid.name): Change from char * to a flexible array member.
66671         All uses changed.
66672         * modules/idcache (Depends-on): Add flexmember.
66673
66674         * MODULES.html.sh (Core language properties): New module flexmember.
66675         * modules/flexmember, m4/flexmember.m4: New files.
66676
66677         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
66678         inline functions that are identical with the old xnmalloc_inline,
66679         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
66680         that we can avoid some unnecessary integer multiplications and
66681         divisions in the common case where the element size is known at
66682         compile time.
66683         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
66684         needed.
66685         (xnboundedmalloc): Remove.
66686         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
66687         arguments, for consistency with rest of this header.
66688         (xcharalloc): Rewrite using XNMALLOC.
66689         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
66690         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
66691         versions have been moved to lib/xalloc.h and renamed to be the
66692         non-*_inline versions.
66693         (xmalloc, xrealloc): Implement without reference to the xnmalloc
66694         and xnrealloc functions, since those functions are now inline and
66695         now call us.
66696         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
66697         renaming described above.
66698         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
66699         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
66700         captures the dependency in AC_C_INLINE.
66701
66702         New module canonicalize-lgpl, proposed by Charles Wilson in
66703         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
66704         with a few small changes afterwards.
66705         * MODULES.html.sh (File system functions): New module
66706         canonicalize-lgpl.
66707         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
66708         and canonicalize_file_name.
66709         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
66710         * modules/canonicalize-lgpl: New files.
66711
66712 2006-11-05  Bruno Haible  <bruno@clisp.org>
66713
66714         * gnulib-tool (func_import, func_create_testdir): Create directories
66715         also for files in subdirectories of lib/.
66716
66717 2006-11-05  Bruno Haible  <bruno@clisp.org>
66718
66719         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
66720         ANSI C compliant.
66721
66722 2006-11-03  Bruno Haible  <bruno@clisp.org>
66723
66724         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
66725         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
66726         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
66727         (xnboundedmalloc): New inline function.
66728         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
66729         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
66730         xmalloc.
66731         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
66732         xmalloc.
66733         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
66734         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
66735         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
66736         xmalloc.
66737         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
66738         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
66739         xmalloc.
66740         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
66741         gl_tree_add_after): Use XMALLOC instead of xmalloc.
66742         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
66743         xmalloc.
66744         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
66745         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
66746         gl_tree_add_after): Use XMALLOC instead of xmalloc.
66747         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
66748         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
66749         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
66750         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
66751
66752 2006-11-03  Bruno Haible  <bruno@clisp.org>
66753
66754         * lib/c-ctype.h [C++]: Define functions without name mangling.
66755         * lib/fwriteerror.h [C++]: Likewise.
66756         * lib/gcd.h [C++]: Likewise.
66757         * lib/linebreak.h [C++]: Likewise.
66758
66759 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
66760
66761         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
66762         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
66763         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
66764         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
66765         Check for functions and headers just once.
66766         Check for declaration of canonicalize_file_name.
66767         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
66768
66769 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66770
66771         * gnulib-tool (func_import): Fix typo in actioncmd.
66772
66773 2006-11-02  Bruno Haible  <bruno@clisp.org>
66774
66775         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
66776         newline sequence in the Makefile.am snippet as a space, like "make"
66777         does.
66778         Reported by Roger Persson <perrog@gmail.com>.
66779
66780 2006-11-01  Bruno Haible  <bruno@clisp.org>
66781
66782         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
66783         already declared in <string.h>.
66784         * lib/strcase.h (strncasecmp): Don't declare it if yes.
66785
66786 2006-11-01  Bruno Haible  <bruno@clisp.org>
66787
66788         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
66789         * lib/strcase.h: Include <string.h>.
66790         (strcasecmp): Define to rpl_strcasecmp here.
66791
66792 2006-11-01  Bruno Haible  <bruno@clisp.org>
66793
66794         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
66795
66796 2006-11-01  Eric Blake  <ebb9@byu.net>
66797
66798         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
66799
66800         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
66801
66802 2006-10-29  Bruno Haible  <bruno@clisp.org>
66803
66804         Make it compile in C++ mode.
66805         * lib/full-write.c (full_rw): Add a cast.
66806
66807 2006-11-01  Bruno Haible  <bruno@clisp.org>
66808
66809         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
66810         be POSIX compliant.
66811         Reported by Roger Persson <perrog@gmail.com>.
66812
66813 2006-11-01  Eric Blake  <ebb9@byu.net>
66814
66815         * lib/getopt_.h: Fix comments.
66816
66817 2006-10-31  Eric Blake  <ebb9@byu.net>
66818
66819         * modules/tmpdir (Depends-on): Add sys_stat.
66820         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
66821         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
66822         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
66823         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
66824         tempname.
66825
66826 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
66827
66828         Avoid some C++ diagnostics reported by Bruno Haible.
66829         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
66830         xmalloc.
66831         (quotearg_alloc): Use xcharalloc rather than xmalloc.
66832         (struct slotvec): Move to top level.
66833         (quotearg_n_options): Rewrite to avoid xmalloc.
66834         * lib/xalloc.h (xcharalloc): New function.
66835         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
66836         [defined __cplusplus]: Add function template that provides result
66837         type propagation.  This part of the change is from Bruno Haible.
66838
66839 2006-10-29  Bruno Haible  <bruno@clisp.org>
66840
66841         Make it compile in C++ mode.
66842         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
66843         * lib/strnlen1.c (strnlen1): Cast memchr result.
66844         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
66845         * lib/clean-temp.c (string_equals, string_hash): Add casts.
66846         (create_temp_dir): Rename local variable 'template'.
66847         (compile_csharp_using_sscli): Add cast.
66848         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
66849         * lib/findprog.c (find_in_path): Likewise.
66850         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
66851         * lib/wait-process.c (register_slave_subprocess): Likewise.
66852
66853 2006-10-22  Bruno Haible  <bruno@clisp.org>
66854
66855         * modules/tsearch: New file.
66856         * lib/tsearch.h: New file.
66857         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
66858         * m4/tsearch.m4: New file.
66859         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
66860
66861 2006-10-29  Eric Blake  <ebb9@byu.net>
66862
66863         * lib/arcfour.c: Assume config.h.
66864         * lib/arctwo.c: Likewise.
66865         * lib/base64.c: Likewise.
66866         * lib/check-version.c: Likewise.
66867         * lib/crc.c: Likewise.
66868         * lib/des.c: Likewise.
66869         * lib/gc-gnulib.c: Likewise.
66870         * lib/gc-libgcrypt.c: Likewise.
66871         * lib/gc-pbkdf2-sha1.c: Likewise.
66872         * lib/getaddrinfo.c: Likewise.
66873         * lib/getdelim.c: Likewise.
66874         * lib/getline.c: Likewise.
66875         * lib/hmac-md5.c: Likewise.
66876         * lib/hmac-sha1.c: Likewise.
66877         * lib/iconvme.c: Likewise.
66878         * lib/md2.c: Likewise.
66879         * lib/md4.c: Likewise.
66880         * lib/memxor.c: Likewise.
66881         * lib/read-file.c: Likewise.
66882         * lib/readline.c: Likewise.
66883         * lib/rijndael-alg-fst.c: Likewise.
66884         * lib/rijndael-api-fst.c: Likewise.
66885         * lib/xgetdomainname.c: Likewise.
66886
66887 2006-10-28  Eric Blake  <ebb9@byu.net>
66888
66889         * lib/xstrndup.c: Assume config.h.
66890
66891 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
66892
66893         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
66894         stat-macros.h is now for our own macros, whereas stat_h is for
66895         macros in the <sys/stat.h> name space.
66896         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
66897         (STAT_MACROS_H): Remove.
66898         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
66899         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
66900         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
66901         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
66902         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
66903         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
66904         Move these macros to ...
66905         * lib/stat_.h: here.  Don't include stat-macros.h.
66906         * lib/canonicalize.c: Don't include stat-macros.h.
66907         * lib/chown.c: Likewise.
66908         * lib/euidaccess.c: Likewise.
66909         * lib/file-type.c: Likewise.
66910         * lib/filemode.c: Likewise.
66911         * lib/glob.c: Likewise.
66912         * lib/isapipe.c: Likewise.
66913         * lib/lchown.c: Likewise.
66914         * lib/lstat.c: Likewise.
66915         * lib/mkdir-p.c: Likewise.
66916         * lib/rmdir.c: Likewise.
66917         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
66918         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
66919         unless mkdir isn't declared, to speed up 'configure'.
66920         Always create sys/stat.h, since it's unlikely any real sys/stat.h
66921         would define all the S_* symbols.
66922         * modules/canonicalize (Depends-on):
66923         Depend on sys_stat, not stat-macros.
66924         * modules/chown: Likewise.
66925         * modules/euidaccess: Likewise.
66926         * modules/filemode: Likewise.
66927         * modules/file-type: Likewise.
66928         * modules/glob: Likewise.
66929         * modules/isapipe: Likewise.
66930         * modules/lchown: Likewise.
66931         * modules/lstat: Likewise.
66932         * modules/mkancesdirs: Likewise.
66933         * modules/rmdir: Likewise.
66934         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
66935         * modules/modechange: Likewise.
66936         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
66937         (configure.ac): Remove gl_STAT_MACROS.
66938         * modules/sys_stat (Depends-on): Remove stat-macros.
66939
66940 2006-10-27  Bruno Haible  <bruno@clisp.org>
66941
66942         * m4/signed.m4: Remove file.
66943         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
66944         invocation.
66945         * modules/vasnprintf (Files): Remove m4/signed.m4.
66946
66947 2006-10-27  Bruno Haible  <bruno@clisp.org>
66948
66949         Update to GNU gettext 0.16.
66950         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
66951         m4/inttypes-h.m4, m4/signed.m4.
66952         * m4/gettext.m4: Update to GNU gettext 0.16.
66953         * m4/intl.m4: New file, from GNU gettext.
66954         * m4/intldir.m4: New file, from GNU gettext.
66955         * config/srclist.txt: Update
66956
66957 2006-10-27  Eric Blake  <ebb9@byu.net>
66958
66959         * MODULES.html.sh: Document tempname.
66960         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
66961         dependencies.
66962         (Files): Move lib/tempname.c...
66963         * modules/tempname: ...to this new module.
66964         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
66965         (gl_PREREQ_TEMPNAME): Move...
66966         * m4/tempname.m4: ...to this new file.
66967         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
66968         * modules/sys_stat (Depends-on): Add stat-macros.
66969         * lib/stat_.h (includes): Pick up stat macros.
66970         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
66971         if stat macros are broken.
66972         * lib/tempname.c (includes): No need to include "stat-macros.h".
66973         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
66974         (direxists, __path_search) [!_LIBC]: Don't compile these in
66975         gnulib; the tmpdir module covers that.
66976         * lib/tempname.h: New file.
66977
66978 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
66979
66980         * COPYING: Explain how gnulib-tool converts licence headers.
66981         Almost all wording by Eric Blake.
66982
66983 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
66984
66985         * lib/mbchar.h (is_basic_table): Make read-only.
66986         * lib/mbchar.c (is_basic_table): Likewise.
66987         Reported by John Darrington.
66988
66989 2006-10-25  Bruno Haible  <bruno@clisp.org>
66990
66991         * lib/progname.h (set_program_name): Undefine before defining.
66992
66993 2006-10-25  Bruno Haible  <bruno@clisp.org>
66994
66995         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
66996         false for non-gcc C++ compilers.
66997         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
66998
66999 2006-10-24  Bruno Haible  <bruno@clisp.org>
67000
67001         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
67002         iconv implementations like Irix iconv.
67003
67004 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67005
67006         * modules/vararrays: New file.
67007         * m4/vararrays.m4: New file, taken from diffutils.
67008         * MODULES.html.sh: New module vararrays.
67009
67010 2006-10-24  Karl Berry  <karl@gnu.org>
67011
67012         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
67013         Don't call GNU Unix.
67014
67015 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67016
67017         * users.txt: Add Libtool.
67018
67019         Sync from Libtool:
67020
67021         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
67024         to gnulib's policy of including config.h unconditionally.
67025
67026 2006-10-24  Bruno Haible  <bruno@clisp.org>
67027
67028         * modules/wcwidth (Files): Add m4/wint_t.m4.
67029         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
67030         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
67031
67032 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67033
67034         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
67035         to pacify GCC with some -W flags enabled.  Problem reported by
67036         Bruno Haible.
67037
67038 2006-10-24  Jim Meyering  <jim@meyering.net>
67039
67040         * MODULES.html.sh: Remove uinttostr.  It's not a module.
67041         Reported by Karl Berry.
67042
67043 2006-10-23  Bruno Haible  <bruno@clisp.org>
67044
67045         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
67046
67047 2006-10-24  Bruno Haible  <bruno@clisp.org>
67048
67049         * lib/gl_list.h: Use C comment style, not C++ comment style.
67050
67051 2006-10-23  Eric Blake  <ebb9@byu.net>
67052
67053         * lib/getaddrinfo.c (includes): Add missing include.
67054
67055 2006-10-23  Bruno Haible  <bruno@clisp.org>
67056             Paul Eggert  <eggert@cs.ucla.edu>
67057
67058         Ability to rename obstack_free.
67059         * lib/obstack.h (__obstack_free): New macro. Declare instead of
67060         obstack_free.
67061         (obstack_free): Invoke the __obstack_free macro.
67062         * lib/obstack.c (obstack_free): Use __obstack_free macro.
67063
67064 2006-10-23  Bruno Haible  <bruno@clisp.org>
67065             Paul Eggert  <eggert@cs.ucla.edu>
67066
67067         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
67068         __argc, __argv from the declaration. (They are defined as macros on
67069         mingw.)
67070
67071 2006-10-22  Bruno Haible  <bruno@clisp.org>
67072
67073         * doc/gnulib-intro.texi: New file.
67074         * doc/gnulib.texi: Include it.
67075
67076 2006-10-21  Bruno Haible  <bruno@clisp.org>
67077
67078         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
67079         "Introduction", "Miscellanous Notes", "Particular Modules".
67080
67081 2006-10-21  Bruno Haible  <bruno@clisp.org>
67082
67083         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67084         Change mostlyclean-local rule to avoid sh syntax error from bash
67085         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
67086
67087 2006-10-23  Jim Meyering  <jim@meyering.net>
67088
67089         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
67090         in place of snprintf.
67091
67092         * modules/inttostr (Files): Add lib/uinttostr.c.
67093         * lib/uinttostr.c (inttostr): New file/function.
67094         * lib/inttostr.h (uinttostr): Declare.
67095         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
67096         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
67097         Add uinttostr.
67098         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
67099
67100 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
67101
67102         * lib/canonicalize.c (ELOOP): Define if not already defined.
67103         Problem reported by Bruno Haible in
67104         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
67105
67106 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
67107
67108         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
67109         Problem reported by Perry Smith and Ville Laurikari.
67110
67111         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
67112         uses.
67113
67114 2006-10-19  Bruno Haible  <bruno@clisp.org>
67115
67116         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
67117         for mingw.
67118
67119 2006-10-19  Bruno Haible  <bruno@clisp.org>
67120
67121         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
67122         Needed for mingw.
67123
67124 2006-10-19  Bruno Haible  <bruno@clisp.org>
67125
67126         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
67127
67128 2006-10-19  Bruno Haible  <bruno@clisp.org>
67129
67130         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
67131         it.
67132
67133 2006-10-19  Bruno Haible  <bruno@clisp.org>
67134
67135         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
67136         invocation.
67137
67138 2006-10-19  Bruno Haible  <bruno@clisp.org>
67139
67140         * gnulib-tool (func_create_testdir): Don't include ftruncate and
67141         mountlist by default.
67142
67143 2006-10-16  Bruno Haible  <bruno@clisp.org>
67144
67145         * lib/c-strstr.c: Include c-strstr.h.
67146
67147 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
67148
67149         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
67150         in a slash.
67151
67152 2006-10-18  Bruno Haible  <bruno@clisp.org>
67153
67154         * lib/lock.h [C++]: Wrap definitions in extern "C".
67155
67156 2006-10-18  Bruno Haible  <bruno@clisp.org>
67157
67158         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
67159         gl_LIBOBJS list.
67160
67161 2006-10-18  Bruno Haible  <bruno@clisp.org>
67162
67163         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
67164
67165 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
67166
67167         * lib/xstrtol.h: Include gettext.h.
67168         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
67169         Problem reported by Eric Blake.
67170         * modules/xstrtol (Depends-on): Add gettext-h.
67171
67172 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
67173
67174         * lib/strftime.c (advance): New macro.
67175         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
67176         incomplete type, so you can't add 0 to it.  Problem and patch
67177         reported by Eelco Dolstra for dietlibc.
67178
67179 2006-10-18  Jim Meyering  <jim@meyering.net>
67180
67181         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
67182         type for a local, and rename it: s/up/user_proc/.
67183
67184 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
67185
67186         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
67187         READ_UTMP_USER_PROCESS.
67188         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
67189
67190 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67191
67192         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
67193         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
67194
67195 2006-10-17  Eric Blake  <ebb9@byu.net>
67196
67197         * lib/sigprocmask.c (sigprocmask): Fix typo.
67198
67199         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
67200
67201         * modules/clean-temp (Makefile.am): Don't add to make output...
67202         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
67203         config.h.
67204
67205 2006-10-17  Bruno Haible  <bruno@clisp.org>
67206
67207         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
67208         differently if DEFAULT_TEXT_DOMAIN is set.
67209
67210 2006-10-16  Bruno Haible  <bruno@clisp.org>
67211
67212         * lib/clean-temp.c: Include fwriteerror.h.
67213
67214 2006-10-16  Bruno Haible  <bruno@clisp.org>
67215
67216         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
67217
67218 2006-10-16  Bruno Haible  <bruno@clisp.org>
67219
67220         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
67221         * lib/sigprocmask.h: Include <sys/types.h>.
67222         (sigset_t): Use the system's definition if present.
67223
67224 2006-10-17  Eric Blake  <ebb9@byu.net>
67225
67226         * lib/xvasprintf.c (includes): Assume config.h.
67227         * lib/xasprintf.c (includes): Likewise.
67228
67229 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
67230
67231         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
67232         at least as wide as intmax_t.
67233
67234 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
67235
67236         (Imported from Automake.)
67237         * build-aux/gnupload: Update to version 1.1 of directive file.
67238
67239 2006-10-16  Eric Blake  <ebb9@byu.net>
67240
67241         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
67242         match Automake 1.10a.
67243
67244 2006-10-14  Bruno Haible  <bruno@clisp.org>
67245
67246         * modules/sigprocmask: New file.
67247         * lib/sigprocmask.h: New file.
67248         * lib/sigprocmask.c: New file.
67249         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
67250         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
67251         request sigprocmask.o.
67252         (gl_PREREQ_SIGPROCMASK): New macro.
67253         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
67254         (Depends-on): Add sigprocmask.
67255         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
67256         gt_SIGNALBLOCKING. Test for 'raise' only once.
67257         * lib/fatal-signal.c: Include sigprocmask.h.
67258         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
67259         unblock_fatal_signals): Define always.
67260         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67261         sigprocmask.
67262
67263 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
67264
67265         Sync from Automake.
67266         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
67267         which incorrectly sets the mode of an existing destination
67268         directory.  In some cases the unpatched install-sh could do the
67269         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
67270         system.  We hope this is rare in practice, but it's clearly worth
67271         fixing.  Problem reported by Alex Unleashed in
67272         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
67273         Also, don't bother to check for -m bugs unless we're using -m;
67274         suggested by Stepan Kasal.
67275
67276 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67277
67278         Sync from Automake.
67279         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
67280         `-c' flag, so they appear at the same position as in %FASTDEP%
67281         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
67282         which ignores unknown options only after the first non-option.
67283         Bug report against M4 by Nelson H. F. Beebe.
67284
67285 2006-10-13  Jim Meyering  <jim@meyering.net>
67286
67287         Fix a bug in yesterday's change.
67288         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
67289         p->fts_statp->st_dev would be used uninitialized.
67290         Ensures that we always call fts_stat on the very first entry.
67291         Miklos Szeredi reported that find -xdev stopped working.
67292
67293 2006-10-12  Bruno Haible  <bruno@clisp.org>
67294
67295         * gnulib-tool (func_get_automake_snippet): Append an automatically
67296         computed EXTRA_DIST augmentation.
67297         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
67298         * modules/alloca-opt (Makefile.am): Likewise.
67299         * modules/allocsa (Makefile.am): Likewise.
67300         * modules/arcfour (Makefile.am): Likewise.
67301         * modules/arctwo (Makefile.am): Likewise.
67302         * modules/argmatch (Makefile.am): Likewise.
67303         * modules/argz (Makefile.am): Likewise.
67304         * modules/atexit (Makefile.am): Likewise.
67305         * modules/backupfile (Makefile.am): Likewise.
67306         * modules/byteswap (Makefile.am): Likewise.
67307         * modules/c-strtod (Makefile.am): Likewise.
67308         * modules/c-strtold (Makefile.am): Likewise.
67309         * modules/calloc (Makefile.am): Likewise.
67310         * modules/canon-host (Makefile.am): Likewise.
67311         * modules/canonicalize (Makefile.am): Likewise.
67312         * modules/chdir-long (Makefile.am): Likewise.
67313         * modules/chdir-safer (Makefile.am): Likewise.
67314         * modules/check-version (Makefile.am): Likewise.
67315         * modules/chown (Makefile.am): Likewise.
67316         * modules/cloexec (Makefile.am): Likewise.
67317         * modules/close-stream (Makefile.am): Likewise.
67318         * modules/closeout (Makefile.am): Likewise.
67319         * modules/crc (Makefile.am): Likewise.
67320         * modules/csharpexec (Makefile.am): Likewise.
67321         * modules/cycle-check (Makefile.am): Likewise.
67322         * modules/des (Makefile.am): Likewise.
67323         * modules/dev-ino (Makefile.am): Likewise.
67324         * modules/dirfd (Makefile.am): Likewise.
67325         * modules/dirname (Makefile.am): Likewise.
67326         * modules/dup2 (Makefile.am): Likewise.
67327         * modules/eealloc (Makefile.am): Likewise.
67328         * modules/error (Makefile.am): Likewise.
67329         * modules/euidaccess (Makefile.am): Likewise.
67330         * modules/exclude (Makefile.am): Likewise.
67331         * modules/exitfail (Makefile.am): Likewise.
67332         * modules/fcntl-safer (Makefile.am): Likewise.
67333         * modules/fcntl (Makefile.am): Likewise.
67334         * modules/file-type (Makefile.am): Likewise.
67335         * modules/fileblocks (Makefile.am): Likewise.
67336         * modules/filemode (Makefile.am): Likewise.
67337         * modules/filenamecat (Makefile.am): Likewise.
67338         * modules/fnmatch (Makefile.am): Likewise.
67339         * modules/fopen-safer (Makefile.am): Likewise.
67340         * modules/fpending (Makefile.am): Likewise.
67341         * modules/fprintftime (Makefile.am): Likewise.
67342         * modules/free (Makefile.am): Likewise.
67343         * modules/fsusage (Makefile.am): Likewise.
67344         * modules/ftruncate (Makefile.am): Likewise.
67345         * modules/fts (Makefile.am): Likewise.
67346         * modules/gc-arcfour (Makefile.am): Likewise.
67347         * modules/gc-des (Makefile.am): Likewise.
67348         * modules/gc-hmac-md5 (Makefile.am): Likewise.
67349         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
67350         * modules/gc-md4 (Makefile.am): Likewise.
67351         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
67352         * modules/gc-sha1 (Makefile.am): Likewise.
67353         * modules/gc (Makefile.am): Likewise.
67354         * modules/getaddrinfo (Makefile.am): Likewise.
67355         * modules/getcwd (Makefile.am): Likewise.
67356         * modules/getdelim (Makefile.am): Likewise.
67357         * modules/getdomainname (Makefile.am): Likewise.
67358         * modules/getgroups (Makefile.am): Likewise.
67359         * modules/gethostname (Makefile.am): Likewise.
67360         * modules/gethrxtime (Makefile.am): Likewise.
67361         * modules/getline (Makefile.am): Likewise.
67362         * modules/getloadavg (Makefile.am): Likewise.
67363         * modules/getlogin_r (Makefile.am): Likewise.
67364         * modules/getndelim2 (Makefile.am): Likewise.
67365         * modules/getopt (Makefile.am): Likewise.
67366         * modules/getpagesize (Makefile.am): Likewise.
67367         * modules/getpass-gnu (Makefile.am): Likewise.
67368         * modules/getpass (Makefile.am): Likewise.
67369         * modules/getsubopt (Makefile.am): Likewise.
67370         * modules/gettime (Makefile.am): Likewise.
67371         * modules/gettimeofday (Makefile.am): Likewise.
67372         * modules/getugroups (Makefile.am): Likewise.
67373         * modules/getusershell (Makefile.am): Likewise.
67374         * modules/glob (Makefile.am): Likewise.
67375         * modules/group-member (Makefile.am): Likewise.
67376         * modules/hard-locale (Makefile.am): Likewise.
67377         * modules/hash (Makefile.am): Likewise.
67378         * modules/hmac-md5 (Makefile.am): Likewise.
67379         * modules/hmac-sha1 (Makefile.am): Likewise.
67380         * modules/human (Makefile.am): Likewise.
67381         * modules/idcache (Makefile.am): Likewise.
67382         * modules/imaxabs (Makefile.am): Likewise.
67383         * modules/imaxdiv (Makefile.am): Likewise.
67384         * modules/inet_ntop (Makefile.am): Likewise.
67385         * modules/inet_pton (Makefile.am): Likewise.
67386         * modules/intprops (Makefile.am): Likewise.
67387         * modules/inttostr (Makefile.am): Likewise.
67388         * modules/inttypes (Makefile.am): Likewise.
67389         * modules/isapipe (Makefile.am): Likewise.
67390         * modules/javaversion (Makefile.am): Likewise.
67391         * modules/lchmod (Makefile.am): Likewise.
67392         * modules/lchown (Makefile.am): Likewise.
67393         * modules/localcharset (Makefile.am): Likewise.
67394         * modules/long-options (Makefile.am): Likewise.
67395         * modules/lstat (Makefile.am): Likewise.
67396         * modules/malloc (Makefile.am): Likewise.
67397         * modules/mathl (Makefile.am): Likewise.
67398         * modules/mbchar (Makefile.am): Likewise.
67399         * modules/md2 (Makefile.am): Likewise.
67400         * modules/md4 (Makefile.am): Likewise.
67401         * modules/md5 (Makefile.am): Likewise.
67402         * modules/memcasecmp (Makefile.am): Likewise.
67403         * modules/memchr (Makefile.am): Likewise.
67404         * modules/memcmp (Makefile.am): Likewise.
67405         * modules/memcoll (Makefile.am): Likewise.
67406         * modules/memcpy (Makefile.am): Likewise.
67407         * modules/memmem (Makefile.am): Likewise.
67408         * modules/memmove (Makefile.am): Likewise.
67409         * modules/mempcpy (Makefile.am): Likewise.
67410         * modules/memrchr (Makefile.am): Likewise.
67411         * modules/memset (Makefile.am): Likewise.
67412         * modules/memxor (Makefile.am): Likewise.
67413         * modules/mkancesdirs (Makefile.am): Likewise.
67414         * modules/mkdir-p (Makefile.am): Likewise.
67415         * modules/mkdir (Makefile.am): Likewise.
67416         * modules/mkdtemp (Makefile.am): Likewise.
67417         * modules/mkstemp (Makefile.am): Likewise.
67418         * modules/mktime (Makefile.am): Likewise.
67419         * modules/modechange (Makefile.am): Likewise.
67420         * modules/mountlist (Makefile.am): Likewise.
67421         * modules/nanosleep (Makefile.am): Likewise.
67422         * modules/obstack (Makefile.am): Likewise.
67423         * modules/openat (Makefile.am): Likewise.
67424         * modules/pagealign_alloc (Makefile.am): Likewise.
67425         * modules/pathmax (Makefile.am): Likewise.
67426         * modules/physmem (Makefile.am): Likewise.
67427         * modules/poll (Makefile.am): Likewise.
67428         * modules/posixtm (Makefile.am): Likewise.
67429         * modules/posixver (Makefile.am): Likewise.
67430         * modules/putenv (Makefile.am): Likewise.
67431         * modules/quote (Makefile.am): Likewise.
67432         * modules/quotearg (Makefile.am): Likewise.
67433         * modules/raise (Makefile.am): Likewise.
67434         * modules/read-file (Makefile.am): Likewise.
67435         * modules/readline (Makefile.am): Likewise.
67436         * modules/readlink (Makefile.am): Likewise.
67437         * modules/readtokens (Makefile.am): Likewise.
67438         * modules/readutmp (Makefile.am): Likewise.
67439         * modules/realloc (Makefile.am): Likewise.
67440         * modules/regex (Makefile.am): Likewise.
67441         * modules/rename-dest-slash (Makefile.am): Likewise.
67442         * modules/rename (Makefile.am): Likewise.
67443         * modules/rijndael (Makefile.am): Likewise.
67444         * modules/rmdir (Makefile.am): Likewise.
67445         * modules/rpmatch (Makefile.am): Likewise.
67446         * modules/safe-read (Makefile.am): Likewise.
67447         * modules/safe-write (Makefile.am): Likewise.
67448         * modules/same-inode (Makefile.am): Likewise.
67449         * modules/same (Makefile.am): Likewise.
67450         * modules/save-cwd (Makefile.am): Likewise.
67451         * modules/savedir (Makefile.am): Likewise.
67452         * modules/setenv (Makefile.am): Likewise.
67453         * modules/settime (Makefile.am): Likewise.
67454         * modules/sha1 (Makefile.am): Likewise.
67455         * modules/sig2str (Makefile.am): Likewise.
67456         * modules/snprintf (Makefile.am): Likewise.
67457         * modules/stat-macros (Makefile.am): Likewise.
67458         * modules/stat-time (Makefile.am): Likewise.
67459         * modules/stdbool (Makefile.am): Likewise.
67460         * modules/stdint (Makefile.am): Likewise.
67461         * modules/stdlib-safer (Makefile.am): Likewise.
67462         * modules/stpcpy (Makefile.am): Likewise.
67463         * modules/stpncpy (Makefile.am): Likewise.
67464         * modules/strcase (Makefile.am): Likewise.
67465         * modules/strcasestr (Makefile.am): Likewise.
67466         * modules/strchrnul (Makefile.am): Likewise.
67467         * modules/strcspn (Makefile.am): Likewise.
67468         * modules/strdup (Makefile.am): Likewise.
67469         * modules/strerror (Makefile.am): Likewise.
67470         * modules/strftime (Makefile.am): Likewise.
67471         * modules/strndup (Makefile.am): Likewise.
67472         * modules/strnlen (Makefile.am): Likewise.
67473         * modules/strpbrk (Makefile.am): Likewise.
67474         * modules/strsep (Makefile.am): Likewise.
67475         * modules/strstr (Makefile.am): Likewise.
67476         * modules/strtod (Makefile.am): Likewise.
67477         * modules/strtoimax (Makefile.am): Likewise.
67478         * modules/strtok_r (Makefile.am): Likewise.
67479         * modules/strtol (Makefile.am): Likewise.
67480         * modules/strtoll (Makefile.am): Likewise.
67481         * modules/strtoul (Makefile.am): Likewise.
67482         * modules/strtoull (Makefile.am): Likewise.
67483         * modules/strtoumax (Makefile.am): Likewise.
67484         * modules/strverscmp (Makefile.am): Likewise.
67485         * modules/sys_socket (Makefile.am): Likewise.
67486         * modules/sys_stat (Makefile.am): Likewise.
67487         * modules/sysexits (Makefile.am): Likewise.
67488         * modules/time_r (Makefile.am): Likewise.
67489         * modules/timegm (Makefile.am): Likewise.
67490         * modules/timespec (Makefile.am): Likewise.
67491         * modules/tmpfile-safer (Makefile.am): Likewise.
67492         * modules/trim (Makefile.am): Likewise.
67493         * modules/unistd-safer (Makefile.am): Likewise.
67494         * modules/unlinkdir (Makefile.am): Likewise.
67495         * modules/unlocked-io (Makefile.am): Likewise.
67496         * modules/userspec (Makefile.am): Likewise.
67497         * modules/utime (Makefile.am): Likewise.
67498         * modules/utimecmp (Makefile.am): Likewise.
67499         * modules/utimens (Makefile.am): Likewise.
67500         * modules/vasnprintf (Makefile.am): Likewise.
67501         * modules/vasprintf (Makefile.am): Likewise.
67502         * modules/vsnprintf (Makefile.am): Likewise.
67503         * modules/xalloc (Makefile.am): Likewise.
67504         * modules/xgetcwd (Makefile.am): Likewise.
67505         * modules/xnanosleep (Makefile.am): Likewise.
67506         * modules/xreadlink (Makefile.am): Likewise.
67507         * modules/xstrtod (Makefile.am): Likewise.
67508         * modules/xstrtol (Makefile.am): Likewise.
67509         * modules/xstrtold (Makefile.am): Likewise.
67510         * modules/yesno (Makefile.am): Likewise.
67511         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
67512
67513 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
67514
67515         * modules/error (Makefile.am): Distribute files through
67516         EXTRA_DIST, not lib_SOURCES.
67517
67518 2006-10-12  Eric Blake  <ebb9@byu.net>
67519
67520         * modules/error (Makefile.am): Distribute files in /lib.
67521         * modules/obstack (Makefile.am): Likewise.
67522
67523 2006-10-12  Bruno Haible  <bruno@clisp.org>
67524
67525         * modules/acl (Makefile.am): Distribute all files in lib/ through
67526         EXTRA_DIST.
67527         * modules/arcfour (Makefile.am): Likewise.
67528         * modules/arctwo (Makefile.am): Likewise.
67529         * modules/argmatch (Makefile.am): Likewise.
67530         * modules/argz (Makefile.am): Likewise.
67531         * modules/atexit (Makefile.am): Likewise.
67532         * modules/backupfile (Makefile.am): Likewise.
67533         * modules/c-strtod (Makefile.am): Likewise.
67534         * modules/c-strtold (Makefile.am): Likewise.
67535         * modules/calloc (Makefile.am): Likewise.
67536         * modules/canon-host (Makefile.am): Likewise.
67537         * modules/canonicalize (Makefile.am): Likewise.
67538         * modules/chdir-long (Makefile.am): Likewise.
67539         * modules/chdir-safer (Makefile.am): Likewise.
67540         * modules/check-version (Makefile.am): Likewise.
67541         * modules/chown (Makefile.am): Likewise.
67542         * modules/cloexec (Makefile.am): Likewise.
67543         * modules/close-stream (Makefile.am): Likewise.
67544         * modules/closeout (Makefile.am): Likewise.
67545         * modules/crc (Makefile.am): Likewise.
67546         * modules/cycle-check (Makefile.am): Likewise.
67547         * modules/des (Makefile.am): Likewise.
67548         * modules/dirfd (Makefile.am): Likewise.
67549         * modules/dirname (Makefile.am): Likewise.
67550         * modules/dup2 (Makefile.am): Likewise.
67551         * modules/euidaccess (Makefile.am): Likewise.
67552         * modules/exclude (Makefile.am): Likewise.
67553         * modules/exitfail (Makefile.am): Likewise.
67554         * modules/fcntl-safer (Makefile.am): Likewise.
67555         * modules/file-type (Makefile.am): Likewise.
67556         * modules/fileblocks (Makefile.am): Likewise.
67557         * modules/filemode (Makefile.am): Likewise.
67558         * modules/filenamecat (Makefile.am): Likewise.
67559         * modules/fnmatch (Makefile.am): Likewise.
67560         * modules/fopen-safer (Makefile.am): Likewise.
67561         * modules/fpending (Makefile.am): Likewise.
67562         * modules/fprintftime (Makefile.am): Likewise.
67563         * modules/free (Makefile.am): Likewise.
67564         * modules/fsusage (Makefile.am): Likewise.
67565         * modules/ftruncate (Makefile.am): Likewise.
67566         * modules/fts (Makefile.am): Likewise.
67567         * modules/gc (Makefile.am): Likewise.
67568         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
67569         * modules/getaddrinfo (Makefile.am): Likewise.
67570         * modules/getcwd (Makefile.am): Likewise.
67571         * modules/getdelim (Makefile.am): Likewise.
67572         * modules/getdomainname (Makefile.am): Likewise.
67573         * modules/getgroups (Makefile.am): Likewise.
67574         * modules/gethostname (Makefile.am): Likewise.
67575         * modules/gethrxtime (Makefile.am): Likewise.
67576         * modules/getline (Makefile.am): Likewise.
67577         * modules/getloadavg (Makefile.am): Likewise.
67578         * modules/getlogin_r (Makefile.am): Likewise.
67579         * modules/getopt (Makefile.am): Likewise.
67580         * modules/getpass (Makefile.am): Likewise.
67581         * modules/getpass-gnu (Makefile.am): Likewise.
67582         * modules/getsubopt (Makefile.am): Likewise.
67583         * modules/gettime (Makefile.am): Likewise.
67584         * modules/gettimeofday (Makefile.am): Likewise.
67585         * modules/getugroups (Makefile.am): Likewise.
67586         * modules/getusershell (Makefile.am): Likewise.
67587         * modules/glob (Makefile.am): Likewise.
67588         * modules/group-member (Makefile.am): Likewise.
67589         * modules/hard-locale (Makefile.am): Likewise.
67590         * modules/hash (Makefile.am): Likewise.
67591         * modules/hmac-md5 (Makefile.am): Likewise.
67592         * modules/hmac-sha1 (Makefile.am): Likewise.
67593         * modules/human (Makefile.am): Likewise.
67594         * modules/idcache (Makefile.am): Likewise.
67595         * modules/imaxabs (Makefile.am): Likewise.
67596         * modules/imaxdiv (Makefile.am): Likewise.
67597         * modules/inet_ntop (Makefile.am): Likewise.
67598         * modules/inet_pton (Makefile.am): Likewise.
67599         * modules/inttostr (Makefile.am): Likewise.
67600         * modules/isapipe (Makefile.am): Likewise.
67601         * modules/lchown (Makefile.am): Likewise.
67602         * modules/long-options (Makefile.am): Likewise.
67603         * modules/lstat (Makefile.am): Likewise.
67604         * modules/malloc (Makefile.am): Likewise.
67605         * modules/mathl (Makefile.am): Likewise.
67606         * modules/mbchar (Makefile.am): Likewise.
67607         * modules/md2 (Makefile.am): Likewise.
67608         * modules/md4 (Makefile.am): Likewise.
67609         * modules/md5 (Makefile.am): Likewise.
67610         * modules/memcasecmp (Makefile.am): Likewise.
67611         * modules/memchr (Makefile.am): Likewise.
67612         * modules/memcmp (Makefile.am): Likewise.
67613         * modules/memcoll (Makefile.am): Likewise.
67614         * modules/memcpy (Makefile.am): Likewise.
67615         * modules/memmem (Makefile.am): Likewise.
67616         * modules/memmove (Makefile.am): Likewise.
67617         * modules/mempcpy (Makefile.am): Likewise.
67618         * modules/memrchr (Makefile.am): Likewise.
67619         * modules/memset (Makefile.am): Likewise.
67620         * modules/memxor (Makefile.am): Likewise.
67621         * modules/mkancesdirs (Makefile.am): Likewise.
67622         * modules/mkdir (Makefile.am): Likewise.
67623         * modules/mkdir-p (Makefile.am): Likewise.
67624         * modules/mkdtemp (Makefile.am): Likewise.
67625         * modules/mkstemp (Makefile.am): Likewise.
67626         * modules/mktime (Makefile.am): Likewise.
67627         * modules/modechange (Makefile.am): Likewise.
67628         * modules/mountlist (Makefile.am): Likewise.
67629         * modules/nanosleep (Makefile.am): Likewise.
67630         * modules/openat (Makefile.am): Likewise.
67631         * modules/pagealign_alloc (Makefile.am): Likewise.
67632         * modules/physmem (Makefile.am): Likewise.
67633         * modules/poll (Makefile.am): Likewise.
67634         * modules/posixtm (Makefile.am): Likewise.
67635         * modules/posixver (Makefile.am): Likewise.
67636         * modules/putenv (Makefile.am): Likewise.
67637         * modules/quote (Makefile.am): Likewise.
67638         * modules/quotearg (Makefile.am): Likewise.
67639         * modules/raise (Makefile.am): Likewise.
67640         * modules/read-file (Makefile.am): Likewise.
67641         * modules/readline (Makefile.am): Likewise.
67642         * modules/readlink (Makefile.am): Likewise.
67643         * modules/readtokens (Makefile.am): Likewise.
67644         * modules/readutmp (Makefile.am): Likewise.
67645         * modules/realloc (Makefile.am): Likewise.
67646         * modules/regex (Makefile.am): Likewise.
67647         * modules/rename (Makefile.am): Likewise.
67648         * modules/rename-dest-slash (Makefile.am): Likewise.
67649         * modules/rijndael (Makefile.am): Likewise.
67650         * modules/rmdir (Makefile.am): Likewise.
67651         * modules/rpmatch (Makefile.am): Likewise.
67652         * modules/safe-read (Makefile.am): Likewise.
67653         * modules/safe-write (Makefile.am): Likewise.
67654         * modules/same (Makefile.am): Likewise.
67655         * modules/save-cwd (Makefile.am): Likewise.
67656         * modules/savedir (Makefile.am): Likewise.
67657         * modules/setenv (Makefile.am): Likewise.
67658         * modules/settime (Makefile.am): Likewise.
67659         * modules/sha1 (Makefile.am): Likewise.
67660         * modules/sig2str (Makefile.am): Likewise.
67661         * modules/snprintf (Makefile.am): Likewise.
67662         * modules/stdlib-safer (Makefile.am): Likewise.
67663         * modules/stpcpy (Makefile.am): Likewise.
67664         * modules/stpncpy (Makefile.am): Likewise.
67665         * modules/strcase (Makefile.am): Likewise.
67666         * modules/strcasestr (Makefile.am): Likewise.
67667         * modules/strchrnul (Makefile.am): Likewise.
67668         * modules/strcspn (Makefile.am): Likewise.
67669         * modules/strdup (Makefile.am): Likewise.
67670         * modules/strerror (Makefile.am): Likewise.
67671         * modules/strftime (Makefile.am): Likewise.
67672         * modules/strndup (Makefile.am): Likewise.
67673         * modules/strnlen (Makefile.am): Likewise.
67674         * modules/strpbrk (Makefile.am): Likewise.
67675         * modules/strsep (Makefile.am): Likewise.
67676         * modules/strstr (Makefile.am): Likewise.
67677         * modules/strtod (Makefile.am): Likewise.
67678         * modules/strtoimax (Makefile.am): Likewise.
67679         * modules/strtok_r (Makefile.am): Likewise.
67680         * modules/strtol (Makefile.am): Likewise.
67681         * modules/strtoll (Makefile.am): Likewise.
67682         * modules/strtoul (Makefile.am): Likewise.
67683         * modules/strtoull (Makefile.am): Likewise.
67684         * modules/strtoumax (Makefile.am): Likewise.
67685         * modules/strverscmp (Makefile.am): Likewise.
67686         * modules/time_r (Makefile.am): Likewise.
67687         * modules/timegm (Makefile.am): Likewise.
67688         * modules/tmpfile-safer (Makefile.am): Likewise.
67689         * modules/unistd-safer (Makefile.am): Likewise.
67690         * modules/unlinkdir (Makefile.am): Likewise.
67691         * modules/userspec (Makefile.am): Likewise.
67692         * modules/utime (Makefile.am): Likewise.
67693         * modules/utimecmp (Makefile.am): Likewise.
67694         * modules/utimens (Makefile.am): Likewise.
67695         * modules/vasnprintf (Makefile.am): Likewise.
67696         * modules/vasprintf (Makefile.am): Likewise.
67697         * modules/vsnprintf (Makefile.am): Likewise.
67698         * modules/xalloc (Makefile.am): Likewise.
67699         * modules/xgetcwd (Makefile.am): Likewise.
67700         * modules/xnanosleep (Makefile.am): Likewise.
67701         * modules/xreadlink (Makefile.am): Likewise.
67702         * modules/xstrtod (Makefile.am): Likewise.
67703         * modules/xstrtol (Makefile.am): Likewise.
67704         * modules/xstrtold (Makefile.am): Likewise.
67705         * modules/yesno (Makefile.am): Likewise.
67706
67707 2006-10-12  Jim Meyering  <jim@meyering.net>
67708
67709         * m4/getloadavg.m4: Revert the change below.
67710
67711         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
67712         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
67713         fail with a symlink, which is what coreutils' ./bootstrap now
67714         creates by default.
67715
67716 2006-10-12  Bruno Haible  <bruno@clisp.org>
67717
67718         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
67719         mingw.
67720         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
67721         MSVC and mingw explicitly.
67722
67723 2006-10-11  Simon Josefsson  <jas@extundo.com>
67724             Bruno Haible  <bruno@clisp.org>
67725
67726         Add support for multiple gnulib-tool invocations in the scope of a
67727         single configure.ac file.
67728         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
67729         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
67730         with the same contents as the _LIBADD variable.
67731         (func_emit_initmacro_start, func_emit_initmacro_end,
67732         func_emit_initmacro_done): New functions.
67733         (func_import, func_create_testdir): Invoke them. Allow the identifiers
67734         gl_LIBOBJS and gl_LTLIBOBJS.
67735
67736 2006-10-11  Bruno Haible  <bruno@clisp.org>
67737
67738         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
67739         (func_create_testdir): Don't create po/Makefile.am, don't invoke
67740         autoreconf. Instead, invoke autopoint explicitly but move back the
67741         *.m4 files from gnulib.
67742
67743 2006-10-11  Bruno Haible  <bruno@clisp.org>
67744
67745         * gnulib-tool (func_usage): Make module names after --create-testdir
67746         optional.
67747         (func_create_testdir): If no module was specified, use nearly all
67748         modules.
67749
67750 2006-10-12  Jim Meyering  <jim@meyering.net>
67751
67752         Big performance improvement for fts-based tools that use FTS_NOSTAT.
67753         Avoid spurious inode-mismatch problems on non-POSIX file systems.
67754         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
67755         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
67756         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
67757         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
67758         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
67759         (fts_set_stat_required): New function.
67760         (fts_open): Defer the calls to fts_stat, if possible or requested.
67761         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
67762         into fts_stat itself.
67763         (fts_read): Perform any required (deferred) fts_stat call.
67764         (fts_build): Likewise, for the directory we're about to open and read.
67765         In the readdir loop, carefully decide whether each entry will require
67766         an eventual call to fts_stat, using dirent.d_type info if available.
67767         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
67768         a command line argument into this function.  Update all callers.
67769         Map a return value of FTS_DOT to FTS_D for a command line argument.
67770         * modules/fts (Depends-on): Add d-type.  Alphabetize.
67771         Thanks to Miklos Szeredi for his tenacity and for the initial
67772         bug report about "find" failing on a FUSE-based file system.
67773
67774         * lib/fts.c (fts_open): Use consistent indentation.
67775
67776 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
67777
67778         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
67779         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
67780         reported by Jim Meyering.  All uses of cache variables renamed
67781         to match Autoconf's.
67782         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
67783         the other one.
67784
67785         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
67786         Fix misspelling in diagnostic.
67787
67788 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
67789
67790         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
67791         defined.  Problem reported by Matthew Woehlke.
67792
67793         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
67794         Add support for Tandem NonStop R series.
67795         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
67796         Use new macro.
67797
67798         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
67799         (has_trailing_slash): Omit size arg; all callers changed.
67800         Omit 'inline', since it doesn't help performance and we'd
67801         need to configure it.
67802         Don't count //, ///, etc. as having a trailing slash.
67803         As a side effect, this removes a C99ism reported by Matthew Woehlke.
67804         (rpl_rename_dest_slash): On failure, use rename's errno rather
67805         than (in some cases) an incorrect or junk errno.
67806         Simplify code by removing need to compute length; this does
67807         cause it to make two passes instead of one over the file name,
67808         but it's worth it.
67809
67810         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
67811         change, since Autoconf's version may no longer be appropriate now
67812         that we are using CVS Autoconf's version.  Add support for Tandem.
67813
67814 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
67815             Bruno Haible  <bruno@clisp.org>
67816
67817         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
67818         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
67819         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
67820         gl_AC_TYPE_LONG_LONG.
67821
67822         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
67823         instead of HAVE_LONG_LONG.
67824         * lib/printf-args.c (printf_fetchargs): Likewise.
67825         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
67826         * lib/vasnprintf.c (VASNPRINTF): Likewise.
67827         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
67828         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
67829         gl_AC_TYPE_LONG_LONG.
67830
67831 2006-10-11  Bruno Haible  <bruno@clisp.org>
67832
67833         * m4/longlong.m4: Add comments.
67834         * m4/ulonglong.m4: Likewise.
67835
67836 2006-10-10  Bruno Haible  <bruno@clisp.org>
67837
67838         Make it possible to #define stpcpy, strdup to aliases.
67839         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
67840         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
67841
67842 2006-10-10  Bruno Haible  <bruno@clisp.org>
67843
67844         Make it possible to #define gcd to an alias.
67845         * lib/gcd.c: Include config.h.
67846
67847 2006-10-10  Bruno Haible  <bruno@clisp.org>
67848
67849         Make it possible to #define c_isascii to an alias.
67850         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
67851         defined. Undefine the macros before defining them, to avoid gcc
67852         warnings.
67853         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
67854         define NO_C_CTYPE_MACROS early.
67855
67856 2006-10-10  Bruno Haible  <bruno@clisp.org>
67857
67858         Make it possible to #define set_program_name to an alias.
67859         * lib/progname.c: Don't undefine set_program_name; instead, undefine
67860         ENABLE_RELOCATABLE early.
67861
67862 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67863
67864         Port to Tandem NSK OSS, which has 64-bit signed int but at most
67865         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
67866         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
67867         More generally, don't assume that 64-bit signed int is available
67868         if unsigned int is, and vice versa.
67869         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
67870         unsigned symbols, not on their signed counterparts.
67871         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
67872         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
67873         (UINT64_C, UINTMAX_C):
67874         Likewise.
67875         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
67876         unsigned counterparts.
67877         (Have_long_long, Unsigned): New macros.
67878         (Int): Renamed from INT.
67879         (strtoimax): Use the new macros.
67880         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
67881         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
67882         * modules/inttypes (inttypes.h): Substitute
67883         HAVE_UNSIGNED_LONG_LONG_INT.
67884         * modules/stdint (stdint.h): Likewise.
67885         (Files): Add m4/ulonglong.m4.
67886
67887 2006-10-10  Bruno Haible  <bruno@clisp.org>
67888
67889         Fix a gcc -Wshadow warning.
67890         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
67891         to 'bucket'.
67892         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
67893         gl_linked_indexof_from_to): Likewise.
67894         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
67895         Likewise.
67896         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
67897         Likewise.
67898         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
67899         Reported by Eric Blake.
67900
67901 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
67902
67903         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
67904         for NetBSD.  Problem reported by Bruno Haible.
67905
67906 2006-10-09  Jim Meyering  <jim@meyering.net>
67907
67908         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
67909         Patch from Bruno Haible.
67910
67911 2006-10-09  Jim Meyering  <jim@meyering.net>
67912
67913         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
67914         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
67915         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
67916
67917 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67918
67919         Don't include <config.h> twice; this doesn't work in some cases,
67920         e.g., when config.h has "#define intmax_t long long int" and
67921         we include <config.h>, <inttypes.h>, <config.h> in that order.
67922         Problem reported by Matthew Woehlke in:
67923         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
67924         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
67925         * lib/fts-cycle.c: Don't include config.h.
67926         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
67927         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
67928         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
67929         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
67930         inttypes.h.
67931         * lib/xstrtoumax.c: Likewise.
67932         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
67933         __strtol and the like, so that this module is more like its siblings.
67934         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
67935         Remove; no longer needed now that we assume gnulib inttypes.h.
67936
67937 2006-10-08  Bruno Haible  <bruno@clisp.org>
67938
67939         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
67940         option.
67941
67942 2006-10-07  Jim Meyering  <jim@meyering.net>
67943
67944         * modules/inttypes (inttypes.h): Revert what seems to have been
67945         an inadvertent part of today's change: use "|", not "/" in the
67946         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
67947
67948 2006-10-07  Bruno Haible  <bruno@clisp.org>
67949
67950         * modules/sublist: New file.
67951
67952 2006-10-07  Bruno Haible  <bruno@clisp.org>
67953
67954         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
67955         * modules/argz (argz.h): Likewise.
67956         * modules/arpa_inet (arpa/inet.h): Likewise.
67957         * modules/byteswap (byteswap.h): Likewise.
67958         * modules/configmake (configmake.h): Likewise.
67959         * modules/fcntl (fcntl.h): Likewise.
67960         * modules/fnmatch (fnmatch.h): Likewise.
67961         * modules/getopt (getopt.h): Likewise.
67962         * modules/glob (glob.h): Likewise.
67963         * modules/inttypes (inttypes.h): Likewise.
67964         * modules/netinet_in (netinet/in.h): Likewise.
67965         * modules/poll (poll.h): Likewise.
67966         * modules/stdbool (stdbool.h): Likewise.
67967         * modules/stdint (stdint.h): Likewise.
67968         * modules/sys_select (sys/select.h): Likewise.
67969         * modules/sys_socket (sys/socket.h): Likewise.
67970         * modules/sys_stat (sys/stat.h): Likewise.
67971         * modules/sysexits (sysexits.h): Likewise.
67972         * modules/unistd (unistd.h): Likewise.
67973         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67974         Add a "DO NOT EDIT" comment to the generated file.
67975         (func_import): Likewise for gnulib-comp.m4.
67976
67977 2006-10-07  Bruno Haible  <bruno@clisp.org>
67978
67979         * lib/gl_sublist.h: New file.
67980         * lib/gl_sublist.c: New file.
67981
67982 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67983
67984         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
67985         name (relative to the original working directory) and the file
67986         name component (relative to the temporary working directory).  All
67987         callers changed.
67988         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
67989         * lib/mkdir-p.c (make_dir_parents): Likewise.
67990         * lib/mkdir-p.h (make_dir_parents): Likewise.
67991
67992 2006-10-06  Eric Blake  <ebb9@byu.net>
67993
67994         Define several macros for use by the clean-temp module.
67995         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
67996         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
67997         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
67998
67999         * lib/clean-temp.h (close_stream_temp): New declaration.
68000         * lib/clean-temp.c (includes): Pull in headers according to what
68001         other modules are in use.
68002         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
68003
68004 2006-10-06  Bruno Haible  <bruno@clisp.org>
68005
68006         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
68007         instead of fopen, fwriteerror.
68008
68009 2006-10-06  Bruno Haible  <bruno@clisp.org>
68010
68011         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
68012         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
68013         int.
68014         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
68015         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
68016         Return an error indicator.
68017         Suggested by Eric Blake.
68018
68019 2006-10-06  Bruno Haible  <bruno@clisp.org>
68020
68021         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
68022         Reported by Eric Blake.
68023
68024 2006-10-06  Bruno Haible  <bruno@clisp.org>
68025
68026         * modules/closeout (Description): Mention stderr too.
68027
68028 2006-10-06  Bruno Haible  <bruno@clisp.org>
68029         and Paul Eggert  <eggert@cs.ucla.edu>
68030
68031         * lib/closeout.c (close_stdout): Also close stderr.
68032         * lib/closeout.h: Update comment.
68033
68034 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
68035
68036         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
68037         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
68038         * lib/dirchownmod.c: Include lchown.h.
68039         * lib/lchown.c: Don't include files that lchown.h now includes.
68040         Don't declare chown, since lchown.h now does that.
68041         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
68042         (lchown): Define to rpl_chown if lchown is declared but
68043         does not exist.  Declare using a prototype if lchown is not
68044         declared.  Add a copyright notice.
68045         * lib/mkstemp.h: Include <unistd.h>.
68046         * lib/openat.c: Include lchown.h.
68047
68048         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
68049         we now test for that separately.
68050         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
68051         rather than O_NOFOLLOW, when testing whether it's possible to
68052         avoid a race condition reliably.
68053         * lib/savewd.c (savewd_chdir): Likewise.
68054
68055         Remove macros that are no longer needed now that stdint.h is
68056         reliable.
68057         * lib/fsusage.c (UINTMAX_MAX): Remove.
68058         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
68059         * lib/utimecmp.c (SIZE_MAX): Remove.
68060
68061         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
68062
68063         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
68064         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
68065         O_NOATIME works.
68066
68067 2006-10-05  Bruno Haible  <bruno@clisp.org>
68068
68069         * lib/gl_list.h (gl_sortedlist_search_from_to,
68070         gl_sortedlist_indexof_from_to): New declarations.
68071         (gl_list_implementation): New fields sortedlist_search_from_to,
68072         sortedlist_indexof_from_to.
68073         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
68074         inline functions.
68075         * lib/gl_list.c (gl_sortedlist_search_from_to,
68076         gl_sortedlist_indexof_from_to): New functions.
68077         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
68078         function.
68079         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
68080         (gl_array_sortedlist_search_from_to): New function.
68081         (gl_array_list_implementation): Update.
68082         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
68083         function.
68084         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
68085         (gl_carray_sortedlist_search_from_to): New function.
68086         (gl_carray_list_implementation): Update.
68087         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
68088         gl_linked_sortedlist_indexof_from_to): New functions.
68089         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
68090         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
68091         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
68092         gl_tree_sortedlist_indexof_from_to): New functions.
68093         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
68094         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
68095         Update.
68096         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
68097         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
68098         Update.
68099
68100 2006-10-05  Bruno Haible  <bruno@clisp.org>
68101
68102         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
68103         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
68104         (struct gl_list_implementation): Add fields search_from_to,
68105         indexof_from_to. Remove fields search, indexof.
68106         (gl_list_search): Use the search_from_to method.
68107         (gl_list_search_from, gl_list_search_from_to): New functions.
68108         (gl_list_indexof): Use the indexof_from_to method.
68109         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
68110         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
68111         (gl_list_search_from, gl_list_search_from_to): New functions.
68112         (gl_list_indexof): Use the indexof_from_to method.
68113         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
68114         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
68115         gl_array_indexof. Add start_index, end_index arguments.
68116         (gl_array_search_from_to): Renamed from gl_array_search. Add
68117         start_index, end_index arguments.
68118         (gl_array_remove, gl_array_list_implementation): Update.
68119         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
68120         gl_carray_indexof. Add start_index, end_index arguments.
68121         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
68122         start_index, end_index arguments.
68123         (gl_carray_remove, gl_carray_list_implementation): Update.
68124         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
68125         gl_linked_search. Add start_index, end_index arguments.
68126         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
68127         start_index, end_index arguments.
68128         (gl_linked_remove): Update.
68129         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
68130         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
68131         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
68132         field to 'size_t'.
68133         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
68134         gl_tree_search. Add start_index, end_index arguments.
68135         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
68136         start_index, end_index arguments.
68137         (gl_tree_remove): Update.
68138         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
68139         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
68140         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
68141         function.
68142         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
68143         gl_tree_search. Add start_index, end_index arguments.
68144         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
68145         start_index, end_index arguments.
68146         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
68147         Update.
68148         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
68149
68150 2006-10-05  Bruno Haible  <bruno@clisp.org>
68151
68152         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
68153
68154         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
68155         fwriteerror_temp): New declarations.
68156         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
68157         (descriptors): New variable.
68158         (cleanup): First, close the descriptors.
68159         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
68160         fclose_temp, fwriteerror_temp): New functions.
68161
68162 2006-10-04  Jim Meyering  <jim@meyering.net>
68163
68164         * lib/fts.c (fts_open): Tiny comment change.
68165
68166 2006-10-04  Bruno Haible  <bruno@clisp.org>
68167
68168         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
68169         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
68170         gl_LOCK_BODY.
68171         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
68172         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
68173         gl_LOCK_EARLY_BODY.
68174         (gl_LOCK): Require gl_LOCK_BODY.
68175
68176 2006-10-04  Bruno Haible  <bruno@clisp.org>
68177
68178         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
68179         (gl_oset_search_atleast): New declaration.
68180         (struct gl_oset_implementation): Add field 'search_atleast'.
68181         (gl_oset_search_atleast): New inline function.
68182         * lib/gl_oset.c (gl_oset_search_atleast): New function.
68183         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
68184         (gl_array_oset_implementation): Update.
68185         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
68186         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
68187         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
68188
68189 2006-10-04  Bruno Haible  <bruno@clisp.org>
68190
68191         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
68192
68193 2006-10-03  Bruno Haible  <bruno@clisp.org>
68194
68195         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
68196         from gl_avltreehash_list_implementation.
68197
68198 2006-10-03  Bruno Haible  <bruno@clisp.org>
68199
68200         * lib/gl_oset.c (gl_oset_add): Fix return type.
68201
68202 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
68203
68204         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
68205
68206 2006-10-02  Eric Blake  <ebb9@byu.net>
68207
68208         * modules/strnlen (Depends-on): Add extensions.
68209
68210 2006-10-02  Eric Blake  <ebb9@byu.net>
68211
68212         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
68213         definition in 2.60+.
68214
68215 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
68216
68217         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
68218         checks.
68219
68220 2006-10-02  Bruno Haible  <bruno@clisp.org>
68221
68222         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
68223         to the AUTOMAKE_OPTIONS.
68224         Reported by Jim Meyering.
68225
68226 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
68227
68228         Work around bug in Solaris 10 /proc file system:
68229         /proc/self/fd/NNN/.. isn't the parent directory of
68230         the directory whose file descriptor is NNN.  This needs to
68231         be worked around at run time, not compile time, since a
68232         program might be built on Solaris 8, where things work, and
68233         run on Solaris 10.
68234         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
68235         to use the following interface instead:
68236         (OPENAT_BUFFER_SIZE): New macro.
68237         (openat_proc_name): New function.
68238         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
68239         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
68240         Likewise.
68241         * lib/openat-proc.c: New file.
68242         * modules/openat (Files): Add lib/openat-proc.c.
68243         (Depends-on): Add same-inode, stdbool.
68244         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
68245
68246 2006-09-29  Bruno Haible  <bruno@clisp.org>
68247
68248         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
68249         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
68250         argument. Set stdout_closed before testing for ferror, not after.
68251         (fwriteerror, fwriteerror_no_ebadf): New functions.
68252
68253 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68254
68255         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
68256
68257 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
68258
68259         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
68260         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
68261
68262 2006-09-28  Jim Meyering  <jim@meyering.net>
68263
68264         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
68265         Include <unistd.h>.
68266
68267 2006-09-28  Bruno Haible  <bruno@clisp.org>
68268
68269         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
68270         * modules/linkedhash-list (Depends-on): Likewise.
68271         * modules/rbtreehash-list (Depends-on): Likewise.
68272
68273 2006-09-28  Bruno Haible  <bruno@clisp.org>
68274
68275         * lib/strndup.h: Simplify the redefinition of strndup.
68276         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
68277         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
68278
68279 2006-09-28  Bruno Haible  <bruno@clisp.org>
68280
68281         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
68282         * lib/gl_linkedhash_list.c: Likewise.
68283         * lib/gl_rbtreehash_list.c: Likewise.
68284
68285 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
68286
68287         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
68288         getaddrinfo.
68289
68290         * lib/__fpending.h: Don't include <stdio_ext.h> unless
68291         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
68292         it causes <stdio_ext.h> to cause a compile-time error.
68293         Problem reported by Nelson H. F. Beebe.
68294         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
68295         of HAVE_DECL___PENDING.
68296
68297         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
68298         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
68299         declaration.
68300
68301 2006-09-27  Jim Meyering  <jim@meyering.net>
68302
68303         This file could end up with a definition for a function
68304         named __strndup, rather than rpl_strndup on a system with
68305         incomplete weak_alias support.
68306         * lib/strndup.c (strndup): Rename from __strndup.
68307         Remove #defines that used to map __strndup to strndup.
68308         Don't use K&R prototypes.
68309         Remove LIBC-related code, since this file is not sync'd with glibc.
68310         * lib/strndup.h: Revamp, accordingly.
68311         * m4/strndup.m4: Modernize.
68312
68313 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
68314
68315         * modules/savewd (Depends-on): Add 'raise'.
68316         * lib/savewd.c: Include <signal.h>, for 'raise'.
68317
68318 2006-09-26  Jim Meyering  <jim@meyering.net>
68319
68320         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
68321         when we detect Darwin 8.7.0's acl_get_file bug.
68322         Rearrange to perform the new (below) run-test while $LIBS
68323         contains any acl-related library.  Set USE_ACL at the end.
68324         (gl_ACL_GET_FILE): New function.
68325
68326 2006-09-26  Eric Blake  <ebb9@byu.net>
68327
68328         * lib/verror.c: Include <config.h> unconditionally.
68329
68330 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
68331
68332         * modules/clock-time (Maintainer): Add self.
68333         * modules/getlogin_r (Depends-on): Add extensions.
68334
68335 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68336
68337         * modules/clock-time: New module.
68338         * modules/nanosleep (Depends-on): Add clock-time.
68339         * modules/gethrxtime (Depends-on): Likewise.
68340         * modules/gettime (Depends-on): Likewise.
68341         * modules/settime (Depends-on): Likewise.
68342
68343         * modules/fts-lgpl: Depend on openat.
68344         * modules/mkancesdirs: Depend on savewd.
68345         * modules/mkdir-p: Likewise.
68346
68347 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68348
68349         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
68350
68351         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
68352         `gl_have_arbitrary_file_name_length_limit' to
68353         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
68354         actually works between configure runs.
68355
68356 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68357             Bruno Haible  <bruno@clisp.org>
68358
68359         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
68360
68361 2006-09-25  Jim Meyering  <jim@meyering.net>
68362
68363         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
68364         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
68365
68366 2006-09-25  Eric Blake  <ebb9@byu.net>
68367
68368         * gnulib-tool (func_import, func_create_testdir): Fix typos in
68369         exec's in 2006-09-18 patch when shuffling fds.
68370
68371 2006-09-25  Bruno Haible  <bruno@clisp.org>
68372
68373         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
68374         Reported by Jim Meyering.
68375
68376 2006-09-24  Jim Meyering  <jim@meyering.net>
68377
68378         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
68379         compare a pointer against a literal "0".  That caused failures with
68380         at least HP-UX's hpcc.
68381
68382 2006-09-22  Simon Josefsson  <jas@extundo.com>
68383
68384         * modules/gc-sha1:
68385         * modules/gc-md4:
68386         * modules/gc-hmac-sha1:
68387         * modules/gc-hmac-md5:
68388         * modules/gc-des:
68389         * modules/gc-arcfour: Distribute more files.
68390
68391 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68392
68393         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
68394         (gl_linked_iterator_from_to): Initialize struct completely.
68395         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
68396         (gl_tree_iterator_from_to): Likewise
68397         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
68398         * lib/gl_array_list.c [lint] (gl_array_iterator)
68399         (gl_array_iterator_from_to): Likewise.
68400         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
68401         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
68402         (gl_carray_iterator_from_to): Likewise.
68403
68404         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
68405         * lib/md4.c (md4_process_block): Remove unused variable.
68406         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
68407         parentheses for clarity.
68408
68409 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68410
68411         * modules/bison-i18n (Depends-on): Add gettext.
68412
68413 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68414
68415         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
68416         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
68417         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
68418         also add missing comma that caused broken test.
68419         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
68420         stdlib.h, for `abort'.
68421         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
68422         variables.
68423         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
68424         include unistd.h if present, for `rmdir'.
68425         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
68426         variables.
68427         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
68428         in the process include standard headers for prototypes.
68429         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
68430         gets declared on GNU/Linux.
68431         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
68432         unistd.h, for `rmdir'.
68433         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
68434
68435         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
68436         always true.
68437         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
68438
68439         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
68440
68441 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68442
68443         * gnulib-tool (func_version): Create output all at once.  This
68444         may help avoid triggering unnecessary SIGPIPEs, and at any
68445         rate it doesn't hurt.
68446
68447 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68448             Bruno Haible  <bruno@clisp.org>
68449
68450         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
68451         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
68452         * m4/signed.m4 (bh_C_SIGNED): Likewise.
68453
68454         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
68455         (gl_FUNC_VASPRINTF): Invoke it.
68456
68457 2006-09-22  Bruno Haible  <bruno@clisp.org>
68458
68459         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
68460         getloadavg.c as first argument.
68461
68462 2006-09-22  Bruno Haible  <bruno@clisp.org>
68463
68464         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
68465         at the beginning of the gl_INIT macro.
68466         * modules/getloadavg (configure.ac): Pass $gl_source_base to
68467         gl_GETLOADAVG.
68468
68469 2006-09-22  Bruno Haible  <bruno@clisp.org>
68470
68471         * gnulib-tool (func_create_megatestdir): Don't include the config-h
68472         module.
68473         Suggested by Ralf Wildenhues.
68474
68475 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68476
68477         Import this patch from libc:
68478
68479         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
68480
68481         * lib/regex_internal.c (re_string_reconstruct): Handle
68482         offset < pstr->valid_raw_len && pstr->offsets_needed case.
68483         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
68484         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
68485         re_string_context_at.
68486
68487         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
68488         now requires it.
68489         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
68490         gl_REGEX now does it for us.
68491         (gl_REGEX): Add test taken from
68492         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
68493
68494         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
68495         Check that large offsets work.  Modernize Autoconf usages.
68496         Prefer "yes" to mean a good thing rather than a bad.
68497         Don't put "#define mkstemp" in config.h, as this might interfere
68498         with standard system headers that "#define mkstemp mkstemp64".
68499
68500         * modules/mkstemp (Depends-on): Add extensions, so that
68501         mkstemp is visible on some platforms.
68502         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
68503         (Include): Change to "mkstemp.h" from <stdlib.h>.
68504         (Files): Add mkstemp.h.
68505
68506         * lib/mkstemp.h: New file, since some standard headers
68507         #define mkstemp.
68508         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
68509         Include "mkstemp.h".
68510         Make the _LIBC code resemble glibc original more,
68511         e.g., use K&R style.
68512         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
68513         (mkstemp): Remove, since mkstemp.h does this for us.
68514         * lib/stdlib--.h: Include mkstemp.h.
68515
68516         Import this patch from libc:
68517
68518         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
68519
68520         * lib/tempname.c (__gen_tempname): Change attempts_min
68521         into a macro.  Use preprocessor to decide how to initialize
68522         attempts [Coverity CID 67].
68523
68524 2006-09-20  Bruno Haible  <bruno@clisp.org>
68525
68526         * lib/mkdtemp.c: Import from libc.
68527         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
68528                 * sysdeps/posix/tempname.c (__gen_tempname): Change
68529                 attempts_min into a macro.  Use preprocessor to decide how to
68530                 initialize attempts [Coverity CID 67].
68531         2001-11-27  Paul Eggert  <eggert@twinsun.com>
68532                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
68533                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
68534
68535 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68536
68537         * gnulib-tool (func_exit): New function, to allow to pass the
68538         exit status portably through the trap.  Use everywhere.
68539         (--help, --version): Signal a write error.
68540         (trap): catch SIGPIPE, for write errors.
68541         Exit at the end of the trap, with the correct exit status.
68542
68543 2006-09-19  Karl Berry  <karl@gnu.org>
68544
68545         * doc/gnulib.texi: note about the license texinfo files.
68546
68547 2006-09-19  Eric Blake  <ebb9@byu.net>
68548
68549         * gnulib-tool: Avoid space-tab.
68550
68551 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
68552
68553         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
68554         that prevented coreutils 6.1 from building.  Problem reported
68555         by Petter Reinholdtsen.
68556
68557 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
68558
68559         * gnulib-tool (avoidlist): Fix typo that broke options like
68560         --avoid=lock that are used by coreutils bootstrap.
68561
68562 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
68563
68564         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
68565         more systematically.
68566
68567 2006-09-18  Jim Meyering  <jim@meyering.net>
68568
68569         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
68570
68571 2006-09-18  Bruno Haible  <bruno@clisp.org>
68572
68573         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
68574
68575 2006-09-18  Bruno Haible  <bruno@clisp.org>
68576
68577         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
68578         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
68579         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
68580         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
68581         * m4/gettext.m4: Require autoconf >= 2.52.
68582         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
68583         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
68584         of gl_cv_header_inttypes_h.
68585
68586 2006-09-18  Bruno Haible  <bruno@clisp.org>
68587
68588         * lib/javaversion.c: Include configmake.h.
68589
68590 2006-09-18  Bruno Haible  <bruno@clisp.org>
68591
68592         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
68593         avoid that the while loops be executed in a subshell.
68594
68595 2006-09-18  Bruno Haible  <bruno@clisp.org>
68596
68597         * MODULES.html.sh (func_module): Break long lines.
68598         Suggested by Bruce Korb <bkorb@gnu.org>.
68599
68600 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68601
68602         Speed up by a factor of 1.12.
68603         * gnulib-tool (nl): New variable.
68604         (func_import): Rewrite include directive extraction to only read each
68605         directive once.
68606
68607 2006-09-17  Bruno Haible  <bruno@clisp.org>
68608
68609         * modules/javaversion (Makefile.am): Remove DEFS setting.
68610         (Depends-on): Add configmake, for PKGDATADIR definition.
68611
68612 2006-09-17  Bruno Haible  <bruno@clisp.org>
68613
68614         * gnulib-tool (func_create_testdir): Rewrite all files at once.
68615
68616 2006-09-17  Bruno Haible  <bruno@clisp.org>
68617
68618         * gnulib-tool (func_append): New function, stolen from libtool.m4.
68619         (func_modules_transitive_closure, func_modules_add_dummy,
68620         func_modules_to_filelist, func_import, func_create_testdir,
68621         func_create_megatestdir, ...): Use it wherever possible.
68622         Suggested by Ralf Wildenhues.
68623
68624 2006-09-16  Karl Berry  <karl@gnu.org>
68625
68626         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
68627         to avoid sectioning errors.
68628         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
68629         [ifinfo]: blank line after @center-ed titles.
68630         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
68631         Spell FSF address consistently with others.
68632         (These changes approved by rms.)
68633
68634 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68635
68636         Speed up by a factor of 1.61.
68637         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
68638         already checked module names again.
68639
68640 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68641
68642         Speed up by a factor of 1.13.
68643         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
68644         for new_files, and the input to func_add_or_update.
68645
68646 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68647
68648         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
68649         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
68650
68651 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68652
68653         * modules/mkancesdirs (Depends-on): Add fcntl.
68654         * modules/savewd: New file.
68655         * MODULES.html.sh (File system functions): Add savewd.
68656
68657         * modules/configmake (Makefile.am): Add support for the
68658         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
68659
68660 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68661
68662         * m4/savewd.m4: New file.
68663
68664 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68665
68666         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
68667         (dirchownmod): New arg FD.  All callers changed.
68668         Use FD rather than opening the directory ourself, as opening is
68669         now the caller's responsibility.
68670         * lib/dirchownmod.h: Likewise.
68671         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
68672         hosts that require <sys/types.h> before <sys/stat.h>.  Include
68673         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
68674         (test_dir): Remove.
68675         (mkancesdirs): Return length of prefix of FILE that has already
68676         been made, or -2 if there is a child doing the work.  Redo
68677         algorithm so that it is O(N) rather than O(N**2).  Optimize away
68678         ".", and treat ".." specially since it might stray back into
68679         already-created areas.  Use a subprocess if necessary.  New arg
68680         WD; all users changed.  MAKE_DIR function should now return 1
68681         if it creates a directory that is not readable.  Return -2 if
68682         a child process is spun off.
68683         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
68684         Adjust signature to match code.
68685         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
68686         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
68687         all users changed.
68688         * lib/savewd.c, lib/savewd.h: New files.
68689
68690 2006-09-15  Jim Meyering  <jim@meyering.net>
68691
68692         * modules/rename-dest-slash: New module.
68693         * MODULES.html.sh (posix_compat): Add it here.
68694
68695         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
68696
68697 2006-09-15  Jim Meyering  <jim@meyering.net>
68698
68699         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
68700         file.
68701
68702         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
68703
68704 2006-09-15  Jim Meyering  <jim@meyering.net>
68705
68706         * lib/rename-dest-slash.c (has_trailing_slash): Use
68707         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
68708         (rpl_rename_dest_slash): Perform the cheaper trailing slash
68709         test before testing whether SRC is a directory.
68710         Suggestions from Bruno Haible.
68711
68712         Avoid a warning about an unused variable.
68713         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
68714         into the #ifdef block where it's used.
68715
68716         * lib/rename-dest-slash.c: New file.
68717
68718 2006-09-14  Bruno Haible  <bruno@clisp.org>
68719
68720         * lib/allocsa.c: Include <config.h> unconditionally.
68721         * lib/asnprintf.c: Likewise.
68722         * lib/asprintf.c: Likewise.
68723         * lib/c-strcasecmp.c: Likewise.
68724         * lib/c-strcasestr.c: Likewise.
68725         * lib/c-strncasecmp.c: Likewise.
68726         * lib/c-strstr.c: Likewise.
68727         * lib/classpath.c: Likewise.
68728         * lib/clean-temp.c: Likewise.
68729         * lib/concatpath.c: Likewise.
68730         * lib/copy-file.c: Likewise.
68731         * lib/csharpcomp.c: Likewise.
68732         * lib/csharpexec.c: Likewise.
68733         * lib/execute.c: Likewise.
68734         * lib/fatal-signal.c: Likewise.
68735         * lib/findprog.c: Likewise.
68736         * lib/fwriteerror.c: Likewise.
68737         * lib/gl_array_list.c: Likewise.
68738         * lib/gl_array_oset.c: Likewise.
68739         * lib/gl_avltree_list.c: Likewise.
68740         * lib/gl_avltree_oset.c: Likewise.
68741         * lib/gl_avltreehash_list.c: Likewise.
68742         * lib/gl_carray_list.c: Likewise.
68743         * lib/gl_linked_list.c: Likewise.
68744         * lib/gl_linkedhash_list.c: Likewise.
68745         * lib/gl_list.c: Likewise.
68746         * lib/gl_oset.c: Likewise.
68747         * lib/gl_rbtree_list.c: Likewise.
68748         * lib/gl_rbtree_oset.c: Likewise.
68749         * lib/gl_rbtreehash_list.c: Likewise.
68750         * lib/imaxabs.c: Likewise.
68751         * lib/imaxdiv.c: Likewise.
68752         * lib/javacomp.c: Likewise.
68753         * lib/javaexec.c: Likewise.
68754         * lib/javaversion.c: Likewise.
68755         * lib/linebreak.c: Likewise.
68756         * lib/localcharset.c: Likewise.
68757         * lib/lock.c: Likewise.
68758         * lib/mbchar.c: Likewise.
68759         * lib/mbswidth.c: Likewise.
68760         * lib/mkdtemp.c: Likewise.
68761         * lib/pipe.c: Likewise.
68762         * lib/printf-args.c: Likewise.
68763         * lib/printf-parse.c: Likewise.
68764         * lib/progname.c: Likewise.
68765         * lib/progreloc.c: Likewise.
68766         * lib/readlink.c: Likewise.
68767         * lib/sh-quote.c: Likewise.
68768         * lib/stpcpy.c: Likewise.
68769         * lib/stpncpy.c: Likewise.
68770         * lib/strcasecmp.c: Likewise.
68771         * lib/strcasestr.c: Likewise.
68772         * lib/strcspn.c: Likewise.
68773         * lib/striconv.c: Likewise.
68774         * lib/strncasecmp.c: Likewise.
68775         * lib/strnlen1.c: Likewise.
68776         * lib/strstr.c: Likewise.
68777         * lib/strtok_r.c: Likewise.
68778         * lib/tls.c: Likewise.
68779         * lib/tmpdir.c: Likewise.
68780         * lib/unicodeio.c: Likewise.
68781         * lib/unsetenv.c: Likewise.
68782         * lib/vasnprintf.c: Likewise.
68783         * lib/vasprintf.c: Likewise.
68784         * lib/wait-process.c: Likewise.
68785         * lib/xallocsa.c: Likewise.
68786         * lib/xsetenv.c: Likewise.
68787         * lib/xstriconv.c: Likewise.
68788
68789 2006-09-13  Simon Josefsson  <jas@extundo.com>
68790
68791         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
68792         that internally, suggested by Ralf Wildenhues
68793         <Ralf.Wildenhues@gmx.de>.
68794
68795 2006-09-13  Simon Josefsson  <jas@extundo.com>
68796
68797         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
68798         @LIBOBJS@.
68799         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68800
68801 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68802
68803         * lib/_fpending.c: Include <config.h> unconditionally, since we no
68804         longer worry about uses that don't define HAVE_CONFIG_H.
68805         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
68806         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
68807         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
68808         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
68809         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
68810         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
68811         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
68812         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
68813         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
68814         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
68815         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
68816         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
68817         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
68818         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
68819         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
68820         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
68821         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
68822         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
68823         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
68824         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
68825         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
68826         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
68827         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
68828         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
68829         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
68830         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
68831         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
68832         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
68833         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
68834         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
68835         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
68836         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
68837         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
68838         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
68839         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
68840         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
68841         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
68842         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
68843         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
68844         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
68845         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
68846         Likewise.
68847
68848 2006-09-13  Eric Blake  <ebb9@byu.net>
68849
68850         * lib/getopt.c: Fix typo in last commit.
68851
68852 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
68853
68854         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
68855         dgettext.
68856
68857 2006-09-12  Jim Meyering  <jim@meyering.net>
68858
68859         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
68860         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
68861         Reported by Nelson H. F. Beebe.
68862
68863 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68864
68865         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
68866         program_invocation_name and program_invocation_short_name are
68867         initialized.
68868         * lib/argp-namefrob.h: Move declarations of program_invocation_name
68869         and program_invocation_short_name to argp.h, so they are visible
68870         to user programs.
68871         * lib/argp.h: Likewise
68872
68873 2006-09-10  Bruno Haible  <bruno@clisp.org>
68874
68875         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68876         m4/inttypes_h.m4, m4/uintmax_t.m4.
68877
68878 2006-09-10  Bruno Haible  <bruno@clisp.org>
68879
68880         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
68881         gl_AC_TYPE_UINTMAX_T.
68882
68883 2006-09-10  Bruno Haible  <bruno@clisp.org>
68884
68885         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
68886
68887 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68888
68889         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
68890         convention.  Text proposed by Bruno Haible.
68891         (struct argp_option): Document the use of N_() wrappers.
68892
68893         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
68894         '\v', and translate the two parts separately, instead of feeding
68895         the whole string to gettext.  This allows to exclude
68896         '\v' from the strings visible to the translator by writing doc
68897         strings as N_("..") "\v" N_("..").
68898
68899 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
68900
68901         * config/srclist.txt: Undo latest change; the bug was fixed.
68902
68903 2006-09-09  Bruno Haible  <bruno@clisp.org>
68904
68905         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
68906         assignments if building a library without libtool.
68907         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
68908         in func_emit_lib_Makefile_am.
68909         (func_import): When building a static library libfoo.a, arrange to
68910         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
68911         (func_create_testdir): Likewise.
68912         * modules/gc (configure.ac, Makefile.am): If building statically,
68913         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
68914         * modules/iconvme (configure.ac, Makefile.am): Likewise.
68915         * modules/striconv (configure.ac, Makefile.am): Likewise.
68916         Based on a suggestion by Ralf Wildenhues.
68917
68918 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68919
68920         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68921         Check for unistd.h too, since Autoconf doesn't assume POSIX.
68922         Also:
68923
68924         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68925         Add year_2050_test to catch glibc bug 2821
68926         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68927
68928         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68929         Prefer #ifdef to #if.
68930
68931         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
68932         Return from 'main' instead of calling 'exit'.
68933
68934 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68935
68936         * lib/mktime.c (guess_time_tm): Fix bug where mktime
68937         returned the maximum time_t value rather than (time_t) -1.
68938         Problem originally reported by William Bardwell
68939         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68940
68941         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68942         Moved to here ...
68943         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68944         ... from here.
68945
68946 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68947
68948         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
68949         2821 is fixed.
68950
68951 2006-09-08  Jim Meyering  <jim@meyering.net>
68952
68953         Don't make generated files read-only.  That would bother too many
68954         people.  However, do retain the ability to work when targets are
68955         read-only: remove the destination and temporary files before writing
68956         them (when generated via sed or echo), or by using the -f option for
68957         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
68958         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68959         * modules/byteswap, modules/configmake, modules/fcntl:
68960         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68961         * modules/localcharset, modules/netinet_in, modules/poll:
68962         * modules/stdbool, modules/stdint, modules/sys_select:
68963         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68964
68965 2006-09-08  Jim Meyering  <jim@meyering.net>
68966
68967         Avoid new build failure on FreeBSD 6.0.
68968         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
68969         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
68970         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
68971
68972 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68973
68974         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
68975
68976 2006-09-07  Jim Meyering  <jim@meyering.net>
68977
68978         Fix global typo in last change: use chmod u-w, not chmod u-x.
68979         Spotted by Paul Eggert and Bruce Korb.
68980         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68981         * modules/byteswap, modules/configmake, modules/fcntl:
68982         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68983         * modules/localcharset, modules/netinet_in, modules/poll:
68984         * modules/stdbool, modules/stdint, modules/sys_select:
68985         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68986
68987 2006-09-06  Jim Meyering  <jim@meyering.net>
68988
68989         Make generated files be read-only.
68990         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
68991         Ensure that each generated file is now read-only.
68992         * modules/argz: Likewise.
68993         * modules/arpa_inet: Likewise.
68994         * modules/byteswap: Likewise.
68995         * modules/configmake: Likewise.
68996         * modules/fcntl: Likewise.
68997         * modules/fnmatch: Likewise.
68998         * modules/getopt: Likewise.
68999         * modules/glob: Likewise.
69000         * modules/inttypes: Likewise.
69001         * modules/netinet_in: Likewise.
69002         * modules/poll: Likewise.
69003         * modules/stdbool: Likewise.
69004         * modules/stdint: Likewise.
69005         * modules/sys_select: Likewise.
69006         * modules/sys_socket: Likewise.
69007         * modules/sys_stat: Likewise.
69008         * modules/sysexits: Likewise.
69009         * modules/localcharset: Same as above, but continue using temporary
69010         file named "t-$@" (why different?) rather than the "$@-t" used
69011         everywhere else.
69012
69013         * modules/sysexits (Makefile.am): Replace literal occurrences
69014         of "sysexit.h" more readable, and more consistent, "$@".
69015
69016 2006-09-06  Bruno Haible  <bruno@clisp.org>
69017
69018         * modules/striconv: New file.
69019         * modules/xstriconv: New file.
69020         * MODULES.html.sh (Internationalization functions): Add striconv,
69021         xstriconv.
69022
69023 2006-09-06  Bruno Haible  <bruno@clisp.org>
69024
69025         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
69026         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
69027         not using libtool correctly.
69028
69029 2006-09-06  Bruno Haible  <bruno@clisp.org>
69030
69031         * lib/striconv.h: New file.
69032         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
69033         iconvstring.c.
69034         * lib/xstriconv.h: New file.
69035         * lib/xstriconv.c: New file.
69036
69037 2006-09-06  Bruno Haible  <bruno@clisp.org>
69038
69039         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69040         lib_..._LDFLAGS.
69041
69042 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69043
69044         * lib/argz_.h: Sync from Libtool.
69045
69046         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
69047                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69048
69049         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
69050
69051 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
69052
69053         * modules/trim: New file.
69054
69055 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
69056
69057         * lib/trim.h: New file.
69058         * lib/trim.c: New file.
69059
69060 2006-09-05  Bruno Haible  <bruno@clisp.org>
69061
69062         * MODULES.html.sh (String handling): Add trim.
69063
69064 2006-09-04  Karl Berry  <karl@gnu.org>
69065
69066         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
69067         until next release.
69068
69069 2006-09-03  Bruno Haible  <bruno@clisp.org>
69070
69071         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
69072         correctly.
69073
69074 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
69075
69076         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
69077         not gl_GETLOADAVG.  Omit unneeded semicolons.
69078         Problems reported by Ralf Wildenhues in
69079         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
69080         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
69081         at the end, which is the usual gnulib style.
69082
69083         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
69084         of doing all the work ourselves.
69085         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
69086         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
69087
69088 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
69089
69090         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
69091         Problem reported by Ralf Wildenhues in
69092         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
69093
69094         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
69095         HAVE_STRUCT_STATFS_F_FSTYPENAME.
69096
69097 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
69098
69099         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
69100         yesterday's patch by changing test -n to test -z.
69101
69102 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69103
69104         * modules/getloadavg (Files): Add m4/getloadavg.m4.
69105         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
69106         the former is now obsolescent.
69107
69108         * modules/chdir-long (Depends-on): Add fcntl.
69109
69110 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69111
69112         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
69113         obsolescent, and programs should use gnulib instead.
69114         * m4/getloadavg.m4: New file, with contents taken from Autoconf
69115         but with prefixes changed.
69116
69117 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69118
69119         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
69120         or stdbool.h, because they might not exist while configuring.
69121
69122         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
69123         Don't include unistd.h or limits.h; not needed, since chdir-long.h
69124         does that for us.
69125         (O_DIRECTORY): Remove.
69126
69127 2006-08-31  Eric Blake  <ebb9@byu.net>
69128
69129         * gnulib-tool: Don't let emacs change spaces to TAB.
69130
69131 2006-08-31  Bruno Haible  <bruno@clisp.org>
69132
69133         * gnulib-tool: When calling func_import more than once, do it in a
69134         subshell.
69135         Reported by Eric Blake <ebb9@byu.net>.
69136
69137 2006-08-31  Bruno Haible  <bruno@clisp.org>
69138
69139         * gnulib-tool (nl): Remove variable.
69140         (sed_transform_lib_file): Use more robust test for config-h module.
69141         (func_import): Fix typo in 2006-08-25 patch.
69142
69143 2006-08-31  Bruno Haible  <bruno@clisp.org>
69144
69145         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
69146         specified, augment Makefile.am variables instead of assigning them.
69147
69148 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
69149
69150         Work around a bug in both the Linux and SunOS 64-bit kernels:
69151         nanosleep mishandles sleeps for longer than 2**31 seconds.
69152         Problem reported by Frank v Waveren in
69153         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
69154         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
69155         Check for nanosleep bug.
69156         (LIB_NANOSLEEP): Append clock_gettime library if needed.
69157
69158 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
69159
69160         Work around a bug in both the Linux and SunOS 64-bit kernels:
69161         nanosleep mishandles sleeps for longer than 2**31 seconds.
69162         Problem reported by Frank v Waveren in
69163         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
69164         * lib/nanosleep.c (BILLION): New constant.
69165         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
69166         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
69167         implementation.
69168
69169 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
69170
69171         * modules/nanosleep (Depends-on): Add gettime.
69172
69173 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
69174         and Simon Josefsson  <jas@extundo.com>
69175         and Oskar Liljeblad  <oskar@osk.mine.nu>
69176
69177         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
69178         * gnulib-tool (func_import): New license type 'unmodifiable license
69179         text'.
69180         * modules/fdl: Use it.  Longer description.
69181         * module/gpl, module/lgpl: New files.
69182
69183 2006-08-30  Jim Meyering  <jim@meyering.net>
69184
69185         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
69186         shadowing the parameter.
69187
69188 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69189
69190         Sync from Libtool:
69191
69192         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69193
69194         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
69195         sharing with gnulib.  Report by Eric Blake.
69196
69197 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69198
69199         * modules/isapipe: New file.
69200         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
69201
69202 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69203
69204         * modules/configmake (Makefile.am): Add a comment, and omit
69205         the CONFIGMAKE_ prefix from generated macro names.  Suggested
69206         by Bruno Haible.
69207
69208 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69209
69210         * m4/isapipe.m4: New file.
69211
69212 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69213
69214         * lib/isapipe.c, lib/isapipe.h: New files.
69215
69216 2006-08-29  Jim Meyering  <jim@meyering.net>
69217
69218         * modules/configmake (Makefile.am): Make configmake.h depend on
69219         Makefile.  Otherwise, a stale configmake.h could hang around.
69220
69221 2006-08-29  Eric Blake  <ebb9@byu.net>
69222
69223         * lib/error.c (error_at_line, print_errno_message): Match libc, after
69224         resolution of upstream bug 3044.
69225
69226 2006-08-29  Bruno Haible  <bruno@clisp.org>
69227
69228         * modules/localcharset (Depends-on): Add configmake.
69229         (Makefile.am): Remove setting of LIBDIR through DEFS.
69230
69231 2006-08-29  Bruno Haible  <bruno@clisp.org>
69232
69233         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
69234         defined.
69235
69236 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
69237
69238         * modules/fcntl: New file.
69239         * modules/chdir-safer (Depends-on): Add fcntl.
69240         * modules/fts: Likewise.
69241         * modules/mkdir-p: Likewise.
69242
69243         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
69244         This undoes the most recent change, since we're now addressing the
69245         problem in a different way.
69246
69247         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
69248         into output, since the output might be called Makefile.am even
69249         if $makefile_name is something different.
69250         (func_import): Use $makefile_am rather than
69251         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
69252         empty.
69253
69254         * modules/inttypes (Files): Add m4/inttypes-h.m4.
69255
69256 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
69257
69258         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
69259         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
69260         recent change to stdint.m4, since we're now addressing the problem in a
69261         different way.
69262
69263 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
69264
69265         * m4/fcntl_h.m4: New file.
69266
69267 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
69268
69269         * lib/fcntl_.h: New file.
69270         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
69271         the fcntl module.
69272         * lib/dirchownmod.c: Likewise.
69273         * lib/fts.c: Likewise.
69274
69275         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
69276         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
69277         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
69278         just before including <inttypes.h>, to avoid circular inclusion.
69279
69280 2006-08-28  Jim Meyering  <jim@meyering.net>
69281
69282         * doc/visibility.texi: Actually read and correct the grammar of the
69283         sentence affected by yesterday's change.
69284
69285 2006-08-28  Eric Blake  <ebb9@byu.net>
69286
69287         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
69288         needs wrapper.
69289
69290 2006-08-28  Eric Blake  <ebb9@byu.net>
69291
69292         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
69293
69294 2006-08-28  Eric Blake  <ebb9@byu.net>
69295
69296         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
69297
69298 2006-08-28  Bruno Haible  <bruno@clisp.org>
69299
69300         * modules/c-strstr: New file, from GNU gettext.
69301         * MODULES.html.sh (String handling): Add c-strstr.
69302
69303 2006-08-28  Bruno Haible  <bruno@clisp.org>
69304
69305         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
69306         macros.
69307         Reported by Eric Blake.
69308
69309 2006-08-28  Bruno Haible  <bruno@clisp.org>
69310
69311         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
69312         (VASNPRINTF): Return a string of length > INT_MAX without failing.
69313         * lib/vasprintf.c: Include errno.h, limits.h.
69314         (EOVERFLOW): New fallback definition.
69315         (vasprintf): Test here whether the string length is > INT_MAX.
69316         * lib/vsnprintf.c: Include errno.h, limits.h.
69317         (EOVERFLOW): New fallback definition.
69318         (vsnprintf): Fix bug when generated string was too long for the buffer.
69319         Test here whether the string length is > INT_MAX.
69320
69321 2006-08-28  Bruno Haible  <bruno@clisp.org>
69322
69323         * lib/inttypes_.h (SCNX*): Remove definitions.
69324         Reported by Eric Blake.
69325
69326 2006-08-28  Bruno Haible  <bruno@clisp.org>
69327
69328         * lib/c-strstr.h: New file, from GNU gettext.
69329         * lib/c-strstr.c: New file, from GNU gettext.
69330
69331 2006-08-28  Bruno Haible  <bruno@clisp.org>
69332
69333         * gnulib-tool: Reorder some statements.
69334
69335 2006-08-28  Bruno Haible  <bruno@clisp.org>
69336
69337         * gnulib-tool: New option --makefile-name.
69338         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
69339         $makefile_name.
69340         (func_import): Write $makefile_name to the cache file, and read it from
69341         there unless explicitly specified. Use $makefile_name as file name
69342         instead of Makefile.am. Adjust the recommendations accordingly.
69343
69344 2006-08-28  Bruno Haible  <bruno@clisp.org>
69345
69346         * gnulib-tool (func_verify_module): Check against misapplying patch.
69347
69348 2006-08-28  Bruno Haible  <bruno@clisp.org>
69349
69350         * gnulib-tool (func_relativize, func_relconcat): New functions.
69351         Give an error if --local-dir is given with --update.
69352         Remove trailing slashes from $local_gnulib_dir.
69353         (func_import): Store the relativized $local_gnulib_dir in
69354         gnulib-cache.m4, and read it from there if not specified explicitly.
69355
69356 2006-08-28  Bruno Haible  <bruno@clisp.org>
69357
69358         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
69359         is the current directory. Respect also $local_gnulib_dir.
69360
69361 2006-08-28  Bruno Haible  <bruno@clisp.org>
69362             Simon Josefsson  <jas@extundo.com>
69363
69364         BeOS portability.
69365         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
69366
69367 2006-08-27  Jim Meyering  <jim@meyering.net>
69368
69369         * doc/visibility.texi: Remove duplicate word: "pointer".
69370
69371 2006-08-26  Bruno Haible  <bruno@clisp.org>
69372
69373         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
69374         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
69375         (Makefile.am): Create inttypes.h from inttypes_.h.
69376         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
69377
69378         * modules/imaxabs: New file.
69379
69380         * modules/imaxdiv: New file.
69381
69382 2006-08-26  Bruno Haible  <bruno@clisp.org>
69383
69384         * m4/inttypes.m4: New file.
69385         * m4/_inttypes_h.m4: Remove file.
69386         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
69387         PRI_MACROS_BROKEN.
69388         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
69389
69390         * m4/imaxabs.m4: New file.
69391
69392         * m4/imaxdiv.m4: New file.
69393
69394 2006-08-26  Bruno Haible  <bruno@clisp.org>
69395
69396         * lib/inttypes_.h: New file.
69397         * lib/inttypes.h: Remove file.
69398         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
69399
69400         * lib/imaxabs.c: New file.
69401
69402         * lib/imaxdiv.c: New file.
69403
69404 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69405
69406         New config-h module, so that "make" output needn't be cluttered
69407         by -DHAVE_CONFIG_H.
69408         * MODULES.html.sh (Support for building libraries and executables):
69409         Add config-h.
69410         * modules/config-h: New file.
69411         * gnulib-tool (nl, sed_transform_lib_file): New vars.
69412         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
69413         the config-h module is used.
69414
69415         New configmake module, so that "make" output needn't be cluttered
69416         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
69417         * MODULES.html.sh (Support for building libraries and executables):
69418         Add configmake.
69419         * modules/configmake: New file.
69420
69421 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69422
69423         * m4/config-h.m4: New file.
69424
69425 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69426
69427         * config/srclist.txt: Add elisp-comp.
69428
69429 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69430
69431         * MODULES.html.sh (Support for building libraries and executables):
69432         Add elisp-comp.
69433         * build-aux/elisp-comp: New file.
69434         * modules/elisp-comp: New file.
69435
69436 2006-08-24  Bruno Haible  <bruno@clisp.org>
69437
69438         * gnulib-tool (func_create_testdir): Use non-default values of
69439         sourcebase and m4base.
69440
69441 2006-08-24  Bruno Haible  <bruno@clisp.org>
69442
69443         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
69444         HTML structure.
69445
69446 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
69447
69448         * modules/openat (Depends-on): Add lchown.
69449
69450 2006-08-23  Bruno Haible  <bruno@clisp.org>
69451
69452         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
69453         of gl_LOCK_EARLY instead of gl_LOCK.
69454
69455 2006-08-23  Bruno Haible  <bruno@clisp.org>
69456
69457         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
69458         on OSF/1 to no.
69459         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
69460
69461 2006-08-23  Bruno Haible  <bruno@clisp.org>
69462
69463         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
69464         as unusable.
69465
69466         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
69467         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
69468         (gl_LOCK): New macro.
69469
69470 2006-08-22  Simon Josefsson  <jas@extundo.com>
69471
69472         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
69473         to md5 module.
69474
69475 2006-08-22  Simon Josefsson  <jas@extundo.com>
69476
69477         * MODULES.html.sh: Add "Support for maintaining and release
69478         projects".
69479
69480         * build-aux/gnupload: New file, from coreutils.
69481
69482 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
69483
69484         Avoid the need for AC_LIBSOURCES in m4 macros.
69485         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
69486         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
69487         * modules/check-version (EXTRA_DIST): Add check-version.h.
69488         * modules/crc (EXTRA_DIST): Add crc.h.
69489         * modules/des (EXTRA_DIST): Add des.h.
69490         * modules/gc (EXTRA_DIST): Add gc.h.
69491         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
69492         * modules/getline (EXTRA_DIST): Add getline.h.
69493         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
69494         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
69495         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
69496         * modules/md2 (EXTRA_DIST): Add md2.h.
69497         * modules/md4 (EXTRA_DIST): Add md4.h.
69498         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
69499         * modules/read-file (EXTRA_DIST): Add read-file.h.
69500         * modules/readline (EXTRA_DIST): Add readline.h.
69501         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
69502         rijndael-api-fst.h.
69503
69504 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
69505
69506         * m4/rijndael.m4 (gl_ARCFOUR):
69507         * m4/arctwo.m4 (gl_ARCTWO):
69508         * m4/check-version.m4 (gl_CHECK_VERSION):
69509         * m4/crc.m4 (gl_CRC):
69510         * m4/des.m4 (gl_DES):
69511         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
69512         * m4/gc.m4 (gl_GC):
69513         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
69514         * m4/getline.m4 (gl_FUNC_GETLINE):
69515         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
69516         * m4/hmac-md5.m4 (gl_HMAC_MD5):
69517         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
69518         * m4/md2.m4 (gl_MD2):
69519         * m4/md4.m4 (gl_MD4):
69520         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
69521         * m4/read-file.m4 (gl_FUNC_READ_FILE):
69522         * m4/readline.m4 (gl_FUNC_READLINE):
69523         * m4/rijndael.m4 (gl_RIJNDAEL):
69524         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
69525         to get the necessary .h files and whatnot.
69526
69527 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
69528
69529         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
69530         gnulib rather than the other way around.
69531         * config/srclistvars.sh (COREUTILS): Remove.
69532
69533 2006-08-22  Jim Meyering  <jim@meyering.net>
69534
69535         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
69536
69537         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
69538
69539 2006-08-22  Eric Blake  <ebb9@byu.net>
69540
69541         * modules/regexprops-generic: New file.
69542         * MODULES.html.sh (Support for building documentation): List it.
69543
69544 2006-08-22  Eric Blake  <ebb9@byu.net>
69545
69546         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
69547         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
69548         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
69549         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
69550
69551 2006-08-22  Bruno Haible  <bruno@clisp.org>
69552
69553         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
69554         and lib_LTLIBRARIES like the other lib_* variables.
69555
69556 2006-08-22  Bruno Haible  <bruno@clisp.org>
69557
69558         * build-aux/x-to-1.in: New file, from GNU gettext.
69559
69560 2006-08-22  Bruno Haible  <bruno@clisp.org>
69561
69562         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
69563         <utmpx.h> exists.
69564
69565 2006-08-22  Bruno Haible  <bruno@clisp.org>
69566
69567         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
69568         <utmpx.h> exists.
69569
69570 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69571
69572         BeOS portability.
69573         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
69574         exist.
69575         Problem reported by Bruno Haible.
69576
69577 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69578
69579         Avoid the need for AC_LIBSOURCES in m4 macros.
69580         * modules/acl (EXTRA_DIST): Add acl.h.
69581         * modules/argmatch (Files): Add m4/argmatch.m4.
69582         (configure.ac): Add gl_ARGMATCH.
69583         (EXTRA_DIST): Renamed from lib_SOURCES, for
69584         consistency with the other modules.  Remove argmatch.c.
69585         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
69586         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
69587         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
69588         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
69589         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
69590         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
69591         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
69592         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
69593         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
69594         * modules/closeout (EXTRA_DIST): Add closeout.h.
69595         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
69596         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
69597         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
69598         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
69599         dirname.h; remove basename.c and stripslash.c.
69600         * modules/exclude (EXTRA_DIST): Add exclude.h.
69601         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
69602         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
69603         * modules/file-type (EXTRA_DIST): Add file-type.h.
69604         * modules/filemode (EXTRA_DIST): Add filemode.h.
69605         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
69606         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
69607         * modules/fpending (EXTRA_DIST): Add __fpending.h.
69608         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
69609         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
69610         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
69611         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
69612         * modules/getdate (EXTRA_DIST): Add getdate.c.
69613         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
69614         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
69615         * modules/getpass (EXTRA_DIST): Add getpass.h.
69616         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
69617         * modules/group-member (EXTRA_DIST): Add group-member.h.
69618         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
69619         * modules/hash (EXTRA_DIST): Add hash.h.
69620         * modules/human (EXTRA_DIST): Add human.h.
69621         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
69622         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
69623         * modules/lchown (EXTRA_DIST): Add lchown.h.
69624         * modules/long-options (EXTRA_DIST): Add long-options.h.
69625         * modules/lstat (EXTRA_DIST): Add lstat.h.
69626         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
69627         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
69628         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
69629         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
69630         * modules/memxor (EXTRA_DIST): Add memxor.h.
69631         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
69632         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
69633         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
69634         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
69635         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
69636         * modules/physmem (EXTRA_DIST): Add physmem.h.
69637         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
69638         * modules/posixver (EXTRA_DIST): Add posixver.h.
69639         * modules/quote (EXTRA_DIST): Add quote.h.
69640         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
69641         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
69642         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
69643         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
69644         regex_internal.h regexec.c.
69645         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
69646         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
69647         * modules/same (EXTRA_DIST): Add same.h.
69648         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
69649         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
69650         * modules/savedir (EXTRA_DIST): Add savedir.h.
69651         * modules/sha1 (EXTRA_DIST): Add sha1.h.
69652         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
69653         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
69654         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
69655         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
69656         * modules/strdup (EXTRA_DIST): Add strdup.h.
69657         * modules/strftime (EXTRA_DIST): Add strftime.h.
69658         * modules/strndup (EXTRA_DIST): Add strndup.h.
69659         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
69660         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
69661         * modules/time_r (EXTRA_DIST): Add time_r.h.
69662         * modules/timespec (EXTRA_DIST): Add timespec.h.
69663         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
69664         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
69665         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
69666         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
69667         * modules/userspec (EXTRA_DIST): Add userspec.h.
69668         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
69669         * modules/utimens (EXTRA_DIST): Add utimens.h.
69670         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
69671         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
69672         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
69673         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
69674         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
69675         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
69676         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
69677         * modules/yesno (EXTRA_DIST): Add yesno.h.
69678
69679 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69680
69681         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
69682
69683         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
69684         * m4/dev-ino.m4, same-inode.m4: Remove.
69685
69686         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
69687         * m4/acl.m4 (AC_FUNC_ACL):
69688         * m4/backupfile.m4 (gl_BACKUPFILE):
69689         * m4/c-strtod.m4 (gl_C99_STRTOLD):
69690         * m4/canon-host.m4 (gl_CANON_HOST):
69691         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69692         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
69693         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
69694         * m4/cloexec.m4 (gl_CLOEXEC):
69695         * m4/close-stream.m4 (gl_CLOSE_STREAM):
69696         * m4/closeout.m4 (gl_CLOSEOUT):
69697         * m4/dirfd.m4 (gl_FUNC_DIRFD):
69698         * m4/dirname.m4 (gl_DIRNAME):
69699         * m4/exclude.m4 (gl_EXCLUDE):
69700         * m4/exitfail.m4 (gl_EXITFAIL):
69701         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
69702         * m4/file-type.m4 (gl_FILE_TYPE):
69703         * m4/filemode.m4 (gl_FILEMODE):
69704         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
69705         * m4/fpending.m4 (gl_FUNC_FPENDING):
69706         * m4/fprintftime.m4 (gl_FPRINTFTIME):
69707         * m4/fts.m4 (gl_FUNC_FTS):
69708         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
69709         * m4/getdate.m4 (gl_GETDATE):
69710         * m4/gethrxtime.m4 (gl_GETHRXTIME):
69711         * m4/getpagesize.m4 (gl_GETPAGESIZE):
69712         * m4/getpass.m4 (gl_FUNC_GETPASS):
69713         * m4/gettime.m4 (gl_GETTIME):
69714         * m4/getugroups.m4 (gl_GETUGROUPS):
69715         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
69716         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
69717         * m4/hard-locale.m4 (gl_HARD_LOCALE):
69718         * m4/hash.m4 (gl_HASH):
69719         * m4/idcache.m4 (gl_IDCACHE):
69720         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
69721         * m4/lchown.m4 (gl_FUNC_LCHOWN):
69722         * m4/long-options.m4 (gl_LONG_OPTIONS):
69723         * m4/lstat.m4 (gl_FUNC_LSTAT):
69724         * m4/md5.m4 (gl_MD5):
69725         * m4/memcasecmp.m4 (gl_MEMCASECMP):
69726         * m4/memcoll.m4 (gl_MEMCOLL):
69727         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
69728         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
69729         * m4/memxor.m4 (gl_MEMXOR):
69730         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
69731         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
69732         * m4/modechange.m4 (gl_MODECHANGE):
69733         * m4/mountlist.m4 (gl_MOUNTLIST):
69734         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69735         * m4/openat.m4 (gl_FUNC_OPENAT):
69736         * m4/pathmax.m4 (gl_PATHMAX):
69737         * m4/physmem.m4 (gl_PHYSMEM):
69738         * m4/posixtm.m4 (gl_POSIXTM):
69739         * m4/posixver.m4 (gl_POSIXVER):
69740         * m4/quote.m4 (gl_QUOTE):
69741         * m4/quotearg.m4 (gl_QUOTEARG):
69742         * m4/readtokens.m4 (gl_READTOKENS):
69743         * m4/readutmp.m4 (gl_READUTMP):
69744         * m4/regex.m4 (gl_REGEX):
69745         * m4/safe-read.m4 (gl_SAFE_READ):
69746         * m4/safe-write.m4 (gl_SAFE_WRITE):
69747         * m4/same.m4 (gl_SAME):
69748         * m4/save-cwd.m4 (gl_SAVE_CWD):
69749         * m4/savedir.m4 (gl_SAVEDIR):
69750         * m4/settime.m4 (gl_SETTIME):
69751         * m4/sha1.m4 (gl_SHA1):
69752         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
69753         * m4/stat-macros.m4 (gl_STAT_MACROS):
69754         * m4/stat-time.m4 (gl_STAT_TIME):
69755         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
69756         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
69757         * m4/strdup.m4 (gl_FUNC_STRDUP):
69758         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
69759         * m4/strndup.m4 (gl_FUNC_STRNDUP):
69760         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
69761         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
69762         * m4/time_r.m4 (gl_TIME_R):
69763         * m4/timespec.m4 (gl_TIMESPEC):
69764         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
69765         * m4/unlinkdir.m4 (gl_UNLINKDIR):
69766         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
69767         * m4/userspec.m4 (gl_USERSPEC):
69768         * m4/utimecmp.m4 (gl_UTIMECMP):
69769         * m4/utimens.m4 (gl_UTIMENS):
69770         * m4/xalloc.m4 (gl_XALLOC):
69771         * m4/xgetcwd.m4 (gl_XGETCWD):
69772         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
69773         * m4/xreadlink.m4 (gl_XREADLINK):
69774         * m4/xstrtod.m4 (gl_XSTRTOD):
69775         * m4/yesno.m4 (gl_YESNO):
69776         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
69777         to get the necessary .h files and whatnot.
69778
69779 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
69780             Bruno Haible  <bruno@clisp.org>
69781
69782         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
69783         /bin/sh understanding of '!' conditional negation.
69784
69785 2006-08-21  Jim Meyering  <jim@meyering.net>
69786
69787         * modules/openat (Depends-on): Really alphabetize.
69788
69789         * modules/acl (Depends-on): Add error and quote.
69790
69791         * check-module (find_included_lib_files): Add at-func.c to the
69792         ok-to-include-more-than-once white list.
69793
69794         * modules/openat (Depends-on): Add lstat.  Alphabetize.
69795
69796 2006-08-21  Bruno Haible  <bruno@clisp.org>
69797
69798         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69799         Emit a pkgdata_DATA variable only if some snippets add contents to it.
69800         Reported by Martin Lambers <marlam@marlam.de>.
69801
69802 2006-08-21  Bruno Haible  <bruno@clisp.org>
69803
69804         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
69805         specify an installation location, don't emit a noinst_LIBRARIES or
69806         noinst_LTLIBRARIES assignment.
69807
69808 2006-08-21  Bruno Haible  <bruno@clisp.org>
69809
69810         BeOS portability.
69811         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
69812         BeOS has mbrtowc() but no <wctype.h>.
69813
69814 2006-08-21  Bruno Haible  <bruno@clisp.org>
69815
69816         BeOS portability.
69817         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
69818         exist.
69819
69820 2006-08-21  Bruno Haible  <bruno@clisp.org>
69821
69822         BeOS portability.
69823         * lib/mbchar.h: Include <wctype.h> only if it exists.
69824
69825 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69826
69827         Remove files that are no longer needed by their respective modules.
69828         * m4/obstack.m4: Remove.
69829         * m4/strerror_r.m4: Remove.
69830         * m4/uint32_t.m4: Remove.
69831         * m4/uintptr_t.m4: Remove.
69832         * m4/ullong_max.m4: Remove.
69833         * m4/xstrtoimax.m4: Remove.
69834         * m4/xstrtoumax.m4: Remove.
69835
69836         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
69837         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
69838         dependencies now capture this.
69839
69840         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
69841         Do not use AC_LIBSOURCES, since gnulib modules now do this.
69842         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
69843         * m4/human.m4 (gl_HUMAN): Likewise.
69844         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
69845         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
69846
69847         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
69848
69849         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
69850         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
69851         stdint.
69852         * m4/human.m4 (gl_HUMAN): Likewise.
69853         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
69854         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
69855         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69856         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69857         * m4/xstrtol (gl_XSTRTOL): Likewise.
69858
69859         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
69860         AC_TYPE_LONG_LONG_INT.
69861         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69862         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
69863         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
69864         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69865
69866         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
69867         on stdbool.
69868
69869         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
69870         (gl_PREREQ_XSTRTOUL): Remove.
69871
69872         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
69873
69874         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
69875         mode.
69876
69877 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69878
69879         Add and change modules to make it easier for coreutils to use
69880         gnulib-tool.
69881         * modules/backupfile (Files): Remove m4/d-ino.m4.
69882         (Depends-on): Add d-ino.
69883         * modules/cycle-check (Depends-on): Add stdint.
69884         (lib_SOURCES): Add cycle-check.h.
69885         * modules/d-ino: New module.
69886         * modules/d-type: New module.
69887         * modules/error (Files): Remove m4/strerror_r.m4.
69888         * modules/filemode (Files): Add m4/st_dm_mode.m4.
69889         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
69890         m4/inttypes_h.m4, m4/uintmax_t.m4.
69891         (Depends-on): Add stdint.
69892         (lib_SOURCES): Add fsusage.h.
69893         * modules/getcwd (Files): Remove d-ino.m4.
69894         (Depends-on): Add d-ino.
69895         * modules/getndelim2 (Depends-on): Add stdint.
69896         * modules/glob (Files): Remove m4/d-type.m4.
69897         (Depends-on): Add d-type.
69898         * modules/host-os: New module.
69899         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
69900         m4/inttypes_h.m4, m4/uintmax_t.m4.
69901         * Depends-on: Add stdint.
69902         (lib_SOURCES): Add human.h.
69903         * modules/inttostr (Files): Remove m4/intmax_t.m4,
69904         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
69905         m4/uintmax_t.m4, m4/ulonglong.m4.
69906         (Depends-on): Add stdint.
69907         (EXTRA_DIST): Add inttostr.h.
69908         * modules/lchmod: New module.
69909         * modules/link-follow: New module.
69910         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
69911         (Depends-on): Add lchmod.
69912         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
69913         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
69914         (Depends-on): Add stdint.
69915         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
69916         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
69917         (Depends-on): Add stdint.
69918         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
69919         * modules/perl: New module.
69920         * modules/regex (Depends-on): Add stdint.
69921         * modules/rmdir-errno: New module.
69922         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69923         m4/intmax_t.m4.
69924         (Depends-on): Add stdint.
69925         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69926         m4/uintmax_t.m4.
69927         (Depends-on): Add stdint.
69928         * modules/unlink-busy: New module.
69929         * modules/utimecmp (Depends-on): Add stdint.
69930         * modules/uptime: New module.
69931         * modules/winsz-ioctl: New module.
69932         * modules/winsz-termios: New module.
69933         * modules/xnanosleep (Depends-on): Add nanosleep.
69934         * modules/ullong_max: Remove.
69935         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
69936         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
69937         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
69938         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
69939         (Depends-on): Add inttypes.
69940         (lib_SOURCES): Add xstrtol.h.
69941         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
69942         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
69943         * MODULES.html.sh: Move 'assert' into the assert section.
69944         Move 'dummy' into the linking section.
69945         Remove ullong_max.
69946         Add section for compatibility checks for POSIX:2001 functions,
69947         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
69948         winsz-ioctl, and winsz-termios into it.
69949         Add lchmod.
69950         Add top-level Misc section and put host-os, perl, and uptime
69951         into it.
69952
69953 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69954
69955         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
69956         now assume the stdint module.  Do not include inttypes.h.
69957         * lib/fsusage.h: Likewise.
69958         * lib/getndelim2.c: Likewise.
69959         * lib/human.h: Likewise.
69960         * lib/inttostr.h: Likewise.
69961         * lib/obstack.c: Likewise.
69962         * lib/regex_internal.h: Likewise.
69963         * lib/tempname.c: Likewise.
69964         * lib/utimecmp.c: Likewise.
69965         * lib/xstrtol.h: Likewise.
69966
69967         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
69968
69969         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
69970         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
69971         * lib/xtime.h: Likewise.
69972
69973 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69974
69975         * modules/openat (Files): Add lib/fchmodat.c.
69976         Fixes problem reported by Jay Youngman.
69977
69978 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69979
69980         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
69981         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
69982
69983 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
69984             Bruno Haible  <bruno@clisp.org>
69985
69986         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
69987         and is a script that invokes bison. Tighten the code. Add comments.
69988
69989 2006-08-18  Jim Meyering  <jim@meyering.net>
69990
69991         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
69992         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
69993         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
69994         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
69995
69996 2006-08-18  Bruno Haible  <bruno@clisp.org>
69997
69998         * modules/bison-i18n: New file.
69999         * MODULES.html.sh (Internationalization functions): Add it.
70000
70001 2006-08-18  Bruno Haible  <bruno@clisp.org>
70002
70003         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
70004         sys/statvfs.h. When getmntinfo was found, check its declaration and
70005         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
70006
70007 2006-08-18  Bruno Haible  <bruno@clisp.org>
70008
70009         * m4/bison-i18n.m4: New file, from bison.
70010
70011 2006-08-18  Bruno Haible  <bruno@clisp.org>
70012
70013         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
70014         (ME_DUMMY): Treat "kernfs" as a dummy.
70015         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
70016
70017 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70018
70019         Update from coreutils.
70020
70021         2006-08-15  Jim Meyering  <jim@meyering.net>
70022
70023         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
70024
70025         2006-01-17  Jim Meyering  <jim@meyering.net>
70026
70027         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
70028
70029         2006-01-11  Jim Meyering  <jim@meyering.net>
70030
70031         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
70032         Check for the lchmod function.
70033
70034 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70035
70036         Update from coreutils.
70037
70038         * lib/__fpending.h: Add copyright notice.
70039         * lib/fprintftime.h: Likewise.
70040         * lib/savedir.c: Use (C) in copyright notice.
70041         * lib/savedir.h: Likewise.
70042
70043         2006-08-15  Jim Meyering  <jim@meyering.net>
70044
70045         * lib/at-func.c: New file, with the logic of all emulated at-functions.
70046         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
70047         in support of the EXPECTED_ERRNO macro.
70048         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
70049         definitions.  Instead, define the appropriate symbols and include
70050         "at-func.c".
70051         * lib/mkdirat.c (mkdirat): Likewise.
70052         * lib/fchmodat.c (fchmodat): Likewise.
70053         (ENOSYS): Remove definition.
70054         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
70055         it.  Don't include "unistd--.h" -- it wasn't ever used.
70056
70057         2006-01-17  Jim Meyering  <jim@meyering.net>
70058
70059         Rewrite fts.c not to change the current working directory,
70060         by using openat, fstatat, fdopendir, etc..
70061
70062         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
70063         (HAVE_OPENAT_SUPPORT): Define.
70064         [_LIBC] (fchdir): Don't undef or define; no longer used.
70065         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
70066         Now, this `function' always succeeds, and consumes its file descriptor
70067         parameter -- so callers must not close such FDs.  Update callers.
70068         (diropen_fd, opendirat, cwd_advance_fd): New functions.
70069         (diropen): Add parameter, SP.  Adjust all callers.
70070         Implement using diropen_fd, rather than open.
70071         (fts_open): Initialize new member, fts_cwd_fd.
70072         Remove fts_rft-setting code.
70073         (fts_close): Close fts_cwd_fd, if necessary.
70074         (__opendir2): Define in terms of opendir or opendirat,
70075         depending on whether the FST_NOCHDIR flag is set.
70076         (fts_build): Since fts_safe_changedir consumes its FD, and since
70077         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
70078         and close the dup'd file descriptor upon failure.
70079         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
70080         (fts_safe_changedir): Tweak semantics to reflect that this function
70081         now calls cwd_advance_fd and hence consumes its FD argument.
70082         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
70083         [struct FTS] (fts_rft): Remove now-unused member.
70084         [struct FTS] (fts_cycle.state): Improve comment.
70085
70086         * lib/openat.c (openat_needs_fchdir): New function.
70087         * lib/openat.h (openat_needs_fchdir): Declare it.
70088
70089 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
70090
70091         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
70092         Problem and fix reported by Pádraig Brady in
70093         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
70094
70095 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70096
70097         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
70098
70099 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70100
70101         * lib/memcoll.c (memcoll): Optimize for the common case where the
70102         arguments are bytewise equal.
70103
70104 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70105
70106         * doc/regexprops-generic.texi: Add a copyright notice.
70107
70108 2006-08-15  Bruno Haible  <bruno@clisp.org>
70109
70110         * modules/tmpdir (License): Change to LGPL.
70111
70112 2006-08-15  Bruno Haible  <bruno@clisp.org>
70113
70114         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
70115         module.
70116
70117 2006-08-14  Simon Josefsson  <jas@extundo.com>
70118
70119         * config/srclist.txt: Add gnupload.
70120
70121 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
70122
70123         Change copyright notice from LGPL 2 to GPL 2, since that's the
70124         standard form used in the gnulib repository.
70125         * tests/test-lock.c: Likewise.
70126         * tests/test-stdint.c: Likewise.
70127         * tests/test-tls.c: Likewise.
70128
70129         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
70130         prelude-manager.  User shorter URLs for GNU projects, without '?'.
70131         Add copyright notice.
70132
70133         * check-module: Add copyright notice.  Output a copyright
70134         notice if "--version" is specified.
70135         * modules/COPYING: New file.
70136         * tests/test-getaddrinfo.c: Add copyright notice.
70137         * tests/test-verify.c: Likewise.
70138
70139 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
70140
70141         Change copyright notice from LGPL 2 to GPL 2, since that's the
70142         standard form used in the gnulib repository.
70143         * lib/lock.c: LGPL -> GPL.
70144         * lib/lock.h: Likewise.
70145         * lib/strnlen1.c: Likewise.
70146         * lib/strnlen1.h: Likewise.
70147         * lib/tls.c: Likewise.
70148         * lib/tls.h: Likewise.
70149         * lib/tmpdir.c: Likewise.
70150
70151         * lib/TODO: Remove; this belongs only in coreutils.
70152
70153 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
70154
70155         Add copyright notices to long-enough files that lack them, since
70156         otherwise the files aren't clearly free.  Use the same notice that
70157         getdate.texi already uses.
70158         * doc/alloca-opt.texi: Add copyright notice.
70159         * doc/alloca.texi: Likewise.
70160         * doc/ctime.texi: Likewise.
70161         * doc/functions.texi: Likewise.
70162         * doc/gcd.texi: Likewise.
70163         * doc/gnulib-tool.texi: Likewise.
70164         * doc/inet_ntoa.texi: Likewise.
70165         * doc/visibility.texi: Likewise.
70166
70167         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
70168         * doc/quote.texi: Add copyright notice.
70169
70170         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
70171         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
70172         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
70173         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
70174         is now obsolete, and give a pointer to the Sun list.
70175         Add copyright notice.
70176
70177 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
70178
70179         * config/srclistvars.sh: Add copyright notice.
70180
70181 2006-08-14  Eric Blake  <ebb9@byu.net>
70182
70183         Import the following change from libc:
70184
70185         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
70186
70187         Upstream bug 2997.
70188         * lib/misc/error.c: Add space between program name and message if file
70189         name is missing.
70190
70191 2006-08-12  Karl Berry  <karl@gnu.org>
70192
70193         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
70194         remove, these originate in gnulib now.
70195
70196 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70197
70198         * doc/Makefile (standards.info standards.html standards.dvi):
70199         Also depend on make-stds.texi.
70200
70201 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70202
70203         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
70204         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
70205
70206         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
70207         in wchar_t.  Problem reported by Eric Blake.
70208
70209         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
70210         LEN is smaller than SIZE.  Suggested by Bruno Haible.
70211         Also, help the compiler to keep LEN in a register.
70212
70213 2006-08-11  Eric Blake  <ebb9@byu.net>
70214
70215         * users.txt: Sort.  Add tar.
70216
70217 2006-08-11  Bruno Haible  <bruno@clisp.org>
70218
70219         * users.txt: New file.
70220
70221 2006-08-11  Bruno Haible  <bruno@clisp.org>
70222
70223         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
70224         before <wchar.h>. Needed for OSF/1 and BSD/OS.
70225
70226 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
70227
70228         * modules/snprintf (Depends-on): Remove minmax.
70229         (Maintainer): Add self and Bruno.
70230
70231 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
70232
70233         * lib/.cppi-disable: Add snprintf.h, socket_.h.
70234         * lib/snprintf.c: Include <errno.h> and <limits.h>.
70235         (EOVERFLOW): Define if the system does not.
70236         Do not include "minmax.h"; it wasn't used.
70237         (snprintf): Don't assume size_t promotes to an unsigned type.
70238         Fix bug when generated string was too long for the buffer: the
70239         buffer's contents are supposed to be the initial prefix of the
70240         output.  Don't assume vasnprintf returns EOVERFLOW if the size
70241         exceeds INT_MAX; do the check ourselves.
70242
70243         Import the following changes from libc:
70244
70245         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
70246
70247         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
70248         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
70249         set wc to the byte which couldn't be converted.
70250         (re_string_reconstruct): Don't clear valid_raw_len before calling
70251         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
70252         tip_context using re_string_context_at.
70253
70254         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
70255
70256         * lib/posix/regex.h: g++ still cannot handled [restrict].
70257
70258         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
70259
70260         * lib/posix/regex.h: Remove special handling for VMS.
70261
70262 2006-08-10  Jim Meyering  <jim@meyering.net>
70263
70264         * modules/same-inode: New module.
70265         * modules/dev-ino: New module.
70266         * modules/cycle-check: Depend on these modules, rather than simply
70267         including their .h files.
70268         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
70269         required via m4/cycle-check.m4.
70270         * modules/same: Depend on new same-inode module, rather than
70271         including same-inode.h.
70272         * modules/chdir-safer: New file.
70273
70274         * modules/chown (Depends-on): Add stat-macros.
70275
70276 2006-08-10  Jim Meyering  <jim@meyering.net>
70277
70278         * m4/cycle-check.m4: New file.
70279         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
70280         * m4/dev-ino.m4, m4/same-inode.m4: New files.
70281
70282 2006-08-10  Eric Blake  <ebb9@byu.net>
70283
70284         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
70285         in from original proposal.
70286
70287 2006-08-10  Eric Blake  <ebb9@byu.net>
70288         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
70289
70290         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
70291         namespace.
70292
70293 2006-08-10  Bruno Haible  <bruno@clisp.org>
70294
70295         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
70296         as well.
70297
70298 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70299
70300         Sync from coreutils.
70301
70302         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
70303
70304         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
70305         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
70306
70307 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70308
70309         * modules/restrict: Remove; no longer needed now that we assume
70310         Autoconf 2.59 or later.
70311         * MODULES.html.sh: Remove 'restrict'.
70312         * modules/argp (Depends-on): Remove 'restrict'.
70313         * modules/base64 (Depends-on): Likewise.
70314         * modules/gc (Depends-on): Likewise.
70315         * modules/getaddrinfo (Depends-on): Likewise.
70316         * modules/glob (Depends-on): Likewise.
70317         * modules/inet_ntop (Depends-on): Likewise.
70318         * modules/inet_pton (Depends-on): Likewise.
70319         * modules/memxor (Depends-on): Likewise.
70320         * modules/regex (Depends-on): Likewise.
70321         * modules/strtok_r (Depends-on): Likewise.
70322         * modules/time_r (Depends-on): Likewise.
70323
70324 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70325
70326         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
70327         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
70328         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70329         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
70330         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
70331         * m4/memxor.m4 (gl_MEMXOR): Likewise.
70332         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
70333         gl_C_RESTRICT replaced by AC_C_RESTRICT.
70334
70335         Merge from coreutils.
70336         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
70337         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
70338         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
70339         * m4/time_r.m4 (gl_TIME_R): Likewise.
70340
70341 2006-08-09  Karl Berry  <karl@gnu.org>
70342
70343         * config/srclist.txt: no more gettext-tools, per Bruno.
70344
70345 2006-08-08  Eric Blake  <ebb9@byu.net>
70346
70347         * modules/verror: New module.
70348         * MODULES.html.sh: Document it.
70349
70350 2006-08-08  Eric Blake  <ebb9@byu.net>
70351
70352         * lib/verror.h, lib/verror.c: New files.
70353
70354 2006-08-08  Eric Blake  <ebb9@byu.net>
70355
70356         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
70357         verror_at_line output complies with GNU Coding Standards even when
70358         file is NULL.
70359
70360 2006-08-07  Bruno Haible  <bruno@clisp.org>
70361
70362         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
70363         versions of AIX.
70364         Reported by Ralf Wildenhues.
70365
70366 2006-08-07  Bruno Haible  <bruno@clisp.org>
70367
70368         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
70369         in an AC_DEFUN. Needed so that the autoconf snippets can use
70370         AC_REQUIRE.
70371
70372 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70373
70374         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70375         Initialize pkgdata_DATA.
70376         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
70377         overriding it.
70378
70379 2006-08-06  Eric Blake  <ebb9@byu.net>
70380
70381         * lib/error.h: Fold in some upstream changes from glibc.
70382         * lib/error.c: Likewise.
70383
70384 2006-08-04  Bruno Haible  <bruno@clisp.org>
70385
70386         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70387         Make the mostlyclean-local rule depend on mostlyclean-generic.
70388         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
70389
70390 2006-07-31  Bruno Haible  <bruno@clisp.org>
70391
70392         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
70393         <stdlib.h>, <string.h>.
70394
70395 2006-07-30  Bruno Haible  <bruno@clisp.org>
70396
70397         * modules/readlink (License): Change to LGPL.
70398
70399 2006-07-30  Bruno Haible  <bruno@clisp.org>
70400
70401         * modules/javaversion (Makefile.am): Distribute javaversion.java and
70402         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
70403         set PKGDATADIR to point to it.
70404
70405 2006-07-30  Bruno Haible  <bruno@clisp.org>
70406
70407         * modules/csharpexec (configure.ac): Comment out macro invocation.
70408         * modules/javaexec (configure.ac): Likewise.
70409         * modules/javacomp-script (configure.ac): Likewise.
70410
70411         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
70412
70413 2006-07-30  Bruno Haible  <bruno@clisp.org>
70414
70415         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
70416         linked-list.
70417
70418 2006-07-30  Bruno Haible  <bruno@clisp.org>
70419
70420         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
70421
70422 2006-07-30  Bruno Haible  <bruno@clisp.org>
70423
70424         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70425         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
70426         get removed.
70427
70428 2006-07-29  Bruno Haible  <bruno@clisp.org>
70429
70430         Make it possible for gnulib-tool to work with locally modified or
70431         augmented gnulib repositories.
70432         * gnulib-tool (func_usage): Document --local-dir option.
70433         (local_gnulib_dir): New variable.
70434         Handle --local-dir option.
70435         (func_lookup_file): New function.
70436         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
70437         (func_get_description, func_get_filelist, func_get_description,
70438         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
70439         func_get_automake_snippet, func_get_include_directive,
70440         func_get_license, func_get_maintainer): Use func_lookup_file.
70441         (func_import, func_create_testdir): Use func_lookup_file.
70442
70443 2006-07-29  Bruno Haible  <bruno@clisp.org>
70444
70445         * modules/setenv (Depends-on): Add unistd.
70446
70447 2006-07-29  Bruno Haible  <bruno@clisp.org>
70448
70449         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
70450
70451 2006-07-29  Bruno Haible  <bruno@clisp.org>
70452
70453         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
70454
70455 2006-07-29  Bruno Haible  <bruno@clisp.org>
70456
70457         * gnulib-tool (import, update): If there is no Makefile.am, look at
70458         aclocal.m4, instead of bailing out.
70459
70460 2006-07-29  Bruno Haible  <bruno@clisp.org>
70461
70462         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
70463         Categorize the options by when they are useful.
70464
70465 2006-07-29  Bruno Haible  <bruno@clisp.org>
70466
70467         * gnulib-tool (func_usage): Document option --no-libtool.
70468         Handle option --no-libtool.
70469         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
70470         for changed semantics of $libtool variable.
70471         (func_import): Likewise. If libtool is not used, show this through
70472         an option --no-libtool.
70473         (func_create_testdir): Update.
70474
70475 2006-07-29  Bruno Haible  <bruno@clisp.org>
70476
70477         * gnulib-tool (func_import): Extend error message about missing
70478         --doc-base.
70479
70480 2006-07-29  Bruno Haible  <bruno@clisp.org>
70481
70482         * gnulib-tool (func_import): Don't create the $docbase directory if
70483         there is no file to store there.
70484
70485 2006-07-29  Bruno Haible  <bruno@clisp.org>
70486
70487         * gnulib-tool (autoconf_minversion): If a --dir option is given and
70488         relevant, look for configure.ac there, not in the current directory.
70489         Also use a simple search for AC_PREREQ, not "autoconf --trace".
70490
70491 2006-07-29  Bruno Haible  <bruno@clisp.org>
70492
70493         * gnulib-tool (SORT): New variable.
70494         (func_usage): Undocument --assume-autoconf option.
70495         Remove --assume-autoconf option handling.
70496         (autoconf_minversion): Determine from the contents of configure.ac.
70497         (func_import): Remove autoconf_minversion handling.
70498         Suggested by Eric Blake.
70499
70500 2006-07-29  Bruno Haible  <bruno@clisp.org>
70501
70502         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
70503
70504 2006-07-29  Bruno Haible  <bruno@clisp.org>
70505
70506         * config/srclist.txt (*setenv.[ch]): Remove rules.
70507
70508 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70509
70510         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
70511
70512 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70513
70514         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
70515         arpa/inet.h.
70516
70517 2006-07-28  Simon Josefsson  <jas@extundo.com>
70518
70519         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
70520         * modules/inet_pton (Depends-on): Likewise.
70521
70522 2006-07-28  Simon Josefsson  <jas@extundo.com>
70523
70524         * m4/netinet_in_h.m4: New file.
70525
70526 2006-07-28  Simon Josefsson  <jas@extundo.com>
70527
70528         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
70529         #include's.
70530
70531 2006-07-28  Simon Josefsson  <jas@extundo.com>
70532
70533         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
70534         #include's.
70535
70536 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
70537
70538         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
70539         setgid on directories only if they set these bits.
70540         * lib/modechange.h: Remove obsolete comment about masks.
70541
70542 2006-07-28  Eric Blake  <ebb9@byu.net>
70543
70544         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
70545         macro expansion.
70546
70547 2006-07-28  Bruno Haible  <bruno@clisp.org>
70548
70549         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
70550
70551 2006-07-28  Bruno Haible  <bruno@clisp.org>
70552
70553         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
70554
70555 2006-07-28  Bruno Haible  <bruno@clisp.org>
70556
70557         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
70558         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
70559         Define fallbacks.
70560         Avoids link error on FreeBSD 4.x.
70561         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70562
70563         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
70564         encoding.
70565         * lib/mbswidth.c (iswcntrl): Likewise.
70566
70567 2006-07-27  Bruno Haible  <bruno@clisp.org>
70568
70569         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
70570         test.
70571
70572 2006-07-27  Bruno Haible  <bruno@clisp.org>
70573
70574         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
70575         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
70576         defined.
70577
70578 2006-07-26  Eric Blake  <ebb9@byu.net>
70579
70580         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
70581
70582 2006-07-26  Eric Blake  <ebb9@byu.net>
70583
70584         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
70585         like mingw that lack mkstemp.
70586         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
70587         avoid compilation warning on mingw.
70588
70589 2006-07-26  Bruno Haible  <bruno@clisp.org>
70590
70591         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
70592         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
70593         INT_FAST*_MIN, INTPTR_MIN.
70594
70595 2006-07-25  Bruno Haible  <bruno@clisp.org>
70596
70597         * modules/version-etc (Depends-on): Add stdarg.
70598
70599 2006-07-25  Bruno Haible  <bruno@clisp.org>
70600
70601         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
70602         complex commands.
70603
70604 2006-07-25  Bruno Haible  <bruno@clisp.org>
70605
70606         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
70607         defined in <stdarg.h> or config.h.
70608
70609 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
70610
70611         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
70612         (gl_STDIO_SAFER): Remove.
70613
70614 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
70615
70616         * MODULES.html.sh (File stream based Input/Output):
70617         Add fopen-safer, tmpfile-safer; remove stdio-safer.
70618         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
70619         * modules/fopen-safer, modules/tmpfile-safer: New files.
70620         * modules/stdio-safer: Remove.
70621
70622 2006-07-24  Bruno Haible  <bruno@clisp.org>
70623
70624         * modules/tmpdir: New file.
70625         * MODULES.html.sh (File system functions): Add it.
70626
70627 2006-07-24  Bruno Haible  <bruno@clisp.org>
70628
70629         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
70630         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
70631
70632 2006-07-24  Bruno Haible  <bruno@clisp.org>
70633
70634         * modules/clean-temp: New file.
70635
70636 2006-07-24  Bruno Haible  <bruno@clisp.org>
70637
70638         * m4/tmpdir.m4: New file, from GNU gettext.
70639
70640 2006-07-24  Bruno Haible  <bruno@clisp.org>
70641
70642         * lib/tmpdir.h: New file, from GNU gettext.
70643         * lib/tmpdir.c: New file, from GNU gettext.
70644
70645 2006-07-24  Bruno Haible  <bruno@clisp.org>
70646
70647         * lib/clean-temp.h: New file, from GNU gettext.
70648         * lib/clean-temp.c: New file, from GNU gettext.
70649
70650 2006-07-23  Eric Blake  <ebb9@byu.net>
70651
70652         * modules/stdio-safer (Files): Add tmpfile-safer.c.
70653         (Depends-on): Add binary-io.
70654
70655 2006-07-23  Eric Blake  <ebb9@byu.net>
70656
70657         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
70658
70659 2006-07-23  Eric Blake  <ebb9@byu.net>
70660
70661         * lib/tmpfile-safer.c: New file.
70662         * lib/stdio-safer.h (fopen_safer): Add prototype.
70663         * lib/stdio--.h (tmpfile): Make safer.
70664
70665 2006-07-23  Bruno Haible  <bruno@clisp.org>
70666
70667         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
70668         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
70669         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
70670         gl_linked_remove_at): Use it.
70671
70672 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70673         and Simon Josefsson <jas@extundo.com>
70674
70675         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
70676
70677         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
70678
70679 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70680
70681         * modules/close-stream: New file.
70682         * modules/closeout (Description): Make it clear that it exits
70683         with a diagnostic on error.
70684         (Depends-on): Add close-stream.  Remove fpending, stdbool.
70685         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
70686
70687 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70688
70689         * m4/close-stream.m4: New file.
70690
70691 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70692
70693         * lib/close-stream.c, lib/close-stream.h: New files.
70694
70695 2006-07-22  Bruno Haible  <bruno@clisp.org>
70696
70697         Merge from GNU gettext 0.15.
70698
70699         2006-05-01  Bruno Haible  <bruno@clisp.org>
70700
70701                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
70702
70703         2006-07-22  Bruno Haible  <bruno@clisp.org>
70704
70705                 * modules/javaversion: New file.
70706                 * MODULES.html.sh (Java): Add javaversion.
70707
70708         2006-03-12  Bruno Haible  <bruno@clisp.org>
70709
70710                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
70711
70712         2005-12-04  Bruno Haible  <bruno@clisp.org>
70713
70714                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
70715                 (untested).
70716
70717         2006-06-21  Bruno Haible  <bruno@clisp.org>
70718
70719                 Avoid warnings from recent versions of mcs.
70720                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
70721                 -o, -L, -r any more. Use options documented since mcs-1.0
70722                 instead. Similarly for -g.
70723
70724         2005-12-04  Bruno Haible  <bruno@clisp.org>
70725
70726                 * build-aux/csharpcomp.sh.in: Suffix for resources is
70727                 .resources, not .resource.
70728
70729         2005-07-09  Bruno Haible  <bruno@clisp.org>
70730
70731                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
70732                 add a .dll suffix.
70733                 Reported by Mark Junker <mjscod@gmx.de>.
70734
70735         2006-07-22  Bruno Haible  <bruno@clisp.org>
70736
70737                 * modules/gettext: Upgrade to gettext-0.15.
70738                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
70739                 m4/visibility.m4.
70740                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
70741
70742 2006-07-22  Bruno Haible  <bruno@clisp.org>
70743
70744         Merge from GNU gettext 0.15.
70745
70746         2006-03-25  Bruno Haible  <bruno@clisp.org>
70747
70748                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
70749
70750         2006-07-21  Bruno Haible  <bruno@clisp.org>
70751
70752                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
70753                 "1.1".
70754
70755         2006-05-09  Bruno Haible  <bruno@clisp.org>
70756
70757                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
70758                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
70759                 for the conftestver execution.
70760
70761         2006-05-01  Bruno Haible  <bruno@clisp.org>
70762
70763                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
70764                 optional target-version argument. Verify that the compiler
70765                 groks source of the specified source-version, or add -source
70766                 option as necessary. Verify that the compiler produces
70767                 bytecode in the specified target-version, or add -target and
70768                 -source options as necessary. Make the result of the test
70769                 available as variable CONF_JAVAC. Also log error output in
70770                 config.log.
70771
70772         2006-03-11  Bruno Haible  <bruno@clisp.org>
70773
70774                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
70775
70776         2006-05-09  Bruno Haible  <bruno@clisp.org>
70777
70778                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
70779                 CLASSPATH_SEPARATOR to a semicolon.
70780
70781         2006-03-12  Bruno Haible  <bruno@clisp.org>
70782
70783                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
70784                 available as variable CONF_JAVA, for subsequent autoconf
70785                 tests. Also log error output in config.log.
70786
70787         2006-07-19  Bruno Haible  <bruno@clisp.org>
70788
70789                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
70790                 that getline works on glibc2 systems. Needed to avoid trouble
70791                 in relocatable.c.
70792                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
70793
70794         2005-12-04  Bruno Haible  <bruno@clisp.org>
70795
70796                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
70797                 launcher (untested).
70798
70799         2005-12-04  Bruno Haible  <bruno@clisp.org>
70800
70801                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
70802
70803         2006-07-22  Bruno Haible  <bruno@clisp.org>
70804
70805                 * gettext.m4: Update from GNU gettext-0.15.
70806                 * nls.m4: Likewise.
70807                 * po.m4: Likewise.
70808                 * inttypes-pri.m4: Likewise.
70809                 * inttypes-h.m4: Renamed from inttypes.m4.
70810                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
70811
70812 2006-07-22  Bruno Haible  <bruno@clisp.org>
70813
70814         Merge from GNU gettext 0.15.
70815
70816         2005-07-05  Bruno Haible  <bruno@clisp.org>
70817
70818                 * printf-args.c (printf_fetchargs): Work around broken
70819                 definition of wint_t on mingw.
70820
70821         2005-02-12  Bruno Haible  <bruno@clisp.org>
70822
70823                 * xallocsa.h: Add extern "C" for C++.
70824
70825         2006-05-17  Bruno Haible  <bruno@clisp.org>
70826
70827                 Cygwin portability.
70828                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
70829
70830         2006-04-30  Bruno Haible  <bruno@clisp.org>
70831
70832                 * progreloc.c: Include <mach-o/dyld.h> if available.
70833                 (find_executable): Use _NSGetExecutablePath when possible.
70834
70835         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70836
70837                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
70838                 function.
70839
70840         2005-12-29  Bruno Haible  <bruno@clisp.org>
70841
70842                 * progreloc.c (set_program_name_and_installdir): Fix
70843                 compilation error.
70844
70845         2005-12-04  Bruno Haible  <bruno@clisp.org>
70846
70847                 Cygwin portability.
70848                 * progreloc.c: Include <windows.h> also on Cygwin.
70849                 (find_executable): Add support for Cygwin.
70850                 (set_program_name_and_installdir): Handle also platforms with
70851                 nonempty EXEEXT.
70852
70853         2006-07-11  Bruno Haible  <bruno@clisp.org>
70854
70855                 * javacomp.c: Fix a comment.
70856                 Reported by Jim Meyering.
70857
70858         2006-04-30  Bruno Haible  <bruno@clisp.org>
70859
70860                 * javacomp.h (compile_java_class): Add source_version,
70861                 target_version arguments.
70862                 * javacomp.c: Rewritten to choose only a compiler that
70863                 respects the specified source_version and target_version.
70864
70865         2006-06-27  Bruno Haible  <bruno@clisp.org>
70866
70867                 Assume correct S_ISDIR macro.
70868                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
70869
70870         2006-07-22  Bruno Haible  <bruno@clisp.org>
70871
70872                 * javaversion.h: New file, from GNU gettext.
70873                 * javaversion.c: New file, from GNU gettext.
70874                 * javaversion.java: New file, from GNU gettext.
70875                 * javaversion.class: New file, from GNU gettext.
70876
70877         2006-05-17  Bruno Haible  <bruno@clisp.org>
70878
70879                 Cygwin portability.
70880                 * javaexec.c (execute_java_class): Test for jview program
70881                 also on Cygwin.
70882
70883         2006-04-09  Bruno Haible  <bruno@clisp.org>
70884
70885                 * fatal-signal.c: Don't include string.h.
70886                 (at_fatal_signal): Use a copying loop instead of memcpy.
70887
70888         2005-12-04  Bruno Haible  <bruno@clisp.org>
70889
70890                 * csharpexec.c: Add support for 'clix' launcher (untested).
70891                 (execute_csharp_using_sscli): New function.
70892                 (execute_csharp_program): Call it.
70893
70894         2006-06-21  Bruno Haible  <bruno@clisp.org>
70895
70896                 Avoid warnings from recent versions of mcs.
70897                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
70898                 -o, -L, -r any more. Use options documented since mcs-1.0
70899                 instead. Similarly for -g.
70900
70901         2005-07-09  Bruno Haible  <bruno@clisp.org>
70902
70903                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
70904                 add a .dll suffix.
70905                 Reported by Mark Junker <mjscod@gmx.de>.
70906
70907         2006-06-17  Bruno Haible  <bruno@clisp.org>
70908
70909                 * config.charset: Update for NetBSD 3.0.
70910
70911         2006-05-17  Bruno Haible  <bruno@clisp.org>
70912
70913                 Cygwin portability.
70914                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
70915
70916         2006-05-16  Bruno Haible  <bruno@clisp.org>
70917
70918                 * localcharset.c [CYGWIN]: Include <windows.h>.
70919                 (get_charset_aliases): For Cygwin, return the same CPxxx
70920                 aliases list as under WIN32.
70921                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
70922                 the environment variables. Fall back to GetACP().
70923
70924         2006-04-05  Bruno Haible  <bruno@clisp.org>
70925
70926                 * config.charset: Update Juan Manuel Guerrero's address.
70927
70928         2005-02-12  Bruno Haible  <bruno@clisp.org>
70929
70930                 * allocsa.h: Add extern "C" for C++.
70931
70932         2005-02-10  Bruno Haible  <bruno@clisp.org>
70933
70934                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
70935                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
70936
70937         2006-07-22  Bruno Haible  <bruno@clisp.org>
70938
70939                 * gettext.h: Update to GNU gettext-0.15.
70940
70941 2006-07-22  Bruno Haible  <bruno@clisp.org>
70942
70943         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
70944         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
70945         lib-prefix.m4, longdouble.m4, ssize_t.m4.
70946
70947 2006-07-21  Eric Blake  <ebb9@byu.net>
70948
70949         * modules/stdlib-safer: New file.
70950         * MODULES.html.sh (File stream based Input/Output): Add
70951         stdlib-safer.
70952
70953 2006-07-21  Eric Blake  <ebb9@byu.net>
70954
70955         * lib/stdlib-safer.h: New file from coreutils, required by
70956         stdlib--.h.
70957
70958 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
70959
70960         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
70961
70962 2006-07-20  Bruno Haible  <bruno@clisp.org>
70963
70964         * gnulib-tool: Recognize new option --assume-autoconf.
70965         (autoconf_minversion): New variable.
70966         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
70967
70968 2006-07-20  Bruno Haible  <bruno@clisp.org>
70969
70970         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
70971
70972 2006-07-19  Derek R. Price  <derek@ximbiot.com>
70973
70974         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
70975         Reindent and repaginate.
70976
70977 2006-07-19  Derek Price  <derek@ximbiot.com>
70978
70979         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
70980         Correct grammar.
70981
70982 2006-07-17  Bruno Haible  <bruno@clisp.org>
70983
70984         * modules/list: New file.
70985         * modules/array-list: New file.
70986         * modules/carray-list, modules/carray-list-tests: New files.
70987         * modules/linked-list, modules/linked-list-tests: New files.
70988         * modules/avltree-list, modules/avltree-list-tests: New files.
70989         * modules/rbtree-list, modules/rbtree-list-tests: New files.
70990         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
70991         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
70992         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
70993         * modules/oset: New file.
70994         * modules/array-oset: New file.
70995         * modules/avltree-oset, modules/avltree-oset-tests: New files.
70996         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
70997         * tests/test-carray_list.c: New file.
70998         * tests/test-linked_list.c: New file.
70999         * tests/test-avltree_list.c: New file.
71000         * tests/test-rbtree_list.c: New file.
71001         * tests/test-linkedhash_list.c: New file.
71002         * tests/test-avltreehash_list.c: New file.
71003         * tests/test-rbtreehash_list.c: New file.
71004         * tests/test-avltree_oset.c: New file.
71005         * tests/test-rbtree_oset.c: New file.
71006         * MODULES.html.sh (Container data structures): New section.
71007
71008 2006-07-17  Bruno Haible  <bruno@clisp.org>
71009
71010         * m4/gl_list.m4: New file.
71011
71012 2006-07-17  Bruno Haible  <bruno@clisp.org>
71013
71014         * lib/gl_list.h: New file.
71015         * lib/gl_list.c: New file.
71016         * lib/gl_array_list.h: New file.
71017         * lib/gl_array_list.c: New file.
71018         * lib/gl_carray_list.h: New file.
71019         * lib/gl_carray_list.c: New file.
71020         * lib/gl_linked_list.h: New file.
71021         * lib/gl_linked_list.c: New file.
71022         * lib/gl_anylinked_list1.h: New file.
71023         * lib/gl_anylinked_list2.h: New file.
71024         * lib/gl_avltree_list.h: New file.
71025         * lib/gl_avltree_list.c: New file.
71026         * lib/gl_anyavltree_list1.h: New file.
71027         * lib/gl_anyavltree_list2.h: New file.
71028         * lib/gl_rbtree_list.h: New file.
71029         * lib/gl_rbtree_list.c: New file.
71030         * lib/gl_anyrbtree_list1.h: New file.
71031         * lib/gl_anyrbtree_list2.h: New file.
71032         * lib/gl_anytree_list1.h: New file.
71033         * lib/gl_anytree_list2.h: New file.
71034         * lib/gl_linkedhash_list.h: New file.
71035         * lib/gl_linkedhash_list.c: New file.
71036         * lib/gl_anyhash_list1.h: New file.
71037         * lib/gl_anyhash_list2.h: New file.
71038         * lib/gl_avltreehash_list.h: New file.
71039         * lib/gl_avltreehash_list.c: New file.
71040         * lib/gl_rbtreehash_list.h: New file.
71041         * lib/gl_rbtreehash_list.c: New file.
71042         * lib/gl_anytreehash_list1.h: New file.
71043         * lib/gl_anytreehash_list2.h: New file.
71044
71045         * lib/gl_oset.h: New file.
71046         * lib/gl_oset.c: New file.
71047         * lib/gl_array_oset.h: New file.
71048         * lib/gl_array_oset.c: New file.
71049         * lib/gl_avltree_oset.h: New file.
71050         * lib/gl_avltree_oset.c: New file.
71051         * lib/gl_rbtree_oset.h: New file.
71052         * lib/gl_rbtree_oset.c: New file.
71053         * lib/gl_anytree_oset.h: New file.
71054
71055 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
71056
71057         * m4/mkancesdirs.m4: New file.
71058         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
71059         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
71060         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
71061         it.
71062
71063 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
71064
71065         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
71066         * lib/mkancesdirs.h: New files.
71067         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
71068         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
71069         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
71070         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
71071         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
71072         callers changed.  Revamp internals significantly, by not
71073         attempting to create directories that are temporarily more
71074         permissive than the final results.  Do not attempt to use
71075         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
71076         This removes some race conditions, fixes some bugs, and simplifies
71077         things.  Use new dirchownmod function to do owner and mode changes.
71078         * lib/mkdir-p.h: Likewise.
71079         * lib/modechange.c (octal_to_mode): New function.
71080         (struct mode_change): New member mentioned.
71081         (make_node_op_equals): New arg mentioned.  All callers changed.
71082         (mode_compile): Keep track of which mode bits the user has explicitly
71083         mentioned.
71084         (mode_adjust): New arg DIR, so that we implement the X op correctly.
71085         New arg PMODE_BITS, to keep track of which mode bits the user
71086         mentioned; it treats S_ISUID and S_ISGID speciall.
71087         All callers changed.
71088         * lib/modechange.h: Likewise.
71089
71090 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
71091
71092         * MODULES.html.sh: Add mkancestors.
71093         * modules/mkancesdirs: New module.
71094         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
71095         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
71096         The chdir-safer and afs files are now orphans; I'll remove them
71097         unless someone speaks up.
71098         Add lib/dirchownmod.c, lib/dirchownmod.h.
71099         (Depends-on): Remove alloca, chown, save-cwd, dirname.
71100         Add lchown, mkancesdirs.
71101         (Maintainer): Add self.
71102
71103 2006-07-15  Karl Berry  <karl@gnu.org>
71104
71105         * gnulib-tool: help message wording/arrangement.
71106
71107 2006-07-14  Simon Josefsson  <jas@extundo.com>
71108
71109         * doc/gnulib.texi (Libtool and Windows): New section.
71110
71111 2006-07-12  Simon Josefsson  <jas@extundo.com>
71112
71113         * modules/gendocs (License): Fix license, approved by Karl.
71114
71115 2006-07-12  Eric Blake  <ebb9@byu.net>
71116
71117         * MODULES.html.sh: Add gendocs.
71118
71119 2006-07-11  Eric Blake  <ebb9@byu.net>
71120
71121         * modules/fdl: New module, to install doc/fdl.texi.
71122         * MODULES.html.sh: Add new section for documentation modules.
71123         * gnulib-tool: Avoid space-tab.
71124         (--doc-base): New option, to manage files from doc.
71125
71126 2006-07-11  Eric Blake  <ebb9@byu.net>
71127
71128         * m4/absolute-header.m4: Fix comments to match recent change.
71129
71130 2006-07-11  Eric Blake  <ebb9@byu.net>
71131
71132         * gnulib-tool: List --doc-base before --tests-base.
71133
71134 2006-07-11  Derek R. Price  <derek@ximbiot.com>
71135
71136         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
71137
71138 2006-07-11  Bruno Haible  <bruno@clisp.org>
71139
71140         * README: Mention where to put documentation.
71141
71142 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71143
71144         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
71145
71146 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
71147
71148         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
71149         to stdint.m4.
71150
71151 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
71152
71153         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
71154         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
71155         "no/such/file/stdint.h" when there is no such file, so that
71156         the resulting C code can be parsed by dodgy compilers.
71157         Problems reported by Bob Proulx.
71158
71159 2006-07-10  Derek R. Price  <derek@ximbiot.com>
71160
71161         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
71162         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
71163         macros into the GNU _D_EXACT_NAMLEN.
71164         * lib/savedir.c:  Likewise.
71165         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
71166
71167 2006-07-10  Derek R. Price  <derek@ximbiot.com>
71168         and Paul Eggert  <eggert@cs.ucla.edu>
71169
71170         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
71171         * m4/savedir.m4:
71172         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
71173         macros into the GNU _D_EXACT_NAMLEN.
71174
71175 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71176
71177         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
71178         around the absolute name, to work around a problem with the HP-UX
71179         11.23 native C compiler, reported by Bob Proulx.
71180
71181 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71182
71183         * doc/maintain.texi, make-stds.texi: Sync from
71184         <http://savannah.gnu.org/projects/gnustandards>.
71185
71186 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71187
71188         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
71189
71190 2006-07-09  Jim Meyering  <jim@meyering.net>
71191
71192         * m4/glob.m4: Remove a doubled word in a comment.
71193
71194 2006-07-09  Jim Meyering  <jim@meyering.net>
71195
71196         * lib/argp-pv.c: Remove a doubled word in a comment.
71197         * lib/check-version.c (check_version): Likewise.
71198         * lib/javacomp.c (compile_java_class): Likewise.
71199
71200 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
71201
71202         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
71203         for the benefit of people using Autoconf 2.60.  If you want to
71204         support older Autoconf versions you can copy m4/onceonly_2_57.m4
71205         (or m4/onceonly.m4, if pre-2.57) manually.
71206
71207 2006-07-08  Jim Meyering  <jim@meyering.net>
71208
71209         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
71210         comment.
71211         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
71212         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
71213         comment.
71214
71215 2006-07-08  Jim Meyering  <jim@meyering.net>
71216
71217         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
71218
71219 2006-07-07  Simon Josefsson  <jas@extundo.com>
71220
71221         * tests/test-crc.c: Change expected crc value, the test vector
71222         were probably computed using the old broken crc.c?
71223
71224 2006-07-06  Simon Josefsson  <jas@extundo.com>
71225
71226         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
71227         now the canonical place for the M4 file).
71228
71229         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
71230         from the sys_socket dependency now.
71231
71232         * modules/inet_pton (Files): Ditto.
71233
71234         * modules/inet_ntop (Files): Ditto.
71235
71236 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71237
71238         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
71239         not gl_PREREQ_GETUSERSHELL.
71240
71241 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71242
71243         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
71244         with only one argument, for Autoconf 2.60.
71245         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
71246         expand to nothing, so add a shell command to avoid syntax error.
71247         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71248
71249 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71250
71251         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
71252
71253 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71254
71255         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
71256         no longer needed.  Check for isblank decl.
71257         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
71258         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
71259         of existence.
71260
71261 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71262
71263         * lib/getloadavg.c: Use __VMS, not VMS.
71264         * lib/getopt.c: Likewise.
71265         * lib/getpagesize.h: Likewise.
71266         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
71267         and probably does not work.
71268
71269 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71270
71271         * lib/.cppi-disable: Add wcwidth.
71272         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
71273         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
71274         (ISGRAPH): Remove.  All uses changed to isgraph.
71275         (FOLD) [!defined _LIBC]: Remove special case.
71276         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
71277         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
71278         HAVE_ISBLANK.
71279         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
71280         case.
71281
71282 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
71283
71284         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
71285         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
71286         brackets.  Other minor changes to suppress some compiler
71287         warnings.
71288
71289 2006-07-06  Derek R. Price  <derek@ximbiot.com>
71290         and Paul Eggert  <eggert@cs.ucla.edu>
71291
71292         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
71293         of invoking obsolescent AC_HEADER_DIRENT macro.
71294         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
71295         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
71296         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
71297         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
71298         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
71299         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
71300         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
71301         * m4/readdir.m4: Remove; no longer needed.
71302
71303 2006-07-06  Derek R. Price  <derek@ximbiot.com>
71304         and Paul Eggert  <eggert@cs.ucla.edu>
71305
71306         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
71307         Don't worry about this obsolete case any more.
71308         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
71309         directories.
71310         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
71311         worry about this obsolete case any more.
71312         * lib/fts.c: Likewise.
71313         * lib/getcwd.c: Likewise.
71314         * lib/glob.h: Likewise.
71315         * lib/savedir.c: Likewise.
71316
71317 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
71318
71319         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
71320         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
71321         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
71322         needed.
71323         All uses removed.
71324         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
71325         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
71326         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
71327         needed.
71328         * m4/getdate.m4 (gl_GETDATE): Likewise.
71329         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
71330         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
71331         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
71332         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
71333         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
71334         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71335         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
71336         needed.
71337
71338 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
71339
71340         * lib/memcasecmp.c: Include <limits.h>.
71341         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
71342         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
71343         Don't assume isdigit succeeds only on '0' through '9'.
71344
71345 2006-07-05  Eric Blake  <ebb9@byu.net>
71346
71347         * modules/getaddrinfo (Depends-on): Add snprintf.
71348
71349 2006-07-05  Eric Blake  <ebb9@byu.net>
71350
71351         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
71352         to avoid 'header present but could not be compiled' on cygwin.
71353
71354 2006-07-05  Eric Blake  <ebb9@byu.net>
71355
71356         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
71357         missing from netdb.h.
71358         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
71359
71360 2006-07-05  Derek R. Price  <derek@ximbiot.com>
71361
71362         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
71363         no longer needed.
71364         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
71365         * m4/getdate.m4 (gl_GETDATE): Likewise.
71366         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
71367         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
71368         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
71369         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
71370         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71371
71372 2006-07-05  Derek R. Price  <derek@ximbiot.com>
71373
71374         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
71375         All uses of is_space replaced by isspace.
71376         * lib/exit.h: Don't talk about STDC_HEADERS.
71377         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
71378         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
71379         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
71380         replaced by isprint etc.
71381         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
71382         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
71383         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
71384         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
71385         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
71386         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
71387
71388 2006-07-05  Bruno Haible  <bruno@clisp.org>
71389
71390         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
71391         the function exists, before testing against AIX.
71392         Reported by Martin Lambers <marlam@marlam.de>.
71393
71394 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
71395
71396         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
71397         From Mark D. Baushke.
71398
71399 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
71400
71401         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
71402         to the absolute name, not just one, to bypass Sun C 5.8's
71403         "warning: #include of /usr/include/... may be non-portable".
71404
71405 2006-07-04  Eric Blake  <ebb9@byu.net>
71406
71407         * modules/dirname-tests: New test module.
71408         * tests/test-dirname.c: New file, replacing dirname.c
71409         TEST_DIRNAME section that was recently deleted.
71410
71411 2006-07-04  Bruno Haible  <bruno@clisp.org>
71412
71413         Assume ANSI C header files and <ctype.h> functions.
71414         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
71415         (mbsnwidth): Use isprint, iscntrl instead.
71416
71417 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71418
71419         Merge from coreutils.
71420         * MODULES.html.sh: Add xstrtold.
71421         * modules/xstrtold: New file.
71422         * modules/cycle-check (Files): Add lib/same-inode.h.
71423         * modules/dirname (Files): Add m4/double-slash-root.m4.
71424         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
71425         * modules/mkdir-p (Files): Add lib/same-inode.h.
71426         * modules/same (Files): Add lib/same-inode.h.
71427
71428 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71429
71430         * m4/absolute-header.m4: Renamed from full-header-path.m4.
71431         This is to keep the terminology clean; POSIX talks about
71432         "absolute pathnames", not "full pathnames", but the GNU
71433         Coding Standards say to use "path" for something else;
71434         so use "absolute" to keep both sides happy.
71435         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
71436         Set gl_absolute_header, not gl_full_header_path.
71437         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
71438         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
71439         All uses changed.
71440
71441         Merge from coreutils.
71442
71443         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
71444
71445         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
71446         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
71447         want to require the building of c-strtod.o.
71448         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
71449         needs -lm directly.
71450         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
71451
71452         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71453
71454         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
71455         --as-needed option if available.  Problem reported by Albert Chin in
71456         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
71457         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
71458         cc merely issues a bunch of annoying warnings for --as-needed
71459         (this problem was reported by Bob Proulx).  Also, try linking with
71460         -lm to detect a bug in binutils 2.16 (this problem was reported
71461         by Ralf Wildenhues).
71462
71463         2006-06-18  Jim Meyering  <jim@meyering.net>
71464
71465         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
71466         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
71467         macro.
71468         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
71469         also check for glibc-2.4's abort-inducing bug.
71470
71471         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
71472         Low-probability clean-up should be to use rmdir to get rid of
71473         the just-created directory, not unlink.
71474
71475         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
71476         configure fail, and request a bug report to inform us about it.
71477         Add a comment that, barring reports to the contrary, in 2007 we'll
71478         assume ftruncate is universally available.
71479
71480         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
71481
71482         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
71483
71484         2006-03-12  Jim Meyering  <jim@meyering.net>
71485
71486         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
71487         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
71488         * m4/same.m4 (gl_SAME): Likewise.
71489         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
71490
71491         2006-03-11  Eric Blake  <ebb9@byu.net>
71492
71493         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
71494         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
71495         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
71496         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
71497
71498 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71499
71500         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
71501         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
71502         reported by Mark D. Baushke, one in
71503         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
71504
71505         Merge from coreutils.
71506
71507         * lib/.cppi-disable: Add stdint_.h.
71508         * lib/.cvsignore: Add stdint.h.
71509
71510         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
71511
71512         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
71513         both double and long double versions.
71514         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
71515         * lib/xstrtold.c: New file.
71516         * lib/xstrtod.h (xstrtold): New decl.
71517
71518         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
71519
71520         * lib/filemode.c (setst): Remove.
71521         (strmode): Rewrite to avoid setst.  This makes the code shorter,
71522         (arguably) clearer, and the generated code is a bit smaller on my
71523         Debian GNU/Linux stable x86 host.
71524
71525         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
71526
71527         * lib/filemode.c: Include "filemode.h" first, to test the interface.
71528         Assume that filemode.h includes sys/types.h and sys/stat.h.
71529         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
71530         (ftypelet): Reorder to put common cases first, for efficiency.
71531         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
71532         to do 'M'.
71533         (strmode): Renamed from mode_string, and now stores 12 bytes instead
71534         of 10, for compatibility with FreeBSD.  All callers changed.
71535         (filemodestring): Now stores 12 bytes instead of 10, and sets file
71536         types that can't be deduced solely from st_mode.  First arg is now a
71537         const pointer.
71538         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
71539         (strmode): Renamed from mode_string.
71540         (filemodestring): New decl.
71541         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
71542         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
71543         needed.
71544         (S_ISPORT, S_ISWHT): New macros, if not already defined.
71545
71546         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
71547
71548         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
71549         fsusage.h now does that.  Include fsusage.h first, to test interface.
71550         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
71551         at most one method (the old code could have generated decls that
71552         didn't conform to C89, not that this was ever exercised).
71553         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
71554
71555         2006-03-19  Jim Meyering  <jim@meyering.net>
71556
71557         Work even in a chroot where d_ino values for entries in "/"
71558         don't match the stat.st_ino values for the same names.
71559         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
71560         number, iterate through all entries again, using lstat instead.
71561         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
71562         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
71563
71564         * lib/getcwd.c (__getcwd): Clarify a comment.
71565         Use memcpy in place of a call to strcpy.
71566
71567         2006-03-12  Jim Meyering  <jim@meyering.net>
71568
71569         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
71570         matches that of the current directory (which we're about to chdir ".."
71571         out of), then save the dev-ino of the parent, instead.
71572
71573         * lib/same-inode.h (SAME_INODE): New file/macro.
71574         * lib/chdir-safer.c (SAME_INODE): Remove definition.
71575         Include "same-inode.h", instead.
71576         * lib/same.c: Likewise.
71577         * lib/cycle-check.h: Include "same-inode.h".
71578         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
71579         * lib/cycle-check.c (SAME_INODE): Remove definition.
71580         * lib/root-dev-ino.h: Include "same-inode.h".
71581
71582         2006-03-11  Eric Blake  <ebb9@byu.net>
71583
71584         * lib/same.c (same_name): s/base_name/last_component/
71585         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
71586         * lib/filenamecat.c (file_name_concat): Likewise.
71587
71588         2006-03-11  Eric Blake  <ebb9@byu.net>,
71589                     Paul Eggert  <eggert@cs.ucla.edu>
71590
71591         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
71592         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
71593         drive prefix.
71594         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
71595         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
71596         (last_component): New method.
71597         * lib/dirname.c (dir_len): Determine when drive letters need a
71598         subsequent slash.  Preserve // when it is special.
71599         (dir_name): Don't append dot when drive letter is absolute.
71600         [TEST_DIRNAME]: Move into a full-blown gnulib test.
71601         * lib/basename.c (base_name): New semantics - malloc the result.
71602         Preserve // when it is special.  Preserve relative files that look
71603         like drive letters.
71604         (base_len): Preserve // when it is special.
71605         (last_component): New method, similar to old base_name semantics.
71606         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
71607         base_name.  Strip redundant slashes from ///.
71608
71609 2006-07-03  Jim Meyering  <jim@meyering.net>
71610
71611         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
71612         macro is used before the first cycle_check call.
71613
71614 2006-07-03  Eric Blake  <ebb9@byu.net>
71615
71616         * modules/dirname (Depends-on): Add xstrndup.
71617
71618 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
71619
71620         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
71621         test cases, so that config.log is a bit easier to follow.
71622
71623 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
71624
71625         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
71626         both are 64 bits, since this seems to be the tradition, and this
71627         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
71628         we ever run into a host that prefers long long to long in this
71629         case, we'll need another configure-time test.  Problem reported by
71630         Jim Meyering.
71631
71632 2006-07-02  Eric Blake  <ebb9@byu.net>
71633
71634         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
71635
71636 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71637
71638         * modules/inttypes (Depends-on): No longer depends on stdint.
71639         * modules/stdint (Description): Say more about assumptions.
71640         Say that the fast types might differ.  Say macros are used.
71641         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
71642         (Makefile.am): Revise list of substituted symbols to match
71643         new stdint.m4.
71644         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
71645         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
71646         * tests/test-stdint.c (verify_same_types)
71647         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
71648         the code conforms to C99/C89.
71649         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
71650         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
71651
71652 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71653
71654         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
71655         but fix a bug, by requiring at least 64 bits.
71656         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
71657         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
71658         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
71659         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
71660
71661         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
71662         changes.  Make 2.59 a prerequisite.  Check and substitute for
71663         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
71664         inttypes.h.  Do not use special include files; just use the
71665         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
71666         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
71667         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
71668         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
71669         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
71670         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
71671         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
71672         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
71673         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
71674         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
71675         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
71676         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
71677         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
71678         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
71679         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
71680         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
71681         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
71682         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
71683         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
71684         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
71685         WINT_MAX.  Check for C99 conformance more strictly, by detecting
71686         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
71687         not check for things that C99 does not require, e.g., int8_t.  If
71688         a test isn't needed unless <stdint.h> isn't working, and is
71689         unlikely to be needed for any other reason, then don't do it
71690         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
71691         size_t, since we assume C89 freestanding at least.  Do not check
71692         for sig_atomic_t, wchar_t, or wint_t, since the code now does
71693         the right thing even if the types are not defined.  Instead use:
71694         (gl_STDINT_TYPE_PROPERTIES): New macro.
71695         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
71696         testing whether <sys/types.h> clashes, as Autoconf does this for
71697         us now.  All uses removed.
71698         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
71699         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
71700         (gl_CHECK_TYPE_SAME):
71701         Remove; no longer needed.
71702         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
71703         exists, since we'll return 0 anyway in that case.
71704         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
71705
71706 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71707
71708         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
71709         possible collision with system files.
71710         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
71711         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
71712         WCHAR_MIN and WCHAR_MAX in this case.
71713         (<stddef.h>): Do not include; no longer needed.
71714         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
71715         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
71716         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
71717         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
71718         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
71719         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
71720         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
71721         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
71722         !defined(__c99))]: Include in this case too, since it's harmless
71723         now.
71724         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
71725         dangerous to do so.
71726         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
71727         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
71728         (_STDINT_MIN, _STDINT_MAX): New macros.
71729         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
71730         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
71731         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
71732         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
71733         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
71734         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
71735         macros, not typedefs; this simplifies things quite a bit.
71736         Use long int for all types narrower than int64_t.
71737         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
71738         Define in terms of long long int or int64_t or long int,
71739         not int64_t or int32_t.  This saves some compile-time testing.
71740         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
71741         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
71742         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
71743         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
71744         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
71745         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
71746         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
71747         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
71748         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
71749         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
71750         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
71751         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
71752         undef any previous version and define our own version, for
71753         simplicity and consistency with the new macros for types.
71754         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
71755         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
71756         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
71757         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
71758         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
71759         @WINT_T_SUFFIX@ to keep things simple here.
71760         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
71761         Simplify by assuming typical 8/16/32/64 host, since we're
71762         already doing that elsewhere anyway.
71763         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
71764         and assume long long int is 64 bits if available.  This
71765         speeds up 'configure'.
71766
71767 2006-07-01  Eric Blake  <ebb9@byu.net>
71768
71769         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
71770         Reported by Andreas Buening.
71771
71772 2006-07-01  Eric Blake  <ebb9@byu.net>
71773
71774         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
71775
71776 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
71777
71778         * lib/getaddrinfo.c: fixed typo
71779
71780 2006-06-29  Jim Meyering  <jim@meyering.net>
71781
71782         * modules/strftime (Maintainer): Add my name, since with the
71783         FPRINTFTIME changes strftime.c has forked from glibc.
71784
71785 2006-06-29  Eric Blake  <ebb9@byu.net>
71786
71787         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
71788
71789 2006-06-29  Eric Blake  <ebb9@byu.net>
71790
71791         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
71792
71793 2006-06-29  Eric Blake  <ebb9@byu.net>
71794
71795         * lib/stat_.h: New file.
71796
71797 2006-06-29  Eric Blake  <ebb9@byu.net>
71798
71799         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
71800         unused static function.
71801
71802 2006-06-29  Eric Blake  <ebb9@byu.net>
71803
71804         * doc/functions.texi (Function Portability): Document missing lstat
71805         on mingw.
71806
71807 2006-06-29  Eric Blake  <ebb9@byu.net>
71808
71809         * MODULES.html.sh: Add sys_stat.
71810         * modules/sys_stat: New module.
71811         * modules/mkstemp (Depends-on): Add sys_stat.
71812
71813 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71814
71815         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
71816
71817 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71818
71819         * m4/c-bs-a.m4: Removed.
71820
71821 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71822
71823         * lib/strftime.c: Assume strftime() exists.
71824
71825 2006-06-29  Derek Price  <derek@ximbiot.com>
71826
71827         * modules/c-bs-a: Removed - \a is C89.
71828         * MODULES.html.sh: Remove c-bs-a.
71829
71830 2006-06-29  Bruno Haible  <bruno@clisp.org>
71831
71832         * modules/wcwidth (License): Change to LGPL.
71833
71834 2006-06-28  Simon Josefsson  <jas@extundo.com>
71835
71836         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
71837         on _WIN32.
71838
71839         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
71840         getnameinfo.
71841
71842 2006-06-28  Simon Josefsson  <jas@extundo.com>
71843
71844         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
71845
71846 2006-06-28  Simon Josefsson  <jas@extundo.com>
71847
71848         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
71849         functions there.  It will succeed on Windows XP, but on Windows
71850         2000 and (presumably) earlier, it will fail, and use the internal
71851         re-implementation.
71852         (use_win32_p): New function.
71853         (getaddrinfo): Use strtoul on servname, to support numeric ports.
71854         Support AI_NUMERICSERV to disable getservbyname.
71855         (getnameinfo): New function, only supports
71856         NI_NUMERICHOST|NI_NUMERICSERV for now.
71857
71858         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
71859         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
71860         getnameinfo.
71861
71862 2006-06-28  Eric Blake  <ebb9@byu.net>
71863
71864         * modules/wcwidth: New file.
71865         * modules/mbchar (Depends-on): Add wcwidth.
71866         * modules/mbswidth (Depends-on): Add wcwidth.
71867         * MODULES.html.sh: Add wcwidth.
71868
71869 2006-06-28  Eric Blake  <ebb9@byu.net>
71870
71871         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
71872         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
71873
71874 2006-06-28  Eric Blake  <ebb9@byu.net>
71875
71876         * lib/xvasprintf.h: Fix comments.
71877
71878 2006-06-28  Eric Blake  <ebb9@byu.net>
71879
71880         * lib/mbchar.h (wcwidth): Include wcwidth.h.
71881         * lib/mbswidth.c (wcwidth): Move from here...
71882         * lib/wcwidth.h: ...to this new file.
71883
71884 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71885
71886         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
71887
71888         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
71889         it's obsolete.
71890         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
71891
71892 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71893
71894         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
71895         Autoconf 2.60 says this stuff was obsolete.
71896
71897 2006-06-28  Bruno Haible  <bruno@clisp.org>
71898
71899         * modules/wcwidth (Files): Add m4/wchar_t.m4.
71900
71901 2006-06-28  Bruno Haible  <bruno@clisp.org>
71902
71903         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
71904         gt_TYPE_WCHAR_T.
71905
71906 2006-06-28  Bruno Haible  <bruno@clisp.org>
71907
71908         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
71909         declaration for wcwidth.
71910         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
71911
71912 2006-06-28  Bruno Haible  <bruno@clisp.org>
71913
71914         * lib/mkdtemp.c [MINGW]: Include <io.h>.
71915         (mkdir): Define using _mkdir.
71916
71917 2006-06-28  Bruno Haible  <bruno@clisp.org>
71918
71919         * lib/getaddrinfo.h: Fix POSIX URL.
71920         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
71921         _WIN32.
71922         (use_win32_p): Make static.
71923         (getaddrinfo): Reject service name if it is empty or does not consist
71924         solely of decimal digits, or if its value is > 65535.
71925         (getnameinfo): Remove useless casts.
71926
71927 2006-06-27  Simon Josefsson  <jas@extundo.com>
71928
71929         * modules/sys_select: New file, suggested by Bruno Haible, Paul
71930         Eggert and Martin Lambers.
71931
71932 2006-06-27  Simon Josefsson  <jas@extundo.com>
71933
71934         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
71935         Eggert and Martin Lambers.
71936
71937 2006-06-27  Bruno Haible  <bruno@clisp.org>
71938
71939         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
71940         result to 0, not to empty.
71941         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
71942
71943 2006-06-27  Bruno Haible  <bruno@clisp.org>
71944
71945         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
71946
71947 2006-06-26  Simon Josefsson  <jas@extundo.com>
71948
71949         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
71950         present.
71951
71952 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
71953
71954         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
71955         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
71956         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
71957
71958 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
71959
71960         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
71961
71962 2006-06-26  Bruno Haible  <bruno@clisp.org>
71963
71964         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
71965
71966 2006-06-26  Bruno Haible  <bruno@clisp.org>
71967
71968         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
71969
71970 2006-06-26  Bruno Haible  <bruno@clisp.org>
71971
71972         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
71973         SGI C compiler in pre-C99 mode.
71974         Suggested by Mark D. Baushke and Larry Jones.
71975
71976 2006-06-26  Bruno Haible  <bruno@clisp.org>
71977
71978         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
71979         WCHAR_MAX.
71980         Reported by Mark D. Baushke and Larry Jones.
71981
71982 2006-06-26  Bruno Haible  <bruno@clisp.org>
71983
71984         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
71985         in pre-C99 mode.
71986         Suggested by Mark D. Baushke and Larry Jones.
71987
71988 2006-06-23  Simon Josefsson  <jas@extundo.com>
71989             Bruno Haible  <bruno@clisp.org>
71990
71991         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
71992         Emit mostlyclean-local rule.
71993         (func_emit_tests_Makefile_am): Likewise.
71994         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
71995
71996 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
71997
71998         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
71999
72000 2006-06-23  Bruno Haible  <bruno@clisp.org>
72001
72002         * tests/test-stdint.c: Update to match ISO C 99 Technical
72003         Corrigendum 1.
72004
72005 2006-06-23  Bruno Haible  <bruno@clisp.org>
72006
72007         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
72008
72009 2006-06-23  Bruno Haible  <bruno@clisp.org>
72010
72011         * lib/stdint_.h: Treat IRIX like OpenBSD.
72012
72013 2006-06-23  Bruno Haible  <bruno@clisp.org>
72014
72015         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
72016         ISO C 99 Technical Corrigendum 1.
72017
72018 2006-06-22  Simon Josefsson  <jas@extundo.com>
72019
72020         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
72021         MinGW.
72022
72023 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72024
72025         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
72026         needed.  Some compiler complained about some of them.  Problem reported
72027         by Larry Jones in
72028         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
72029
72030 2006-06-21  Simon Josefsson  <jas@extundo.com>
72031
72032         * tests/test-getaddrinfo.c: New file.
72033
72034         * modules/getaddrinfo-tests: New file.
72035
72036         * MODULES.html.sh: Add inet_pton.
72037
72038         * modules/inet_pton: New file.
72039
72040 2006-06-21  Simon Josefsson  <jas@extundo.com>
72041
72042         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
72043         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
72044         of using the (limited) gnulib implementation on Windows XP.
72045
72046         * m4/inet_pton.m4: New file.
72047
72048 2006-06-21  Simon Josefsson  <jas@extundo.com>
72049
72050         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
72051         variable.
72052
72053         * lib/socket_.h: Don't define WINVER.
72054
72055         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
72056         slightly modified to work in gnulib.
72057
72058 2006-06-21  Simon Josefsson  <jas@extundo.com>
72059
72060         * doc/gnulib.texi (Windows sockets): Add.
72061
72062 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
72063
72064         * lib/read-file.c (fread_file): Start with buffer allocation of
72065         0 bytes rather than 1 byte; this simplifies the code.
72066         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
72067         code to free buffer and save/restore errno.
72068         (internal_read_file): Remove unused local.
72069
72070 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
72071
72072         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
72073         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
72074         Problem reported by Denis Excoffier in
72075         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
72076
72077 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72078
72079         * modules/sys_socket, modules/socklen: Include sys/types since
72080         FreeBSD 4.x's sys/socket.h needs it.
72081
72082 2006-06-19  Simon Josefsson  <jas@extundo.com>
72083
72084         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
72085
72086 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
72087
72088         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
72089
72090 2006-06-19  Bruno Haible  <bruno@clisp.org>
72091
72092         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
72093         and FULL_PATH_INTTYPES_H in angle brackets.
72094         Reported by Mark D. Baushke <mdb@gnu.org>.
72095
72096 2006-06-17  Eric Blake  <ebb9@byu.net>
72097
72098         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
72099         errno.
72100
72101 2006-06-17  Bruno Haible  <bruno@clisp.org>
72102
72103         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
72104         <sys/inttypes.h>.
72105
72106 2006-06-17  Bruno Haible  <bruno@clisp.org>
72107
72108         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
72109         whether errno is declared. Assume <errno.h> declares errno.
72110
72111 2006-06-17  Bruno Haible  <bruno@clisp.org>
72112
72113         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
72114
72115 2006-06-17  Bruno Haible  <bruno@clisp.org>
72116
72117         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
72118         problem on Solaris 2.5.1.
72119
72120 2006-06-16  Eric Blake  <ebb9@byu.net>
72121
72122         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
72123         * lib/unicodeio.c [!defined errno]: Likewise.
72124         * lib/strtol.c [!defined errno]: Likewise.
72125         * lib/strtod.c [!defined errno]: Likewise.
72126
72127 2006-06-15  Eric Blake  <ebb9@byu.net>
72128
72129         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
72130
72131 2006-06-15  Eric Blake  <ebb9@byu.net>
72132
72133         * config/srclist.txt (ssize_t.m4): Lose sync.
72134
72135 2006-06-15  Bruno Haible  <bruno@clisp.org>
72136
72137         * modules/stdint (Files): Include m4/full-header-path.m4,
72138         m4/size_max.m4, m4/wchar_t.m4.
72139         (Makefile.am): Many more substitutions.
72140         * modules/stdint-tests: New file.
72141         * tests/test-stdint.c: New file.
72142
72143 2006-06-15  Bruno Haible  <bruno@clisp.org>
72144
72145         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
72146         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
72147         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
72148         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
72149         gl_CHECK_TYPE_SAME): New macros.
72150
72151 2006-06-15  Bruno Haible  <bruno@clisp.org>
72152
72153         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
72154
72155 2006-06-15  Bruno Haible  <bruno@clisp.org>
72156
72157         * lib/stdint_.h: Rewritten to be fully auto-configured.
72158         Fixes bug on HP-UX/IA64.
72159
72160 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
72161
72162         * lib/getdate.y (__attribute__): Don't define if already defined.
72163         Problem reported by Larry Jones.
72164         * lib/utimens.c (__attribute__): Likewise.
72165
72166 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
72167
72168         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
72169         reported by Andreas Schwab.
72170
72171 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72172             Bruno Haible  <bruno@clisp.org>
72173
72174         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
72175         check for the declaration of strnlen and a run test that exposes the
72176         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
72177         rpl_strndup.
72178
72179 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72180             Bruno Haible  <bruno@clisp.org>
72181
72182         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
72183
72184 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72185
72186         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
72187         compile test, for Tru64 4.0D.
72188
72189 2006-05-28  Karl Berry  <karl@gnu.org>
72190
72191         * config/srclist.txt (printf-args.c): lose sync.
72192
72193 2006-05-26  Martin Lambers  <marlam@marlam.de>
72194
72195         * lib/getpass.c: Updates the test for the native W32 API, and adds
72196         missing includes, thus fixing compilation warnings.
72197
72198 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72199
72200         * lib/exclude.c (exclude_fnmatch): New function.
72201         (excluded_file_name): Call exclude_fnmatch.
72202         * lib/exclude.h (excluded_file_name): New prototype
72203
72204 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
72205
72206         * lib/tempname.c (small_open, large_open): New macros.
72207         (__open, __open64) [!_LIBC]: Remove.
72208         (__gen_tempname): Use small_open and large_open instead of __open
72209         and __open64.  This fixes a portability bug on HP-UX 11.11i
72210         reported by Simon Wing-Tang in
72211         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
72212
72213 2006-05-24  Bruno Haible  <bruno@clisp.org>
72214
72215         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
72216         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
72217         Reported by Thorsten Maerz <torte@netztorte.de> via
72218         Aaron Stone <aaron@serendipity.cx>.
72219
72220 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
72221
72222         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
72223         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
72224         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
72225         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
72226         not really conditional on the cache.
72227         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
72228
72229 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
72230
72231         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
72232         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
72233         (my_usleep): Don't mishandle maximum value.
72234
72235 2006-05-19  Jim Meyering  <jim@meyering.net>
72236
72237         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
72238
72239 2006-05-17  Bruno Haible  <bruno@clisp.org>
72240
72241         Cygwin portability.
72242         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
72243
72244 2006-05-17  Bruno Haible  <bruno@clisp.org>
72245
72246         * lib/stdint_.h: Fix recognition of Cygwin.
72247
72248 2006-05-15  Bruno Haible  <bruno@clisp.org>
72249
72250         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
72251         on libtool patch by Ralf Wildenhues.
72252
72253 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72254
72255         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
72256         test for C99 conformance; (bool) 0.5 is an integer constant
72257         expression, but (bool) -0.5 is not.  Problem reported by Fedor
72258         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
72259
72260 2006-05-11  Simon Josefsson  <jas@extundo.com>
72261
72262         * m4/xvasprintf.m4: Fix obvious typo.
72263
72264 2006-05-11  Jim Meyering  <jim@meyering.net>
72265
72266         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
72267         James Lemley.
72268
72269 2006-05-10  Simon Josefsson  <jas@extundo.com>
72270
72271         * lib/md4.c: Typo fix, update copyright years.
72272         (K1, K2): Don't use L because it turn computations into 64-bit on
72273         64-bit platforms.
72274
72275 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
72276
72277         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
72278         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
72279         unwanted sign propagation, e.g., on hosts with 64-bit int.
72280         There still are some problems with reeelly weird theoretical hosts
72281         (e.g., 33-bit int) but it's not worth worrying about now.
72282         * lib/sha1.c (rol): Likewise.
72283         (K1, K2, K3, K4): Remove unnecessary L suffix.
72284
72285 2006-05-10  Bruno Haible  <bruno@clisp.org>
72286
72287         * lib/des.c: Cast to avoid warnings.
72288
72289 2006-05-09  Bruno Haible  <bruno@clisp.org>
72290
72291         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
72292         (Depends-on): Depend also on xsize, stdarg.
72293         (configure.ac): Add gl_XVASPRINTF.
72294
72295 2006-05-09  Bruno Haible  <bruno@clisp.org>
72296
72297         * m4/xvasprintf.m4: New file.
72298
72299 2006-05-09  Bruno Haible  <bruno@clisp.org>
72300
72301         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
72302         (EOVERFLOW): Define fallback value.
72303         (xstrcat): New function.
72304         (xvasprintf): Recognize the special case of a string concatenation.
72305
72306 2006-05-08  Eric Blake  <ebb9@byu.net>
72307
72308         * gnulib-tool (func_version): Base copyright year on CVS date.
72309         (func_emit_copyright_notice): New function.
72310         (func_emit_lib_Makefile_am): Use it.
72311         (func_emit_tests_Makefile_am): Likewise.
72312         (func_import): Likewise.
72313
72314 2006-05-08  Bruno Haible  <bruno@clisp.org>
72315
72316         * modules/stdarg: New file.
72317         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
72318
72319 2006-05-08  Bruno Haible  <bruno@clisp.org>
72320
72321         * m4/stdarg.m4: New file, from GNU gettext.
72322
72323 2006-05-08  Bruno Haible  <bruno@clisp.org>
72324
72325         * config/srclist.txt (build-aux/config.rpath): different from latest
72326         release.
72327
72328 2006-05-08  Bruno Haible  <bruno@clisp.org>
72329
72330         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
72331
72332 2006-05-05  Jim Meyering  <jim@meyering.net>
72333
72334         * m4/warning.m4: New file, derived from bison's file by the same name.
72335
72336 2006-05-03  Bruno Haible  <bruno@clisp.org>
72337
72338         * lib/stdint_.h: Shorter URL.
72339         * lib/inttypes.h: Likewise.
72340
72341 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
72342
72343         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
72344
72345 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
72346
72347         * lib/verify.h: Document the internals better.  Most of this change
72348         was written by Bruno Haible.
72349
72350 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
72351
72352         * doc/verify.texi: New file, partly based on a proposal by
72353         Bruno Haible.
72354
72355 2006-05-02  Bruno Haible  <bruno@clisp.org>
72356
72357         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
72358         test from here...
72359         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
72360
72361 2006-04-29  Bruno Haible  <bruno@clisp.org>
72362
72363         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
72364         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
72365
72366 2006-04-29  Bruno Haible  <bruno@clisp.org>
72367
72368         * gnulib-tool: Make --update option actually work.
72369
72370 2006-04-29  Bruno Haible  <bruno@clisp.org>
72371
72372         * doc/gcd.texi: New file.
72373         * doc/gnulib.texi: Include it.
72374
72375 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
72376
72377         * lib/getdate.y (get_date): When adding relative date, start with the
72378         initial time, not with the result of the first mktime call.
72379
72380 2006-04-25  Bruno Haible  <bruno@clisp.org>
72381
72382         * gnulib-tool (func_import): Output the include directives in three
72383         blocks, sorted separately.
72384         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72385
72386 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
72387
72388         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
72389         to define main with arguments, for C++.  Reported by Eric Blake.
72390         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
72391         Prefer 'int main ()' to 'int main (void)', for C++.
72392         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
72393         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
72394         for 'main', for C99 and C++.
72395
72396 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
72397
72398         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
72399         Don't assume that exit status -1 is valid.
72400         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72401         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
72402         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
72403         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
72404         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
72405         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
72406         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
72407         functions can be used without declaring them, or that you can
72408         exit with status -1.
72409         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
72410
72411 2006-04-24  Karl Berry  <karl@gnu.org>
72412
72413         * config/srclist.txt (longdouble.m4): sync lost.
72414
72415 2006-04-24  Eric Blake  <ebb9@byu.net>
72416
72417         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
72418
72419 2006-04-24  Bruno Haible  <bruno@clisp.org>
72420
72421         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
72422         poll() implementation in AIX.
72423         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72424
72425 2006-04-24  Bruno Haible  <bruno@clisp.org>
72426
72427         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
72428         assigned exactly once.
72429
72430 2006-04-23  Claudio Fontana  <claudio@gnu.org>
72431             Bruno Haible  <bruno@clisp.org>
72432
72433         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
72434         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
72435         for AM_CPPFLAGS.
72436
72437 2006-04-23  Bruno Haible  <bruno@clisp.org>
72438
72439         * modules/copy-file: Depend on unistd.
72440         * modules/execute: Likewise.
72441         * modules/fatal-signal: Likewise.
72442         * modules/findprog: Likewise.
72443         * modules/mkdtemp : Likewise.
72444         * modules/pipe: Likewise.
72445         * modules/wait-process: Likewise.
72446
72447 2006-04-23  Bruno Haible  <bruno@clisp.org>
72448
72449         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
72450         condition was already detected.
72451         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72452
72453 2006-04-23  Bruno Haible  <bruno@clisp.org>
72454
72455         * lib/copy-file.c: Include <unistd.h> unconditionally.
72456         * lib/execute.c: Likewise.
72457         * lib/fatal-signal.c: Likewise.
72458         * lib/findprog.c: Likewise.
72459         * lib/mkdtemp.c: Likewise.
72460         * lib/pipe.h: Likewise.
72461         * lib/pipe.c: Likewise.
72462         * lib/wait-process.h: Likewise.
72463
72464 2006-04-23  Bruno Haible  <bruno@clisp.org>
72465
72466         * gnulib-tool (func_usage): Fix --import description. Document
72467         --update.
72468         (func_import): Create temporary file in a temporary directory, if
72469         --dry-run is specified. Silence errors from 'grep' when there are no
72470         m4 files in $m4dir.
72471         (func_create_testdir): Silence errors from 'grep' when there are no
72472         m4 files in $m4dir.
72473         Reported by Karl Berry <karl@freefriends.org>.
72474
72475 2006-04-20  Bruno Haible  <bruno@clisp.org>
72476
72477         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
72478         one argument, so that the code will be portable to Autoconf 2.60.
72479         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
72480         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
72481         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
72482
72483 2006-04-19  Derek Price  <derek@ximbiot.com>
72484             Eric Blake  <ebb9@byu.net>
72485
72486         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
72487         rather than "/full/path.h".  Update comment to match.  Shorten &
72488         generalize m4_translit call via AS_TR_CPP.
72489
72490 2006-04-19  Derek Price  <derek@ximbiot.com>
72491             Eric Blake  <ebb9@byu.net>
72492
72493         * lib/inttypes.h: Correct grammar in comment.
72494
72495 2006-04-18  Derek Price  <derek@ximbiot.com>
72496             Paul Eggert  <eggert@cs.ucla.edu>
72497
72498         * modules/inttypes: New file.
72499         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
72500
72501 2006-04-18  Derek Price  <derek@ximbiot.com>
72502             Paul Eggert  <eggert@cs.ucla.edu>
72503
72504         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
72505         New files.
72506
72507 2006-04-18  Derek Price  <derek@ximbiot.com>
72508             Paul Eggert  <eggert@cs.ucla.edu>
72509
72510         * lib/inttypes.h: New file.
72511         * lib/strtoimax.c: Assume <inttypes.h>.
72512
72513 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
72514
72515         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
72516         isn't mounted.  Problem reported by Kir Kolyshkin.
72517
72518 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
72519
72520         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
72521         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
72522         Derek R. Price.
72523         * lib/regex.h (RE_DUP_MAX): Update comment to match current
72524         implementation.
72525
72526 2006-04-12  Eric Blake  <ebb9@byu.net>
72527
72528         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
72529         is now done automatically by the corresponding Autoconf macro.
72530
72531 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
72532
72533         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
72534         time_r.h.
72535
72536 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72537
72538         Merge regex changes from libc, removing some of our
72539         POSIX-conformance changes that were rejected and redoing them in a
72540         less-intrusive way.
72541
72542         * lib/regcomp.c (re_compile_internal, init_dfa):
72543         Length arg is now size_t, not Idx.  All uses changed.
72544         (peek_token): Forward decl now says internal_function.
72545         (__re_error_msgid, __re_error_msgid_idx):
72546         Now static rather than extern with attribute_hidden.
72547         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
72548         For some reason libc prefers K&R style defns for external functions.
72549         (regerror) [!defined _LIBC]: Likewise.
72550         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
72551         (seek_collating_symbol_entry, lookup_collation_sequence_value):
72552         (build_range_exp, build_collating_symbol):
72553         Use K&R-style defn.
72554         (re_compile_fastmap): Use '\0' to memset, not 0.
72555         (utf8_sb_map): Make the calculations more obvious.
72556         (init_dfa, parse_bracket_exp, build_charclass_op):
72557         Call calloc and cast result, as glibc does.
72558         (init_word_char, fetch_token, peek_token, peek_token_bracket):
72559         (build_range_exp, build_collating_symbol):
72560         Now internal functions.
72561
72562         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
72563
72564         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
72565         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
72566         Don't depend on VMS; depend on __VMS instead, for POSIX
72567         namespace cleanness.
72568         (regoff_t): Define to ssize_t, not long int.
72569
72570         Remove the REG_ macros named below.  Instead, make the old names
72571         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
72572         __USE_GNU_REGEX.
72573         (REG_BACKSLASH_ESCAPE_IN_LISTS):
72574         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
72575         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
72576         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
72577         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
72578         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
72579         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
72580         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
72581         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
72582         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
72583         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
72584         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
72585         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
72586         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
72587         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
72588         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
72589         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
72590         (REG_NREGS):
72591         Remove.  All uses replaced by the old RE_* names.
72592         (RE_BACKSLASH_ESCAPE_IN_LISTS):
72593         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
72594         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
72595         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
72596         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
72597         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
72598         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
72599         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
72600         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
72601         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
72602         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
72603         Don't bother having these macros be independent of each others'
72604         values, since they no longer exist in the POSIX name space.
72605
72606         Rename the following member names back to their old names,
72607         unless !__USE_GNU_REGEX.  All uses changed back.
72608         (buffer): Renamed from re_buffer.
72609         (allocated): Renamed from re_allocated.
72610         (used): Renamed from re_used.
72611         (syntax): Renamed from re_syntax.
72612         (fastmap): Renamed from re_fastmap.
72613         (translate): Renamed from re_translate.
72614         (can_be_null): Renamed from re_can_be_null.
72615         (regs_allocated): Renamed from re_regs_allocated.
72616         (fastmap_accurate): Renamed from re_fastmap_accurate.
72617         (no_sub): Renamed from re_no_sub.
72618         (not_bol): Renamed from re_not_bol.
72619         (not_eol): Renamed from re_not_eol.
72620         (newline_anchor): Renamed from re_newline_anchor.
72621         (num_regs): Renamed from rm_num_regs.
72622         (start): Renamed from rm_start.
72623         (end): Renamed from rm_end.
72624
72625         (free_state): Move up a bit.
72626
72627         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
72628         #define to be empty.
72629         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
72630         when that is what is intended.
72631         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
72632         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
72633         (MAX): New macro.
72634         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
72635         All uses changed back to re_malloc, etc.  It's now the caller's
72636         responsibility to check for overflow; all callers changed.
72637         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
72638         (re_x2nrealloc): Remove.
72639         (free_state): Remove decl.
72640
72641         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
72642         (re_set_registers, re_exec):
72643         Use K&R-style defn.
72644
72645         2006-01-31  Roland McGrath  <roland@redhat.com>
72646
72647         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
72648         Reported by Mike Frysinger <vapier@gentoo.org>.
72649
72650         2006-01-15  Andreas Jaeger  <aj@suse.de>
72651
72652         [BZ #1950]
72653         * lib/regex_internal.c (re_string_reconstruct): Adjust for
72654         build_wcs_upper_buffer change.
72655         (build_wcs_upper_buffer): Change return type.
72656
72657         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
72658
72659         * lib/regex_internal.h: Include <stdint.h> if available.
72660
72661         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
72662
72663         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
72664
72665         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
72666
72667         * lib/regcomp.c: Adjust for changed secondary hash function.
72668
72669         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
72670
72671         * lib/regex.h: Pretty printing.
72672         Clean up namespace a bit.
72673
72674         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
72675
72676         * lib/regexec.c (update_cur_sifted_state, check_arrival,
72677         check_arrival_add_next_nodes): Avoid using uninitialized variable.
72678
72679         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
72680                     Ulrich Drepper  <drepper@redhat.com>
72681
72682         [BZ #1302]
72683         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
72684         changed.
72685         (bitset_word_t): Renamed from bitset_word.  All uses changed.
72686
72687         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
72688
72689         [BZ #281]
72690         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
72691         * lib/regcomp.c: Remove unnecessary uses of
72692         unsigned RE_TRANSLATE_TYPE.
72693         * lib/regex_internal.h: Likewise.
72694         * lib/regex_internal.c: Likewise.
72695         * lib/regexec.c: Likewise.
72696         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
72697
72698         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
72699
72700         * lib/regexec.c (find_recover_state): Remove unnecessary
72701         initialization.
72702         (transit_state_bkref): Make DFA a const pointer.
72703         (get_subexp): Likewise.
72704         (check_arrival): Likewise.
72705         (update_cur_sifted_state): Likewise.
72706         (re_search_internal): Likewise.
72707         (prune_impossible_nodes): Likewise.
72708         (acquire_init_state_context): Likewise.
72709         (proceed_next_node): Likewise.
72710         (set_regs): Likewise.
72711         (free_fail_stack_return): Likewise.
72712         (check_arrival_expand_ecl): Mark DFA parameter as const.
72713         (check_arrival_expand_ecl_sub): Likewise.
72714         (check_subexp_limits): Likewise.
72715         (sub_epsilon_src_nodes):  Likewise.
72716         (add_epsilon_src_nodes):  Likewise.
72717         (merge_state_array): Likewise.
72718         (update_regs): Likewise.
72719         (build_trtable): Likewise.
72720         (sift_states_backward): Mark MCTX parameter as const.
72721         (build_sifted_states): Likewise.
72722         (update_cur_sifted_state): Likewise.
72723         (sift_states_mkref): Likewise.
72724         (check_arrival_expand_ecl): Mark eclosure as const.
72725         (check_dst_limits_calc_pos_1): Likewise.
72726         * lib/regex_internal.h (re_match_context_t): Make dfa a const
72727         pointer.
72728
72729         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
72730
72731         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
72732         (transit_state_sb): Likewise.
72733         (transit_state_mb): Likewise.
72734         (sift_states_iter_mb): Likewise.
72735         (check_arrival_add_next_nodes): Likewise.
72736         (check_node_accept_bytes): Change first parameter to pointer-to-const.
72737         [_LIBC] (re_search_2_stub): Use mempcpy.
72738
72739         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
72740         mbrtowc for very simple UTF-8 case.
72741
72742         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
72743         a pointer-to-const.
72744         (re_acquire_state_context): Likewise.
72745         * lib/regex_internal.h: Adjust prototypes.
72746
72747         * lib/regex.c: Prevent using C++ compilers.
72748
72749         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
72750         (re_acquire_state_context): Likewise.
72751
72752 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72753
72754         * modules/regex (Depends-on): Add ssize_t.
72755
72756 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72757
72758         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
72759         translation table.
72760
72761 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72762
72763         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
72764
72765 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
72766             Bruno Haible  <bruno@clisp.org>
72767
72768         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
72769         <sys/types.h> and <inttypes.h>.
72770
72771 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72772
72773         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
72774         `__error_t_defined', so argp.h will not typedef the former.
72775
72776 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
72777
72778         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
72779         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
72780         glibc names.  Even if glibc is changed to conform to POSIX, the
72781         traditional names will be available anyway, since regex depends on
72782         the extensions module.  Also, fix a longstanding typo in the
72783         implementation of Spencer ERE test #75 from grep 2.3.  Problems
72784         reported by Emanuele Giaquinta.  Also, change sense of cached
72785         variable, so that the message makes sense.
72786
72787 2006-03-24  Simon Josefsson  <jas@extundo.com>
72788
72789         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
72790         including some doc fixes.
72791         (base64_encode_alloc): Fix +1 bug on allocation failures.
72792
72793 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72794
72795         * lib/base64.c (base64_encode): Do not read past end of array with
72796         unsanitized input on systems with CHAR_BIT > 8.
72797
72798 2006-03-24  Eric Blake  <ebb9@byu.net>
72799
72800         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
72801
72802 2006-03-22  Karl Berry  <karl@gnu.org>
72803
72804         * config/srclist.txt (*setenv.[ch]): get from coreutils.
72805         * config/srclistvars.sh (COREUTILS): new var.
72806
72807 2006-03-17  Jim Meyering  <jim@meyering.net>
72808
72809         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
72810         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
72811
72812 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72813
72814         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
72815         no longer needs it.  Instead, check that regoff_t is as least
72816         as wide as ptrdiff_t.
72817
72818         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
72819         so that our regex.h stays compatible with the installed regex.
72820         This is helpful for installers who configure --without-included-regex.
72821         Problem reported by Emanuele Giaquinta.
72822
72823 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72824
72825         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
72826         Typedef to long int, not to off_, as POSIX will likely change
72827         in that direction.
72828
72829 2006-03-15  Eric Blake  <ebb9@byu.net>
72830
72831         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
72832
72833 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72834
72835         * lib/argp-help.c (validate_uparams): Fix typo
72836         * lib/argp-parse.c (argp_default_options): Consistently begin help
72837         messages with a lowercase letter.
72838
72839 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
72840
72841         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
72842         overrun buffers and shouldn't be used (much as gets shouldn't be
72843         used).
72844         * lib/time_r.c (asctime_r, ctime_r): Likewise.
72845
72846 2006-03-08  Simon Josefsson  <jas@extundo.com>
72847
72848         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
72849         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72850
72851 2006-03-08  Simon Josefsson  <jas@extundo.com>
72852
72853         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
72854         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72855
72856 2006-03-08  Simon Josefsson  <jas@extundo.com>
72857
72858         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
72859         signal that configure disabled the device.
72860
72861 2006-03-08  Simon Josefsson  <jas@extundo.com>
72862
72863         * build-aux/maint.mk: Fix refresh-po, to handle no translated
72864         languages.
72865
72866 2006-03-07  Simon Josefsson  <jas@extundo.com>
72867
72868         * modules/getopt (Depends-on): Add unistd.
72869
72870         * modules/unistd: New file.
72871
72872 2006-03-07  Simon Josefsson  <jas@extundo.com>
72873
72874         * modules/gc-random: New file.
72875
72876 2006-03-07  Simon Josefsson  <jas@extundo.com>
72877
72878         * m4/unistd_h.m4: New file.
72879
72880 2006-03-07  Simon Josefsson  <jas@extundo.com>
72881
72882         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
72883         test to be side-effect free by storing the result in the cache
72884         variable gl_cv_lib_readline, and moving the assignment of
72885         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
72886         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72887
72888 2006-03-07  Simon Josefsson  <jas@extundo.com>
72889
72890         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
72891         error on missing devices (the functions will return an error).
72892
72893         * m4/gc.m4: Move random stuff to gc-random.m4
72894
72895 2006-03-07  Simon Josefsson  <jas@extundo.com>
72896
72897         * lib/unistd_.h: New file.
72898
72899 2006-03-07  Simon Josefsson  <jas@extundo.com>
72900
72901         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
72902
72903 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72904
72905         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
72906         Problem reported by Juan Manuel Guerrero.
72907
72908 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72909
72910         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
72911         the unistd module.
72912         * lib/getlogin_r.c: Likewise.
72913         * lib/getlogin_r.h: Likewise.
72914         * lib/glob.c: Likewise.
72915         * lib/pagealign_alloc.c: Likewise.
72916         * lib/unistd_.h: Remove; no longer needed.
72917
72918 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72919
72920         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72921         Add unistd.
72922         * modules/c-stack (Depends-on): Add unistd.
72923         * modules/getlogin_r: Likewise.
72924         * modules/glob: Likewise.
72925         * modules/pagealign_alloc: Likewise.
72926         * modules/unistd (Files): Remove lib/unistd_.h.
72927         (EXTRA_DIST): Remove.
72928         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
72929         need unistd_.h.
72930         (MOSTLYCLEANFILES): Remove unistd.h-t.
72931
72932 2006-03-03  Simon Josefsson  <jas@extundo.com>
72933
72934         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
72935
72936 2006-03-03  Simon Josefsson  <jas@extundo.com>
72937
72938         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
72939         libidn and bison.
72940
72941 2006-03-03  Simon Josefsson  <jas@extundo.com>
72942
72943         * build-aux/maint.mk: Add indent target.
72944
72945 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
72946
72947         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
72948         our replacement poll.h in any case, to avoid a differing
72949         declaration from a system header.  Seen on AIX.
72950
72951 2006-03-01  Simon Josefsson  <jas@extundo.com>
72952
72953         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
72954         <kasal@ucw.cz>.
72955
72956 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72957
72958         * modules/gettime (Depends-on): Add extensions module.
72959         * modules/nanosleep (Depends-on): Likewise.
72960         * modules/settime (Depends-on): Likewise.
72961
72962 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72963
72964         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
72965         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
72966         pedantically.
72967         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72968         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
72969
72970         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
72971         not "==".  Reported by Ralf Wildenhues.
72972
72973 2006-03-01  Karl Berry  <karl@gnu.org>
72974
72975         * doc/Copyright/request-*: new files, synced from gnuorg.
72976
72977 2006-03-01  Karl Berry  <karl@gnu.org>
72978
72979         * config/srclist.txt (Copyright/*): new entries.
72980
72981 2006-02-28  Simon Josefsson  <jas@extundo.com>
72982
72983         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
72984
72985 2006-02-27  Simon Josefsson  <jas@extundo.com>
72986
72987         * lib/base64.h: Indent #define's.  From Jim Meyering
72988         <jim@meyering.net>.
72989
72990 2006-02-27  Jim Meyering  <jim@meyering.net>
72991
72992         Revert the change of 2006-02-24, so these files can continue
72993         to be sync'd from gettext.
72994         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
72995         of `config.h'.
72996
72997 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72998
72999         * modules/intprops: New file.
73000         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
73001         Add intprops.
73002         * modules/getloadavg (Files): Remove lib/intprops.h.
73003         (Depends-on): Add intprops.
73004         * modules/human: Likewise.
73005         * modules/inttostr: Likewise.
73006         * modules/openat: Likewise.
73007         * modules/sig2str: Likewise.
73008         * modules/userspec: Likewise.
73009         * modules/utimecmp: Likewise.
73010         * modules/xnanosleep: Likewise.
73011         * modules/xstrtol: Likewise.
73012
73013 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
73014
73015         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
73016         * modules/lock-tests (TESTS): Use $(EXEEXT).
73017         * modules/tls-tests: Likewise.
73018         * modules/argp-tests: Likewise.
73019         (check_PROGRAMS): New var, replacing...
73020         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
73021
73022 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73023
73024         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
73025         `config.h'.
73026
73027 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
73028
73029         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
73030
73031 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73032
73033         Sync from coreutils.
73034         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
73035         gl_CHDIR_SAFER.
73036
73037 2006-02-22  Jim Meyering  <jim@meyering.net>
73038
73039         Sync from coreutils.
73040         * m4/chdir-safer.m4: New file.
73041
73042 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
73043
73044         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
73045         AT_FDCWD exceeds INT_MAX.
73046         * lib/openat.h (AT_FDCWD): Likewise.
73047
73048 2006-02-17  Eric Blake  <address@hidden>
73049
73050         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
73051
73052 2006-02-16  Simon Josefsson  <jas@extundo.com>
73053
73054         * modules/getaddrinfo (Depends-on): Add sys_socket.
73055
73056 2006-02-15  Simon Josefsson  <jas@extundo.com>
73057
73058         * build-aux/maint.mk: Add dsyntax-check rule.
73059
73060 2006-02-15  Eric Blake  <ebb9@byu.net>
73061
73062         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
73063         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
73064         'present but cannot compile' warnings on cygwin.
73065         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
73066         use ws2tcpip.h if sys/socket.h works.
73067         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
73068         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
73069
73070 2006-02-14  Simon Josefsson  <jas@extundo.com>
73071
73072         * modules/maintainer-makefile (Files): Rename.
73073
73074         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
73075         and (the local) Makefile.cfg to maint-cfg.mk.
73076
73077         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
73078         to the latter.
73079
73080         * modules/maintainer-makefile: New module.
73081
73082         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
73083         severaly stripped to make it possible to build it up from scratch
73084         with reliable tests.
73085
73086         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
73087         fixes to permit overriding the default actions when configure and
73088         makefile are not available.
73089
73090 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73091
73092         Sync from coreutils.
73093         * modules/lstat (Depends-on): Don't depend on xalloc.
73094         (License): Change from GPL to LGPL, since this is now simply a
73095         replacement for a libc function.
73096
73097 2006-02-14  Jim Meyering  <jim@meyering.net>
73098
73099         Sync from coreutils.
73100
73101         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
73102         failure on deficient systems, and simplify gnulib lgpl dependencies.
73103         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
73104         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
73105
73106         * lib/xalloc-die.c: Remove unused definition of N_.
73107
73108 2006-02-14  Jim Meyering  <jim@meyering.net>
73109
73110         Sync from coreutils.
73111         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
73112         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
73113         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
73114         double-quote uses of that variable, to accommodate the rare case in
73115         which getmntent is available in none of the libraries checked.  This
73116         happens at least on FreeBSD 5.0.
73117
73118 2006-02-13  Simon Josefsson  <jas@extundo.com>
73119
73120         * gnulib-tool (Usage): Fix --import, from
73121         karl@freefriends.org (Karl Berry).
73122
73123 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
73124
73125         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
73126
73127 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
73128
73129         * lib/argp-namefrob.h: Restore changes accidentally lost during the
73130         "autoupdate" on 2005-12-12.
73131
73132 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
73133
73134         * modules/closeout (Depends-on): Remove atexit.
73135
73136 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
73137
73138         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
73139         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
73140
73141 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73142
73143         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
73144         __EXTENSIONS__ if this causes compilation to fail.  Problem
73145         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
73146         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
73147
73148 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
73149
73150         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
73151         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
73152         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
73153         All uses changed.
73154
73155 2006-01-26  Simon Josefsson  <jas@extundo.com>
73156
73157         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
73158         prototype is visible on mingw32.
73159
73160         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
73161         for mingw32.
73162
73163         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
73164         mingw32).
73165
73166 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
73167
73168         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
73169         attempt to open for write; this always fails, at least on POSIX
73170         hosts.  This reinstates the 2006-01-09 change, which was
73171         inadvertently removed.
73172
73173 2006-01-26  Bruno Haible  <bruno@clisp.org>
73174
73175         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
73176         Reported by Paul Eggert.
73177
73178 2006-01-26  Bruno Haible  <bruno@clisp.org>
73179             Paul Eggert  <eggert@cs.ucla.edu>
73180
73181         * lib/stdbool_.h (_Bool)
73182         [(! (defined __cplusplus || defined __BEOS__)
73183           && !defined __GNUC__
73184           && !(defined __HP_cc || defined __xlc__
73185                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
73186                || defined __sgi))]:
73187         #define to signed char in these cases too; this simplifies
73188         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
73189         etc., separately) and makes it more conservative.
73190
73191 2006-01-25  Simon Josefsson  <jas@extundo.com>
73192
73193         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
73194         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
73195         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
73196
73197 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
73198
73199         * lib/argp-namefrob.h: Bugfix. Remove stray #
73200
73201 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
73202
73203         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
73204         so that we test the test.
73205         Check for yet another HP-UX cc bug involving *bool |= bool.
73206
73207 2006-01-25  Karl Berry  <karl@gnu.org>
73208
73209         * config/srclist.txt (vasnprintf.c): sync lost.
73210
73211 2006-01-25  Jim Meyering  <jim@meyering.net>
73212
73213         Sync from the stable (b5) branch of coreutils:
73214
73215         * lib/fts.c (fts_children): Don't let close() clobber errno from
73216         failed fchdir().
73217
73218         * lib/fts.c (fts_stat): When following a symlink-to-directory,
73219         don't necessarily interpret stat-fails+lstat-succeeds as indicating
73220         a dangling symlink.  That can also happen at least for ELOOP.
73221         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
73222         FYI, this bug predates the inclusion of fts.c in coreutils.
73223
73224         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
73225         in their own block, so pre-c99 compilers don't object.
73226
73227         Avoid the double-free (first in fts_read, second in fts_close) that
73228         would occur when an `active' directory is made inaccessible (e.g.,
73229         via chmod a-x) during a traversal.
73230         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
73231         before returning.  Reproduce this failure by
73232         mkdir -p a/b; cd a; chmod a-x . b
73233         Reported by Stavros Passas.
73234
73235 2006-01-25  Jim Meyering  <jim@meyering.net>
73236
73237         * lib/fileblocks.c: Remove more useless parentheses.
73238         * lib/readutmp.h: Likewise.
73239
73240 2006-01-25  Bruno Haible  <bruno@clisp.org>
73241
73242         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
73243         warnings.
73244         Reported by Paul Eggert.
73245
73246 2006-01-25  Bruno Haible  <bruno@clisp.org>
73247
73248         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
73249         rid of a trap command. For Solaris sh.
73250         Reported by Mark D. Baushke <mdb@gnu.org>.
73251
73252 2006-01-24  Simon Josefsson  <jas@extundo.com>
73253
73254         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
73255         Bruno.
73256
73257 2006-01-24  Karl Berry  <karl@gnu.org>
73258
73259         * config/srclist.txt (argp-namefrob.h): sync lost.
73260
73261 2006-01-24  Jim Meyering  <jim@meyering.net>
73262
73263         * modules/openat (Files): Add lib/intprops.h.
73264         From Mark D. Baushke.
73265
73266 2006-01-24  Jim Meyering  <jim@meyering.net>
73267
73268         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
73269         Reported by Mark D. Baushke.
73270
73271 2006-01-24  Jim Meyering  <jim@meyering.net>
73272
73273         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
73274
73275 2006-01-24  Bruno Haible  <bruno@clisp.org>
73276
73277         * modules/strnlen (Maintainer): Change from glibc to all.
73278
73279 2006-01-24  Bruno Haible  <bruno@clisp.org>
73280
73281         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
73282         Patch by Paul Eggert.
73283
73284 2006-01-24  Bruno Haible  <bruno@clisp.org>
73285
73286         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
73287         already has it.
73288         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
73289         2005-11-26.
73290
73291         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
73292         'signed char' to avoid problems with the built-in _Bool type.
73293         Reported by Paul Eggert on 2005-11-26.
73294
73295 2006-01-24  Bruno Haible  <bruno@clisp.org>
73296
73297         * gnulib-tool (func_import): Avoid constructing complicated sed
73298         expressions inside backquote.
73299         Report and solution by Mark D. Baushke <mdb@gnu.org>.
73300
73301 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
73302
73303         These changes imported from libc.
73304         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
73305         test and two separate function calls.
73306         * lib/strndup.c (__strndup): Add libc_hidden_def.
73307
73308 2006-01-23  Simon Josefsson  <jas@extundo.com>
73309
73310         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
73311         Remove the test_*_SOURCES variable: automake infers it by default.
73312         * modules/tls-tests: Likewise.
73313
73314 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73315
73316         Work around porting bugs reported by Dieter in
73317         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
73318         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
73319         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
73320         Include "getopt.h" first, to check interface.
73321         (getenv): Declare only if defined HAVE_DECL_GETENV &&
73322         !HAVE_DECL_GETENV.
73323         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
73324         (__strndup): Revert to K&R-style function dfns, the glibc style.
73325         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
73326         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
73327         Include strnlen.h first, to get prototype properly.
73328         (strnlen): Renamed from __strnlen.
73329         Remove weak alias.
73330
73331 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73332
73333         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
73334
73335 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73336
73337         * config/srclist.txt: Adjust to reflect glibc reorganization.
73338         This affects only comments.
73339
73340 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73341
73342          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
73343          Reported by Bruce Korb <bkorb@gnu.org>.
73344
73345 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
73346
73347         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
73348         to pacify gcc -Wswitch-default.
73349
73350 2006-01-22  Bruno Haible  <bruno@clisp.org>
73351
73352         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
73353         temporary buffer for sprintf, take into account the precision also
73354         for 'd', 'i', 'u', 'o', 'x', 'X'.
73355
73356 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
73357
73358         * modules/argp-tests: New module
73359         * tests/test-argp.c: New file
73360         * tests/test-argp-2.sh: New file
73361
73362 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
73363
73364         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
73365         (__argp_base_name): Removed
73366         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
73367         typo.
73368         (__argp_base_name): Provide macro definition or extern declaration
73369         depending on the configuration
73370
73371 2006-01-20  Simon Josefsson  <jas@extundo.com>
73372
73373         * modules/inet_ntop (Depends-on): Depend on sys_socket.
73374
73375 2006-01-20  Simon Josefsson  <jas@extundo.com>
73376
73377         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
73378
73379 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73380
73381         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
73382         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
73383         Suggested by Bruno Haible.
73384
73385 2006-01-20  Karl Berry  <karl@gnu.org>
73386
73387         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
73388         until changes propagate, I guess.
73389
73390 2006-01-19  Simon Josefsson  <jas@extundo.com>
73391
73392         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
73393
73394 2006-01-19  Simon Josefsson  <jas@extundo.com>
73395
73396         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
73397
73398 2006-01-19  Simon Josefsson  <jas@extundo.com>
73399
73400         * gnulib-tool: Set check_PROGRAMS.
73401
73402         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
73403         modules/des-tests, modules/gc-arcfour-tests,
73404         modules/gc-arctwo-tests, modules/gc-des-tests,
73405         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
73406         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
73407         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
73408         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
73409         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
73410         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
73411         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
73412         test_*_SOURCES.
73413
73414 2006-01-18  Simon Josefsson  <jas@extundo.com>
73415
73416         * modules/socklen (Depends-on): Depend on sys_socket.
73417
73418 2006-01-18  Simon Josefsson  <jas@extundo.com>
73419
73420         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
73421         modules/des-tests, modules/gc-arcfour-tests,
73422         modules/gc-arctwo-tests, modules/gc-des-tests,
73423         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
73424         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
73425         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
73426         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
73427         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
73428         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
73429         $(EXEEXT) to automake TESTS variable, for mingw32.
73430
73431 2006-01-17  Simon Josefsson  <jas@extundo.com>
73432
73433         * modules/socklen (Include): Need sys/socket.h.
73434
73435 2006-01-17  Bruno Haible  <bruno@clisp.org>
73436
73437         * modules/ssize_t (Include): Add <sys/types.h>.
73438
73439 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
73440
73441         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
73442         it's not portable and it doesn't work with cross-compiles.
73443         Problem reported by Bruno Haible.  Fix missing-$ typo in
73444         'test "gl_cv_ignore_unused_libraries" ...' that prevented
73445         -zignore from being used with Sun's C compiler.
73446
73447 2006-01-12  Simon Josefsson  <jas@extundo.com>
73448
73449         * lib/base64.c: Fix warning, reported by Bruno Haible
73450         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
73451
73452 2006-01-12  Bruno Haible  <bruno@clisp.org>
73453
73454         * modules/ldd: New file.
73455         * build-aux/ldd.sh.in: New file.
73456         * MODULES.html.sh (Support for building libraries and executables): Add
73457         ldd.
73458
73459 2006-01-12  Bruno Haible  <bruno@clisp.org>
73460
73461         * m4/ldd.m4: New file.
73462
73463 2006-01-12  Bruno Haible  <bruno@clisp.org>
73464
73465         * gnulib-tool (func_import, func_create_testdir): Don't go into an
73466         endless loop while replacing $auxdir with build-aux.
73467
73468 2006-01-11  Simon Josefsson  <jas@extundo.com>
73469
73470         * lib/stdint_.h (SIZE_MAX): Add missing (.
73471
73472 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
73473
73474         Sync from coreutils.
73475         * lib/md5.c: Fix commentary typos.
73476         (alignof, UNALIGNED_P): No need for a GCC-specific version.
73477         * lib/md5.h (__attribute__): Remove; unused.
73478         * lib/sha1.c: Fix commentary to match md5 better.
73479         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
73480         so that we don't need to worry about alignment.  All uses changed.
73481         This merges the 2005-10-28 md5 change into sha1.
73482
73483 2006-01-11  Jim Meyering  <jim@meyering.net>
73484
73485         Sync from coreutils.
73486         * lib/md5.c (OP): Fix spacing.
73487
73488 2006-01-11  Bruno Haible  <bruno@clisp.org>
73489
73490         Ensure automatic ordering between gl_LOCK and gl_ARGP.
73491         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
73492         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
73493
73494 2006-01-11  Bruno Haible  <bruno@clisp.org>
73495
73496         Ensure automatic ordering between gl_LOCK and gl_ARGP.
73497         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
73498         the "early" section as well.
73499
73500 2006-01-11  Bruno Haible  <bruno@clisp.org>
73501
73502         Avoid "ar: no archive members specified" error on MacOS X.
73503         * gnulib-tool (func_modules_add_dummy): New function.
73504         (func_import, func_create_testdir): Invoke it.
73505
73506 2006-01-11  Bruno Haible  <bruno@clisp.org>
73507
73508         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
73509         with $auxdir in AC_CONFIG_FILES statements.
73510
73511 2006-01-11  Bruno Haible  <bruno@clisp.org>
73512
73513         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73514         Initialize also noinst_HEADERS to empty.
73515
73516 2006-01-11  Bruno Haible  <bruno@clisp.org>
73517
73518         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
73519         variables.
73520         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
73521         autoreconf.
73522
73523 2006-01-11  Bruno Haible  <bruno@clisp.org>
73524
73525         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
73526         overridable by the user.
73527         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73528
73529 2006-01-10  Simon Josefsson  <jas@extundo.com>
73530
73531         * modules/sys_socket: New file.
73532
73533 2006-01-10  Simon Josefsson  <jas@extundo.com>
73534
73535         * m4/sys_socket_h.m4: New file.
73536
73537 2006-01-10  Simon Josefsson  <jas@extundo.com>
73538
73539         * lib/socket_.h: New file.
73540
73541 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
73542
73543         * modules/readutmp (Maintainer): Add myself.
73544
73545 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
73546
73547         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
73548         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
73549         People who are still concerned with buggy memcmp implementations
73550         can invoke gl_FUNC_MEMCMP themselves.
73551
73552 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
73553
73554         * lib/regex_internal.h (BITSET_WORD_BITS):
73555         Work around a bug in 64-bit PGC (before version 6.1-2), where the
73556         preprocessor mishandles large unsigned values as if they were signed.
73557         Problem reported by Claudio Fontana in
73558         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
73559
73560 2006-01-10  Jim Meyering  <jim@meyering.net>
73561
73562         Avoid the double-free (first in fts_read, second in fts_close) that
73563         would occur when an `active' directory is made inaccessible (e.g.,
73564         via chmod a-x) during a traversal.
73565         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
73566         before returning.  Reproduce this failure by
73567         mkdir -p a/b; cd a; chmod a-x . b
73568         Reported by Stavros Passas.
73569
73570         Sync from coreutils.
73571         * lib/sha1.c: Tweak grammar in a comment.
73572
73573 2006-01-10  Jim Meyering  <jim@meyering.net>
73574
73575         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
73576         Patch by Joerg Sonnenberger.
73577
73578 2006-01-10  Bruno Haible  <bruno@clisp.org>
73579
73580         * modules/readutmp: Depend on module free.
73581         * modules/strtok_r: Depend on module restrict.
73582
73583 2006-01-10  Bruno Haible  <bruno@clisp.org>
73584
73585         * modules/gettext (configure.ac): Add an invocation of
73586         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
73587
73588 2006-01-10  Bruno Haible  <bruno@clisp.org>
73589
73590         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
73591         Reported by Werner Lemberg <wl@gnu.org>.
73592
73593 2006-01-10  Bruno Haible  <bruno@clisp.org>
73594
73595         * lib/localcharset.c: Update from GNU gettext.
73596
73597 2006-01-10  Bruno Haible  <bruno@clisp.org>
73598
73599         * lib/argp.h (__const): Remove macro. Use const instead.
73600         * lib/argp-fmtstream.h (__const): Likewise.
73601         * lib/glob_.h (__const): Remove macro.
73602         * lib/glob-libc.h: Use const instead of __const.
73603
73604 2006-01-10  Bruno Haible  <bruno@clisp.org>
73605
73606         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
73607         variable.
73608         Needed to avoid an automake error regarding the 'gettext' module.
73609
73610 2006-01-09  Simon Josefsson  <jas@extundo.com>
73611
73612         * modules/inet_ntop (Depends-on): Add restrict.
73613
73614 2006-01-09  Simon Josefsson  <jas@extundo.com>
73615
73616         * modules/gc-rijndael-tests (License): Put under LGPL.
73617
73618         * modules/gc-des-tests (License): Likewise.
73619
73620         * modules/gc-arcfour-tests (License): Likewise.
73621
73622         * modules/gc-arctwo-tests (License): Likewise.
73623
73624         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
73625
73626         * modules/gc-hmac-sha1-tests (Files): Likewise.
73627
73628         * modules/gc-hmac-md5-tests (License): Likewise.
73629
73630         * modules/gc-sha1-tests (License): Likewise.
73631
73632         * modules/gc-md5-tests (License): Likewise.
73633
73634         * modules/gc-md4-tests (License): Likewise.
73635
73636         * modules/gc-md2-tests (License): Likewise.
73637
73638         * modules/gc-tests (License): Likewise.
73639
73640         * modules/des-tests (License): Likewise.
73641
73642         * modules/md4-tests (License): Likewise.
73643
73644         * modules/md2-tests (License): Likewise.
73645
73646 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73647
73648         Sync from coreutils:
73649
73650         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
73651         * modules/lib-ignore: New file.
73652         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
73653         chdir-safer.m4, lchmod.m4.
73654         * modules/openat: Add mkdirat.c, openat-priv.h.
73655
73656 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73657
73658         Sync from coreutils.
73659         * m4/lib-ignore.m4: New file.
73660         * m4/lchmod.m4: New file.
73661
73662 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73663
73664         Sync from coreutils.
73665         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
73666         for write access: POSIX says that must fail.
73667         * lib/fts.c (diropen): Likewise.
73668         * lib/save-cwd.c (save_cwd): Likewise.
73669         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
73670         well, for minor improvements on hosts that lack O_DIRECTORY.
73671         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
73672         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
73673         Fall back on chown if open failed with EACCES.
73674
73675         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
73676         Report an error at compile-time if only a 1-second nominal clock
73677         resolution is found.
73678
73679         * lib/lchmod.h: New file.
73680         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
73681         (make_dir_parents): Use lchown rather than chown, and
73682         lchmod rather than chmod.
73683
73684         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
73685         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
73686         "proc" reported by n0dalus.
73687
73688         * lib/mountlist.c: Include <limits.h>.
73689         (dev_from_mount_options)
73690         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
73691         New function.  It no longer assumes "dev=" has the System V meaning
73692         on Linux (since it doesn't).  It also parses "dev=" more carefully.
73693         (read_file_system_list)
73694         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
73695         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
73696         dev= in that case.
73697
73698         * lib/posixtm.h (PDS_PRE_2000): New macro.
73699         * lib/posixtm.c (year): Arg is now syntax_bits rather than
73700         allow_century.  All usages changed.  Reject dates outside the range
73701         1969-1999 if PDS_PRE_2000 is used.
73702
73703 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73704
73705         Sync from coreutils.
73706         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
73707         (Time of day items): Mention the possibility of leap seconds.
73708         Problem reported by Dr. David Alan Gilbert.
73709
73710 2006-01-09  Jim Meyering  <jim@meyering.net>
73711
73712         Sync from coreutils.
73713
73714         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
73715
73716         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
73717
73718         * lib/modechange.c (mode_compile): Reject an invalid mode string
73719         that starts with an octal digit.  From Andreas Gruenbacher.
73720
73721         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
73722         and dup to open_safer and dup_safer, respectively.
73723         (openat_permissive): Fix typo in comment.
73724
73725         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
73726         "gettext.h"; either no longer needed or are guaranteed by openat.h.
73727         (_): Remove; no longer needed.
73728         (openat): Renamed from rpl_openat; no need for rpl_openat
73729         since openat.h renames openat for us.
73730         Replace most of the body with a call to openat_permissive,
73731         to avoid duplicate code.
73732         Port to (probably hypothetical) environments were mode_t is
73733         wider than int.
73734         (openat_permissive): Require mode arg, so that we can check
73735         types better.  Put it just after flags.  Change cwd failure
73736         indicator from pointer-to-bool to pointer-to-errno-value.
73737         All callers changed.
73738         Invoke openat_save_fail and/or openat_restore_fail if
73739         cwd_errno is null, so that openat can call us.
73740         (openat_permissive, fdopendir, fstatat, unlinkat):
73741         Simplify errno handling to avoid some duplicate code,
73742         as it's OK to set errno on success.
73743         * lib/openat.h: Revamp code so that function macros depend on
73744         __OPENAT_PREFIX only, not also on AT_FDCWD.
73745         (openat_ro): Remove.  Caller changed to use openat_permissive.
73746         (openat_permissive): Now a macro, if not a function.
73747         (openat_restore_fail, openat_save_fail): Now always functions,
73748         since mkdirat needs them even if __OPENAT_PREFIX is defined.
73749
73750         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
73751         and openat.c.
73752         * lib/mkdirat.c: Include openat-priv.h.
73753         Remove definitions of macros defined therein.
73754         * lib/openat.c: Likewise.
73755
73756         * lib/mkdirat.c (mkdirat): New file and function.
73757         * lib/openat.h (mkdirat): Declare.
73758
73759         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
73760
73761         * lib/openat.h (openat_permissive): Declare.
73762         (openat_ro): Define.
73763
73764         * lib/openat.c (EXPECTED_ERRNO): New macro.
73765         (openat_permissive): New function -- used in remove.c rewrite.
73766         (all functions): Set errno just before returning, only if there
73767         was an actual failure.
73768         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
73769
73770         Emulate openat-family functions using Linux's procfs, if possible.
73771         Idea and some code based on Ulrich Drepper's glibc changes.
73772
73773         * lib/openat.c: (BUILD_PROC_NAME): New macro.
73774         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
73775         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
73776         before falling back on save_cwd and restore_cwd.
73777         (fdopendir, fstatat, unlinkat): Likewise.
73778
73779         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
73780         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
73781
73782         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
73783         as second argument to va_arg.  Otherwise, some versions of gcc
73784         warn that `if this code is reached, the program will abort'.
73785
73786 2006-01-09  Jim Meyering  <jim@meyering.net>
73787
73788         Sync from coreutils.
73789         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
73790         Require openat-priv.h.
73791
73792 2006-01-09  Bruno Haible  <bruno@clisp.org>
73793
73794         * modules/strnlen (Include): Use strnlen.h.
73795
73796 2006-01-09  Bruno Haible  <bruno@clisp.org>
73797
73798         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
73799
73800 2006-01-09  Bruno Haible  <bruno@clisp.org>
73801
73802         * lib/sysexit_.h (EX_OK): New macro.
73803         Suggested by Martin Lambers <marlam@marlam.de>.
73804
73805 2006-01-09  Bruno Haible  <bruno@clisp.org>
73806
73807         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
73808         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
73809
73810 2006-01-09  Bruno Haible  <bruno@clisp.org>
73811
73812         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
73813         numbers.
73814
73815 2006-01-09  Bruno Haible  <bruno@clisp.org>
73816
73817         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
73818         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
73819         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
73820         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
73821
73822 2006-01-09  Bruno Haible  <bruno@clisp.org>
73823
73824         * build-aux/javacomp.sh.in: New file, moved from lib/.
73825         * modules/javacomp-script (Files): Update.
73826         (configure.ac): Add AC_CONFIG_FILES invocation.
73827         (EXTRA_DIST): Remove variable.
73828
73829         * build-aux/javaexec.sh.in: New file, moved from lib/.
73830         * modules/javaexec (Files): Update.
73831         (configure.ac): Add AC_CONFIG_FILES invocation.
73832         (EXTRA_DIST): Remove javaexec.sh.in.
73833
73834         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
73835         * modules/csharpcomp-script (Files): Update.
73836         (configure.ac): Add AC_CONFIG_FILES invocation.
73837         (EXTRA_DIST): Remove variable.
73838
73839         * build-aux/csharpexec.sh.in: New file, moved from lib/.
73840         * modules/csharpexec (Files): Update.
73841         (configure.ac): Add AC_CONFIG_FILES invocation.
73842         (EXTRA_DIST): Remove csharpexec.sh.in.
73843
73844 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73845
73846         Sync from coreutils.
73847
73848         Add POSIX ACL support
73849         * lib/acl.h (copy_acl, set_acl): Add declarations.
73850         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
73851         systems other than Linux.
73852         (chmod_or_fchmod): New function: use fchmod when possible,
73853         and chmod otherwise.
73854         (file_has_acl): Add a POSIX ACL implementation, with a
73855         Linux-specific subcase.
73856         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
73857         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
73858         acls are unsupported.
73859         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
73860         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
73861         are unsupported.
73862
73863 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73864
73865         Sync from coreutils.
73866         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
73867
73868 2006-01-07  Bruno Haible  <bruno@clisp.org>
73869
73870         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
73871         gl_EARLY.
73872
73873 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73874
73875         * lib/strftime.c (tzname): Don't declare if it is already #defined.
73876         Problem reported for Mingw by Mark Junker.
73877
73878 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73879
73880         * README: Gnulib normally doesn't generate a tarball.
73881
73882 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
73883
73884         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
73885         long int, not int, for nanosecond counts, so that people who are
73886         used to POSIX struct timespec won't be surprised.  Reported by Jim
73887         Meyering.
73888
73889 2005-12-28  Bruno Haible  <bruno@clisp.org>
73890
73891         * build-aux/config.rpath: Update from GNU gettext.
73892
73893 2005-12-16  Jim Meyering  <jim@meyering.net>
73894
73895         * modules/fprintftime: New module.
73896         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
73897
73898 2005-12-16  Jim Meyering  <jim@meyering.net>
73899
73900         * m4/fprintftime.m4: New file.
73901
73902 2005-12-16  Jim Meyering  <jim@meyering.net>
73903
73904         * lib/fprintftime.c, lib/fprintftime.h: New files.
73905
73906 2005-12-15  Simon Josefsson  <jas@extundo.com>
73907
73908         * modules/socklen (configure.ac): Fix M4 macro name, to align with
73909         new m4/socklen.m4.
73910
73911 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73912
73913         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
73914         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
73915
73916 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73917
73918         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
73919         * lib/argp-help.c (fill_in_uparams): Check if the constructed
73920         struct uparams is valid. Fall back to the default values if it is
73921         not.
73922
73923 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73924
73925         * modules/argp (Files): Add argp-pin.c
73926         (Depends-on): dirname
73927         (lib_SOURCES): Add argp-pin.c
73928
73929 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73930
73931         * m4/argp.m4:  Check if program_invocation_name and
73932         program_invocation_short_name are declared and define appropriate
73933         macros if they are not.
73934
73935 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73936
73937         * lib/argp-help.c (__argp_base_name): New function
73938         (__argp_short_program_name): Rewrite using __argp_base_name
73939         * lib/argp-namefrob.h: Define program_invocation_name and
73940         program_invocation_short_name if requested
73941         (__argp_base_name): Add prototype
73942         * lib/argp-parse.c (argp_def): Use gettext wrappers
73943         (argp_default_parser): Use __argp_base_name
73944         * lib/argp-pin.c: New file. Defines program_invocation_name and
73945         program_invocation_short_name on systems that lack them.
73946
73947 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73948
73949         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
73950         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73951         porting problem reported by Georg Schwarz in
73952         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73953
73954 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73955
73956         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
73957         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73958         porting problem reported by Georg Schwarz in
73959         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73960
73961 2005-12-05  Bruno Haible  <bruno@clisp.org>
73962
73963         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
73964         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
73965         Reported by Mark Junker <mjscod@gmx.de>.
73966
73967 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
73968
73969         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
73970         Use implementation from Albert Chin, with some
73971         comments/corrections by Stepan Kasal and myself.
73972
73973 2005-12-02  Bruno Haible  <bruno@clisp.org>
73974
73975         * gnulib-tool (func_import): Accept GPLed build tool modules when
73976         --lgpl is given.
73977         * modules/csharpcomp-script: New file.
73978         * modules/csharpcomp: Depend on it.
73979         * modules/javacomp-script: New file.
73980         * modules/javacomp: Depend on it.
73981         Suggested by Simon Josefsson.
73982
73983 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
73984
73985         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
73986         statement, to work around an HP-UX 10.20 compiler bug reported by
73987         Peter O'Gorman.
73988
73989 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73990
73991         * modules/savedir (Depends-on): Add openat.
73992
73993 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73994
73995         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
73996         (uintmax_t) [defined uintmax_t]: Do not declare.
73997         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
73998         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
73999         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
74000         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
74001         sake of portability to weird hosts that C allows (though we don't
74002         know of any practical examples).
74003
74004         * lib/savedir.h (fdsavedir): New decl.
74005         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
74006         contains most of the former guts of savedir.
74007         (savedir): Use savedirstream.
74008         Include "openat.h".
74009
74010 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
74011
74012         * modules/obstack (Files): Add m4/ulonglong.m4.
74013         Problem reported by Davide Angelocola.
74014
74015 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
74016
74017         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
74018         coreutils no longer futzes with rounding modes.
74019
74020 2005-11-14  Jim Meyering  <jim@meyering.net>
74021
74022         * lib/mkstemp-safer.c: Include <config.h>, required for possible
74023         replacement of mkstemp.
74024
74025 2005-11-10  Simon Josefsson  <jas@extundo.com>
74026
74027         * lib/readline.c: Remove EOL.
74028
74029 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74030
74031         * modules/gethrxtime (Depends-on): Add gettime.
74032
74033 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74034
74035         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
74036         or gettimeofday; no longer needed.
74037
74038 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74039
74040         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
74041         time business.
74042         (gethrxtime) [! (HAVE_NANOUPTIME
74043         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
74044         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
74045         our own approximation.
74046
74047 2005-11-08  Eric Blake  <ebb9@byu.net>
74048
74049         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
74050
74051 2005-11-08  Eric Blake  <ebb9@byu.net>
74052
74053         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
74054
74055 2005-11-04  Bruno Haible  <bruno@clisp.org>
74056
74057         * gnulib-tool: Implement --update mode.
74058
74059 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
74060
74061         Fix porting problem reported by Theodoros V. Kalamatianos.
74062         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
74063         Don't assume that futimes failing means we must fail.
74064
74065 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
74066
74067         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
74068         variables to suggest the intended function of the PATH_MAX check.
74069
74070 2005-10-30  Kean Johnston  <jkj@sco.com>
74071
74072         Trivial changes to support SCO systems.
74073         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
74074         as PATH_MAX.
74075         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
74076         where __ptr is null when no I/O is pending.
74077
74078 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74079
74080         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
74081         leave errno alone.  Problem reported by Dmitry V. Levin.
74082
74083 2005-10-28  Simon Josefsson  <jas@extundo.com>
74084
74085         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
74086         Test more.
74087
74088         * tests/test-gc-md2.c, tests/test-md2.c: New files.
74089
74090         * modules/md2, modules/md2-tests: New files.
74091
74092 2005-10-28  Simon Josefsson  <jas@extundo.com>
74093
74094         * m4/inet_ntop.m4: More tests.
74095
74096         * m4/gc-md2.m4, md2.m4: New file.
74097
74098 2005-10-28  Simon Josefsson  <jas@extundo.com>
74099
74100         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
74101         "restrict" keywords, as per POSIX.  Protect the function
74102         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
74103         Don't use K&R prototypes.  Check the sprintf return values.
74104         Re-define EAFNOSUPPORT if not present.  Indent.
74105
74106         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
74107         suggested by Bruno Haible <bruno@clisp.org>.
74108
74109         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
74110
74111         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
74112
74113         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
74114         libgcrypt).
74115
74116         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
74117
74118         * lib/md2.h, lib/md2.c: New files.
74119
74120 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
74121
74122         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
74123         errno alone.  Problem reported by Frederic Jolliton.
74124
74125 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
74126
74127         * modules/verify (License): Change from GPL to LGPL.  This is a
74128         tiny module and there are apparently near-equivalents that are
74129         under the BSD license.
74130
74131 2005-10-24  Simon Josefsson  <jas@extundo.com>
74132
74133         * modules/sha1: Relicense to LGPL.
74134
74135 2005-10-24  Simon Josefsson  <jas@extundo.com>
74136
74137         * lib/md4.h: Shrink buffer size, now that we changed the type.
74138
74139 2005-10-23  Simon Josefsson  <jas@extundo.com>
74140
74141         * gnulib-tool (func_import): Fix --tests-base.
74142
74143 2005-10-22  Simon Josefsson  <jas@extundo.com>
74144
74145         * modules/arcfour (Depends-on): Need stdint.
74146
74147 2005-10-22  Simon Josefsson  <jas@extundo.com>
74148
74149         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
74150         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
74151
74152 2005-10-22  Simon Josefsson  <jas@extundo.com>
74153
74154         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
74155         suggested by Bruno Haible <bruno@clisp.org>.
74156
74157 2005-10-22  Simon Josefsson  <jas@extundo.com>
74158
74159         * lib/crc.h: Include stddef.h, for size_t.
74160
74161 2005-10-22  Simon Josefsson  <jas@extundo.com>
74162
74163         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
74164         arcfour_context struct (simplify test vector testing in GNU
74165         Shishi).
74166
74167 2005-10-21  Simon Josefsson  <jas@extundo.com>
74168
74169         * modules/des, modules/des-tests: New files.
74170
74171         * modules/gc-des, modules/gc-des-tests: New files.
74172
74173         * tests/test-des.c, tests/test-gc-des.c: New file.
74174
74175 2005-10-21  Simon Josefsson  <jas@extundo.com>
74176
74177         * modules/arctwo, modules/arctwo-tests: New files.
74178
74179         * tests/test-arctwo.c: New file.
74180
74181         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
74182
74183         * tests/test-gc-arctwo.c: New file.
74184
74185 2005-10-21  Simon Josefsson  <jas@extundo.com>
74186
74187         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
74188         Bruno Haible <bruno@clisp.org>.
74189
74190         * m4/gc-des.m4: New file.
74191
74192 2005-10-21  Simon Josefsson  <jas@extundo.com>
74193
74194         * m4/arctwo.m4: New file.
74195
74196         * m4/gc-arctwo.m4: New file.
74197
74198 2005-10-21  Simon Josefsson  <jas@extundo.com>
74199
74200         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
74201         block.
74202
74203 2005-10-21  Simon Josefsson  <jas@extundo.com>
74204
74205         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
74206         <bruno@clisp.org>.
74207
74208         * lib/hmac-sha1.c (hmac_sha1): Likewise.
74209
74210         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
74211         Bruno Haible <bruno@clisp.org>.
74212
74213         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
74214         <bruno@clisp.org>.
74215
74216 2005-10-21  Simon Josefsson  <jas@extundo.com>
74217
74218         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
74219
74220 2005-10-21  Simon Josefsson  <jas@extundo.com>
74221
74222         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
74223
74224 2005-10-21  Simon Josefsson  <jas@extundo.com>
74225
74226         * lib/des.h, lib/des.c: New files.
74227
74228         * lib/gc-gnulib.c: Support DES.c
74229
74230 2005-10-21  Simon Josefsson  <jas@extundo.com>
74231
74232         * lib/arctwo.h, lib/arctwo.c: New files.
74233
74234         * lib/gc-gnulib.c: Support ARCTWO.
74235
74236 2005-10-21  Simon Josefsson  <jas@extundo.com>
74237
74238         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
74239         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74240
74241 2005-10-21  Simon Josefsson  <jas@extundo.com>
74242
74243         * gnulib-tool (func_import, func_create_testdir): Define automake
74244         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
74245         Makefile.am snippet),
74246         suggested by Bruno Haible <bruno@clisp.org>.
74247
74248         * modules/gc (Makefile.am): Use it.
74249
74250 2005-10-21  Bruno Haible  <bruno@clisp.org>
74251
74252         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
74253         patch.
74254
74255 2005-10-19  Simon Josefsson  <jas@extundo.com>
74256
74257         * tests/test-gc-rijndael.c: New file.
74258
74259         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
74260
74261 2005-10-19  Simon Josefsson  <jas@extundo.com>
74262
74263         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
74264         interface too.
74265
74266 2005-10-19  Simon Josefsson  <jas@extundo.com>
74267
74268         * tests/test-gc-arcfour.c: New file.
74269
74270         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
74271
74272 2005-10-19  Simon Josefsson  <jas@extundo.com>
74273
74274         * modules/gc-md4, modules/gc-md4-tests: New file.
74275
74276         * tests/test-gc-md4.c: New file.
74277
74278 2005-10-19  Simon Josefsson  <jas@extundo.com>
74279
74280         * m4/gc-md4.m4: New file.
74281
74282 2005-10-19  Simon Josefsson  <jas@extundo.com>
74283
74284         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
74285         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
74286         <kasal@ucw.cz>.
74287
74288 2005-10-19  Simon Josefsson  <jas@extundo.com>
74289
74290         * m4/gc-arcfour.m4: New file.
74291
74292         * m4/gc-rijndael.m4: New file.
74293
74294 2005-10-19  Simon Josefsson  <jas@extundo.com>
74295
74296         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
74297
74298 2005-10-19  Simon Josefsson  <jas@extundo.com>
74299
74300         * lib/gc-gnulib.c: Support ARCFOUR.
74301
74302 2005-10-19  Simon Josefsson  <jas@extundo.com>
74303
74304         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
74305         support.
74306
74307         * lib/gc.h: Add ECB enum type.
74308
74309         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
74310
74311 2005-10-18  Simon Josefsson  <jas@extundo.com>
74312
74313         * tests/test-md5.c: New file.
74314
74315         * modules/md5-tests: New file.
74316
74317 2005-10-18  Simon Josefsson  <jas@extundo.com>
74318
74319         * tests/test-md4.c: New file.
74320
74321         * modules/md4, modules/md4-tests: New files.
74322
74323 2005-10-18  Simon Josefsson  <jas@extundo.com>
74324
74325         * m4/md4.m4: New file.
74326
74327 2005-10-18  Simon Josefsson  <jas@extundo.com>
74328
74329         * lib/md4.h, lib/md4.c: New files, based on md5.?.
74330
74331 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
74332
74333         * gnulib-tool (func_create_testdir): Omit the second check whether
74334         BUILT_SOURCES in nonempty.
74335
74336 2005-10-17  Simon Josefsson  <jas@extundo.com>
74337
74338         * tests/test-rijndael.c: New file.
74339
74340 2005-10-17  Simon Josefsson  <jas@extundo.com>
74341
74342         * modules/sha1: Depend on stdint instead of md5.
74343
74344         * modules/md5: Depend on stdint, remove uint32_t.
74345
74346 2005-10-17  Simon Josefsson  <jas@extundo.com>
74347
74348         * modules/gc-sha1-tests: New file.
74349
74350         * tests/test-gc-sha1.c: New file.
74351
74352 2005-10-17  Simon Josefsson  <jas@extundo.com>
74353
74354         * m4/md5.m4: Remove call to uint32_t.m4.
74355
74356 2005-10-17  Simon Josefsson  <jas@extundo.com>
74357
74358         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
74359
74360         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
74361         md5.h.
74362
74363         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
74364
74365         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
74366
74367 2005-10-17  Simon Josefsson  <jas@extundo.com>
74368
74369         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
74370
74371 2005-10-17  Simon Josefsson  <jas@extundo.com>
74372
74373         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
74374
74375 2005-10-17  Simon Josefsson  <jas@extundo.com>
74376
74377         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
74378
74379         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
74380
74381 2005-10-17  Bruno Haible  <bruno@clisp.org>
74382
74383         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
74384         that it can also be used in a test.
74385
74386 2005-10-16  Bruno Haible  <bruno@clisp.org>
74387
74388         * gnulib-tool (func_emit_tests_Makefile_am): Also define
74389         TESTS_ENVIRONMENT, so that individual tests can augment it.
74390
74391         * gnulib-tool (func_create_testdir): Use an intermediate target for
74392         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
74393         macros, like $(ALLOCA_H), which cannot be passed through the command
74394         line.
74395
74396 2005-10-15  Simon Josefsson  <jas@extundo.com>
74397
74398         * modules/rijndael-tests: New file.
74399
74400         * modules/rijndael: New file.
74401
74402 2005-10-15  Simon Josefsson  <jas@extundo.com>
74403
74404         * m4/rijndael.m4: New file.
74405
74406 2005-10-15  Simon Josefsson  <jas@extundo.com>
74407
74408         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
74409
74410         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
74411
74412 2005-10-14  Simon Josefsson  <jas@extundo.com>
74413
74414         * tests/test-arcfour.c: New file.
74415
74416         * modules/arcfour, modules/arcfour-tests: New files.
74417
74418 2005-10-14  Simon Josefsson  <jas@extundo.com>
74419
74420         * m4/arcfour.m4: New file.
74421
74422 2005-10-14  Simon Josefsson  <jas@extundo.com>
74423
74424         * lib/arcfour.h, lib/arcfour.c: New files.
74425
74426 2005-10-14  Roland McGrath  <roland@redhat.com>
74427
74428         Import from libc.  [BZ #1331]
74429         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
74430         macro argument.
74431         Reported by Matej Vela <vela@debian.org>.
74432
74433 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74434
74435         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
74436         include <wchar.h>; no longer needed.
74437
74438 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74439
74440         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
74441
74442 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
74443         and  Ulrich Drepper  <drepper@redhat.com>
74444
74445         Import from libc.
74446         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
74447         instead of inline stream orientation test and two separate
74448         function calls.  Pay no attention to USE_IN_LIBIO.
74449
74450 2005-10-13  Simon Josefsson  <jas@extundo.com>
74451
74452         * modules/gc-hmac-md5-tests: New file.
74453
74454         * tests/test-gc-hmac-sha1.c: New file.
74455
74456         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
74457
74458         * modules/gc-hmac-md5-tests: New file.
74459
74460         * tests/test-gc-md5.c: New file.
74461
74462         * modules/gc-md5-tests: New file.
74463
74464 2005-10-13  Simon Josefsson  <jas@extundo.com>
74465
74466         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
74467         Move memory allocation outside of loop.
74468
74469 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
74470
74471         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
74472         intermediate directory is in a read-only file system.  Problem
74473         reported by Eric Blake.
74474
74475 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
74476
74477         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
74478
74479 2005-10-12  Simon Josefsson  <jas@extundo.com>
74480
74481         * tests/test-hmac-sha1.c: New file.
74482
74483         * modules/hmac-sha1-tests: New file.
74484
74485         * modules/hmac-sha1: New file.
74486
74487 2005-10-12  Simon Josefsson  <jas@extundo.com>
74488
74489         * modules/gc-sha1: New file.
74490
74491 2005-10-12  Simon Josefsson  <jas@extundo.com>
74492
74493         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
74494
74495         * tests/test-gc-pbkdf2-sha1.c: New file.
74496
74497 2005-10-12  Simon Josefsson  <jas@extundo.com>
74498
74499         * modules/gc-md5, modules/gc-hmac-md5: New files.
74500
74501         * modules/gc (Files): Remove md5, memxor and hmac files.
74502
74503 2005-10-12  Simon Josefsson  <jas@extundo.com>
74504
74505         * m4/gc-pbkdf2-sha1.m4: New file.
74506
74507         * m4/gc-hmac-sha1.m4: New file.
74508
74509         * m4/gc-sha1: New file.
74510
74511         * m4/hmac-sha1.m4: New file.
74512
74513 2005-10-12  Simon Josefsson  <jas@extundo.com>
74514
74515         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
74516
74517         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
74518
74519 2005-10-12  Simon Josefsson  <jas@extundo.com>
74520
74521         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
74522         suggested by Bruno Haible <bruno@clisp.org>.
74523
74524 2005-10-12  Simon Josefsson  <jas@extundo.com>
74525
74526         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
74527
74528 2005-10-12  Simon Josefsson  <jas@extundo.com>
74529
74530         * lib/gc-pbkdf2-sha1.c: New file.
74531
74532         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
74533
74534 2005-10-12  Simon Josefsson  <jas@extundo.com>
74535
74536         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
74537
74538         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
74539
74540 2005-10-12  Simon Josefsson  <jas@extundo.com>
74541
74542         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
74543         GC_USE_HMAC_MD5, respectively.
74544
74545         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
74546         (gc_md5): Fix typo.
74547
74548         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
74549
74550         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
74551
74552         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
74553
74554 2005-10-12  Bruno Haible  <bruno@clisp.org>
74555
74556         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
74557         Reported by Stepan Kasal <kasal@ucw.cz>.
74558
74559 2005-10-11  Simon Josefsson  <jas@extundo.com>
74560
74561         * tests/test-crc.c: New file.
74562
74563         * modules/crc, modules/crc-tests: New files.
74564
74565 2005-10-11  Simon Josefsson  <jas@extundo.com>
74566
74567         * m4/crc.m4: New file.
74568
74569 2005-10-11  Simon Josefsson  <jas@extundo.com>
74570
74571         * lib/gc.h: Add gc_hash and gc_hash_buffer.
74572
74573         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
74574
74575         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
74576
74577 2005-10-11  Simon Josefsson  <jas@extundo.com>
74578
74579         * lib/crc.h, lib/crc.c: New files.
74580
74581         * lib/gc.h (gc_hash_buffer): Add doc.
74582
74583 2005-10-11  Bruno Haible  <bruno@clisp.org>
74584
74585         * modules/c-strcasestr: New file.
74586         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
74587
74588 2005-10-11  Bruno Haible  <bruno@clisp.org>
74589
74590         * modules/c-strcase: New file.
74591         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
74592
74593 2005-10-11  Bruno Haible  <bruno@clisp.org>
74594
74595         * lib/strcasecmp.c: Include limits.h.
74596         (strcasecmp): Avoid integer overflow on exotic platforms.
74597         * lib/strncasecmp.c: Include limits.h.
74598         (strncasecmp): Avoid integer overflow on exotic platforms.
74599         Reported by Paul Eggert.
74600
74601 2005-10-11  Bruno Haible  <bruno@clisp.org>
74602
74603         * lib/c-strcasestr.h: New file, from GNU gettext.
74604         * lib/c-strcasestr.c: New file, from GNU gettext.
74605
74606 2005-10-11  Bruno Haible  <bruno@clisp.org>
74607
74608         * lib/c-strcase.h: New file, from GNU gettext.
74609         * lib/c-strcasecmp.c: New file, from GNU gettext.
74610         * lib/c-strncasecmp.c: New file, from GNU gettext.
74611
74612 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74613
74614         * modules/mempcpy (License): GPL -> LGPL.
74615         * modules/strchrnul (License): Likewise.
74616         * modules/sysexits (License): Likewise.
74617
74618 2005-10-08  Simon Josefsson  <jas@extundo.com>
74619
74620         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
74621
74622 2005-10-07  Simon Josefsson  <jas@extundo.com>
74623
74624         * m4/memxor.m4: Remove gl_C_RESTRICT call.
74625
74626 2005-10-06  Simon Josefsson  <jas@extundo.com>
74627
74628         * tests/test-hmac-md5.c: New file.
74629
74630         * modules/hmac-md5-tests: New file.
74631
74632         * modules/hmac-md5: New file.
74633
74634 2005-10-06  Simon Josefsson  <jas@extundo.com>
74635
74636         * m4/hmac-md5.m4: New file.
74637
74638         * m4/memxor.m4: Require gl_C_RESTRICT.
74639
74640 2005-10-06  Simon Josefsson  <jas@extundo.com>
74641
74642         * lib/memxor.c (memxor): Avoid casts and warnings.
74643
74644 2005-10-06  Simon Josefsson  <jas@extundo.com>
74645
74646         * lib/hmac-md5.c: New file.
74647
74648         * lib/hmac.h: New file.
74649
74650 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74651
74652         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
74653         promotes to int, not unsigned int, to catch the AIX 5.3
74654         compiler bug.
74655
74656 2005-10-05  Simon Josefsson  <jas@extundo.com>
74657
74658         * modules/memxor: New file.
74659
74660         * modules/iconv (Files): Move config.rpath to havelib, it is used
74661         there.
74662
74663         * modules/havelib (Files): Add config.rpath.
74664
74665 2005-10-05  Simon Josefsson  <jas@extundo.com>
74666
74667         * m4/memxor.m4: New file.
74668
74669 2005-10-05  Simon Josefsson  <jas@extundo.com>
74670
74671         * lib/memxor.c (memxor): Fix compiler error.
74672
74673         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
74674         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
74675
74676         * lib/memxor.h, lib/memxor.c: New files.
74677
74678         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
74679         we assume all systems have it, suggested by Jim Meyering
74680         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
74681         any systems lack sys/socket.h; mingw32 is known to lack it, but we
74682         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
74683         same reasons.
74684
74685 2005-10-05  Simon Josefsson  <jas@extundo.com>
74686
74687         * config/srclist.txt: Add glibc bug 1423 for md5.h.
74688
74689 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74690
74691         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
74692         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
74693         needed, since the source code now assumes these .h files.
74694
74695 2005-10-05  Derek Price  <derek@ximbiot.com>
74696
74697         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
74698
74699 2005-10-05  Bruno Haible  <bruno@clisp.org>
74700
74701         * modules/stdint (License): Change to LGPL.
74702
74703 2005-10-04  Simon Josefsson  <jas@extundo.com>
74704
74705         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
74706         D. Baushke" <mdb@gnu.org>.
74707
74708 2005-10-04  Bruno Haible  <bruno@clisp.org>
74709
74710         * lib/verify.h (verify_true): Provide alternative definition for C++.
74711
74712 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
74713
74714         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
74715         (SSIZE_MAX): New macro, if not already defined.
74716         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
74717         than 2 GiB.
74718
74719 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74720
74721         Sync from coreutils.
74722         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
74723         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
74724         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
74725         ULLONG_MAX doesn't work with 2.7.2.1.
74726
74727 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74728
74729         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
74730         From Ben Pfaff.
74731
74732         * modules/exclude (Depends-on): Depend on verify.
74733         * modules/strtoimax (Depends-on): Likewise.
74734         * modules/utimecmp (Depends-on): Likewise.
74735
74736 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74737
74738         * lib/exclude.c: Include verify.h.
74739         (verify): Remove.  All callers changed to use verify.h's version.
74740         * lib/strtoimax.c: Likewise.
74741         * lib/utimecmp.c: Likewis.e
74742
74743         Sync from coreutils.
74744         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
74745         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
74746         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
74747         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
74748         bother returning ENOSYS if settimeofday or stime fails; just let
74749         them return whatever errno they want to return.
74750         * lib/utimens.c: Include unistd.h, for dup2.
74751         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
74752         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
74753
74754 2005-10-02  Jim Meyering  <jim@meyering.net>
74755
74756         Sync from coreutils.
74757         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
74758         from glibc-2.2.5 that fails for read-only files.
74759
74760 2005-10-02  Jim Meyering  <jim@meyering.net>
74761
74762         Sync from coreutils.
74763         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
74764         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
74765         `#if HAVE_CONFIG_H'.
74766         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
74767         Remove AT_FDCWD test.
74768         Do not consume the fd unless successful.
74769         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
74770         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
74771         block, so that we don't even try to compile it if settimeofday is
74772         available.  This works around a compilation failure on OSF1 V5.1,
74773         due to stime requiring a `long int*' while tv_sec is `int'.
74774
74775 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
74776
74777         Sync from coreutils.
74778         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
74779         against `yes', rather than just testing for nonempty.
74780
74781 2005-10-01  Simon Josefsson  <jas@extundo.com>
74782
74783         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
74784         and Darwin.
74785
74786         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
74787         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
74788         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
74789         freeaddrinfo and gai_strerror are declared by the POSIX headers.
74790         Check if struct addrinfo is declared.
74791
74792 2005-10-01  Simon Josefsson  <jas@extundo.com>
74793
74794         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
74795         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
74796         AI_* and EAI_* definitions.  Protect function declarations.
74797
74798 2005-10-01  Jim Meyering  <jim@meyering.net>
74799
74800         Sync from coreutils.
74801
74802         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
74803         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
74804         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
74805         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
74806         in the inet and nsl libraries.  Required on Solaris 5.7.
74807
74808 2005-10-01  Jim Meyering  <jim@meyering.net>
74809
74810         Sync from coreutils.
74811         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
74812         in the inet and nsl libraries.  Required on Solaris 5.7.
74813
74814 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
74815
74816         * lib/getdelim.c (getdelim): Remove unused variables.
74817
74818 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74819
74820         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
74821         so that the code works even with ancient cpp.  Portability problem
74822         with GCC 2.7.2.1 reported by Thomas M.Ott.
74823
74824 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74825
74826         * modules/regex (Depends-on): Add strcase.
74827
74828         * modules/gethostname (Licence): Change from GPL to LGPL, since
74829         gethostname.c is a trivial implementation of a standard library
74830         function.
74831         * modules/poll (License): Change from GPL to LGPL, since it's
74832         derived from LGPL code.
74833
74834 2005-09-27  Jim Meyering  <jim@meyering.net>
74835
74836         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
74837         HAVE_CONFIG_H.
74838
74839         * lib/intprops.h (signed_type_or_expr__): Define.
74840         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
74841         for unsigned types.
74842
74843 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74844
74845         * lib/verify.h (verify_expr): Remove, replacing with:
74846         (verify_true): New macro that returns true instead of void.
74847         (verify_type__): Remove.
74848         (verify): Use verify_true rather than verify_type__.
74849
74850 2005-09-26  Bruno Haible  <bruno@clisp.org>
74851
74852         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
74853         is necessary.
74854         (lib_SOURCES): Remove mbchar.c.
74855         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
74856         (Files): Add m4/mbrtowc.m4.
74857         * modules/mbiter: Likewise.
74858         * modules/mbuiter: Likewise.
74859
74860 2005-09-26  Bruno Haible  <bruno@clisp.org>
74861
74862         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
74863         compile mbchar.c if they are not both present.
74864         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
74865         * m4/mbiter.m4 (gl_MBITER): Likewise.
74866         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
74867         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
74868         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
74869
74870 2005-09-25  Jim Meyering  <jim@meyering.net>
74871
74872         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
74873         also uses socklen_t.
74874
74875 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
74876
74877         * lib/utimens.c (ENOSYS): Define if not already defined.
74878         (futimens): Support having a null PATH if the file descriptor
74879         is nonnegative.
74880
74881         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
74882         Remove.
74883         (__attribute): Define to empty unless GCC 3.1 or later.
74884         This works around a core dump on OpenBSD 3.4, which has GCC
74885         2.95.3, which dumps core when given __attribute__(()).  It also
74886         simplifies other tests, since we really don't want to bother with
74887         worrying about which ancient version of GCC supported what.
74888         Original problem reported by Yoann Vandoorselaere, with part of
74889         the fix suggested by Derek Price.
74890
74891 2005-09-24  Jim Meyering  <jim@meyering.net>
74892
74893         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
74894         so we can once again use a positive bitfield width of 1 -- now we
74895         don't have to explain why we were using a bitfield width of 2.
74896
74897 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74898
74899         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
74900         and similarly for the other external symbols.  Problem reported
74901         by James Gallager.
74902
74903         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
74904         bug reported by Jim Meyering.
74905
74906         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
74907         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
74908         not needed, since socklen is a prerequisite module.
74909
74910 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74911
74912         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
74913         Problem reported by Eric Blake.
74914         (getaddrinfo): Initialize se so that it's not garbage.
74915         Redo internal storage allocation so that it doesn't make unportable
74916         assumptions about alignment.
74917         Fix a memory leak.
74918
74919         * lib/utimens.c (futimens): Use futimesat if available.
74920         Prefer it to futimes since it doesn't have the futimes bug.
74921
74922         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
74923         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
74924         Instead, declare a function that returns a pointer to an array,
74925         and use verify_type__ to declare the size of the array.
74926         Problem and germ of a solution reported by Bruno Haible.
74927         (verify_type__): Use 2, not 1, for bitfield size, to avoid
74928         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
74929
74930 2005-09-23  Jim Meyering  <jim@meyering.net>
74931
74932         Sync from coreutils.
74933         Correct build failure (socklen_t not defined) on at least
74934         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
74935         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
74936
74937 2005-09-23  Jim Meyering  <jim@meyering.net>
74938
74939         * modules/getaddrinfo (Depends-on): Add socklen.
74940
74941 2005-09-23  Bruno Haible  <bruno@clisp.org>
74942
74943         * tests/test-verify.c: New file.
74944
74945 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74946
74947         Sync from coreutils.
74948
74949         * modules/argmatch (Depends-on): Add verify.
74950         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
74951         unistd-safer.
74952         * modules/save-cwd (Depends-on): Likewise.
74953
74954         * modules/openat (Files): Add lib/openat-die.c.
74955         (Depends-on): Remove error, exitfail.
74956         Add dirname.
74957
74958         * modules/verify: New file.
74959         * MODULES.html.sh (Diagnostics <assert.h>): New section,
74960         with "verify" module.
74961
74962 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74963
74964         Sync from coreutils.
74965
74966         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
74967         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
74968         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
74969         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
74970         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
74971         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
74972         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
74973         Don't bother checking for string.h, stdlib.h, unistd.h.
74974         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
74975         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
74976         module's job.
74977         * m4/jm-macros.m4 (gl_MACROS): Likewise.
74978         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
74979
74980         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
74981         (gl_GETDATE): Use it.
74982
74983         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
74984
74985 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74986
74987         Sync from coreutils.
74988
74989         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
74990         stat-time.h.
74991         * lib/argmatch.h: Include verify.h
74992         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
74993         (ARGMATCH_ASSERT): Remove; unused.
74994         * lib/canonicalize.c: Assume STDC_HEADERS.
74995         * lib/exclude.c: Include "strcase.h".
74996         * lib/regex_internal.h [!defined _LIBC]: Likewise.
74997         * lib/getusershell.c: Include stdio--.h rather than stdio.h
74998         and stdio-safer.h.
74999         (getusershell): Call fopen, not fopen_safer.
75000         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
75001         Do not include unistd-safer.h.
75002         (save_cwd): Don't call fd_safer; no longer needed
75003         now that we include fcntl--.h.
75004
75005         * lib/getdate.y (relative_time): New type.
75006         (RELATIVE_TIME_0): New constant.
75007         (parser_control): Use relative_time instead of doing it ourselves.
75008         (%union): Add new relative_time rel member.
75009         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
75010         Now typeless.
75011         (relunit, relunit_snumber): Now of type rel.
75012         (zone, rel, relunit, get_date): Adjust to above changes.
75013
75014         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
75015         Do not include unistd-safer.h.
75016         (getloadavg): Don't call fd_safer; no longer needed
75017         now that we include fcntl--.h.
75018
75019         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
75020         (make_dir_parents): Treat ENOSYS like EEXIST.
75021
75022         Improve quality of diagnostics on restore_cwd failure.
75023         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
75024         (make_dir_parents): Last arg is now int * (for errno), not bool *.
75025         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
75026         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
75027         each time through the loop.  Do not diagnose restore_cwd failure;
75028         that is the caller's job (and perhaps the caller does not care).
75029
75030         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
75031         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
75032         If the file already exists but is not a directory, don't bother
75033         to try to make its parents.
75034         Close potential file descriptor leak if we can't chdir("/") (!).
75035         Don't always return true if chdir($PWD) fails; return true only
75036         if the requested action was done successfully (except for the
75037         chdir($PWD)).
75038         Don't log final directory unless we actually made it.
75039         Refactor to avoid duplicate code to fix up permissions.
75040         Don't attempt to fix up parent permissions if chdir($PWD) fails.
75041
75042         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
75043         to make it a bit faster and (I hope) clearer.
75044         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
75045         Fix bug in formats like %2N.
75046
75047         * lib/verify.h: New file.
75048
75049 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
75050
75051         Sync from coreutils.
75052         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
75053
75054 2005-09-22  Jim Meyering  <jim@meyering.net>
75055
75056         Sync from coreutils.
75057
75058         * m4/lstat.m4 (gl_FUNC_LSTAT):
75059         Use AC_LIBSOURCES to require lstat.c and lstat.h.
75060         Remove obsolete comment.
75061         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
75062         * m4/xstrtod.m4: Likewise.
75063
75064         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
75065
75066 2005-09-22  Jim Meyering  <jim@meyering.net>
75067
75068         Sync from coreutils.
75069
75070         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
75071
75072         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
75073         the .tm_year member, since otherwise gcc-4.0 would now warn about
75074         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
75075
75076         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
75077         order to avoid an unsuppressible warning from gcc on 64-bit systems.
75078
75079         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
75080         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
75081         when run in a time zone for which daylight savings time is in effect
75082         for the starting date.
75083
75084         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
75085         stop us from restricting permissions of just-created absolute-named
75086         directories.
75087         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
75088         to restore initial working directory.
75089         * lib/mkdir-p.c (make_dir_parents): New parameter:
75090         different_working_dir, to tell caller if/when we change the working
75091         directory and are unable to return to the initial one.
75092         * lib/mkdir-p.h (make_dir_parents): Update prototype.
75093         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
75094         `return false'.  This fixes a bug introduced on 2004-07-30.
75095
75096         * lib/openat.c (fdopendir): Be sure to close the supplied
75097         file descriptor before returning.  This makes our replacement
75098         implementation a little closer to Solaris's, where fdopendir
75099         ties the file descriptor to the returned DIR* pointer.
75100         * lib/openat.c (unlinkat): New function.
75101         * lib/openat.h (unlinkat): Add prototype.
75102         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
75103         (openat_restore_fail): Rename from openat_restore_die.
75104         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
75105
75106         Provide an alternative to exiting immediately upon save_cwd or
75107         restore_cwd failure.  Now, an application can arrange e.g.,
75108         to perform a longjump in that case.
75109         * lib/openat.c: Include dirname.h.
75110         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
75111         (rpl_openat, fdopendir, fstatat): Call openat_save_die
75112         and openat_restore_die rather than calling error directly.
75113         Don't include "error.h" or "exitfail.h"; they're no longer needed.
75114
75115         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
75116         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
75117         define.
75118
75119         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
75120         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
75121                             int utc, int nanoseconds);
75122         Background:
75123         date should not have to allocate a megabyte of virtual memory to
75124         handle a format argument like +%1048575T.  When implemented with
75125         strftime, it must allocate such a buffer, use strftime to fill it
75126         in, print it, then free it.
75127         With fprintftime, it simply prints everything and exits.
75128         With no need for memory allocation, that's one fewer way to fail.
75129         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
75130         optional field width, not before, so we accept %9:z, not %:9z.
75131         (my_strftime): Be sure to use L_('x') for literals.
75132
75133         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
75134         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
75135         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
75136         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
75137         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
75138         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
75139         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
75140         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
75141         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
75142         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
75143         * lib/xgethostname.c, lib/xreadlink.c:
75144         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
75145
75146         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
75147         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
75148         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
75149         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
75150         and don't include <sys/file.h>).
75151
75152 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
75153
75154         Sync from coreutils.
75155
75156         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
75157         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
75158         [!LDAV_DONE]: Avoid unused variable warning.
75159
75160 2005-09-21  Bruno Haible  <bruno@clisp.org>
75161
75162         * lib/unicodeio.h (unicode_to_mb): New declaration.
75163
75164 2005-09-20  Derek Price  <derek@ximbiot.com>
75165
75166         * lib/getaddrinfo.c: Don't include <netdb.h> included from
75167         getaddrinfo.h.
75168
75169 2005-09-20  Bruno Haible  <bruno@clisp.org>
75170
75171         * gnulib-tool: Remove trailing slashes from the values specified for
75172         --source-base, --m4-base, --tests-base, --aux-dir.
75173         Suggested by Simon Josefsson <jas@extundo.com>.
75174
75175 2005-09-20  Bruno Haible  <bruno@clisp.org>
75176
75177         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
75178         func_modules_to_filelist, func_import, func_create_testdir): Make all
75179         sorting results locale-independent, so that gnulib-cache.m4 doesn't
75180         change when gnulib-tool is invoked in a different locale.
75181
75182 2005-09-19  Simon Josefsson  <jas@extundo.com>
75183
75184         * m4/socklen.m4: Fix typo.
75185
75186 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75187
75188         Use a consistent style for including <config.h>.
75189         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
75190         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
75191         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
75192         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
75193         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
75194         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
75195         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
75196         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
75197         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
75198         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
75199         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
75200         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
75201         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
75202         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
75203         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
75204         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
75205         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
75206         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
75207         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
75208         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
75209         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
75210         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
75211         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
75212         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
75213         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
75214         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
75215         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
75216         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
75217         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
75218         lib/xstrtoumax.c, lib/yesno.c:
75219         Standardize inclusion of config.h.
75220         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
75221         lib/inttostr.h:  Removed inclusion of config.h from header files.
75222         * lib/inttostr.c:  Adjusted in-tree users.
75223         * lib/timespec.h: Remove superfluous warning to include config.h.
75224         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
75225         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
75226         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
75227         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
75228         config.h with HAVE_CONFIG_H.
75229
75230 2005-09-19  Jim Meyering  <jim@meyering.net>
75231
75232         * modules/pathmax (License): Change to LGPL.
75233
75234 2005-09-19  Derek Price  <derek@ximbiot.com>
75235
75236         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
75237
75238 2005-09-19  Bruno Haible  <bruno@clisp.org>
75239
75240         * gnulib-tool (import): Provide default for --tests-base.
75241
75242 2005-09-19  Bruno Haible  <bruno@clisp.org>
75243
75244         * doc/quote.texi: New file, extracted from gnulib.texi.
75245         * doc/ctime.texi: New file, extracted from gnulib.texi.
75246         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
75247         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
75248         * doc/gnulib.texi: Include them.
75249
75250 2005-09-18  Bruno Haible  <bruno@clisp.org>
75251
75252         Portability fix.
75253         * gnulib-tool (func_readlink): New function.
75254         (func_ln_if_changed): Use it.
75255
75256 2005-09-18  Bruno Haible  <bruno@clisp.org>
75257
75258         * gnulib-tool: Support --with-tests also with --import.
75259         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
75260         (func_import): Use variables $testsbase and $inctests. Emit a
75261         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
75262         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
75263         SUBDIRS += $testsdir.
75264         (func_create_testdir): Update.
75265
75266 2005-09-18  Bruno Haible  <bruno@clisp.org>
75267
75268         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
75269         instead of $dry_run.
75270         (func_cp_if_changed, func_mv_if_changed): Remove functions.
75271         (func_ln_if_changed): Don't handle dry-run here.
75272         (func_import): In dry-run mode, detect more precisely which actions
75273         would be performed, and don't use "...ing" verbs.
75274
75275 2005-09-18  Bruno Haible  <bruno@clisp.org>
75276
75277         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
75278         (func_import): Use join on two temporary files instead of three nested
75279         loops, in order to determine which files are new or old.
75280
75281 2005-09-18  Bruno Haible  <bruno@clisp.org>
75282
75283         * gnulib-tool (func_import): Comment out code that spits out the
75284         new files with --dry-run.
75285
75286 2005-09-18  Bruno Haible  <bruno@clisp.org>
75287
75288         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
75289
75290 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
75291
75292         * lib/stat-time.h: New file.
75293         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
75294         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
75295         in a different way.
75296         (timespec_cmp): New function.
75297         * lib/utimecmp.c: Include stat-time.h.
75298         (SYSCALL_RESOLUTION): Depend on whether various struct stat
75299         members exist, not on the obsolescent ST_MTIM_NSEC.
75300         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
75301
75302 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
75303
75304         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
75305
75306 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
75307
75308         * MODULES.html.sh (File system functions): Add stat-time.
75309         * modules/stat-time: New file.
75310         * modules/timespec (Files): Remove m4/st_mtim.m4; this
75311         is now done in a different way, by the stat-time module.
75312         * modules/utimecmp (Depends-on): Add stat-time.
75313
75314 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75315
75316         * m4/st_mtim.m4: Remove.  Superseded by...
75317         * m4/stat-time.m4: New file.
75318         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
75319         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
75320
75321 2005-09-15  Derek Price  <derek@ximbiot.com>
75322
75323         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
75324
75325 2005-09-15  Derek Price  <derek@ximbiot.com>
75326
75327         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
75328         * lib/regex_internal.c: Ditto, using this...
75329         (__GNUC_PREREQ): ...new macro.
75330         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
75331         using...
75332         (__GNUC_PREREQ): ...this new macro.
75333
75334         * lib/strstr.h: Include string.h. Define strstr as a macro here.
75335
75336 2005-09-15  Derek Price  <derek@ximbiot.com>
75337             Paul Eggert  <eggert@cs.ucla.edu>
75338
75339         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
75340         changes, consolidating in...
75341         * lib/regex_internal.h: ...this file.
75342
75343 2005-09-13  Jim Meyering  <jim@meyering.net>
75344
75345         * lib/canon-host.c: Filter through gnu indent and reword comments
75346         slightly.
75347         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
75348
75349 2005-09-13  Derek Price  <derek@ximbiot.com>
75350
75351         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
75352         failure.
75353         Reported by Jim Meyering  <jim@meyering.net>.
75354
75355 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75356
75357         * lib/base64.c: Typo.
75358         (base64_encode): Put b64str in initialized data section.
75359
75360 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
75361
75362         Merge glibc and coreutils changes into gnulib, plus a few
75363         extra fixes.
75364         * lib/md5.c: Use #error rather than a string.
75365         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
75366         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
75367         (__attribute__): Define to empty for non recent-GCC.
75368         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
75369         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
75370         Renamed from their non-__ counterparts, with new macros replacing
75371         them if not _LIBC.  Add __THROW attribute.
75372         (rol): Remove.
75373         (struct md5_ctx): Align buffer if using GCC.
75374         * lib/sha1.h (struct sha1_ctx): Likewise.
75375         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
75376         The old name was backwards.
75377         (NOTSWAP): Remove; not used.
75378         (rol): New macro, moved here from md5.h.
75379         (sha1_process_block): Remove a FIXME that doesn't make sense.
75380
75381 2005-09-12  Derek Price  <derek@ximbiot.com>
75382
75383         Return usable errors from canon-host.
75384         * lib/canon-host.h: New file.
75385         * lib/canon-host.c (canon_host): Wrap...
75386         (canon_host_r): ...this new function, which now relies exclusively on
75387         getaddrinfo.
75388         (ch_strerror): New function.
75389         (last_cherror): New global.
75390         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
75391         interface.
75392         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
75393         void *.
75394         (freeaddrinfo): Free ai->ai_canonname when set.
75395
75396 2005-09-12  Derek Price  <derek@ximbiot.com>
75397
75398         Make canon-host require getaddrinfo.
75399         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
75400         AC_LIBSOURCE canon-host.h.  Call...
75401         (gl_PREREQ_CANON_HOST): ...this new function, which requires
75402         gl_GETADDRINFO.
75403         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
75404
75405 2005-09-12  Derek Price  <derek@ximbiot.com>
75406
75407         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
75408         LGPL.
75409         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
75410
75411 2005-09-12  Derek Price  <derek@ximbiot.com>
75412
75413         * lib/gai_strerror.c: Include config.h when available.  Include
75414         getaddrinfo.h before other headers to test interface.
75415         Reported by Larry Jones <lawrence.jones@ugs.com>.
75416
75417 2005-09-12  Derek Price  <derek@ximbiot.com>
75418             Paul Eggert  <eggert@cs.ucla.edu>
75419
75420         * modules/glob (Files): Add glob-libc.h.
75421
75422 2005-09-12  Derek Price  <derek@ximbiot.com>
75423             Paul Eggert  <eggert@cs.ucla.edu>
75424
75425         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
75426         glob_.h, glob-libc.h.
75427         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
75428
75429 2005-09-12  Derek Price  <derek@ximbiot.com>
75430             Paul Eggert  <eggert@cs.ucla.edu>
75431
75432         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
75433         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
75434         protecting things that should be done only in gnulib contexts.
75435         * lib/glob_.h: New file, containing only the glob things needed for
75436         gnulib.
75437         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
75438         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
75439         (glob, globfree, glob_pattern_p): Now defined simply in terms of
75440         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
75441         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
75442         and to respect the namespace rules better.
75443
75444 2005-09-08  Simon Josefsson  <jas@extundo.com>
75445
75446         * modules/socklen: New file.
75447
75448 2005-09-08  Simon Josefsson  <jas@extundo.com>
75449
75450         * m4/socklen.m4: New file.
75451
75452 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75453
75454         * modules/utimens (Files): Add m4/utimbuf.m4, since
75455         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
75456         Reported by Sergey Poznyakoff.
75457
75458 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75459
75460         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
75461         definitions, since that's the preferred style in glibc.
75462         Fix a minor spacing issue, and update copyright notice to match
75463         glibc's.
75464
75465 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75466
75467         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
75468
75469 2005-09-06  Simon Josefsson  <jas@extundo.com>
75470
75471         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
75472         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
75473
75474 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75475
75476         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
75477         warning.
75478
75479 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75480
75481         * config/srclist.txt: Add glibc bug 1302.
75482
75483 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
75484
75485         Change bitset word type from unsigned int to unsigned long int,
75486         as this has better performance on typical 64-bit hosts.
75487         Port bitset code to hosts with unusual word sizes.
75488         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
75489         (build_collating_symbol):
75490         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
75491         argument is a bitset.  This is merely a style issue, but it makes
75492         it clearer that an entire array is expected.
75493         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
75494         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
75495         Port to the case where bitset_word is not the same as unsigned int.
75496         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
75497         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
75498         Likewise.
75499         * lib/regexec.c (check_dst_limits_calc_pos_1,
75500         check_subexp_matching_top):
75501         (build_trtable, group_nodes_into_DFAstates):
75502         Likewise.
75503         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
75504         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
75505         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
75506         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
75507         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
75508         * lib/regcomp.c (optimize_subexps, lower_subexp):
75509         Work even if bitset_word has holes in its bitwise representation.
75510         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
75511         * lib/regexec.c (check_dst_limits_calc_pos_1,
75512         check_subexp_matching_top):
75513         Likewise.
75514         * lib/regex_internal.c (re_string_reconstruct):
75515         Don't assume UCHAR_MAX == 255.
75516         * lib/regex_internal.h (bitset_set_all): Likewise.
75517         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
75518         All uses changed.
75519         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
75520         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
75521         All uses changed.
75522         (BITSET_WORD_MAX): New macro.
75523         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
75524         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
75525         (bitset_empty, bitset_copy):
75526         Prefer sizeof (bitset) to multiplying it out ourselves.
75527         (bitset_not_merge): Remove; unused.
75528         (bitset_contain): Return bool, not unsigned int with one bit on.
75529         All callers changed.
75530         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
75531         alignment than re_node_set; do this by defining a new internal
75532         type struct dests_alloc and using it to allocate memory.
75533
75534 2005-09-05  Bruno Haible  <bruno@clisp.org>
75535
75536         * gnulib-tool (func_import): Fix comparison in handling of symbolic
75537         links.
75538
75539 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
75540
75541         * modules/size_max (Makefile.am): Add size_max.h
75542
75543 2005-09-04  Derek Price  <derek@ximbiot.com>
75544
75545         * gnulib-tool (func_import): Fix reversed $symbolic logic.
75546
75547 2005-09-03  Simon Josefsson  <jas@extundo.com>
75548
75549         * gnulib-tool: Fix typo.
75550
75551 2005-09-03  Simon Josefsson  <jas@extundo.com>
75552
75553         * config/srclist.txt: Add glibc bug 1293.
75554
75555 2005-09-03  Derek Price  <derek@ximbiot.com>
75556
75557         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
75558         From Larry Jones <lawrence.jones@ugs.com>.
75559
75560 2005-09-02  Simon Josefsson  <jas@extundo.com>
75561
75562         * modules/socklen: New file.
75563
75564 2005-09-02  Simon Josefsson  <jas@extundo.com>
75565
75566         * modules/havelib: New module.
75567
75568         * modules/gettext, modules/iconv, modules/lock, modules/readline:
75569         Use havelib.
75570
75571 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
75572
75573         Check for arithmetic overflow when calculating sizes, to prevent
75574         some buffer-overflow issues.  These patches are conservative, in the
75575         sense that when I couldn't determine whether an overflow was possible,
75576         I inserted a run-time check.
75577         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
75578         macros.
75579         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
75580         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
75581         (re_xnrealloc, re_x2nrealloc): New inline functions.
75582         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
75583         parse_bracket_exp):
75584         (build_equiv_class, build_charclass): Check for arithmetic overflow
75585         in size expression calculations.
75586         * lib/regex_internal.c (re_string_realloc_buffers):
75587         (build_wcs_upper_buffer, re_node_set_add_intersect):
75588         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
75589         (re_dfa_add_node, register_state): Likewise.
75590         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
75591         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
75592         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
75593         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
75594
75595 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
75596
75597         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
75598         m4/ulonglong.m4.  Problem reported by Martin Lambers.
75599
75600 2005-09-02  Bruno Haible  <bruno@clisp.org>
75601
75602         Support for lib vs. lib64 distinction on biarch platforms.
75603         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
75604         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
75605         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
75606
75607 2005-09-02  Bruno Haible  <bruno@clisp.org>
75608
75609         * gnulib-tool (import): In the other first-use case, provide defaults
75610         as well.
75611
75612 2005-09-02  Bruno Haible  <bruno@clisp.org>
75613
75614         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
75615         patches not yet found in the latest gettext release.
75616
75617 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75618
75619         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
75620         to avoid a collision with bits/local_lim.h in glibc.
75621         All uses changed.  Problem reported by Dmitry V. Levin in
75622         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
75623
75624         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
75625         bugs in int versus size_t comparisons.
75626         (re_string_context_at): Fix bug where the code assumed that
75627         Idx is signed.
75628
75629         Use bool where appropriate.
75630         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
75631         All callers changed.
75632         (calc_eclosure_iter): Likewise, for ROOT arg.
75633         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
75634         (build_charclass_op): Likewise, for NON_MATCH arg.
75635         * lib/regex_internal.c (re_string_allocate, re_string_construct):
75636         (re_string_construct_common): Likewise, for ICASE arg.
75637         * lib/regexec.c (re_search_2_stub, re_search_stub):
75638         Likewise, for RET_LEN arg.
75639         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
75640         (set_regs): Likewise, for FL_BACKTRACK arg.
75641         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
75642         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
75643         (calc_eclosure_iter, parse_bracket_exp):
75644         Use bool for internal variables that are booleans.
75645         * lib/regexec.c (re_search_internal, check_matching,
75646         proceed_next_node):
75647         (set_regs, build_sifted_states, sift_states_bkref):
75648         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
75649         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75650         (find_collation_sequence_value):
75651         Likewise.
75652         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
75653         (re_node_set_compare):
75654         Return bool, not int. All callers changed.
75655         * lib/regexec.c (check_halt_node_context, check_dst_limits):
75656         (build_trtable, check_node_accept): Likewise.
75657         * lib/regex_internal.h: Include stdbool.h.
75658
75659         Fix bugs uncovered when converting to bool.
75660         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
75661         failure instead of charging ahead blindly.
75662         * lib/regex_internal.c (register_state): Likewise.
75663         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
75664         for freeing internal storage.
75665         (group_nodes_into_DFA_states): Use unsigned int, not int, for
75666         bitset pieces used as boolean, to avoid undefined behavior
75667         on hosts that do int overflow checking.
75668
75669 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75670
75671         * config/srclist.txt: Add glibc bugs 1285-1287.
75672
75673 2005-09-01  Jim Meyering  <jim@meyering.net>
75674
75675         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
75676         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
75677         Require gl_STAT_MACROS, too.
75678
75679 2005-09-01  Bruno Haible  <bruno@clisp.org>
75680
75681         * gnulib-tool (import): In the first-use case, provide defaults.
75682
75683 2005-09-01  Bruno Haible  <bruno@clisp.org>
75684
75685         * gnulib-tool (func_import): Remove the .tmp files.
75686
75687 2005-09-01  Bruno Haible  <bruno@clisp.org>
75688
75689         * gnulib-tool (func_import): Fix handling of symbolic links.
75690
75691 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75692
75693         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
75694         old glibc regex code mishandles strings longer than 2**31 bytes.
75695         This patch fixes this when the regex code is used in gnulib
75696         (i.e., outside glibc).
75697
75698         This patch should not affect the use of the regex code inside
75699         glibc.  No doubt this problem also needs to be handled for glibc
75700         as well, but the result will be an incompatible change to the
75701         glibc ABI, and the old ABI will have to be supported too.  That
75702         can be the the subject for another patch.
75703
75704         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
75705         governing whether the rest of this patch is active.  By default,
75706         the macro is disabled and the patch has no effect.
75707         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
75708         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
75709         (struct re_pattern_buffer, re_search, re_search_2, re_match):
75710         (re_match_2, re_set_registers): Use the new types.
75711         * lib/regex_internal.h (Idx, re_hashval_t): New types.
75712         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
75713         New macros.
75714         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
75715         (re_string_context_at, bin_tree_t, re_dfastate_t):
75716         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
75717         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
75718         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
75719         (re_string_char_size_at, re_string_wchar_at):
75720         (re_string_elem_size_at):
75721         Use the new types and macros to port to 64-bit hosts.
75722         Use unsigned types for internal values, so that the code
75723         mostly works even for arrays larger than SSIZE_MAX.
75724         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
75725         (search_duplicated_node, calc_eclosure_iter, fetch_number):
75726         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
75727         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
75728         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
75729         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
75730         (calc_inveclosure, parse_dup_op, build_range_exp):
75731         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
75732         (fetch_number, create_token_tree, mark_opt_subexp):
75733         Likewise.
75734         * lib/regex_internal.c (re_string_construct_common,
75735         create_ci_newstate):
75736         (create_cd_newstate, re_string_allocate, re_string_construct):
75737         (re_string_realloc_buffers, build_wcs_upper_buffer):
75738         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75739         (re_string_reconstruct, re_string_peek_byte_case):
75740         (re_string_fetch_byte_case, re_string_context_at):
75741         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75742         (re_node_set_init_copy, re_node_set_add_intersect):
75743         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75744         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75745         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75746         (re_acquire_state, re_acquire_state_context, register_state):
75747         Likewise.
75748         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
75749         search_cur_bkref_entry):
75750         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
75751         (re_search_internal, re_search_2_stub, re_search_stub)
75752         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
75753         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
75754         (update_cur_sifted_state, check_dst_limits):
75755         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
75756         (check_subexp_limits, sift_states_bkref, merge_state_array):
75757         (check_subexp_matching_top, get_subexp, get_subexp_sub):
75758         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
75759         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75760         (expand_bkref_cache, check_node_accept_bytes):
75761         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
75762         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
75763         (acquire_init_state_context, check_halt_node_context):
75764         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
75765         (sift_states_backward, clean_state_log_if_needed):
75766         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
75767         (find_recover_state, transit_state_sb, transit_state_mb):
75768         (transit_state_bkref, build_trtable, match_ctx_clean):
75769         Likewise.
75770         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
75771         to work around an assumption that REG_MISSING is negative.
75772
75773         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
75774         (seek_collating_symbol_entry) [defined _LIBC]:
75775         (lookup_collation_sequence_value) [defined _LIBC]:
75776         (build_range_exp, build_collating_symbol) [defined _LIBC]:
75777         Use prototypes rather than old-style function definitions.
75778         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
75779         (transit_state_sb) [0]:
75780         (find_collation_sequence_value) [defined _LIBC]: Likewise.
75781
75782         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
75783         rm_eo.
75784
75785         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
75786         (optimize_subexps, lower_subexp):
75787         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
75788         since the signed shift might overflow.  Use 1u<<31 instead.
75789         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
75790         Likewise.
75791         * lib/regexec.c (check_dst_limits_calc_pos_1,
75792         check_subexp_matching_top): Likewise.
75793
75794         * lib/regcomp.c (optimize_subexps, lower_subexp):
75795         Use CHAR_BIT rather than 8, for clarity.
75796         * lib/regexec.c (check_dst_limits_calc_pos_1):
75797         (check_subexp_matching_top): Likewise.
75798         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
75799         have to worry about portability issues when shifting it left.
75800         Remove no-longer-needed test for table_size > 0.
75801         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
75802         in a word, as the resulting behavior is undefined.
75803         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
75804         in one case, a <= should have been an <, and in another case the
75805         whole test was missing.
75806         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
75807         the standard name CHAR_BIT.
75808         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
75809         this is not true on one's complement and signed-magnitude hosts.
75810
75811         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
75812         next_last_offset.
75813         (struct re_dfa_t): Remove unused member states_alloc.
75814         * lib/regcomp.c (init_dfa): Don't initialize unused members.
75815
75816 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75817
75818         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
75819         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
75820         and large-file glibc and in 32-bit large-file Solaris.
75821
75822 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75823
75824         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
75825         lengths fit in regoff_t; this isn't true if regoff_t is the same
75826         width as size_t.
75827         * lib/regex.c (re_search_internal): 5th arg is LAST_START
75828         (= START + RANGE) instead of RANGE.  This avoids overflow
75829         problems when regoff_t is the same width as size_t.
75830         All callers changed.
75831         (re_search_2_stub): Check for overflow when adding the
75832         sizes of the two strings.
75833         (re_search_stub): Check for overflow when adding START
75834         to RANGE; if it occurs, substitute the extreme value.
75835
75836 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75837
75838         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
75839
75840 2005-08-31  Jim Meyering  <jim@meyering.net>
75841
75842         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
75843         a pointer-to-const.
75844         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
75845         (register_state): Likewise.
75846         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
75847         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
75848         (group_nodes_into_DFAstates): Likewise.
75849
75850 2005-08-31  Jim Meyering  <jim@meyering.net>
75851
75852         * check-module: Add a FIXME comment.
75853
75854 2005-08-31  Eric Blake  <ebb9@byu.net>
75855
75856         * modules/unistd-safer (Files): Add unistd--.h.
75857         * modules/stdio-safer (Files): Add stdio--.h.
75858
75859 2005-08-31  Derek Price  <derek@ximbiot.com>
75860
75861         * lib/getdelim.c (getdelim): Return EOF on EOF.
75862         Reported by Larry Jones <lawrence.jones@ugs.com>.
75863
75864 2005-08-31  Bruno Haible  <bruno@clisp.org>
75865
75866         Avoid unnecessary diffs in the generated lib/Makefile.am.
75867         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
75868         the generated files.
75869         (func_import): Don't set cmd.
75870
75871 2005-08-31  Bruno Haible  <bruno@clisp.org>
75872
75873         * lib/strstr.c: Include <stddef.h>, for NULL.
75874         * lib/strcasestr.c: Likewise.
75875         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75876
75877 2005-08-31  Bruno Haible  <bruno@clisp.org>
75878
75879         * gnulib-tool: New option --macro-prefix.
75880         (func_import): Use macro_prefix.
75881         (import): Handle option --macro-prefix.
75882
75883 2005-08-31  Bruno Haible  <bruno@clisp.org>
75884
75885         * gnulib-tool (import): Rename most ac_* variables to cached_*.
75886         Also use new variables cached_lgpl, cached_libtool.
75887
75888 2005-08-31  Bruno Haible  <bruno@clisp.org>
75889
75890         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
75891         always instantiating them.
75892
75893 2005-08-31  Bruno Haible  <bruno@clisp.org>
75894
75895         * gnulib-tool (func_import): Read the previous cached settings
75896         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
75897         earlier added by gnulib but are now dropped. Warn when a gnulib file
75898         overwrites a non-gnulib file.
75899
75900 2005-08-31  Bruno Haible  <bruno@clisp.org>
75901
75902         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
75903         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
75904         projects that don't keep autogenerated files in CVS. Put into
75905         actioncmd only the specified modules, not the transitive closure.
75906
75907 2005-08-31  Bruno Haible  <bruno@clisp.org>
75908
75909         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
75910         Create directories that shall be filled.
75911         (import): Don't look for gl_* macros in configure.ac. Recurse across
75912         all directories containing a gnulib-cache.m4 files, if meaningful.
75913
75914 2005-08-31  Bruno Haible  <bruno@clisp.org>
75915
75916         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
75917         (import): Set seen_libtool when we see gl_LIBTOOL.
75918
75919 2005-08-31  Bruno Haible  <bruno@clisp.org>
75920
75921         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
75922         declaration macro definitions from generated gnulib.m4.
75923
75924 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
75925
75926         * lib/iconvme.h: Add prototype for iconv_alloc.
75927
75928 2005-08-29  Simon Josefsson  <jas@extundo.com>
75929
75930         * lib/iconvme.c: Fix errno.
75931
75932 2005-08-29  Bruno Haible  <bruno@clisp.org>
75933
75934         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
75935         that it works when the directory contains spaces.
75936
75937 2005-08-29  Bruno Haible  <bruno@clisp.org>
75938
75939         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
75940
75941 2005-08-29  Bruno Haible  <bruno@clisp.org>
75942
75943         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
75944         Emit more advice.
75945
75946 2005-08-29  Bruno Haible  <bruno@clisp.org>
75947         and Stepan Kasal  <kasal@ucw.cz>
75948
75949         * check-module: If more parameters are given, check each of them
75950         separately; add more exceptions, as noted by Jim Meyering.
75951         (check_module): New procedure.
75952         (%exempt_header): Now contains all exceptions.
75953
75954 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
75955
75956         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
75957
75958 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
75959
75960         * lib/iconvme.c: Split iconv_string into iconv_alloc.
75961
75962 2005-08-28  Bruno Haible  <bruno@clisp.org>
75963
75964         * m4/gnulib-tool.m4: New file.
75965
75966 2005-08-27  Jim Meyering  <jim@meyering.net>
75967
75968         * modules/unistd-safer (Files): Add pipe-safer.c.
75969         * modules/fcntl-safer (Files): Add creat-safer.c.
75970
75971 2005-08-27  Jim Meyering  <jim@meyering.net>
75972
75973         * m4/stdlib-safer.m4: New file.  From coreutils.
75974         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
75975         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
75976         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
75977         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
75978         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
75979
75980 2005-08-27  Jim Meyering  <jim@meyering.net>
75981
75982         * lib/fopen-safer.c: Merge minor changes from coreutils.
75983         * lib/dup-safer.c: Likewise.
75984         * lib/fd-safer.c: Likewise.
75985
75986         Merge from coreutils.
75987         * lib/stdio--.h: New file.
75988         * lib/stdlib--.h: New file.
75989         * lib/mkstemp-safer.c: New file.
75990
75991         GNU tar needs these.
75992         * lib/pipe-safer.c: New file.
75993         * lib/creat-safer.c: New file.
75994         * lib/fcntl--.h (creat): Define to creat_safer.
75995         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
75996         * lib/unistd--.h (pipe): Define to pipe_safer.
75997         * lib/unistd-safer.h: Declare pipe_safer.
75998
75999 2005-08-26  Simon Josefsson  <jas@extundo.com>
76000
76001         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
76002         Haible <bruno@clisp.org>.
76003
76004 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
76005
76006         * lib/regex_internal.h: Remove all references to
76007         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
76008         or better.
76009         (bitset_not, bitset_merge, bitset_not_merge):
76010         (bitset_mask, re_string_allocate, re_string_construct):
76011         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
76012         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
76013         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
76014         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
76015         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
76016         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
76017         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
76018         (re_acquire_state_context):
76019         Remove unnecessary forward decls.
76020         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
76021         Put __attribute at function definition,
76022         now that the function decl has been removed.
76023         * lib/regex_internal.c (re_string_peek_byte_case):
76024         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
76025         Likewise.
76026
76027 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
76028
76029         * m4/regex.m4: Add AC_PREREQ(2.50).
76030         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
76031
76032 2005-08-25  Simon Josefsson  <jas@extundo.com>
76033
76034         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
76035         __fsetlocking.
76036
76037 2005-08-25  Simon Josefsson  <jas@extundo.com>
76038
76039         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
76040         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
76041         GLIBC specific code.
76042
76043 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76044
76045         Make regex safe for g++.  This fixes one real bug (an "err"
76046         that should have been "*err").  g++ problem reported by
76047         Sam Steingold.
76048         * lib/regex_internal.h (re_calloc): New macro, consistent with
76049         re_malloc etc.  All callers of calloc changed to use re_calloc.
76050         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
76051         not int.  All callers changed.
76052         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
76053         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
76054         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
76055         (find_recover_state): Change "err" to "*err"; this fixes what
76056         appears to be a real bug.
76057         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
76058         versus int.
76059
76060 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76061
76062         * modules/regex (Depends-on): Add malloc, since the code
76063         assumes that !malloc(0) means failure.
76064
76065 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76066
76067         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
76068
76069         alloca modernization/simplification for regex.
76070         * lib/regex.c: Remove portability cruft for alloca.  This no longer
76071         needs to be at the start of the file, and can be moved into
76072         regex_internal.h and simplified.
76073         * lib/regex_internal.h: Include <alloca.h>.
76074         (__libc_use_alloca) [!defined _LIBC]: New macro.
76075         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
76076         now works outside glibc.
76077
76078 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76079
76080         * config/srclist.txt: Add glibc bugs 1241, 1245.
76081
76082 2005-08-25  Jim Meyering  <jim@meyering.net>
76083
76084         * lib/open-safer.c: Include <config.h>.
76085         Otherwise, we'd lose LARGEFILE support in any file using
76086         e.g. "fcntl--.h"
76087
76088 2005-08-25  Bruno Haible  <bruno@clisp.org>
76089
76090         * m4/minmax.m4: Require autoconf 2.52.
76091         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
76092         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
76093         alternatives of translit over the alphabet.
76094         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
76095
76096 2005-08-24  Simon Josefsson  <jas@extundo.com>
76097
76098         * tests/test-getpass.c: New file.
76099
76100 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76101
76102         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
76103         for GNU regex features.
76104
76105 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76106
76107         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
76108         * lib/regex.h (regerror): Likewise.
76109
76110         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
76111         requires this.  (The code never needed it.)
76112
76113         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
76114         All uses of recently-renamed identifiers changed to use the new,
76115         POSIX-compliant names.  The code will build and run just fine
76116         without these changes, but it's better to eat our own dog food
76117         and use the standard-conforming names.
76118
76119         * lib/regex.h: Fix a multitude of POSIX name space violations.
76120         These changes have an effect only for programs that define
76121         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
76122         do not change anything for programs compiled in the normal way.
76123         Also, there is no effect on the ABI.
76124
76125         (_REGEX_SOURCE): New macro.
76126         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
76127         defined and _GNU_SOURCE is not; this fixes a name space violation.
76128
76129         Rename the following macros to obey POSIX requirements.
76130         The old names are still visible as macros if _REGEX_SOURCE is defined.
76131         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
76132         RE_BACKSLASH_ESCAPE_IN_LISTS.
76133         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
76134         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
76135         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
76136         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
76137         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
76138         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
76139         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
76140         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
76141         (REG_INTERVALS): renamed from RE_INTERVALS.
76142         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
76143         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
76144         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
76145         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
76146         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
76147         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
76148         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
76149         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
76150         RE_UNMATCHED_RIGHT_PAREN_ORD.
76151         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
76152         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
76153         (REG_DEBUG): renamed from RE_DEBUG.
76154         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
76155         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
76156         unusual, since we can't clash with the POSIX REG_ICASE.
76157         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
76158         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
76159         (REG_NO_SUB): renamed from RE_NO_SUB.
76160         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
76161         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
76162         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
76163         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
76164         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
76165         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
76166         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
76167         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
76168         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
76169         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
76170         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
76171         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
76172         RE_SYNTAX_POSIX_MINIMAL_BASIC.
76173         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
76174         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
76175         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
76176         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
76177         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
76178         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
76179         (REG_FIXED): Renamed from REGS_FIXED.
76180         (REG_NREGS): Renamed from RE_NREGS.
76181
76182         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
76183         of other REG_* macros, since POSIX says the user is allowed to
76184         #undef these macros selectively.
76185
76186         (reg_errcode_t): Update comment stating what other tables need
76187         to be consistent.
76188
76189         Rename the following enum values to obey POSIX requirements.
76190         The old names are still visible as macros.
76191         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
76192         is not defined, since GNU is supposed to be a superset of POSIX as
76193         much as possible, and since we want reg_errcode_t to be a signed
76194         type for implementation consistency.
76195         (_REG_NOERROR): Renamed from REG_NOERROR.
76196         (_REG_NOMATCH): Renamed from REG_NOMATCH.
76197         (_REG_BADPAT): Renamed from REG_BADPAT.
76198         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
76199         (_REG_ECTYPE): Renamed from REG_ECTYPE.
76200         (_REG_EESCAPE): Renamed from REG_EESCAPE.
76201         (_REG_ESUBREG): Renamed from REG_ESUBREG.
76202         (_REG_EBRACK): Renamed from REG_EBRACK.
76203         (_REG_EPAREN): Renamed from REG_EPAREN.
76204         (_REG_EBRACE): Renamed from REG_EBRACE.
76205         (_REG_BADBR): Renamed from REG_BADBR.
76206         (_REG_ERANGE): Renamed from REG_ERANGE.
76207         (_REG_ESPACE): Renamed from REG_ESPACE.
76208         (_REG_BADRPT): Renamed from REG_BADRPT.
76209         (_REG_EEND): Renamed from REG_EEND.
76210         (_REG_ESIZE): Renamed from REG_ESIZE.
76211         (_REG_ERPAREN): Renamed from REG_ERPAREN.
76212         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
76213         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
76214         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
76215         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
76216
76217         (_REG_RE_NAME, _REG_RM_NAME): New macros.
76218         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
76219         changed.  But support the old name if the new one is not defined
76220         and if _REGEX_SOURCE.
76221
76222         Change the following member names in struct re_pattern_buffer.
76223         The old names are still supported if !_REGEX_SOURCE.
76224         The new names are always supported, regardless of _REGEX_SOURCE.
76225         (re_buffer): Renamed from buffer.
76226         (re_allocated): Renamed from allocated.
76227         (re_used): Renamed from used.
76228         (re_syntax): Renamed from syntax.
76229         (re_fastmap): Renamed from fastmap.
76230         (re_translate): Renamed from translate.
76231         (re_can_be_null): Renamed from can_be_null.
76232         (re_regs_allocated): Renamed from regs_allocated.
76233         (re_fastmap_accurate): Renamed from fastmap_accurate.
76234         (re_no_sub): Renamed from no_sub.
76235         (re_not_bol): Renamed from not_bol.
76236         (re_not_eol): Renamed from not_eol.
76237         (re_newline_anchor): Renamed from newline_anchor.
76238
76239         Change the following member names in struct re_registers.
76240         The old names are still supported if !_REGEX_SOURCE.
76241         The new names are always supported, regardless of _REGEX_SOURCE.
76242         (rm_num_regs): Renamed from num_regs.
76243         (rm_start): Renamed from start.
76244         (rm_end): Renamed from end.
76245
76246         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
76247         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
76248         Prepend __ to parameter names.
76249
76250         Undo yesterday's changes.
76251
76252 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76253
76254         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
76255         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
76256         lib/regex.c.
76257
76258 2005-08-24  Jim Meyering  <jim@meyering.net>
76259
76260         Sync from coreutils.
76261         * m4/fcntl-safer.m4: New file.
76262
76263         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
76264         and object files for this module.
76265
76266 2005-08-24  Jim Meyering  <jim@meyering.net>
76267
76268         Sync from coreutils.
76269         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
76270
76271 2005-08-24  Jim Meyering  <jim@meyering.net>
76272
76273         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
76274         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
76275
76276 2005-08-24  Jim Meyering  <jim@meyering.net>
76277
76278         * modules/fcntl-safer: New module.
76279         * modules/fts (Depends-on): Add fcntl-safer.
76280         * MODULES.html.sh (File descriptor based Input/Output):
76281         Add fcntl-safer.
76282
76283 2005-08-24  Bruno Haible  <bruno@clisp.org>
76284
76285         Support for unit test modules.
76286         * modules/README: Mention tests modules.
76287         * modules/TEMPLATE-TESTS: New file.
76288         * gnulib-tool: New options --extract-tests-module, --with-tests and
76289         --tests-base (unused for the moment).
76290         (testsbase, inctests): New variables.
76291         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
76292         (func_verify_module): Exclude TEMPLATE-TESTS.
76293         (func_verify_nontests_module, func_verify_tests_module): New functions.
76294         (func_get_dependencies): Add implicit dependency for tests modules.
76295         (func_get_tests_module): New function.
76296         (func_modules_transitive_closure): When --with-tests was specified,
76297         include the unit tests as well, unless explicitly avoided.
76298         (func_emit_lib_Makefile_am): Ignore the tests modules here.
76299         (func_emit_tests_Makefile_am): New function.
76300         (func_create_testdir): When --with-tests was specified, emit a
76301         tests/ directory.
76302         * MODULES.html.sh (Future developments): Update.
76303
76304 2005-08-24  Bruno Haible  <bruno@clisp.org>
76305
76306         * modules/tls-tests: New file.
76307         * tests/test-tls.c: New file, from GNU gettext.
76308
76309 2005-08-24  Bruno Haible  <bruno@clisp.org>
76310
76311         * modules/lock-tests: New file.
76312         * tests/test-lock.c: New file, from GNU gettext.
76313
76314 2005-08-24  Bruno Haible  <bruno@clisp.org>
76315
76316         * lib/lock.h: Add multiple inclusion guard.
76317         * lib/tls.h: Add multiple inclusion guard.
76318
76319 2005-08-24  Bruno Haible  <bruno@clisp.org>
76320
76321         * gnulib-tool: Add support for the --aux-dir option to
76322         --create-testdir, --create-megatestdir, --test, --megatest.
76323         (func_create_testdir, func_create_megatestdir): Optionally emit a
76324         AC_CONFIG_AUX_DIR directive.
76325         (create-testdir, create-megatestdir, test, megatest): Provide a
76326         default value for $auxdir.
76327
76328 2005-08-24  Bruno Haible  <bruno@clisp.org>
76329
76330         * gnulib-tool (import): Use compound statement instead of subshell
76331         where possible.
76332
76333 2005-08-24  Bruno Haible  <bruno@clisp.org>
76334
76335         * gnulib-tool (import): Change --aux-dir default to "build-aux".
76336
76337 2005-08-24  Bruno Haible  <bruno@clisp.org>
76338
76339         * gnulib-tool (func_version): Update.
76340
76341 2005-08-24  Bruno Haible  <bruno@clisp.org>
76342
76343         * gnulib-tool (func_import, func_create_testdir,
76344         func_create_megatestdir): Quote all autoconf macro arguments.
76345
76346 2005-08-24  Bruno Haible  <bruno@clisp.org>
76347
76348         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
76349         option --force, because --force causes the aclocal.m4 of each
76350         subdirectory to be newer than the corresponding config.h.in.
76351
76352 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76353
76354         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
76355         All contents moved to gl_REGEX.
76356         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
76357         assume that it does.
76358
76359 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76360
76361         * lib/regex.h (REG_NOSYS)
76362         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
76363         Define, since POSIX requires it as of 2001.
76364         (_REG_ENOSYS)
76365         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
76366         New private symbol, used to keep the enum signed in all cases.
76367         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
76368         Youngman in
76369         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
76370
76371         * lib/regex_internal.c (re_string_skip_chars, register_state):
76372         (calc_state_hash):
76373         Remove forward decls; no longer needed now that we use prototypes.
76374         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
76375         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
76376         (clean_state_log_if_needed): Likewise.
76377
76378 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76379
76380         * config/srclist.txt: Add glibc bugs 1231-1233.
76381
76382 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76383
76384         Fix problems reported by Sam Steingold in
76385         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
76386         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
76387         assumed that reg_errcode_t is a signed type, which is not
76388         necessarily true if _XOPEN_SOURCE is not defined.
76389         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
76390         since some compilers warn about it otherwise.
76391
76392 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76393
76394         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
76395         (init_word_char, create_initial_state, duplicate_node_closure):
76396         (fetch_token, peek_token_bracket, build_range_exp):
76397         (build_collating_symbol): Remove forward decls; no longer needed
76398         now that we use prototypes.
76399
76400         * lib/regcomp.c:
76401         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
76402         (re_compile_fastmap_iter, regcomp, regerror, regfree):
76403         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
76404         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
76405         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
76406         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
76407         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
76408         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
76409         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
76410         (build_range_exp, build_collating_symbol, parse_bracket_exp):
76411         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
76412         (build_charclass, build_charclass_op, fetch_number, create_tree):
76413         (create_token_tree, mark_opt_subexp, duplicate_tree):
76414         Use prototypes rather than old-style definitions.
76415
76416         * lib/regex_internal.c:
76417         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
76418         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
76419         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
76420         (re_string_reconstruct, re_string_peek_byte_case):
76421         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
76422         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
76423         (re_node_set_init_copy, re_node_set_add_intersect):
76424         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
76425         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
76426         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
76427         (re_acquire_state, re_acquire_state_context, register_state):
76428         (create_ci_newstate, create_cd_newstate, free_state):
76429         Likewise.
76430         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
76431         re_search_2):
76432         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
76433         (re_search_internal, prune_impossible_nodes):
76434         (acquire_init_state_context, check_matching, static):
76435         (check_halt_node_context, check_halt_state_context, proceed_next_node):
76436         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
76437         (update_regs, sift_states_backward, build_sifted_states):
76438         (clean_state_log_if_needed, merge_state_array):
76439         (update_cur_sifted_state, add_epsilon_src_nodes):
76440         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
76441         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
76442         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
76443         (find_recover_state, check_subexp_matching_top, transit_state_mb):
76444         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
76445         (check_arrival, check_arrival_add_next_nodes):
76446         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
76447         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
76448         (check_node_accept_bytes, check_node_accept, extend_buffers):
76449         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
76450         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
76451         (sift_ctx_init):
76452         Likewise.
76453
76454         * lib/regex_internal.h:
76455         (re_string_allocate, re_string_construct, re_string_reconstruct):
76456         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
76457         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
76458         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
76459         (re_string_context_at, re_string_peek_byte_case):
76460         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
76461         is defined, since we now use prototypes always.
76462
76463         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
76464         C89 or better.  All uses removed.
76465
76466 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76467
76468         * config/srclist.txt: Add glibc bugs 1220-1227.
76469
76470 2005-08-20  Jim Meyering  <jim@meyering.net>
76471
76472         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
76473         of unused local, dfa.
76474
76475 2005-08-20  Bruno Haible  <bruno@clisp.org>
76476
76477         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
76478
76479 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76480
76481         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
76482         (re_node_set_insert_last, re_dfa_add_node):
76483         Rename local variables to avoid GCC shadowing warnings.
76484
76485 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76486
76487         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
76488         [defined lint]: Suppress bogus uninitialized-variable warnings.
76489
76490         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
76491         and let the caller return REG_ESPACE if out of space.  This
76492         removes an uninitialied-variable warning with GCC 4.0.1, and also
76493         avoids taking the address of a local variable.  All callers
76494         changed.
76495
76496 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76497
76498         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
76499         $LIBCSRC/posix/regexec.c.
76500         Add glibc bug 1217 for regcomp.c.
76501
76502 2005-08-19  Jim Meyering  <jim@meyering.net>
76503
76504         * lib/regexec.c (proceed_next_node): Redo local variables to
76505         avoid GCC shadowing warnings.
76506
76507 2005-08-18  Bruno Haible  <bruno@clisp.org>
76508
76509         * lib/strstr.c (strstr): Fix return value in multibyte case.
76510         * lib/strcasestr.c (strcasestr): Likewise.
76511
76512 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76513
76514         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
76515
76516 2005-08-17  Jim Meyering  <jim@meyering.net>
76517
76518         Make the %s format (seconds since the epoch) work for a negative
76519         number and when used with a zero-padded field width, e.g. %015s.
76520
76521         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
76522         label so that it precedes the code to set `digits'.  Otherwise,
76523         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
76524         print `00-22'.  Now, it prints `-0022', as it should.
76525
76526 2005-08-17  Bruno Haible  <bruno@clisp.org>
76527
76528         * modules/strstr (Files): Add m4/mbrtowc.m4.
76529         (Depends-on): Add mbuiter.
76530
76531 2005-08-17  Bruno Haible  <bruno@clisp.org>
76532
76533         * modules/strcasestr: New file.
76534         * MODULES.html.sh (String handling, based on ANSI C 89): Add
76535         strcasestr.
76536
76537 2005-08-17  Bruno Haible  <bruno@clisp.org>
76538
76539         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
76540
76541 2005-08-17  Bruno Haible  <bruno@clisp.org>
76542
76543         * modules/mbuiter: New file.
76544         * MODULES.html.sh (Extended multibyte and wide character utilities):
76545         Add mbuiter.
76546
76547 2005-08-17  Bruno Haible  <bruno@clisp.org>
76548
76549         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
76550         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
76551
76552 2005-08-17  Bruno Haible  <bruno@clisp.org>
76553
76554         * m4/strcasestr.m4: New file.
76555
76556 2005-08-17  Bruno Haible  <bruno@clisp.org>
76557
76558         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
76559         * lib/strstr.c: Completely rewritten, with multibyte locale support.
76560
76561 2005-08-17  Bruno Haible  <bruno@clisp.org>
76562
76563         * lib/strcasestr.h: New file.
76564         * lib/strcasestr.c: New file.
76565
76566 2005-08-17  Bruno Haible  <bruno@clisp.org>
76567
76568         * lib/strcasecmp.c: Use mbuiter.h.
76569
76570 2005-08-17  Bruno Haible  <bruno@clisp.org>
76571
76572         * lib/mbuiter.h: New file.
76573
76574 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76575
76576         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
76577         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
76578         and gl_GETOPT are both invoked via different paths (as happens
76579         with GNU tar CVS because it uses both argp and getopt), the former
76580         wins.
76581
76582 2005-08-16  Bruno Haible  <bruno@clisp.org>
76583
76584         * modules/tls: New file.
76585         * MODULES.html.sh (Multithreading): Add tls.
76586
76587 2005-08-16  Bruno Haible  <bruno@clisp.org>
76588
76589         * modules/strnlen1: New file.
76590         * MODULES.html.sh (String handling): Add strnlen1.
76591
76592 2005-08-16  Bruno Haible  <bruno@clisp.org>
76593
76594         * modules/strcase (Files): Add m4/mbrtowc.m4.
76595         (Depends-on): Add strnlen1, mbchar.
76596
76597 2005-08-16  Bruno Haible  <bruno@clisp.org>
76598
76599         * modules/mbiter: New file.
76600         * MODULES.html.sh (Extended multibyte and wide character utilities):
76601         Add mbiter.
76602
76603 2005-08-16  Bruno Haible  <bruno@clisp.org>
76604
76605         * modules/mbfile: New file.
76606         * MODULES.html.sh (Extended multibyte and wide character utilities):
76607         Add mbfile.
76608
76609 2005-08-16  Bruno Haible  <bruno@clisp.org>
76610
76611         * modules/mbchar: New file.
76612         * MODULES.html.sh (Extended multibyte and wide character utilities):
76613         New section.
76614
76615 2005-08-16  Bruno Haible  <bruno@clisp.org>
76616
76617         * m4/tls.m4: New file, from GNU gettext.
76618
76619 2005-08-16  Bruno Haible  <bruno@clisp.org>
76620
76621         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
76622         always.
76623         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
76624
76625 2005-08-16  Bruno Haible  <bruno@clisp.org>
76626
76627         * m4/mbiter.m4: New file.
76628
76629 2005-08-16  Bruno Haible  <bruno@clisp.org>
76630
76631         * m4/mbfile.m4: New file.
76632
76633 2005-08-16  Bruno Haible  <bruno@clisp.org>
76634
76635         * m4/mbchar.m4: New file.
76636
76637 2005-08-16  Bruno Haible  <bruno@clisp.org>
76638
76639         * lib/tls.h: New file, from GNU gettext.
76640         * lib/tls.c: New file, from GNU gettext.
76641
76642 2005-08-16  Bruno Haible  <bruno@clisp.org>
76643
76644         * lib/strnlen1.h: New file.
76645         * lib/strnlen1.c: New file.
76646
76647 2005-08-16  Bruno Haible  <bruno@clisp.org>
76648
76649         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
76650         (mbi_init): Update.
76651         (mbi_avail, mbi_advance): Let the iteration end before the terminating
76652         NUL byte, not after it.
76653
76654 2005-08-16  Bruno Haible  <bruno@clisp.org>
76655
76656         * lib/strcase.h (strcasecmp): Add note in comments.
76657         * lib/strncasecmp.c: Use code from strcasecmp.c.
76658         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
76659         (strcasecmp): Work correctly in multibyte locales.
76660
76661 2005-08-16  Bruno Haible  <bruno@clisp.org>
76662
76663         * lib/mbiter.h: New file.
76664
76665 2005-08-16  Bruno Haible  <bruno@clisp.org>
76666
76667         * lib/mbfile.h: New file.
76668
76669 2005-08-16  Bruno Haible  <bruno@clisp.org>
76670
76671         * lib/mbchar.h: New file.
76672         * lib/mbchar.c: New file.
76673
76674 2005-08-16  Bruno Haible  <bruno@clisp.org>
76675
76676         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
76677         the valid ones. Makes the comparison operations transitive:
76678         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
76679         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
76680
76681 2005-08-15  Simon Josefsson  <jas@extundo.com>
76682
76683         * modules/ssize_t (License): Change to 'unlimited'.
76684
76685         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
76686
76687 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76688
76689         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
76690         Add comments for each pending glibc patch.
76691
76692 2005-08-15  Bruno Haible  <bruno@clisp.org>
76693
76694         * lib/regex.h (__restrict_arr): Don't define to __restrict if
76695         __cplusplus is defined.
76696
76697 2005-08-14  Jim Meyering  <jim@meyering.net>
76698
76699         Sync from coreutils.
76700
76701         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
76702         Use the hash-table-based cycle-detection code not just when
76703         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
76704         Reported by James Youngman in
76705         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
76706         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
76707         FTS_TIGHT_CYCLE_CHECK.
76708         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
76709         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
76710         once again.
76711         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
76712         * lib/fts.c (fd_safer): Remove decl.
76713         Include fcntl--.h rather than unistd-safer.h
76714         (fts_safe_changedir): Don't call fd_safer; no longer needed
76715         now that we include fcntl--.h.
76716
76717 2005-08-12  Simon Josefsson  <jas@extundo.com>
76718
76719         * modules/getndelim2: Use ssize_t module.
76720         * modules/getnline: Likewise.
76721         * modules/safe-read: Likewise.
76722         * modules/xreadlink: Likewise.
76723
76724         * modules/ssize_t: New file.
76725
76726 2005-08-12  Simon Josefsson  <jas@extundo.com>
76727
76728         * m4/readline.m4: Look for termcap, curses or ncurses if required.
76729
76730 2005-08-12  Simon Josefsson  <jas@extundo.com>
76731
76732         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76733         ssize_t.
76734
76735 2005-08-12  Simon Josefsson  <jas@extundo.com>
76736
76737         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
76738         readline, getdelim and check_version.
76739         (Support for systems lacking ISO C 99: Sizes of integer types):
76740         Add size_max.
76741
76742 2005-08-12  Bruno Haible  <bruno@clisp.org>
76743
76744         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
76745
76746 2005-08-11  Simon Josefsson  <jas@extundo.com>
76747
76748         * modules/readline: New file.
76749
76750         * modules/strnlen (Files): Add strnlen.h.
76751
76752 2005-08-11  Simon Josefsson  <jas@extundo.com>
76753
76754         * m4/readline.m4: New file.
76755
76756 2005-08-11  Simon Josefsson  <jas@extundo.com>
76757
76758         * lib/readline.h, readline.c: New file.
76759
76760 2005-08-11  Simon Josefsson  <jas@extundo.com>
76761
76762         * doc/gnulib.texi (Initial import, Finishing touches): Mention
76763         gl_AVOID.
76764
76765 2005-08-11  Bruno Haible  <bruno@clisp.org>
76766
76767         * lib/strnlen.h (strnlen): Change parameter name to match comment.
76768
76769 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
76770
76771         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
76772
76773 2005-08-10  Simon Josefsson  <jas@extundo.com>
76774
76775         * tests/test-iconvme.c: New file.
76776
76777 2005-08-10  Simon Josefsson  <jas@extundo.com>
76778
76779         * m4/strnlen.m4: New file.
76780
76781         * m4/strndup.m4: Don't check for strnlen declaration, done in
76782         strnlen.m4.
76783
76784 2005-08-10  Simon Josefsson  <jas@extundo.com>
76785
76786         * lib/strndup.c: Use strnlen.h.
76787
76788         * lib/strnlen.h: New file.
76789
76790 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76791
76792         * README: Typos.
76793
76794 2005-08-02  Simon Josefsson  <jas@extundo.com>
76795
76796         * modules/readline: New file.
76797
76798 2005-08-02  Simon Josefsson  <jas@extundo.com>
76799
76800         * modules/getdelim: New file.
76801
76802         * modules/getline: Rewrite, don't use getndelim2.
76803
76804 2005-08-02  Simon Josefsson  <jas@extundo.com>
76805
76806         * m4/getline.m4: Separate out getdelim stuff into separate module.
76807
76808         * m4/getdelim.m4: New file.
76809
76810 2005-08-02  Simon Josefsson  <jas@extundo.com>
76811
76812         * lib/getline.h, getline.c: Rewrite.
76813
76814         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
76815
76816 2005-07-31  Bruno Haible  <bruno@clisp.org>
76817
76818         * lib/lock.h (gl_lock_initializer): New macro.
76819         (gl_lock_define_initialized): Use it.
76820         (gl_rwlock_initializer): New macro.
76821         (gl_rwlock_define_initialized): Use it.
76822         (gl_recursive_lock_initializer): New macro.
76823         (gl_recursive_lock_define_initialized): Use it.
76824
76825 2005-07-30  Karl Berry  <karl@gnu.org>
76826
76827         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
76828         Report from Ben Pfaff, regarding getopt.
76829
76830 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
76831
76832         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
76833         normal way.
76834         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
76835         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
76836         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
76837         (gl_GETOPT): Use the new macros.  Most of the implementation
76838         is moved to the new macros.  This is for programs like Emacs
76839         that don't want all the functionality of gl_GETOPT.
76840
76841 2005-07-26  Bruno Haible  <bruno@clisp.org>
76842
76843         * m4/lock.m4: Update from GNU gettext.
76844
76845 2005-07-26  Bruno Haible  <bruno@clisp.org>
76846
76847         * lib/lock.h: Update from GNU gettext.
76848         * lib/lock.c: Update from GNU gettext.
76849
76850 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
76851
76852         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
76853         obsolescent AC_TRY_RUN.  Include the default includes files, for
76854         'exit'.
76855
76856 2005-07-24  Bruno Haible  <bruno@clisp.org>
76857
76858         * modules/visibility: New file.
76859         * MODULES.html.sh (Misc): Add visibility.
76860
76861 2005-07-24  Bruno Haible  <bruno@clisp.org>
76862
76863         * m4/visibility.m4: New file.
76864
76865 2005-07-24  Bruno Haible  <bruno@clisp.org>
76866
76867         * doc/visibility.texi: New file.
76868
76869 2005-07-22  Bruno Haible  <bruno@clisp.org>
76870
76871         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
76872         $(ALLOCA_H), redundant through BUILT_SOURCES.
76873         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
76874         redundant through BUILT_SOURCES.
76875         * modules/byteswap (Makefile.am): Remove explicit dependency on
76876         $(BYTESWAP_H), redundant through BUILT_SOURCES.
76877         * modules/fnmatch (Makefile.am): Remove explicit dependency on
76878         $(FNMATCH_H), redundant through BUILT_SOURCES.
76879         * modules/getopt (Makefile.am): Remove explicit dependency on
76880         $(GETOPT_H), redundant through BUILT_SOURCES.
76881         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
76882         redundant through BUILT_SOURCES.
76883         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
76884         redundant through BUILT_SOURCES.
76885         * modules/stdbool (Makefile.am): Remove explicit dependency on
76886         $(STDBOOL_H), redundant through BUILT_SOURCES.
76887         * modules/stdint (Makefile.am): Remove explicit dependency on
76888         $(STDINT_H), redundant through BUILT_SOURCES.
76889         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
76890         Remove explicit dependency on $(SYSEXITS_H).
76891         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
76892
76893 2005-07-18  Simon Josefsson  <jas@extundo.com>
76894
76895         * lib/check-version.c (check_version): Accept identical versions too.
76896
76897 2005-07-18  Bruno Haible  <bruno@clisp.org>
76898
76899         * modules/lock: New file.
76900         * MODULES.html.sh (Multithreading): New section.
76901
76902 2005-07-18  Bruno Haible  <bruno@clisp.org>
76903
76904         * m4/lock.m4: New file, from GNU gettext.
76905
76906 2005-07-18  Bruno Haible  <bruno@clisp.org>
76907
76908         * lib/lock.h: New file, from GNU gettext.
76909         * lib/lock.c: New file, from GNU gettext.
76910
76911 2005-07-18  Bruno Haible  <bruno@clisp.org>
76912
76913         * lib/lock.h (gl_once_t): New type.
76914         (gl_once_define, gl_once): New macros.
76915         * lib/lock.c (fresh_once): New variable.
76916         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
76917         functions.
76918
76919 2005-07-16  Simon Josefsson  <jas@extundo.com>
76920
76921         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
76922         workaround, suggested by Bruno.
76923
76924 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76925
76926         * modules/xalloc (Depends-on): Add xalloc-die.
76927         * modules/xvasprintf (Depends-on): Add xalloc-die.
76928
76929 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76930
76931         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
76932         with a minor change.
76933
76934 2005-07-15  Bruno Haible  <bruno@clisp.org>
76935
76936         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
76937         When using lib/poll.c, define poll as rpl_poll.
76938
76939 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
76940
76941         * modules/argp (Depends-on): Remove unlocked-io.
76942
76943 2005-07-14  Derek Price  <derek@ximbiot.com>
76944
76945         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
76946         for glob symlink bug.
76947
76948 2005-07-14  Bruno Haible  <bruno@clisp.org>
76949
76950         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
76951         Instead, test for *_unlocked function declarations directly.
76952
76953 2005-07-11  Simon Josefsson  <jas@extundo.com>
76954
76955         * modules/size_max: New file.
76956
76957         * modules/xsize: Depend on size_max module for size_max.m4.
76958
76959 2005-07-11  Simon Josefsson  <jas@extundo.com>
76960
76961         * lib/size_max.h: New file.
76962
76963 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
76964
76965         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
76966         copyright symbol and the year.
76967         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
76968         (version_etc_va): Use parameterized copyright notice.
76969         Reword to conform to the current GNU coding standards.
76970
76971 2005-07-11  Karl Berry  <karl@gnu.org>
76972
76973         * doc/gnulib.texi (Quoting): new node.
76974         (Initial import): more info, from Patrice.
76975
76976 2005-07-11  Bruno Haible  <bruno@clisp.org>
76977
76978         * gnulib-tool (func_usage): Document option --avoid.
76979         (Command line options): Handle --avoid.
76980         (func_acceptable): New function.
76981         (func_modules_transitive_closure): Use it.
76982
76983 2005-07-11  Bruno Haible  <bruno@clisp.org>
76984
76985         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
76986         Reported by Jim Meyering.
76987
76988 2005-07-10  Bruno Haible  <bruno@clisp.org>
76989
76990         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
76991         Needed when size_t is smaller than 'unsigned int'.
76992         Reported by Paul Eggert.
76993
76994 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76995
76996         * modules/argp (Depends-on): Add unlocked-io
76997
76998 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76999
77000         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
77001         block of defines.
77002
77003 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
77004
77005         * config/srclist.txt: Comment out regcomp.c, since we have a porting
77006         fix now.
77007
77008 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
77009         and Paul Eggert  <eggert@cs.ucla.edu>
77010
77011         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
77012         in wint_t, not wchar_t.  Remove now-unnecessary cast.
77013
77014 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
77015
77016         * modules/regex (Files): Add lib/regex_internal.c,
77017         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
77018         (Depends-on): Add extensions.
77019         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
77020
77021 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
77022
77023         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
77024         pathconf.
77025         * m4/same.m4 (gl_SAME): Likewise.
77026         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
77027
77028         * m4/regex.m4: Adjust to new libc regex implementation.
77029         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
77030         all the .c and .h parts of (the new) regex.
77031         Quote the m4 stuff better.
77032         Check for RE_ICASE bug of old gnulib.
77033         Check for REG_STARTEND of recent libc.
77034         Rename local variables from jm_* to gl_*.
77035         Quote operand of "test -f".
77036         Say "recent enough" version of libc, not "version 2".
77037         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
77038         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
77039         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
77040         Remove check for btowc, isascii.
77041         Require AM_LANGINFO_CODESET.
77042
77043 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
77044
77045         * lib/regex.c, regex.h: Sync from libc.
77046         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
77047         * lib/regexec.c:
77048         New files, synced from libc, except that regex_internal.h
77049         currently has a small porting fix.
77050
77051 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
77052
77053         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
77054         regex_internal.c, regexec.c.
77055         Add regex_internal.h too, but as a comment, since the libc version
77056         is currently broken in gnulib mode.
77057
77058 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77059
77060         Support programs like Emacs that use gnulib but not gettext.
77061         * MODULES.html.sh (Internationalization functions): Add gettext-h.
77062         * modules/gettext-h: New file.
77063         * modules/gettext (Files): Remove lib/gettext.h.
77064         (Depends-on): Add gettext-h.
77065         (Makefile.am): Remove lib_SOURCES.
77066         * modules/argmatch, modules/c-stack, modules/closeout:
77067         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
77068         * modules/execute, modules/file-type, modules/getaddrinfo:
77069         * modules/getopt, modules/human, modules/javacomp:
77070         * modules/javaexec, modules/mkdir-p, modules/obstack:
77071         * modules/openat, modules/pagealign_alloc, modules/pipe:
77072         * modules/quotearg, modules/regex, modules/rpmatch:
77073         * modules/unicodeio, modules/userspec, modules/version-etc:
77074         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
77075         * modules/xsetenv:
77076         Depend on gettext-h, not gettext.
77077
77078 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77079
77080         * gnulib-tool (func_import): Add support for 'public domain' license.
77081         * modules/alloca, modules/atexit, modules/memmove:
77082         Now public domain, not GPL.
77083         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
77084         * modules/realloc, modules/strerror, modules/strtod:
77085         Now LGPL, not GPL.
77086
77087 2005-07-05  Bruno Haible  <bruno@clisp.org>
77088
77089         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
77090         autoconf CVS. Needed for mingw.
77091
77092 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77093
77094         Remove the dependency of the strftime module on the tzset module.
77095         * modules/strftime (Depends-on): Remove dependency on tzset.
77096
77097 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77098
77099         Remove the dependency of the strftime module on the tzset module.
77100         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
77101         gl_FUNC_TZSET_CLOBBER.
77102
77103 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77104
77105         Remove the dependency of the strftime module on the tzset module.
77106         * lib/strftime.c (my_strftime)
77107         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
77108         Copy the input structure, to work around some of the bug with
77109         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
77110         Solaris releases, you should also use the tzset module, but we won't
77111         require it as a dependency any more since we don't want LGPLed code
77112         to depend on GPLed code.
77113
77114 2005-07-02  Jim Meyering  <jim@meyering.net>
77115
77116         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
77117         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
77118         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
77119         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
77120
77121 2005-07-02  Jim Meyering  <jim@meyering.net>
77122
77123         * lib/backupfile.c (backup_args): Change a `0' to NULL.
77124
77125 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77126
77127         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
77128         declares only 'struct timespec;' (!).
77129
77130 2005-07-01  Jim Meyering  <jim@meyering.net>
77131
77132         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
77133         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
77134         * lib/save-cwd.c, tempname.c:
77135         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
77136         and don't include <sys/file.h>).
77137
77138 2005-06-29  Jim Meyering  <jim@meyering.net>
77139
77140         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
77141         type name.  Use the variable name instead.
77142         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
77143         Likewise.
77144
77145 2005-06-28  Simon Josefsson  <jas@extundo.com>
77146
77147         * modules/check-version (Files): Add check-version.m4.
77148
77149 2005-06-28  Simon Josefsson  <jas@extundo.com>
77150
77151         * m4/check-version.m4: New file, suggested by Jim Meyering
77152         <jim@meyering.net>.
77153
77154 2005-06-28  Simon Josefsson  <jas@extundo.com>
77155
77156         * lib/check-version.h, lib/check-version.c: New files.
77157
77158 2005-06-28  Simon Josefsson  <jas@extundo.com>
77159
77160         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
77161         collision with global variable.  Better indentation.  Don't
77162         increment buffer pointer beyond buffer end.  Based on comments
77163         from Paul Eggert <eggert@cs.ucla.edu>.
77164
77165         * lib/base64.h: Indent.
77166
77167 2005-06-28  Simon Josefsson  <jas@extundo.com>
77168
77169         * doc/gnulib.texi (Library version handling): New section.
77170
77171 2005-06-28  Jim Meyering  <jim@meyering.net>
77172
77173         * check-module (find_included_lib_files): Hard-code another
77174         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
77175         but modules/fts-lgpl (correctly) does not list those files.
77176
77177         * modules/canonicalize (Files): Add lib/pathmax.h.
77178
77179 2005-06-25  Simon Josefsson  <jas@extundo.com>
77180
77181         * modules/check-version: New file.
77182
77183 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
77184
77185         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
77186         initializer of struct addrinfo, as an indication that we don't
77187         care how many members the structure has.
77188
77189 2005-06-24  Derek Price  <derek@ximbiot.com>
77190         and Bruno Haible  <bruno@clisp.org>
77191
77192         Remove stat module & update lstat.
77193         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
77194         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77195         * m4/stat.m4: Remove this file.
77196
77197 2005-06-24  Derek Price  <derek@ximbiot.com>
77198         and Bruno Haible  <bruno@clisp.org>
77199
77200         Remove stat module & update lstat.
77201         * lib/stat.c: Remove this file...
77202         (slash_aware_lstat): ...moving this content and its support...
77203         * lib/lstat.c (rpl_lstat): ...into here.
77204         * lib/lstat.h: New file.
77205
77206 2005-06-24  Derek Price  <derek@ximbiot.com>
77207         and Bruno Haible  <bruno@clisp.org>
77208
77209         Remove stat module & update lstat.
77210         * config/srclist.txt (libc sources): Remove stat.
77211
77212 2005-06-24  Derek Price  <derek@ximbiot.com>
77213         and Bruno Haible  <bruno@clisp.org>
77214
77215         Remove stat module & update lstat.
77216         * MODULES.html.sh (stat): Remove.
77217         * MODULES.html: Regenerated.
77218         * modules/lstat (Description): Correct function name.
77219         (Files): Add "lstat.h".
77220         (Depends-on): Remove stat, add xalloc, stat-macros.
77221         * modules/stat: Remove this file.
77222         (Include): Add "lstat.h", remove <sys/stat.h>.
77223
77224 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
77225
77226         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
77227         (ranged_convert): Don't save conversion in a temporary struct.
77228         This causes a warning with GCC 4.0.0, and anyway in the typical
77229         case it's not worth the extra 100 bytes or so of code.
77230         (ranged_convert, __mktime_internal): When calling a function via a
77231         pointer P, use P () rather than (*P) (), as we now assume C89 or
77232         better.
77233
77234 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77235
77236         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
77237         "who -r" failed to give output.  Problem reported by Tim Waugh.
77238
77239         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
77240         (xcalloc): Use it to avoid needless tests.
77241         Problem reported by Jim Meyering.
77242
77243 2005-06-20  Derek Price  <derek@ximbiot.com>
77244
77245         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
77246         unnecessary for Autoconfs > 2.59c.
77247
77248 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77249
77250         * lib/argp.h (__option_is_short): Check upper limit of
77251         __key. Isprint() requires its argument to have the value
77252         of an unsigned char or EOF.
77253
77254 2005-06-16  Jim Meyering  <jim@meyering.net>
77255
77256         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
77257         when either N or S is zero.
77258
77259 2005-06-16  Derek Price  <derek@ximbiot.com>
77260
77261         * m4/bison.m4: Declare YACC & YFLAGS precious.
77262
77263 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
77264
77265         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
77266         multibyte string or pattern, fall back on unibyte matching.
77267         Problem reported by James Youngman.
77268
77269 2005-06-08  Bruno Haible  <bruno@clisp.org>
77270
77271         * modules/csharpcomp: New file.
77272         * MODULES.html.sh (C#): Add csharpcomp.
77273
77274 2005-06-08  Bruno Haible  <bruno@clisp.org>
77275
77276         * m4/csharpcomp.m4: New file, from GNU gettext.
77277
77278 2005-06-08  Bruno Haible  <bruno@clisp.org>
77279
77280         * lib/csharpcomp.h: New file, from GNU gettext.
77281         * lib/csharpcomp.c: New file, from GNU gettext.
77282         * lib/csharpcomp.sh.in: New file, from GNU gettext.
77283
77284 2005-06-08  Bruno Haible  <bruno@clisp.org>
77285
77286         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
77287         warning on mingw.
77288
77289 2005-06-07  Derek Price  <derek@ximbiot.com>
77290
77291         Sync from CVS.
77292         * lib/glob_.h: Indent nested #ifdef.
77293
77294 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
77295
77296         Sync from coreutils.
77297         Use "file name" when talking about file names, instead of "filename"
77298         or "path", as per the GNU coding standards.
77299         * lib/mkdir-p.c: Renamed from makepath.c.
77300         (make_dir_parents): Renamed from make_path.  All callers changed.
77301         * lib/mkdir-p.h: Likewise.  All includers changed.
77302         * lib/filenamecat.c: Renamed from path-concat.c.
77303         (file_name_concat): Renamed from path_concat.  All callers changed.
77304         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
77305         * lib/filenamecat.h: Likewise.  All includers changed.
77306         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
77307         in comments or local variable names.
77308         * lib/basename.c: Likewise.
77309         * lib/canonicalize.c, canonicalize.h: Likewise.
77310         * lib/dirname.c, dirname.h: Likewise.
77311         * lib/euidaccess.c: Likewise.
77312         * lib/exclude.c: Likewise
77313         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
77314         * lib/fsusage.c, fsuage.h: Likewise.
77315         * lib/fts.c, fts_.h: Likewise.
77316         * lib/getcwd.c: Likewise.
77317         * lib/getloadavg.c: Likewise.
77318         * lib/mkstemp.c: Likewise.
77319         * lib/mountlist.c, mountlist.h: Likewise.
77320         * lib/openat.c, openat.h: Likewise.
77321         * lib/readlink-stub.c: Likewise.
77322         * lib/readutmp.c, readutmp.h: Likewise.
77323         * lib/rename.c: Likewise.
77324         * lib/rmdir.c: Likewise.
77325         * lib/same.c: Likewise.
77326         * lib/savedir.c: Likewise.
77327         * lib/stripslash.c: Likewise.
77328         * lib/tempname.c: Likewise.
77329         * lib/xreadlink.c: Likewise.
77330         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
77331         All uses changed.
77332         * lib/exclude.h: Likewise.
77333
77334         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
77335         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
77336         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
77337         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
77338         * lib/pathmax.h: Include <limits.h> unconditionally, since other
77339         files have been getting away with it for years (MORE/BSD 4.3
77340         is extinct now).
77341         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
77342         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
77343
77344         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
77345         Define to 256, not 255, as per modern POSIX.
77346
77347 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
77348
77349         Sync from coreutils.
77350         Use "file name" when talking about file names, instead of "filename"
77351         or "path", as per the GNU coding standards.
77352         * MODULES.html.sh: mkdir-p renamed from makepath.
77353         filenamecat renamed from path-concat.
77354         * modules/filenamecat: Renamed from modules/path-concat.
77355         (Files): filenamecat.h and filenamecat.c renamed from
77356         path-concat.h and path-concat.c.
77357         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
77358         (Include): filenamecat.h, not path-concat.h.
77359         * modules/mkdir-p: Renamed from modules/makepath.
77360         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
77361         makepath.c.
77362         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
77363         (Include): mkdir-p.h, not makepath.h.
77364
77365 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
77366
77367         Sync from coreutils.
77368         * m4/mkdir-p.m4: Renamed from makepath.m4.
77369         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
77370         Rename files from makepath.c to mkdir-p.c, and from
77371         makepath.h to mkdir-p.h.
77372         * m4/filenamecat.m4: Renamed from path-concat.m4.
77373         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
77374         Rename files from path-concat.c to filenamecat.c,
77375         and from path-concat.h to filenamecat.h.
77376         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
77377         "file name" in local variables or comments.
77378         * m4/rename.m4: Likewise.
77379
77380 2005-06-01  Bruno Haible  <bruno@clisp.org>
77381
77382         * modules/csharpexec: New file.
77383         * MODULES.html.sh (C#): New section.
77384
77385 2005-06-01  Bruno Haible  <bruno@clisp.org>
77386
77387         * m4/csharp.m4: New file, from GNU gettext.
77388         * m4/csharpexec.m4: New file, from GNU gettext.
77389
77390 2005-06-01  Bruno Haible  <bruno@clisp.org>
77391
77392         * lib/csharpexec.h: New file, from GNU gettext.
77393         * lib/csharpexec.c: New file, from GNU gettext.
77394         * lib/csharpexec.sh.in: New file, from GNU gettext.
77395
77396 2005-05-31  Derek Price  <derek@ximbiot.com>
77397             Paul Eggert  <eggert@cs.ucla.edu>
77398
77399         Sync from cvs.
77400         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
77401
77402 2005-05-31  Derek Price  <derek@ximbiot.com>
77403             Paul Eggert  <eggert@cs.ucla.edu>
77404
77405         Sync from cvs.
77406         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
77407
77408 2005-05-29  Derek Price  <derek@ximbiot.com>
77409
77410         * config/srclist.txt (glob_.h, glob.c): Add these files.
77411
77412 2005-05-29  Derek Price  <derek@ximbiot.com>
77413
77414         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
77415         * modules/glob: New file.
77416         * modules/getlogin_r: Add link to POSIX spec in description.
77417
77418 2005-05-29  Derek Price  <derek@ximbiot.com>
77419             Paul Eggert  <eggert@cs.ucla.edu>
77420
77421         * m4/glob.m4: New file.
77422
77423 2005-05-29  Derek Price  <derek@ximbiot.com>
77424             Paul Eggert  <eggert@cs.ucla.edu>
77425
77426         * lib/glob_.h, lib/glob.c: New files.
77427
77428 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
77429
77430         * modules/fts (Files): Remove m4/inttypes-pri.m4.
77431         * modules/fts-lgpl (Depends-on): Remove gettext.
77432
77433 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
77434
77435         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
77436         and don't require gt_INTTYPES_PRI.
77437
77438 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
77439
77440         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
77441
77442         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
77443         the configuration hassle isn't worth it.
77444         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
77445         (LONGEST_MODIFIER, PRIuMAX): Remove.
77446
77447 2005-05-27  Bruno Haible  <bruno@clisp.org>
77448
77449         * lib/getlogin_r.h: Remove second include of <stddef.h>.
77450
77451 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
77452
77453         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
77454         _POSIX_PTHREAD_SEMANTICS for Solaris.
77455
77456 2005-05-25  Derek Price  <derek@ximbiot.com>
77457
77458         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
77459
77460 2005-05-25  Derek Price  <derek@ximbiot.com>
77461             Paul Eggert  <eggert@cs.ucla.edu>
77462
77463         * modules/getlogin_r, m4/getlogin_r.m4: New files.
77464         * lib/getlogin_r.c, getlogin_r.h: New files.
77465
77466 2005-05-25  Bruno Haible  <bruno@clisp.org>
77467             Derek Price  <derek@ximbiot.com>
77468
77469         * lib/getlogin_r.h: Simplify API documentation.
77470
77471 2005-05-23  Derek Price  <derek@ximbiot.com>
77472
77473         * modules/minmax (Files): Add m4/minmax.m4.
77474         (configure.ac): Add gl_MINMAX.
77475
77476 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
77477
77478         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
77479         so that unistd-safer.h (GPL'ed code) need not be included.
77480
77481 2005-05-22  Bruno Haible  <bruno@clisp.org>
77482
77483         * m4/minmax.m4: New file.
77484         Based on a patch by Derek Price <derek@ximbiot.com>.
77485
77486 2005-05-22  Bruno Haible  <bruno@clisp.org>
77487
77488         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
77489         (INT64_MIN): Fix definition.
77490         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
77491
77492         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
77493         NEED_SIGNED_INT_TYPES.
77494
77495         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
77496         HAVE_SYSTEM_INTTYPES.
77497
77498 2005-05-22  Bruno Haible  <bruno@clisp.org>
77499
77500         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
77501         Also include <sys/param.h> if it defines MIN, MAX.
77502         Based on a patch by Derek Price <derek@ximbiot.com>.
77503
77504 2005-05-21  Jim Meyering  <jim@meyering.net>
77505
77506         * modules/fts (Files): Add m4/inttypes-pri.m4.
77507         (Depends-on): Add lstat and remove gettext.  Alphabetize.
77508
77509 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
77510
77511         New fts module.
77512         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
77513         (setup_dir, free_dir): New functions.
77514         (enter_dir, leave_dir): Define trivial
77515         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
77516         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
77517         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
77518         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
77519         Move to fts-cycle.c.
77520         (fts_open): Use setup_dir.
77521         (fts_close): Use free_dir.
77522         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
77523         This adds a label and some gotos, but the alternatives were messier.
77524         Check for memory allocation failure when entering a dir.
77525         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
77526         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
77527         (FTS): New member fts_cycle, that is a union that contains the
77528         old active_dir_ht and cycle_state.  All uses changed to mention
77529         fts_cycle.ht and fts_cycle.state.
77530         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
77531         fts.c, with the following changes:
77532         (setup_dir, free_dir): New functions.
77533         (enter_dir): Now returns bool.  Return true if successful, false
77534         if memory exhausted.  All callers changed.
77535         Do not bother partly cleaning up on
77536         memory allocation failure; that is free_dir's job.
77537         However, free ad if hash_insert fails, to avoid memory leak.
77538         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
77539         fts->fts_options to see which union member to use.
77540
77541 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
77542
77543         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
77544         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
77545
77546 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
77547
77548         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
77549
77550 2005-05-20  Jim Meyering  <jim@meyering.net>
77551
77552         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
77553         Now a macro, to pacify GCC.
77554
77555 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
77556
77557         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
77558         of -1.
77559
77560 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
77561
77562         * lib/chown.c (rpl_chown): Return -1 on failure.
77563
77564 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
77565
77566         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
77567         Don't check for stddef.h.
77568         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
77569         don't use its results.
77570         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
77571         since we include them unconditionally.  Don't require
77572         AM_STDBOOL_H, since stdbool is a prerequisite.
77573         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
77574         since we assume C89 or better.
77575         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
77576         as we don't use their results.
77577         Don't check for fchdir, memmove, memset, strrchr, as we use
77578         them unconditionally.
77579         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
77580         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
77581
77582 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
77583
77584         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
77585         Include <stddef.h> unconditionally, since we assume C89 now.
77586         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
77587         * lib/fts.c: Include fts_.h first, to check interface.
77588         Do not include intprops.h; no longer needed.
77589         Include cycle-check.h and hash.h, since fts_.h no longer does.
77590         Remove unnecessary casts of closedir to void.
77591         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
77592         decide whether to decrement nlinks.
77593         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
77594         (FTS): Use struct hash_table * instead of Hash_table, so that
77595         we no longer need to include hash.h here.
77596
77597 2005-05-18  Jim Meyering  <jim@meyering.net>
77598
77599         * modules/dirfd (License): Change to LGPL.  Most of the code
77600         is already in the public domain.
77601
77602 2005-05-18  Jim Meyering  <jim@meyering.net>
77603
77604         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
77605         Reported by Yoann Vandoorselaere.
77606
77607 2005-05-17  Jim Meyering  <jim@meyering.net>
77608
77609         * m4/fts.m4: New file, from coreutils.
77610
77611 2005-05-17  Jim Meyering  <jim@meyering.net>
77612
77613         * lib/fts.c, lib/fts_.h: New files, from coreutils.
77614
77615 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77616
77617         Sync from coreutils.
77618         * m4/unlinkdir.m4: New file.
77619
77620 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77621
77622         Sync from coreutils.
77623         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
77624         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
77625         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
77626         White space changes only.
77627         * lib/makepath.c (make_path): Port to hosts where leading "//" is
77628         special.
77629         * lib/yesno.c: Include getline.h, not ctype.h.
77630         (yesno): Don't remove leading white space; POSIX doesn't allow it.
77631         Use getline to remove arbitrary restriction on response length.
77632
77633 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77634
77635         * config/srclist-update: Spell out "Street" in FSF postal
77636         mail address; this is the style the FSF seems to prefer.
77637
77638         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
77639         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
77640         this updates FSF postal mail address.
77641
77642         Sync from coreutils.
77643         * modules/unlinkdir: New file.
77644         * modules/yesno (Depends-on): Add getline.
77645         * MODULES.html.sh (File system functions): Add unlinkdir.
77646
77647 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
77648
77649         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
77650         lib/strsep.h:
77651         Change the initial comment to refer to GPL, not LGPL.
77652         gnulib-tool will change it to LGPL as needed.
77653
77654         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
77655         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
77656         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
77657         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
77658         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
77659         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
77660         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
77661         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
77662         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
77663         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
77664         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
77665         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
77666         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
77667         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
77668         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
77669         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
77670         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
77671         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
77672         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
77673         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
77674         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
77675         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
77676         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
77677         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
77678         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
77679         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
77680         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
77681         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
77682         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
77683         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
77684         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
77685         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
77686         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
77687         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
77688         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
77689         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
77690         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
77691         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
77692         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
77693         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
77694         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
77695         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
77696         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
77697         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
77698         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
77699         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
77700         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
77701         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
77702         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
77703         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
77704         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
77705         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
77706         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
77707         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
77708         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
77709         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
77710         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
77711         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
77712         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
77713         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
77714         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
77715         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
77716         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
77717         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
77718         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
77719         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
77720         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
77721         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
77722         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
77723         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
77724         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
77725         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
77726         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
77727         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
77728         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
77729         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
77730         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
77731         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
77732         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
77733         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
77734         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
77735         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
77736         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
77737         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
77738         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
77739         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
77740         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
77741         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
77742         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
77743         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
77744         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
77745         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
77746         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
77747         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
77748         lib/yesno.c, lib/yesno.h:
77749         Update FSF postal mail address.
77750
77751 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
77752
77753         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
77754         tests/test-memmem.c, tests/test-stpncpy.c:
77755         Update FSF postal mail address.
77756
77757 2005-05-13  Bruno Haible  <bruno@clisp.org>
77758
77759         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
77760         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
77761         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
77762         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
77763         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
77764         Add support for 64-bit integers in the MSVC compiler.
77765
77766 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77767
77768         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
77769
77770 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
77771
77772         * gnulib-tool (func_import): Sort and uniquify recommended includes.
77773
77774 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
77775
77776         * doc/getdate.texi (General date syntax): Don't say that date
77777         date --iso-8601=ns generates acceptable dates; it doesn't yet.
77778         Problem reported by Nic Ferrier.
77779
77780 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77781
77782         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
77783         specified in ai_socktype. Fix invalid ai_protocol
77784         check. ai_protocol is usually set to 0 or depending on
77785         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
77786         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
77787         ai_socktype / ai_protocol in the returned addrinfo structure.
77788
77789 2005-05-10  Simon Josefsson  <jas@extundo.com>
77790
77791         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
77792         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77793
77794 2005-05-10  Karl Berry  <karl@gnu.org>
77795
77796         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
77797         (from http://www.gnu.org/licenses).
77798         * doc/COPYING.LIB: also rename to COPYING.LESSER.
77799         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
77800         fdl.texi suffices.
77801
77802 2005-05-10  Karl Berry  <karl@gnu.org>
77803
77804         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
77805         (COPYING.DOC): remove.
77806
77807         * config/srclist-update: new FSF address.
77808
77809 2005-05-10  Derek Price  <derek@ximbiot.com>
77810
77811         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
77812         possible.
77813
77814 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77815             Bruno Haible  <bruno@clisp.org>
77816
77817         * modules/inet_ntop: New file.
77818         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77819         inet_ntop.
77820
77821 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77822             Bruno Haible  <bruno@clisp.org>
77823
77824         * m4/inet_ntop.m4: New file.
77825
77826 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77827             Bruno Haible  <bruno@clisp.org>
77828
77829         * lib/inet_ntop.h: New file.
77830         * lib/inet_ntop.c: New file, from glibc with modifications.
77831
77832 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
77833
77834         * modules/time_r (License): Change to LGPL.
77835         * modules/extensions (License): Change to LGPL.  Actually,
77836         the license is more permissive than that, but currently gnulib-tool
77837         doesn't know how to handle more-permissive licenses.
77838
77839         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
77840         Problem reported by Dave Love.
77841
77842 2005-05-08  Jim Meyering  <jim@meyering.net>
77843
77844         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
77845         blank.
77846
77847 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
77848
77849         * modules/argmatch (Depends-on): Add stdbool.
77850         * modules/backupfile (Depends-on): Likewise.
77851         * modules/chdir-long (Depends-on): Likewise.
77852         * modules/closeout (Depends-on): Likewise.
77853         * modules/cycle-check (Depends-on): Likewise.
77854         * modules/dirname (Depends-on): Likewise.
77855         * modules/fnmatch (Depends-on): Likewise.
77856         * modules/fsusage (Depends-on): Likewise.
77857         * modules/fwriteerror (Depends-on): Likewise.
77858         * modules/getcwd (Depends-on): Likewise.
77859         * modules/getloadavg (Depends-on): Likewise.
77860         * modules/hard-locale (Depends-on): Likewise.
77861         * modules/makepath (Depends-on): Likewise.
77862         * modules/mountlist (Depends-on): Likewise.
77863         * modules/nanosleep (Depends-on): Likewise.
77864         * modules/posixtm (Depends-on): Likewise.
77865         * modules/quotearg (Depends-on): Likewise.
77866         * modules/readtokens (Depends-on): Likewise.
77867         * modules/readtokens0 (Depends-on): Likewise.
77868         * modules/readutmp (Depends-on): Likewise.
77869         * modules/save-cwd (Depends-on): Likewise.
77870         * modules/strftime (Depends-on): Likewise.
77871         * modules/userspec (Depends-on): Likewise.
77872         * modules/utimecmp (Depends-on): Likewise.
77873         * modules/xgetcwd (Depends-on): Likewise.
77874         * modules/xnanosleep (Depends-on): Likewise.
77875         * modules/xstrtod (Depends-on): Likewise.
77876         * modules/yesno (Depends-on): Likewise.
77877
77878 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
77879
77880         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
77881         needless checks.
77882
77883 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77884
77885         Merge from coreutils.  Among other things,
77886         add bulletproofing for cases where stdin, stdout, or stderr are closed.
77887         * lib/fd-safer.c: New file.
77888         * lib/fcntl-safer.h, open-safer.c: Remove.
77889         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
77890         * lib/dup-safer.c: Include unistd-safer.h first.
77891         Don't include errno.h.
77892         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
77893         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
77894         * lib/file-type.c: Rely on file-type.h change.
77895         * lib/getloadavg.c: Include unistd-safer.h.
77896         (getloadavg): Use safer open.
77897         * lib/getusershell.c: Include "stdio-safer.h".
77898         (getusershell): Use safer fopen.
77899         * lib/long-options.c (long_options): Use NULL rather than 0.
77900         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
77901         'free'.
77902         * lib/modechange.c: Likewise.
77903         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
77904         (MODE_DONE): New constant.
77905         (struct mode_change): Remove 'next' member.
77906         (make_node_op_equals): New function; like the old one of the
77907         same name, except it allocates an array.
77908         (mode_compile, mode_create_from_ref): Use it.
77909         (mode_compile): Allocate result as an array, not a linked list.
77910         Parse octal string ourself, so that we catch mistakes like "+0".
77911         (mode_adjust): Arg is an array, not a linked list.
77912         * lib/modechange.c: Include stat-macros.h, xalloc.h.
77913         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
77914         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
77915         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
77916         Remove.  This is now stat-macros.h's job.
77917         (talloc): Remove.  All callers replaced by xalloc, so that
77918         our invokers don't have to worry about reporting memory failures.
77919         (make_node_op_equals): Remove.
77920         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77921         New constants.
77922         (struct mode_change): Moved here from modechange.h.
77923         (mode_append_entry): Remove.
77924         (mode_compile): Remove MASKED_OPS arg, since it encouraged
77925         apps to have incorrect behavior.  Use simpler algorithm for head
77926         and tail.  Don't futz with umask; that's now the job of mode_adjust.
77927         Detect more invalid usages rather than having somewhat-random behavior.
77928         Don't insert an "a=" action, as that leads to incorrect behavior.
77929         (mode_compile, mode_create_from_ref): Return NULL on error instead
77930         of an enum, since now there's only one way to have an error.  All
77931         callers changed.
77932         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
77933         at the correct time.  Simplify calculation of "+u" and its ilk.
77934         Don't mishandle "+X".
77935         (mode_free): Remove "register" and localize decls.
77936         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77937         (struct mode_change): Move to modechange.c; callers don't
77938         need to see this stuff.
77939         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
77940         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
77941         (mode_change, mode_adjust): Reflect the new signatures noted above.
77942         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
77943         that might redefine system include files.
77944         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
77945         (my_usleep): Use NULL rather than (void *) 0.
77946         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
77947         Use siginterrupt to specify that system calls should be interrupted.
77948         (rpl_nanosleep): Move initialization of suspended closer to call of
77949         my_usleep.
77950         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
77951         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
77952         (desirable_utmp_entry): New function.
77953         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
77954         using x2nrealloc, to simplify logic.
77955         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
77956         size calculation.  Do not assume utmp file is a regular file.
77957         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
77958         (READ_UTMP_CHECK_PIDS): New constant.
77959         * lib/save-cwd.c: Include unistd-safer.h.
77960         (save_cwd): Use fd_safer.
77961         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
77962         [!_LIBC] Include "stat-macros.h" instead.
77963         * lib/unistd-safer.h (fd_safer): New decl.
77964
77965 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77966
77967         * modules/getloadavg (Depends-on): Add unistd-safer.
77968         * modules/getusershell (Depends-on): Add stdio-safer.
77969         * modules/lstat (Depends-on): Remove xalloc.
77970         * modules/mkstemp (Depends-on): Add stat-macros.
77971         * modules/modechange (Depends-on): Remove xstrtol.
77972         Add stat-macros, xalloc.
77973         * modules/save-cwd (Depends-on): Add unistd-safer.
77974         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
77975         * modules/unistd-safer (Files): Add lib/fd-safer.c
77976         (Makefile.am): Remove lib_SOURCES.
77977
77978         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
77979         Remove fcntl-safer; unistd-safer supersedes it.
77980
77981 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77982
77983         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
77984         AC_HEADER_STAT.
77985         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
77986         (gl_PREREQ_CHOWN): Remove.
77987         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
77988         it.  Don't require AC_HEADER_STAT.
77989         (gl_PREREQ_LSTAT): Remove.
77990         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
77991         Don't require AC_HEADER_STAT.
77992         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
77993         (gl_PREREQ_RMDIR): Remove.
77994         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
77995         mention stat-macros.h or AC_HEADER_STAT, since we'll make
77996         the stat-macros module a prerequisite.
77997         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
77998         * m4/filemode.m4 (gl_FILEMODE): Likewise.
77999         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
78000         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
78001         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
78002         variable names.
78003         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
78004         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
78005         variable prefixes.
78006         * m4/fcntl-safer.m4: Remove.
78007         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
78008         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
78009         Invoke gl_PREREQ_FD_SAFER.
78010         (gl_PREREQ_FD_SAFER): New macro.
78011         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
78012         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
78013         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
78014         Remove duplicate call to AC_LIBOBJ(readutmp).
78015         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
78016
78017         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
78018         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
78019
78020 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
78021
78022         * MODULES.html.sh (Misc): Add byteswap.
78023
78024 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
78025
78026         * modules/getcwd (Depends-on): Add extensions.
78027         * modules/openat (Depends-on): Likewise.
78028
78029 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
78030
78031         * modules/byteswap: New file.
78032
78033 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
78034
78035         * m4/byteswap.m4: New file.
78036
78037 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
78038
78039         * lib/byteswap_.h: New file.
78040
78041 2005-04-25  Karl Berry  <karl@gnu.org>
78042
78043         * m4/gettext.m4: Update from GNU gettext 0.14.4.
78044
78045 2005-04-25  Albert Chin  <china@thewrittenword.com>
78046
78047         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
78048         Toolkit C bug.
78049
78050 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
78051
78052         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
78053         (func_ln_if_changed): Remove forcibly for no error message
78054         in case file does not exist.
78055
78056 2005-04-19  Simon Josefsson  <jas@extundo.com>
78057
78058         * gnulib-tool (Options): Make --symlink mean --symbolic.
78059
78060 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
78061
78062         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
78063
78064 2005-04-16  Simon Josefsson  <jas@extundo.com>
78065
78066         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
78067
78068 2005-04-15  Simon Josefsson  <jas@extundo.com>
78069
78070         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
78071
78072 2005-04-15  Simon Josefsson  <jas@extundo.com>
78073
78074         * gnulib-tool: Rename --symlink to --symbolic.
78075
78076 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
78077
78078         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
78079         symbolic links to files instead of copying/moving.  Add --aux-dir,
78080         specifying directory relative --dir where auxiliary build tools
78081         are placed.
78082
78083 2005-04-14  Bruno Haible  <bruno@clisp.org>
78084
78085         * modules/allocsa (License): Change to LGPL.
78086         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
78087
78088 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
78089
78090         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
78091         that "UTC +1 second" continues to work.  Problem reported
78092         by Dmitry V. Levin.
78093         (relunit_snumber): New rule.
78094         (relunit): Use it.
78095
78096 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
78097
78098         * lib/getdate.y (universal_time_zone_table): New constant.
78099         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
78100         universal_time_zone_table.
78101         (lookup_zone): Prefer universal_time_zone_table to
78102         local_time_zone_table, so that "GMT" time stamps are allowed in
78103         London during the summer.  Problem reported by Ian Abbott.
78104
78105 2005-04-12  Jim Meyering  <jim@meyering.net>
78106
78107         * lib/human.c (humblock): Set *options even when returning due to
78108         xstrtoumax conversion failure.  Thanks to a used-uninitialized
78109         warning from gcc-4.
78110
78111 2005-04-09  Jim Meyering  <jim@meyering.net>
78112
78113         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
78114         -Wuninitialized: initialize tm0.tm_year.
78115
78116 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
78117
78118         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
78119         count, since there's no maximum.  All uses changed.
78120         Add member dsts_seen.
78121         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
78122         not being INT_MAX.
78123         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
78124         Use pc_rels_seen to decide whther a date is absolute.
78125
78126         * lib/getdate.y (number): Don't overwrite year.
78127         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
78128         check.
78129
78130 2005-04-02  Simon Josefsson  <jas@extundo.com>
78131
78132         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
78133         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
78134
78135 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
78136
78137         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
78138         where no absolute path name can be longer than PATH_MAX.
78139
78140 2005-03-27  Jim Meyering  <jim@meyering.net>
78141
78142         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
78143
78144 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
78145
78146         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
78147         "one's complement" -> "ones' complement" in comment, as per Knuth.
78148         "value of type" -> "type or expression" in comment.
78149         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
78150
78151 2005-03-26  Jim Meyering  <jim@meyering.net>
78152
78153         Comment nits.
78154         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
78155         Correct typos: s/or/of/.
78156
78157 2005-03-26  Jim Meyering  <jim@meyering.net>
78158
78159         * modules/check-include-files: Move to ../ and rename to...
78160         * check-module: ...this.
78161
78162 2005-03-25  Jim Meyering  <jim@meyering.net>
78163
78164         * modules/xvasprintf (Files): Add xalloc.h.
78165
78166 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
78167
78168         * modules/gettext (Files): config/config.rpath ->
78169         build-aux/config.rpath
78170         * modules/iconv (Files): Likewise.
78171         Problem reported by Oskar Liljeblad.
78172
78173 2005-03-23  Jim Meyering  <jim@meyering.net>
78174
78175         * modules/check-include-files: New script to check for
78176         missing dependencies, multiple includes, etc.
78177
78178         * modules/c-strtold (Depends-on): Add xalloc.
78179         * modules/c-strtod (Depends-on): Add xalloc.
78180         * modules/hash (Depends-on): Add xalloc.
78181         (Files): Remove lib/xalloc.h.
78182
78183         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
78184         * modules/userspec (Files): Add lib/inttostr.h.
78185
78186 2005-03-23  Jim Meyering  <jim@meyering.net>
78187
78188         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
78189
78190 2005-03-22  Jim Meyering  <jim@meyering.net>
78191
78192         * modules/stat-macros: New module.
78193         * modules/canonicalize, modules/euidaccess, modules/file-type,
78194         * modules/filemode, modules/lchown, modules/makepath,
78195         * modules/rmdir, modules/stat: Depend on new stat-macros module
78196         rather than listing lib/stat-macros.h manually.
78197         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
78198
78199 2005-03-22  Jim Meyering  <jim@meyering.net>
78200
78201         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
78202
78203 2005-03-22  Bruno Haible  <bruno@clisp.org>
78204
78205         * config/srclist.txt: Replace target directory 'config' with
78206         'build-aux'.
78207         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
78208         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
78209         ../build-aux/.
78210
78211 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
78212
78213         * modules/chdir-long (Depends-on): Add mempcpy.
78214
78215         * modules/acl, modules/backupfile, modules/c-strtod,
78216         modules/c-strtold, modules/canon-host, modules/canonicalize,
78217         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
78218         modules/exclude, modules/exitfail, modules/file-type,
78219         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
78220         modules/getdate, modules/getline, modules/getpagesize,
78221         modules/getpass, modules/getugroups, modules/group-member,
78222         modules/hard-locale, modules/hash, modules/human, modules/idcache,
78223         modules/inttostr, modules/long-options, modules/makepath,
78224         modules/md5, modules/memcasecmp, modules/memcoll,
78225         modules/modechange, modules/mountlist, modules/path-concat,
78226         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
78227         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
78228         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
78229         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
78230         modules/strftime, modules/strndup, modules/strverscmp,
78231         modules/timespec, modules/unlocked-io, modules/userspec,
78232         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
78233         modules/yesno:
78234         Remove lib_SOURCES line from Makefile.am section, as this is now
78235         done automatically by the corresponding Autoconf macro.
78236
78237 2005-03-21  Jim Meyering  <jim@meyering.net>
78238
78239         Changes imported from coreutils.
78240
78241         * lib/cycle-check.c: Don't include xalloc.h.
78242
78243         * lib/path-concat.c: Don't include assert.h.
78244         (path_concat): Remove assertion that would have triggered
78245         for ABASE starting with more than one slash.
78246         Reported by Andreas Schwab.
78247
78248         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
78249         properly when ABASE is an absolute file name.
78250         Correct the description of this function.
78251         Include <assert.h>.
78252         Add an assertion and a test driver.
78253         This fixes a bug introduced on 2004-07-02.
78254         Andreas Schwab reported the resulting failure of cp --parents:
78255         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
78256
78257 2005-03-21  Jim Meyering  <jim@meyering.net>
78258
78259         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
78260         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
78261
78262 2005-03-21  Jim Meyering  <jim@meyering.net>
78263         and  Paul Eggert  <eggert@cs.ucla.edu>
78264
78265         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
78266         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
78267         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
78268         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
78269         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
78270         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
78271         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
78272         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
78273         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
78274         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
78275         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
78276         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
78277         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
78278         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
78279         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
78280         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
78281         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
78282         for these modules.
78283
78284 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
78285
78286         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
78287         (which shouldn't happen), generate nothing instead of returning 0
78288         immediately, so that nstrftime (NULL, ...) doesn't return 0.
78289
78290 2005-03-16  Bruno Haible  <bruno@clisp.org>
78291
78292         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
78293         HAVE_LONGLONG_64BIT.
78294
78295 2005-03-16  Bruno Haible  <bruno@clisp.org>
78296
78297         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
78298         HAVE_LONGLONG_64BIT.
78299
78300 2005-03-16  Bruno Haible  <bruno@clisp.org>
78301
78302         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
78303         HAVE_LONGLONG_64BIT.
78304
78305 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
78306
78307         * lib/strftime.c (my_strftime): Prepend space to format so that we can
78308         reliably distinguish strftime failure from empty output on POSIX
78309         hosts.
78310
78311 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
78312
78313         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
78314         (iconv_string): Don't guess a size-zero buffer, as that might cause
78315         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
78316         result would be 'too large', where 'too large' is (heuristically)
78317         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
78318         overflow concerns.  This will prevent some unwanted malloc failures
78319         when the inputs are very large.
78320
78321 2005-03-15  Karl Berry  <karl@gnu.org>
78322
78323         * config/srclist.txt (config.rpath): from gettext.
78324         * config/config.rpath: update.
78325
78326 2005-03-15  Bruno Haible  <bruno@clisp.org>
78327
78328         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
78329         to 'negate'.
78330
78331         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
78332         variable.
78333
78334         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
78335         results.
78336
78337 2005-03-14  Simon Josefsson  <jas@extundo.com>
78338
78339         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
78340         <fx@gnu.org>.
78341
78342 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
78343
78344         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
78345         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
78346         intprops.h.
78347         * lib/strtol.c: Likewise.
78348
78349 2005-03-14  Jim Meyering  <jim@meyering.net>
78350
78351         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
78352         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
78353         to be nonzero so that we (and caller) can detect the difference
78354         between a valid zero-length expansion and an error return, even
78355         when the underlying strftime fails before writing anything into
78356         that location.
78357
78358 2005-03-14  Bruno Haible  <bruno@clisp.org>
78359
78360         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
78361         Update from GNU gettext 0.14.3.
78362
78363 2005-03-10  Jim Meyering  <jim@meyering.net>
78364
78365         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
78366
78367 2005-03-10  Jim Meyering  <jim@meyering.net>
78368
78369         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
78370         so that this module works on systems without fchdir.
78371
78372 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
78373
78374         Factor int-properties macros into a single file, except for
78375         glibc-related files.
78376         * lib/intprops.h: New file.
78377         * lib/getloadavg.c: Include it instead of limits.h.
78378         (INT_STRLEN_BOUND): Remove.
78379         * lib/human.c: Include intprops.h.
78380         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
78381         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
78382         302/1000.
78383         * lib/inttostr.h: Include intprops.h instead of limits.h.
78384         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
78385         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
78386         for consistency with intprops.h.
78387         (time_t_is_integer, twos_complement_arithmetic): Use them.
78388         * lib/sig2str.h: Include <signal.h>, intprops.h.
78389         (INT_STRLEN_BOUND): Remove.
78390         * lib/strftime.c (TYPE_SIGNED): Remove.
78391         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
78392         * lib/strtol.c: Adjust comments to match intprops.h.
78393         * lib/userspec.c: Include intprops.h.
78394         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
78395         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
78396         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
78397         instead of rolling our own expressions.
78398         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
78399
78400         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
78401         instead of int.
78402         (my_strftime): Do not mishandle years close to INT_MAX, by doing
78403         the right thing even if adding 1900 would overflow.  Similarly
78404         for tm_mon + 1 and tm_yday + 1.
78405         Make %Y always equivalent to %C%y, and similarly for %G and %g.
78406         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
78407         (DO_SIGNED_NUMBER): New macro.
78408         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
78409
78410 2005-03-07  Bruno Haible  <bruno@clisp.org>
78411
78412         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
78413
78414 2005-03-07  Bruno Haible  <bruno@clisp.org>
78415
78416         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
78417
78418 2005-03-04  Derek R. Price  <derek@ximbiot.com>
78419
78420         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
78421         (func_import): Only replace files via --import when they have actually
78422         changed.
78423
78424 2005-03-03  Derek R. Price  <derek@ximbiot.com>
78425
78426         * m4/mmap-anon.m4: New file.
78427         * m4/pagealign_alloc.m4: New file.
78428
78429 2005-03-03  Derek R. Price  <derek@ximbiot.com>
78430             Bruno Haible  <bruno@clisp.org>
78431
78432         * modules/pagealign_alloc: New file.
78433         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
78434
78435 2005-03-03  Derek R. Price  <derek@ximbiot.com>
78436             Bruno Haible  <bruno@clisp.org>
78437
78438         * lib/pagealign_alloc.h: New file.
78439         * lib/pagealign_alloc.c: New file.
78440
78441 2005-03-03  Bruno Haible  <bruno@clisp.org>
78442
78443         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
78444         Use an all-permissive copyright notice, recommended by RMS.
78445
78446 2005-03-02  Bruno Haible  <bruno@clisp.org>
78447
78448         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
78449         of AIX, the replacement has to be done only after <string.h> is
78450         included, therefore not in config.h. stpncpy.h does the replacement,
78451         and stpncpy.c uses it.
78452
78453 2005-03-02  Bruno Haible  <bruno@clisp.org>
78454
78455         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
78456         stpncpy.c uses it.
78457
78458 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78459
78460         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
78461         The workaround isn't strictly needed for POSIX conformance, and
78462         it's too much of a pain to configure and maintain.  We'll ask
78463         people to fix their kernels instead.
78464         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
78465         (NANOSLEEP_BUG_WORKAROUND): Remove.
78466         (xnanosleep): Remove the workaround.
78467
78468 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78469
78470         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
78471         Reported by Derek Price.
78472         (Include): Add "timespec.h".
78473
78474         * modules/xnanosleep (Depends-on): Remove gethrxtime.
78475
78476 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78477
78478         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
78479         to detect nanosleep bug.
78480
78481 2005-03-01  Bruno Haible  <bruno@clisp.org>
78482
78483         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
78484
78485 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78486
78487         * modules/gethrxtime: New file.
78488         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
78489         (Depends-on): Add gethrxtime.
78490         (configure.ac): Add gl_XNANOSLEEP.
78491         (Makefile.am): Remove lib_SOURCES line.
78492
78493 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
78494
78495         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
78496         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
78497
78498 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
78499
78500         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
78501         * lib/timespec.h (gettime): Return void, since it always
78502         succeeds now.  All uses changed.
78503         * lib/gettime.c (gettime): Likewise.
78504         [HAVE_NANOTIME]: Prefer nanotime.
78505         Assume gettimeofday succeeds, as POSIX requires.
78506         Assime time () succeeds, since other code already does.
78507         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
78508         (timespec_subtract): Remove.
78509         (NANOSLEEP_BUG_WORKAROUND): New constant.
78510         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
78511         things considerably.  Use it only on GNU/Linux hosts, since the
78512         workaround shouldn't be needed elsewhere.
78513
78514 2005-02-24  Bruno Haible  <bruno@clisp.org>
78515
78516         * modules/gettext (Files): Add m4/glibc2.m4.
78517
78518 2005-02-24  Bruno Haible  <bruno@clisp.org>
78519
78520         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
78521         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
78522         * m4/progtest.m4:
78523         Update from GNU gettext 0.14.2.
78524         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
78525
78526 2005-02-24  Bruno Haible  <bruno@clisp.org>
78527
78528         * lib/localcharset.c: Update from GNU gettext 0.14.2.
78529         * lib/config.charset: Update from GNU gettext 0.14.2.
78530
78531 2005-02-24  Bruno Haible  <bruno@clisp.org>
78532
78533         * lib/gettext.h: Update from GNU gettext 0.14.2.
78534
78535 2005-02-23  Simon Josefsson  <jas@extundo.com>
78536
78537         * m4/iconvme.m4: New file.
78538
78539 2005-02-23  Jim Meyering  <jim@meyering.net>
78540
78541         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
78542         change.
78543         Thanks to Bruno Haible for catching it.
78544
78545 2005-02-22  Simon Josefsson  <jas@extundo.com>
78546
78547         * modules/iconvme: New file.
78548
78549         * MODULES.html.sh: Add iconvme.
78550
78551 2005-02-22  Simon Josefsson  <jas@extundo.com>
78552
78553         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
78554
78555 2005-02-22  Simon Josefsson  <jas@extundo.com>
78556
78557         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
78558
78559 2005-02-22  Jim Meyering  <jim@meyering.net>
78560
78561         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
78562         s/ifndef/ifdef/.
78563
78564 2005-02-20  Neil Conway  <neilc@samurai.com>
78565
78566         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
78567         returned by OSX/Darwin if the specified buffer is not large
78568         enough for the hostname.
78569
78570 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78571
78572         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
78573         pass it to _help, otherwise the latter coredumps trying to
78574         dereference state.root_argp.
78575
78576 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78577
78578         * modules/chdir-long (Depends-on): Add memrchr.
78579         * modules/memrchr (Files): Add lib/memrchr.h.
78580         (Include): "memrchr.h".
78581
78582 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78583
78584         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
78585
78586 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78587
78588         * lib/memrchr.h: New file.
78589         * lib/chdir-long.c: Include it.
78590         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
78591         Don't bother including stddef.h.
78592
78593 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
78594
78595         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
78596         inclusion.
78597         Include <sys/types.h>, for dev_t.
78598         (ME_DUMMY, ME_REMOTE): Move from here....
78599         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
78600         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
78601         Dmitry V. Levin.
78602         Include mountlist.h first, to test the interface.
78603
78604 2005-01-29  Bruno Haible  <bruno@clisp.org>
78605
78606         * lib/progname.c (program_name): Initialize.
78607         Needed when linking statically on MacOS X.
78608
78609 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
78610
78611         Sync from coreutils.
78612         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
78613         (Depends-on): Add c-strtod.
78614         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
78615
78616 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
78617
78618         Sync from coreutils.
78619         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
78620
78621         Remove files that are specific to coreutils.
78622         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
78623
78624 2005-01-28  Bruno Haible  <bruno@clisp.org>
78625
78626         * modules/javacomp: New file.
78627         * MODULES.html.sh (Java): Add javacomp.
78628
78629 2005-01-28  Bruno Haible  <bruno@clisp.org>
78630
78631         * m4/javacomp.m4: New file, from GNU gettext.
78632
78633 2005-01-28  Bruno Haible  <bruno@clisp.org>
78634
78635         * lib/javacomp.sh.in: New file, from GNU gettext.
78636         * lib/javacomp.h: New file, from GNU gettext.
78637         * lib/javacomp.c: New file, from GNU gettext.
78638
78639 2005-01-26  Simon Josefsson  <jas@extundo.com>
78640
78641         * lib/gai_strerror.c: Use GPL in header.
78642
78643 2005-01-26  Bruno Haible  <bruno@clisp.org>
78644
78645         * modules/javaexec: New file.
78646         * MODULES.html.sh (Java): Add javaexec.
78647
78648 2005-01-26  Bruno Haible  <bruno@clisp.org>
78649
78650         * m4/javaexec.m4: New file, from GNU gettext.
78651
78652 2005-01-26  Bruno Haible  <bruno@clisp.org>
78653
78654         * lib/javaexec.sh.in: New file, from GNU gettext.
78655         * lib/javaexec.h: New file, from GNU gettext.
78656         * lib/javaexec.c: New file, from GNU gettext.
78657
78658 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78659
78660         * modules/lchown (Depends-on): Remove lchown.h
78661
78662 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78663
78664         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
78665         must be defined if the header file was not found, in order
78666         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
78667
78668 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78669
78670         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
78671         initializers for struct pentry_state.
78672         (__argp_error): Check return value of __asprintf
78673         (__argp_failure): Translate error message
78674
78675         * lib/argp-parse.c: Removed braces around the expansion of N_()
78676
78677 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78678
78679         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
78680         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
78681         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
78682         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
78683         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
78684         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
78685         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
78686         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
78687         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
78688         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
78689         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
78690         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
78691         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
78692         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
78693         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
78694         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
78695         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
78696         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
78697         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
78698         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
78699         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
78700         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
78701         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
78702         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
78703         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
78704         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
78705         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
78706         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
78707         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
78708         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
78709         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
78710         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
78711         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
78712         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
78713         xstrtol.m4, xstrtoumax.m4, yesno.m4:
78714         Use an all-permissive copyright notice, recommended by RMS.
78715
78716 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
78717
78718         * modules/chdir-long (Depends-on): Remove mempcpy.
78719
78720 2005-01-21  Jim Meyering  <jim@meyering.net>
78721
78722         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
78723         same value as for Solaris 9.
78724
78725         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
78726         component length.  This included changing the parameter to be
78727         of type `char *' rather than `char const *'.
78728         * lib/chdir-long.h (chdir_long): Update prototype.
78729
78730         * lib/openat.c (fdopendir, fstatat): New functions.
78731         * lib/openat.h: Include headers required for use of DIR and struct
78732         stat.
78733         [AT_SYMLINK_NOFOLLOW]: Define.
78734         (fdopendir, fstatat): Add prototypes.
78735
78736 2005-01-21  Bruno Haible  <bruno@clisp.org>
78737
78738         * modules/classpath: New file.
78739         * MODULES.html.sh (Java): Add classpath.
78740
78741 2005-01-21  Bruno Haible  <bruno@clisp.org>
78742
78743         * lib/classpath.h: New file, from GNU gettext.
78744         * lib/classpath.c: New file, from GNU gettext.
78745
78746 2005-01-20  Simon Josefsson  <jas@extundo.com>
78747
78748         * modules/version-etc-fsf: New file.
78749
78750 2005-01-20  Simon Josefsson  <jas@extundo.com>
78751
78752         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
78753         * lib/version-etc.c: Remove version_etc_copyright.
78754         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
78755         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
78756
78757 2005-01-20  Simon Josefsson  <jas@extundo.com>
78758
78759         * lib/base64.h (isbase64): Add.
78760
78761         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
78762         using a unsigned prototype, don't inline.
78763         (base64_decode): Use it.
78764
78765 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78766
78767         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
78768         it.
78769
78770 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78771
78772         * lib/save-cwd.c (save_cwd): Remove code to support the case
78773         where fchdir is missing or flaky.
78774
78775 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78776
78777         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
78778
78779 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
78780
78781         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
78782         AC_LIBSOURCES now does this.
78783         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
78784         with new ullong_max module.
78785
78786 2005-01-19  Bruno Haible  <bruno@clisp.org>
78787
78788         * modules/sh-quote: New file.
78789         * MODULES.html.sh (Executing programs): Add sh-quote.
78790
78791 2005-01-19  Bruno Haible  <bruno@clisp.org>
78792
78793         * lib/sh-quote.h: New file, from GNU gettext.
78794         * lib/sh-quote.c: New file, from GNU gettext.
78795
78796 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78797
78798         Merge from coreutils.
78799         * m4/ullong_max.m4: New file.
78800         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
78801         (gl_MACROS): Assume localeconv exists.
78802
78803 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78804
78805         Merge changes from coreutils, as described below in several
78806         changelogs dated today.
78807
78808         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
78809         (O_DIRECTORY): Remove; not needed here, since "." must be
78810         a directory.  All uses removed.
78811         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
78812         universal on Suns, and we also need to test for IRIX.
78813         Revamp code to use 'if' rather than '#if'.
78814         Avoid unnecessary comparison of cwd->desc to 0.
78815
78816         * lib/utimens.c (futimens): Robustify the previous patch, by checking
78817         for known valid error numbers rather than observed invalid ones.
78818
78819 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78820
78821         * modules/ullong_max: New file.
78822
78823         * modules/chdir-long, modules/openat: New files.
78824         * modules/save-cwd (Depends-on): Depend on chdir-long.
78825         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
78826
78827 2005-01-18  Jim Meyering  <jim@meyering.net>
78828
78829         Merge from coreutils.
78830         * m4/chdir-long.m4, m4/openat.m4: New files.
78831         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
78832         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
78833         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
78834         is sane and DOES follow symlinks.  Besides, testing 20 different
78835         systems found no broken chown implementations.
78836         Prompted by a change in rsync's copy of this macro.
78837         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
78838
78839         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
78840
78841         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
78842         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
78843         NULL-means-set-to-current-time semantics.
78844         Remove temporary file immediately, rather than waiting
78845         for configure's at-exit trap code to do it.
78846
78847 2005-01-18  Jim Meyering  <jim@meyering.net>
78848
78849         * lib/version-etc.c (version_etc_copyright): Update copyright date.
78850
78851         * lib/utimens.c (futimens): Account for the fact that futimes
78852         can also fail with errno == ENOSYS or errno == ENOENT.
78853         Patch from Dmitry V. Levin.
78854
78855         Change the name of the robust chdir function from chdir to chdir_long.
78856         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
78857         (restore_cwd): Use chdir_long, not chdir.
78858         * lib/chdir-long.c: Renamed from chdir.c.
78859         * lib/chdir-long.h: Renamed from chdir.h.
78860         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
78861         Hurd.
78862
78863 2005-01-18  Bruno Haible  <bruno@clisp.org>
78864
78865         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
78866         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
78867         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
78868         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
78869         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
78870         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
78871         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
78872         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
78873         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
78874         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
78875         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
78876         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
78877         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
78878         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
78879         Use an all-permissive copyright notice, recommended by RMS.
78880
78881 2005-01-18  Bob Proulx  <bob@proulx.com>
78882
78883         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
78884         simplify offsetof() macro construct to avoid compile failure with
78885         native HP-UX 11.0 ANSI C compiler.
78886
78887 2005-01-17  Bruno Haible  <bruno@clisp.org>
78888
78889         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
78890         redundant because stpncpy.m4 takes care of it.
78891
78892 2005-01-17  Bruno Haible  <bruno@clisp.org>
78893
78894         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
78895
78896 2005-01-17  Bruno Haible  <bruno@clisp.org>
78897
78898         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
78899         used.
78900
78901 2005-01-17  Bruno Haible  <bruno@clisp.org>
78902
78903         * lib/fwriteerror.h (fwriteerror): Change specification to include
78904         fclose.
78905         * lib/fwriteerror.c: Include <stdbool.h>.
78906         (fwriteerror): At the end, close the file stream. Record whether
78907         stdout was already closed.
78908
78909 2005-01-17  Bruno Haible  <bruno@clisp.org>
78910
78911         * lib/execute.c (environ): Declare if needed.
78912         * lib/pipe.c (environ): Likewise.
78913         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
78914
78915 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78916
78917         * modules/argp: Depend on vsnprintf
78918
78919 2005-01-10  Jim Meyering  <jim@meyering.net>
78920
78921         * modules/closeout (Depends-on): Add atexit.
78922
78923 2005-01-06  Bruno Haible  <bruno@clisp.org>
78924
78925         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
78926
78927 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78928
78929         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
78930         definitions to be after all include files, to avoid collisions.
78931         Problem reported by Bob Proulx.
78932
78933 2005-01-04  Jim Meyering  <jim@meyering.net>
78934
78935         Changes imported from coreutils.
78936         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
78937         as the mkstemp template, use a temporary directory and an
78938         8.3-friendly template to avoid trouble on systems like DJGPP.
78939         Reported by Juan M. Guerrero via Stepan Kasal.
78940         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
78941         close. Remove the temporary directory right away, rather than waiting
78942         for configure's at-exit trap code to do it.
78943         Suggestion from Stepan Kasal.
78944
78945 2005-01-01  Simon Josefsson  <jas@extundo.com>
78946
78947         * gnulib-tool: Print #include directives when --import'ing.
78948
78949 2004-12-28  Simon Josefsson  <jas@extundo.com>
78950
78951         * tests/test-base64.c: Include required header files.  Remove
78952         unused variables.
78953
78954 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78955
78956         * modules/error (Depends-on): Remove gettext.
78957
78958 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78959
78960         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
78961         not needed.  This removes a dependency on the gettext module.
78962         [defined _LIBC]: Do not include <libintl.h>; not needed.
78963
78964 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78965
78966         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
78967         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
78968
78969 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78970
78971         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
78972         HAVE_DECL_STRTOLD.
78973
78974 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78975
78976         * modules/getdate (Depends-on): Remove alloca-opt.
78977
78978 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78979
78980         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
78981
78982 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78983
78984         * lib/argp-parse.c: Include <stddef.h>.
78985         (alignof, alignto): New macros.
78986         (parser_init): Don't assume that void * is aligned sufficiently
78987         for struct option.
78988
78989         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
78990         need to extend the stack.
78991         (YYINITDEPTH): New macro, so that the initial stack isn't overly
78992         large.
78993
78994 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78995
78996         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
78997
78998 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78999
79000         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
79001         (2004-10-24) change.  Apparently this was a false alarm.
79002
79003         * modules/getdate: Depend on alloca-opt, not alloca.
79004
79005 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
79006
79007         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
79008         Remove now-obsolete comment about AIX.
79009         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
79010         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
79011         (YYMAXDEPTH): New macro.
79012
79013 2004-12-18  Simon Josefsson  <jas@extundo.com>
79014
79015         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
79016
79017 2004-12-18  Bruno Haible  <bruno@clisp.org>
79018
79019         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
79020
79021 2004-12-18  Bruno Haible  <bruno@clisp.org>
79022
79023         * lib/fatal-signal.c (fatal_signals): Make non-const.
79024         (init_fatal_signals): New function.
79025         (uninstall_handlers, install_handlers): Ignore signals that were set to
79026         SIG_IGN.
79027         (at_fatal_signal): Call init_fatal_signals.
79028         (init_fatal_signal_set): Likewise. Ignore signals that were set to
79029         SIG_IGN.
79030         Reported by Paul Eggert.
79031
79032 2004-12-18  Bruno Haible  <bruno@clisp.org>
79033
79034         * doc/alloca.texi: New file.
79035         * doc/alloca-opt.texi: New file.
79036
79037 2004-12-17  Jim Meyering  <jim@meyering.net>
79038
79039         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
79040         Otherwise, install-sh could exit with improper exit status when
79041         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
79042
79043 2004-12-16  Simon Josefsson  <jas@extundo.com>
79044
79045         * tests/test-base64.c: Add license.
79046
79047 2004-12-15  Stepan Kasal  <address@hidden>
79048
79049         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
79050
79051 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
79052
79053         * modules/getcwd (Files): Add m4/d-ino.m4.
79054         Suggested by Mark D. Baushke.
79055
79056 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
79057
79058         * lib/getdate.y (textint): New member "negative".
79059         (time_zone_hhmm): New function.
79060         Expect 14 shift-reduce conflicts, not 13.
79061         (o_colon_minutes): New rule.
79062         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
79063         (yylex): Set the "negative" member of signed numbers.
79064
79065 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
79066
79067         * doc/getdate.texi (Time of day items, Time zone items):
79068         Describe new formats +00:00, UTC+00:00.
79069
79070 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79071
79072         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
79073         spurious "-l"s.  Problem reported by Stepan Kasal.
79074
79075 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
79076
79077         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
79078         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
79079
79080 2004-12-04  Simon Josefsson  <jas@extundo.com>
79081
79082         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
79083         Vandoorselaere <yoann@prelude-ids.org>.
79084
79085 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
79086
79087         Changes imported from coreutils.
79088         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
79089         exist.
79090         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
79091
79092 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
79093
79094         Changes imported from coreutils.
79095         * lib/hard-locale.c: Assume <locale.h> exists.
79096         Include "strdup.h".
79097         (GLIBC_VERSION): New macro.
79098         (hard_locale): Assume setlocale exists.
79099         Rewrite to avoid #ifdef.
79100         Use strdup rather than malloc + strcpy.
79101         * lib/human.c: Assume <locale.h> exists.
79102         (human_readable): Assume localeconv exists.
79103
79104 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
79105
79106         * modules/hard-locale (Depends-on): Add strdup.
79107
79108 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
79109
79110         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
79111         convert T2, not T.  (Imported from libc.)
79112
79113 2004-11-30  Simon Josefsson  <jas@extundo.com>
79114
79115         * modules/restrict (License): Change to LGPL.
79116
79117 2004-11-30  Simon Josefsson  <jas@extundo.com>
79118
79119         * m4/restrict.m4: Add copyright and copying conditions.
79120
79121 2004-11-30  Simon Josefsson  <jas@extundo.com>
79122
79123         * m4/base64.m4: New file.
79124
79125 2004-11-30  Simon Josefsson  <jas@extundo.com>
79126
79127         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
79128         base64.
79129
79130         * tests/test-base64.c: New file.
79131
79132         * modules/base64: New file.
79133
79134 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
79135
79136         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
79137         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
79138
79139         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
79140
79141 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
79142
79143         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
79144         (__getcwd.c): Don't restore errno; glibc doesn't.
79145         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
79146         first, falling back to our code only if its results look suspicious.
79147         Ensure that the resulting buffer is only as large as necessary.
79148
79149         * lib/readutmp.c: Include readutmp.h first.
79150         Include <errno.h>, since readutmp.h no longer does that.
79151         * lib/readutmp.h: Don't include <errno.h>,
79152         <sys/param.h>, <time.h>; not needed to establish interface.
79153         (errno): Remove decl.
79154         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
79155         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
79156         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
79157
79158 2004-11-28  Simon Josefsson  <jas@extundo.com>
79159
79160         * lib/base64.h, base64.c: New file.
79161
79162 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
79163
79164         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
79165
79166 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
79167
79168         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
79169         (Depends-on): Remove pathmax, same.  Add mempcpy.
79170         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
79171         (Makefile.am): Append getcwd.h to lib_SOURCES.
79172         (Include): Add getcwd.h.
79173         (Maintainer): Change from Jim Meyering to "all, glibc",
79174         since getdate now uses intended-for-glibc code.
79175         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
79176         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
79177
79178 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79179
79180         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
79181         HP's ANSI C compiler.
79182         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
79183         Declaring int functions causes warnings on some modern systems and
79184         shouldn't be needed to compile on ancient ones.
79185         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
79186         defined.
79187
79188         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
79189         with the following changes.
79190         (__set_errno): Parenthesize properly.
79191         Include <stdbool.h>.
79192         (MIN, MAX, MATCHING_INO): New macros.
79193         (__getcwd): Define with prototype, not K&R form.
79194         Use heuristics to allocate default buffer on stack if possible.
79195         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
79196         behavior, and to avoid the PATH_MAX limit when computing
79197         ../../../../...
79198         Use MATCHING_INO to compare inode number to file.
79199         Check for arithmetic overflow in size calculations.
79200         Fix bug in reallocation of dot array that caused getcwd to fail
79201         on directories nested deeper than 75.
79202         Be more careful about saving errno on error.
79203         Do not use realloc; use only free+malloc, as this is a bit
79204         more flexible and avoids a needless copy operation.
79205         Do not inspect st_dev and st_ino for symbolic links; POSIX
79206         doesn't specify the latter.
79207         Check for closedir errors.
79208         Avoid needless casts.
79209         Use "#ifdef weak_alias" around weak_alias, to be like other
79210         glibc code.
79211         The following changes to getcwd.c have effect only when used in
79212         gnulib; they have no effect inside glibc proper.
79213         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
79214         as alloca isn't used.
79215         (alloca, __alloca): Likewise.
79216         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
79217         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
79218         unconditionally, as gnulib assumes C89 or better.
79219         Do not include <sys/param.h>.
79220         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
79221         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
79222         better.
79223         (NULL) [!defined NULL]: Remove; we assume C89 or better.
79224         Include <dirent.h> in a way that is compatible with modern Autoconf.
79225         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
79226         New macros, if not already defined.
79227         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
79228         Use "_LIBC", not "defined _LIBC", for consistency.
79229         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
79230         a mempcpy module.
79231         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
79232         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
79233         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
79234         credit only to Jim Meyering and adjust the copyright dates.
79235         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
79236         <stdlib.h>, <unistd.h>, "pathmax.h".
79237         Instead, include "xgetcwd.h" (first) and "getcwd.h".
79238         (INITIAL_BUFFER_SIZE): Remove.
79239         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
79240
79241 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79242
79243         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
79244         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
79245         Use the _ONCE methods, for efficiency.
79246         Check for fcntl.h.  In test program, include <errno.h>
79247         and <fcntl.h> if available.  Remove old K&R cruft from
79248         test program.  Check for common errors in GNU/Linux,
79249         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
79250         don't do AC_LIBOBJ, as that's getcwd.m4's job.
79251         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
79252         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
79253         name accordingly.
79254         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
79255         accommodate new getcwd.c.
79256         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
79257         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
79258         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
79259         that's all we need now.
79260
79261 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79262
79263         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
79264         argp-parse.c depends on getopt internals, that means we should
79265         always use our getopt, to be on the safe side.
79266         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
79267         order not to spoil the result of an eventual previous invocation
79268         of gl_GETOPT_SUBSTITUTE.
79269
79270 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79271
79272         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
79273         redefinition warnings. To avoid them, include the defines
79274         in `#if !defined __need_getopt ... #endif'. The only place
79275         where __getopt_argv_const is used is in definitions
79276         of getopt_long and getopt_long_only below, which are as well
79277         protected by `#ifndef __need_getopt'.
79278         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
79279         __need_getopt after including <stdio.h> and <unistd.h> These
79280         headers might have defined it.
79281
79282 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
79283
79284         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
79285
79286 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
79287
79288         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
79289         (futimens): New function, which uses futimes if available.
79290         (futimens, utimens): Support timespec==NULL, with same semantics
79291         as utime and utimens.
79292         * lib/utimens.h (futimens): New decl.
79293
79294 2004-11-23  Jim Meyering  <jim@meyering.net>
79295
79296         * lib/getopt_.h: Remove trailing blanks.
79297
79298 2004-11-23  Jim Meyering  <jim@meyering.net>
79299
79300         * lib/__fpending.c: Add comment.
79301
79302 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
79303
79304         * modules/canonicalize (Depends-on): Add xreadlink.
79305         Problem reported by James Youngman.
79306
79307 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
79308
79309         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
79310         New macros.
79311         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
79312         optopt): Use them instead of invoking ## directly; otherwise, the
79313         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
79314
79315 2004-11-19  Bruno Haible  <bruno@clisp.org>
79316
79317         * lib/strtok_r.c: Move comments from here...
79318         * lib/strtok_r.h: ... to here.
79319
79320 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
79321
79322         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
79323         implementations that mishandle size_t overflow.
79324
79325 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
79326
79327         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
79328         might fail.  Problem reported by Yoann Vandoorselaere.
79329         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
79330         implementations that mishandle size_t overflow.
79331
79332 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
79333
79334         * modules/canon-host (Depends-on): Add strdup.
79335
79336 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
79337
79338         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
79339
79340 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
79341
79342         * lib/canon-host.c: Include "strdup.h".
79343         (canon_host): Use getaddrinfo if available, so that IPv6 works.
79344         Use strdup instead of malloc/strcpy to duplicate strings.
79345
79346         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
79347         (human_space_before_unit): New constant.
79348         * lib/human.c (human_readable): Support it.
79349
79350         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
79351         (xgetcwd): Set errno correctly when failing.
79352         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
79353         the failure is actually due to a PATH_MAX problem.
79354
79355         Further getopt changes to make it more likely that glibc will
79356         buy the changes back.
79357         * lib/getopt.c (POSIXLY_CORRECT): New constant.
79358         (getopt): Use it, so to preserve glibc semantic
79359         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
79360         when compiling for libc.
79361         * lib/getopt_.h (__getopt_argv_const): Bring it back.
79362         (getopt_long, getopt_long_only): Use it.
79363
79364         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
79365         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
79366         (getopt): Argv is now char * const *, as per standard.
79367         (_getopt_internal_r, _getopt_internal): Argv is now char **,
79368         not char *__getopt_argv_const *.
79369         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
79370         _getopt_long_only_r): Likewise.
79371         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
79372         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
79373         _getopt_long_r, _getopt_long_only_r): Likewise.
79374         * lib/getopt_.h (__getopt_argv_const): Remove.
79375         (getopt): Argv is now char * const *, as per standard.
79376
79377         * lib/getdate.y (tORDINAL): New token.
79378         (day, relunit): Allow it for relative times.
79379         (relative_time_table): Use tORDINAL for ordinals.
79380
79381 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
79382
79383         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
79384         Document that "second" isn't allowed as an ordinal number.
79385
79386 2004-11-16  Jim Meyering  <jim@meyering.net>
79387
79388         * modules/closeout (Depends-on): Add fpending.
79389
79390 2004-11-15  Jim Meyering  <jim@meyering.net>
79391
79392         * lib/closeout.c: Include "__fpending.h" once again.
79393         Include <stdbool.h>.
79394         (close_stdout): Don't fail just because stdout was closed initially,
79395         since some programs don't write to stdout in the normal course of
79396         operation (other than --version and --help), and we don't want this
79397         function to make e.g. `touch file >&-' fail.
79398         But do fail if it was closed and someone has tried to write to it.
79399         E.g., `printf foo >&-' must fail.
79400
79401 2004-11-13  Jim Meyering  <jim@meyering.net>
79402
79403         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
79404
79405 2004-11-12  Simon Josefsson  <jas@extundo.com>
79406
79407         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
79408         small doc fix is still pending.
79409
79410 2004-11-11  Simon Josefsson  <jas@extundo.com>
79411
79412         * modules/strtok_r: New file.
79413
79414         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79415         strtok_r.
79416
79417 2004-11-11  Simon Josefsson  <jas@extundo.com>
79418
79419         * m4/strtok_r.m4: New file.
79420
79421         * m4/getopt.m4: Replace opterr.
79422
79423 2004-11-11  Simon Josefsson  <jas@extundo.com>
79424
79425         * lib/strtok_r.h, strtok_r.c: New file.
79426
79427 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
79428
79429         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
79430         of replacing opterr, getopt, etc.  This should handle the
79431         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
79432
79433 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
79434
79435         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
79436         we can stop lying to compilers about the constness of argv when we
79437         are compiled outside glibc.
79438         (getopt, getopt_long, getopt_long_only): Use it.
79439         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
79440         _getopt_internal, getopt): Likewise.
79441         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
79442         _getopt_long_only_r): Likewise.
79443         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
79444         _getopt_long_r, _getopt_long_only_r): Likewise.
79445
79446         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
79447         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
79448         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
79449         the other external symbols.
79450         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
79451         declaration, since the above renaming now works around collisions.
79452
79453 2004-11-11  Jim Meyering  <jim@meyering.net>
79454
79455         * lib/linebreak.c: Remove trailing blanks.
79456         * lib/alloca_.h: Likewise.
79457         * lib/acosl.c: Likewise.
79458         * lib/euidaccess.c: Likewise.
79459         * lib/allocsa.h: Likewise.
79460
79461 2004-11-10  Simon Josefsson  <jas@extundo.com>
79462
79463         * m4/getaddrinfo.m4: New file.
79464
79465 2004-11-10  Simon Josefsson  <jas@extundo.com>
79466
79467         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
79468
79469 2004-11-10  Simon Josefsson  <jas@extundo.com>
79470
79471         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79472         getaddrinfo.
79473
79474         * modules/getaddrinfo: New file.
79475
79476 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79477
79478         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
79479
79480 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79481
79482         * lib/mktime.c (SHR): New macro, which is a portable
79483         substitute for >> that should work even on Crays.
79484         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
79485         Problem reported by Mark D. Baushke in
79486         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
79487         * lib/getdate.y (SHR): Likewise.
79488         (tm_diff): Use it.
79489         * lib/strftime.c (SHR): Likewise.
79490         (tm_diff): Use it.
79491         * lib/quotearg.c (struct quoting_options): Use unsigned int for
79492         quote_these_too, so that right shifts are well defined.  All uses
79493         changed.
79494
79495 2004-11-10  Jim Meyering  <jim@meyering.net>
79496
79497         Ensure that no close failure goes unreported.
79498         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
79499         return early when it seems there's nothing to flush.
79500         Don't include __fpending.h.
79501
79502 2004-11-10  Jim Meyering  <jim@meyering.net>
79503
79504         * modules/closeout (Depends-on): Remove fpending.
79505
79506 2004-11-10  Jim Meyering  <jim@meyering.net>
79507
79508         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
79509
79510 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
79511
79512         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
79513         gl_FUNC_STRFTIME.
79514         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
79515         and AC_REQUIRE when possible, to avoid duplicate checks.
79516         Check for <wchar.h>.
79517
79518 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
79519
79520         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
79521
79522 2004-11-09  Bruno Haible  <bruno@clisp.org>
79523
79524         * m4/sockpfaf.m4: New file.
79525
79526 2004-11-05  Bruno Haible  <bruno@clisp.org>
79527
79528         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
79529         Reported by Mark D. Baushke <mdb@cvshome.org>.
79530
79531 2004-11-04  Bruno Haible  <bruno@clisp.org>
79532
79533         2004-09-11  Bruno Haible  <bruno@clisp.org>
79534                 * allocsa.valgrind: New file.
79535         2004-02-06  Bruno Haible  <bruno@clisp.org>
79536                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
79537                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
79538                 Reported by Christopher Seip <chris.seip@hp.com>.
79539
79540 2004-11-04  Bruno Haible  <bruno@clisp.org>
79541
79542         * modules/allocsa (Files): Add lib/allocsa.valgrind.
79543         (Makefile.am): Distribute it.
79544
79545 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
79546
79547         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
79548         with errno == ERANGE if the buffer is too small.
79549         Problem reported by Mark D. Baushke.
79550
79551 2004-11-03  Albert Chin  <china@thewrittenword.com>
79552             Paul Eggert  <eggert@cs.ucla.edu>
79553
79554         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
79555         equivalent, substitute $ac_type for equivalent type rather than
79556         blindly using uint32_t *always* which won't work if uint32_t is not
79557         available.  Define _UINT32_T to work around typedef of uint32_t if
79558         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
79559         2.5.1.
79560
79561 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79562
79563         * m4/jm-macros.m4: Sync from coreutils.
79564         (gl_MACROS): Check for mbrlen, for pathchk.
79565         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
79566
79567 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79568
79569         * lib/xreadlink.c (MAXSIZE): New macro.
79570         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
79571         size does not exceed MAXSIZE.  Avoid cast.
79572         As suggested by Mark D. Baushke in
79573         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
79574         if readlink fails with buffer size just under MAXSIZE, try again
79575         with MAXSIZE.
79576
79577 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79578
79579         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
79580
79581 2004-11-02  Derek R. Price  <derek@ximbiot.com>
79582         and  Paul Eggert  <eggert@cs.ucla.edu>
79583
79584         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
79585         (get_date): Overparenthesize to avoid GCC warning.
79586
79587 2004-11-02  Bruno Haible  <bruno@clisp.org>
79588
79589         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
79590         returns void.
79591
79592 2004-11-02  Bruno Haible  <bruno@clisp.org>
79593
79594         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
79595         function returns void.
79596
79597 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
79598
79599         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
79600         fflush_unlocked, flockfile, funlockfile, funlockfile,
79601         fputs_unlocked, putc_unlocked.
79602
79603 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
79604
79605         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
79606         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
79607         already declared.
79608
79609 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79610
79611         * modules/getdate (Files): Add doc/getdate.texi.
79612         (Depends-on): Add setenv, xalloc.
79613
79614 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79615
79616         * lib/getdate.y: Add support for TZ="foo" within a date string.
79617         Fix some bugs near time_t boundaries.  Reject dates with
79618         out-of-range components, e.g., "Sept 31".
79619         Include <stdlib.h>, "setenv.h", "xalloc.h".
79620         (ISDIGIT_LOCALE): Remove; unused.
79621         Note that the TZ and time functions used here are not reentrant.
79622         (mktime_ok, get_tz): New functions.
79623         (TZBUFSIZE): New constant.
79624         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
79625         This requires that we sometimes generate our own TZ="XXX..." setting.
79626
79627 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79628
79629         * doc/getdate.texi: New file, from coreutils with modifications for
79630         the new TZ parsing.
79631
79632 2004-10-27  Derek R. Price  <derek@ximbiot.com>
79633
79634         * lib/mktime.c (not_equal_tm): Remove redundant check.
79635
79636 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
79637
79638         * modules/regex (lib_SOURCES): Add regex.c.
79639         Reported by James Youngman in
79640         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
79641
79642 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
79643
79644         * lib/getdate.y: Use Bison 1.875 features, and some minor
79645         code cleanups.  This change does not affect semantics.
79646         Don't include <stdlib.h>; no longer needed.
79647         Don't include unlocked-io.h; only the "#if TEST" code uses
79648         stdio, and performance isn't crucial there.
79649         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
79650         Bison 1.875 features as described below.
79651         All uses of "PC." replaced by "pc->".
79652         (YYSTYPE): Add a forward declaration.
79653         (yylex, yyerror): Use full prototypes in forward decls.
79654         Use "%pure-parser" rather than obsolescent "%pure_parser".
79655         Use %parse-param and %lex-param instead of obsolescent
79656         YYPARSE_PARAM and YYLEX_PARAM.
79657         (meridian_table, month_and_day_table, time_units_table,
79658         relative_time_table, time_zone_table, military_table,
79659         lookup_zone, lookup_word, get_date):
79660         Use NULL instead of 0 where appropriate.
79661         (to_hour): Avoid abort (), to avoid a dependency on
79662         stdlib.h.
79663         (yyerror, yylex): Now accepts parser_control * arg.
79664         (main) [TEST]: Use '\0' rather than 0 for char.
79665
79666 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
79667
79668         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
79669
79670 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
79671
79672         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
79673         It's now the caller's responsibility to handle the case where
79674         !HAVE_GETPAGESIZE && !defined getpagesize.
79675
79676         * lib/mktime.c (leapyear): Arg is long int, not int.
79677
79678 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
79679
79680         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
79681
79682 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
79683
79684         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
79685         missing.  Problem reported by James Youngman.
79686
79687 2004-10-16  Simon Josefsson  <jas@extundo.com>
79688
79689         * gnulib-tool: Fix comments.  Fix parse problem.
79690         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
79691
79692 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
79693
79694         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
79695         implementation of getopt_long.  Problem reported by Alexander Taler in:
79696         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
79697
79698 2004-10-15  Bruno Haible  <bruno@clisp.org>
79699
79700         * gnulib-tool: Untabify. Initialize supplied_libname.
79701         (func_usage): More homogenous output.
79702         (func_modules_transitive_closure, func_modules_to_filelist,
79703         func_emit_lib_Makefile_am): New functions.
79704         (func_import): New function, extracted from big case statement. Use
79705         func_get_license, func_modules_transitive_closure,
79706         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
79707         opt_lgpl. Don't use test -a, as it's not portable.
79708         (func_create_testdir): Use func_modules_transitive_closure,
79709         func_modules_to_filelist, func_emit_lib_Makefile_am.
79710
79711 2004-10-15  Bruno Haible  <bruno@clisp.org>
79712
79713         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
79714
79715 2004-10-15  Bruno Haible  <bruno@clisp.org>
79716
79717         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
79718         the portions belonging to each module.
79719         Suggested by Derek Robert Price <derek@ximbiot.com>.
79720
79721 2004-10-12  Simon Josefsson  <jas@extundo.com>
79722
79723         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
79724         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
79725         to real functions.
79726
79727 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79728
79729         * modules/vsnprintf: New file.
79730
79731 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79732
79733         * m4/vsnprintf.m4: New file.
79734
79735 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79736
79737         * lib/vsnprintf.h: New file.
79738         * lib/vsnprintf.c: New file.
79739
79740 2004-10-11  Bruno Haible  <bruno@clisp.org>
79741
79742         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
79743         vsnprintf.
79744
79745 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79746
79747         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
79748
79749 2004-10-07  Bruno Haible  <bruno@clisp.org>
79750
79751         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
79752         fits into the provided buffer.
79753
79754 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
79755
79756         * lib/diacrit.c, diacrit.h: Add GPL notice.
79757
79758         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
79759         notice.
79760         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
79761         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
79762         This avoids a potential constant-folding bug.
79763
79764 2004-10-05  Bruno Haible  <bruno@clisp.org>
79765
79766         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
79767         for the declaration of strsep.
79768
79769 2004-10-05  Bruno Haible  <bruno@clisp.org>
79770
79771         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
79772
79773 2004-10-04  Simon Josefsson  <jas@extundo.com>
79774
79775         * modules/memmem: New file.
79776         * tests/test-memmem.c: New file.
79777         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
79778
79779 2004-10-04  Simon Josefsson  <jas@extundo.com>
79780
79781         * m4/memmem.m4: New file.
79782
79783 2004-10-04  Simon Josefsson  <jas@extundo.com>
79784
79785         * lib/memmem.h: New file.
79786         * lib/memmem.c: New file, taken from glibc.
79787
79788 2004-10-04  Simon Josefsson  <jas@extundo.com>
79789
79790         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
79791         '#ifdef USE_UNLOCKED_IO'.
79792
79793 2004-10-04  Simon Josefsson  <jas@extundo.com>
79794
79795         * config/srclist.txt: Add memmem from glibc.
79796
79797 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79798
79799         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
79800
79801         * modules/argmatch, modules/argp, modules/closeout, modules/error,
79802         modules/exclude, modules/getdate, modules/getline,
79803         modules/getndelim2, modules/getpass, modules/getpass-gnu,
79804         modules/getusershell, modules/linebuffer, modules/md5,
79805         modules/mountlist, modules/posixtm, modules/readtokens,
79806         modules/readutmp, modules/regex, modules/sha1,
79807         modules/version-etc, modules/yesno:
79808         Remove dependency on unlocked-io.
79809
79810 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79811
79812         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
79813
79814         * m4/unlocked-io.m4: Add copyright notice.
79815         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
79816
79817 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79818
79819         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
79820         * lib/xmalloc.c (xmemdup): Likewise.
79821         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
79822         XFREE): Remove these long-obsolescent macros.
79823         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
79824         * lib/xstrdup.c: Remove.
79825
79826         * lib/regex.c (re_comp): Cast gettext return value to char *,
79827         Problem reported by Martin Neitzel via Mark D. Baushke.
79828
79829 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79830
79831         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
79832         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
79833         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
79834         regex.c, sha1.c, version-etc.c, yesno.c:
79835         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
79836         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
79837         the includer's responsibility.
79838
79839         Sync from coreutils.
79840
79841         * lib/modechange.c (mode_compile): Don't decrement a pointer that
79842         points to the start of a string, as the C Standard says the
79843         resulting behavior is undefined.
79844
79845         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
79846         simple -> simple_backups, numbered_existing ->
79847         numbered_existing_backups, numbered -> numbered_backups
79848         to avoid shadowing problems.  All uses changed.
79849         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
79850         * lib/backupfile.c (check_extension, numbered_backup):
79851         Rename locals to avoid shadowing 'basename'.
79852         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
79853         once.
79854
79855         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
79856         * lib/.cvsignore: Add getopt.h.
79857
79858 2004-10-04  Bruno Haible  <bruno@clisp.org>
79859
79860         * modules/README: New file.
79861         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
79862         not a module.
79863
79864 2004-10-02  Jim Meyering  <jim@meyering.net>
79865
79866         * lib/dirfd.h, getpagesize.h: Add copyright notice.
79867
79868 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79869
79870         * modules/strsep: New file.
79871
79872 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79873
79874         * m4/strsep.m4: New file.
79875
79876 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79877
79878         * lib/strsep.h: New file.
79879         * lib/strsep.c: New file.
79880
79881 2004-10-01  Simon Josefsson  <jas@extundo.com>
79882
79883         * lib/snprintf.c (snprintf): Handle size==0.
79884
79885 2004-10-01  Simon Josefsson  <jas@extundo.com>
79886             Bruno Haible  <bruno@clisp.org>
79887
79888         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
79889         (snprintf): Declare 'args'.
79890
79891 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
79892
79893         * lib/snprintf.c: Remove comments as to why each header is needed.
79894
79895 2004-10-01  Bruno Haible  <bruno@clisp.org>
79896
79897         * MODULES.html.sh: Add strsep.
79898
79899 2004-09-30  Simon Josefsson  <jas@extundo.com>
79900
79901         * modules/snprintf: New file.
79902
79903 2004-09-30  Simon Josefsson  <jas@extundo.com>
79904
79905         * m4/snprintf.m4: New file.
79906
79907 2004-09-30  Simon Josefsson  <jas@extundo.com>
79908
79909         * lib/snprintf.h, lib/snprintf.c: New files.
79910
79911 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79912
79913         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
79914         (hol_entry_help): Never translate an empty string.
79915         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
79916         * lib/argp.h (OPTION_NO_TRANS): New option.
79917
79918 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79919
79920         * modules/argp (Maintainer): Replace Simon Josefsson
79921         by Sergey Poznyakoff.
79922
79923 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79924
79925         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
79926         changes merged back into glibc.
79927
79928 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79929
79930         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
79931
79932 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79933
79934         * lib/xvasprintf.c: Include xalloc.h.
79935         (xvasprintf): Use xalloc_die, not xmalloc_die.
79936
79937 2004-09-29  Bruno Haible  <bruno@clisp.org>
79938
79939         * modules/alloca-opt: New file, derived from modules/alloca.
79940         * modules/allocsa: Depend on alloca-opt instead of alloca.
79941         * modules/setenv: Likewise.
79942         * modules/vasnprintf: Likewise.
79943         * MODULES.html.sh: Add alloca-opt.
79944
79945 2004-09-28  Simon Josefsson  <jas@extundo.com>
79946
79947         * gnulib-tool: New parameter --lgpl, to asseert that modules are
79948         LGPL, and to replace license template from GPL to LGPL.
79949
79950 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79951
79952         * modules/dummy: Change license to LGPL.
79953
79954 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79955
79956         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
79957
79958 2004-09-24  Simon Josefsson  <jas@extundo.com>
79959
79960         * modules/minmax (License): Change from GPL to LGPL.
79961
79962 2004-09-23  Simon Josefsson  <jas@extundo.com>
79963
79964         * gnulib-tool (--import): Typo.
79965
79966 2004-09-23  Simon Josefsson  <jas@extundo.com>
79967
79968         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
79969
79970 2004-09-22  Bruno Haible  <bruno@clisp.org>
79971
79972         * modules/*: Add 'License' field.
79973         * gnulib-tool: Accept --extract-license option.
79974         (func_get_license): New function.
79975
79976 2004-09-21  Bruno Haible  <bruno@clisp.org>
79977
79978         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
79979         Reported by Simon Josefsson.
79980
79981 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79982
79983         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
79984         gl_AC_TYPE_LONG_LONG.
79985
79986 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79987
79988         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
79989
79990 2004-09-18  Simon Josefsson  <jas@extundo.com>
79991         and  Paul Eggert  <eggert@cs.ucla.edu>
79992
79993         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
79994         calls with autoreconf.  Define GL_LIB.
79995
79996 2004-09-14  Karl Berry  <karl@gnu.org>
79997
79998         * config/srclist.txt: unsync setenv.c, sigh.
79999
80000 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
80001
80002         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
80003         Problem reported by Bruno Haible in:
80004         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
80005
80006 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
80007
80008         * config/srclist.txt: Comment out argp-pvh.c.
80009
80010 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
80011
80012         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
80013         in case some system header has #define'd it.  Problem reported by
80014         Soeren D. Schulze in
80015         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
80016
80017 2004-09-09  Karl Berry  <karl@gnu.org>
80018
80019         * regex.[ch]: delete from the root.  These were supposed to be
80020                 synced with emacs cvs, but this has not happened for about
80021                 a year, and anyway nothing else uses emacs regex.[ch].
80022                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
80023                 lib/regex[.ch] is untouched.
80024
80025 2004-09-09  Bruno Haible  <bruno@clisp.org>
80026
80027         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
80028
80029 2004-09-09  Bruno Haible  <bruno@clisp.org>
80030
80031         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
80032         modifications.
80033         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
80034
80035 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
80036
80037         * modules/xvasprintf: New file.
80038         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
80039
80040 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
80041
80042         * lib/xvasprintf.h: New file.
80043         * lib/xvasprintf.c: New file.
80044         * lib/xasprintf.c: New file.
80045
80046 2004-09-08  Bruno Haible  <bruno@clisp.org>
80047
80048         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
80049
80050 2004-09-08  Bruno Haible  <bruno@clisp.org>
80051
80052         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
80053         length is > INT_MAX.
80054         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
80055         more.
80056
80057 2004-09-08  Bruno Haible  <bruno@clisp.org>
80058
80059         * lib/stdint_.h: New file, taken from GNU clisp.
80060
80061 2004-09-08  Bruno Haible  <bruno@clisp.org>
80062             Oskar Liljeblad  <oskar@osk.mine.nu>
80063
80064         * modules/stdint: New file.
80065         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
80066
80067 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80068
80069         Import from coreutils.
80070         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
80071         strings on unbounded length.  alloca's performance benefits aren't
80072         that important here.
80073         (V_STRDUP): Remove.
80074         (parse_with_separator): New function, with most of the internals
80075         of the old parse_user_spec.  Allow user to omit both user and group,
80076         for compatibility with FreeBSD.
80077         Clone only the user name, not the entire spec.
80078         Do not set *uid, *gid unless entirely successful.
80079         Avoid memory leak in some failing cases.
80080         Fix regression for USER.GROUP reported by Dmitry V. Levin in
80081         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
80082         (parse_user_spec): Rewrite to use parse_with_separator.
80083
80084 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80085
80086         * modules/userspec: Don't depend on alloca.
80087
80088 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80089
80090         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
80091
80092 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80093
80094         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
80095         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
80096         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
80097
80098 2004-08-16  Simon Josefsson  <jas@extundo.com>
80099
80100         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
80101         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
80102         Add --dry-run for --import.
80103         Let user provided command line parameters override configure.ac
80104         settings.
80105
80106 2004-08-12  Simon Josefsson  <jas@extundo.com>
80107
80108         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
80109         as discussed with Paul Eggert in threads rooted at
80110         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
80111         and
80112         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
80113         Before, the test was empty, and relied on ELIDE_CODE in source
80114         code.)
80115         (gl_PREREQ_GETOPT): New macro.
80116         (gl_GETOPT): Use them.
80117
80118 2004-08-12  Simon Josefsson  <jas@extundo.com>
80119
80120         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
80121         * lib/getopt_.h: Renamed from getopt.h.
80122
80123 2004-08-12  Simon Josefsson  <jas@extundo.com>
80124
80125         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
80126         Change default library name from libfoo to libgnu.
80127         Now, if you have a configure.ac that says:
80128                 gl_SOURCE_BASE(gl)
80129                 gl_M4_BASE(gl/m4)
80130                 gl_MODULES(error getopt etcetera)
80131                 gl_INIT
80132         you can import all you need by running:
80133                 ../gnulib/gnulib-tool --import
80134
80135         * modules/getopt (Files): Rename getopt.h to getopt_.h.
80136         (Makefile.am): Rewrite, use logic from argz.
80137         (Include): Use <getopt.h> instead of "getopt.h".
80138
80139 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
80140
80141         * modules/argp (Files): Add m4/unlocked-io.m4.
80142         (Depends-on): Add extensions.
80143
80144 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
80145
80146         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
80147         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
80148         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
80149         Check for program_invocation_name, program_invocation_short_name,
80150         flockfile, funlockfile, features.h, _getopt_long_only_r.
80151
80152 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
80153
80154         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
80155         its complicated substitute.
80156         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
80157         and program_invocation_name.
80158         (__argp_basename) [!_LIBC]: Remove; the only use was
80159         replaced by its body.
80160         (__argp_short_program_name): Change condition from
80161         !defined __argp_short_program_name to
80162         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
80163         to match argp-namefrob.h.
80164         (__argp_failure): Don't assume strerror_r returns char *.
80165         * lib/argp-parse.c (N_): Define unconditionally.
80166         (argp_default_options): Fill out initializers with 0 to avoid
80167         gcc warnings.
80168
80169 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
80170
80171         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
80172         getopt1.c.
80173
80174 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80175
80176         Merge from coreutils.
80177
80178         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
80179
80180         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
80181         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
80182
80183 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80184
80185         Merge from coreutils.
80186
80187         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
80188         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
80189         for Reliant Unix 5.43.
80190
80191         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
80192         (union fooround): Use uintmax_t, not long int.
80193         The rest is a merge from libc:
80194         [defined _LIBC]: Include <shlib-compat.h>.
80195         (_obstack) [defined _LIBC]: Remove after 2.3.4.
80196
80197         * lib/settime.c (settime): Recode to avoid warning with
80198         Sun Forte C 6U2.
80199
80200         * lib/strverscmp.c: Convert to UTF-8.
80201
80202 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80203
80204         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80205         m4/uintmax_t.m4.
80206
80207 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80208
80209         * modules/xalloc-die: New file.
80210         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
80211
80212         * modules/md5 (Files): Add m4/uint32_t.m4.
80213         * modules/sha1: Renamed from modules/sha.
80214         (Files):
80215         Rename lib/sha.h to lib/sha1.h.
80216         Rename lib/sha.c to lib/sha1.c.
80217         Rename m4/sha.m4 to m4/sha1.m4.
80218         (lib_SOURCES): Likewise.
80219         (configure.ac): Rename gl_SHA to gl_SHA1.
80220         (Include): sha.h -> sha1.h.
80221
80222 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80223
80224         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
80225         * m4/sha1.m4: Renamed from sha.m4.
80226         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
80227
80228 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80229
80230         * lib/obstack.h (obstack_empty_p):
80231         Don't assume that chunk->contents is suitably aligned.
80232         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
80233         Likewise. Problem reported by Benno in
80234         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
80235
80236         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
80237         readable.  This could be improved further but it'd take some work.
80238
80239 2004-08-08  Simon Josefsson  <jas@extundo.com>
80240
80241         * modules/xgethostname (Depends-on): Remove exit and error (not
80242         used).
80243
80244         * modules/getpass-gnu: Add getpass.h.
80245         (Depends-on): Add stdbool.
80246         * modules/getpass: Add getpass.h.
80247
80248 2004-08-08  Simon Josefsson  <jas@extundo.com>
80249
80250         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
80251         Check getpass declaration.
80252
80253 2004-08-08  Simon Josefsson  <jas@extundo.com>
80254
80255         * lib/xgethostname.c: Don't include error.h (not used).
80256
80257         * lib/getpass.h: Add.
80258         * lib/getpass.c: Include getpass.h first.
80259
80260 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
80261
80262         * lib/xalloc-die.c: New file.
80263         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
80264         All uses removed.
80265         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
80266         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
80267         xalloc-die.c.
80268         (_, N_, xalloc_die): Move to xalloc-die.c.
80269         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
80270         so that we needn't mess with xalloc_msg_memory_exhausted.
80271
80272         * lib/sha1.h: Renamed from sha.h.
80273         (SHA1_H): Renamed from _SHA_H.
80274         (sha1_ctx): Renamed from sha_ctx.
80275         (sha1_init_ctx): Renamed from sha_init_ctx.
80276         (sha1_process_block): Renamed from sha_process_block.
80277         (sha1_process_bytes): Renamed from sha_process_bytes.
80278         (sha1_finish_ctx): Renamed from sha_finish_ctx.
80279         (sha1_read_ctx): Renamed from sha_read_ctx.
80280         (sha1_stream): Renamed from sha_stream.
80281         (sha1_buffer): Renamed from sha_buffer.
80282         * lib/sha1.c: Likewise; renamed from sha.c.
80283         Do not include <sys/types.h>.
80284         Include <stddef.h> rather than <stdlib.h>.
80285
80286 2004-08-08  Bruno Haible  <bruno@clisp.org>
80287
80288         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
80289         FILESYSTEM_PREFIX_LEN.
80290         * lib/progreloc.c: Likewise.
80291         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
80292
80293 2004-08-06  Simon Josefsson  <jas@extundo.com>
80294
80295         * modules/progname (Depends-on): Don't depend on stdbool.
80296
80297 2004-08-06  Simon Josefsson  <jas@extundo.com>
80298
80299         * modules/getsubopt: New file.
80300         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80301         getsubopt.
80302
80303 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
80304
80305         More merge from coreutils.
80306
80307         * m4/utimens.m4, m4/utimecmp.m4: New files.
80308         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
80309         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
80310         prereq.m4, sha.m4: Import changes from coreutils.
80311
80312 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
80313
80314         More merge from coreutils.
80315         * modules/raise, modules/readtokens0, modules/utimens:
80316         * modules/utimecmp, module/xnanosleep: New files.
80317         * modules/strftime: Add lib/strftime.h.
80318         Change include from <time.h> to "strftime.h".
80319         * modules/yesno: Add lib/yesno.h.
80320         * modules/backupfile: Remove lib/addext.c.
80321         * modules/euidaccess: Add stat-macros.h.
80322         * modules/canonicalize, modules/euidaccess,
80323         modules/filemode, modules/lchown, modules/makepath,
80324         modules/rmdir, modules/stat: Likewise.
80325
80326 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
80327
80328         Merge from tar.
80329         * lib/argp-help.c (make_hol, hol_append): Don't assume that
80330         SIZE_MAX is a valid preprocessor constant.
80331         (__argp_basename): Change from "#ifndef _LIBC"
80332         to "#ifndef __argp_short_program_name", so that
80333         we don't compile these functions for tar.
80334
80335         More merges from coreutils.
80336         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
80337         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
80338         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
80339         * lib/addext.c: Remove; no longer needed.
80340         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
80341         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
80342         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
80343         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
80344         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
80345         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
80346         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
80347         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
80348         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
80349         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
80350         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
80351         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
80352         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
80353         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
80354         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
80355         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
80356         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
80357         Import changes from coreutils.
80358
80359 2004-08-05  Simon Josefsson  <jas@extundo.com>
80360
80361         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
80362
80363 2004-08-05  Simon Josefsson  <jas@extundo.com>
80364
80365         * m4/getsubopt.m4: New file.
80366
80367 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
80368
80369         Merge from coreutils.
80370
80371         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
80372         * m4/getcwd-path-max.m4: New files.
80373
80374         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
80375         FILESYSTEM_PREFIX_LEN ->
80376         FILE_SYSTEM_PREFIX_LEN.
80377         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
80378         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
80379         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
80380         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
80381
80382         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
80383         prerequisite modules now handle the DOS stuff.
80384         Don't check for unistd.h.
80385
80386 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
80387
80388         Merge from coreutils.
80389
80390         * lib/.gdb-history: Remove; this doesn't belong here.
80391
80392         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
80393         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
80394         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
80395         * lib/getcwd.c: New files.
80396
80397         * lib/dirname.h: Include <stdbool.h>.
80398         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
80399         for consistency with POSIX terminology.  All uses changed.
80400         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
80401         (strip_trailing_slashes): Use bool for booleans.
80402         * lib/stripslash.c (strip_trailing_slashes): Likewise.
80403
80404         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
80405         sometimes returns a positive errno value even when it succeeds.
80406         (print_errno_message) [!LIBC]: Fall back on strerror if
80407         __strerror_r fails.
80408
80409         * lib/path-concat.c (mempcpy): Don't define if a system header defines
80410         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
80411         (longest_relative_suffix): New function.
80412         (path_concat): Use it.  Assume first argument is not NULL.
80413         Port to DOS.  Omit redundant separators.
80414         Report an error instead of returning NULL.
80415         Use mempcpy instead of memcpy.
80416         (xpath_concat): Remove: not declared or used.
80417
80418         * lib/same.h: Include <stdbool.h>
80419         (same_name): Return bool, not int.
80420         * lib/same.c (same_name): Likewise.
80421         (errno): Don't declare; we assume C89 or better now.
80422
80423         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
80424         if not already defined.
80425
80426         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
80427         * lib/dup-safer.c (errno): Likewise.
80428
80429 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
80430
80431         Merge from coreutils.
80432         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
80433         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
80434         * modules/path-concat: Don't depend on strdup.
80435
80436 2004-08-03  Simon Josefsson  <jas@extundo.com>
80437
80438         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
80439         * lib/progname.h: Don't include stdbool.h.
80440
80441 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
80442
80443         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
80444         * MODULES.html.sh (func_all_modules): Remove fatal.
80445
80446 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
80447
80448         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
80449
80450 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
80451
80452         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
80453         working.
80454
80455 2004-08-02  Simon Josefsson  <jas@extundo.com>
80456
80457         * lib/getsubopt.h: New file, with comments from Bruno Haible.
80458         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
80459         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
80460
80461 2004-08-01  Simon Josefsson  <jas@extundo.com>
80462
80463         * lib/xgetdomainname.c: Include stdlib.h, for free().
80464
80465 2004-07-19  Bruno Haible  <bruno@clisp.org>
80466
80467         * MODULES.html.sh (func_all_modules): Add dummy.
80468
80469 2004-07-16  Simon Josefsson  <jas@extundo.com>
80470
80471         * modules/dummy: New file.
80472
80473 2004-07-16  Simon Josefsson  <jas@extundo.com>
80474
80475         * lib/dummy.c: New file.
80476
80477 2004-07-16  Bruno Haible  <bruno@clisp.org>
80478
80479         * lib/backupfile.h: Add extern "C" for C++.
80480         * lib/closeout.h: Likewise.
80481         * lib/copy-file.h: Likewise.
80482         * lib/findprog.h: Likewise.
80483         * lib/full-write.h: Likewise.
80484         * lib/pathname.h: Likewise.
80485         * lib/progname.h: Likewise.
80486         * lib/stpcpy.h: Likewise.
80487         * lib/stpncpy.h: Likewise.
80488         * lib/strcase.h: Likewise.
80489         * lib/strstr.h: Likewise.
80490         * lib/xalloc.h: Likewise.
80491
80492         * lib/mbswidth.h: Add extern "C" for C++.
80493         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
80494
80495 2004-07-13  Robert Millan  <robertmh@gnu.org>
80496
80497         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
80498
80499 2004-07-09  Simon Josefsson  <jas@extundo.com>
80500
80501         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
80502         failed without this.)
80503
80504 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80505
80506         * modules/chown (Files): Add lib/fchown-stub.c, since
80507         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
80508
80509 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80510
80511         * lib/fchown-stub.c: New file.
80512
80513 2004-06-24  Jim Meyering  <jim@meyering.net>
80514
80515         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
80516
80517 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80518
80519         * modules/argz: Omit "#include".
80520
80521         * MODULES.html.sh (func_all_modules): Add calloc, to match
80522         2004-06-01 addition of calloc module.
80523
80524 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80525
80526         * m4/argz.m4: New file, which is autoupdated from libtool.
80527
80528 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80529
80530         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
80531         libtool.
80532
80533 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80534
80535         * config/srclist-update: Don't insist on "USA." before the
80536         close-comment, as libtool omits the period and puts the */ on a
80537         separate line.
80538         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
80539         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
80540
80541 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
80542
80543         * modules/argz: New file.
80544         * MODULES.html.sh (func_all_modules): Add argz.
80545
80546 2004-06-12  Jim Meyering  <jim@meyering.net>
80547         and  Paul Eggert  <eggert@cs.ucla.edu>
80548
80549         * modules/hash (Files): Add lib/xalloc.h.
80550         * modules/pipe (Depends-on): Add wait-process.
80551         * modules/stat (Depends-on): Add xalloc.
80552         * modules/userspec (Files): Add lib/userspec.h.
80553         * modules/xstrto
80554
80555         Upgrade from gettext-0.13.
80556         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
80557         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
80558         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
80559
80560 2004-06-10  Jim Meyering  <jim@meyering.net>
80561
80562         * lib/calloc.c: New file.
80563
80564 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
80565
80566         * lib/getdate.y (yylex): Allow space between sign and number.
80567         Problem reported by Dan Jacobson.
80568
80569 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
80570
80571         Merge from coreutils CVS.
80572
80573         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
80574         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
80575         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
80576         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
80577         xstrtol.m4: Fix copyright date and/or serial number.
80578
80579         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
80580         See if we need an fchown replacement.
80581         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
80582         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
80583         and use the replacement function if we detect either defect.
80584
80585         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
80586         gl_UTIMECMP.
80587
80588 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
80589         and  Jim Meyering  <jim@meyering.net>
80590
80591         Merge from coreutils CVS.
80592
80593         * lib/stat-macros.h: New file, with contents from file-type.h
80594         and coreutils' system.h.
80595         * lib/file-type.c: Include "stat-macros.h".
80596         * lib/file-type.h (file_type): Move all macro definitions to new file,
80597         stat-macros.h.
80598
80599         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
80600         Wrap old code with this conditional.
80601         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
80602         function that does not dereference symlinks.
80603         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
80604
80605         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
80606         dependency problems.
80607         (xreadlink): Accept new arg SIZE, for efficiency.
80608         All decls and uses changed.
80609         * lib/xreadlink.h: Include <stddef.h>, for size_t.
80610
80611         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
80612         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
80613
80614         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
80615         sysexits.h.
80616
80617 2004-06-01  Jim Meyering  <jim@meyering.net>
80618
80619         * m4/calloc.m4: New file.
80620
80621 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
80622
80623         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
80624         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
80625         Also, fix a typo in a diagnostic.
80626
80627 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
80628
80629         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
80630         or AC_FUNC_REALLOC.
80631
80632 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
80633
80634         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
80635         macros to be defined.
80636         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
80637         the allocator returns NULL because the requested size is zero.
80638
80639 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80640
80641         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
80642         var.  Add comment explaining why libc still defines it.  This
80643         merges the following patch from glibc:
80644         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
80645
80646 2004-05-20  Andreas Schwab  <schwab@suse.de>
80647
80648         * m4/free.m4: Replace free if it not known to work, not the other
80649         way round.
80650
80651 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
80652
80653         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
80654         present in glibc since revision 1.1 of this file.
80655         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
80656         obstack_alignment_mask, obstack_alloc, obstack_base,
80657         obstack_blank, obstack_blank_fast, obstack_chunk_size,
80658         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
80659         obstack_grow0, obstack_init, obstack_int_grow,
80660         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
80661         obstack_next_free, obstack_object_size, obstack_ptr_grow,
80662         obstack_ptr_grow_fast, obstack_room): Remove declarations of
80663         nonexistent functions.
80664
80665 2004-05-18  Karl Berry  <karl@gnu.org>
80666
80667         * config/srclist.txt: break link for vasnprintf.c.
80668
80669 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
80670
80671         Port obstack to the AS/400, where pointers are 16 bytes wide and
80672         you cannot cast an integer to a valid pointer.  This patch is
80673         currently waiting to be integrated into glibc; see
80674         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
80675
80676         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
80677         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
80678         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
80679         (struct obstack): temp member is now a union of a pointer and
80680         an integer, instead of an integer.  All integer uses changed.
80681         This does not affect the physical layout of struct obstack,
80682         except on hosts (like the AS/400) where the size or alignment of
80683         void * is greater than that of ptrdiff_t.
80684         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
80685         __STDC__)]: Store temporary in pointer member of union, not
80686         integer member.
80687         * lib/obstack.c: Include <stddef.h>, for offsetof.
80688         (struct fooalign): Remove; it doesn't need a name.
80689         (union fooround): Change double to long double, and add void *.
80690         (DEFAULT_ALIGNMENT): Use offsetof to compute.
80691         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
80692         not a macro.  Hence the values are always int; so remove all
80693         casts-to-int in uses.
80694
80695 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
80696
80697         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
80698         we can get this patch merged into glibc.
80699
80700 2004-05-17  Derek R. Price  <derek@ximbiot.com>
80701             Paul Eggert  <eggert@cs.ucla.edu>
80702
80703         * m4/argp: Depend on alloca.
80704
80705 2004-05-17  Derek R. Price  <derek@ximbiot.com>
80706             Paul Eggert  <eggert@cs.ucla.edu>
80707
80708         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
80709         freecoding.
80710
80711 2004-05-17  Bruno Haible  <bruno@clisp.org>
80712
80713         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
80714         precision that consists of a '.' followed by an empty digit string.
80715         Patch by Tor Lillqvist <tml@iki.fi>.
80716
80717 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
80718
80719         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
80720         for backward compatibility with older code.  We need our own
80721         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
80722         it under some other name, and our alloca.h will define it.
80723
80724 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
80725             Derek Price  <derek@ximbiot.com>
80726
80727         * lib/alloca.c: Include <alloca.h>, to get our interface.
80728         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
80729         include <alloca.h> first.  Use C89 prototype for alloca; this
80730         requires including <stddef.h> for size_t.  Use extern "C" if C++.
80731         Use #elif for simplicity, since we can assume C89 now.
80732         Don't try to source the system alloca.h since it will not be found
80733         and to prevent recursively including its replacement.
80734         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
80735         * lib/regex.c: Likewise.
80736
80737 2004-05-16  Derek Price  <derek@ximbiot.com>
80738             Paul Eggert  <eggert@cs.ucla.edu>
80739
80740         getline cleanup.  This changes the getndelim2 API: both order of
80741         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
80742         no delimiter).
80743
80744         * lib/getline.c: Don't include stddef.h or stdio.h, since our
80745         interface does that.
80746         (getline): Always use getdelim, so that we don't have two
80747         copies of this code.
80748         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
80749         if available.
80750         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
80751         (GETNDELIM2_MAXIMUM): New macro.
80752         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
80753         instead of the old practice of delim2==0.  All callers changed.
80754         Return -1 on overflow, instead of returning junk.
80755         Do not set *linesize unless allocation succeeds.
80756         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
80757         that we include sys/types.h.
80758         * lib/getnline.h: Likewise.
80759         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
80760         (getndelim2): Reorder arguments.
80761         * lib/getnline.c (getnline, getndelim):
80762         Don't discard the NMAX argument.
80763         (getnline): Invoke getndelim, to avoid code duplication.
80764         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
80765         of (size_t) -1 by callers of the getnline family.
80766
80767 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80768
80769         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
80770         Check for gettimeofday.
80771         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
80772         Check for settimeofday, stime.
80773
80774 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80775
80776         * lib/nanosleep.c (suspended): Change its type from int to
80777         sig_atomic_t volatile.
80778         (first_call): Make it private to rpl_nanosleep, and have it
80779         be zero initially as that's a bit faster.
80780         (my_usleep): Round up fractional times instead of truncating them,
80781         as this is the usual meaning for 'sleep'.
80782
80783         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
80784         doesn't work.
80785         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
80786         (ENOSYS): Define if not defined.
80787         (settime): Fall back on stime if it exists and settimeofday fails.
80788         But don't bother with fallbacks if a method fails with errno == EPERM.
80789
80790 2004-05-11  Jim Meyering  <jim@meyering.net>
80791
80792         Prior to this change, the save_cwd caller required read access to the
80793         current directory on most systems (ones with the fchdir function).
80794
80795         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
80796         fails, try write-only, and finally, resort to using xgetcwd.
80797
80798 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80799
80800         * lib/obstack.c, obstack.h: Import changes from libc.
80801
80802 2004-04-28  Bruno Haible  <bruno@clisp.org>
80803
80804         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
80805         also implicitly appends .exe to executables.
80806         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
80807         accepts Windows pathnames.
80808         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
80809         Treat Cygwin like Windows, since it now accepts Windows pathnames.
80810         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
80811         Treat Cygwin like Windows, since it now accepts Windows pathnames.
80812         Reported by Derek Robert Price <derek@ximbiot.com>.
80813
80814 2004-04-21  Karl Berry  <karl@gnu.org>
80815
80816         * config/srclist.txt (localcharset.c): break sync.
80817
80818 2004-04-20  Paul Eggert  <eggert@twinsun.com>
80819
80820         * m4/host-os.m4: Add a copyright notice.
80821
80822 2004-04-20  Jim Meyering  <jim@meyering.net>
80823
80824         Change UTILS_ to gl_ in AC_DEFINE'd names.
80825         Change utils_- and jm_-prefixed variables, too.
80826         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
80827         UTILS_FUNC_MKDIR_TRAILING_SLASH.
80828         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
80829
80830         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
80831         Don't emit trailing blanks.
80832         Also rename jm_-prefixed variables to have gl_ prefix.
80833
80834         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
80835         Also rename jm_-prefixed variables to have gl_ prefix.
80836
80837         * m4/jm-macros.m4: Reflect the renamings.
80838         * m4/prereq.m4: Likewise.
80839
80840 2004-04-20  Jim Meyering  <jim@meyering.net>
80841
80842         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
80843         memory.
80844
80845 2004-04-20  Jim Meyering  <jim@meyering.net>
80846             Bruno Haible  <bruno@clisp.org>
80847
80848         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
80849         memory when realloc fails.
80850
80851 2004-04-19  Jim Meyering  <jim@meyering.net>
80852
80853         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
80854         now that readutmp.c may call `free (0)'.
80855
80856 2004-04-19  Bruno Haible  <bruno@clisp.org>
80857
80858         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
80859         * m4/inttypes_h.m4: Likewise.
80860         * m4/stdint_h.m4: Likewise.
80861         * m4/intmax_t.m4: Likewise.
80862         * m4/uintmax_t.m4: Likewise.
80863
80864 2004-04-18  Jim Meyering  <jim@meyering.net>
80865
80866         * m4/prereq.m4: Don't forbid jm_ prefix.
80867
80868         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
80869         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
80870         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
80871         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
80872         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
80873         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
80874         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
80875         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
80876         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
80877         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
80878         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
80879         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
80880         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
80881         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
80882         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
80883         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
80884         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
80885         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
80886         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
80887
80888 2004-04-18  Jim Meyering  <jim@meyering.net>
80889
80890         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
80891         failure, don't leak memory and do call END_UTMP_ENT.
80892
80893 2004-04-16  Jim Meyering  <jim@meyering.net>
80894
80895         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
80896         coreutils' stat program.
80897         (gl_PREREQ): Don't require jm_PREREQ_STAT.
80898
80899 2004-04-11  Paul Eggert  <eggert@twinsun.com>
80900
80901         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
80902         C89.
80903         (CHAR_BIT): Remove, since we assume C89.
80904         Include <stdint.h> if available, as per current Autoconf CVS advice.
80905
80906 2004-03-31  Jim Meyering  <jim@meyering.net>
80907
80908         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
80909         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
80910         * m4/xalloc.m4: Likewise.
80911
80912 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80913
80914         Merge from coreutils.
80915
80916         * m4/inttostr.m4: New file.
80917         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
80918         Require AM_STDBOOL_H and gl_TIMESPEC instead.
80919         Require gl_CLOCK_TIME.
80920         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
80921
80922 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80923
80924         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
80925         not bool, to be more consistent with Unix conventions.
80926         Suggested by Bruno Haible.
80927
80928         Merge from coreutils.
80929
80930         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
80931         * lib/umaxtostr.c: New files.
80932
80933         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
80934         the usual <time.h> dance.
80935         (get_date): Change signature to support fractional time stamps.
80936         All callers changed.
80937         * lib/getdate.y: Include "getdate.h" first, as we can now
80938         assume C89 and don't need to worry about 'const'.
80939         Similarly, include "unlocked-io.h" near start, not in middle.
80940         Include <limits.h>.
80941         (textint.value): Use long int rather than int.
80942         (textint.digits): Use size_t rather than int.
80943         (BILLION, LOG10_BILLION): New constants.
80944         (parser_control): New member rel_ns.  Members day_ordinal,
80945         time_zone, month, day, hour, minutes, rel_year, rel_month,
80946         rel_day, rel_hour, rel_minutes, rel_seconds
80947         are now long int, not int.  Member seconds is now struct timespec,
80948         not int.  New member timespec_seen.  Members dates_seen, days_seen,
80949         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
80950         not int.
80951         (%union.intval): Now long int, not int.
80952         New member timespec.
80953         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
80954         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
80955         (spec): Now is a timespec or an item list.
80956         (timespec, items): New nonterminals.
80957         (time, rel, relunit, number, get_date):
80958         Add support for fractional seconds.
80959         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
80960         (gmtime, localtime, mktime): Remove decls; not needed with C89.
80961         (to_hour): First arg is now long int, not int.
80962         (to_year): Returns long int, not int.
80963         Don't treat year -70 like 70.
80964         (tm_diff): Returns long int, not int.
80965         (lookup_word): Use bool instead of int when appropriate.
80966         (yylex): Use size_t for count, not int.
80967         Detect overflow when parsing large integer constants.
80968         Add support for fractions.
80969         (get_date): Make pointers 'const' if possible.
80970         Use more-portable code to detect integer overflow.
80971         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
80972         Don't use ctime; it's not reliable if the year has >4 digits.
80973
80974         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
80975         This is for compatibility with BSD.
80976
80977         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
80978         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
80979         From coreutils' system.h.
80980
80981         * lib/userspec.c: Don't include "posixver.h".
80982         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
80983         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
80984         compatible extension.  Simplify code by removing a boolean int
80985         that was always nonzero if a string was nonnull.
80986
80987 2004-03-30  Jim Meyering  <jim@meyering.net>
80988
80989         Merge from coreutils.
80990
80991         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
80992         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
80993         on some systems one must include <grp.h> before it.
80994         Reported by Christian Krackowizer.
80995
80996 2004-03-30  Jim Meyering  <jim@meyering.net>
80997
80998         Merge from coreutils.
80999
81000         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
81001
81002         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
81003         an empty input stream.
81004
81005         * lib/readtokens.c: Include <stdbool.h>.
81006         (readtoken): Use `size_t' rather than int/long.
81007         All callers adjusted.
81008         Use `bool' rather than `int' where appropriate.
81009         Use memset rather than an explicit loop.
81010         Use x2nrealloc rather than xrealloc.
81011         Allow the use of `\0' as a delimiter.
81012         (readtokens): Likewise.
81013         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
81014
81015 2004-03-30  Jim Meyering  <jim@meyering.net>
81016
81017         * m4/realloc.m4: Remove file, since now it does no more than
81018         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
81019         the `configure.ac' section of module/realloc.
81020         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
81021
81022 2004-03-30  Bruno Haible  <bruno@clisp.org>
81023
81024         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
81025         nonnull.
81026
81027 2004-03-29  Paul Eggert  <eggert@twinsun.com>
81028
81029         Merge changes to getloadavg.c from coreutils and Emacs.
81030
81031         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
81032         Define to an expression, not to the empty string.
81033         Include cloexec.h and xalloc.h.
81034         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
81035         Use set_cloexec_flag rather than rolling our own.
81036         * lib/cloexec.c, lib/cloexec.h: New files.
81037
81038 2004-03-29  Paul Eggert  <eggert@twinsun.com>
81039
81040         * m4/cloexec.m4: New file.
81041
81042 2004-03-18  Paul Eggert  <eggert@twinsun.com>
81043
81044         * lib/getopt.h: Sync with libc CVS.
81045
81046 2004-03-18  Paul Eggert  <eggert@twinsun.com>
81047             Bruno Haible  <bruno@clisp.org>
81048
81049         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
81050         mbswidth.
81051
81052 2004-03-18  Paul Eggert  <eggert@twinsun.com>
81053             Bruno Haible  <bruno@clisp.org>
81054
81055         * lib/mbswidth.h: Include <wchar.h> only if
81056         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
81057         <wchar.h>.
81058         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
81059
81060 2004-03-09  Paul Eggert  <eggert@twinsun.com>
81061
81062         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
81063         Sync with libc CVS.
81064         * lib/getopt_int.h: New file, also synced from libc.
81065
81066 2004-03-09  Paul Eggert  <eggert@twinsun.com>
81067
81068         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
81069         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
81070         Bring back getopt.c, getopt.h, getopt1.c.
81071
81072 2004-03-07  Paul Eggert  <eggert@twinsun.com>
81073
81074         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
81075         All uses changed.  Check for sa_sigaction member; this fixes
81076         a bug first reported by Jason Andrade in
81077         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
81078
81079 2004-03-07  Paul Eggert  <eggert@twinsun.com>
81080
81081         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
81082         '#if' expressions.  Unlike the code it replaces, it does not
81083         depend on (defined _SC_PAGESIZE).  However, it does depend on
81084         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
81085         first reported by Jason Andrade in
81086         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
81087
81088 2004-02-25  Simon Josefsson  <jas@extundo.com>
81089
81090         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
81091
81092 2004-02-25  Simon Josefsson  <jas@extundo.com>
81093
81094         * lib/strdup.h: New file.
81095         * lib/strdup.c: Include it.
81096         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
81097         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
81098
81099 2004-02-23  Karl Berry  <karl@gnu.org>
81100
81101         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
81102         (from fencepost.gnu.org:/gd/gnuorg).
81103
81104 2004-02-23  Karl Berry  <karl@gnu.org>
81105
81106         * config/srclistvars.sh (GNUORG) [karl]: redefine.
81107         * config/srclist.txt: add maintain/standards documents.
81108
81109 2004-02-18  Bruno Haible  <bruno@clisp.org>
81110
81111         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
81112         Reported by Derek Robert Price <derek@ximbiot.com>.
81113
81114 2004-02-16  Karl Berry  <karl@gnu.org>
81115
81116         * config/mkinstalldirs, install-sh: update from automake.
81117
81118 2004-02-06  Karl Berry  <karl@gnu.org>
81119
81120         * m4/po.m4: update from gettext 0.14.1.
81121
81122 2004-02-06  Karl Berry  <karl@gnu.org>
81123
81124         * lib/config.charset: update from gettext 0.14.1.
81125
81126 2004-02-05  Paul Eggert  <eggert@twinsun.com>
81127
81128         Add comments and code, prompted by suggestions from Bruno Haible
81129         for sh-quote.
81130         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
81131         describing the enum quoting_style values.
81132         * lib/quotearg.c (quotearg_alloc): New function.
81133         (quotearg_buffer_restyled): Treat lone { and } as special.
81134         Treat = as special.  Work around bug with older shells
81135         that "see" a '\' that is really the 2nd byte of a multibyte char.
81136         Quote empty string with shell_quoting_style.
81137
81138 2004-02-03  Bruno Haible  <bruno@clisp.org>
81139
81140         * m4/pipe.m4: New file, from GNU gettext.
81141
81142 2004-02-03  Bruno Haible  <bruno@clisp.org>
81143
81144         * lib/pipe.h: New file, from GNU gettext.
81145         * lib/pipe.c: New file, from GNU gettext.
81146
81147 2004-01-27  Bruno Haible  <bruno@clisp.org>
81148
81149         * m4/execute.m4: New file, from GNU gettext.
81150
81151 2004-01-27  Bruno Haible  <bruno@clisp.org>
81152
81153         * lib/execute.h: New file, from GNU gettext.
81154         * lib/execute.c: New file, from GNU gettext.
81155         * lib/w32spawn.h: New file, from GNU gettext.
81156
81157 2004-01-24  Paul Eggert  <eggert@twinsun.com>
81158
81159         Merge from diffutils.
81160
81161         * lib/file-type.c (file_type): Add typed memory objects.
81162         * lib/file-type.h (S_TYPEISTMO): New macro.
81163
81164         * lib/c-stack.h (c_stack_action): Remove argv argument.
81165         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
81166         (die): Don't calculate message unless segv_action returns.
81167         (get_stack_location, min_address_from_argv, max_address_from_argv,
81168         volatile stack_base, volatile_stack_size): Remove.
81169         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
81170         that every segmentation violation is a stack overflow.  (Ouch!)
81171         See Debian bug 136249 (still outstanding) for more info about why
81172         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
81173
81174 2004-01-24  Paul Eggert  <eggert@twinsun.com>
81175
81176         Exit-status fix from coreutils.
81177
81178         Use exit_failure consistently in place of EXIT_FAILURE,
81179         so that program exit statuses are consistent on failure.
81180
81181         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
81182         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
81183         * lib/argmatch.h: Comment fix to match the above.
81184         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
81185         Now a macro referring to exit_failure, instead of a separate
81186         variable.  Include "exitfail.h" to get it.
81187         * lib/xstrtol.h: Include "exitfail.h".
81188         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
81189
81190         * lib/long-options.c (parse_long_options): Use prototype
81191         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
81192         for clarity.
81193
81194 2004-01-21  Jim Meyering  <jim@meyering.net>
81195
81196         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
81197         so as not to conflict with a different-sized __mktime_internal
81198         function in GNU libc.
81199         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
81200         Problem building statically-linked `ls' reported by Michael Brunnbauer.
81201
81202 2004-01-20  Karl Berry  <karl@gnu.org>
81203
81204         * config/config.guess: update from config.
81205
81206         * config/srclistvars.sh: GNUWWWLICENSES for karl.
81207
81208 2004-01-20  Bruno Haible  <bruno@clisp.org>
81209
81210         Safer stack allocation.
81211         * lib/setenv.c: Include allocsa.h.
81212         (alloca): Remove fallback definition.
81213         (freea): Remove macro.
81214         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
81215         instead of freea.
81216
81217 2004-01-20  Bruno Haible  <bruno@clisp.org>
81218
81219         * m4/eealloc.m4: New file, from GNU gettext.
81220
81221 2004-01-20  Bruno Haible  <bruno@clisp.org>
81222
81223         * m4/allocsa.m4: New file, from GNU gettext.
81224
81225 2004-01-20  Bruno Haible  <bruno@clisp.org>
81226
81227         * lib/xallocsa.h: New file, from GNU gettext.
81228         * lib/xallocsa.c: New file, from GNU gettext.
81229
81230 2004-01-20  Bruno Haible  <bruno@clisp.org>
81231
81232         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
81233
81234 2004-01-20  Bruno Haible  <bruno@clisp.org>
81235
81236         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
81237         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
81238         specially.
81239
81240 2004-01-20  Bruno Haible  <bruno@clisp.org>
81241
81242         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
81243         patch.
81244
81245 2004-01-20  Bruno Haible  <bruno@clisp.org>
81246
81247         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
81248
81249 2004-01-20  Bruno Haible  <bruno@clisp.org>
81250
81251         * lib/eealloc.h: New file.
81252
81253 2004-01-20  Bruno Haible  <bruno@clisp.org>
81254
81255         * lib/binary-io.h: Avoid warnings on Cygwin.
81256
81257 2004-01-20  Bruno Haible  <bruno@clisp.org>
81258
81259         * lib/allocsa.h: New file, from GNU gettext.
81260         * lib/allocsa.c: New file, from GNU gettext.
81261
81262 2004-01-18  Karl Berry  <karl@gnu.org>
81263
81264         * doc/gpl.texi, doc/lgpl.texi: new files.
81265
81266 2004-01-18  Karl Berry  <karl@gnu.org>
81267
81268         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
81269         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
81270
81271 2004-01-15  Paul Eggert  <eggert@twinsun.com>
81272
81273         Merge from coreutils.
81274
81275         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
81276         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
81277         (gl_DEFAULT_POSIX2_VERSION): Move
81278         the documentation from 'configure' into 'config.hin',
81279         so that 'configure --help' isn't burdened by it and
81280         we don't have to worry about its formatting there.
81281         Reword the documentation so that it's more succinct
81282         and can be run together into a single paragraph.
81283         * m4/same.m4 (gl_SAME): Check for pathconf.
81284
81285 2004-01-15  Paul Eggert  <eggert@twinsun.com>
81286
81287         Merge from coreutils.
81288
81289         * lib/posixver.c: Include posixver.h.
81290
81291         * lib/same.c: Include <stdbool.h>, <limits.h>.
81292         (_POSIX_NAME_MAX): Define if not defined.
81293         (MIN): New macro.
81294         (same_name): If file names are silently truncated, report
81295         that the file names are the same if they are the same after
81296         the silent truncation.
81297
81298         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
81299         conversion function.
81300         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
81301         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
81302         longer needed.
81303
81304 2004-01-15  Jim Meyering  <jim@meyering.net>
81305
81306         Merge from coreutils.
81307
81308         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
81309         if no library is required.
81310         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
81311         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
81312         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
81313         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
81314         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
81315         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
81316         value, $ac_cv_search_crypt, if it's "none required".
81317         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
81318         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
81319         not gl_FUNC_GETLOADAVG.
81320         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
81321         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
81322
81323 2004-01-15  Jim Meyering  <jim@meyering.net>
81324
81325         Merge from coreutils.
81326
81327         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
81328         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
81329         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
81330
81331         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
81332         optional configure-time default.
81333
81334         * lib/version-etc.c (version_etc_copyright): Update copyright date.
81335
81336         * lib/xreadlink.c (xreadlink): Correct outdated comment.
81337
81338 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
81339
81340         Merge from coreutils.
81341
81342         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
81343         value, $ac_cv_search_nanosleep, if it's "none required".
81344
81345 2004-01-14  Paul Eggert  <eggert@twinsun.com>
81346
81347         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
81348         with like-named macro in fnmatch.c.
81349         (EXT): Use an internal constant instead.
81350
81351         Merge fnmatch patches from glibc.
81352         * lib/fnmatch.c (mbsinit): Remove define.
81353         Add libc_hidden_ver (__fnmatch, fnmatch).
81354         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
81355         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
81356
81357 2004-01-14  Karl Berry  <karl@gnu.org>
81358
81359         * config/install-sh: update from automake.
81360
81361 2004-01-13  Karl Berry  <karl@gnu.org>
81362
81363         * config/install-sh: update from automake.
81364
81365 2004-01-09  Karl Berry  <karl@gnu.org>
81366
81367         * config/install-sh: update from automake.
81368
81369 2004-01-05  Karl Berry  <karl@gnu.org>
81370
81371         * config/config.{sub,guess}: update from config.
81372
81373 2003-12-31  Karl Berry  <karl@gnu.org>
81374
81375         * config/depcomp: update from automake.
81376
81377 2003-12-14  Karl Berry  <karl@gnu.org>
81378
81379         * lib/config.charset: update from gettext-runtime.
81380
81381 2003-12-03  Paul Eggert  <eggert@twinsun.com>
81382
81383         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
81384         Bug reported by Alfred M. Szmidt.
81385
81386 2003-12-03  Bruno Haible  <bruno@clisp.org>
81387
81388         * m4/gettext.m4: Upgrade from gettext-0.13.
81389         * m4/po.m4: Upgrade from gettext-0.13.
81390         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
81391         * m4/intmax.m4: New file, from gettext-0.13.
81392         * m4/printf-posix.m4: New file, from gettext-0.13.
81393
81394 2003-11-29  Karl Berry  <karl@gnu.org>
81395
81396         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
81397
81398 2003-11-25  Paul Eggert  <eggert@twinsun.com>
81399             Bruno Haible  <bruno@clisp.org>
81400
81401         * lib/printf-parse.h: Don't include sys/types.h.
81402         (ARG_NONE): New macro.
81403         (char_directive): Change type of *arg_index fields to size_t.
81404         * lib/printf-parse.c: Don't include sys/types.h.
81405         (SSIZE_MAX): Remove macro.
81406         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
81407         Remove unnecessary overflow check.
81408         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
81409         fields.
81410
81411 2003-11-25  Bruno Haible  <bruno@clisp.org>
81412
81413         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
81414
81415 2003-11-25  Bruno Haible  <bruno@clisp.org>
81416
81417         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
81418         gt_TYPE_SSIZE_T.
81419
81420 2003-11-24  Paul Eggert  <eggert@twinsun.com>
81421
81422         * modules/alloca: Remove dependency on xalloc.
81423
81424 2003-11-24  Paul Eggert  <eggert@twinsun.com>
81425
81426         * lib/alloca.c: Remove dependency on xalloc module.
81427         (xalloc_die): Remove.
81428         (memory_full) [!defined emacs]: New macro.
81429         [!defined emacs]: Don't include xalloc.h.
81430         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
81431         address arithmetic overflows.  Change datatypes a bit to avoid
81432         unnecessary casts.
81433
81434 2003-11-22  Jim Meyering  <jim@meyering.net>
81435
81436         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
81437         s/size/size_t/.
81438
81439 2003-11-21  Karl Berry  <karl@gnu.org>
81440
81441         * config/config.{sub,guess}: update from config.
81442
81443 2003-11-18  Karl Berry  <karl@gnu.org>
81444
81445         * config/config.{sub,guess}: update from config.
81446
81447         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
81448
81449 2003-11-17  Paul Eggert  <eggert@twinsun.com>
81450
81451         * README: Mention that S+T cannot overflow if S is the size of
81452         an existing object and T is sufficiently small.
81453
81454 2003-11-17  Jim Meyering  <jim@meyering.net>
81455
81456         On systems without utime and without a utimes function capable of
81457         dealing with a NULL struct utimbuf* argument, this utime replacement
81458         could -- in unusual circumstances -- leak a file descriptor.
81459         * lib/utime.c: Include <unistd.h> and <errno.h>.
81460         (utime_null): Be sure to close `fd' and to preserve errno.
81461         Reported by Geoff Collyer via Arnold Robbins.
81462
81463 2003-11-17  Bruno Haible  <bruno@clisp.org>
81464
81465         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
81466         (Depends-on): Add xsize.
81467
81468 2003-11-17  Bruno Haible  <bruno@clisp.org>
81469
81470         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
81471
81472 2003-11-17  Bruno Haible  <bruno@clisp.org>
81473
81474         * lib/vasnprintf.c (alloca): Remove fallback definition.
81475         (freea): Remove definition.
81476         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
81477         Reported by Paul Eggert.
81478
81479 2003-11-16  Paul Eggert  <eggert@twinsun.com>
81480             Bruno Haible  <bruno@clisp.org>
81481
81482         Protect against address arithmetic overflow.
81483         * lib/printf-args.h: Include stddef.h.
81484         (arguments): Change type of field 'count' to size_t.
81485         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
81486         'unsigned int' where appropriate.
81487         * lib/printf-parse.h: Include sys/types.h.
81488         (char_directive): Change type of *arg_index fields to ssize_t.
81489         (char_directives): Change type of fields 'count', max_*_length to
81490         size_t.
81491         * lib/printf-parse.c: Include sys/types.h and xsize.h.
81492         (SSIZE_MAX): Define fallback value.
81493         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
81494         instead of 'int' where appropriate. Check a_allocated, d_allocated
81495         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
81496         * lib/vasnprintf.c: Include xsize.h.
81497         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
81498         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
81499         overflow. Avoid wraparound when converting a width or precision from
81500         decimal to binary.
81501
81502 2003-11-16  Bruno Haible  <bruno@clisp.org>
81503
81504         Update from GNU gettext.
81505         * lib/printf-parse.c: Generalize to it can be compiled for wide
81506         strings.
81507         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
81508         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
81509         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
81510         SNPRINTF): New macros.
81511         Don't include <alloca.h> if the file is used inside libintl.
81512         (local_wcslen): New function, for Solaris 2.5.1.
81513         (VASNPRINTF): Use it instead of wcslen.
81514
81515 2003-11-16  Bruno Haible  <bruno@clisp.org>
81516
81517         * lib/xsize.h (xmax): New function.
81518         (xsum, xsum3, xsum4): Declare as "pure" functions.
81519
81520 2003-11-12  Paul Eggert  <eggert@twinsun.com>
81521
81522         * modules/xalloc (Files): Undo latest change, since xalloc.h
81523         no longer needs SIZE_MAX or PTRDIFF_MAX.
81524
81525 2003-11-12  Paul Eggert  <eggert@twinsun.com>
81526
81527         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
81528         gl_PTRDIFF_MAX.
81529
81530 2003-11-12  Paul Eggert  <eggert@twinsun.com>
81531
81532         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
81533         "return", to pacify some unknown compiler.  Problem reported
81534         by Joerg Schilling.
81535
81536 2003-11-12  Paul Eggert  <eggert@twinsun.com>
81537
81538         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
81539         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
81540         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
81541         heuristic is just as accurate as far as we know, and it removes a
81542         dependency on size_max.m4 and ptrdiff_max.m4.
81543
81544 2003-11-11  Bruno Haible  <bruno@clisp.org>
81545
81546         * modules/xsize (Files): Add m4/size_max.m4.
81547         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
81548
81549 2003-11-11  Bruno Haible  <bruno@clisp.org>
81550
81551         * m4/size_max.m4: New file.
81552         * m4/ptrdiff_max.m4: New file.
81553         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
81554         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
81555         (gl_XALLOC): Invoke it.
81556
81557 2003-11-11  Bruno Haible  <bruno@clisp.org>
81558
81559         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
81560         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
81561         defined.
81562
81563 2003-11-10  Paul Eggert  <eggert@twinsun.com>
81564
81565         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
81566         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
81567         rejected some allocations of exactly SIZE_MAX - 2 bytes.
81568         From Bruno Haible.
81569         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
81570         not (size_t) -1, since it's defined here.
81571
81572 2003-11-09  Karl Berry  <karl@gnu.org>
81573
81574         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
81575
81576 2003-11-06  Paul Eggert  <eggert@twinsun.com>
81577
81578         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
81579         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
81580         Reject sizes of exactly SIZE_MAX bytes.
81581         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
81582         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
81583
81584 2003-11-05  Bruno Haible  <bruno@clisp.org>
81585
81586         * lib/xsize.h: Include limits.h, to avoid a possible collision with
81587         SIZE_MAX defined in <limits.h> on Solaris.
81588
81589 2003-11-04  Jim Meyering  <jim@meyering.net>
81590
81591         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
81592         variable names, rather than @VAR@.
81593         * modules/poll: Likewise.
81594
81595 2003-11-04  Bruno Haible  <bruno@clisp.org>
81596
81597         * modules/xsize: New file.
81598         * modules/linebreak: Depend on xsize.
81599         * MODULES.html.sh (func_all_modules): Add xsize.
81600
81601 2003-11-04  Bruno Haible  <bruno@clisp.org>
81602
81603         * m4/xsize.m4: New file.
81604
81605 2003-11-04  Bruno Haible  <bruno@clisp.org>
81606
81607         * lib/xsize.h: New file.
81608         * lib/linebreak.c: Include xsize.h.
81609         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
81610         argument for overflow.
81611         Suggested by Paul Eggert.
81612
81613 2003-11-03  Karl Berry  <karl@gnu.org>
81614
81615         * config/config.{guess,sub}: update from config.
81616
81617 2003-11-03  Jim Meyering  <jim@meyering.net>
81618
81619         * modules/userspec (lib_SOURCES): Add userspec.h.
81620         (Include): Add "userspec.h".
81621         Improve description.
81622
81623 2003-11-03  Jim Meyering  <jim@meyering.net>
81624
81625         * lib/userspec.c: Include "userspec.h".
81626         * lib/userspec.h: New file.
81627
81628 2003-11-03  Bruno Haible  <bruno@clisp.org>
81629
81630         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
81631
81632 2003-11-03  Bruno Haible  <bruno@clisp.org>
81633
81634         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
81635         available, to avoid (extremely rare) race condition.
81636         Suggested by Paul Eggert.
81637
81638 2003-11-02  Karl Berry  <karl@gnu.org>
81639
81640         * config/srclist.txt (vasprintf.c): sync broken, sigh.
81641
81642 2003-10-31  Paul Eggert  <eggert@twinsun.com>
81643
81644         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
81645         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
81646         (read_filesystem_list): Set and use me_type_malloced.
81647         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
81648         whatever the type happens to be), for brevity and consistency.
81649         Check for size calculation overflow on Alphas running OSF/1.
81650
81651 2003-10-31  Jim Meyering  <jim@meyering.net>
81652
81653         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
81654
81655         * lib/linebuffer.c: Include <string.h> for declaration of memset.
81656
81657 2003-10-30  Paul Eggert  <eggert@twinsun.com>
81658             Bruno Haible  <bruno@clisp.org>
81659
81660         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
81661         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
81662
81663 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81664
81665         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
81666         netbsd*-gnu*.  Suggested by Robert Millan.
81667
81668 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81669
81670         * modules/group-member: Depend on stdbool.
81671
81672 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81673
81674         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
81675
81676 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81677
81678         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
81679         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
81680         after the 'gnu' in these cases.  This fixes some bugs in the
81681         previous change, and is based on suggestions by Robert Millan.
81682
81683 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81684
81685         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
81686         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
81687         no longer needed.
81688         * lib/quotearg.c (quotearg_n_options): Use it.
81689         * lib/group-member.c: Include <stdbool.h>.
81690         (free_group_info): Arg is now const *; don't free arg.
81691         (get_group_info): Now returns bool and accepts struct group_info *,
81692         rather than returning a malloc'ed struct group_info *.
81693         All uses changed.  Check for overflow in internal size calculation.
81694
81695         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
81696         rather than xmalloc/xrealloc.
81697         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
81698         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
81699         conformance bug: the old code used a pointer after freeing the
81700         storage that it addressed.
81701         * lib/hash.c (hash_initialize): Simplify the code by using
81702         xalloc_oversized rather than doing it by hand.
81703         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
81704         the buffer preserved.  Use free and xmalloc instead.
81705         * lib/quotearg.c (quotearg_n_options): Likewise.
81706         Use a simpler test for size overflow.  Don't use xalloc_oversized
81707         because unsigned int might be wider than size_t (!); this suggests
81708         that we should switch from unsigned int to size_t for slot numbers.
81709
81710 2003-10-28  Paul Eggert  <eggert@twinsun.com>
81711
81712         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
81713         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
81714         NetBSD kernels.  Requested by Richard Stallman.
81715
81716 2003-10-27  Paul Eggert  <eggert@twinsun.com>
81717
81718         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
81719         to allocate the returned structure.  Do not allocate a subarray,
81720         as x2nrealloc will do that.
81721         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
81722         instead of xnrealloc.
81723         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
81724
81725 2003-10-27  Bruno Haible  <bruno@clisp.org>
81726
81727         * lib/stdbool_.h: Better support for BeOS.
81728
81729 2003-10-26  Paul Eggert  <eggert@twinsun.com>
81730
81731         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
81732         now uses inline.
81733
81734 2003-10-26  Paul Eggert  <eggert@twinsun.com>
81735
81736         * lib/xalloc.h (xalloc_oversized): New static inline function, for
81737         callers that want to do their own size-overflow checking.  Include
81738         <stdbool.h>, since xalloc_oversized returns bool.
81739         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
81740         to use xalloc_oversized.
81741
81742         Add two functions x2realloc, x2nrealloc, for programs that grow
81743         arrays dynamically by doubling their sizes.
81744         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
81745         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
81746         New functions.
81747
81748         Port to C99 semantics for 'inline' of external functions.
81749         Bug reported by Bruno Haible.
81750         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
81751         with the old contents of xnmalloc.
81752         (xnmalloc, xmalloc): Use it.
81753         (xnrealloc_inline): New static inline function,
81754         with the old contents of xnrealloc.
81755         (xnrealloc, xrealloc): Use it.
81756
81757         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
81758         that.
81759
81760 2003-10-26  Karl Berry  <karl@gnu.org>
81761
81762         * config/srclist.txt (COPYING.DOC): no longer available from
81763         /gd/gnuorg; don't know where the ultimate source is.
81764
81765 2003-10-25  Paul Eggert  <eggert@twinsun.com>
81766
81767         Fix several address-calculation bugs in the hash modules,
81768         plus some minor code cleanup.
81769
81770         * lib/hash.h: Include <stdbool.h>, for bool.
81771         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
81772         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
81773         hash_get_n_entries, hash_get_max_bucket_length,
81774         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
81775         hash_rehash): Use size_t rather than unsigned.
81776         * lib/hash.c (struct hash_table, hash_get_n_buckets,
81777         hash_get_n_buckets_used, hash_get_n_entries,
81778         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
81779         hash_get_entries, hash_do_for_each, hash_string, is_prime,
81780         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
81781         Likewise.
81782         (SIZE_MAX): Define if not defined.
81783         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
81784         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
81785         hash_print):
81786         Use const * when possible.
81787         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
81788         (check_tuning): Fix bug: if tuning parameters were very close to
81789         0 or 1, rounding errors could have caused subscript violations.
81790         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
81791         (hash_initialize): Add 'fail:' label
81792         to free table and return NULL, and use it to simplify code.
81793         Use calloc rather than clearing the storage ourself.
81794         (hash_initialize, hash_rehash): Check for arithmetic overflow in
81795         buffer size calculations.
81796         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
81797         Include <stddef.h>, for size_t.
81798         * lib/hash-pjw.c (hash_pjw): Likewise.
81799         Switch to method described by Bruno Haible.
81800         Include <limits.h>, for CHAR_BIT.
81801         (SIZE_BITS): New macro.
81802
81803 2003-10-23  Paul Eggert  <eggert@twinsun.com>
81804
81805         * m4/getline.m4 (AM_FUNC_GETLINE):
81806         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
81807         hosts.  Problem reported by Derek Robert Price in
81808         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
81809         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
81810         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
81811
81812 2003-10-21  Paul Eggert  <eggert@twinsun.com>
81813
81814         * lib/getndelim2.c (getndelim2): When size calculation overflows,
81815         ceiling the allocation at NMAX bytes rather than silently
81816         discarding input bytes before NMAX is reached.  This makes
81817         a difference only if NMAX exceeds SIZE_MAX / 2.
81818
81819         * lib/obstack.c: Merge from glibc.
81820         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
81821         Add libc_hidden_def (_obstack_newchunk).
81822         (_obstack_free) [! defined _LIBC]: Remove.
81823         [defined _LIBC]: Make a strong alias from obstack_free, rather than
81824         a clone of the function body.
81825         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
81826         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
81827
81828         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
81829         glibc.
81830         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
81831         arg to memcpy.
81832
81833         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
81834         (obstack_ptr_grow_fast, obstack_int_grow_fast):
81835         Don't use lvalue casts, as GCC plans to remove support for them
81836         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
81837         was also present in the non-GCC version, indicating that this
81838         code had always been buggy and had never been widely used.
81839         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
81840         Use the fast variant of each macro, rather than copying the
81841         definiens of the fast variant; that way, we'll be more likely to
81842         catch future bugs in the fast variants.
81843
81844 2003-10-20  Bruno Haible  <bruno@clisp.org>
81845
81846         * modules/wait-process: New file.
81847         * MODULES.html.sh (func_all_modules): Add wait-process.
81848
81849 2003-10-20  Bruno Haible  <bruno@clisp.org>
81850
81851         * m4/wait-process.m4: New file.
81852
81853 2003-10-20  Bruno Haible  <bruno@clisp.org>
81854
81855         * lib/wait-process.h: New file, from GNU gettext.
81856         * lib/wait-process.c: New file, from GNU gettext.
81857
81858 2003-10-19  Jim Meyering  <jim@meyering.net>
81859
81860         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
81861         HPUX 10.20.
81862
81863 2003-10-18  Karl Berry  <karl@gnu.org>
81864
81865         * config/config.guess: update from config.
81866
81867 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81868
81869         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
81870         (getgroups): First arg is int, not size_t.
81871         Don't let 'free' mangle errno.
81872
81873 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81874
81875         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
81876
81877 2003-10-16  Karl Berry  <karl@gnu.org>
81878
81879         * config/config.{guess,sub}: update from config.
81880
81881 2003-10-16  Jim Meyering  <jim@meyering.net>
81882
81883         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
81884         memcpy.
81885
81886 2003-10-15  Paul Eggert  <eggert@twinsun.com>
81887
81888         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
81889         (SIZE_MAX): Remove.
81890         (new_exclude, add_exclude_file): Initial size no longer needs to
81891         be a power of 2.
81892         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
81893         our own address arithmetic overflow checking.
81894
81895         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
81896         (fnmatch): Do not alloca more than 2000 wide characters;
81897         instead, use malloc for large buffers.
81898         Check for address arithmetic overflow, and return -1
81899         with errno set to ENOMEM in that case.
81900         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
81901         (NEW_PATTERN): Do not alloca more than 8000 bytes;
81902         instead, return -1.  Check for address arithmetic overflow.
81903
81904 2003-10-14  Paul Eggert  <eggert@twinsun.com>
81905
81906         Handle invalid suffixes and overflow independently, so that
81907         callers can treat them independently as needed.  Fix some bugs in
81908         suffix handling, e.g., "100k@" was not diagnosed as an invalid
81909         suffix for a human-readable blocksize.  The major caller-visible
81910         change is the addition of a new
81911         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
81912         that both overflow and suffix chars were found.
81913
81914         * lib/human.c (humblock): Don't check separately for invalid suffix
81915         char; that is xstrtoumax's job (now that its bug is fixed).
81916         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
81917         INTMAX_MAX]: New macros.
81918         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
81919         TYPE_MAXIMUM): New macros.
81920         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
81921         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
81922         if overflow occurs, as it's what __strtol does and it's more useful
81923         in practice.
81924         (__xstrtol): If __strtol reports some error other than ERANGE,
81925         reflect it to the caller as LONGINT_INVALID.  If it reports
81926         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
81927         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
81928         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
81929         value.
81930         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
81931         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
81932         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
81933         [defined UINTMAX_MAX]: New macros.
81934
81935 2003-10-14  Bruno Haible  <bruno@clisp.org>
81936
81937         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
81938
81939 2003-10-14  Bruno Haible  <bruno@clisp.org>
81940
81941         * m4/sig_atomic_t: New file, from GNU gettext.
81942         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
81943
81944 2003-10-14  Bruno Haible  <bruno@clisp.org>
81945
81946         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
81947         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
81948         Also use volatile where needed.
81949
81950 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81951
81952         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
81953         Change maintainer from Bruno Haible to 'all'.
81954
81955 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81956
81957         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
81958
81959 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81960
81961         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
81962         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
81963         and define in terms of the other primitives.
81964         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
81965         (SIZE_MAX): Define if not already defined.
81966         (array_size_overflow): New function.
81967         (xalloc_die): Abort instead of exiting if 'error' returns.
81968         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
81969         (xmalloc, xrealloc): Use them.
81970         (xcalloc): Check for address arithmetic overflow.
81971         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
81972         a bit faster than strcpy.
81973
81974 2003-10-10  Simon Josefsson  <jas@extundo.com>
81975
81976         * modules/argp (Depends-on): Add restrict and strcase.
81977
81978 2003-10-10  Simon Josefsson  <jas@extundo.com>
81979
81980         * m4/argp.m4: Add AC_C_INLINE.
81981
81982 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81983
81984         Merge getpass from libc, plus a few fixes.
81985
81986         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
81987         Include <stdbool.h>.
81988         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
81989         __fsetlocking to empty.
81990         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
81991         do include <bits/libc-lock.h>.
81992         Do not include <fcntl.h>; not needed.
81993         [_LIBC]: Include <wchar.h>.
81994         (NOTCANCEL_MODE): New macro.
81995         (flockfile, funlockfile) [_LIBC]: New macros.
81996         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
81997         [!_LIBC]: New macros.
81998         (call_fclose): New function.
81999         (getpass): Use it.  Save tty stream separately; this simplifies the
82000         code and makes it more reliable if stdin happens to equal stdout.
82001         Invoke __fsetlocking on tty.
82002         Handle thread cancellation if needed.
82003         Namespace cleanup (use __tcgetattr, __getline).
82004         Use bool for Booleans.
82005         [USE_IN_LIBIO]: Handle wide streams.
82006         [!_LIBC]: Unconditionally do the fseek, since we don't know what
82007         stream might go where.
82008
82009         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
82010         doesn't have to include <stdio.h> before us.
82011         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
82012         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
82013         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
82014         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
82015         if not declared, so that we can use getpass.c code from libc without
82016         rewriting it.
82017         (flockfile, ftrylockfile, funlockfile): New macros.
82018
82019 2003-10-08  Paul Eggert  <eggert@twinsun.com>
82020
82021         * modules/getpass: Depend on stdbool.
82022
82023 2003-10-08  Paul Eggert  <eggert@twinsun.com>
82024
82025         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
82026
82027 2003-10-07  Karl Berry  <karl@gnu.org>
82028
82029         * config/config.{guess,sub}: update from config.
82030
82031 2003-10-06  Jim Meyering  <jim@meyering.net>
82032             Bruno Haible  <bruno@clisp.org>
82033
82034         This lets translators provide better translations for the
82035         "Written by ..." part of --version output.
82036         * lib/version-etc.h: Include stdarg.h.
82037         (version_etc_copyright): Declare as readonly.
82038         (version_etc): Make this function variadic with a NULL-terminated list
82039         of author name strings.
82040         (version_etc_va): New declaration.
82041         * lib/version-etc.c: Include stdarg.h, stdlib.h.
82042         (version_etc_copyright): Declare as readonly.
82043         (version_etc_va): New function. Provide a different translatable string
82044         for each possible number of authors < 10. Abbreviate when there are 10
82045         authors or more.
82046         (version_etc): Make this function variadic. Call version_etc_va.
82047         Suggestion from Gary V. Vaughan.
82048
82049         * lib/long-options.h (parse_long_options): Change prototype: the
82050         authors string is moved to the end and becomes variadic.
82051         * lib/long-options.c: Include stdarg.h.
82052         (parse_long_options): Make this function variadic, too.
82053         Call version_etc_va, not version_etc.
82054
82055 2003-10-06  Bruno Haible  <bruno@clisp.org>
82056
82057         * modules/version-etc-2: Remove file.
82058         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
82059
82060 2003-10-06  Bruno Haible  <bruno@clisp.org>
82061
82062         * modules/fatal-signal: New file.
82063         * MODULES.html.sh (func_all_modules): Add fatal-signal.
82064
82065 2003-10-06  Bruno Haible  <bruno@clisp.org>
82066
82067         * m4/fatal-signal.m4: New file.
82068         * m4/signalblocking.m4: New file, from GNU gettext.
82069
82070 2003-10-06  Bruno Haible  <bruno@clisp.org>
82071
82072         * lib/version-etc-2.h: Remove file.
82073         * lib/version-etc-2.c: Remove file.
82074
82075 2003-10-06  Bruno Haible  <bruno@clisp.org>
82076
82077         * lib/fatal-signal.h: New file, from GNU gettext.
82078         * lib/fatal-signal.c: New file, from GNU gettext.
82079
82080 2003-10-05  Paul Eggert  <eggert@twinsun.com>
82081
82082         * README: Rework advice for preventing empty .o files.
82083         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
82084         not <sys/types.h>.
82085
82086 2003-10-04  Karl Berry  <karl@gnu.org>
82087
82088         * lib/argp*: update from libc.
82089
82090 2003-10-04  Karl Berry  <karl@gnu.org>
82091
82092         * config/config.{guess,sub}: update from config.
82093
82094 2003-10-02  Bruno Haible  <bruno@clisp.org>
82095
82096         * modules/lchown (Include): Add lchown.h.
82097         * modules/time_r (Include): Use "..." syntax.
82098         * modules/xgetdomainname (Include): Add xgetdomainname.h.
82099
82100 2003-10-01  Simon Josefsson  <jas@extundo.com>
82101
82102         * MODULES.html.sh (func_all_modules): Move gethostname from section
82103         'based on' to section 'lacking' POSIX:2001.
82104
82105 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
82106
82107         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
82108         to output mode on the same stream.
82109
82110 2003-09-29  Paul Eggert  <eggert@twinsun.com>
82111
82112         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
82113         Fix arg typo in previous patch.
82114
82115 2003-09-28  Jim Meyering  <jim@meyering.net>
82116
82117         * lib/error.c: Correct cpp indentation.
82118
82119 2003-09-27  Paul Eggert  <eggert@twinsun.com>
82120
82121         * modules/free: New file.
82122
82123 2003-09-27  Paul Eggert  <eggert@twinsun.com>
82124
82125         * m4/free.m4: New file.
82126
82127 2003-09-27  Paul Eggert  <eggert@twinsun.com>
82128
82129         * lib/minmax.h (MIN, MAX)
82130         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
82131         Omit the special code that used __typeof__, since we worry that
82132         it could be more trouble than it's worth.  See:
82133         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
82134         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
82135
82136         * lib/free.c: New file.
82137
82138 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
82139
82140         Trivial fixes to Makefile.am parts of module listings.
82141         * modules/strstr: Append strstr.h to lib_SOURCES.
82142         * modules/strcase: Likewise, for strcase.h.
82143
82144 2003-09-27  Karl Berry  <karl@gnu.org>
82145
82146         * config/mkinstalldirs: update from automake.
82147
82148 2003-09-26  Paul Eggert  <eggert@twinsun.com>
82149
82150         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
82151         (error_tail): Do not loop, reallocating temporary buffer, since
82152         the output cannot contain more wide characters than the input
82153         contains bytes, the size must be big enough already.  This avoids
82154         one potential size overflow calculation.  Check for size overflow
82155         when calculating temporary buffer size.  Free temporary buffer
82156         when done, if it was allocated with malloc; this plugs a memory
82157         leak.  Remove casts from void * to pointers, that are no longer
82158         needed now that we're assuming C89 or better.
82159
82160         Merge error changes from glibc.
82161
82162         * lib/error.c, error.h: Update copyright notice header to match glibc.
82163         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
82164         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
82165         Disable cancellation while printing error.
82166         * lib/error.h: Prepend __ to parameter names.
82167
82168 2003-09-26  Jim Meyering  <jim@meyering.net>
82169
82170         * lib/error.c (error_tail): Move some declarations
82171         into inner scope where the local variables are used.
82172
82173 2003-09-26  Bruno Haible  <bruno@clisp.org>
82174
82175         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
82176         stpncpy().
82177         Don't define stpncpy through config.h; it's now done through stpncpy.h.
82178
82179 2003-09-26  Bruno Haible  <bruno@clisp.org>
82180
82181         * lib/stpncpy.h (gnu_stpncpy): New declaration.
82182         (stpncpy): Define as alias for gnu_stpncpy.
82183         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
82184
82185 2003-09-25  Simon Josefsson  <jas@extundo.com>
82186
82187         * lib/xgetdomainname.h: New file.
82188         * lib/xgetdomainname.c: New file.
82189
82190 2003-09-25  Simon Josefsson  <jas@extundo.com>
82191             Bruno Haible  <bruno@clisp.org>
82192
82193         * modules/getdomainname: New file.
82194         * modules/xgetdomainname: New file.
82195         * MODULES.html.sh (func_all_modules): Add getdomainname,
82196         xgetdomainname.
82197
82198 2003-09-25  Simon Josefsson  <jas@extundo.com>
82199             Bruno Haible  <bruno@clisp.org>
82200
82201         * m4/getdomainname.m4: New file.
82202
82203 2003-09-25  Simon Josefsson  <jas@extundo.com>
82204             Bruno Haible  <bruno@clisp.org>
82205
82206         * lib/getdomainname.h: New file.
82207         * lib/getdomainname.c: New file.
82208
82209 2003-09-25  Karl Berry  <karl@gnu.org>
82210
82211         * lib/argp-fmtstream.c, argp-help.c: update from libc.
82212
82213 2003-09-25  Karl Berry  <karl@gnu.org>
82214
82215         * config/install-sh: update from automake.
82216
82217 2003-09-25  Bruno Haible  <bruno@clisp.org>
82218
82219         * modules/version-etc-2: New file, from modules/version-etc with
82220         modifications.
82221         * MODULES.html.sh (func_all_modules): Add version-etc-2.
82222
82223 2003-09-25  Bruno Haible  <bruno@clisp.org>
82224
82225         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
82226         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
82227
82228 2003-09-24  Simon Josefsson  <jas@extundo.com>
82229
82230         * modules/xgethostname: Add xgethostname.h.
82231
82232 2003-09-24  Paul Eggert  <eggert@twinsun.com>
82233
82234         * lib/linebuffer.c (freebuffer): Don't free the argument, just
82235         the buffer associated with the argument.  Bug reported by
82236         Simon Josefsson.
82237
82238 2003-09-24  Paul Eggert  <eggert@twinsun.com>
82239
82240         * README: Document assumptions that 'int' is at least 32 bits
82241         wide, that integer arithmetic is 2's complement without overflow,
82242         that there are no holes in integer values, that adding sizes of
82243         two nonoverlapping objects can't overflow, and that all-bits-zero
82244         yields scalar zero.  Fix spelling and capitalization typos.
82245
82246 2003-09-19  Karl Berry  <karl@gnu.org>
82247
82248         * lib/argp.h: update from libc.
82249
82250 2003-09-17  Paul Eggert  <eggert@twinsun.com>
82251
82252         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
82253         to avoid spurious warnings like "AC_RUN_IFELSE was called before
82254         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
82255
82256 2003-09-17  Paul Eggert  <eggert@twinsun.com>
82257
82258         * gnulib-tool: Use "test -h", not "test -L", for portability
82259         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
82260         (tags_regexp): Remove, since \| doesn't conform to POSIX.
82261         (sed_extract_prog): Issue s commands one-by-one, rather than
82262         using \| in one s command.
82263
82264 2003-09-16  Paul Eggert  <eggert@twinsun.com>
82265
82266         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
82267         input error, instead of returning NULL the next time we are called
82268         (and therefore losing track of errno).
82269
82270 2003-09-16  Bruno Haible  <bruno@clisp.org>
82271
82272         * gnulib-tool (func_create_testdir): Warn about duplicated
82273         dependencies.
82274
82275 2003-09-15  Paul Eggert  <eggert@twinsun.com>
82276
82277         * modules/argmatch, modules/fatal, modules/obstack,
82278         modules/xalloc, modules/xgethostname: Sort dependencies by
82279         importance, not alphabetically.
82280
82281 2003-09-15  Paul Eggert  <eggert@twinsun.com>
82282
82283         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
82284         fails, so that the caller gets the proper errno.
82285
82286         * lib/readutmp.c (read_utmp): Likewise.
82287         Check for fstat error.  Close stream and free storage
82288         when failing.
82289
82290 2003-09-14  Karl Berry  <karl@gnu.org>
82291
82292         * config/srclist.txt (strdup.c): disable for c89 changes.
82293
82294 2003-09-14  Jim Meyering  <jim@meyering.net>
82295
82296         * lib/getloadavg.c: Correct cpp indentation.
82297         * lib/strdup.c: Likewise.
82298         * lib/vasnprintf.c: Likewise.
82299
82300 2003-09-14  Bruno Haible  <bruno@clisp.org>
82301
82302         * modules/fwriteerror: New file.
82303         * MODULES.html.sh (func_all_modules): Add fwriteerror.
82304
82305 2003-09-14  Bruno Haible  <bruno@clisp.org>
82306
82307         * lib/fwriteerror.h: New file.
82308         * lib/fwriteerror.c: New file.
82309
82310 2003-09-12  Paul Eggert  <eggert@twinsun.com>
82311
82312         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
82313         modules/xgethostname, modules/xalloc: Depend on exit.
82314
82315 2003-09-12  Paul Eggert  <eggert@twinsun.com>
82316
82317         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
82318
82319         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
82320         and AC_MINIX, too, so that their extensions are available.
82321
82322         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
82323         This macro has been superseded by gl_BACKUPFILE.
82324
82325         More patches to assume C89 or better.
82326
82327         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
82328
82329         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
82330         unconditionally.
82331         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
82332         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
82333         Include <string.h>, <stdlib.h> unconditionally.
82334         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
82335         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
82336         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
82337         headers or for string.h.
82338         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
82339         or strtoul.
82340
82341         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
82342         headers.
82343         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
82344         * m4/userspec.m4 (gl_USERSPEC): Likewise.
82345         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
82346         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
82347         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
82348         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
82349         memcpy, memset.
82350         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
82351         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
82352         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
82353         strtol.
82354         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
82355         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
82356         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
82357         strtoul.
82358
82359 2003-09-12  Paul Eggert  <eggert@twinsun.com>
82360
82361         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
82362         * lib/obstack.c [!defined _LIBC]: Likewise.
82363         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
82364         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
82365         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
82366
82367         More changes to assume C89 or better.
82368
82369         * lib/error.c (error_tail): Assume vprintf.
82370
82371         * lib/argmatch.c (getenv): Remove decl.
82372         * lib/progreloc.c (get_full_program_name): Define via prototype.
82373         * lib/setenv.c (clearenv): Likewise.
82374         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
82375         needed.
82376         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
82377         (malloc, memcpy): Remove decls.
82378         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
82379         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
82380         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
82381         (memcpy): Remove macro.
82382         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
82383         (__P): Remove.  All uses removed.
82384         (PTR): Remove.  All uses changed to void *.
82385         (CHAR_BIT, NULL): Remove.
82386         (spaces, zeros, memset_space, memset_zero)
82387         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
82388         Remove.
82389         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
82390         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
82391         Define with prototype.
82392         Remove now-unnecessary prototype decl.
82393         (extra_args_spec): Assume ANSI C.  All uses changed.
82394         (extra_args_spec_iso): Remove.
82395         (my_strftime, emacs_strftimeu): Define via prototype.
82396         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
82397         unconditionally.
82398         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
82399         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
82400         (strtoul, strtol): Remove decls.
82401         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
82402         LONG_MAX): Remove.
82403         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
82404         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
82405         (LOCALE_PARAM_PROTO): New macro.
82406         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
82407         (INTERNAL (strtol), strtol): Define with a prototype.
82408         (PARAMS): Remove.  All uses removed.
82409         * lib/tempname.c: Include <string.h> unconditionally.
82410         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
82411         * lib/xgethostname.c (main): Define with a prototype.
82412         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
82413         Include <stdlib.h> unconditionally.
82414         (calloc, malloc, realloc, free): Remove decls.
82415         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
82416         Include <stdlib.h> unconditionally.  Sort include file names.
82417         (strtod): Remove.
82418         (xstrtod): Define with a prototype.
82419         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
82420         (strtol, strtoul): Remove decls.
82421
82422 2003-09-11  Paul Eggert  <eggert@twinsun.com>
82423
82424         More patches to assume C89 or better.
82425         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
82426         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
82427         string.h, memchr, STDC_HEADERS.
82428
82429 2003-09-11  Paul Eggert  <eggert@twinsun.com>
82430
82431         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
82432         Include <stdlib.h>, <string.h> unconditionally.
82433         Remove now-unnecessary cast to char *.
82434         * lib/strnlen.c: Include <string.h> unconditionally.
82435         * lib/yesno.c (yesno): Define with a prototype.
82436
82437 2003-09-11  Bruno Haible  <bruno@clisp.org>
82438
82439         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
82440
82441 2003-09-10  Jim Meyering  <jim@meyering.net>
82442
82443         * lib/error.c: Correct indentation of cpp directives.
82444
82445 2003-09-10  Bruno Haible  <bruno@clisp.org>
82446
82447         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
82448         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
82449         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
82450         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
82451         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
82452         <stdlib.h> and <string.h> checks.
82453         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
82454         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
82455
82456 2003-09-10  Bruno Haible  <bruno@clisp.org>
82457
82458         * lib/strcspn.c: Include <string.h> unconditionally.
82459         * lib/strpbrk.c: Include <string.h> unconditionally.
82460         * lib/strstr.c: Include <string.h> unconditionally.
82461         * lib/unicodeio.c: Include <string.h> unconditionally.
82462         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
82463         * lib/unsetenv.c: Likewise.
82464         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
82465         * lib/yesno.c: Include <stdlib.h> unconditionally.
82466         (rpmatch): Add prototype.
82467
82468 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82469
82470         More patches to assume C89 or better.
82471         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
82472         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
82473         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
82474         or for string.h.
82475         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
82476         stdlib.h.
82477         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
82478         C headers.
82479         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
82480         string.h.
82481         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
82482         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
82483         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
82484         or for string.h.
82485         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
82486         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
82487         C headers.
82488         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
82489         memcpy.
82490         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
82491         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
82492         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
82493         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
82494         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
82495         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
82496         string.h, free.
82497         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
82498         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
82499         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
82500         C headers, or for string.h.
82501         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
82502         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
82503         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
82504         headers, memory.h, stdlib.h, string.h, strings.h.
82505         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
82506         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
82507         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
82508         strchr.
82509         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
82510         headers, memory.h, string.h.
82511         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
82512         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
82513         free.
82514         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
82515         headers.
82516         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
82517         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
82518         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
82519         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
82520         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
82521
82522 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82523
82524         More K&R removal.
82525
82526         * lib/acosl.c (main): Use a prototype.
82527         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
82528         tanl.c: Likewise.
82529
82530         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
82531
82532         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
82533         (getopt, etopt_long, getopt_long_only, _getopt_internal)
82534         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
82535         with a prototype.
82536         * lib/getopt.c (const): Remove macro.
82537         Include <string.h> unconditionally.
82538         (my_index): Remove; all uses changed to strchr.
82539         (strlen): Remove decl.
82540         (exchange): Remove forward decl; no longer needed.
82541         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
82542         Define with prototype.
82543         * lib/getopt1.c (const): Remove macro.
82544         (getopt_long, getopt_long_only, main): Define with prototype.
82545
82546         * lib/getugroups.c: Include <string.h> unconditionally.
82547
82548         * lib/getusershell.c: Include <stdlib.h> unconditionally.
82549         (getusershell, setusershell, endusershell, readname, main):
82550         Define with prototypes.
82551
82552         * lib/group-member.c: Include group-member.h first.
82553         Include <stdlib.h> unconditionally.
82554
82555         * lib/hard-locale.c: Include hard-locale.h first.
82556         Include <stdlib.h>, <string.h> unconditionally.
82557
82558         * lib/hash.c (free, malloc): Remove decls.
82559         Include <stdlib.h> unconditionally.
82560
82561         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
82562         (getenv): Do not declare.
82563
82564         * lib/idcache.c: Include <string.h> unconditionally.
82565
82566         * lib/long-options.c: Include long-options.h first, to test interface.
82567         Include <stdlib.h> unconditionally.
82568
82569         * lib/makepath.c: Include makepath.h first, to test interface.
82570         Include <stdlib.h> and <string.h> unconditionally.
82571
82572         * lib/linebuffer.c: Include <stdlib.h>.
82573         (free): Remove decl.
82574
82575         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
82576         stddef.h. rpl_malloc returns void *, not char *.
82577         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
82578         prototype.
82579
82580         * lib/md5.h: Include <limits.h> unconditionally.
82581         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
82582         (__P): Remove; all uses removed.
82583         * lib/md5.c: Include "md5.h" first.
82584         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
82585         md5_buffer, md5_process_bytes, md5_process_block):
82586         Define with prototypes.
82587         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
82588         * lib/sha.c: Include "sha.h" first.
82589         Include <stdlib.h>, <string.h> unconditionally.
82590
82591         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
82592         * lib/memcmp.c (__ptr_t): Likewise.
82593         * lib/memrchr.c (__ptr_t): Likewise.
82594         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
82595         Include <string.h> unconditionally.
82596         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
82597         * lib/memchr.c: Include <stdlib.h> unconditionally.
82598         * lib/memchr.c (LONG_MAX): Remove.
82599         * lib/memrchr.c (LONG_MAX): Likewise.
82600         * lib/memchr.c (__memchr): Define via a prototype.
82601         * lib/memrchr.c (__memrchr): Likewise.
82602         * lib/memcmp.c (__P): Remove, and remove all uses.
82603         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
82604         Remove forward decls; no longer needed.
82605         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
82606         Use types required by C89 in prototype.
82607
82608         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
82609         * lib/savedir.c: Likewise.
82610         * lib/mkdir.c (free): Remove decl.
82611         * lib/rmdir.c (rmdir): Define with a prototype.
82612         * lib/savedir.c: Include savedir.h first, to test interface.
82613
82614         * lib/mktime.c (STDC_HEADERS): Remove.
82615         Include <stdlib.h>, <string.h> unconditionally.
82616
82617         * lib/modechange.c: Include <stdlib.h> unconditionally.
82618         (malloc): Remove decl.
82619
82620         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
82621         (free): Remove decl.
82622
82623         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
82624         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
82625         (This type really should be intptr_t, but that's a C99ism.)
82626         (_obstack_memcpy): Remove: all uses changed to memcpy.
82627         Include <string.h> unconditionally.
82628         (struct obstack): Assume __STDC__ for types of members
82629         chunkfun, freefun, extra_arg.
82630         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
82631         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
82632         obstack_begin, obstack_specify_allocation,
82633         obstack_specify_allocation_with_arg, obstack_chunkfun,
82634         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
82635         Remove unprototyped decls and the macros that use them.
82636         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
82637         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
82638         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
82639         (defined __STDC__ && __STDC__)]:
82640         Remove nonprototyped code.
82641         Include <stdlib.h> unconditionally.
82642         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
82643         _obstack_allocated_p, _obstack_free, obstack_free,
82644         _obstack_memory_used, print_and_abort):
82645         Define using prototypes.
82646         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
82647         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
82648         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
82649         obstack_next_free, obstack_object_size, obstack_room) [0]:
82650         Remove unused, unprototyped code.
82651
82652         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
82653
82654         * lib/physmem.c (physmem_total, physmem_available, main): Define
82655         with prototypes.
82656
82657         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
82658         (main): Define with a prototype.
82659
82660         * lib/posixver.c (getenv): Remove decl.
82661
82662         * lib/putenv.c (malloc): Returns void *, not char *.
82663         Include <string.h> unconditionally.
82664         (strchr, memcpy, NULL): Do not define.
82665
82666         * lib/readtokens.c: Include readtokens.h first, to test interface.
82667         Include <stdlib.h>, <string.h> unconditionally.
82668         (init_tokenbuffer): Define with a prototype.
82669
82670         * lib/regex.c (PARAMS): Remove.  All uses removed.
82671         All uses of _RE_ARGS removed, too.
82672         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82673         unconditionally.
82674         (bzero): Assume memset exists.
82675         (memcmp, memcpy, NULL): Remove.
82676         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
82677         char, or assignments to local vars of type signed char.
82678         (init_syntax_once, PREFIX(extract_number_and_incr),
82679         PREFIX(print_partial_compiled_pattern),
82680         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
82681         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
82682         PREFIX(regex_grow_registers), PREFIX(regex_compile),
82683         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
82684         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
82685         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
82686         wcs_compile_range, byte_compile_range, truncate_wchar,
82687         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
82688         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
82689         count_mbs_length, wcs_re_match_2_internal,
82690         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
82691         PREFIX(alt_match_null_string_p),
82692         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
82693         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
82694         regfree, PREFIX(extract_number)): Define with prototype.  Remove
82695         now-unnecessary declaration, if any.
82696         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
82697         regcomp, regexec):
82698         Remove now-unnecessary casts among pointer types.
82699         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
82700
82701         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
82702         (free): Remove decl.
82703
82704         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
82705
82706         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
82707         (free): Remove decl.
82708
82709         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
82710         * lib/xgetcwd.c: Likewise.
82711
82712         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
82713         (free): Remove decl.
82714
82715         * lib/strchrnul.c (strchrnul): Define with a prototype.
82716         Fix bug: c_in was not converted to char before searching.
82717
82718         The following changes are not K&R related:
82719
82720         * lib/group-member.h: Include <sys/types.h>, so that this file is
82721         self-contained.
82722         * lib/makepath.h: Likewise.
82723
82724         * lib/getusershell.c (readname, default_index, line_size, readname):
82725         Use size_t, not int, for sizes.
82726         (readname): If the size overflows, report an error instead of
82727         looping forever.
82728
82729 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82730
82731         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
82732         libc.
82733
82734 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82735
82736         * README: New section: portability guidelines.
82737
82738 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
82739
82740         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
82741         C89 spec.
82742
82743 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
82744
82745         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
82746
82747 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82748
82749         Assume C89 or better; remove K&R cruft.
82750         A few of these changes were first proposed by Derek Robert Price
82751         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
82752
82753         * lib/addext.c: Include <string.h> unconditionally.
82754         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
82755         Don't declare getenv or malloc.
82756
82757         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
82758         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
82759         (NULL): Remove.
82760         (find_stack_direction, alloca): Use prototypes.
82761
82762         * lib/atexit.c (atexit): Define using a prototype.
82763
82764         * lib/basename.c, dirname.c, stripslash.c:
82765         Include <string.h> unconditionally.
82766
82767         * lib/bcopy.c: Include <stddef.h>.
82768         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
82769
82770         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
82771
82772         * lib/error.h (error, error_at_line, error_print_progname)
82773         [! (defined (__STDC__) && __STDC__)]: Remove decls.
82774         * lib/error.c: Include error.h first, to check interface.
82775         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
82776         (VA_START): Remove; all uses changeed to va_start.
82777         (exit, strerror): Remove decls.
82778         (error_print_progname): Prototype uncondionally.
82779         Don't include <errno.h>; no longer needed.
82780         (private_strerror): Remove.
82781         (error_tail): Always define.
82782         (error, error_at_line): Assume C89 or better; always use prototypes.
82783         * lib/fatal.c: Include "fatal.h" first, to test interface.
82784         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
82785         (VA_START): Remove; all uses changed to va_start.
82786         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
82787         this case.
82788         (exit): Remove decl.
82789         (fatal): Prototype unconditionally.  Assume va_start works.
82790         Abort at end, to pacify gcc.
82791
82792         * lib/euidaccess.c (main): Define with a prototype.
82793
82794         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
82795
82796         * lib/exitfail.c: Include <stdlib.h> unconditionally.
82797
82798         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
82799         prototypes.
82800         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
82801         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
82802         (getenv): Remove decl.
82803         (fnmatch): Define using a prototype.
82804         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
82805         (FCT): Define using a prototype.
82806
82807         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
82808
82809         * lib/gethostname.c: Include <stddef.h>.
82810         (gethostname): Define with prototype.  Length is size_t, not int.
82811
82812 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82813
82814         Assume C89 or better; remove K&R cruft.
82815         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
82816         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
82817         string.h, getenv, malloc.
82818         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
82819         headers.
82820         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
82821         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
82822         do not check for strerror.
82823         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
82824         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
82825         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
82826         do not check for doprnt or vprintf.
82827         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
82828         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
82829
82830 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82831
82832         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
82833         getversion.c should have been removed then, but was accidentally
82834         preserved.
82835
82836         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
82837         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
82838
82839 2003-09-08  Karl Berry  <karl@gnu.org>
82840
82841         * config/config.sub, config.guess, srclistvars.sh: update from savannah
82842                 config, forget about prep.
82843
82844         * config/depcomp, missing: update from automake.
82845
82846 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82847
82848         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
82849         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82850
82851 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82852
82853         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
82854         copy_tm_result.  Bug reported by Simon Josefsson in
82855         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82856
82857 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82858
82859         * m4/time_r.m4: New file.
82860         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
82861         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
82862         is. Check for timegm declaration.
82863         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
82864         Do not check for gmtime_r.
82865         Replace mktime if __mktime_internal does not exist and if mktime
82866         hasn't been replaced already.
82867
82868 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82869
82870         * lib/time_r.c, lib/time_r.h: New files.
82871
82872         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
82873         __localtime_r.
82874         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
82875         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
82876
82877         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
82878         __gmtime_r.
82879         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
82880         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
82881         Include <time_r.h>.
82882
82883         * lib/timegm.c: Switch to glibc implementation, with the following
82884         changes:
82885         [defined HAVE_CONFIG_H]: Include <config.h>.
82886         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
82887         (__mktime_internal) [!defined _LIBC]: New decl.
82888         (__gmtime_r) [!defined _LIBC]: New macro and function.
82889         (timegm): Use a prototype, since gnulib assumes C89.
82890         Do not bother declaring tmp to be const, as it's not really usefu.
82891         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
82892         (timegm): Declare only if HAVE_DECL_TIMEGM.
82893
82894 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82895
82896         * MODULES.html.sh (func_all_modules): Add time_r.
82897         * modules/time_r: New file.
82898         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
82899         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
82900
82901 2003-09-03  Paul Eggert  <eggert@twinsun.com>
82902
82903         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
82904         Bug reported by Lute Kamstra in
82905         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
82906
82907         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
82908         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
82909         course with correspondingly smaller numbers for tomorrow and
82910         yesterday.  From Tadayoshi Funaba.  Originally installed into
82911         sh-utils on 1999-08-07, but the patch got lost (I guess during the
82912         coreutils merge?).
82913
82914 2003-08-31  Simon Josefsson  <jas@extundo.com>
82915
82916         * modules/timegm: New file.
82917         * MODULES.html.sh (func_all_modules): Add timegm.
82918
82919 2003-08-31  Simon Josefsson  <jas@extundo.com>
82920
82921         * m4/timegm.m4: New file.
82922
82923 2003-08-31  Simon Josefsson  <jas@extundo.com>
82924
82925         * lib/timegm.h: New file.
82926         * lib/timegm.c: New file.  Based on
82927         wget-1.8.2/src/http.c:mktime_from_utc.
82928
82929 2003-08-31  Karl Berry  <karl@gnu.org>
82930
82931         * lib/argp.h: update from libc.
82932
82933 2003-08-28  Bruno Haible  <bruno@clisp.org>
82934
82935         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
82936         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
82937         followed by '#define fnmatch fnmatch_posix' gives an error.
82938
82939 2003-08-28  Bruno Haible  <bruno@clisp.org>
82940
82941         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
82942         warning on QNX, which defines O_BINARY to 000000.
82943
82944 2003-08-27  Jim Meyering  <jim@meyering.net>
82945
82946         * m4/mkstemp.m4: Require that the system mkstemp be able to create
82947         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
82948         would fail after 32.  Reported by Danny Levinson.  Details here:
82949         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
82950
82951 2003-08-24  Bruno Haible  <bruno@clisp.org>
82952
82953         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
82954         MSVC7 <stdio.h> is included later.
82955
82956 2003-08-22  Simon Josefsson  <jas@extundo.com>
82957
82958         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
82959
82960 2003-08-20  Karl Berry  <karl@gnu.org>
82961
82962         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
82963
82964 2003-08-20  Bruno Haible  <bruno@clisp.org>
82965
82966         * modules/progname: New file.
82967         * MODULES.html.sh (func_all_modules): Add progname.
82968
82969 2003-08-20  Bruno Haible  <bruno@clisp.org>
82970
82971         * lib/progname.h: New file, from GNU gettext.
82972         * lib/progname.c: New file, from GNU gettext.
82973         * lib/progreloc.c: New file, from GNU gettext.
82974
82975 2003-08-19  Jim Meyering  <jim@meyering.net>
82976
82977         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
82978         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
82979
82980 2003-08-19  Bruno Haible  <bruno@clisp.org>
82981
82982         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
82983         more.
82984
82985 2003-08-19  Bruno Haible  <bruno@clisp.org>
82986
82987         * lib/xstrdup.c: Assume <string.h> exists.
82988
82989 2003-08-18  Paul Eggert  <eggert@twinsun.com>
82990
82991         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
82992         in makefile rules.
82993
82994 2003-08-18  Jim Meyering  <jim@meyering.net>
82995
82996         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
82997         * m4/lib-ld.m4: Likewise.
82998
82999 2003-08-18  Jim Meyering  <jim@meyering.net>
83000
83001         * lib/setenv.h: Indent nested cpp directive.
83002         * lib/vasnprintf.c: Remove trailing blanks.
83003
83004 2003-08-17  Simon Josefsson  <jas@extundo.com>
83005
83006         * modules/xstrndup: New file.
83007         * MODULES.html.sh (func_all_modules): Add xstrndup.
83008
83009 2003-08-17  Simon Josefsson  <jas@extundo.com>
83010
83011         * modules/argp: Fix autoconf macro name. Add more dependencies.
83012
83013 2003-08-17  Simon Josefsson  <jas@extundo.com>
83014
83015         * m4/xstrndup.m4: New file.
83016
83017 2003-08-17  Simon Josefsson  <jas@extundo.com>
83018
83019         * m4/argp.m4: New file.
83020
83021 2003-08-17  Simon Josefsson  <jas@extundo.com>
83022             Bruno Haible  <bruno@clisp.org>
83023
83024         * lib/xstrndup.h: New file.
83025         * lib/xstrndup.c: New file.
83026
83027 2003-08-17  Bruno Haible  <bruno@clisp.org>
83028
83029         * modules/strndup (Files, Include): Add lib/strndup.h.
83030
83031 2003-08-17  Bruno Haible  <bruno@clisp.org>
83032
83033         * modules/euidaccess (Files): Add lib/euidaccess.h.
83034
83035 2003-08-17  Bruno Haible  <bruno@clisp.org>
83036
83037         * lib/strndup.h: New file.
83038
83039 2003-08-17  Bruno Haible  <bruno@clisp.org>
83040
83041         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
83042         like AC_GNU_SOURCE.
83043         * modules/extensions (configure.ac): Comment out the invocation of
83044         gl_USE_SYSTEM_EXTENSIONS.
83045
83046 2003-08-16  Paul Eggert  <eggert@twinsun.com>
83047
83048         Merges from coreutils, etc.
83049         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
83050         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
83051         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
83052         fixing a typo.
83053         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
83054         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
83055
83056 2003-08-16  Paul Eggert  <eggert@twinsun.com>
83057
83058         Document merge from coreutils.
83059         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
83060         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
83061         * modules/utime: Add m4/utimes-null.m4.
83062
83063 2003-08-16  Paul Eggert  <eggert@twinsun.com>
83064
83065         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
83066         space, undoing this 2003-08-12 change:
83067         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
83068
83069 2003-08-16  Paul Eggert  <eggert@twinsun.com>
83070
83071         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
83072         strtoul.c from libc, undoing this 2003-08-12 change:
83073         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
83074
83075 2003-08-16  Jim Meyering  <jim@meyering.net>
83076
83077         Merges from coreutils.
83078         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
83079         prefix.  Adjust cache variables similarly.  Create 500 rather than
83080         just 300 files, to exercise bug on Darwin6.5, too.
83081         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
83082         $missing_dir.
83083         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
83084         AM_SYS_POSIX_TERMIOS.
83085         Reported by mkc@mathdogs.com.
83086         Also change use of $am_cv_sys_posix_termios
83087         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
83088         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
83089         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
83090         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
83091         in /proc/mounts until it finds one with matching device number.  This
83092         is unnecessary when the FILE argument *is* a mount point.  No stat call
83093         is necessary in that case.  So, disable the statvfs-testing code on
83094         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
83095         as RedHat bug# 84846.
83096         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
83097         to 1MB, so as not to render systems with no stack size limit (e.g.,
83098         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
83099         Include <unistd.h>.  On some systems,
83100         it is required for the definition of _SC_PAGESIZE.
83101
83102 2003-08-16  Jim Meyering  <jim@meyering.net>
83103
83104         Merge from coreutils.
83105         * lib/xstrtoimax.c: #else #if -> #elif.
83106         * lib/xstrtoumax.c: Likewise.
83107
83108 2003-08-16  Jim Meyering  <jim@meyering.net>
83109
83110         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
83111         * m4/utimes.m4: Removed.
83112         * m4/utimes-null.m4: Renamed from utimes.m4.
83113
83114         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
83115         to 1MB, so as not to render systems with no stack size limit (e.g.,
83116         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
83117         Include <unistd.h>.  On some systems,
83118         it is required for the definition of _SC_PAGESIZE.
83119
83120 2003-08-16  Jim Meyering  <jim@meyering.net>
83121         and Paul Eggert  <eggert@cs.ucla.edu>
83122
83123         Merges from coreutils, etc.
83124
83125         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
83126         using the latest version from cvs.  This avoids problems with #line
83127         directives using a vendor (Sun) compiler.
83128         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
83129         Don't set GETGROUPS_LIB here; now it's
83130         done via getgroups.m4's wrapper function.
83131         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
83132         rather than just in sh-util/configure.in, so that the
83133         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
83134         same.
83135         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
83136         AC_FUNC_GETLOADAVG where to find getloadavg.c.
83137         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
83138         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
83139         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
83140         Remove code that is now done by the newly-required macros.
83141         Append $(EXEEXT) to DF_PROG.
83142         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
83143         Do not invoke or require the following here,
83144         since prereq.m4 or some gnulib .m4 now does this for us:
83145         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
83146         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
83147         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
83148         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
83149         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
83150         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
83151         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
83152         AC_FUNC_OBSTACK.
83153         Do not replace the following functions, as this is now the job
83154         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
83155         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
83156         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
83157         atexit getpass, strdup, getpagesize.
83158         Replace 'raise'.
83159         Do not check for the following functions, as this is now the job
83160         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
83161         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
83162         setregid.
83163         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
83164         Check for sys/sysctl.h.
83165         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
83166         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
83167         of checking for ssize_t ourselves.
83168
83169         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
83170         Require every macro that gnulib/modules/* suggests for us.
83171         (jm_PREREQ_ADDEXT): New macro.
83172         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
83173         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
83174
83175         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
83176         (gl_PHYSMEM): Use it.
83177         Also check for `table' function.
83178         Check for new headers and functions.
83179         Add check for sys/sysmp.h.
83180         With suggestions from Kaveh Ghazi.
83181         Ignore headers that are present but cannot be compiled.  This
83182         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
83183         C 5.4.
83184
83185 2003-08-15  Paul Eggert  <eggert@twinsun.com>
83186
83187         Document merge from coreutils.
83188         * modules/userspec: Depend on posixver.
83189         * modules/strftime: Depend on tzset.
83190
83191 2003-08-15  Paul Eggert  <eggert@twinsun.com>
83192
83193         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
83194         rather than tab, after '#' in shell-script copyright notices.
83195         Suggested by Bruno Haible.
83196
83197 2003-08-15  Paul Eggert  <eggert@twinsun.com>
83198
83199         * config/srclist-update: Use three spaces, rather than tab, after '#'
83200         in shell-script copyright notices.  Suggested by Bruno Haible.
83201         Remove unnecessary parenthesization in regular expression.
83202
83203 2003-08-15  Jim Meyering  <jim@meyering.net>
83204
83205         Merge from coreutils.
83206         * lib/xgethostname.c: Include <stdlib.h>.
83207         (xghostname): Don't exit for anything other than memory-related
83208         failure; just return NULL.
83209         * lib/userspec.c: Include "posixver.h".
83210         (parse_user_spec): Accept `.' as a separator only
83211         in pre-POSIX-200112 mode.
83212         * lib/strtoimax.c: Use #elif rather than #else #if.
83213         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
83214         Remove function, now that we can rely on a working tzset function.
83215         [!_LIBC]: Ensure that the required autoconf test has been run.
83216         [!defined _NL_CURRENT && HAVE_STRFTIME]:
83217         Use underlying_strftime for %r.
83218         * lib/sha.c: Merge in some clean-up and optimization changes from
83219         glibc.
83220         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
83221         Ensure that it is a multiple of 64.
83222         Rearrange loop exit tests so as to avoid performing an
83223         additional fread after encountering an error or EOF.
83224         * lib/realloc.c: Update copyright date.
83225
83226 2003-08-15  Jim Meyering  <jim@meyering.net>
83227         and Paul Eggert  <eggert@twinsun.com>
83228
83229         Merge from coreutils.
83230         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
83231         member but strut utmpx does not.  Needed for AIX 4.3.3.
83232         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
83233
83234 2003-08-15  Jim Meyering  <jim@meyering.net>
83235         and Paul Eggert  <eggert@cs.ucla.edu>
83236
83237         Merges from coreutils, etc.
83238         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
83239         Require gl_FUNC_TZSET_CLOBBER.
83240         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
83241         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
83242         members.
83243
83244 2003-08-14  Paul Eggert  <eggert@twinsun.com>
83245
83246         Help the merge from coreutils.
83247         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
83248         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
83249         * m4/tzset.m4: Use it too.
83250
83251 2003-08-14  Paul Eggert  <eggert@twinsun.com>
83252
83253         * modules/tzset: New file.
83254
83255 2003-08-14  Jim Meyering  <jim@meyering.net>
83256
83257         Merges from coreutils.
83258         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
83259         variable names, rather than @FNMATCH_H@.
83260         * modules/alloca: Likewise for $(ALLOCA_H).
83261
83262         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
83263         the three copies of the literal target, `fnmatch.h'.
83264         * modules/alloca (alloca.h): Likewise.
83265
83266 2003-08-14  Jim Meyering  <jim@meyering.net>
83267
83268         Merge from coreutils.
83269         * m4/tzset.m4: New file.
83270         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
83271         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
83272         otherwise, AIX 5.1 systems would end up using the latter.
83273         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
83274         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
83275         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
83276         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
83277
83278 2003-08-14  Jim Meyering  <jim@meyering.net>
83279
83280         Merge from coreutils.
83281         * lib/obstack.h: Whitespace changes.
83282         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
83283         and xcalloc return values.
83284         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
83285         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
83286         hang on OSF/1 5.1 for DIR on both local and remote file systems.
83287         Reported by (and fix confirmed by) Nelson H. F. Beebe.
83288         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83289         error from mntctl.
83290         Use mntctl's return value to drive the entry-processing loop, since
83291         we can't rely on the value of the vmt_length member in the last
83292         entry.  On some systems doing so could result in exhausting
83293         virtual memory.  Based in part on a patch from Mike Jetzer.
83294
83295 2003-08-14  Jim Meyering  <jim@meyering.net>
83296         and Paul Eggert  <eggert@twinsun.com>
83297
83298         Merges from coreutils, plus other fixes.
83299         * lib/physmem.c: Merge in portability changes from gcc/libiberty
83300         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
83301         for credits and details.  Thanks to Kaveh Ghazi for helping
83302         to keep these files in sync.
83303         (ARRAY_SIZE): Define it.
83304         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
83305         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
83306         (memcasecmp): Don't assume size_t fits in unsigned int.
83307         Remove casts and duplicate code.
83308         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
83309         (memcpy): Remove definition.
83310         Merge in some clean-up and optimization changes from glibc.
83311         [BLOCKSIZE]: Move definition to top of file.
83312         Ensure that it is a multiple of 64.
83313         Rearrange loop exit tests so as to avoid performing an
83314         additional fread after encountering an error or EOF.
83315         * lib/md5.h (md5_uintptr): Define.
83316         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
83317         return to the initial working directory.  Preserve errno
83318         for caller.
83319         * lib/idcache.c: Include "xalloc.h".
83320         (xmalloc, xrealloc): Remove decls.
83321         (getuser): Remove casts no longer required in C89.
83322         * lib/human.c: Include stdio.h, for sprintf.
83323         * lib/group-member.c: Include "xalloc.h".
83324         (xmalloc, xrealloc): Remove decls.
83325         (get_group_info): Remove casts no longer required in C89.
83326         * lib/getusershell.c (readname): Remove casts no longer required in
83327         C89.
83328         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
83329         * lib/getline.c: Whitespace fix, from coreutils.
83330
83331 2003-08-13  Paul Eggert  <eggert@twinsun.com>
83332
83333         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
83334         Check for isascii.
83335
83336         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
83337         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
83338         Undo previous (whitespace-only) change.
83339
83340 2003-08-13  Paul Eggert  <eggert@twinsun.com>
83341
83342         * lib/exclude.c: Include <ctype.h>
83343         (IN_CTYPE_DOMAIN): New macro.
83344         (is_space): New fn.
83345         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
83346         and empty lines.
83347
83348         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
83349         Undo previous (whitespace-only) change.
83350
83351 2003-08-13  Paul Eggert  <eggert@twinsun.com>
83352
83353         * config/srclist-update: Change update back to the old behavior,
83354         leaving whitespace alone.  Use one 'sed' command rather than a
83355         pipeline.
83356         (fixlicense): Now a variable, not a function.
83357         (remove_trailing_blanks): Remove.
83358         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
83359         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
83360         Undo previous (whitespace-only) change.
83361
83362 2003-08-12  Paul Eggert  <eggert@twinsun.com>
83363
83364         Merge from coreutils.
83365         * modules/euidaccess: Add lib_SOURCES, include for new
83366         file euidaccess.h
83367
83368 2003-08-12  Paul Eggert  <eggert@twinsun.com>
83369
83370         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
83371         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
83372         Normalize leading white space and remove trailing white space.
83373
83374         Merge from coreutils
83375         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
83376
83377         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
83378         0.12.1.  These files are now being upgraded automatically by
83379         ../config/srclist-update.
83380
83381 2003-08-12  Paul Eggert  <eggert@twinsun.com>
83382
83383         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
83384         Normalize leading white space and remove trailing white space.
83385         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
83386         notice, as per ../config/srclist-update.
83387
83388         Merge from coreutils.
83389         * lib/euidaccess.h: New file.
83390         * lib/euidaccess.c: Include it.
83391         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
83392         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
83393         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
83394
83395 2003-08-12  Paul Eggert  <eggert@twinsun.com>
83396
83397         * config/srclist-update: Add copyright notice.
83398         (remove_id_lines, remove_trailing_blanks): New constants.
83399         (fixfile): Use them to normalize spacing a bit in copied files.
83400         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
83401         Normalize leading white space and remove trailing white space.
83402
83403         * config/texinfo.tex: Sync with texinfo.
83404
83405         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
83406         strtoul.c from libc, to merge coreutils whitespace changes.
83407
83408         * config/srclist.txt: Get the following m4 files from gettext:
83409         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
83410         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
83411         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
83412         wint_t.m4.
83413
83414 2003-08-12  Karl Berry  <karl@gnu.org>
83415
83416         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
83417         been made.
83418
83419 2003-08-11  Paul Eggert  <eggert@twinsun.com>
83420
83421         * modules/gnu-source, m4/gnu-source.m4:
83422         Remove; we're assuming Autoconf 2.54 or later now.
83423         Suggested by Bruno Haible.
83424         * MODULES.html.sh (func_all_modules): Remove gnu-source.
83425
83426 2003-08-11  Bruno Haible  <bruno@clisp.org>
83427
83428         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
83429
83430 2003-08-11  Bruno Haible  <bruno@clisp.org>
83431
83432         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
83433         (vasnprintf): Use it instead of wcslen.
83434
83435 2003-08-11  Bruno Haible  <bruno@clisp.org>
83436
83437         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
83438         value to ensure that _Bool promotes to int. Use #define for _Bool when
83439         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
83440
83441 2003-08-10  Karl Berry  <karl@gnu.org>
83442
83443         * lib/regex.h: update from libc (whitespace fix).
83444
83445 2003-08-09  Paul Eggert  <eggert@twinsun.com>
83446
83447         Merge some files from coreutils.  These changes were
83448         originally made by Jim Meyering.
83449         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
83450         many older Unixes require this.
83451         * lib/alloca.c (alloca): Remove cast to argument of free;
83452         no longer needed in C89.
83453         * lib/alloca_.h, regex.h: Fix white space to match
83454         what GNU indent does.
83455
83456 2003-08-09  Paul Eggert  <eggert@twinsun.com>
83457
83458         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
83459         apparently Emacs's Unicode mode got confused before my 2003-08-05
83460         checkin.
83461
83462 2003-08-08  Paul Eggert  <eggert@twinsun.com>
83463
83464         * m4/extensions.m4: New file.
83465         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
83466         Require gl_USE_SYSTEM_EXTENSIONS.
83467         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
83468         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
83469
83470 2003-08-08  Paul Eggert  <eggert@twinsun.com>
83471
83472         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
83473         * modules/extensions, modules/gnu-source: New files.
83474         * modules/timespec, modules/unlocked-io: Depend on extensions.
83475
83476 2003-08-07  Paul Eggert  <eggert@twinsun.com>
83477
83478         * modules/restrict: New file.
83479         * MODULES.html.sh (func_all_modules): Add restrict.
83480         * modules/regex: Depend on restrict.
83481
83482 2003-08-07  Paul Eggert  <eggert@twinsun.com>
83483
83484         * m4/restrict.m4: New file.
83485         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
83486
83487 2003-08-07  Bruno Haible  <bruno@clisp.org>
83488
83489         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
83490         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
83491
83492 2003-08-07  Bruno Haible  <bruno@clisp.org>
83493
83494         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
83495         makes the module 'getndelim2' compatible with the module 'getline'.
83496
83497 2003-08-05  Paul Eggert  <eggert@twinsun.com>
83498
83499         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
83500         byte with "\201" to avoid glitches when editing that source file
83501         with multi-gnome-terminal.
83502
83503 2003-08-05  Paul Eggert  <eggert@twinsun.com>
83504
83505         * lib/bumpalloc.h: Remove.
83506
83507 2003-08-05  Paul Eggert  <eggert@twinsun.com>
83508
83509         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
83510         * modules/bumpalloc: Remove.
83511
83512 2003-08-04  Paul Eggert  <eggert@twinsun.com>
83513
83514         * lib/getloadavg.c: Change copyright notice and spacing to conform to
83515         GNU coding style.
83516
83517         Merge from coreutils.
83518         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
83519         1. From glibc.
83520         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
83521         from Karl Berry, implemented by Jim Meyering.
83522         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
83523         from Dmitry V. Levin.
83524         Remove anachronistic cast of xrealloc.
83525         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
83526         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
83527         type. Otherwise, it wouldn't compile with at least /bin/cc on
83528         ymp-cray-unicos9.0.2.X.
83529         Combine two mostly-identical uses of alloca into one.
83530         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
83531
83532 2003-08-04  Dave Love  <d.love@dl.ac.uk>
83533
83534         [From Emacs.]
83535
83536         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
83537         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
83538         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
83539         obsolete NLIST_NAME_UNION.
83540         [__GNU__]: Undef BSD and FSCALE.
83541         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
83542
83543 2003-08-03  Paul Eggert  <eggert@twinsun.com>
83544
83545         * lib/stdbool_.h (_Bool): Make it signed char, instead of
83546         an enum type, so that it's guaranteed to promote to int.  See:
83547         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
83548
83549 2003-08-03  Karl Berry  <karl@gnu.org>
83550
83551         * config/depcomp: update from automake.
83552
83553 2003-07-31  Paul Eggert  <eggert@twinsun.com>
83554
83555         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
83556         (strerror): Don't assume that a printable int fits in 14 bytes.
83557
83558 2003-07-31  Bruno Haible  <bruno@clisp.org>
83559
83560         * modules/getpass-gnu: New file.
83561         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
83562
83563 2003-07-31  Bruno Haible  <bruno@clisp.org>
83564
83565         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
83566
83567 2003-07-24  Karl Berry  <karl@gnu.org>
83568
83569         * config/missing: update from automake.
83570
83571 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
83572             Bruno Haible  <bruno@clisp.org>
83573
83574         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
83575         * lib/getline.c (getline, getdelim): Likewise.
83576         Remove _GNU_SOURCE define; now it's defined in config.h through
83577         m4/getline.m4.
83578
83579 2003-07-23  Karl Berry  <karl@gnu.org>
83580
83581         * config/config.sub: update from prep.
83582
83583 2003-07-22  Paul Eggert  <eggert@twinsun.com>
83584
83585         * modules/xalloc (Depends-on): Add exitfail.
83586         * modules/xmemcoll: Likewise.
83587
83588 2003-07-22  Paul Eggert  <eggert@twinsun.com>
83589
83590         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
83591         over-parenthesization in macros.
83592
83593         Sync with coreutils.
83594
83595         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
83596         required by C99.
83597
83598         Use `exit_failure' for xalloc and xmemcoll instead of their own
83599         private exit-failure variables.
83600         * lib/xalloc.h (xalloc_exit_failure): Remove.
83601         * lib/xmalloc.c: Likewise.  Include exitfail.h.
83602         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
83603         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
83604         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
83605         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
83606
83607 2003-07-20  Jim Meyering  <jim@meyering.net>
83608
83609         * modules/closeout (Depends-on): Add exitfail.
83610         Suggestion from Bruno Haible.
83611
83612 2003-07-19  Karl Berry  <karl@gnu.org>
83613
83614         * config/config.sub: update from prep.
83615
83616 2003-07-18  Paul Eggert  <eggert@twinsun.com>
83617
83618         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
83619         Remove.
83620         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
83621         to test that it can stand by itself.  Include "exitfail.h".
83622         Clients should set exit_failure instead.
83623         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
83624
83625 2003-07-18  Bruno Haible  <bruno@clisp.org>
83626
83627         * modules/getndelim2: New file.
83628         * modules/getline: Share files with module getndelim2.
83629         * modules/getnline: Depend on getndelim2 instead of sharing files with
83630         it. Add getnline.c to lib_SOURCES.
83631         * MODULES.html.sh (func_all_modules): Add getndelim2.
83632
83633 2003-07-18  Bruno Haible  <bruno@clisp.org>
83634
83635         * m4/getndelim2.m4: New file.
83636         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
83637         invoke gl_PREREQ_GETNDELIM2.
83638         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
83639         gl_PREREQ_GETNDELIM2.
83640         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
83641         gl_GETNDELIM2.
83642
83643 2003-07-18  Bruno Haible  <bruno@clisp.org>
83644
83645         * lib/getndelim2.h: New file.
83646         * lib/getndelim2.c: Make into a module of its own. Include config.h,
83647         getndelim2.h.
83648         (getndelim2): Make non-static. Change return type to ssize_t.
83649         * lib/getline.h: Change argument names.
83650         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
83651         * lib/getnline.c: Include getndelim2.h.
83652
83653 2003-07-18  Andreas Schwab  <schwab@suse.de>
83654
83655         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
83656
83657 2003-07-17  Karl Berry  <karl@gnu.org>
83658
83659         * config/config.sub: update from prep.
83660
83661 2003-07-17  Bruno Haible  <bruno@clisp.org>
83662
83663         * modules/getnline: New file.
83664         * modules/getline: Add lib/getndelim2.c to source file list.
83665         * MODULES.html.sh (func_all_modules): Add getnline.
83666
83667 2003-07-17  Bruno Haible  <bruno@clisp.org>
83668
83669         * m4/getnline.m4: New file.
83670
83671 2003-07-17  Bruno Haible  <bruno@clisp.org>
83672
83673         * m4/Makefile.am.in: Remove file.
83674         * m4/Makefile.am: Remove file.
83675         * m4/Makefile.in: Remove file.
83676
83677 2003-07-17  Bruno Haible  <bruno@clisp.org>
83678
83679         * lib/getnline.h: New file.
83680         * lib/getnline.c: New file.
83681         * lib/getndelim2.c: New file, extracted from getline.c.
83682         (getndelim2): Renamed from getdelim2, with added nmax argument.
83683         * lib/getline.c: Include getndelim2.c.
83684         (getdelim2): Moved out to getndelim2.c.
83685         (getline, getdelim): Update.
83686
83687 2003-07-17  Bruno Haible  <bruno@clisp.org>
83688
83689         * lib/Makefile.am: Remove file.
83690         * lib/Makefile.in: Remove file.
83691
83692 2003-07-17  Bruno Haible  <bruno@clisp.org>
83693
83694         * configure.in: Remove file.
83695         * Makefile.in: Remove file.
83696
83697 2003-07-17  Bruno Haible  <bruno@clisp.org>
83698
83699         * MODULES.html.sh: Put the </BODY> right before </HTML>.
83700
83701 2003-07-16  Karl Berry  <karl@gnu.org>
83702
83703         * config/srclist-update: was running fixlicense twice, which caused
83704                 texinfo.tex to be nullified for some reason.  Simplify,
83705                 $gplsrc is no longer needed as far as I can see?
83706
83707 2003-07-16  Jim Meyering  <jim@meyering.net>
83708
83709         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
83710
83711 2003-07-15  Paul Eggert  <eggert@twinsun.com>
83712
83713         * config/srclist.txt: Get the following files from gettext-runtime/intl
83714         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
83715         ref-del.sin.  From Bruno Haible.
83716         * config/srclist-update (fixfile): Change grep pattern again, since the
83717         previous fix didn't work (there was another trailing $).  Use
83718         '[$]' to escape the $s.
83719
83720 2003-07-15  Karl Berry  <karl@gnu.org>
83721
83722         * lib/vasnprintf.c: update from gettext.
83723
83724 2003-07-15  Karl Berry  <karl@gnu.org>
83725
83726         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
83727         gets expanded when surrounded by '$'.
83728
83729 2003-07-15  Jim Meyering  <jim@meyering.net>
83730
83731         * modules/save-cwd: Don't depend on error.  From Derek Price.
83732
83733 2003-07-15  Jim Meyering  <jim@meyering.net>
83734
83735         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
83736
83737 2003-07-14  Simon Josefsson  <jas@extundo.com>
83738
83739         * modules/mempcpy: New file.
83740         * MODULES.html.sh (func_all_modules): Add mempcpy.
83741
83742 2003-07-14  Simon Josefsson  <jas@extundo.com>
83743
83744         * m4/mempcpy.m4: New file.
83745
83746 2003-07-14  Simon Josefsson  <jas@extundo.com>
83747
83748         * lib/mempcpy.h: New file.
83749         * lib/mempcpy.c: New file.
83750
83751 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83752
83753         * modules/getdate, modules/posixtm: Depend on mktime.
83754
83755 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83756
83757         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
83758         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
83759         unicodeio.c, unicodeio.h, unlocked-io.h:
83760         Switch from LGPL to GPL.
83761
83762 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83763
83764         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
83765         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
83766         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
83767         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
83768         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
83769         updated automatically by ../config/srclist-update.  This changes
83770         their license from LPGL to GPL.
83771
83772 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83773
83774         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
83775         assumed to refer to the root of the most recent stable gettext version.
83776         * config/srclistvars.sh: Add defaults for eggert.
83777         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
83778         Match "This program" as well as "The program".  This is needed
83779         for gettext.
83780
83781 2003-07-14  Jim Meyering  <jim@meyering.net>
83782
83783         Don't emit diagnostics.  Let callers do that.
83784         * lib/save-cwd.c: Don't include "error.h".
83785         (save_cwd): Don't call error.  Ensure that errno is valid
83786         when returning nonzero.
83787
83788         * lib/save-cwd.h (restore_cwd): Update prototype.
83789         * lib/save-cwd.c (restore_cwd): Remove two parameters.
83790         Simplify.  Don't call error upon failure.  Let callers do that.
83791         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
83792         when auditing is enabled.  But don't bother updating the #if.
83793
83794 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
83795
83796         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
83797         it breaks C++ compilation.
83798         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
83799
83800 2003-07-10  Simon Josefsson  <jas@extundo.com>
83801
83802         * modules/strchrnul (Makefile.am): Add strchrnul.h.
83803
83804 2003-07-10  Jim Meyering  <jim@meyering.net>
83805
83806         * m4/clock_time.m4: Remove trailing blank.
83807         * m4/intmax_t.m4: Likewise.
83808
83809 2003-07-10  Jim Meyering  <jim@meyering.net>
83810
83811         * lib/vasnprintf.c: Remove trailing blanks.
83812         Make cpp indentation consistent.
83813
83814 2003-07-09  Paul Eggert  <eggert@twinsun.com>
83815
83816         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
83817         posixver.c, strftime.c, strnlen.c, strverscmp.c:
83818         Switch from LGPL to GPL.
83819
83820 2003-07-09  Paul Eggert  <eggert@twinsun.com>
83821
83822         * config/srclist.txt: Sort sublists.  Add
83823         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
83824         that differ from gnulib for one reason or another; we'd like this list
83825         to be smaller but for now let's document what we have.
83826
83827 2003-07-08  Paul Eggert  <eggert@twinsun.com>
83828
83829         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
83830         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
83831         and sweeter "eval x=$x".
83832         * config/srclist.txt: Get lib/argp* from glibc.
83833
83834 2003-07-07  Paul Eggert  <eggert@twinsun.com>
83835
83836         * lib/mktime.c: Fix some boundary cases and remove need for floating
83837         point.
83838
83839         Issue a compile-time diagnostic if time_t is floating point, or if
83840         two's complement arithmetic is not in effect, or if arithmetic
83841         right shift does not propagate the sign.  These assumptions were
83842         all in the original code but they weren't checked.
83843
83844         (TIME_T_MIDPOINT, verify): New macros.
83845         (__isleap): Remove; it has integer overflow problems.
83846         (leapyear): New function, without those problems.
83847         (ydhms_tm_diff): Remove; splitting into two parts.
83848         (ydhms_diff): New function, containing the arithmetic part of
83849         the old ydhms_tm_diff function.  Issue a compile-time
83850         diagnostic if we are not using C99 integer division.
83851         Avoid casts when possible.
83852         (guess_time_tm): New function, containing the checking part of
83853         the old ydhms_tm_diff function.  Return the new value, rather than
83854         the difference between it and the old.  Accept a new argument T
83855         so that *T specifies the old value.  Check for overflow in the result.
83856
83857         (__mktime_internal): Use a time_t offset, not a long int offset.
83858         This undoes the 2003-06-04 change, which is no longer needed now
83859         that we have better overflow checking.
83860         (localtime_offset): Likewise.
83861
83862         (__mktime_internal): Avoid harmful overflow on hosts where time_t
83863         and long are 64-bit but int is only 32-bit.
83864         (ydhms_diff): Use long int to store year1 and yday1.
83865         Issue a compile-time diagnostic if long int is not wide enough.
83866
83867         (__mktime_internal): Use long int to store adjusted year and yday.
83868         Use plain C rather than preprocessor commands, if that doesn't
83869         affect efficiency.
83870         Check for overflow (and try to repair) after each probe
83871         rather than checking only at the very end.  This avoids some bugs
83872         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
83873         does not equal GMT offset at maximum time).
83874         Use integer to check for overflow rather than floating point; this
83875         is more portable to non-IEEE hosts, and is a tad faster.
83876         When we detect that we are oscillating between two values,
83877         don't check whether tm_isdst has the requested value, since
83878         we already know the answer.  When tm_isdst has the wrong value,
83879         use a different heuristic to find the right one, based on the
83880         extreme values actually observed in practice in tz2003a,
83881         rather than the (overly optimistic) "previous 3 calendar quarters".
83882
83883         (not_equal_tm, print_tm, check_result): Use "const T" rather than
83884         "T const" to accommodate glibc style.
83885         (check_result): Use less-confusing report format.  "long" -> "long int.
83886         (main): Likewise.
83887         Don't loop if the iteration overflows time_t.
83888         Allow a negative step in the iteration.
83889
83890 2003-07-06  Karl Berry  <karl@gnu.org>
83891
83892         * config/depcomp: update from automake.
83893         * config/config.sub: update from prep.
83894
83895 2003-07-03  Karl Berry  <karl@gnu.org>
83896
83897         * config/config.guess: update from prep.
83898
83899 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83900
83901         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
83902         xreadlink.c now includes it unconditionally.
83903
83904 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83905
83906         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
83907         having it depend on HAVE_SYS_TYPES_H.
83908
83909 2003-07-01  Bruno Haible  <bruno@clisp.org>
83910
83911         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
83912         <sys/types.h> should be sufficient.
83913         Reported by Paul Eggert.
83914
83915 2003-06-26  Karl Berry  <karl@gnu.org>
83916
83917         * config/depcomp: update from automake.
83918
83919 2003-06-26  Bruno Haible  <bruno@clisp.org>
83920
83921         * modules/human: Depend on module stdbool.
83922
83923 2003-06-25  Bruno Haible  <bruno@clisp.org>
83924
83925         * modules/readlink: New file.
83926         * modules/xreadlink: Depend on it.
83927         * MODULES.html.sh (func_all_modules): Add readlink.
83928
83929 2003-06-25  Bruno Haible  <bruno@clisp.org>
83930
83931         * m4/readlink.m4: New file.
83932
83933 2003-06-25  Bruno Haible  <bruno@clisp.org>
83934
83935         * lib/readlink.c: New file.
83936
83937 2003-06-22  Karl Berry  <karl@gnu.org>
83938
83939         * config/srclist.txt: update mkinstalldirs from automake.
83940         * config/mkinstalldirs: update.
83941
83942 2003-06-22  Bruno Haible  <bruno@clisp.org>
83943
83944         Portability to mingw32.
83945         * m4/ssize_t.m4: New file, from GNU gettext.
83946         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
83947         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
83948
83949 2003-06-22  Bruno Haible  <bruno@clisp.org>
83950
83951         * modules/safe-read: Add m4/ssize_t.m4.
83952         * modules/xreadlink: Add m4/ssize_t.m4.
83953
83954 2003-06-20  Bruno Haible  <bruno@clisp.org>
83955
83956         Assume C89, so PARAMS isn't needed.
83957         * lib/unicodeio.h (PARAMS): Remove.
83958         * lib/unicodeio.c: Don't use PARAMS.
83959
83960 2003-06-18  Karl Berry  <karl@gnu.org>
83961
83962         * config/config.{guess,sub}: update from prep.
83963
83964 2003-06-18  Jim Meyering  <jim@meyering.net>
83965
83966         Merge changes from coreutils.
83967         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
83968         Remove explicit declarations of xmalloc and realloc.
83969         Include xalloc.h.
83970         (read_utmp): Remove anachronistic cast of xmalloc.
83971
83972 2003-06-17  Paul Eggert  <eggert@twinsun.com>
83973
83974         Assume C89, so PARAMS isn't needed.
83975         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
83976         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
83977         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
83978         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
83979         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
83980         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
83981         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
83982         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
83983         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
83984         lib/xstrtod.h, lib/xstrtol.h: Likewise.
83985         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
83986         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
83987         no longer needed. Anyway, config.h should always be included before any
83988         other file.
83989
83990 2003-06-11  Simon Josefsson  <jas@extundo.com>
83991
83992         * modules/sysexits: New file.
83993         * MODULES.html.sh (func_all_modules): Add sysexits.
83994
83995 2003-06-11  Simon Josefsson  <jas@extundo.com>
83996
83997         * lib/sysexit_.h: New file.
83998
83999 2003-06-11  Derek Price  <derek@ximbiot.com>
84000
84001         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
84002         necessary.
84003
84004 2003-06-11  Bruno Haible  <bruno@clisp.org>
84005
84006         * m4/sysexits.m4: New file.
84007
84008 2003-06-10  Simon Josefsson  <jas@extundo.com>
84009
84010         * lib/argp.h: New file, from glibc.
84011         * lib/argp-ba.c: New file, from glibc.
84012         * lib/argp-eexst.c: New file, from glibc.
84013         * lib/argp-fmtstream.c: New file, from glibc.
84014         * lib/argp-fmtstream.h: New file, from glibc.
84015         * lib/argp-fs-xinl.c: New file, from glibc.
84016         * lib/argp-help.c: New file, from glibc.
84017         * lib/argp-namefrob.h: New file, from glibc.
84018         * lib/argp-parse.c: New file, from glibc.
84019         * lib/argp-pv.c: New file, from glibc.
84020         * lib/argp-pvh.c: New file, from glibc.
84021         * lib/argp-xinl.c: New file, from glibc.
84022
84023 2003-06-10  Simon Josefsson  <jas@extundo.com>
84024
84025         * modules/strchrnul: New file.
84026
84027 2003-06-10  Simon Josefsson  <jas@extundo.com>
84028
84029         * modules/argp: New file.
84030
84031 2003-06-10  Simon Josefsson  <jas@extundo.com>
84032
84033         * m4/strchrnul.m4: New file.
84034
84035 2003-06-10  Simon Josefsson  <jas@extundo.com>
84036
84037         * lib/strchrnul.h: New file.
84038         * lib/strchrnul.c: New file.
84039
84040 2003-06-10  Bruno Haible  <bruno@clisp.org>
84041
84042         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
84043
84044 2003-06-07  Karl Berry  <karl@gnu.org>
84045
84046         * config/config.{guess,sub}: update from prep.
84047
84048 2003-06-07  Jim Meyering  <jim@meyering.net>
84049
84050         * modules/strtod: Use $(...) notation, not @...@ for
84051         AC_REPLACE'd variables.
84052         * modules/localcharset: Likewise.
84053
84054 2003-06-07  Jim Meyering  <jim@meyering.net>
84055
84056         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
84057         in place of my name in the copyright comment.
84058         Remove definition and uses of __P.
84059
84060         From coreutils.
84061         * lib/stat.c: Don't declare xmalloc explicitly.
84062         Instead, include "xalloc.h".
84063         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
84064         xrealloc, and xcalloc return values.
84065         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
84066         Improve comment.
84067         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
84068
84069 2003-06-07  Bruno Haible  <bruno@clisp.org>
84070
84071         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
84072         avoid AC_CONFIG_LINKS.
84073         * modules/fnmatch (Makefile.am): Use explicit creation rule for
84074         fnmatch.h, to avoid AC_CONFIG_LINKS.
84075         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
84076
84077 2003-06-07  Bruno Haible  <bruno@clisp.org>
84078
84079         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
84080         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
84081         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
84082         directory.
84083         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
84084         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
84085         directory.
84086
84087 2003-06-06  Jim Meyering  <jim@meyering.net>
84088
84089         Merge from coreutils.
84090         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
84091         Consolidate declarations and initializations of *_base* locals.
84092
84093         Merge from coreutils.
84094         This avoids a core dump on systems without GNU putenv,
84095         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
84096         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
84097         (unsetenv): New static function, from GNU libc.
84098         (rpl_putenv): Use it.
84099
84100         * lib/modechange.c: Remove trailing blanks.
84101
84102         Merge from coreutils.
84103         * lib/fsusage.c: Remove declaration of statfs.
84104         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
84105
84106         * lib/posixtm.c: Include <stdbool.h> unconditionally.
84107
84108 2003-06-06  Jim Meyering  <jim@meyering.net>
84109
84110         * lib/stdbool_.h: Renamed from stdbool.h.in.
84111
84112 2003-06-06  Jim Meyering  <jim@meyering.net>
84113             Bruno Haible  <bruno@clisp.org>
84114
84115         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
84116         Adjust Makefile.am snippet not to redirect directly to target.
84117         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
84118
84119 2003-06-05  Paul Eggert  <eggert@twinsun.com>
84120
84121         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
84122         mismatch, look in future quarters as well as past.  This fixes a
84123         bug when processing fall-backwards gaps immediately after a long
84124         period of daylight-saving time.
84125
84126         * lib/mktime.c: Assume freestanding C89 or better.
84127         (HAVE_LIMITS_H): Remove.  Assume it's 1.
84128         (__P): Remove; not used.
84129         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
84130         (mktime, not_equal_tm, print_tm, check_result,
84131         main): Use prototypes.  Use const * where appropriate.
84132         (main): Fix typo in testing code that uncovered by above changes.
84133         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
84134
84135 2003-06-04  Paul Eggert  <eggert@twinsun.com>
84136
84137         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
84138         locale.h, localeconv.  This merges changes from coreutils.
84139
84140         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
84141         It can be removed after the next Autoconf is released.
84142         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
84143         needed.
84144
84145 2003-06-04  Paul Eggert  <eggert@twinsun.com>
84146
84147         * lib/mktime.c: Fix Debian bug 177940
84148         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
84149         (localtime_offset): Now long int, not time_t, because we want it
84150         to be guaranteed to be signed.  All uses changed.
84151         (__mktime_internal): If overflow would occur when adding offset,
84152         don't add it.
84153
84154         Merge 'human' changes from coreutils.  Rewrite to support
84155         locale-specific notations like thousands separators.
84156         * lib/human.c: Simplify authorship notice.
84157         Include human.h immediately after config.h.
84158         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
84159         <limits.h>: Do not include, since human.h does.
84160         (SIZE_MAX, UINTMAX_MAX): New macros.
84161         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
84162         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
84163         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
84164         (power_letter): Renamed from suffixes.
84165         (generate_suffix_backwards): Remove.
84166         (adjust_value): Now takes int style (because of human.h changes)
84167         and long double value (for greater precision on some platforms).
84168         (group_number): New function.
84169         (human_readable): Use it.  Use integer options, not enum.
84170         Put the options before the sizes in the arg list.
84171         Support all the new options.
84172         The old human_readable function has been removed;
84173         use inttostr.h instead.
84174         (human_readable, default_block_size, humblock):
84175         Use uintmax_t, not int, for block sizes.
84176         (human_readable_inexact, block_size_types): Remove.
84177         (block_size_opts): New constant.
84178         (human_options): Renamed from human_block_size, with new signature
84179         that allows block sizes up to UINTMAX_MAX.  All callers changed.
84180         * lib/human.h: Add copyright and authorship notice.
84181         Include <limits.h> and <stdbool.h> unconditionally.
84182         (PARAMS): Remove.  All uses removed.
84183         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
84184         (enum human_inexact_style): Remove tag; now a nameless enum.
84185         (human_floor, human_ceiling, human_round_to_even): Now have
84186         values 2, 0, 1 rather than -1, 1, 0.
84187         (human_group_digits, human_suppress_point_zero, human_autoscale,
84188         human_base_1024, human_SI, human_B): New constants.
84189         (human_readable_inexact, human_block_size): Remove.
84190         (human_readable): Size args are now uintmax_t, not int.
84191         (human_options): New decl.
84192
84193         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
84194         unnecessary now that we assume C89 or better.  This change
84195         imported from coreutils.
84196
84197         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
84198         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
84199         in the 2003-05-30 sync from glibc.
84200
84201         .h files should stand alone, but we shouldn't include <sys/types.h>
84202         if we can get away with just <stddef.h>.
84203
84204         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
84205         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
84206         rather than <sys/types.h>, as we merely need size_t.
84207         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
84208         to get size_t.
84209         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
84210         Include <stdio.h>, to get FILE.
84211         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
84212         memcasecmp.h has included <stddef.h> and all we need is size_t.
84213         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
84214         our interface, instead of including <sys/types.h>
84215
84216 2003-06-04  Paul Eggert  <eggert@twinsun.com>
84217
84218         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
84219         now, as glibc mktime is buggy on non-glibc systems.
84220
84221 2003-06-03  Karl Berry  <karl@gnu.org>
84222
84223         * config/config.sub: update from prep.
84224
84225 2003-06-02  Paul Eggert  <eggert@twinsun.com>
84226
84227         [from coreutils]
84228         Fix some minor time-related bugs with POSIX time arguments.
84229         Some valid time stamps were being rejected (notably -1, and
84230         time stamps before 1900 on 64-bit hosts).  And some invalid
84231         time stamps were being accepted, e.g. September 31.
84232
84233         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
84234         that we can return (time_t) -1 successfully.
84235         * lib/posixtm.c: Likewise.
84236         [HAVE_STDBOOL_H]: Include <stdbool.h>.
84237         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
84238         (t): Remove static var.
84239         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
84240         of static var.  All uses changed.
84241         (year): Do not reject years before 1900; they can occur with
84242         64-bit time_t.
84243         (posix_time_parse): Do not check for out-of-range components;
84244         that is now the caller's responsibility, since our checks were
84245         only approximations.
84246         (posixtime): Use mktime to check for out-of-range components,
84247         since it knows them exactly.
84248         If mktime returns (time_t) -1, check whether an error actually occurred
84249         by invoking localtime on -1.
84250         (main) [TEST_POSIXTIME]: Check for input data errors, and report
84251         posixtime failures better.
84252         Improve the test data (in comments only).
84253
84254 2003-06-02  Karl Berry  <karl@gnu.org>
84255
84256         * config/mkinstalldirs (version): new variable.
84257         (--version): new option.
84258         (usage): improve message.
84259
84260 2003-05-30  Karl Berry  <karl@gnu.org>
84261
84262         * lib/mktime.c: update from libc.
84263
84264 2003-05-30  Bruno Haible  <bruno@clisp.org>
84265
84266         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
84267         * config/config.rpath: Upgrade to gettext-0.12.1.
84268
84269 2003-05-30  Bruno Haible  <bruno@clisp.org>
84270
84271         * m4/gettext.m4: Upgrade to gettext-0.12.1.
84272         * m4/nls.m4: New file, from gettext-0.12.1.
84273         * m4/po.m4: New file, from gettext-0.12.1.
84274         * m4/progtest.m4: Upgrade to gettext-0.12.1.
84275
84276 2003-05-30  Bruno Haible  <bruno@clisp.org>
84277
84278         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
84279         * lib/localcharset.h: Likewise.
84280         * lib/localcharset.c: Likewise.
84281
84282 2003-05-29  Karl Berry  <karl@gnu.org>
84283
84284         * config/config.rpath: update from gettext.
84285
84286 2003-05-28  Paul Eggert  <eggert@twinsun.com>
84287
84288         Assume the headers required for C89 freestanding compilers.
84289         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
84290         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
84291         * m4/human.m4 (gl_HUMAN): Likewise.
84292         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
84293         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
84294         * m4/userspec.m4 (gl_USERSPEC): Likewise.
84295         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
84296         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84297         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
84298
84299 2003-05-28  Paul Eggert  <eggert@twinsun.com>
84300
84301         Assume the headers required for C89 freestanding compilers.
84302         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
84303         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
84304         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
84305         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
84306         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
84307         define, since <limits.h> is guaranteed to do that.
84308         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
84309         * lib/exclude.c: Include <stdbool.h> unconditionally.
84310         * lib/tempname.c: Include <stddef.h> unconditionally.
84311         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
84312         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
84313         <stddef.h> does that.
84314         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
84315         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
84316         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
84317         needed.
84318         * lib/xstrtol.c: Likewise.
84319         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
84320         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
84321
84322         * lib/addext.c (addext): Use assignment rather than cast, to avoid
84323         warnings on some platforms.
84324
84325         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
84326         arbitrarily.
84327
84328 2003-05-26  Jim Meyering  <jim@meyering.net>
84329
84330         Merge in a change from coreutils:
84331         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
84332         that is guaranteed to be `no'.  Use `no_such_member' to indicate
84333         that condition, rather than `-1' which is slightly misleading.
84334         Change the name of the cache variable to have the gl_ prefix.
84335         Prompted by a patch from Richard Dawe for DJGPP.
84336
84337 2003-05-24  Karl Berry  <karl@gnu.org>
84338
84339         * config/config.guess: update from prep.
84340
84341 2003-05-22  Karl Berry  <karl@gnu.org>
84342
84343         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
84344
84345 2003-05-20  Karl Berry  <karl@gnu.org>
84346
84347         * config/config.guess: update from prep.
84348
84349 2003-05-18  Karl Berry  <karl@gnu.org>
84350
84351         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
84352         might actually be set by the user.
84353
84354         * config/depcomp, install-sh, mdate-sh: update from automake.
84355
84356 2003-05-17  Bruno Haible  <bruno@clisp.org>
84357
84358         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
84359         invalid expansion for AC_EGREP_CPP.
84360         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
84361         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
84362         Suggested by Akim Demaille <akim@epita.fr> in
84363         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
84364
84365 2003-05-12  Jim Meyering  <jim@meyering.net>
84366
84367         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
84368         the space-padded-by-default conversion specifiers, %e, %k, %l.
84369
84370 2003-05-12  Bruno Haible  <bruno@clisp.org>
84371
84372         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
84373         the string is longer than 4 KB.
84374
84375 2003-05-11  Karl Berry  <karl@gnu.org>
84376
84377         * config/config.{guess,sub}: update from prep.
84378
84379 2003-05-09  Bruno Haible  <bruno@clisp.org>
84380
84381         * modules/error: Add m4/strerror_r.m4 to file list.
84382
84383 2003-05-03  Bruno Haible  <bruno@clisp.org>
84384
84385         Upgrade to Unicode-4.0.
84386         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
84387         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
84388         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
84389         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
84390         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
84391         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
84392         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
84393         Change width of U+E0100..U+E01EF from 1 to 0.
84394
84395 2003-04-25  Jim Meyering  <jim@meyering.net>
84396
84397         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
84398         of type size_t, not int.
84399
84400 2003-04-25  Bruno Haible  <bruno@clisp.org>
84401
84402         * lib/copy-file.c: Include <stddef.h>, for size_t.
84403
84404 2003-04-21  Paul Eggert  <eggert@twinsun.com>
84405
84406         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
84407         code which expansion is under static control.  Patch imported from
84408         Akim Demaille's patch to Bison; see
84409         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
84410
84411 2003-04-14  Bruno Haible  <bruno@clisp.org>
84412
84413         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
84414
84415 2003-04-11  Jim Meyering  <jim@meyering.net>
84416
84417         Merge changes from Coreutils.
84418
84419         2003-03-22  Jim Meyering  <jim@meyering.net>
84420
84421         * lib/strftime.c (widen): Cast alloca return value to proper type.
84422
84423         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
84424
84425         From GNU libc.
84426         * lib/strftime.c (my_strftime): Handle very large width
84427         specifications for numeric values correctly.  Improve checks for
84428         overflow.
84429
84430         2003-01-19  Jim Meyering  <jim@meyering.net>
84431
84432         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
84433         definitions.
84434         (nl_get_alt_digit) [! defined my_strftime]: Define.
84435         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
84436         _nl_get_alt_digit and _nl_get_walt_digit.
84437
84438         * lib/strftime.c (my_strftime): Merge in locale-related changes from
84439         libc. These changes have no effect outside of _LIBC.
84440
84441 2003-04-10  Bruno Haible  <bruno@clisp.org>
84442
84443         * modules/findprog: New file.
84444         * MODULES.html.sh (func_all_modules): Add it.
84445
84446 2003-04-10  Bruno Haible  <bruno@clisp.org>
84447
84448         * m4/findprog.m4: New file.
84449         * m4/eaccess.m4: New file.
84450
84451 2003-04-10  Bruno Haible  <bruno@clisp.org>
84452
84453         * lib/findprog.h: New file, from GNU gettext.
84454         * lib/findprog.c: New file, from GNU gettext.
84455
84456 2003-04-05  Jim Meyering  <jim@meyering.net>
84457
84458         Merge changes from Coreutils.
84459
84460         * lib/exclude.h (PARAMS): Remove definition and uses.
84461         * lib/exclude.c: Remove uses of `PARAMS'.
84462
84463         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
84464         Add test-cases for DOS filenames. Declare program_name.
84465         (main): Set up program_name.  Patch by Rich Dawe.
84466
84467         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
84468         error from mntctl.
84469         Use mntctl's return value to drive the entry-processing loop, since
84470         we can't rely on the value of the vmt_length member in the last
84471         entry.  On some systems doing so could result in exhausting
84472         virtual memory.  Based in part on a patch from Mike Jetzer.
84473
84474 2003-04-04  Bruno Haible  <bruno@clisp.org>
84475
84476         * modules/linebreak: New file.
84477         * MODULES.html.sh (func_all_modules): Add it.
84478
84479 2003-04-04  Bruno Haible  <bruno@clisp.org>
84480
84481         * m4/linebreak.m4: New file.
84482
84483 2003-04-04  Bruno Haible  <bruno@clisp.org>
84484
84485         * lib/linebreak.h: New file, from GNU gettext.
84486         * lib/linebreak.c: New file, from GNU gettext with slight
84487         modifications.
84488         * lib/lbrkprop.h: New file, from GNU gettext.
84489
84490 2003-04-03  Bruno Haible  <bruno@clisp.org>
84491
84492         * modules/utf8-ucs4: New file.
84493         * modules/utf16-ucs4: New file.
84494         * modules/ucs4-utf8: New file.
84495         * modules/ucs4-utf16: New file.
84496         * MODULES.html.sh (func_all_modules): Add them.
84497
84498 2003-04-03  Bruno Haible  <bruno@clisp.org>
84499
84500         * m4/utf-ucs4.m4: New file.
84501         * m4/ucs4-utf.m4: New file.
84502
84503 2003-04-03  Bruno Haible  <bruno@clisp.org>
84504
84505         * lib/utf8-ucs4.h: New file, from GNU gettext.
84506         * lib/utf16-ucs4.h: New file, from GNU gettext.
84507         * lib/ucs4-utf8.h: New file, from GNU gettext.
84508         * lib/ucs4-utf16.h: New file, from GNU gettext.
84509
84510 2003-04-02  Bruno Haible  <bruno@clisp.org>
84511
84512         * modules/binary-io: New file.
84513         * MODULES.html.sh (func_all_modules): Add it.
84514
84515 2003-04-02  Bruno Haible  <bruno@clisp.org>
84516
84517         * lib/binary-io.h: New file, from GNU gettext.
84518
84519 2003-04-01  Bruno Haible  <bruno@clisp.org>
84520
84521         * modules/pathname: New file.
84522         * MODULES.html.sh (func_all_modules): Add it.
84523
84524 2003-04-01  Bruno Haible  <bruno@clisp.org>
84525
84526         * lib/pathname.h: New file, from GNU gettext.
84527         * lib/concatpath.c: New file, from GNU gettext.
84528
84529 2003-03-30  Bruno Haible  <bruno@clisp.org>
84530
84531         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
84532
84533 2003-03-30  Bruno Haible  <bruno@clisp.org>
84534
84535         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
84536         function chown() doesn't exist.
84537
84538 2003-03-28  Bruno Haible  <bruno@clisp.org>
84539
84540         * modules/copy-file: New file.
84541         * MODULES.html.sh (func_all_modules): Add it.
84542
84543 2003-03-28  Bruno Haible  <bruno@clisp.org>
84544
84545         * m4/copy-file.m4: New file.
84546
84547 2003-03-28  Bruno Haible  <bruno@clisp.org>
84548
84549         * lib/copy-file.h: New file, from GNU gettext.
84550         * lib/copy-file.c: New file, from GNU gettext.
84551
84552 2003-03-18  Jim Meyering  <jim@meyering.net>
84553
84554         * lib/quote.c (quote_n): Fix typo in comment.
84555
84556 2003-03-18  Bruno Haible  <bruno@clisp.org>
84557
84558         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
84559         checking.
84560         * m4/onceonly_2_57.m4: Likewise.
84561
84562 2003-03-17  Bruno Haible  <bruno@clisp.org>
84563
84564         * m4/onceonly.m4: Require autoconf 2.54 or newer.
84565         (m4_quote): Remove macro.
84566         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
84567
84568 2003-03-14  Jim Meyering  <jim@meyering.net>
84569
84570         Merge changes from Coreutils.
84571         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
84572         to be const, in order to avoid warnings.
84573         (obstack_room): Likewise.
84574         (obstack_empty_p): Likewise.
84575
84576 2003-03-14  Bruno Haible  <bruno@clisp.org>
84577
84578         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
84579         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
84580
84581 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84582
84583         Merge changes from Bison.
84584         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
84585         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
84586         when compiling Bison 1.875's `bitset bset = obstack_alloc
84587         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
84588         * lib/hash.c: Include <stdbool.h> unconditionally.
84589
84590 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84591
84592         * m4/onceonly.m4 (m4_quote): New macro.
84593         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
84594         Quote AC_FOREACH variable-expansions properly.
84595
84596 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84597
84598         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
84599
84600 2003-03-09  Paul Eggert  <eggert@twinsun.com>
84601
84602         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
84603         Reported by Bruce Becker; see:
84604         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
84605
84606 2003-03-03  Paul Eggert  <eggert@twinsun.com>
84607             Bruno Haible  <bruno@clisp.org>
84608
84609         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
84610         Reported by John Hughes, see
84611         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
84612
84613 2003-02-20  Bruno Haible  <bruno@clisp.org>
84614
84615         * MODULES.html.sh (func_all_modules): Add poll.
84616
84617 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84618
84619         * modules/poll: New file.
84620
84621 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84622
84623         * lib/poll_.h: New file.
84624         * lib/poll.c: New file.
84625
84626 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84627
84628         * m4/poll.m4: New file.
84629
84630 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84631
84632         * modules/mathl: New file.
84633
84634 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84635
84636         * lib/mathl.h: New file.
84637         * lib/acosl.c: New file.
84638         * lib/asinl.c: New file.
84639         * lib/atanl.c: New file.
84640         * lib/ceill.c: New file.
84641         * lib/cosl.c: New file.
84642         * lib/expl.c: New file.
84643         * lib/floorl.c: New file.
84644         * lib/frexpl.c: New file.
84645         * lib/ldexpl.c: New file.
84646         * lib/logl.c: New file.
84647         * lib/sincosl.c: New file.
84648         * lib/sinl.c: New file.
84649         * lib/sqrtl.c: New file.
84650         * lib/tanl.c: New file.
84651         * lib/trigl.c: New file.
84652         * lib/trigl.h: New file.
84653
84654 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84655
84656         * m4/mathl.m4: New file.
84657
84658 2003-02-18  Bruno Haible  <bruno@clisp.org>
84659
84660         * MODULES.html.sh (func_all_modules): Add mathl.
84661
84662 2003-02-17  Bruno Haible  <bruno@clisp.org>
84663
84664         * modules/mkdtemp: New module.
84665         * MODULES.html.sh (func_all_modules): Add it.
84666
84667 2003-02-17  Bruno Haible  <bruno@clisp.org>
84668
84669         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
84670
84671 2003-02-17  Bruno Haible  <bruno@clisp.org>
84672
84673         * lib/mkdtemp.h: New file, from GNU gettext.
84674         * lib/mkdtemp.c: New file, from GNU gettext.
84675
84676 2003-02-02  Jim Meyering  <jim@meyering.net>
84677
84678         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
84679         e.g. glibc-2.2.93.
84680
84681 2003-01-31  Bruno Haible  <bruno@clisp.org>
84682
84683         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
84684         'rpl_rename'.
84685         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
84686         'rpl_strnlen'.
84687         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
84688         'rpl_strtod'.
84689         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
84690         'rpl_utime'.
84691
84692 2003-01-31  Bruno Haible  <bruno@clisp.org>
84693
84694         * lib/rename.c: #undef rename before defining rpl_rename.
84695         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
84696
84697 2003-01-30  Bruno Haible  <bruno@clisp.org>
84698
84699         * modules/vasnprintf, modules/vasprintf: New modules.
84700         * MODULES.html.sh (func_all_modules): Add them.
84701
84702 2003-01-30  Bruno Haible  <bruno@clisp.org>
84703
84704         * m4/signed.m4: New file, from GNU gettext.
84705         * m4/longdouble.m4: New file, from GNU gettext.
84706         * m4/wchar_t.m4: New file, from GNU gettext.
84707         * m4/wint_t.m4: New file, from GNU gettext.
84708         * m4/vasnprintf.m4: New file.
84709         * m4/vasprintf.m4: New file.
84710
84711 2003-01-30  Bruno Haible  <bruno@clisp.org>
84712
84713         * lib/printf-args.h: New file, from GNU gettext.
84714         * lib/printf-args.c: New file, from GNU gettext.
84715         * lib/printf-parse.h: New file, from GNU gettext.
84716         * lib/printf-parse.c: New file, from GNU gettext.
84717         * lib/vasnprintf.h: New file, from GNU gettext.
84718         * lib/vasnprintf.c: New file, from GNU gettext.
84719         * lib/asnprintf.c: New file, from GNU gettext.
84720         * lib/vasprintf.h: New file, from GNU gettext with modifications.
84721         * lib/vasprintf.c: New file, from GNU gettext.
84722         * lib/asprintf.c: New file, from GNU gettext.
84723
84724 2003-01-29  Bruno Haible  <bruno@clisp.org>
84725
84726         * modules/stpncpy: New module.
84727         * MODULES.html.sh (func_all_modules): Add it.
84728
84729 2003-01-29  Bruno Haible  <bruno@clisp.org>
84730
84731         * m4/stpncpy.m4: New file.
84732
84733 2003-01-29  Bruno Haible  <bruno@clisp.org>
84734
84735         * lib/stpncpy.h: New file, from GNU gettext with modifications.
84736         * lib/stpncpy.c: New file, from GNU gettext with modifications.
84737
84738 2003-01-28  Bruno Haible  <bruno@clisp.org>
84739
84740         * modules/c-ctype: New module.
84741         * MODULES.html.sh (func_all_modules): Add it.
84742
84743 2003-01-28  Bruno Haible  <bruno@clisp.org>
84744
84745         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
84746         Paul Eggert.
84747         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
84748         Paul Eggert.
84749
84750 2003-01-27  Bruno Haible  <bruno@clisp.org>
84751
84752         * modules/xsetenv: New module.
84753         * MODULES.html.sh (func_all_modules): Add it.
84754
84755 2003-01-27  Bruno Haible  <bruno@clisp.org>
84756
84757         * lib/xsetenv.h: New file, from GNU gettext.
84758         * lib/xsetenv.c: New file, from GNU gettext.
84759
84760 2003-01-23  Jim Meyering  <jim@meyering.net>
84761
84762         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
84763         from working on systems without dirfd (at least Irix and OSF1/Tru64).
84764
84765 2003-01-23  Bruno Haible  <bruno@clisp.org>
84766
84767         * modules/minmax: New module.
84768         * MODULES.html.sh (func_all_modules): Add it.
84769
84770 2003-01-23  Bruno Haible  <bruno@clisp.org>
84771
84772         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
84773         Eggert.
84774
84775 2003-01-22  Bruno Haible  <bruno@clisp.org>
84776
84777         * modules/exit: New module.
84778         * MODULES.html.sh (func_all_modules): Add it.
84779
84780 2003-01-22  Bruno Haible  <bruno@clisp.org>
84781
84782         * lib/exit.h: New file, from GNU gettext.
84783
84784 2003-01-19  Bruno Haible  <bruno@clisp.org>
84785
84786         * gnulib-tool: Recognize option --extract-maintainer.
84787         (func_get_maintainer): New function.
84788         * modules/*: Add Maintainer entry.
84789
84790 2003-01-16  Jim Meyering  <jim@meyering.net>
84791
84792         * m4/regex.m4: The `regex' struct is both input and output.
84793         Initialize it before each use.  Patch by Tim Waugh.
84794
84795 2003-01-16  Bruno Haible  <bruno@clisp.org>
84796
84797         * MODULES.html.sh: Add a table of contents. Add the module name as
84798         leftmost column. Add hyperlinks.
84799
84800 2003-01-15  Bruno Haible  <bruno@clisp.org>
84801
84802         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
84803
84804 2003-01-15  Bruno Haible  <bruno@clisp.org>
84805
84806         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
84807         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
84808         suffix.
84809
84810 2003-01-15  Bruno Haible  <bruno@clisp.org>
84811
84812         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
84813
84814 2003-01-15  Bruno Haible  <bruno@clisp.org>
84815
84816         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
84817         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
84818
84819 2003-01-14  Jim Meyering  <jim@meyering.net>
84820
84821         * lib/same.c (same_name): Tweak a comment.
84822
84823 2003-01-14  Bruno Haible  <bruno@clisp.org>
84824
84825         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
84826         when a string comparison is sufficient.
84827
84828 2003-01-14  Bruno Haible  <bruno@clisp.org>
84829
84830         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
84831         'unsigned int'.
84832
84833 2003-01-14  Bruno Haible  <bruno@clisp.org>
84834
84835         * lib/hash-pjw.c: Add comment about low quality of this function.
84836
84837 2003-01-13  Bruno Haible  <bruno@clisp.org>
84838
84839         * modules/stpcpy: Distribute lib/stpcpy.h.
84840         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
84841
84842 2003-01-13  Bruno Haible  <bruno@clisp.org>
84843
84844         * modules/*: Add a description.
84845         * modules/strpbrk: Fix Makefile.am snippet.
84846         * modules/strtoimax: Fix dependencies.
84847         * modules/strtoumax: Likewise.
84848
84849 2003-01-13  Bruno Haible  <bruno@clisp.org>
84850
84851         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
84852         * modules/alloca (Makefile.am): All object files depend on alloca.h.
84853         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
84854
84855 2003-01-13  Bruno Haible  <bruno@clisp.org>
84856
84857         * gnulib-tool (func_create_testdir): Store config/* files in the main
84858         directory.
84859         * config.rpath: Move to ...
84860         * config/config.rpath: ... here.
84861         * modules/gettext: Contains config/config.rpath, not config.rpath.
84862         * modules/iconv: Likewise.
84863
84864 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84865
84866         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84867         to avoid collisions with libcurses and libreadline.
84868
84869         * m4/getstr.m4: Remove.
84870         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
84871
84872 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84873
84874         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84875         to avoid collisions with libcurses and libreadline.
84876
84877         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
84878         * lib/getstr.h, getstr.c: Remove.
84879         * lib/getline.c: Include "getline.h", to check interface.
84880         Move body of old getstr.c here: this defines MIN_CHUNK and
84881         declares getdelim2, which is renamed from getstr.
84882         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
84883
84884         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
84885         All uses changed.
84886         * lib/linebuffer.h: Likewise.
84887         (readline): Remove backward-compatibility macro.
84888
84889 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84890
84891         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84892         to avoid collisions with libcurses and libreadline.
84893         * getstr: Remove.
84894         * MODULES.html.sh: Remove getstr.
84895         * modules/getline: Depend on unlocked-io, not getstr.
84896
84897 2003-01-12  Jim Meyering  <jim@meyering.net>
84898
84899         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
84900
84901 2003-01-10  Bruno Haible  <bruno@clisp.org>
84902
84903         * modules/alloca: Change Makefile.am requirements. Simplify Include
84904         requirements. Add lib/alloca_.h to file list.
84905
84906 2003-01-10  Bruno Haible  <bruno@clisp.org>
84907
84908         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
84909
84910 2003-01-10  Bruno Haible  <bruno@clisp.org>
84911
84912         * lib/alloca_.h: New file.
84913         * lib/getdate.y: Unconditionally include alloca.h.
84914         * lib/makepath.c: Likewise.
84915         * lib/setenv.c: Likewise.
84916         * lib/userspec.c: Likewise.
84917
84918 2003-01-09  Karl Berry  <karl@gnu.org>
84919
84920         * MODULES.html.sh: include `dirname $0` in PATH, to find
84921         gnulib-tool.
84922
84923 2003-01-09  Bruno Haible  <bruno@clisp.org>
84924
84925         * modules/stdbool: Change configure.ac, Makefile.am requirements.
84926         Simplify Include requirements. Add lib/stdbool.h.in to file list.
84927
84928 2003-01-09  Bruno Haible  <bruno@clisp.org>
84929
84930         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
84931
84932 2003-01-09  Bruno Haible  <bruno@clisp.org>
84933
84934         * lib/stdbool.h.in: New file.
84935
84936 2003-01-09  Bruno Haible  <bruno@clisp.org>
84937
84938         * gnulib-tool (func_all_modules): Ignore files ending in ~.
84939         * MODULES.html.sh: Likewise.
84940
84941 2003-01-08  Jim Meyering  <jim@meyering.net>
84942
84943         * lib/full-write.c: Undefine and define-away `const' after inclusion
84944         of errno.h, not before.  Suggestion from Bruno Haible.
84945
84946 2003-01-08  Bruno Haible  <bruno@clisp.org>
84947
84948         * modules/full-read: Depend on full-write.
84949
84950 2003-01-08  Bruno Haible  <bruno@clisp.org>
84951
84952         * lib/safe-read.c: Include specification header first, to ensure its
84953         selfcontainedness.
84954         * lib/full-write.c: Likewise.
84955
84956 2003-01-07  Jim Meyering  <jim@meyering.net>
84957
84958         * lib/full-write.c: Rework so that it may serve to define full_read,
84959         too.
84960         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
84961
84962 2003-01-07  Bruno Haible  <bruno@clisp.org>
84963
84964         * lib/strtoimax.c: Include <stdint.h> as an alternative to
84965         <inttypes.h>.
84966         * lib/xstrtol.h: Likewise.
84967         * lib/xstrtoimax.c: Likewise.
84968         * lib/xstrtoumax.c: Likewise.
84969         * lib/human.h: Likewise.
84970
84971         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
84972         on systems that have <inttypes.h> but not <stdint.h>.
84973
84974 2003-01-07  Bruno Haible  <bruno@clisp.org>
84975
84976         * MODULES.html.sh: Add copyright notice.
84977         (missed_files): Omit CVS directory entries.
84978         (func_module): Make it work with sed-3.02.
84979         * MODULES.txt: Remove file.
84980
84981 2003-01-06  Jim Meyering  <jim@meyering.net>
84982
84983         * lib/version-etc.c: Update year in translatable copyright string.
84984
84985 2003-01-03  Karl Berry  <karl@gnu.org>
84986
84987         * config/config.{guess,sub}: update from prep.
84988
84989 2003-01-02  Karl Berry  <karl@gnu.org>
84990
84991         * doc/COPYING.DOC: belatedly updated to 1.2.
84992
84993 2003-01-01  Karl Berry  <karl@gnu.org>
84994
84995         * gnulib-tool (func_verify_module): report module name $module in
84996         error message, not $1.
84997         * gnulib-tool (create-testdir): don't complain if destdir couldn't
84998         be created, only if it doesn't exist.
84999         * gnulib-tool (last_checkin_date): don't expand the $Date here.
85000
85001 2002-12-31  Paul Eggert  <eggert@twinsun.com>
85002
85003         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
85004
85005 2002-12-31  Paul Eggert  <eggert@twinsun.com>
85006
85007         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
85008         memcmp if strcoll doesn't work.
85009
85010 2002-12-31  Bruno Haible  <bruno@clisp.org>
85011
85012         * lib/utime.c (utime_null): No need to call ftruncate if the file was
85013         nonempty.
85014
85015 2002-12-31  Bruno Haible  <bruno@clisp.org>
85016
85017         * lib/memcoll.c (STRCOLL): New macro.
85018         (memcoll): Use it.
85019
85020 2002-12-31  Bruno Haible  <bruno@clisp.org>
85021
85022         * lib/localcharset.h: New file.
85023         * lib/localcharset.c: Include it.
85024         * lib/unicodeio.c: Likewise.
85025
85026 2002-12-31  Bruno Haible  <bruno@clisp.org>
85027
85028         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
85029         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
85030
85031 2002-12-31  Bruno Haible  <bruno@clisp.org>
85032
85033         * lib/getline.h: Include <stddef.h>, for size_t.
85034
85035         * lib/unicodeio.h: Include <stddef.h>, for size_t.
85036         * lib/unicodeio.c: Don't include <stddef.h>.
85037
85038 2002-12-31  Bruno Haible  <bruno@clisp.org>
85039
85040         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
85041         HAVE_TM_ZONE.
85042
85043 2002-12-24  Karl Berry  <karl@gnu.org>
85044
85045         * config/config.guess: update from prep.
85046
85047 2002-12-24  Bruno Haible  <bruno@clisp.org>
85048
85049         General infrasructure.
85050         * m4/README: Rewritten.
85051         * m4/onceonly.m4: New file.
85052         * m4/onceonly_2_57.m4: New file.
85053
85054         Module atexit.
85055         * m4/atexit.m4: New file.
85056
85057         Module strtod.
85058         * m4/strtod.m4: New file.
85059
85060         Module strtol.
85061         * m4/strtol.m4: New file.
85062
85063         Module strtoul.
85064         * m4/strtoul.m4: New file.
85065
85066         Module memchr.
85067         * m4/memchr.m4: New file.
85068
85069         Module memcmp.
85070         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
85071         (jm_FUNC_MEMCMP): Invoke it.
85072
85073         Module memcpy.
85074         * m4/memcpy.m4: New file.
85075
85076         Module memmove.
85077         * m4/memmove.m4: New file.
85078
85079         Module memset.
85080         * m4/memset.m4: New file.
85081
85082         Module strcspn.
85083         * m4/strcspn.m4: New file.
85084
85085         Module strpbrk.
85086         * m4/strpbrk.m4: New file.
85087
85088         Module strstr.
85089         * m4/strstr.m4: New file.
85090
85091         Module strerror.
85092         * m4/strerror.m4: New file.
85093
85094         Module mktime.
85095         * m4/mktime.m4: Renamed from jm-mktime.m4.
85096         (gl_PREREQ_MKTIME): New macro.
85097         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
85098
85099         Module malloc.
85100         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
85101         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
85102         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
85103
85104         Module realloc.
85105         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
85106         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
85107         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
85108
85109         Module strftime.
85110         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
85111         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
85112         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
85113         gl_TM_GMTOFF.
85114         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
85115
85116         Module xalloc.
85117         * m4/xalloc.m4: New file.
85118
85119         Module alloca.
85120         * m4/alloca.m4: New file.
85121
85122         Module putenv.
85123         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
85124         (jm_FUNC_PUTENV): Invoke it.
85125
85126         Module setenv.
85127         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
85128         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
85129         when invoked twice.
85130         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
85131         gt_FUNC_SETENV.
85132
85133         Module memrchr.
85134         * m4/memrchr.m4: New file.
85135
85136         Module stpcpy.
85137         * m4/stpcpy.m4: New file.
85138
85139         Module strcase.
85140         * m4/strcase.m4: New file.
85141
85142         Module strdup.
85143         * m4/strdup.m4: New file.
85144
85145         Module strnlen.
85146         * m4/strnlen.m4: New file.
85147
85148         Module strndup.
85149         * m4/strndup.m4: New file.
85150
85151         Module xstrtod.
85152         * m4/xstrtod.m4: New file.
85153
85154         Module xstrtol.
85155         * m4/xstrtol.m4: New file.
85156
85157         Module getdate.
85158         * m4/getdate.m4: New file.
85159
85160         Module unlocked-io.
85161         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
85162         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
85163         * m4/jm-glibc-io.m4n: Remove file.
85164
85165         Module long-options.
85166         * m4/long-options.m4: New file.
85167
85168         Module md5.
85169         * m4/md5.m4: New file.
85170
85171         Module sha.
85172         * m4/sha.m4: New file.
85173
85174         Module getstr.
85175         * m4/getstr.m4: New file.
85176
85177         Module getline.
85178         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
85179         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
85180         <sys/types.h>, for size_t. Use the function name gnu_getline, not
85181         simply getline. Infoke gl_PREREQ_GETLINE.
85182
85183         Module obstack.
85184         * m4/obstack.m4: New file.
85185
85186         Module hash.
85187         * m4/hash.m4: New file.
85188
85189         Module readtokens.
85190         * m4/readtokens.m4: New file.
85191
85192         Module strverscmp.
85193         * m4/strverscmp.m4: New file.
85194
85195         Module stdbool.
85196         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
85197         OSF/1.
85198
85199         Module strtoll.
85200         * m4/strtoll.m4: New file.
85201
85202         Module strtoull.
85203         * m4/strtoull.m4: New file.
85204
85205         Module strtoimax.
85206         * m4/strtoimax.m4: New file.
85207
85208         Module strtoumax.
85209         * m4/strtoumax.m4: New file.
85210
85211         Module xstrtoimax.
85212         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
85213         jm_AC_PREREQ_XSTRTOIMAX.
85214         Moved the strtol prerequisites to strtol.m4.
85215         Moved the strtoll prerequisites to strtoll.m4.
85216         Moved the strtoimax prerequisites to strtoimax.m4.
85217
85218         Module xstrtoumax.
85219         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
85220         jm_AC_PREREQ_XSTRTOUMAX.
85221         Moved the strtoul prerequisites to strtoul.m4.
85222         Moved the strtoull prerequisites to strtoull.m4.
85223         Moved the strtoumax prerequisites to strtoumax.m4.
85224
85225         Module chown.
85226         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
85227         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
85228
85229         Module dup2.
85230         * m4/dup2.m4: New file.
85231
85232         Module ftruncate.
85233         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
85234         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
85235
85236         Module getgroups.
85237         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
85238         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
85239
85240         Module gettimeofday.
85241         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
85242         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
85243         gl_PREREQ_GETTIMEOFDAY.
85244
85245         Module mkdir.
85246         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
85247         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
85248
85249         Module mkstemp.
85250         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
85251         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
85252         jm_AC_TYPE_UINTMAX_T.
85253         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
85254
85255         Module stat.
85256         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
85257         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
85258
85259         Module lstat.
85260         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
85261         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
85262
85263         Module timespec.
85264         * m4/timespec.m4 (gl_TIMESPEC): New macro.
85265         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
85266         * m4/st_mtim.m4: Indentation.
85267
85268         Module nanosleep.
85269         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
85270         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
85271         gl_PREREQ_NANOSLEEP.
85272
85273         Module regex.
85274         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
85275         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
85276         (gl_REGEX): New macro.
85277
85278         Module rename.
85279         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
85280         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
85281
85282         Module rmdir.
85283         * m4/rmdir.m4: New file.
85284
85285         Module utime.
85286         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
85287         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
85288         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
85289
85290         Module dirname.
85291         * m4/dirname.m4: New file.
85292
85293         Module getopt.
85294         * m4/getopt.m4: New file.
85295
85296         Module unistd-safer.
85297         * m4/unistd-safer.m4: New file.
85298
85299         Module fnmatch.
85300         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
85301         declaration.
85302         (gl_PREREQ_FNMATCH_EXTRA): New macro.
85303         (gl_FUNC_FNMATCH_POSIX): New macro.
85304         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
85305         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
85306         simply fnmatch.
85307
85308         Module exclude.
85309         * m4/exclude.m4: New file.
85310
85311         Module human.
85312         * m4/human.m4: New file.
85313
85314         Module acl.
85315         * m4/acl.m4: Nop.
85316
85317         Module backupfile.
85318         * m4/backupfile.m4: New file.
85319         * m4/d-ino.m4: Indentation.
85320
85321         Module fsusage.
85322         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
85323         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
85324         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
85325
85326         Module dirfd.
85327         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
85328         requirements.
85329
85330         Module euidaccess.
85331         * m4/euidaccess.m4: New file.
85332
85333         Module file-type.
85334         * m4/file-type.m4: New file.
85335
85336         Module fileblocks.
85337         * m4/fileblocks.m4: New file.
85338
85339         Module filemode.
85340         * m4/filemode.m4: New file.
85341
85342         Module isdir.
85343         * m4/isdir.m4: New file.
85344
85345         Module lchown.
85346         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
85347         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
85348
85349         Module makepath.
85350         * m4/makepath.m4: New file.
85351
85352         Module modechange.
85353         * m4/modechange.m4: New file.
85354
85355         Module mountlist.
85356         * m4/mountlist.m4: New file.
85357         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
85358         Indentation.
85359
85360         Module path-concat.
85361         * m4/path-concat.m4: New file.
85362
85363         Module pathmax.
85364         * m4/pathmax.m4: New file.
85365
85366         Module same.
85367         * m4/same.m4: New file.
85368
85369         Module save-cwd.
85370         * m4/save-cwd.m4: New file.
85371
85372         Module savedir.
85373         * m4/savedir.m4: New file.
85374
85375         Module xgetcwd.
85376         * m4/xgetcwd.m4: New file.
85377         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
85378
85379         Module xreadlink.
85380         * m4/xreadlink.m4: New file.
85381
85382         Module safe-read.
85383         * m4/safe-read.m4: New file.
85384
85385         Module safe-write.
85386         * m4/safe-write.m4: New file.
85387
85388         Module closeout.
85389         * m4/closeout.m4: New file.
85390
85391         Module stdio-safer.
85392         * m4/stdio-safer.m4: New file.
85393
85394         Module getpass.
85395         * m4/getpass.m4: New file.
85396
85397         Module getugroups.
85398         * m4/getugroups.m4: New file.
85399
85400         Module group-member.
85401         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
85402         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
85403
85404         Module idcache.
85405         * m4/idcache.m4: New file.
85406
85407         Module userspec.
85408         * m4/userspec.m4: New file.
85409
85410         Module gettime.
85411         * m4/clock_time.m4: New file.
85412         * m4/gettime.m4: New file.
85413
85414         Module settime.
85415         * m4/settime.m4: New file.
85416
85417         Module posixtm.
85418         * m4/posixtm.m4: New file.
85419
85420         Module gethostname.
85421         * m4/gethostname.m4: New file.
85422
85423         Module canon-host.
85424         * m4/canon-host.m4: New file.
85425
85426         Module gettext.
85427         * m4/codeset.m4: New file, from gettext-0.11.5.
85428         * m4/gettext.m4: New file, from gettext-0.11.5.
85429         * m4/glibc21.m4: New file, from gettext-0.11.5.
85430         * m4/iconv.m4: New file, from gettext-0.11.5.
85431         * m4/intdiv0.m4: New file, from gettext-0.11.5.
85432         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
85433         * m4/inttypes.m4: New file, from gettext-0.11.5.
85434         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
85435         * m4/isc-posix.m4: New file, from gettext-0.11.5.
85436         * m4/lcmessage.m4: New file, from gettext-0.11.5.
85437         * m4/lib-ld.m4: New file, from gettext-0.11.5.
85438         * m4/lib-link.m4: New file, from gettext-0.11.5.
85439         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
85440         * m4/progtest.m4: New file, from gettext-0.11.5.
85441         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
85442         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
85443         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
85444
85445         Module localcharset.
85446         * m4/localcharset.m4: New file.
85447
85448         Module hard-locale.
85449         * m4/hard-locale.m4: New file.
85450
85451         Module mbswidth.
85452         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
85453         onceonly macros.
85454         * m4/mbrtowc.m4: Add comment.
85455
85456         Module memcasecmp.
85457         * m4/memcasecmp.m4: New file.
85458
85459         Module memcoll.
85460         * m4/memcoll.m4: New file.
85461
85462         Module unicodeio.
85463         * m4/unicodeio.m4: New file.
85464
85465         Module rpmatch.
85466         * m4/rpmatch.m4: New file.
85467
85468         Module yesno.
85469         * m4/yesno.m4: New file.
85470
85471         Module exitfail.
85472         * m4/exitfail.m4: New file.
85473
85474         Module c-stack.
85475         * m4/c-stack.m4 (gl_C_STACK): New macro.
85476         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
85477
85478         Module error.
85479         * m4/error.m4 (gl_ERROR): New macro.
85480         (jm_PREREQ_ERROR): Use onceonly macros.
85481
85482         Module fatal.
85483         * m4/fatal.m4: New file.
85484
85485         Module getloadavg.
85486         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
85487         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
85488
85489         Module getpagesize.
85490         * m4/getpagesize.m4: New file.
85491
85492         Module getusershell.
85493         * m4/getusershell.m4: New file.
85494
85495         Module physmem.
85496         * m4/physmem.m4: New file.
85497
85498         Module posixver.
85499         * m4/posixver.m4: New file.
85500
85501         Module quotearg.
85502         * m4/quotearg.m4: New file.
85503
85504         Module quote.
85505         * m4/quote.m4: New file.
85506
85507         Module readutmp.
85508         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
85509
85510         Module sig2str.
85511         * m4/sig2str.m4: New file.
85512
85513         Other.
85514         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
85515         ulonglong.m4.
85516         * m4/intmax_t.m4: New file.
85517         * m4/d-type.m4: Indentation.
85518         * m4/jm-macros.m4: Update.
85519         * m4/prereq.m4 (jm_PREREQ): Update.
85520         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
85521         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
85522         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
85523         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
85524         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
85525         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
85526         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
85527         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
85528         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
85529         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
85530         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
85531         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
85532         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
85533         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
85534         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
85535         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
85536         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
85537         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
85538         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
85539
85540 2002-12-24  Bruno Haible  <bruno@clisp.org>
85541
85542         * MODULES.txt: Update according to m4/ changes.
85543
85544         Module gettext.
85545         * config.rpath: New file, from gettext-0.11.5.
85546
85547         * modules/*: New module descriptions.
85548         * gnulib-tool: New file.
85549         * MODULES.html.sh: New file.
85550
85551 2002-12-21  Karl Berry  <karl@gnu.org>
85552
85553         * doc/fdl.texi: update to version 1.2.
85554
85555 2002-12-19  Karl Berry  <karl@gnu.org>
85556
85557         * config/config.guess: update from prep.
85558
85559 2002-12-18  Bruno Haible  <bruno@clisp.org>
85560
85561         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
85562         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
85563
85564 2002-12-17  Bruno Haible  <bruno@clisp.org>
85565
85566         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
85567         stdlib.h, string.h.
85568
85569 2002-12-17  Bruno Haible  <bruno@clisp.org>
85570
85571         * lib/canon-host.c (strdup): Remove unused declaration.
85572
85573         * lib/fsusage.c: Include full_read.h.
85574         (get_fs_usage): Use full_read instead of safe_read.
85575
85576         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
85577
85578 2002-12-12  Karl Berry  <karl@gnu.org>
85579
85580         * config/config.guess: update from prep.
85581
85582 2002-12-11  Bruno Haible  <bruno@clisp.org>
85583
85584         * m4/setenv.m4: New file, from gettext-0.11.5.
85585
85586 2002-12-11  Bruno Haible  <bruno@clisp.org>
85587
85588         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
85589         not unsetenv().
85590         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
85591         modifications:
85592
85593         2002-12-11  Bruno Haible  <bruno@clisp.org>
85594
85595                 * setenv.c (alloca): Fall back to malloc.
85596                 (freea): New macro.
85597                 (setenv): Use freea() to free memory allocated with alloca().
85598
85599         2002-11-13  Bruno Haible  <bruno@clisp.org>
85600
85601                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
85602                 function declarations.
85603                 * unsetenv.c (unsetenv): Likewise.
85604
85605         2002-03-04  Bruno Haible  <bruno@clisp.org>
85606
85607                 Portability to AIX 4.3.3.
85608                 * unsetenv.c: New file, extracted from setenv.c.
85609                 * setenv.c: Move the unsetenv() function to unsetenv.c.
85610
85611         2001-12-20  Bruno Haible  <bruno@clisp.org>
85612
85613                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
85614                 use malloc instead. For SunOS 4.
85615
85616         2001-12-11  Bruno Haible  <bruno@clisp.org>
85617
85618                 * setenv.c: Declare alloca.
85619                 (compar_fn_t): New typedef.
85620                 (KNOWN_VALUE, STORE_VALUE): Use it.
85621
85622         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
85623         setenv.h.
85624
85625 2002-12-10  Paul Eggert  <eggert@twinsun.com>
85626
85627         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
85628         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
85629         Choose values that are less likely to collide with system fnmatch
85630         options.
85631         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
85632         defined (e.g., a pure POSIX system).
85633         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
85634         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
85635
85636 2002-12-06  Paul Eggert  <eggert@twinsun.com>
85637
85638         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
85639         a pain in practice to deal with generated m4 files.  This change
85640         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
85641
85642         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
85643         and jm-glibc-io.m4, as they are no longer a special case.
85644         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
85645         kludge and the auto-generation stuff.  Check only whether the
85646         functions are declared, not whether they exist, since older hosts
85647         that don't declare the functions can't use the optimization anyway.
85648
85649 2002-12-06  Jim Meyering  <jim@meyering.net>
85650
85651         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
85652
85653         Merge in changes from libc's misc/error.c, in preparation
85654         for the merge of gnulib's changes back into libc.
85655
85656         * lib/error.c (_): Define only if not already defined.
85657         Move definition to follow all #include directives.
85658         Include unlocked-io.h only if !_LIBC.
85659         [_LIBC]: Include <libio/libioP.h>.
85660         [USE_IN_LIBIO]: Include <libio/iolibio.h>
85661         (fflush): Tweak definition to use INTUSE.
85662         (putc): Define.
85663
85664 2002-12-05  Paul Eggert  <eggert@twinsun.com>
85665
85666         * lib/alloca.c [defined emacs]: Include "lisp.h".
85667         (xalloc_die) [defined emacs]: New macro.
85668         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
85669         [! defined emacs]: Include <xalloc.h>.
85670         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
85671         (pointer): Typedef to POINTER_TYPE *.
85672         (malloc): Remove decl; we now always use xmalloc.
85673         (alloca): Use old-style definition, since Emacs needs this.
85674         Check for arithmetic overflow when computing combined size.
85675
85676 2002-12-04  Paul Eggert  <eggert@twinsun.com>
85677
85678         Do not generate unlocked-io.h automatically, since it's easier to
85679         maintain it by hand.
85680
85681         * lib/unlocked-io.h: New file, from GNU diffutils,
85682         but with proper copyright notice and attribution.
85683         * lib/gen-uio: Remove.
85684         * lib/Makefile.am: Add copyright notice.
85685         (libfetish_a_SOURCES): Add unlocked-io.h.
85686         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
85687         (DISTCLEANFILES, io_functions): Remove macros.
85688         (EXTRA_DIST): Remove gen_uio.
85689         (unlocked-io.h): Remove rule.
85690
85691 2002-12-04  Jim Meyering  <jim@meyering.net>
85692
85693         Reflect the fact that stat.c and lstat.c are no longer generated.
85694         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
85695         (DISTCLEANFILES): Likewise.
85696         (EXTRA_DIST): Likewise.
85697         (all_local): Don't depend on stat.c or lstat.c.
85698         (stat.c, lstat.c): Remove rules.
85699         (EXTRA_DIST): Remove xstat.in.
85700
85701         * lib/xstat.in: Remove file.  Contents moved into stat.c.
85702         * lib/stat.c: New file.  Contents mostly from xstat.in.
85703         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
85704         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
85705
85706         * lib/safe-read.c: Rework so that it may serve to define safe_write,
85707         too.
85708         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
85709
85710 2002-12-03  Jim Meyering  <jim@meyering.net>
85711
85712         * lib/safe-read.c, safe-write.c: Change variable names and comments,
85713         but not semantics, to minimize the differences between these two files.
85714         (safe_read): Change comment to mention SAFE_READ_ERROR.
85715
85716         * lib/safe-read.c (IS_EINTR): Define.
85717         (safe_read): Use IS_EINTR in place of in-function cpp directives.
85718
85719 2002-12-02  Jim Meyering  <jim@meyering.net>
85720
85721         * lib/safe-read.c (EINTR): Define.
85722         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
85723         (INT_MAX): Provide fallback.
85724         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
85725
85726         * lib/safe-read.h (SAFE_READ_ERROR): Define.
85727
85728 2002-12-02  Bruno Haible  <bruno@clisp.org>
85729
85730         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
85731         Define, taken from safe-read.c.
85732         (INT_MAX): Provide fallback.
85733         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
85734         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
85735
85736         * lib/safe-read.c (EINTR): Remove definition.
85737         (safe_read): Don't use EINTR if it is absent.
85738
85739 2002-12-01  Jim Meyering  <jim@meyering.net>
85740
85741         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
85742         zero.
85743         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
85744
85745 2002-11-27  Paul Eggert  <eggert@twinsun.com>
85746
85747         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
85748         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
85749         with `if (! (value < limit)) abort ();', for readability.
85750
85751 2002-11-26  Karl Berry  <karl@gnu.org>
85752
85753         * lib/strdup.c: copy from libc again, with jim's ok.
85754         * lib/.cppi-disable: re-add strdup.c
85755
85756 2002-11-25  Karl Berry  <karl@gnu.org>
85757
85758         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
85759         instead of "strtol.c".
85760
85761 2002-11-25  Karl Berry  <karl@gnu.org>
85762
85763         * config/install-sh: update from automake for variable quoting, $0 in
85764         error msgs, etc.
85765
85766         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
85767         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
85768         entry.
85769
85770 2002-11-25  Jim Meyering  <jim@meyering.net>
85771
85772         * lib/mktime.c: Sync from libc, now that it has the latest fix.
85773
85774 2002-11-24  Karl Berry  <karl@gnu.org>
85775
85776         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
85777         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
85778
85779 2002-11-24  Jim Meyering  <jim@meyering.net>
85780
85781         Update from coreutils:
85782
85783         * lib/mktime.c: Merge in changes from libc.
85784
85785         Avoid a link-time failure on some Linux systems.
85786         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
85787         (otherwise).
85788         (__mon_yday): Declare with the STATIC attribute.
85789         (__mktime_internal): Likewise.
85790         Based on a report from Greg Schafer.
85791
85792 2002-11-23  Jim Meyering  <jim@meyering.net>
85793
85794         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
85795         Use `unsigned', not `int', as type of index.
85796
85797         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
85798
85799         * lib/fsusage.c: Remove unneeded parentheses around operands of
85800         `defined'.
85801
85802 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85803
85804         * lib/quotearg.h: Allow multiple inclusion by surrounding with
85805         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
85806         so that we can be included first.
85807         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
85808         * lib/quotearg.c: Include quotearg.h immediately after config.h.
85809         No need to include stddef.h or sys/types.h any more.
85810         Surround local include files with "", not "<>".
85811         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
85812         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
85813         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
85814         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
85815         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
85816         (ISPRINT): Remove; no longer needed now that we assume C89.
85817
85818         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
85819         Preserve errno.
85820
85821         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
85822         quotearg_char): Use SIZE_MAX rather than
85823         (size_t) -1 when we are talking about "infinity".
85824
85825         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
85826
85827 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85828
85829         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
85830         hint that one should use `if (! x) abort ();' rather than `assert
85831         (x);', and anyway it's one less thing to worry about configuring.
85832         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
85833         hash_rehash, hash_insert): Use abort rather than assert.
85834
85835 2002-11-22  Bruno Haible  <bruno@clisp.org>
85836
85837         * lib/safe-read.h: Assume C89. Add comments.
85838         (safe_read): Change return type to size_t.
85839         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
85840         byte counts > SSIZE_MAX correctly.
85841         * lib/safe-write.h: New file.
85842         * lib/safe-write.c: New file.
85843         * lib/full-read.h: New file.
85844         * lib/full-read.c: New file.
85845         * lib/full-write.h: Assume C89. Add comments.
85846         * lib/full-write.c: Include safe-write.h.
85847         (full_write): Rewritten to use safe_write.
85848         Suggested by Jim Meyering and Paul Eggert.
85849
85850 2002-11-21  Jim Meyering  <jim@meyering.net>
85851
85852         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
85853
85854         Merge in changes from the coreutils.
85855
85856         2002-09-25  Paul Eggert  <eggert@twinsun.com>
85857         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
85858         <stdint.h>.
85859         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
85860         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
85861         int.  Work more efficiently if X is the same width as uintmax_t.
85862         Do not compare X to -1, to avoid bogus compiler warning.
85863         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
85864         Don't assume that f_frsize and f_bsize are the same type.
85865
85866         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
85867         warning on FreeBSD.
85868
85869         * lib/makepath.c (make_path): Restore umask *before* creating the final
85870         component.
85871         (make_path): Minor reformatting.
85872
85873         * lib/xmalloc.c: Adjust to work with new autoconf macros,
85874         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
85875         HAVE_MALLOC/HAVE_REALLOC.
85876
85877         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
85878         dummy ones.  At least on GNU/Linux systems, `auto' means something
85879         else.
85880         From Michael Stone.
85881
85882 2002-11-21  Bruno Haible  <bruno@clisp.org>
85883
85884         Remove case insensitive option matching.
85885         * lib/argmatch.h (argcasematch): Remove declaration.
85886         (ARGCASEMATCH): Remove macro.
85887         (__xargmatch_internal): Remove case_sensitive argument.
85888         (XARGMATCH): Update.
85889         (XARGCASEMATCH): Remove macro.
85890         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
85891         case_sensitive argument.
85892         (argcasematch): Remove function.
85893         (__xargmatch_internal): Remove case_sensitive argument.
85894         (main): Use XARGMATCH instead of XARGCASEMATCH.
85895
85896         * lib/xmalloc.c: Change compile-time error message. Add comment about
85897         required autoconf version.
85898
85899 2002-11-20  Paul Eggert  <eggert@twinsun.com>
85900
85901         Merge argmatch cleanups from Bison.  Assume C89.
85902
85903         * lib/argmatch.c: Include config.h here, not in argmatch.h.
85904         Include stdlib.h, for EXIT_FAILURE.
85905         Always include <string.h>, since we assume C89.
85906         (EXIT_FAILURE): Remove pre-C89 bug workaround.
85907         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
85908         Include <stddef.h> instead, since it's all we need for size_t.
85909         (PARAMS): Remove.  All uses removed.
85910         (ARRAY_CARDINALITY): Do not bother to #undef.
85911         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
85912         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85913         Remove unnecessary parentheses.
85914         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85915         Insert necessary parentheses.
85916         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
85917         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
85918
85919 2002-11-19  Bruno Haible  <bruno@clisp.org>
85920
85921         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
85922         * lib/mbswidth.h: Include <stddef.h>, for size_t.
85923
85924         * lib/mbswidth.h (PARAMS): Remove macro.
85925         (mbswidth, mbsnwidth): Use ANSI C function declarations.
85926         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
85927
85928         * lib/gcd.h (PARAMS): Remove macro.
85929         (gcd): Use ANSI C function declarations.
85930         * lib/gcd.c (gcd): Likewise.
85931
85932 2002-11-15  Bruno Haible  <bruno@clisp.org>
85933
85934         * lib/strcspn.c: Include <stddef.h>.
85935         (strcspn): Use ANSI C function declaration. Change return type to
85936         size_t. Use NULL.
85937         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
85938         (strpbrk): Use NULL.
85939         * lib/strpbrk.h (PARAMS): Remove macro.
85940         (strpbrk): Use ANSI C function declaration.
85941         * lib/strstr.c: Don't include <sys/types.h>.
85942         * lib/strstr.h (PARAMS): Remove macro.
85943         (strstr): Use ANSI C function declarations.
85944
85945 2002-11-14  Karl Berry  <karl@gnu.org>
85946
85947         * config/mkinstalldirs: `do' on separate line, instead of
85948         `for var; do'.
85949
85950 2002-11-06  Bruno Haible  <bruno@clisp.org>
85951
85952         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
85953         * lib/gcd.c (gcd): Likewise.
85954
85955 2002-11-05  Bruno Haible  <bruno@clisp.org>
85956
85957         * lib/gcd.h: New file, from gettext-0.11.5.
85958         * lib/gcd.c: New file, from gettext-0.11.5.
85959
85960 2002-11-05  Bruno Haible  <bruno@clisp.org>
85961
85962         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85963         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85964         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85965         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85966
85967         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
85968         <libintl.h>.
85969         * lib/makepath.c: Include gettext.h instead of <locale.h> and
85970         <libintl.h>.
85971
85972         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
85973         * lib/human.c: Include gettext.h instead of <libintl.h>.
85974         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
85975         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
85976         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
85977         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
85978         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
85979         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
85980         (textdomain): Remove definition.
85981         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
85982
85983         * lib/long-options.c: Remove include of <libintl.h> and definition of
85984         _.
85985         * lib/same.c: Remove include of <libintl.h> and definition of _.
85986
85987 2002-11-04  Owen Taylor  <otaylor@redhat.com>
85988
85989         * lib/config.charset: A few additions for Solaris.
85990
85991 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85992
85993         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
85994         * lib/localcharset.c (locale_charset): Declare as extern "C".
85995
85996 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85997
85998         * lib/config.charset: msdos in uk_UA uses CP1125.
85999
86000 2002-11-04  Bruno Haible  <bruno@clisp.org>
86001
86002         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
86003         * lib/strcase.h: New file, from GNU gettext-0.11.5.
86004         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
86005         * lib/strstr.h: New file, from GNU gettext-0.11.5.
86006         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
86007
86008 2002-11-04  Bruno Haible  <bruno@clisp.org>
86009
86010         * lib/localcharset.c (locale_charset): Don't return an empty string.
86011
86012 2002-11-04  Bruno Haible  <bruno@clisp.org>
86013
86014         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
86015         aliases.
86016
86017 2002-11-04  Bruno Haible  <bruno@clisp.org>
86018
86019         * lib/config.charset: Update for newest glibc. Add canonical names
86020         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
86021
86022 2002-11-04  Bruno Haible  <bruno@clisp.org>
86023
86024         * lib/config.charset: Add support for NetBSD.
86025
86026 2002-11-04  Bruno Haible  <bruno@clisp.org>
86027
86028         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
86029
86030 2002-11-01  Bruno Haible  <bruno@clisp.org>
86031
86032         * configure.in: Add AC_CONFIG_AUX_DIR call.
86033         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
86034         test/Makefile.
86035         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
86036
86037 2002-09-28  Karl Berry  <karl@gnu.org>
86038
86039         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
86040         installed automake until the next release, since changes have been
86041         made.
86042
86043 2002-09-25  Karl Berry  <karl@gnu.org>
86044
86045         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
86046         * lib/getopt*: copy from libc/posix.
86047         * lib/gettext.h: copy from gettext.
86048         * lib/.cppi-disable: add strdup.c, gettext.h.
86049
86050 2002-09-25  Karl Berry  <karl@gnu.org>
86051
86052         * config/srclist.txt: enable gettext.h check.
86053         * config/config.{guess,sub}: update from prep.
86054         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
86055                 from automake 1.6.3.
86056         See srclist*.
86057
86058 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
86059
86060         * regex.c (PATFETCH): Remove the translating fetch.
86061         (PATFETCH_RAW): Rename to PATFETCH.
86062         (set_image_of_range): New fun.
86063         (SET_RANGE_TABLE_WORK_AREA): Use it.
86064         (regex_compile): Don't translate the pattern chars so eagerly.
86065         Only do it when inserting an `exactn' bytecode or when handling
86066         a char-range.
86067         (mutually_exclusive_p): Avoid empty statement.
86068
86069 2002-07-06  Jim Meyering  <meyering@lucent.com>
86070
86071         * m4/README: Don't mention Makefile.am.in.
86072         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
86073
86074 2002-07-01  Jim Meyering  <meyering@lucent.com>
86075
86076         * lib/c-stack.c: Include sys/time.h.
86077         From Volker Borchert.
86078
86079 2002-06-26  Paul Eggert  <eggert@twinsun.com>
86080
86081         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
86082
86083 2002-06-26  Paul Eggert  <eggert@twinsun.com>
86084
86085         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
86086         New macro.  Use it uniformly instead of
86087         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
86088         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
86089         reported by Vin Shelton.
86090
86091 2002-06-22  Paul Eggert  <eggert@twinsun.com>
86092
86093         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
86094         Do not assume SA_SIGINFO behavior.
86095         Bug reported by Jim Meyering on NetBSD 1.5.2.
86096
86097 2002-06-22  Jim Meyering  <meyering@lucent.com>
86098
86099         * m4/c-stack.m4: New file, from diffutils-2.8.2.
86100         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
86101
86102         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
86103         now that configure.ac uses AC_GNU_SOURCE.
86104         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
86105         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
86106
86107         Update to latest tools.  Suggestions from Paul Eggert.
86108         * m4/stdbool.m4: New file, from diffutils-2.8.2.
86109         * m4/gnu-source.m4: Update from diffutils-2.8.2.
86110         * m4/fnmatch.m4: Likewise.
86111         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
86112         to AC_HEADER_STDBOOL
86113
86114 2002-06-22  Jim Meyering  <meyering@lucent.com>
86115
86116         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
86117         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
86118
86119 2002-06-22  Jim Meyering  <meyering@lucent.com>
86120
86121         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
86122
86123         * lib/exitfail.c, exitfail.h: Likewise.
86124         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
86125
86126         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
86127         of fnmatch.h.
86128         (EXTRA_DIST): Add fnmatch_loop.c.
86129         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
86130
86131         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
86132         * lib/fnmatch.c: Update from diffutils-2.8.2.
86133         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
86134         * lib/fnmatch.h: Remove file.
86135
86136 2002-06-21  Jim Meyering  <meyering@lucent.com>
86137
86138         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
86139         * m4/mbrtowc.m4: Likewise.
86140
86141         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
86142         * m4/mbswidth.m4: Reflect name change:
86143         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
86144         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86145
86146         * m4/lib-link.m4: Update from gettext-0.11.2.
86147         * m4/gettext.m4: Likewise.
86148
86149         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
86150         From Alfred M. Szmidt.
86151
86152 2002-06-18  Paul Eggert  <eggert@twinsun.com>
86153
86154         * lib/file-type.h: Report an error if neither S_ISREG nor
86155         S_IFREG is defined, instead of using a test specific to glibc
86156         2.2.  This should be safe, since POSIX requires S_ISREG and
86157         Unix Version 7 had S_IFREG.  We don't need to check for
86158         <sys/types.h> since we don't use any symbols that it defines.
86159
86160 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
86161
86162         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
86163         $@-t, so that each temporary file name is unique and valid in the first
86164         8 characters, for operation under DOS.
86165
86166 2002-06-15  Paul Eggert  <eggert@twinsun.com>
86167
86168         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
86169
86170 2002-06-15  Jim Meyering  <meyering@lucent.com>
86171
86172         Work even with DJGPP 2.03, which lacks support for symlinks.
86173         From Richard Dawe.
86174         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
86175         is defined.
86176         * lib/lchown.c (S_ISLNK): Likewise.
86177
86178 2002-06-15  Jim Meyering  <meyering@lucent.com>
86179
86180         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
86181         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
86182         have been included before this file.
86183
86184 2002-06-14  Jim Meyering  <meyering@lucent.com>
86185
86186         * lib/file-type.h: Use the version from diffutils-2.8.2.
86187         * lib/file-type.c: Likewise.
86188
86189 2002-06-07  Jim Meyering  <meyering@lucent.com>
86190
86191         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
86192         They're needed at least for NetBSD 1.5.2.
86193         ($statxfs_includes): Include those same headers.
86194         ($statxfs_includes): Include sys/vfs.h if available.
86195         ($statxfs_includes): Likewise for sys/statvfs.h.
86196         Check for the following members in both structs statfs and statvfs:
86197         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
86198
86199 2002-06-01  Jim Meyering  <meyering@lucent.com>
86200
86201         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
86202         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
86203
86204 2002-05-28  Jim Meyering  <meyering@lucent.com>
86205
86206         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
86207         Reported by Volker Borchert.
86208
86209 2002-05-27  Jim Meyering  <meyering@lucent.com>
86210
86211         Fix a problem seen only on nonconforming systems whereby ls.c's
86212         use of localtime, and then of gettimeofday would cause trouble:
86213         the localtime call used to initialize rpl_gettimeofday's save
86214         mechanism would clobber ls's current local time information so
86215         that in any long listing the first file would always be listed
86216         with date 1970-01-01.  Analysis by Volker Borchert.
86217
86218         * lib/gettimeofday.c (localtime): Undefine.
86219         (rpl_localtime): New function.
86220
86221 2002-05-27  Jim Meyering  <meyering@lucent.com>
86222
86223         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
86224         localtime.
86225
86226         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
86227         use the replacement function; it wouldn't resolve at link time.
86228         Reported by Volker Borchert.
86229
86230 2002-05-22  Jim Meyering  <meyering@lucent.com>
86231
86232         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
86233         file-type.h.
86234         * lib/file-type.h: New file.
86235         * lib/file-type.c (file_type): New file/function.  Extracted from
86236         diffutils.
86237
86238 2002-04-30  Jim Meyering  <meyering@lucent.com>
86239
86240         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
86241
86242 2002-04-29  Paul Eggert  <eggert@twinsun.com>
86243
86244         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
86245
86246 2002-04-29  Paul Eggert  <eggert@twinsun.com>
86247
86248         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
86249         Do not check for alloca.h (no longer used) or stdbool.h (was never
86250         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
86251
86252 2002-04-29  Paul Eggert  <eggert@twinsun.com>
86253
86254         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
86255
86256 2002-04-29  Jim Meyering  <meyering@lucent.com>
86257
86258         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
86259         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
86260         Use AC_FUNC_STRNLEN here instead.
86261
86262         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
86263         With autoconf-2.53a, it's part of AC_PROG_CC.
86264
86265 2002-04-28  Paul Eggert  <eggert@twinsun.com>
86266
86267         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
86268         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
86269
86270 2002-04-28  Paul Eggert  <eggert@twinsun.com>
86271
86272         * lib/sig2str.h, lib/sig2str.c: New files.
86273         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
86274
86275 2002-04-28  Paul Eggert  <eggert@twinsun.com>
86276
86277         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
86278         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
86279         of 127, since 64 is the largest conceivable number for ancient
86280         nonstandard hosts.
86281         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
86282
86283 2002-04-28  Jim Meyering  <meyering@lucent.com>
86284
86285         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
86286
86287 2002-04-24  Jim Meyering  <meyering@lucent.com>
86288
86289         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
86290         (jm_PREREQ): Use it.
86291
86292         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
86293         mach/mach.h fcntl.h.
86294         Check for this function: setlocale.
86295
86296 2002-04-24  Jim Meyering  <meyering@lucent.com>
86297
86298         * lib/gettext.h: New file, from Gettext.
86299         * lib/Makefile.am (INCLUDES): Remove -I../intl.
86300         (libfetish_a_SOURCES): Add gettext.h.
86301
86302 2002-04-16  Jim Meyering  <meyering@lucent.com>
86303
86304         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
86305         ut_pid, ut_id, ut_exit.
86306
86307 2002-04-16  Jim Meyering  <meyering@lucent.com>
86308
86309         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
86310         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
86311         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
86312
86313 2002-04-12  Jim Meyering  <meyering@lucent.com>
86314
86315         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
86316         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
86317         existence of the getmntinfo function.  Needed for Darwin 5.3.
86318
86319         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
86320         This is necessary at least on Darwin 5.3.
86321
86322         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
86323         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
86324         strnlen.o in the library, and that makes some versions of ranlib
86325         object.
86326
86327 2002-04-12  Jim Meyering  <meyering@lucent.com>
86328
86329         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
86330
86331 2002-04-09  Jim Meyering  <meyering@lucent.com>
86332
86333         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
86334         to be more precise.  Rather than saying we're checking whether the
86335         function `works', say what we're testing.
86336         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
86337         Reported by Bruno Haible.
86338
86339 2002-03-10  Jim Meyering  <meyering@lucent.com>
86340
86341         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
86342         Suggestion from Santiago Vila.
86343
86344 2002-03-08  Jim Meyering  <meyering@lucent.com>
86345
86346         * lib/rename.c: Mention that this wrapper is needed also on
86347         mips-dec-ultrix4.4 systems.
86348
86349 2002-03-02  Jim Meyering  <meyering@lucent.com>
86350
86351         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
86352         not HAVE_CLOCK_SETTIME.
86353
86354 2002-02-27  Paul Eggert  <eggert@twinsun.com>
86355
86356         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
86357         Check for clock_settime.
86358
86359 2002-02-27  Paul Eggert  <eggert@twinsun.com>
86360
86361         * lib/nanosleep.h: Rename to....
86362         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
86363
86364         * lib/gettime.c: New file.
86365         * lib/settime.c: New file.
86366         * lib/stime.c: Remove.
86367
86368         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
86369         timespec.h.  Remove nanosleep.h.
86370
86371 2002-02-25  Paul Eggert  <eggert@twinsun.com>
86372
86373         * m4/acl.m4: New file.
86374         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
86375         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
86376
86377 2002-02-25  Paul Eggert  <eggert@twinsun.com>
86378
86379         * lib/acl.c, lib/acl.h: New files.
86380         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
86381
86382 2002-02-24  Jim Meyering  <meyering@lucent.com>
86383
86384         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
86385         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
86386         cause trouble.  Reported by Nelson Beebe.
86387
86388 2002-02-23  Paul Eggert  <eggert@twinsun.com>
86389
86390         * lib/path-concat.c (xpath_concat): Reorder code to pacify
86391         compilers that don't know that xalloc_die never returns.
86392
86393 2002-02-20  Jim Meyering  <meyering@lucent.com>
86394
86395         * lib/getdate.c: Regenerate using bison-1.33.
86396
86397 2002-02-17  Jim Meyering  <meyering@lucent.com>
86398
86399         * config/config.guess (main): Don't use `head -1'; it's no longer
86400         portable. Use `sed 1q' instead.
86401
86402 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
86403
86404         * m4/codeset.m4: Upgrade to gettext-0.11.
86405         * m4/gettext.m4: Upgrade to gettext-0.11.
86406         * m4/glibc21.m4: Upgrade to gettext-0.11.
86407         * m4/iconv.m4: Upgrade to gettext-0.11.
86408         * m4/isc-posix.m4: Upgrade to gettext-0.11.
86409         * m4/lcmessage.m4: Upgrade to gettext-0.11.
86410         * m4/lib-ld.m4: New file, from gettext-0.11.
86411         * m4/lib-link.m4: New file, from gettext-0.11.
86412         * m4/lib-prefix.m4: New file, from gettext-0.11.
86413         * m4/progtest.m4: Upgrade to gettext-0.11.
86414
86415 2002-02-15  Paul Eggert  <eggert@twinsun.com>
86416
86417         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
86418         (jm_PREREQ): Use it.
86419
86420 2002-02-15  Paul Eggert  <eggert@twinsun.com>
86421
86422         * lib/posixver.c, lib/posixver.h: New files.
86423         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
86424
86425 2002-02-02  Paul Eggert  <eggert@twinsun.com>
86426             Bruno Haible  <bruno@clisp.org>
86427
86428         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
86429         (fwrite_success_callback): New declaration.
86430         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
86431         print_unicode_char. Call failure callback instead of error.
86432         (fwrite_success_callback): New function.
86433         (exit_failure_callback): New function.
86434         (fallback_failure_callback): New function.
86435         (print_unicode_char): Call unicode_to_mb.
86436
86437 2002-01-26  Jim Meyering  <meyering@lucent.com>
86438
86439         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
86440         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
86441
86442 2002-01-26  Jim Meyering  <meyering@lucent.com>
86443
86444         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
86445
86446 2002-01-22  Paul Eggert  <eggert@twinsun.com>
86447
86448         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
86449
86450 2002-01-22  Jim Meyering  <meyering@lucent.com>
86451
86452         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
86453         Otherwise, some versions of automake would omit the rule that makes
86454         Makefile from Makefile.in.
86455
86456 2002-01-21  Paul Eggert  <eggert@twinsun.com>
86457
86458         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
86459         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
86460         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
86461         (memcoll): Set errno to zero if there is no error.
86462
86463         * lib/quotearg.c (quotearg_buffer_restyled):
86464         Fix bug with quoting buffers containing NUL when backslashing escapes.
86465         This bug was exposed by the other changes in this patch.
86466         (quotearg_n_options): New arg ARGSIZE.
86467         All callers changed.
86468         (quoting_options_from_style): New function.
86469         (quotearg_n_style): Use it.
86470         (quotearg_n_style_mem): New function.
86471
86472         * lib/quotearg.h (quotearg_n_style_mem): New function.
86473
86474 2002-01-19  Jim Meyering  <meyering@lucent.com>
86475
86476         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
86477         Remove useless quotes: DF_PROG="df".
86478         * m4/strnlen.m4: New file.
86479
86480 2002-01-16  Paul Eggert  <eggert@twinsun.com>
86481
86482         * lib/backupfile.c (ISDIGIT): Comment fix.
86483         * lib/getdate.y (ISDIGIT): Likewise.
86484         * lib/posixtm.c (ISDIGIT, year): Likewise.
86485         * lib/strverscmp.c (ISDIGIT): Likewise.
86486         * lib/userspec.c (ISDIGIT): Likewise.
86487
86488 2002-01-16  Jim Meyering  <meyering@lucent.com>
86489
86490         * lib/getdate.y: Add three semicolons, each just before a closing
86491         brace. Bison (as of version 1.31) no longer papers over that mistake.
86492
86493 2002-01-05  Jim Meyering  <meyering@lucent.com>
86494
86495         * lib/version-etc.c (version_etc_copyright): Update copyright year.
86496
86497 2001-12-19  Paul Eggert  <eggert@twinsun.com>
86498
86499         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
86500         not silently exit merely because the output buffer happens to
86501         have nothing pending.
86502
86503 2001-12-18  Paul Eggert  <eggert@twinsun.com>
86504
86505         See the big note in ../ChangeLog.
86506         * lib/human.c (suffixes): Prefer K to k for 1024.
86507         (generate_suffix_backwards): New function.
86508         (human_readable_inexact): Use it.
86509         * lib/xstrtol.c (__xstrtol): If there is no number but there
86510         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
86511         Accept 'K' as well as 'k'.
86512
86513 2001-12-15  Jim Meyering  <meyering@lucent.com>
86514
86515         * lib/regex.h (__restrict_arr): Update from libc.
86516
86517         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
86518         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
86519         (STREQ): Define.
86520
86521 2001-12-14  Jim Meyering  <meyering@lucent.com>
86522
86523         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
86524         Suggestion from Bruno Haible.
86525
86526 2001-12-10  Jim Meyering  <meyering@lucent.com>
86527
86528         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
86529         xrealloc, Instead, include "xalloc.h".
86530         (initbuffer): Don't cast xmalloc return value to char*.
86531         (readline): Reword comment.
86532         Don't cast xrealloc return value to char*
86533         Return NULL, not 0.
86534
86535 2001-12-09  Jim Meyering  <meyering@lucent.com>
86536
86537         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
86538         about `signed and unsigned type in conditional expression'.
86539         * lib/posixtm.c (posix_time_parse): Likewise.
86540
86541         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
86542
86543         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
86544         to avoid a pedantic warning.
86545
86546         * lib/getstr.c: Don't include assert.h.
86547         (getstr): Remove warning-evoking assertions.
86548         Return -1 if offset parameter is out of bounds.
86549         Change the type of a local from int to size_t.
86550
86551         * lib/strftime.c (my_strftime_localtime_r): Include this function
86552         definition in the `#if ! HAVE_TM_GMTOFF' block.
86553
86554         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
86555         Include xalloc.h instead.
86556
86557 2001-12-02  Jim Meyering  <meyering@lucent.com>
86558
86559         * lib/tempname.c: Don't declare getenv, thus reverting the change of
86560         2001-11-18.  It's no longer necessary, now that stdlib.h is always
86561         included.
86562
86563         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
86564         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
86565
86566 2001-11-30  Akim Demaille  <akim@epita.fr>
86567
86568         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
86569         before being defined.
86570
86571 2001-11-27  Paul Eggert  <eggert@twinsun.com>
86572
86573         * lib/quotearg.h (quotearg_n, quotearg_n_style):
86574         First arg is int, not unsigned.
86575         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
86576         (SIZE_MAX, UINT_MAX): New macros.
86577         (quotearg_n_options): Abort if N is negative.
86578         Avoid overflow check on hosts where size_t is 64 bits and int
86579         is 32 bits, as overflow is impossible there.
86580         Fix off-by-one typo that caused unnecessary reallocation.
86581
86582 2001-11-27  Jim Meyering  <meyering@lucent.com>
86583
86584         * lib/tempname.c: Merge with version from libc.
86585         * lib/regex.c: Likewise.
86586
86587         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
86588         systems for which STDC_HEADERS is 0, it was not included, resulting in
86589         a warning about an integer-to-pointer conversion problem with getenv.
86590         Reported by Volker Borchert.
86591
86592 2001-11-26  Jim Meyering  <meyering@lucent.com>
86593
86594         * lib/gtod.h: Remove file.
86595         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
86596         * lib/gettimeofday.c: Don't include gtod.h.
86597         (GTOD_init): Remove function.
86598         (rpl_gettimeofday): Do its job here instead, rather than aborting.
86599         Suggestion from Volker Borchert.
86600
86601 2001-11-23  Jim Meyering  <meyering@lucent.com>
86602
86603         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
86604         it.
86605         * lib/hash.c (struct hash_table): Define it here instead.
86606
86607 2001-11-22  Jim Meyering  <meyering@lucent.com>
86608
86609         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
86610
86611 2001-11-20  Jim Meyering  <meyering@lucent.com>
86612
86613         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
86614         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
86615
86616 2001-11-19  Jim Meyering  <meyering@lucent.com>
86617
86618         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
86619         directory.  Use "conftestXXXXXX" as the template.
86620         Suggestion from Paul Eggert.
86621
86622         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
86623         immediately, so the test doesn't mistakenly hit the max-open-files
86624         limit.
86625
86626 2001-11-18  Paul Eggert  <eggert@twinsun.com>
86627
86628         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
86629         (TEMPORARIES): New macro.
86630         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
86631         removes an artificial limitation (e.g. HP-UX 10.20, where
86632         TMP_MAX is 17576).
86633
86634 2001-11-18  Jim Meyering  <meyering@lucent.com>
86635
86636         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
86637
86638 2001-11-18  Jim Meyering  <meyering@lucent.com>
86639
86640         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
86641         on SunOS 4.
86642
86643         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
86644         files will be created before anything else.
86645
86646 2001-11-17  Paul Eggert  <eggert@twinsun.com>
86647
86648         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
86649         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
86650
86651 2001-11-17  Jim Meyering  <meyering@lucent.com>
86652
86653         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
86654         Prompted by a report from Bob Proulx.
86655
86656         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
86657         Instead, require UTILS_FUNC_MKSTEMP.
86658
86659 2001-11-17  Jim Meyering  <meyering@lucent.com>
86660
86661         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
86662         Now, that's done as part of AC_FUNC_STRTOD.
86663
86664 2001-11-17  Jim Meyering  <meyering@lucent.com>
86665
86666         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
86667         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
86668         rather than group writable.  Patch by Juan F. Codagnone.
86669
86670         * lib/readtokens.c: Remove explicit declarations of xmalloc and
86671         xrealloc, Instead, include "xalloc.h".
86672
86673         * lib/mountlist.c: Include unlocked-io.h after all system headers.
86674         Remove explicit declarations of xmalloc, xrealloc,
86675         and xstrdup.  Instead, include "xalloc.h".
86676
86677         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
86678         unlocked-io.h.
86679         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
86680         Likewise.
86681         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
86682
86683         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
86684         Reported by Padraig Brady.
86685
86686         * lib/mkstemp.c: #undef mkstemp.
86687         Include config.h.
86688         (rpl_mkstemp): Rename from mkstemp.
86689         Protoize.
86690
86691 2001-11-16  Jim Meyering  <meyering@lucent.com>
86692
86693         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
86694         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
86695         determine the amount of total physical memory, use pstat_getstatic.
86696         HPUX-11 doesn't define _SC_PHYS_PAGES.
86697         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
86698         If sysconf couldn't be used to determine the amount of available
86699         physical memory, use both pstat_getstatic and pstat_getdynamic.
86700         Based on a patch from Bob Proulx.
86701
86702 2001-11-10  Jim Meyering  <meyering@lucent.com>
86703
86704         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
86705         (jm_PREREQ): Use it.
86706
86707 2001-11-09  Jim Meyering  <meyering@lucent.com>
86708
86709         * m4/jm-macros.m4: Require autoconf-2.52f.
86710         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
86711         Use these AC_-prefixed names, not the AM_-prefixed ones.
86712
86713         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
86714
86715 2001-11-05  Jim Meyering  <meyering@lucent.com>
86716
86717         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
86718
86719 2001-11-04  Jim Meyering  <meyering@lucent.com>
86720
86721         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
86722         $DEFS.
86723
86724 2001-11-03  Jim Meyering  <meyering@lucent.com>
86725
86726         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
86727         of AC_DEFUN.
86728
86729         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
86730         know the name of the variable in the macro definition.
86731
86732 2001-11-03  Jim Meyering  <meyering@lucent.com>
86733
86734         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
86735         in argmatch_to_argument call.
86736
86737         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
86738         argument.
86739
86740         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
86741         e.g., a fault due to an attempt to free a NULL pointer.
86742
86743 2001-11-01  Jim Meyering  <meyering@lucent.com>
86744
86745         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
86746         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
86747
86748 2001-11-01  Jim Meyering  <meyering@lucent.com>
86749
86750         * lib/dirfd.c, lib/dirfd.h: New files.
86751         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
86752
86753         * lib/hash.c (hash_print) [TESTING]: Clean up.
86754
86755 2001-10-22  Paul Eggert  <eggert@twinsun.com>
86756
86757         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
86758         to avoid a warning if -Wall.
86759
86760 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
86761
86762         * README: New file
86763         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
86764         (per RMS's instructions, this is now the canonical source)
86765         * lgpl/, gpl/: New directories.
86766
86767 2001-10-21  Paul Eggert  <eggert@twinsun.com>
86768
86769         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
86770
86771 2001-10-21  Jim Meyering  <meyering@lucent.com>
86772
86773         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
86774         this code would end up calling gettext even in packages built
86775         with --disable-nls.
86776         * lib/getopt.c (_): Likewise.
86777         * lib/regex.c (_): Likewise.
86778
86779 2001-10-20  Paul Eggert  <eggert@twinsun.com>
86780
86781         * m4/error.m4 (jm_PREREQ_ERROR):
86782         Do not invoke AC_CHECK_FUNCS with strerror_r, as
86783         AC_FUNC_STRERROR_R does that.
86784         Check for strerror declaration.
86785
86786         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
86787         are supposed to have them these days.
86788         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
86789         Merge changes from latest Autoconf CVS.
86790         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
86791         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
86792         POSIX decided to standardize on the int flavor of strerror_r.
86793
86794 2001-10-20  Paul Eggert  <eggert@twinsun.com>
86795
86796         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
86797         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
86798         Use strerror_r that is only a macro, even if it is not a function.
86799         (strerror): Check for HAVE_DECL_STRERROR before declaring.
86800         (private_strerror): Use prototypes, not old-style function definition.
86801         (print_errno_message): New function.
86802         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
86803         char*-flavored one.
86804         (error_tail, error, error_at_line): Use it.
86805
86806 2001-10-11  Jim Meyering  <meyering@lucent.com>
86807
86808         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
86809         and quote_n (1, ... to avoid clobbering a buffer.
86810
86811 2001-10-05  Jim Meyering  <meyering@lucent.com>
86812
86813         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
86814         hash-pjw.h.
86815         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
86816         * lib/hash-pjw.h: New file.
86817
86818 2001-09-30  Jim Meyering  <meyering@lucent.com>
86819
86820         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
86821         `struct fsstat' has the `f_fstypename' member.
86822         Use that to define FS_TYPE, which is now used to make
86823         the getfsstat link test tighter.
86824
86825 2001-09-30  Jim Meyering  <meyering@lucent.com>
86826
86827         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
86828         Include <sys/ucred.h>, for Apple Darwin.
86829         Include sys/mount.h and sys/fs_types.h only if available.
86830         (FS_TYPE): Define.
86831         (read_filesystem_list): Use FS_TYPE.
86832
86833 2001-09-29  Paul Eggert  <eggert@twinsun.com>
86834
86835         * lib/exclude.c (excluded_filename): 0 -> false, since it's
86836         a boolean context.
86837
86838 2001-09-29  Jim Meyering  <meyering@lucent.com>
86839
86840         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86841         [one-argument getmntent function]): Include stdio.h before mntent.h.
86842         SunOS 4.1.x needs it for the declaration of `FILE'.
86843         Patch by Volker Borchert.
86844
86845         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86846         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
86847         sys/fs_types.h, and make the link-test for getfsstat guard #include
86848         directives with appropriate #if HAVE_*_H tests so that we can
86849         detect getfsstat on Apple Darwin1.3.7 systems.
86850         Reported by Nelson Beebe.
86851         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
86852
86853 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86854
86855         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86856         #defines strtoimax.  Also treat the other strto* functions
86857         like strtoimax.
86858
86859         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86860         Check for strtoul and strtoumax,
86861         as those declarations are made even in the signed case.
86862         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
86863         Likewise, for strtol and strtoimax.
86864
86865 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86866
86867         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86868         #defines strtoimax.  Also treat the other strto* functions
86869         like strtoimax.
86870
86871         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
86872         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
86873         (strtoimax, strtoumax): Do not declare if already defined as a macro.
86874
86875 2001-09-26  Jim Meyering  <meyering@lucent.com>
86876
86877         Most macros in unlocked-io.h had the wrong number of arguments.
86878         * lib/gen-uio: New script.
86879         (USE_UNLOCKED_IO): Define to 1 if not already defined.
86880         * lib/unlocked-io.hin: Remove file.
86881         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
86882         rather than trying to embed it here.
86883         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
86884         Reported by Padraig Brady.
86885
86886 2001-09-25  Volker Borchert  <bt@teknon.de>
86887
86888         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
86889         `result'.
86890
86891 2001-09-24  Jim Meyering  <meyering@lucent.com>
86892
86893         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
86894
86895 2001-09-23  Jim Meyering  <meyering@lucent.com>
86896
86897         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
86898         instead of the mere test for existence of mntent.h.  The latter
86899         would get a false-positive on AIX 3.4 systems.
86900         In the outer getmntent if-block, don't die if neither of the getmntent
86901         tests succeeds.  Instead, just fall through and continue with the
86902         remaining tests.
86903
86904 2001-09-23  Jim Meyering  <meyering@lucent.com>
86905
86906         * lib/mountlist.c: Remove useless parentheses in #if directives.
86907         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
86908         the deprecated MOUNTED symbol is no longer defined in mntent.h.
86909
86910 2001-09-22  Jim Meyering  <meyering@lucent.com>
86911
86912         * m4/gettext.m4: New file.  From gettext.
86913         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
86914         * m4/progtest.m4: Likewise
86915         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
86916         * m4/glibc21.m4: Likewise.
86917
86918         * m4/libintl.m4: Remove.  No longer used.
86919
86920 2001-09-22  Jim Meyering  <meyering@lucent.com>
86921
86922         * lib/localcharset.c: Update from latest gettext.
86923         * lib/config.charset: Likewise.
86924
86925 2001-09-20  Jim Meyering  <meyering@lucent.com>
86926
86927         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
86928         strtoimax.
86929         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
86930         strtoumax.
86931
86932 2001-09-20  Jim Meyering  <meyering@lucent.com>
86933
86934         * lib/xstrtol.c (strtoimax): Guard declaration with
86935         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
86936         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
86937         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
86938         (strtoumax): Likewise, for completeness (it wasn't necessary).
86939
86940 2001-09-17  Paul Eggert  <eggert@twinsun.com>
86941
86942         * lib/strtoimax.c (HAVE_LONG_LONG):
86943         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
86944         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
86945         to work around bug in IBM C compiler.
86946
86947 2001-09-17  Jim Meyering  <meyering@lucent.com>
86948
86949         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
86950         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
86951         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
86952         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
86953         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
86954         whenever the right hand side need not be expanded by the shell.
86955
86956 2001-09-16  Paul Eggert  <eggert@twinsun.com>
86957
86958         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
86959         library.  It's not correct, as some older glibcs are buggy.
86960         fnmatch wasn't fixed until glibc 2.2.
86961
86962         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
86963         special shell magic here.
86964
86965 2001-09-16  Jim Meyering  <meyering@lucent.com>
86966
86967         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
86968         * m4/jm-macros.m4: Require it.
86969
86970 2001-09-16  Jim Meyering  <meyering@lucent.com>
86971
86972         * lib/mkdir.c: New file.
86973
86974 2001-09-15  Jim Meyering  <meyering@lucent.com>
86975
86976         * m4/jm-macros.m4: Check for help2man.
86977
86978 2001-09-11  Jim Meyering  <meyering@lucent.com>
86979
86980         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
86981         The body, by Paul Eggert, was moved here from configure.in.
86982         * m4/jm-macros.m4: Require UTILS_HOST_OS.
86983
86984 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86985
86986         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
86987         (jm_PREREQ): Use it.
86988
86989 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86990
86991         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
86992         Use ssize_t, not int, to store result of readlink.
86993         Check for ssize_t overflow as well as size_t overflow,
86994         as POSIX says the result of readlink is implementation-defined
86995         when ssize_t overflows.
86996         Remove unnecessary cast to char*.
86997         Use free+malloc instead of realloc, as the storage doesn't need
86998         to be preserved and it's clearer and can be more efficient that way.
86999         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
87000         * lib/xreadlink.h (xreadlink): Update prototype.
87001
87002 2001-09-04  Paul Eggert  <eggert@twinsun.com>
87003
87004         * lib/xgetcwd.c: Revert some of the previous change; intead,
87005         fix the HAVE_GETCWD_NULL code to behave more like the
87006         !HAVE_GETCWD_NULL code used to.
87007
87008         Include "xalloc.h".
87009         (xgetcwd): Do not return NULL when memory is exhausted; instead,
87010         invoke xalloc_die.
87011
87012 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87013
87014         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
87015         sys/param.h, as pathmax.h includes them.
87016
87017 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87018
87019         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
87020         (jm_PREREQ_XGETCWD): New macro.
87021
87022         * m4/getcwd.m4: New file.
87023
87024 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87025
87026         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
87027         like the HAVE_GETCWD_NULL code.
87028         Include pathmax.h if not HAVE_GETCWD.
87029         Do not include xalloc.h.
87030         (INITIAL_BUFFER_SIZE): New symbol.
87031         Do not use xmalloc / xrealloc, since the caller is responsible for
87032         handling errors.  Preserve errno around `free' during failure.
87033         Do not overrun buffer when using getwd.
87034
87035 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87036
87037         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
87038         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
87039         getcwd (NULL, 0).
87040
87041 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87042
87043         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
87044         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
87045         spotted by Jim Meyering.
87046
87047 2001-09-03  Jim Meyering  <meyering@lucent.com>
87048
87049         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
87050         failure.
87051
87052 2001-09-02  Jim Meyering  <meyering@lucent.com>
87053
87054         * lib/error.c: Update from GNU libc.
87055
87056 2001-09-01  Jim Meyering  <meyering@lucent.com>
87057
87058         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
87059         Used by df.
87060
87061 2001-09-01  Jim Meyering  <meyering@lucent.com>
87062
87063         * lib/xreadlink.c: New file.
87064         * lib/xreadlink.h: New file.
87065         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
87066         xreadlink.h.
87067
87068         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
87069         doesn't conflict with sparc Solaris 7's definition in
87070         /usr/include/sys/int_types.h.
87071
87072         * lib/exclude.c: Use `""', not `<>' to #include non-system header
87073         files.
87074         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
87075         and strncasecmp as r-values.  Unixware didn't have declarations.
87076
87077 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87078
87079         * lib/xstrtol.h: Add copyright notice.
87080         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
87081         LONGINT_INVALID_SUFFIX_CHAR.
87082
87083 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87084
87085         * lib/xstrtol.c (strtoimax): New decl.
87086
87087 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87088
87089         * lib/xgetcwd.c: Don't include pathmax.h.
87090         Include stdlib.h and unistd.h if available.
87091         Include xalloc.h.
87092         (xmalloc, xstrdup, free): Remove decls.
87093         (xgetcwd): Don't assume sizes fit in unsigned.
87094         Check for overflow when computing sizes.
87095         Simplify reallocation code.
87096
87097 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87098
87099         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
87100         a directory's st_size can have an arbitrary value, so the old
87101         usage could waste an arbitrary amount of memory.  All uses
87102         changed.
87103         * lib/savedir.h: Update prototype.
87104
87105 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87106
87107         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
87108
87109         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
87110         old strtoimax.c.
87111
87112         Also, make the following further changes to make this file's
87113         configuration more similar to that of strtol.c:
87114         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
87115         (strtoumax, uintmax_t, strtoull, strtol): Remove.
87116         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
87117         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
87118         changed to signed values.
87119
87120         And make the following changes as well:
87121         Fix copyright notice, as 1999 was missing.
87122         (verify): New macro.
87123         (strtoimax): Check sizes at compile-time, not run-time.
87124         Prefer strtol to strtoll if both work.
87125         (main): Remove; it was not that useful and was a pain to maintain.
87126
87127         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
87128
87129 2001-08-31  Jim Meyering  <meyering@lucent.com>
87130
87131         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
87132         Use an initial, malloc'd, buffer of length 128 rather than
87133         a statically allocated one of length 1024.
87134
87135 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87136
87137         Simplify code, partly by assuming autoconf 2.52 semantics.
87138
87139         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
87140
87141         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
87142         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
87143         All uses removed.
87144         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
87145         Move AC_REQUIRE to next-to-top level, to avoid confusion.
87146         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
87147         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
87148         jm_AC_HEADER_INTTYPES_H.
87149         * m4/jm-macros.m4 (jm_MACROS): Likewise.
87150
87151         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
87152
87153         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
87154         Quote first arg of AC_DEFUN.
87155         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
87156         since they are needed to parse the include file even if we need
87157         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
87158         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
87159         but with opposite signedness.
87160
87161 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87162
87163         Merge 'exclude' changes from tar 1.13.22.
87164         This fixes one or two unlikely storage allocation overflow bugs,
87165         but doesn't change user-visible behavior otherwise.
87166
87167 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87168
87169         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
87170         (jm_PREREQ_EXCLUDE): New macro.
87171
87172 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87173
87174         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
87175         tm to be declared.
87176
87177 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87178
87179         * lib/hash.c: Remove '2001' from copyright notice.
87180
87181 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87182
87183         * lib/full-write.h: New file.
87184         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
87185         * lib/full-write.c: Correct credits, as cccp.c no longer
87186         exists and anyway it was so heavily changed from the old cccp
87187         code as to be unrecognizable.  Include full-write.h.
87188         (full_write): Return size_t, with short writes meaning failure.
87189         All callers changed.  This fixes a bug with large buffers
87190         on 64-bit hosts.
87191         * lib/utime.c: Include full-write.h.
87192
87193 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87194
87195         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
87196         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
87197         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
87198         Include if available.
87199         (<xalloc.h>): Include
87200         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
87201         (verify): New macro.  Use it to verify that EXCLUDE macros do not
87202         collide with FNM macros.
87203         (struct patopts): New struct.
87204         (struct exclude): Use it, as exclude patterns now come with options.
87205         (new_exclude): Support above changes.
87206         (new_exclude, add_exclude_file):
87207         Initial size must now be a power of two to simplify overflow checking.
87208         (free_exclude, fnmatch_no_wildcards): New function.
87209         (excluded_filename): No longer requires options arg, as the options
87210         are determined by add_exclude.  Now returns bool, not int.
87211         (excluded_filename, add_exclude):
87212         Add support for the fancy new exclusion options.
87213         (add_exclude, add_exclude_file): Now takes int options arg.
87214         Check for arithmetic overflow when computing sizes.
87215         (add_exclude_file): xrealloc might modify errno, so don't
87216         realloc until after errno might be used.
87217
87218         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
87219         New macros.
87220         (free_exclude): New decl.
87221         (add_exclude, add_exclude_file): Now takes int options arg.
87222         (excluded_filename): No longer requires options arg, as the options
87223         are determined by add_exclude.  Now returns bool, not int.
87224
87225 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87226
87227         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
87228
87229 2001-08-27  Jim Meyering  <meyering@lucent.com>
87230
87231         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
87232
87233         * lib/version-etc.c (N_): Remove definition.
87234         Revert most of last change.
87235         Instead, simply don't mark the `Copyright...' string for translation.
87236         Based on advice from Paul Eggert.
87237
87238         * lib/strtoxmax.c: Tweak comment.
87239
87240 2001-08-26  Jim Meyering  <meyering@lucent.com>
87241
87242         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
87243
87244         * m4/xstrtoimax.m4: New file.
87245         * m4/xstrtoumax.m4: Add comments explaining why we
87246         AC_REPLACE_FUNCS(strtol).
87247
87248 2001-08-26  Jim Meyering  <meyering@lucent.com>
87249
87250         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
87251         of copyright with `%s' so translators don't get an untranslated
87252         message in 2002.
87253         (COPYRIGHT_YEAR): Define.
87254         (version_etc): Use fprintf rather than fputs.
87255         Suggestion from Ulrich Drepper.
87256
87257         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
87258
87259         * lib/strtoll.c: New file, from GNU libc.
87260         * lib/xstrtoimax.c: New file.
87261
87262         * lib/xstrtol.h: Add xstrtoimax.
87263         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
87264         * lib/strtoimax.c: New file.  Likewise, but first define
87265         STRTOUXMAX_SIGNED.
87266
87267         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
87268         ...
87269         * lib/strtoxmax.c: ... then renamed to this.
87270
87271 2001-08-18  Paul Eggert  <eggert@twinsun.com>
87272
87273         * m4/inttypes.m4: Add AC_PREREQ(2.13).
87274         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
87275         (jm_AC_TYPE_INTMAX_T): New macro.
87276         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
87277
87278         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
87279
87280         * m4/longlong.m4: Renamed from ulonglong.m4.
87281         * m4/inttypes.m4: Renamed from inttypes_h.m4.
87282         * m4/uintmax_t.m4: Removed.
87283
87284 2001-08-13  Paul Eggert  <eggert@twinsun.com>
87285
87286         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
87287         Port to Solaris 8, where 'sed' requires a space after the 'r'
87288         command, and where sh dislikes "$/".  Clean up the spacing a bit.
87289         Redirect output to $tmp just once.
87290
87291 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
87292
87293         * lib/addext.c (<errno.h>): Include.
87294         (errno): Declare if not defined.
87295         (addext): Work correctly when pathconf returns -1 and leaves
87296         errno alone because there is no limit.  Also, work even if
87297         pathconf returns a value greater than SIZE_MAX.
87298
87299 2001-08-12  Jim Meyering  <meyering@lucent.com>
87300
87301         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
87302         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
87303         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
87304         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
87305         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
87306         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
87307         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
87308         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
87309         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
87310         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
87311         utime.m4, utimes.m4, xstrtoumax.m4:
87312         Quote the first argument in each use of AC_DEFUN.
87313
87314 2001-08-12  Jim Meyering  <meyering@lucent.com>
87315
87316         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
87317         Simply `return getcwd (NULL, 0);'.
87318         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
87319         Use 1300 as initial value for length, not PATH_MAX.
87320
87321         * lib/pathmax.h: Clean up cpp syntax.
87322
87323 2001-08-12  Jim Meyering  <meyering@lucent.com>
87324
87325         * lib/gettimeofday.c: New file.
87326         * lib/gtod.h: New file.
87327         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
87328
87329 2001-08-05  Jim Meyering  <meyering@lucent.com>
87330
87331         * m4/jm-macros.m4: Require autoconf-2.52.
87332
87333 2001-08-04  Jim Meyering  <meyering@lucent.com>
87334
87335         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
87336         stmt, to get in sync with glibc.
87337
87338 2001-08-03  Paul Eggert  <eggert@twinsun.com>
87339
87340         The following changes are from gettext 0.10.39 as maintained by
87341         Bruno Haible.
87342
87343         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
87344         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
87345         with inverted sense.  All uses changed.
87346
87347         * lib/mbswidth.c: Don't include <limits.h>.
87348         Include <stdlib.h> and <string.h> unconditionally.
87349         (iswcntrl, mbsinit, ISCNTRL): New macros.
87350         (mbsnwidth): Use K&R style function declarations.
87351         Don't bother checking for MB_LEN_MAX == 1, since the compiler
87352         can optimize it when MB_CUR_MAX == 1.
87353         The width of control characters is zero, not 1.
87354
87355 2001-08-03  Paul Eggert  <eggert@twinsun.com>
87356
87357         The following changes are from gettext 0.10.39 as maintained by
87358         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
87359
87360         * m4/codeset.m4: Upgrade to serial AM1.
87361         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
87362         all uses changed.  Quote first arg of AC_DEFUN.
87363         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
87364
87365         * m4/iconv.m4: Upgrade to serial AM2.
87366         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
87367         Add --with-libconv-prefix.
87368         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
87369         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
87370         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
87371         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
87372         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
87373
87374         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
87375         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
87376         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
87377         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
87378         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
87379         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
87380         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
87381         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
87382         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
87383
87384         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
87385         string.h any more.
87386
87387         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
87388         not the default value.
87389
87390         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
87391         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
87392         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
87393         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
87394         Also check for iswcntrl, used for wcwidth fallback.
87395         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
87396         to Autoconf 2.13.
87397
87398 2001-08-03  Jim Meyering  <meyering@lucent.com>
87399
87400         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
87401         as it was in the original.  Reported by Paul Eggert.
87402
87403 2001-07-16  Jim Meyering  <meyering@lucent.com>
87404
87405         * m4/gettimeofday.m4: New file.
87406         Prompted by a report from Bernhard Baehr.
87407
87408 2001-07-15  Jim Meyering  <meyering@lucent.com>
87409
87410         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
87411         stuff. Now it's in ../Makefile.cfg.
87412
87413 2001-07-15  Jim Meyering  <meyering@lucent.com>
87414
87415         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
87416         (BUILT_SOURCES): Add unlocked-io.h.
87417         (io_functions): Define.
87418         (unlocked-io.h): New rule.
87419         (DISTCLEANFILES): Add unlocked-io.h.
87420         (all-local): Depend on unlocked-io.h, to ensure it is created.
87421
87422         * lib/unlocked-io.hin: New file
87423
87424         * lib/regex.c: Update from glibc.
87425
87426 2001-07-05  Jim Meyering  <meyering@lucent.com>
87427
87428         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
87429         recommendation.
87430         (libfetish_a_SOURCES): Put all .h files here instead.
87431         Remove a thus-exposed (better checks in automake) duplicate and
87432         two unnecessary .h files.
87433
87434 2001-07-04  Jim Meyering  <meyering@lucent.com>
87435
87436         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
87437         that generates jm-glibc-io.m4 so that it doesn't trigger any make
87438         distcheck failure.
87439
87440 2001-07-02  Jim Meyering  <meyering@lucent.com>
87441
87442         The following changes were prompted by suggestions from Bruno Haible.
87443
87444         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
87445         is now generated.
87446         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
87447         definition of EXTRA_DIST.
87448         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
87449         ensure that the generated file is created/updated whenever the list
87450         of $(unlocked_functions) is changed.
87451         (jm-glibc-io.m4): New rule.
87452         (unlocked-io.h): New rule -- currently unused.
87453
87454 2001-06-24  Jim Meyering  <meyering@lucent.com>
87455
87456         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
87457         unmatched right bracket, rather than kludging it with an extra,
87458         falsely-matching quote in a comment.  Patch by Akim Demaille.
87459
87460 2001-06-11  Jim Meyering  <meyering@lucent.com>
87461
87462         * lib/regex.c: Update from GNU libc.
87463
87464 2001-05-27  Jim Meyering  <meyering@lucent.com>
87465
87466         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
87467         Check for ut_type in struct utmp.
87468
87469 2001-05-27  Jim Meyering  <meyering@lucent.com>
87470
87471         * lib/readutmp.h (UT_TYPE): Define.
87472
87473 2001-05-24  Jim Meyering  <meyering@lucent.com>
87474
87475         * lib/argmatch.c: Include "quote.h".
87476         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
87477         quote function.  Reported by Göran Uddeborg.
87478
87479 2001-05-22  Jim Meyering  <meyering@lucent.com>
87480
87481         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
87482         now that we use the package-supplied version unconditionally.
87483         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
87484
87485 2001-05-21  Jim Meyering  <meyering@lucent.com>
87486
87487         * m4/regex.m4: Change a couple backticks to single quotes to avoid
87488         shell syntax errors.
87489
87490 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
87491
87492         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
87493
87494 2001-05-20  Paul Eggert  <eggert@twinsun.com>
87495
87496         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
87497         Don't bother to check library strftime, since
87498         we'll be using our own my_strftime function anyway.
87499         Define my_strftime instead of strftime.
87500
87501 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
87502
87503         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
87504         which is not yet declared.
87505
87506 2001-05-15  Jim Meyering  <meyering@lucent.com>
87507
87508         * m4/regex.m4: Use proper quoting so brackets appear in the test
87509         program.
87510         Reported by, and with help from, Bruno Haible.
87511
87512 2001-05-13  Jim Meyering  <meyering@lucent.com>
87513
87514         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
87515         undefined.
87516
87517 2001-05-11  Paul Eggert  <eggert@twinsun.com>
87518
87519         dirname code cleanup.  base_name now behaves more compatibly
87520         with POSIX basename when given file names that have trailing
87521         slashes, and similarly for dir_name.  Add new primitives
87522         base_len and dir_len.  Put the directory-name-related decls
87523         into dirname.h.
87524
87525         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
87526         * lib/backupfile.c (base_name): Likewise.
87527         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
87528         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
87529         * lib/makepath.c (strip_trailing_slashes): Likewise.
87530         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
87531         ISSLASH): Likewise.
87532         * lib/rename.c (strip_trailing_slashes): Likewise.
87533         * lib/same.c (base_name): Likewise.
87534         * lib/stripslash.c (ISSLASH): Likewise.
87535
87536         * lib/addext.c: Include <dirname.h> after size_t is defined.
87537         * lib/backupfile.c: Likewise.
87538
87539         * lib/addext.c (addext): Use base_len to trim redundant
87540         trailing slashes instead of doing it ourselves.
87541         But do not trim the last slash if it is not redundant.
87542
87543         * lib/backupfile.c (find_backup_file_name,
87544         max_backup_version): Use base_len instead of rolling it ourselves.
87545         Handle the case of "" and (on DOS) "C:" correctly.
87546
87547         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
87548         needed. Include <string.h>, <dirname.h>.
87549         (base_name): Allow file names ending in slashes, other than names
87550         that are all slashes.  In this case, return the basename followed
87551         by the slashes.  This is more general, and can be used in places
87552         where the original base_name purposely had an assertion failure.
87553         (base_len): New function.
87554
87555         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
87556         Do not include <assert.h>; no longer needed.
87557         Include xalloc.h.
87558         (memrchr): Remove decl.
87559         (dir_name_r): Remove.
87560         (dir_len): Renamed from dirlen.  All callers changed.
87561         Rewrite in terms of base_name, for simplicity and consistency.
87562         (dir_name): Never return NULL.  All callers changed.
87563         Do not include <stdlib.h> in test program; no longer needed.
87564         return 0; is fine for test program.
87565
87566         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
87567         New macros.
87568         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
87569
87570         * lib/path-concat.c (path_concat): Use base_len to compute
87571         base length, not strlen; this means we cannot rely on memcpy
87572         to null-terminate.
87573
87574         * lib/same.c (STREQ): Remove.
87575         (same_name): Handle the case where the basename ends in trailing '/'.
87576
87577         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
87578         a slash was stripped.  Do not strip the last slash after a
87579         file system prefix.
87580
87581 2001-05-11  Paul Eggert  <eggert@twinsun.com>
87582
87583         * lib/Makefile.am (libfetish_a_SOURCES):
87584         Add strftime.c, since we now compile it on all hosts.
87585
87586         * lib/strftime.c (my_strftime):
87587         Define to nstrftime if emacs, but only if my_strftime is not defined.
87588         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
87589         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
87590         Add one more extra argument: a nanoseconds value.
87591         All uses changed.
87592         (ns): New macro.
87593         (my_strftime function): Add %N format.
87594         (emacs_strftimeu): Renamed from emacs_strftime,
87595         with extra ut argument.
87596
87597 2001-05-09  Paul Eggert  <eggert@twinsun.com>
87598
87599         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
87600
87601 2001-04-21  Jim Meyering  <meyering@lucent.com>
87602
87603         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
87604         doesn't interfere.
87605
87606 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
87607
87608         * m4/ftruncate.m4: Check for chsize.
87609         Link with ftruncate.o unconditionally if ftruncate is missing.
87610         This was required when cross-compiling to i586-mingw32msvc.
87611
87612 2001-04-08  Jim Meyering  <meyering@lucent.com>
87613
87614         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
87615         recomputed; that's necessary when the offset spans a DST transition.
87616         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
87617
87618 2001-04-02  Jim Meyering  <meyering@lucent.com>
87619
87620         * lib/regex.h, regex.c: Update from GNU libc.
87621
87622 2001-03-24  Jim Meyering  <meyering@lucent.com>
87623
87624         * m4/jm-macros.m4: Require autoconf-2.49d.
87625
87626 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
87627
87628         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
87629
87630 2001-03-19  Paul Eggert  <eggert@twinsun.com>
87631
87632         * lib/version-etc.c (version_etc_copyright): Update to 2001.
87633
87634 2001-03-17  Jim Meyering  <meyering@lucent.com>
87635
87636         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
87637         now that the version in autoconf is equivalent.
87638         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
87639
87640         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
87641         Suggestion from Akim Demaille.
87642
87643         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
87644         (jm_PREREQ_TEMPNAME): New function.
87645
87646 2001-03-16  Paul Eggert  <eggert@twinsun.com>
87647
87648         * lib/tempname.c (uint64_t): Define to uintmax_t if
87649         not defined, and if UINT64_MAX is not defined.
87650         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
87651         Reported by John David Anglin.
87652
87653 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
87654
87655         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
87656         resolve alias if codeset is empty.
87657         * lib/config.charset (BeOS): Use wildcard syntax.
87658
87659 2001-03-13  Jim Meyering  <meyering@lucent.com>
87660
87661         * lib/path-concat.c (path_concat)
87662         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
87663         concatenating e.g., `C:' and `foo'.
87664         From Bruno Haible.
87665
87666 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
87667
87668         * lib/localcharset.c (locale_charset): Don't use
87669         setlocale(LC_CTYPE,NULL). Don't return NULL.
87670         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
87671
87672 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
87673
87674         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
87675         support for DOS/DJGPP.
87676
87677 2001-03-01  Paul Eggert  <eggert@twinsun.com>
87678
87679         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
87680         lacks mkstemp.  Compile our own tempname.c if we compile our own
87681         mkstemp.c, as mkstemp relies on tempname.
87682
87683 2001-03-01  Jim Meyering  <meyering@lucent.com>
87684
87685         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
87686         AH_VERBATIM really does output its argument verbatim.
87687
87688 2001-02-28  Paul Eggert  <eggert@twinsun.com>
87689
87690         * lib/Makefile.am (libfetish_a_SOURCES):
87691         Add dup-safer.c, fopen-safer.c.
87692         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
87693
87694         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
87695         * lib/unistd-safer.h: New files.
87696
87697 2001-02-25  Paul Eggert  <eggert@twinsun.com>
87698
87699         The mkstemp replacement is taken from glibc 2.2.2, with some
87700         portability fixes for use outside glibc, as follows:
87701
87702         * lib/tempname.c (struct_stat64): New macro.
87703         (direxists, __gen_tempname): Use it.
87704         This avoids a portability problem with Solaris 8.
87705
87706         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
87707         (<stddef.h>, <stdint.h>, <string.h>):
87708         Include only if STDC_HEADERS || _LIBC.
87709         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
87710         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
87711         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
87712         (__set_errno): Define this macro if <errno.h> doesn't.
87713         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
87714         Define these macros if <stdio.h> doesn't.
87715         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
87716         Define these macros if <sys/stat.h>
87717         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
87718         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
87719         __xstat64): Define if not _LIBC.
87720         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
87721         (__gen_tempname): Invoke gettimeofday only if
87722         HAVE_GETTIMEOFDAY || _LIBC;
87723         otherwise, fall back on plain "time".
87724         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
87725
87726         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
87727
87728         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
87729
87730 2001-02-18  Paul Eggert  <eggert@twinsun.com>
87731
87732         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
87733
87734 2001-02-17  Paul Eggert  <eggert@twinsun.com>
87735
87736         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
87737         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
87738         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
87739         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
87740
87741 2001-02-17  Paul Eggert  <eggert@twinsun.com>
87742
87743         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
87744         Remove workaround macros for hosts that have mbrtowc but not
87745         mbstate_t, as we now insist on proper declarations for both
87746         before using mbrtowc.
87747
87748 2001-02-17  Jim Meyering  <meyering@lucent.com>
87749
87750         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
87751         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
87752         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
87753         UnixWare 7.1.1.
87754
87755         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
87756         rather than AC_CACHE_VAL.
87757
87758 2001-02-17  Jim Meyering  <meyering@lucent.com>
87759
87760         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
87761         around included file name.
87762
87763         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
87764
87765         * lib/strftime.c: Update from GNU libc (the only changes were to
87766         comments).
87767
87768 2001-02-17  Jim Meyering  <meyering@lucent.com>
87769
87770         * lib/regex.c: Update from libc.
87771
87772 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
87773
87774         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
87775         clash.
87776
87777 2001-02-16  Paul Eggert  <eggert@twinsun.com>
87778
87779         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
87780         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
87781         Reported by Mark Hounschell via Paul Eggert.
87782
87783 2001-02-07  Jim Meyering  <meyering@lucent.com>
87784
87785         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
87786
87787 2001-02-05  Jim Meyering  <meyering@lucent.com>
87788
87789         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
87790         it includes the patch required for `large file' support with at least
87791         HP-UX's 10.20 /bin/cc.
87792
87793 2001-02-03  Jim Meyering  <meyering@lucent.com>
87794
87795         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
87796         AS_IF, now that it works once again (mysteriously).
87797         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
87798
87799 2001-01-30  Jim Meyering  <meyering@lucent.com>
87800
87801         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
87802         * m4/chown.m4: Rename conftestchown to conftest.chown.
87803         * m4/rename.m4: s/conftestdir/conftest.d1/ and
87804         s/conftestdir2/conftest.d2/.
87805         * m4/utimes.m4: s/conftestdata/conftest.data/
87806         Inspired by Pavel Roskin's change in autoconf.
87807
87808 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
87809
87810         * lib/config.charset: Update for FreeBSD 4.2.
87811
87812 2001-01-27  Jim Meyering  <meyering@lucent.com>
87813
87814         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
87815         a use of AS_IF.
87816         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
87817
87818 2001-01-26  Jim Meyering  <meyering@lucent.com>
87819
87820         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
87821         quotearg.c includes it.
87822
87823 2001-01-26  Jim Meyering  <meyering@lucent.com>
87824
87825         * lib/quotearg.c: Include stddef.h.
87826         * lib/quote.c: Include stddef.h.
87827         Reported by Axel Kittenberger.
87828
87829         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
87830         line in double quotes so that it evokes a better diagnostic.
87831         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
87832         Reported by Axel Kittenberger.
87833
87834 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
87835
87836         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
87837         as if it was a `charset'.
87838
87839 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87840
87841         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
87842         has const.
87843
87844 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87845
87846         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
87847         to avoid a warning.  Add back 'const' to inptr.
87848
87849 2001-01-20  Jim Meyering  <meyering@lucent.com>
87850
87851         Be sure that headers are checked before used in code compiled
87852         for the type checks.
87853         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
87854         In place of that, invoke jm_CHECK_ALL_TYPES.
87855         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
87856         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
87857         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
87858         The check for ssize_t was mistakenly run before the test for unistd.h.
87859
87860         The configure-time check for stdbool.h was missing.
87861         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
87862         (jm_PREREQ_HASH): New function.
87863
87864 2001-01-17  Jim Meyering  <meyering@lucent.com>
87865
87866         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
87867         for autoconf-2.49c.
87868         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
87869
87870 2001-01-16  Jim Meyering  <meyering@lucent.com>
87871
87872         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
87873         From Bruno Haible.
87874
87875 2001-01-14  Jim Meyering  <meyering@lucent.com>
87876
87877         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
87878         foo and bar.  Create conftestdir/ in the script, not in the C code.
87879         Remove directories in the script, not in the C code.
87880         Remove conftestdir{,2} before trying to create the directory.
87881         Make the entire configure script fail if the mkdir fails.
87882
87883 2001-01-14  Jim Meyering  <meyering@lucent.com>
87884
87885         * lib/rename.c: New file.  From Volker Borchert.
87886         Include stdlib.h, string.h or strings.h, and xalloc.h.
87887         Use strip_trailing_slashes rather than open-coding it.
87888
87889 2001-01-03  Paul Eggert  <eggert@twinsun.com>
87890
87891         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
87892
87893 2001-01-03  Jim Meyering  <meyering@lucent.com>
87894
87895         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
87896         of local `inptr' to avoid warning with some system declarations of
87897         iconv.
87898
87899 2001-01-02  Volker Borchert  <bt@teknon.de>
87900
87901         * m4/rename.m4: New file.
87902         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
87903
87904 2001-01-01  Jim Meyering  <meyering@lucent.com>
87905
87906         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
87907         even on systems with utmpx.h.  It's necessary for the declaration of
87908         utmp's ut_user member.  Reported by Andreas Jaeger.
87909
87910         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
87911         available. They are required for the declarations of getgrgid and
87912         getpwuid resp.
87913         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
87914         Reported by Andreas Jaeger.
87915
87916 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
87917
87918         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
87919         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
87920         so `make install' also works in VPATH builds.
87921
87922 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
87923
87924         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
87925         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
87926         can be used in subdirectories.
87927
87928 2000-12-29  Paul Eggert  <eggert@twinsun.com>
87929
87930         * lib/modechange.c: Do not assume that mode_t uses the
87931         traditional octal encoding.  E.g. "chmod 1 FOO" should set
87932         the other-execute bit of FOO even if S_IXOTH != 1.
87933
87934         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
87935         WOTH, XOTH, ALLM): New macros.
87936         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
87937          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
87938         Use them.
87939         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
87940         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
87941         (mode_compile):
87942         No need to use uintmax_t; unsigned long is long enough.
87943         Don't bother to get suffix since we don't use it.
87944
87945 2000-12-26  Jim Meyering  <meyering@lucent.com>
87946
87947         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
87948         better with autoheader.
87949
87950 2000-12-24  Jim Meyering  <meyering@lucent.com>
87951
87952         * lib/hash.c (is_prime): Return explicit boolean values.
87953         (hash_get_first): Return NULL to appease Irix5.6's 89.
87954         Reported by Nelson Beebe.
87955
87956 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
87957
87958         * lib/localcharset.c (locale_charset): Add support for Win32.
87959
87960 2000-12-18  Paul Eggert  <eggert@twinsun.com>
87961
87962         * lib/physmem.h, lib/physmem.c: New files.
87963
87964         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
87965         (noinst_HEADERS): Add physmem.h.
87966
87967         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
87968         't' for compatibility with Solaris 8 sort.
87969
87970 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
87971
87972         * lib/config.charset: Add support for BeOS.
87973
87974 2000-12-17  Jim Meyering  <meyering@lucent.com>
87975
87976         * m4/dos.m4 (jm_AC_DOS): New file and macro.
87977         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
87978
87979 2000-12-16  Jim Meyering  <meyering@lucent.com>
87980
87981         This bug had a serious impact on chown: `chown N:M FILE' (for integer
87982         N and M) would have treated it like `chown N:N FILE'.
87983
87984         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
87985
87986 2000-12-16  Jim Meyering  <meyering@lucent.com>
87987
87988         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
87989         SHELLS_FILE to a file name that's useful on djgpp systems.
87990         Include stdlib.h.
87991         (ADDITIONAL_DEFAULT_SHELLS): Define.
87992         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
87993         Based mostly on a patch from Prashant TR.
87994
87995 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
87996
87997         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
87998         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
87999         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
88000
88001 2000-12-08  Andreas Schwab  <schwab@suse.de>
88002
88003         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
88004         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
88005
88006 2000-12-07  Jim Meyering  <meyering@lucent.com>
88007
88008         * lib/stripslash.c (ISSLASH): Define.
88009         (strip_trailing_slashes): Use ISSLASH rather than comparing against
88010         `/'.
88011         From Prashant TR.
88012
88013         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
88014         (dir_name_r): Declare this function as static.
88015         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
88016         manifest itself on a name containing a mix of slashes and
88017         backslashes.
88018         Make this function work with names starting with a DOS-style
88019         drive letter and colon prefix.
88020         (dir_name): Append `.' if necessary.
88021         Based mostly on patches from Prashant TR and Eli Zaretskii.
88022
88023         * lib/dirname.h (dir_name_r): Remove prototype.
88024
88025 2000-12-06  Paul Eggert  <eggert@twinsun.com>
88026
88027         * m4/off_t-format.m4: Remove this file.
88028         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
88029
88030 2000-12-06  Jim Meyering  <meyering@lucent.com>
88031
88032         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
88033         replacement strtoull, we may well need the replacement strtoul, too.
88034         Check for declarations of strtoul and strtoull.
88035         Check for strtol.  Mainly as a cue to cause automake to include
88036         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
88037         Check for limits.h -- strtol.c needs it.
88038
88039 2000-12-05  Jim Meyering  <meyering@lucent.com>
88040
88041         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
88042
88043 2000-12-04  Jim Meyering  <meyering@lucent.com>
88044
88045         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
88046         Also include memory.h, stdlib.h, unistd.h if appropriate.
88047         Reported by Andreas Jaeger (conflicting declaration of malloc).
88048
88049 2000-12-02  Jim Meyering  <meyering@lucent.com>
88050
88051         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
88052         * m4/jm-macros.m4 (jm_MACROS): require it.
88053
88054 2000-12-02  Jim Meyering  <meyering@lucent.com>
88055
88056         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
88057
88058 2000-12-01  Paul Eggert  <eggert@twinsun.com>
88059
88060         * lib/memrchr.c: Include <config.h> before any system include file.
88061
88062 2000-11-30  Jim Meyering  <meyering@lucent.com>
88063
88064         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
88065
88066 2000-11-30  Jim Meyering  <meyering@lucent.com>
88067
88068         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
88069
88070 2000-11-29  Paul Eggert  <eggert@twinsun.com>
88071
88072         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
88073
88074 2000-11-26  Jim Meyering  <meyering@lucent.com>
88075
88076         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
88077
88078 2000-11-22  Paul Eggert  <eggert@twinsun.com>
88079
88080         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
88081         size of (size_t) -1; it's not portable.
88082
88083 2000-11-17  Jim Meyering  <meyering@lucent.com>
88084
88085         * lib/strstr.c: Update from GNU libc.
88086
88087 2000-11-17  Akim Demaille  <akim@epita.fr>
88088
88089         * lib/obstack.h: Formatting changes.
88090         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
88091         prevent type checking.
88092         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
88093         cast the value to (void *): assigning a `foo *' to a `void *'
88094         variable is valid.
88095         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
88096
88097 2000-11-16  Jim Meyering  <meyering@lucent.com>
88098
88099         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
88100
88101 2000-11-11  Jim Meyering  <meyering@lucent.com>
88102
88103         * lib/error.c: Add a couple #includes, merging from GNU libc version.
88104
88105 2000-11-10  Jim Meyering  <meyering@lucent.com>
88106
88107         * lib/obstack.h: Update from GNU libc.
88108         * lib/obstack.c: Likewise.
88109
88110 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
88111
88112         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
88113
88114 2000-11-06  Paul Eggert  <eggert@twinsun.com>
88115
88116         * lib/getusershell.c (setusershell): Use rewind rather than
88117         fseek/fseeko, to avoid configuration hassles with fseeko.
88118         Don't bother opening SHELLS_FILE if shellstream is NULL;
88119         it's not necessary.
88120
88121 2000-11-05  Jim Meyering  <meyering@lucent.com>
88122
88123         * lib/makepath.h (make_dir): Declare.
88124         * lib/makepath.c (make_dir): Remove `static' attribute.
88125         Tweak a comment.
88126
88127 2000-11-04  Jim Meyering  <meyering@lucent.com>
88128
88129         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
88130
88131 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
88132
88133         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
88134         last one in a bucket, advance to the next bucket.
88135
88136 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
88137
88138         * lib/fnmatch.c: Do not comment out all the code if we are using
88139         the GNU C library, because in some cases we are replacing buggy
88140         code in the GNU C library itself.
88141
88142 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
88143
88144         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
88145         (regex_compile): Catch bogus \(\1\).
88146
88147 2000-10-30  Paul Eggert  <eggert@twinsun.com>
88148
88149         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
88150         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
88151         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
88152
88153 2000-10-30  Paul Eggert  <eggert@twinsun.com>
88154
88155         * lib/error.h, getline.h, modechange.h:
88156         Remove "2000" from Copyright line, as the file hasn't been
88157         changed this year other than in the copyright notice.
88158
88159         * lib/xalloc.h: Add "2000" to Copyright line, as this file
88160         was changed this year.
88161
88162 2000-10-29  Jim Meyering  <meyering@lucent.com>
88163
88164         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
88165         renaming.
88166         * m4/ls-mntd-fs.m4: Likewise
88167
88168 2000-10-29  Jim Meyering  <meyering@lucent.com>
88169
88170         * lib/xstat.in: Fix grammar in comment.
88171
88172 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
88173
88174         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
88175         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
88176         doesn't define __restrict_arr.
88177
88178 2000-10-28  Jim Meyering  <meyering@lucent.com>
88179
88180         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
88181         (jm_PREREQ_MEMCHR): New function.
88182
88183 2000-10-28  Jim Meyering  <meyering@lucent.com>
88184
88185         * lib/memchr.c: Update from libc.
88186         Adjust for portability:
88187         [HAVE_STDLIB_H]: Include stdlib.h.
88188         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
88189         Undef __memchr, too.
88190         [!weak_alias]: Define __memchr to memchr.
88191
88192         * lib/regex.c: Update from libc.
88193         * lib/regex.h: Likewise.
88194         * lib/getopt1.c: Likewise.
88195         * lib/memcmp.c: Likewise.
88196
88197         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
88198         Avoid using fseek, when possible -- it's broken by design.
88199         Patch by Ulrich Drepper.
88200
88201 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
88202
88203         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
88204         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
88205         Giving in to popular pressure to shut up the compiler with casts.
88206
88207 2000-10-26  Jim Meyering  <meyering@lucent.com>
88208
88209         * lib/strftime.c: Update from libc.
88210
88211 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
88212
88213         * regex.c: More `unsigned char' -> `re_char' changes.
88214         Also change several `int' into `re_wchar_t'.
88215         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
88216         (PUSH_FAILURE_POINTER): Don't cast any more.
88217         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
88218         We want GCC to complain, since this piece of code makes
88219         re_match non-reentrant, which *should* be fixed.
88220         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
88221         (EXTEND_BUFFER): Use RETALLOC.
88222         (SET_LIST_BIT): Don't cast.
88223         (re_wchar_t): New type.
88224         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
88225         that those two functions will always properly return.
88226         (IMMEDIATE_QUIT_CHECK): Cast to void.
88227         (analyse_first): Use recursion rather than an explicit stack.
88228         (re_compile_fastmap): Can't fail anymore.
88229         (re_search_2): Don't check re_compile_fastmap for failure.
88230         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
88231         Now also sets the new value (passed in a new argument).
88232         (re_match_2_internal): Use it.
88233         Also, use a new var `reg' of type size_t when looping through regs
88234         rather than reuse the inappropriate `mcnt'.
88235
88236 2000-10-25  Jim Meyering  <meyering@lucent.com>
88237
88238         * lib/obstack.c: Update from libc.
88239
88240 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
88241
88242         * regex.c (regex_compile): Change the way of handling a range from
88243         a char less than 256 to a char not less than 256.
88244
88245 2000-10-24  Andrew Innes  <andrewi@gnu.org>
88246
88247         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
88248         NT-Emacs only.
88249         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
88250         so that re_search functions only quit when callers expect them to.
88251
88252 2000-10-23  Jim Meyering  <meyering@lucent.com>
88253
88254         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
88255         wrong.  That set_locale call must not have any side effects.
88256         From Paul Eggert.
88257
88258 2000-10-22  Jim Meyering  <meyering@lucent.com>
88259
88260         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
88261         [CYCLIC]: Remove now-unused definition.
88262
88263         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
88264         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
88265         Suggestion from Ulrich Drepper.
88266
88267 2000-10-21  Jim Meyering  <meyering@lucent.com>
88268
88269         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
88270         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
88271         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
88272
88273 2000-10-21  Jim Meyering  <meyering@lucent.com>
88274
88275         * lib/dirname.c (memrchr): Declare if necessary.
88276         (dir_name): Remove the restriction that there be no
88277         trailing slashes.  Now, this code skips past them, effectively
88278         ignoring them.
88279         [TEST_DIRNAME] (main): New unit tests.
88280
88281         * lib/memrchr.c: New file from GNU libc.
88282         Undef __memrchr, too.
88283         [!weak_alias]: Define __memrchr to memrchr.
88284         Guard weak_alias use with `#ifdef weak_alias'.
88285
88286 2000-10-21  Jim Meyering  <meyering@lucent.com>
88287
88288         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
88289         (dir_name): Use dir_name_r.
88290         * lib/dirname.h (dir_name_r): Declare it.
88291
88292 2000-10-17  Jim Meyering  <meyering@lucent.com>
88293
88294         * lib/quote.h (PARAMS): Define and use.
88295         Reported by Akim Demaille.
88296
88297         * lib/getopt.c: Update from libc.
88298
88299 2000-10-16  Jim Meyering  <meyering@lucent.com>
88300
88301         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
88302         setlocale.
88303         From Jan Fedak.
88304
88305 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
88306
88307         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
88308
88309 2000-09-25  Jim Meyering  <meyering@lucent.com>
88310
88311         * lib/md5.h (rol): Define (from GnuPG).
88312
88313         * lib/sha.c: Give credit (GnuPG) where due.
88314         (M): Use rol rather than open-coding it.
88315         Add a FIXME comment.
88316
88317 2000-09-21  Jim Meyering  <meyering@lucent.com>
88318
88319         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
88320         Reported by Michael Stone.
88321
88322 2000-09-20  Jim Meyering  <meyering@lucent.com>
88323
88324         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
88325         (noinst_HEADERS): Add sha.h.
88326         Based on code from Scott G. Miller and from GnuPG.
88327
88328 2000-09-18  Jim Meyering  <meyering@lucent.com>
88329
88330         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
88331         LIBS. Otherwise, everyone ends up linking with -lelf for some
88332         configurations.
88333         Reported by Mike Stone.
88334
88335 2000-09-15  Jim Meyering  <meyering@lucent.com>
88336
88337         * lib/regex.c: Update from libc.
88338
88339 2000-09-10  Jim Meyering  <meyering@lucent.com>
88340
88341         * lib/getopt.c (_getopt_internal): Update from glibc.
88342
88343 2000-09-09  Jim Meyering  <meyering@lucent.com>
88344
88345         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
88346         think it should be used as a general replacement for isascii.
88347         * lib/fnmatch.c: Likewise.
88348         * lib/mbswidth.c: Likewise
88349         * lib/regex.c: Likewise.
88350
88351         Don't use atoi.
88352         * lib/userspec.c: Include sys/param.h and limits.h.
88353         Include xstrtol.h.
88354         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
88355         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
88356         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
88357         UID, GID.  Check range.
88358
88359 2000-09-06  Jim Meyering  <meyering@lucent.com>
88360
88361         * lib/getopt.c (_getopt_internal): Update from glibc.
88362
88363 2000-08-30  Jim Meyering  <meyering@lucent.com>
88364
88365         * lib/strftime.c: Merge in changes from GNU libc.
88366
88367 2000-08-26  Jim Meyering  <meyering@lucent.com>
88368
88369         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
88370         * m4/fpending.m4: New file.
88371
88372 2000-08-26  Jim Meyering  <meyering@lucent.com>
88373
88374         * lib/closeout.c: Include "__fpending.h".
88375         (close_stdout_status): Return right away if there's nothing to flush.
88376
88377         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
88378         * lib/__fpending.c: New file.
88379         * lib/__fpending.h: New file.
88380
88381 2000-08-20  Jim Meyering  <meyering@lucent.com>
88382
88383         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
88384         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
88385         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
88386
88387 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
88388
88389         Improve fileutils installation on systems where running
88390         programs (like install) can't be unlinked.
88391         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
88392         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
88393
88394 2000-08-07  Paul Eggert  <eggert@twinsun.com>
88395
88396         Standardize on "memory exhausted" instead of "Memory exhausted"
88397         or "virtual memory exhausted".
88398         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
88399         "virtual memory exhausted".
88400         * lib/same.c (same_name): Invoke xalloc_die instead of printing
88401         our own message.
88402         * lib/userspec.c (parse_user_spec): Likewise.
88403         * lib/bumpalloc.h: comment fix
88404         * lib/same.c, userspec.c: Include xalloc.h.
88405
88406         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
88407         not char *const and pointing to a constant array.
88408         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
88409         (xrealloc): Comment fix.
88410
88411         * lib/userspec.c (parse_user_spec):
88412         Don't translate a message until just before returning,
88413         to avoid unnecessary translation.
88414
88415 2000-08-07  Jim Meyering  <meyering@lucent.com>
88416
88417         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
88418         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
88419         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
88420         getgroups.c, gethostname.c, getopt.h, group-member.c,
88421         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
88422         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
88423         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
88424         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
88425         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
88426         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
88427         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
88428         yesno.c: Back out Copyright date changes for each file with no change
88429         this year.  This eases coordination with other programs using the same
88430         source code modules.  From Paul Eggert.
88431
88432 2000-08-06  Paul Eggert  <eggert@twinsun.com>
88433
88434         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
88435         not char, for compatibility with glibc 2.1.3 strftime.c.
88436
88437 2000-08-03  Greg McGary  <greg@mcgary.org>
88438
88439         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
88440         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
88441         (EXTEND_BUFFER): Use them.
88442
88443 2000-08-01  Jim Meyering  <meyering@lucent.com>
88444
88445         * lib/dirname.c (ISSLASH): Define.
88446         (BACKSLASH_IS_PATH_SEPARATOR): Define.
88447         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
88448         both `\' and `/' may be use as path separators.
88449         Based on a patch from Prashant TR.
88450
88451 2000-07-31  Paul Eggert  <eggert@twinsun.com>
88452
88453         * lib/quotearg.c (quotearg_n_options): Don't make the initial
88454         slot vector a constant, since it might get modified.
88455
88456 2000-07-31  Jim Meyering  <meyering@lucent.com>
88457
88458         * lib/xmalloc.c: Use `virtual memory exhausted', not
88459         `Memory exhausted'.
88460         * lib/obstack.c (print_and_abort): Likewise.
88461
88462 2000-07-30  Paul Eggert  <eggert@twinsun.com>
88463
88464         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
88465         buffer, so that the caller can always quote one small
88466         component of a "memory exhausted" message in slot 0.
88467         From a suggestion by Jim Meyering.
88468
88469 2000-07-30  Jim Meyering  <meyering@lucent.com>
88470
88471         * lib/makepath.c (make_path): Quote the other instance, too.
88472
88473         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
88474         (STATIC_BUF_SIZE): Define.
88475         (quotearg_n_options): Use only statically allocated storage when
88476         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
88477         than STATIC_BUF_SIZE.
88478
88479 2000-07-29  Jim Meyering  <meyering@lucent.com>
88480
88481         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
88482         * lib/dirname.c (dir_name): Likewise.
88483
88484         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
88485         `/'.
88486
88487         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
88488         (dir_name): Assert that there are no trailing slashes.
88489
88490 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
88491
88492         * lib/mbswidth.h (mbswidth): Add a flags argument.
88493         (mbswidth): New declaration.
88494         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
88495         * lib/mbswidth.c (mbswidth): Add a flags argument.
88496         (mbsnwidth): New function.
88497
88498 2000-07-24  Jim Meyering  <meyering@lucent.com>
88499
88500         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
88501
88502 2000-07-23  Paul Eggert  <eggert@twinsun.com>
88503
88504         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
88505
88506 2000-07-23  Paul Eggert  <eggert@twinsun.com>
88507
88508         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
88509         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
88510         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
88511         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
88512         invoke multibyte primitives.
88513
88514 2000-07-23  Paul Eggert  <eggert@twinsun.com>
88515
88516         * lib/quotearg.c:
88517         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
88518         so that mbstate_t is always defined.
88519
88520         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
88521         be 1 in at least one GCC installation, and this configuration
88522         error is likely to be common.  Ignoring MB_LEN_MAX hurts
88523         performance on hosts that have mbrtowc but have only unibyte
88524         locales, but I assume these hosts are rare.
88525
88526 2000-07-23  Paul Eggert  <eggert@twinsun.com>
88527
88528         * lib/mbswidth.c (_XOPEN_SOURCE):
88529         Don't define; this causes problems on Solaris 7.
88530         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
88531
88532 2000-07-23  Jim Meyering  <meyering@lucent.com>
88533
88534         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
88535         too: getgrgid, getpwuid, getuid.
88536
88537 2000-07-23  Jim Meyering  <meyering@lucent.com>
88538
88539         * lib/basename.c (base_name): Add an assertion.
88540
88541 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
88542
88543         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
88544         shadow its mbsinit function.
88545
88546 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
88547
88548         * lib/mbswidth.h: New file.
88549         * lib/mbswidth.c: New file.
88550         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
88551         (noinst_HEADERS): Add mbswidth.h.
88552
88553 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
88554
88555         * lib/config.charset: Add support for FreeBSD. Improve support for
88556         HP-UX and IRIX 6.
88557
88558 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
88559
88560         * m4/mbswidth.m4: New file.
88561         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
88562
88563 2000-07-15  Jim Meyering  <meyering@lucent.com>
88564
88565         * lib/makepath.c: Include quote.h.
88566         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
88567         corresponding argument in a `quote (...)' call.
88568         Give better diagnostics.
88569
88570         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
88571         (noinst_HEADERS): Add quote.h.
88572
88573         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
88574         from tar's src/misc.c.
88575         * lib/quote.h: New file.  Prototypes for same.
88576
88577 2000-07-14  Paul Eggert  <eggert@twinsun.com>
88578
88579         From a suggestion by Bruno Haible.
88580         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
88581         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
88582         to decide whether to define the BeOS workaround macro;
88583         this adjusts to the change to AC_MBSTATE_T.
88584
88585 2000-07-14  Jim Meyering  <meyering@lucent.com>
88586
88587         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
88588         jm_AC_TYPE_UINTMAX_T.
88589
88590 2000-07-13  Paul Eggert  <eggert@twinsun.com>
88591
88592         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
88593
88594         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
88595         quotearg_buffer_restyled): Add support for
88596         clocale_quoting_style.  Undo previous change to
88597         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
88598         and "{RIGHT QUOTATION MARK}" msgids.
88599
88600 2000-07-10  Paul Eggert  <eggert@twinsun.com>
88601
88602         From a suggestion by Bruno Haible.
88603         * m4/mbstate_t.m4 (AC_MBSTATE_T):
88604         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
88605         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
88606         and mbstate_t, to a single-part test that simply defines mbstate_t.
88607         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
88608         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
88609
88610 2000-07-10  Jim Meyering  <meyering@lucent.com>
88611
88612         * m4/strerror_r.m4: Mirror the correction made in autoconf.
88613
88614         * m4/gnu-source.m4: Output to confdefs.h directly.
88615         Suggestion from Akim Demaille.
88616
88617 2000-07-09  Paul Eggert  <eggert@twinsun.com>
88618
88619         The old behavior of quoting `like this' doesn't look good with
88620         newer, ISO-style fonts.  See:
88621         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
88622
88623         Instead, quote "like this" by default.  Let the translator
88624         tailor the locale-specific quoting behavior by providing
88625         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
88626
88627         * lib/quotearg.c (N_): New macro.
88628         (gettext_default): New function.
88629         (quotearg_buffer_restyled): Use
88630         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
88631         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
88632
88633 2000-07-09  Jim Meyering  <meyering@lucent.com>
88634
88635         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
88636         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
88637
88638         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
88639         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
88640
88641 2000-07-09  Jim Meyering  <meyering@lucent.com>
88642
88643         * lib/Most files: Update copyright dates to include 2000.
88644
88645 2000-07-08  Jim Meyering  <meyering@lucent.com>
88646
88647         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
88648         if not defined.
88649         (xgethostname): Remove now-unnecessary #ifdef.
88650         Move declaration of `err' into loop where it's used.
88651
88652 2000-07-05  Paul Eggert  <eggert@twinsun.com>
88653         and Bruno Haible  <haible@clisp.cons.org>
88654
88655         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
88656         only if the test for an object-type mbstate_t fails.  This
88657         prevents us from mistakenly reporting that mbstate_t is a
88658         system object type after we "#define mbstate_t int" to work
88659         around its lack.
88660
88661 2000-07-05  Paul Eggert  <eggert@twinsun.com>
88662         and Bruno Haible  <haible@clisp.cons.org>
88663
88664         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
88665
88666 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88667
88668         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
88669         to strerror_r.
88670         Include <ctype.h> for use of isalpha.
88671
88672 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88673
88674         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
88675         by allocating a larger buffer. Test the gethostname return value for
88676         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
88677         returns an error and ENAMETOOLONG isn't defined.
88678
88679 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88680
88681         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
88682         dimension.
88683
88684 2000-07-04  Jim Meyering  <meyering@lucent.com>
88685
88686         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
88687         of the deprecated AC_CHECKING.
88688
88689 2000-07-04  Jim Meyering  <meyering@lucent.com>
88690
88691         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
88692         Reported by Bruno Haible.
88693
88694 2000-07-04  Jim Meyering  <meyering@lucent.com>
88695
88696         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
88697         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
88698         lacks mbrtowc.
88699
88700 2000-07-03  Paul Eggert  <eggert@twinsun.com>
88701
88702         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
88703         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
88704
88705 2000-07-03  Paul Eggert  <eggert@twinsun.com>
88706         and Bruno Haible  <haible@clisp.cons.org>
88707
88708         * lib/quotearg.c (mbrtowc):
88709         Assign to *pwc, and return 1 only if result is nonzero.
88710         (iswprint): Use ISPRINT when substituting our own mbrtowc.
88711
88712 2000-07-03  Jim Meyering  <meyering@lucent.com>
88713
88714         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
88715
88716 2000-07-03  Jim Meyering  <meyering@lucent.com>
88717
88718         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
88719         This is necessary to get a definition of e.g., UTMP_FILE on
88720         HP-UX 10.20.
88721         From Bob Proulx.
88722
88723 2000-07-02  Jim Meyering  <meyering@lucent.com>
88724
88725         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
88726
88727         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
88728         AC_LIBOBJ(function_name).
88729         * m4/chown.m4: Likewise.
88730         * m4/fnmatch.m4: Likewise.
88731         * m4/ftruncate.m4: Likewise.
88732         * m4/getgroups.m4: Likewise.
88733         * m4/getline.m4: Likewise.
88734         * m4/group-member.m4: Likewise.
88735         * m4/jm-macros.m4: Likewise.
88736         * m4/lstat.m4: Likewise.
88737         * m4/malloc.m4: Likewise.
88738         * m4/memcmp.m4: Likewise.
88739         * m4/nanosleep.m4: Likewise.
88740         * m4/putenv.m4: Likewise.
88741         * m4/realloc.m4: Likewise.
88742         * m4/regex.m4: Likewise.
88743         * m4/stat.m4: Likewise.
88744         * m4/strftime.m4: Likewise.
88745
88746 2000-07-02  Jim Meyering  <meyering@lucent.com>
88747
88748         * lib/quotearg.c (mbstate_t): Don't define here.
88749
88750 2000-07-02  Jim Meyering  <meyering@lucent.com>
88751
88752         * lib/nanosleep.c (SIGCONT): Define if not already defined.
88753
88754 2000-07-01  Jim Meyering  <meyering@lucent.com>
88755
88756         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
88757
88758 2000-07-01  Jim Meyering  <meyering@lucent.com>
88759
88760         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
88761         problem.
88762
88763 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
88764
88765         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
88766         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
88767
88768 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
88769
88770         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
88771         per change in ../m4/ls-mntd-fs.m4.
88772         (read_filesystem_list): Ignore symbolic links.
88773
88774 2000-06-29  Jim Meyering  <meyering@lucent.com>
88775
88776         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
88777         for declaration of strcmp.
88778
88779         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
88780
88781         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
88782         Avoid warning by casting result to `char *' to remove `const'.
88783
88784 2000-06-28  Jim Meyering  <meyering@lucent.com>
88785
88786         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
88787         included by quotearg.c, for which we perform this test.  From
88788         Bruno Haible.
88789
88790 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
88791
88792         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
88793         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
88794         <utmpx.h> exists, put readutmp.o into LIBOBJS.
88795
88796 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
88797
88798         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
88799
88800 2000-06-26  Paul Eggert  <eggert@twinsun.com>
88801
88802         savedir now sets errno on failure and invokes xmalloc to get memory.
88803         Fix a couple of other minor bugs while we're at it.
88804
88805         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
88806         (NAMLEN): Remove macro.
88807         (malloc, realloc): Remove decls.
88808         (stpcpy): Likewise.
88809         ("xalloc.h"): Include.
88810         (NAME_SIZE_DEFAULT): New macro.
88811         (savedir): Use xmalloc / xrealloc to allocate memory.
88812         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
88813         Skip "" directory entries.
88814         Use strlen to calculate directory entry length, since the old method
88815         is rarely used these days and isn't worth supporting.
88816         Don't use a pointer after freeing it.
88817         Check for integer overflow when calculating allocation size.
88818         Use memcpy to copy entries, instead of stpcpy.
88819         Set errno properly when returning NULL.
88820         Check for readdir error.
88821
88822 2000-06-26  Jim Meyering  <meyering@lucent.com>
88823
88824         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
88825
88826 2000-06-25  Jim Meyering  <meyering@lucent.com>
88827
88828         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
88829         Linux header bug when _XOPEN_SOURCE is defined to 500.
88830
88831 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88832
88833         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
88834         deficiency.
88835
88836 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88837
88838         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
88839         Include xalloc.h.
88840         Don't include <stdlib.h>.  Don't declare malloc, realloc.
88841
88842 2000-06-24  Jim Meyering  <meyering@lucent.com>
88843
88844         * m4/strerror_r.m4: Revive this file -- to try out an experimental
88845         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
88846         for which strerror does return char*, but which lacks a conveniently
88847         accessible declaration of the function.  If the compile-test says
88848         strerror_r doesn't work, then resort to a `run'-test that works on
88849         BeOS and segfaults on DEC Unix.
88850
88851 2000-06-24  Jim Meyering  <meyering@lucent.com>
88852
88853         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
88854
88855 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88856
88857         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
88858         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
88859
88860 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88861
88862         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
88863         (mbrtowc, mbstate_t): Define substitutes if
88864         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
88865         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
88866         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
88867
88868 2000-06-23  Jim Meyering  <meyering@lucent.com>
88869
88870         * m4/afs.m4: Add missing AC_MSG_RESULT.
88871         Reported by Bruno Haible.
88872
88873         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
88874         Suggestion from Bruno Haible.
88875
88876 2000-06-23  Jim Meyering  <meyering@lucent.com>
88877
88878         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
88879
88880 2000-06-21  Jim Meyering  <meyering@lucent.com>
88881
88882         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
88883
88884 2000-06-21  Jim Meyering  <meyering@lucent.com>
88885
88886         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
88887         (noinst_HEADERS): Add getstr.h.
88888
88889         * lib/getline.c (getstr): Move into a separate file.
88890         * lib/getstr.c (getstr): New file, extracted from getline.c, with
88891         the following changes: new parameter, delim2; both delim[12]
88892         parameters have type `int', not `char'.  The latter would lose
88893         with 8-bit delimiters.
88894         * lib/getstr.h: New file.
88895
88896 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88897
88898         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
88899         than 1024, return a memory chunk of least possible size, instead
88900         of size PATH_MAX + 2. In the loop, increment the size proportionally.
88901         Use free/xmalloc instead of xrealloc to avoid copying for very long
88902         paths.
88903
88904 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88905
88906         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
88907         the empty string.
88908
88909 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88910
88911         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
88912         address, not strdup.  Include <stdlib.h> and don't declare free().
88913
88914 2000-06-19  Jim Meyering  <meyering@lucent.com>
88915
88916         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
88917
88918 2000-06-18  Jim Meyering  <meyering@lucent.com>
88919
88920         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
88921
88922         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
88923         `checking whether...' message to be consistent with that of the
88924         lstat test.
88925
88926 2000-06-18  Jim Meyering  <meyering@lucent.com>
88927
88928         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
88929         Besides, these days every porting target provides a mkdir function.
88930
88931         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
88932         needed. (this snippet comes from src/system.h).
88933
88934 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
88935
88936         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
88937
88938 2000-06-15  Paul Eggert  <eggert@twinsun.com>
88939
88940         * lib/human.c (adjust_value): New function.
88941         (human_readable_inexact): Apply rounding style even when
88942         printing approximate values.
88943
88944 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88945
88946         * lib/human.c (human_readable_inexact): Allow an input block
88947         size that is not a multiple of the output block size, and vice versa.
88948         Reported by Piergiorgio Sartor.
88949
88950 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88951
88952         * lib/getdate.y (get_date): Apply relative times after time
88953         zone indicator, not before.  Reported by Todd A. Jacobs.
88954
88955 2000-06-13  Jim Meyering  <meyering@lucent.com>
88956
88957         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
88958
88959         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
88960
88961 2000-06-12  Paul Eggert  <eggert@twinsun.com>
88962
88963         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
88964
88965 2000-06-12  Jim Meyering  <meyering@lucent.com>
88966
88967         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
88968         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
88969         optional argument.
88970         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
88971         the optional argument, `lib'.
88972
88973 2000-06-08  Jim Meyering  <meyering@lucent.com>
88974
88975         * m4/largefile.m4: Remove file (now that it's part of autoconf).
88976
88977 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88978
88979         Rewrite largefile configuration so that we don't need to run
88980         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
88981         AC_CANONICAL_HOST in configure.in -- jmm]
88982
88983         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
88984         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
88985         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
88986         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
88987         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
88988         All uses changed.
88989         Instead of inspecting the output of getconf, try to compile the
88990         test program without and with the macro definition.
88991         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
88992         for getconf.  Instead, check for the needed flags by compiling
88993         test programs.
88994
88995 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88996
88997         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
88998
88999 2000-06-04  Jim Meyering  <meyering@lucent.com>
89000
89001         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
89002         SunOS 4.1.4 for which gid_t is an unsigned type.
89003
89004 2000-06-03  Jim Meyering  <meyering@lucent.com>
89005
89006         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
89007         now that autoconf requires that.
89008
89009         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
89010         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
89011         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
89012
89013 2000-06-03  Jim Meyering  <meyering@lucent.com>
89014
89015         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
89016
89017 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
89018
89019         * m4/glibc21.m4: New file.
89020         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
89021
89022 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
89023
89024         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
89025         newer, don't install charset.alias.
89026         * lib/config.charset: Change the Linux/glibc rules so they become empty
89027         on glibc-2.1 or newer.
89028
89029 2000-06-02  Jim Meyering  <meyering@lucent.com>
89030
89031         * lib/mountlist.c: Back out last change.  Instead, do this...
89032         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
89033         me_dummy member using the same `ignore'-testing code.
89034         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
89035         fs_type strings.
89036         From Mark D. Roth.
89037
89038 2000-05-29  Jim Meyering  <meyering@lucent.com>
89039
89040         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
89041         mounts with the `ignore' attribute.  Based on a patch from
89042         Mark D. Roth.
89043
89044 2000-05-28  Jim Meyering  <meyering@lucent.com>
89045
89046         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
89047         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89048         * m4/stat.m4: Likewise.
89049         * m4/lstat.m4: Likewise.
89050         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
89051
89052         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
89053         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
89054
89055 2000-05-26  Jim Meyering  <meyering@lucent.com>
89056
89057         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
89058
89059 2000-05-24  Jim Meyering  <meyering@lucent.com>
89060
89061         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
89062         autoconf requires that.
89063         * m4/lib-check.m4: Likewise.
89064         * m4/jm-macros.m4: Likewise.
89065         * m4/strftime.m4: Likewise.
89066
89067         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
89068         AC_CHECK_DECLS, now that autoconf requires that.
89069
89070 2000-05-22  Jim Meyering  <meyering@lucent.com>
89071
89072         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89073         * m4/lstat.m4: Likewise.
89074
89075 2000-05-22  Jim Meyering  <meyering@lucent.com>
89076
89077         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
89078
89079 2000-05-20  Jim Meyering  <meyering@lucent.com>
89080
89081         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
89082         (jm_PREREQ): Use it.
89083
89084 2000-05-18  Jim Meyering  <meyering@lucent.com>
89085
89086         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
89087         back, too, since it may have been modified by allocate_entry.
89088         (hash_delete): Rewrite to use neither the assignment operator
89089         nor the comma operator in an if-expression.
89090
89091 2000-05-15  Paul Eggert  <eggert@twinsun.com>
89092
89093         * lib/closeout.c:
89094         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
89095         Remove; no longer needed.
89096         "quotearg.h": Add include.
89097         (file_name): Do not bother to explicitly initialize to NULL; it's less
89098         efficient on some hosts.
89099         (close_stdout_status): Remove test as to whether stdout was already
89100         closed; it breaks for the case "echo x | sort >&-".
89101         Quote file name colons.
89102         Do not assume that _("write error") lacks format strings.
89103
89104 2000-05-15  Jim Meyering  <meyering@lucent.com>
89105
89106         * lib/version-etc.c (version_etc_copyright): Update the copyright
89107         string used in all --version output.
89108
89109 2000-05-14  Jim Meyering  <meyering@lucent.com>
89110
89111         * lib/closeout.c (close_stdout_set_file_name): New function.
89112         (close_stdout_status): Use new file-scoped global.
89113         Return right away if fstat says the stdout file descriptor is invalid.
89114         * lib/closeout.h (close_stdout_set_file_name): Declare.
89115
89116 2000-05-10  Jim Meyering  <meyering@lucent.com>
89117
89118         * lib/closeout.c [default_exit_status]: New file-scoped variable.
89119         (close_stdout_set_status): New function.
89120         * lib/closeout.h (close_stdout_set_status): Declare.
89121
89122 2000-05-09  Jim Meyering  <meyering@lucent.com>
89123
89124         * m4/gettext.m4: Rename this...
89125         * m4/libintl.m4: ...to this.
89126
89127 2000-05-08  Jim Meyering  <meyering@lucent.com>
89128
89129         * lib/long-options.c: Don't include closeout.h.
89130         (parse_long_options): Don't call close_stdout for --version.
89131
89132 2000-05-06  Paul Eggert  <eggert@twinsun.com>
89133
89134         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
89135         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
89136         2.1.3 bug.  This avoids a clash when files like regex.c define
89137         _GNU_SOURCE.
89138
89139 2000-05-06  Jim Meyering  <meyering@lucent.com>
89140
89141         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
89142         (AC_REPLACE_FUNCS): Add strnlen.
89143
89144         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
89145         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
89146
89147         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
89148         AC_SEARCH_LIBS call for nanosleep.
89149         (LIB_NANOSLEEP): Set and AC_SUBST.
89150
89151 2000-05-06  Jim Meyering  <meyering@lucent.com>
89152
89153         * lib/strnlen.c: Undefine __strnlen and strnlen.
89154         [!weak_alias]: Define __strnlen to strnlen.
89155
89156         * lib/atexit.c: New file, from libiberty.
89157
89158 2000-05-06  Jim Meyering  <meyering@lucent.com>
89159
89160         * lib/closeout.c (close_stdout_status): Also check for errors on the
89161         stderr stream.
89162
89163 2000-05-05  Jim Meyering  <meyering@lucent.com>
89164
89165         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
89166         AC_SEARCH_LIBS call for clock_gettime.
89167         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
89168
89169         * m4/search-libs.m4: Update from autoconf.
89170
89171         su doesn't work on Solaris 2.6.
89172         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
89173         <shadow.h>.  Reported by Dragos Harabor.
89174
89175 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
89176
89177         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
89178         memcpy instead of xmalloc, xrealloc, path_concat.
89179         (locale_charset): Treat empty environment variables as absent.
89180         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
89181
89182 2000-05-04  Jim Meyering  <meyering@lucent.com>
89183
89184         * lib/getopt.c: Update from glibc.
89185         * lib/obstack.c: Likewise.
89186         * lib/obstack.h: Likewise.
89187         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
89188         file
89189
89190         * lib/regex.h: Likewise.
89191         * lib/strndup.c: Likewise.
89192         * lib/strnlen.c: New file, from glibc.
89193
89194 2000-05-03  Jim Meyering  <meyering@lucent.com>
89195
89196         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
89197
89198 2000-05-02  Paul Eggert  <eggert@twinsun.com>
89199
89200         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
89201         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
89202         compile-time test, rather than inspecting host and OS, to
89203         decide whether to define _LARGEFILE_SOURCE.
89204
89205 2000-05-01  Jim Meyering  <meyering@lucent.com>
89206
89207         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
89208
89209         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
89210         Based on a patch from Bruno Haible.
89211
89212 2000-05-01  Jim Meyering  <meyering@lucent.com>
89213
89214         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
89215
89216 2000-04-29  Jim Meyering  <meyering@lucent.com>
89217
89218         * lib/path-concat.c: Declare strdup only if it's not defined.
89219         * lib/canon-host.c: Likewise.
89220
89221 2000-04-28  Jim Meyering  <meyering@lucent.com>
89222
89223         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
89224         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
89225         is included first, then limits.h is included by locale.h by libintl.h.
89226         From John David Anglin.
89227
89228 2000-04-25  Jim Meyering  <meyering@lucent.com>
89229
89230         * lib/makepath.c (S_IRWXUGO): Define.
89231         (make_path): Always perform explicit chmod if MODE specifies any
89232         of the `special' permission bits.  Prompted by a bug report against
89233         install from Mate Wierdl and Joost van Baal.
89234
89235 2000-04-18  Jim Meyering  <meyering@lucent.com>
89236
89237         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
89238         (jm_PREREQ): Use it.
89239
89240 2000-04-18  Jim Meyering  <meyering@lucent.com>
89241
89242         * lib/README: New file.
89243
89244         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
89245         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
89246
89247 2000-04-17  Jim Meyering  <meyering@lucent.com>
89248
89249         Get it right :-)
89250         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
89251         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
89252         Suggestion from Akim Demaille.
89253
89254 2000-04-17  Jim Meyering  <meyering@lucent.com>
89255
89256         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
89257         the definition of it to rpl_strftime also defined-away the system's
89258         declaration.
89259
89260 2000-04-15  Jim Meyering  <meyering@lucent.com>
89261
89262         Use `C' to denote so-called `contiguous' files, the same way
89263         that tar does.
89264         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
89265         (ftypelet): Use S_ISCTG.
89266         From Michael Deutschmann.
89267
89268 2000-04-14  Jim Meyering  <meyering@lucent.com>
89269
89270         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
89271         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
89272         clobbered.
89273
89274 2000-04-14  Jim Meyering  <meyering@lucent.com>
89275
89276         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
89277
89278 2000-04-13  Jim Meyering  <meyering@lucent.com>
89279
89280         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
89281         AH_VERBATIM to insert required #ifndef into config.h.in.
89282         Suggestion from Akim Demaille.
89283
89284 2000-04-12  Jim Meyering  <meyering@lucent.com>
89285
89286         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
89287         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
89288         Christian Krackowizer.
89289
89290         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
89291         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
89292         (AC_SYS_LARGEFILE): Require.
89293         (AM_C_PROTOTYPES): Require.
89294
89295 2000-04-08  Jim Meyering  <meyering@lucent.com>
89296
89297         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
89298         names don't conflict.  Reported by Eli Zaretskii.
89299
89300 2000-04-07  Jim Meyering  <meyering@lucent.com>
89301
89302         * lib/putenv.c: Move inclusion of errno.h so it follows that of
89303         sys/types.h, to work around system header problems on AIX 3.2.5.
89304         From Bruno Haible.
89305
89306 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
89307
89308         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
89309         bug.  Deal with the different error behavior of Irix iconv.
89310
89311 2000-04-05  Paul Eggert  <eggert@twinsun.com>
89312
89313         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
89314         IRIX if the installer said otherwise.
89315
89316 2000-04-05  Jim Meyering  <meyering@lucent.com>
89317
89318         Portability tweaks required for ultrix4.3.
89319         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
89320         (jm_CHECK_DECLS): Add getutent to the list of functions.
89321         (_jm_DECL_HEADERS): Add utmpx.h.
89322         From John David Anglin.
89323
89324         * m4/strftime.m4: Back out the 2000-04-02 change.
89325         Instead of that change, simply undefine putenv in the test program.
89326
89327 2000-04-05  Jim Meyering  <meyering@lucent.com>
89328
89329         Portability tweaks required for ultrix4.3.
89330         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
89331         getutent.
89332         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
89333         * lib/canon-host.c: Declare strdup.
89334         * lib/path-concat.c: Likewise.
89335         From John David Anglin.
89336
89337 2000-04-04  Jim Meyering  <meyering@lucent.com>
89338
89339         Be more DOS 8.3-friendly.
89340         * lib/ref-add.sin: Renamed from ref-add.sed.in.
89341         * lib/ref-del.sin: Renamed from ref-del.sed.in.
89342         * lib/Makefile.am: Reflect renaming.
89343         Reported by Eli Zaretskii.
89344
89345         Use a temporary file name that won't clash with `charset.alias'
89346         in the DOS 8.3 name space.
89347         * lib/Makefile.am (charset_tmp): Define.
89348         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
89349         (uninstall-local): Likewise.
89350         Reported by Eli Zaretskii.
89351
89352 2000-04-03  Jim Meyering  <meyering@lucent.com>
89353
89354         * m4/gettext.m4: Fix typo in comment.
89355
89356         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
89357         textutils/configure.in).  Suggestion from Paul Eggert.
89358         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
89359
89360 2000-04-02  Paul Eggert  <eggert@twinsun.com>
89361
89362         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
89363         variable in the shell rather than using putenv, which isn't
89364         portable.  This avoids the configure-time inter-test dependency
89365         on the potentially-renamed putenv function.
89366
89367 2000-03-30  Paul Eggert  <eggert@twinsun.com>
89368
89369         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
89370         before checking struct stat.st_blksize, so that
89371         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
89372
89373 2000-03-29  Paul Eggert  <eggert@twinsun.com>
89374
89375         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
89376         since strftime.c uses HAVE_STRFTIME to decide whether to use
89377         the underlying strftime.
89378
89379 2000-03-29  Paul Eggert  <eggert@twinsun.com>
89380
89381         * lib/time/strftime.c (my_strftime): Make sure we call the system
89382         strftime, not ourselves, when invoking the underlying strftime.
89383
89384 2000-03-24  Jim Meyering  <meyering@lucent.com>
89385
89386         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
89387         (charset_alias): Define.
89388         (install-exec-local): Factor out common code.
89389         (uninstall-local): Split lines longer than 80.
89390         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
89391         (SUFFIXES): Define.
89392         (.sed.in.sed): New rule.  Don't redirect directly to $@.
89393         (CLEANFILES): Add ref-add.sed and ref-del.sed.
89394
89395 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
89396
89397         * lib/config.charset: Output a line containing "Packages using this
89398         file".
89399         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
89400         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
89401         ref-del.sed): New rules.
89402
89403 2000-03-17  Jim Meyering  <meyering@lucent.com>
89404
89405         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
89406         Otherwise, include <strings.h>
89407
89408 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
89409
89410         * lib/unicodeio.c (utf8_wctomb): New function.
89411         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
89412         format instead of in UCS-4 with platform dependent endianness.
89413
89414 2000-03-10  Jim Meyering  <meyering@lucent.com>
89415
89416         * m4/lib-check.m4: Look for getspnam in -lgen, too.
89417         From Marco Franzen.
89418
89419 2000-03-07  Paul Eggert  <eggert@twinsun.com>
89420
89421         * lib/savedir.c (savedir): Work even if directory size is
89422         negative; this can happen with some screwy NFS configurations.
89423
89424 2000-03-06  Jim Meyering  <meyering@lucent.com>
89425
89426         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
89427         if it's NULL (because we ran out of memory).  From Bruno Haible.
89428
89429 2000-03-05  Jim Meyering  <meyering@lucent.com>
89430
89431         * lib/localcharset.c ("path-concat.h"): Include.
89432         (get_charset_aliases): Use path_concat instead of ANSI string
89433         concatenation.
89434
89435         * lib/unicodeio.h (PARAMS): Define.
89436         Use it to guard prototype.
89437
89438 2000-03-04  Jim Meyering  <meyering@lucent.com>
89439
89440         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
89441         for lib/localcharset.c.
89442
89443 2000-03-04  Jim Meyering  <meyering@lucent.com>
89444
89445         * lib/Makefile.am (install-exec-local): Create $(libdir) before
89446         installing into it.
89447         (uninstall-local): Uncomment this rule so `make distcheck' works
89448         once again.
89449
89450         * lib/unicodeio.c (<errno.h>): Include it.
89451         (errno): Declare if not defined.
89452
89453         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
89454
89455         * lib/config.charset: New version, incorporating remarks from a linux
89456         i18n mailing list.  From Bruno Haible.
89457
89458 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
89459
89460         * m4/codeset.m4: New file.
89461         * m4/iconv.m4: New file.
89462         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
89463
89464 2000-03-03  Jim Meyering  <meyering@lucent.com>
89465
89466         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
89467
89468 2000-03-02  Jim Meyering  <meyering@lucent.com>
89469
89470         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
89471         the messages come out on separate lines.
89472
89473         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
89474         rather than jm_CHECK_DECLARATIONS.
89475         * m4/decl.m4: Remove now-unused file.
89476
89477         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
89478         geteuid.
89479
89480 2000-03-02  Jim Meyering  <meyering@lucent.com>
89481
89482         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
89483
89484 2000-03-01  Jim Meyering  <meyering@lucent.com>
89485
89486         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
89487         * lib/unicodeio.c: Likewise.
89488
89489 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
89490
89491         * lib/config.charset: New file.
89492         * lib/localcharset.c: New file.
89493         * lib/unicodeio.h, lib/unicodeio.c: New files.
89494         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
89495         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
89496         (noinst_HEADERS): Add unicodeio.h.
89497         (all-local, install-exec-local, charset.alias): New targets.
89498
89499 2000-02-28  Paul Eggert  <eggert@twinsun.com>
89500
89501         * lib/quotearg.c (ALERT_CHAR): New macro.
89502         (quotearg_buffer_restyled): Use it.
89503
89504 2000-02-27  Jim Meyering  <meyering@lucent.com>
89505
89506         * m4/check-decl.m4: Add getenv to the list.
89507
89508 2000-02-27  Jim Meyering  <meyering@lucent.com>
89509
89510         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
89511         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
89512
89513         * lib/backupfile.c: Guard inclusion of stdlib.h with
89514         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
89515         Declare malloc if needed.
89516
89517         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
89518         `#ifndef HAVE_DECL..'
89519         now that autoconf always defines the HAVE_DECL_ symbols.
89520         * lib/human.c: Likewise.
89521         * lib/same.c: Likewise.
89522         * lib/strtoumax.c: Likewise.
89523
89524         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
89525         declaration check was not run.
89526         * lib/hash.c: Likewise.
89527         * lib/human.c: Likewise.
89528         * lib/same.c: Likewise.
89529         * lib/strtoumax.c: Likewise.
89530
89531         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
89532         `.', then first look up the entire `.'-containing string as a login
89533         name.
89534
89535 2000-02-23  Jim Meyering  <meyering@lucent.com>
89536
89537         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
89538         in place of my hack.
89539
89540 2000-02-18  Paul Eggert  <eggert@twinsun.com>
89541
89542         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
89543         (textint): New typedef.
89544         (parser_control): Member year changed from int to textint.
89545         All uses changed.
89546         (YYSTYPE): Removed; replaced by %union with int and textint members.
89547         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
89548         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
89549         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
89550         (tSNUMBER, tUNUMBER): Now of type <textintval>.
89551         (date, number, to_year): Use width of number in digits, not its value,
89552         to determine whether it's a 2-digit year, or a 2-digit time.
89553         (yylex): Store number of digits of numeric tokens.
89554         Reported by John Kendall.
89555
89556         (parser_control): Changed from struct parser_control to typedef (for
89557         consistency).  All uses changed.
89558
89559         (tID): Removed; not used.
89560         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
89561
89562 2000-02-14  Paul Eggert  <eggert@twinsun.com>
89563
89564         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
89565         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
89566
89567 2000-02-12  Jim Meyering  <meyering@lucent.com>
89568
89569         * lib/userspec.c (ISDIGIT): Define it.
89570         (isdigit): Remove definition.
89571         (is_number): Use ISDIGIT, not isdigit.
89572         <libintl.h>: Include.
89573         (_ and N_): Define.
89574         (parse_user_spec): Mark translatable strings.
89575
89576 2000-02-10  Jim Meyering  <meyering@lucent.com>
89577
89578         With these changes, nanosleep.[ch] are finally enough like the other
89579         lib/* replacement files to compile on a few more losing systems.
89580
89581         * lib/nanosleep.h: Don't include config.h.
89582         Remove prototype from declaration of nanosleep.
89583         (PARAMS): Remove now-unneeded definition.
89584         * lib/nanosleep.c: #undef nanosleep.
89585         (rpl_nanosleep): Rename from nanosleep.
89586
89587 2000-02-10  Jim Meyering  <meyering@lucent.com>
89588
89589         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
89590         gnu_nanosleep to rpl_nanosleep.
89591
89592 2000-02-09  Jim Meyering  <meyering@lucent.com>
89593
89594         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
89595         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
89596
89597 2000-02-08  Akim Demaille  <akim@epita.fr>
89598
89599         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
89600         `[' and `]' and remove uses of `changequote'.
89601         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
89602         (AC_SYS_LARGEFILE): Likewise.
89603         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
89604         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
89605         of changequote.
89606         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
89607         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
89608         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
89609         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
89610
89611 2000-02-05  Jim Meyering  <meyering@lucent.com>
89612
89613         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
89614         Remove explicit use of AC_HEADER_TIME.  It is required by
89615         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
89616         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
89617         in autoconf whereby the expansion of the latter ended up preceding
89618         the expansion of its prerequisite, AC_HEADER_TIME.
89619         Reported by Volker Borchert.
89620
89621 2000-02-03  Jim Meyering  <meyering@lucent.com>
89622
89623         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
89624
89625 2000-02-03  Jim Meyering  <meyering@lucent.com>
89626
89627         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
89628         rather than with `#if HAVE_UTMPNAME'.
89629
89630 2000-02-02  Jim Meyering  <meyering@lucent.com>
89631
89632         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
89633         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
89634         Reported by Eli Zaretskii.
89635
89636 2000-02-01  Jim Meyering  <meyering@lucent.com>
89637
89638         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
89639
89640 2000-01-31  Jim Meyering  <meyering@lucent.com>
89641
89642         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
89643         functions.  Add the time.h and sys/time.h headers along with the
89644         AC_REQUIRE'ment of AC_HEADER_TIME.
89645
89646 2000-01-31  Jim Meyering  <meyering@lucent.com>
89647
89648         * lib/nanosleep.h (nanosleep): Guard declaration with
89649         `#if ! HAVE_DECL_NANOSLEEP'.
89650         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
89651         the declaration in that vendor's sys/timers.h.
89652         Reported by Christian Krackowizer.
89653
89654         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
89655         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
89656         (ISPRINT): Likewise.
89657         Reported by Tom Tromey.
89658
89659 2000-01-30  Jim Meyering  <meyering@lucent.com>
89660
89661         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
89662
89663         * m4/prereq.m4 (utmp_includes): Define.
89664         Check for ut_user and ut_name members in both struct utmpx
89665         and struct utmp.
89666
89667 2000-01-30  Jim Meyering  <meyering@lucent.com>
89668
89669         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
89670         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
89671         header files where only utmpx.ut_user is declared.
89672
89673         * lib/readutmp.h (UT_USER): Define.
89674
89675 2000-01-29  Jim Meyering  <meyering@lucent.com>
89676
89677         * m4/lib-check.m4: New file containing library-related checks from
89678         fileutils and sh-utils (textutils had none).
89679
89680 2000-01-28  Jim Meyering  <meyering@lucent.com>
89681
89682         * m4/perl.m4: Change format of warning message to look more like that
89683         from the missing script.  Suggestion from François Pinard.
89684
89685 2000-01-25  Jim Meyering  <meyering@lucent.com>
89686
89687         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
89688         well as time.h in the compile check.
89689         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
89690         Fix typo in cross-compiling case: s/yes/no/.
89691
89692 2000-01-23  Jim Meyering  <meyering@lucent.com>
89693
89694         * m4/jm-macros.m4: Move df-related tests here from
89695         fileutils/configure.in
89696
89697         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
89698         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
89699
89700         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
89701         s/space/ac_fsusage_space/.
89702         (jm_FILE_SYSTEM_USAGE): Take two parameters.
89703
89704         * m4/ftruncate.m4: New file (derived from part of
89705         fileutils/configure.in).
89706         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
89707         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
89708
89709         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
89710         AC_SUBST these here, rather than just in sh-util/configure.in, so
89711         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
89712         all the same.
89713         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
89714         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
89715         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
89716         (AC_SUBST(POW_LIBM)): Likewise.
89717         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
89718
89719 2000-01-23  Jim Meyering  <meyering@lucent.com>
89720
89721         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
89722         obstack.c.
89723
89724 2000-01-22  Jim Meyering  <meyering@lucent.com>
89725
89726         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
89727
89728         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
89729
89730         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
89731         configure.in
89732         (AC_CHECK_HEADERS): Likewise for sh-utils.
89733         (AC_CHECK_HEADERS): Likewise for textutils.
89734         Merge the three lists of headers.
89735
89736         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
89737         from fileutils' configure.in.
89738
89739         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
89740         code. Moved tests into their own function (_jm_DECL_HEADERS) in
89741         check-decl.m4.
89742
89743         * m4/check-decl.m4: Use #if rather than #ifdef.
89744         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
89745         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
89746         (_jm_DECL_HEADERS): Define new function.
89747         (jm_CHECK_DECLARATIONS): Require it.
89748
89749 2000-01-22  Jim Meyering  <meyering@lucent.com>
89750
89751         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
89752         [! HAVE_DECL_STRTOULL]: Declare strtoull.
89753         Required for some AIX systems.  Reported by Christian Krackowizer.
89754         [TESTING] (main): New function.
89755
89756         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
89757         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
89758         letters.
89759
89760         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
89761         iswprint.
89762
89763         * lib/strverscmp.c (ISDIGIT): Define.
89764         (strverscmp): Use ISDIGIT, not isdigit.
89765
89766 2000-01-19  Jim Meyering  <meyering@lucent.com>
89767
89768         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
89769         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
89770         defines `struct timespec' in <sys/time.h>
89771
89772         * m4/c-bs-a.m4: Remove uses of changequote altogether.
89773         Thanks to Akim for explaining.
89774
89775 2000-01-17  Paul Eggert  <eggert@twinsun.com>
89776
89777         * lib/nanosleep.c (nanosleep):
89778         Don't use SA_INTERRUPT to decide whether to call sigaction, as
89779         POSIX.1 doesn't require SA_INTERRUPT and some systems
89780         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
89781         it's been part of POSIX.1 since day 1 (in 1988).
89782
89783 2000-01-17  Jim Meyering  <meyering@lucent.com>
89784
89785         * lib/interlock: Remove unused file.  Reported by François Pinard.
89786
89787 2000-01-16  Paul Eggert  <eggert@twinsun.com>
89788
89789         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
89790         alert, backslash, formfeed, and vertical tab unnecessarily in
89791         shell quoting style.
89792
89793 2000-01-16  Jim Meyering  <meyering@lucent.com>
89794
89795         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
89796         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
89797         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
89798         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
89799
89800 2000-01-16  Jim Meyering  <meyering@lucent.com>
89801
89802         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
89803         because the latter didn't work.
89804
89805 2000-01-15  Jim Meyering  <meyering@lucent.com>
89806
89807         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
89808         (AC_REPLACE_FUNCS): Add memcpy and memset.
89809         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
89810         Add strpbrk.
89811         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
89812
89813 2000-01-12  Jim Meyering  <meyering@lucent.com>
89814
89815         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
89816         (jm_PREREQ): Use it.
89817         (jm_PREREQ_READUTMP): New macro.
89818         (jm_PREREQ): Use it.
89819
89820 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89821
89822         Quote multibyte characters correctly.
89823         * m4/c-bs-a.m4: New file.
89824         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
89825         (jm_PREREQ): Use it.
89826
89827 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89828
89829         * m4/uintmax_t.m4: Port to autoconf 2.13.
89830
89831 2000-01-08  Jim Meyering  <meyering@ascend.com>
89832
89833         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
89834         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
89835
89836 2000-01-04  Jim Meyering  <meyering@ascend.com>
89837
89838         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
89839         jm_STRUCT_DIRENT_D_TYPE.
89840         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
89841         jm_STRUCT_DIRENT_D_INO.
89842         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
89843         jm_STRUCT_UTIMBUF.
89844         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
89845         renamings.
89846         * m4/utime.m4: Likewise.
89847
89848         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
89849         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
89850
89851 2000-01-03  Paul Eggert  <eggert@twinsun.com>
89852
89853         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
89854         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
89855
89856 2000-01-02  Jim Meyering  <meyering@ascend.com>
89857
89858         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
89859         remember if this is necessary.
89860
89861 1999-12-26  Jim Meyering  <meyering@ascend.com>
89862
89863         * m4/jm-macros.m4: Use it here.
89864         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
89865
89866 1999-12-23  Jim Meyering  <meyering@ascend.com>
89867
89868         * m4/jm-macros.m4: Check for clock_gettime (moved from
89869         fileutils/configure.in)
89870         Check for gettimeofday.
89871
89872 1999-12-20  Jim Meyering  <meyering@ascend.com>
89873
89874         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
89875         autoconf-2.14a-1999-12-20.
89876
89877 1999-12-19  Jim Meyering  <meyering@ascend.com>
89878
89879         * m4/lstat-slash.m4: New file.
89880         * m4/jm-macros.m4: Use the new macro:
89881         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89882
89883 1999-12-07  Jim Meyering  <meyering@ascend.com>
89884
89885         * m4/perl.m4: Require that File::Compare be available, too.
89886         Too many systems seem to lack it.
89887
89888         * m4/strftime.m4: Add checks for most of the cpp macros tested in
89889         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
89890
89891 1999-11-18  Paul Eggert  <eggert@twinsun.com>
89892
89893         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
89894         problem with the QNX 4.25 shell, which doesn't propagate exit
89895         status of failed commands inside shell assignments.
89896
89897 1999-11-17  Jim Meyering  <meyering@ascend.com>
89898
89899         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
89900
89901 1999-11-07  Jim Meyering  <meyering@ascend.com>
89902
89903         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
89904
89905 1999-11-06  Jim Meyering  <meyering@ascend.com>
89906
89907         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
89908         * m4/jm-macros.m4 (jm_MACROS): Use it here.
89909
89910 1999-11-05  Jim Meyering  <meyering@ascend.com>
89911
89912         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
89913         configure.in of textutils, fileutils, and sh-utils into this one
89914         (shared between those packages) file.
89915         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
89916         AC_STRUCT_ST_BLKSIZE.
89917
89918 1999-11-03  Jim Meyering  <meyering@ascend.com>
89919
89920         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
89921         of AC_CHECK_TYPE checks includes unistd.h.
89922         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
89923         Suggestion from Akim Demaille.
89924
89925 1999-10-30  Jim Meyering  <meyering@ascend.com>
89926
89927         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
89928         m4-quoted string.
89929         * m4/ls-mntd-fs.m4: Likewise.
89930         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
89931         * m4/jm-winsz1.m4: Likewise.
89932
89933         * m4/const.m4: Remove file, since the fix made it into the experimental
89934         version of autoconf.
89935         * m4/mktime.m4: Likewise.
89936
89937         * m4/check-type.m4: Remove file, now that the latest version of
89938         AC_CHECK_TYPE takes a third arg to specify additional #includes.
89939
89940         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
89941         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
89942         AC_CHECK_TYPE.
89943
89944 1999-10-04  Jim Meyering  <meyering@ascend.com>
89945
89946         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
89947
89948 1999-09-22  Paul Eggert  <eggert@twinsun.com>
89949
89950         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
89951         2.95.1 bug with HP-UX 10.20.
89952
89953 1999-09-17  Jim Meyering  <meyering@ascend.com>
89954
89955         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
89956         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
89957         due to missing strdup (against sh-utils-2.0).
89958
89959 1999-08-29  Jim Meyering  <meyering@ascend.com>
89960
89961         * m4/jm-macros.m4: Require jm_BISON.
89962         * m4/bison.m4: New file.
89963
89964 1999-08-17  Paul Eggert  <eggert@twinsun.com>
89965
89966         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
89967         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
89968
89969 1999-08-05  Jim Meyering  <meyering@ascend.com>
89970
89971         * m4/getline.m4: Rename test file from conftestdata to conftest.data
89972         to avoid conflicts with `conftest' on 8+3 filesystems.
89973         Suggestion from Eli Zaretskii.
89974
89975 1999-08-04  Jim Meyering  <meyering@ascend.com>
89976
89977         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
89978         fileutils and sh-utils (textutils's getline test was inadequate).
89979         (AM_FUNC_GETLINE): Run this test.
89980         (AC_CHECK_FUNCS): Check for getdelim.
89981         Reported by Bob Proulx.
89982
89983 1999-08-02  Jim Meyering  <meyering@ascend.com>
89984
89985         * m4/jm-macros.m4: Add a comment.
89986
89987 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89988
89989         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
89990         <inttypes.h> defines strtoumax as a macro (and not as a
89991         function).
89992
89993 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89994
89995         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
89996         that we can shift, multiply and divide unsigned long long
89997         values; Ultrix cc can't do it.
89998
89999 1999-08-01  Paul Eggert  <eggert@twinsun.com>
90000
90001         * m4/mktime.m4: New file, which is a preview of what should appear
90002         in the next public autoconf release.
90003
90004 1999-08-01  Paul Eggert  <eggert@twinsun.com>
90005
90006         * m4/lfs.m4: Remove this file.
90007         * m4/largefile.m4: New file.  It contains the old contents of
90008         lfs.m4, except that all names with prefix AC_LFS have been
90009         changed to use the prefix AC_SYS_LARGEFILE instead, to be
90010         compatible with future autoconf versions.  Also, some minor m4
90011         quoting problems have been fixed.
90012
90013 1999-08-01  Paul Eggert  <eggert@twinsun.com>
90014
90015         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
90016         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
90017         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
90018         and simplify the shell code.
90019
90020 1999-08-01  Jim Meyering  <meyering@ascend.com>
90021
90022         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
90023         m4.
90024
90025 1999-07-20  Jim Meyering  <meyering@ascend.com>
90026
90027         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
90028
90029 1999-07-15  Jim Meyering  <meyering@ascend.com>
90030
90031         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
90032
90033 1999-05-22  Jim Meyering  <meyering@ascend.com>
90034
90035         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
90036
90037 1999-05-20  Jim Meyering  <meyering@ascend.com>
90038
90039         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
90040         Add a colon after each `then' in case $4 is empty.
90041
90042 1999-05-16  Jim Meyering  <meyering@ascend.com>
90043
90044         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
90045
90046 1999-05-10  Jim Meyering  <meyering@ascend.com>
90047
90048         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
90049
90050         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
90051         AC_FUNC_MKTIME.
90052
90053 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
90054
90055         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
90056
90057 1999-05-04  Paul Eggert  <eggert@twinsun.com>
90058
90059         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
90060         not CPPFLAGS, so that linking works correctly in IRIX.
90061
90062 1999-04-30  Paul Eggert  <eggert@twinsun.com>
90063
90064         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
90065
90066 1999-04-20  Paul Eggert  <eggert@twinsun.com>
90067
90068         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
90069         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
90070         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
90071         jm_AC_TYPE_UNSIGNED_LONG_LONG.
90072         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
90073
90074         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
90075
90076 1999-04-20  Jim Meyering  <meyering@ascend.com>
90077
90078         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
90079         AC_REPLACE xstroull if necessary.  From Paul Eggert.
90080         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
90081
90082 1999-04-18  Jim Meyering  <meyering@ascend.com>
90083
90084         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
90085         * m4/jm-macros.m4: Use it.
90086
90087 1999-04-06  Jim Meyering  <meyering@ascend.com>
90088
90089         * m4/strftime.m4: Remove test for %f.
90090
90091 1999-03-29  Jim Meyering  <meyering@ascend.com>
90092
90093         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
90094         superset of the AC_TYPE_* checks in the textutils, fileutils,
90095         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
90096         AC_TYPE_PID_T.
90097
90098 1999-03-28  Jim Meyering  <meyering@ascend.com>
90099
90100         * m4/jm-macros.m4: Define GNU_PACKAGE here.
90101         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
90102         replaced e.g., in the *.sh files of the sh-utils.
90103
90104 1999-03-20  Jim Meyering  <meyering@ascend.com>
90105
90106         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
90107         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
90108         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
90109
90110 1999-03-19  Jim Meyering  <meyering@ascend.com>
90111
90112         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
90113
90114 1999-03-12  Jim Meyering  <meyering@ascend.com>
90115
90116         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
90117
90118 1999-03-07  Jim Meyering  <meyering@ascend.com>
90119
90120         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
90121         declared.
90122
90123 1999-02-17  Jim Meyering  <meyering@ascend.com>
90124
90125         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
90126         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
90127
90128 1999-02-07  Jim Meyering  <meyering@ascend.com>
90129
90130         * m4/group-member.m4: New file -- extracted from sh-utils'
90131         configure.in.
90132
90133         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
90134         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
90135
90136 1999-02-06  Jim Meyering  <meyering@ascend.com>
90137
90138         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
90139         * m4/fnmatch.m4: Likewise.
90140         * m4/getgroups.m4: Likewise.
90141         * m4/lstat.m4: Likewise.
90142         * m4/malloc.m4: Likewise.
90143         * m4/putenv.m4: Likewise.
90144         * m4/realloc.m4: Likewise.
90145         * m4/regex.m4: Likewise.
90146         * m4/stat.m4: Likewise.
90147         * m4/strftime.m4: Likewise.
90148         Suggestion from Alain Magloire.
90149
90150         * m4/chown.m4: Use `.$ac_objext', not `.o'.
90151         * m4/fnmatch.m4: Likewise.
90152         * m4/getgroups.m4: Likewise.
90153         * m4/getline.m4: Likewise.
90154         * m4/lstat.m4: Likewise.
90155         * m4/malloc.m4: Likewise.
90156         * m4/memcmp.m4: Likewise.
90157         * m4/putenv.m4: Likewise.
90158         * m4/realloc.m4: Likewise.
90159         * m4/regex.m4: Likewise.
90160         * m4/stat.m4: Likewise.
90161         * m4/strftime.m4: Likewise.
90162         Suggestion from Alain Magloire.
90163
90164         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
90165         an argument.
90166
90167         * m4/regex.m4: Add a run-time Test for proper operation of
90168         re_compile_pattern.
90169
90170 1999-01-31  Jim Meyering  <meyering@ascend.com>
90171
90172         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
90173
90174 1999-01-30  Jim Meyering  <meyering@ascend.com>
90175
90176         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
90177
90178         * m4/jm-mktime.m4: Make this a wrapper around the official
90179         AM_FUNC_MKTIME rather than my private copy, now that the official one
90180         is up to date.
90181         * m4/mktime.m4: Remove file.
90182
90183         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
90184         * m4/uptime.m4: Likewise.
90185         * m4/uintmax_t.m4: Likewise.
90186
90187 1999-01-28  Jim Meyering  <meyering@ascend.com>
90188
90189         * m4/jm-macros.m4: Use jm_AFS.
90190         * m4/afs.m4: New file (from fileutils' configure.in).
90191
90192         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
90193         * m4/chown.m4: Likewise.
90194         * m4/d-ino.m4: Likewise.
90195         * m4/d-type.m4: Likewise.
90196         * m4/fnmatch.m4: Likewise.
90197         * m4/getgroups.m4: Likewise.
90198         * m4/gettext.m4: Likewise.
90199         * m4/jm-mktime.m4: Likewise.
90200         * m4/jm-winsz2.m4: Likewise.
90201         * m4/lcmessage.m4: Likewise.
90202         * m4/ls-mntd-fs.m4: Likewise.
90203         * m4/malloc.m4: Likewise.
90204         * m4/memcmp.m4: Likewise.
90205         * m4/putenv.m4: Likewise.
90206         * m4/realloc.m4: Likewise.
90207         * m4/st_mtim.m4: Likewise.
90208         * m4/strftime.m4: Likewise.
90209
90210 1999-01-16  Jim Meyering  <meyering@ascend.com>
90211
90212         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
90213         (ARGMATCH_DIE_DECL): Define.
90214
90215 1999-01-12  Jim Meyering  <meyering@ascend.com>
90216
90217         * m4/Makefile.am.in: Rewrite to avoid using fmt.
90218         Reported by Lars Hecking.
90219
90220 1999-01-10  Jim Meyering  <meyering@ascend.com>
90221
90222         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
90223         gross kludge.
90224         * m4/inttypes_h.m4: Likewise.
90225         * m4/lstat.m4: Likewise.
90226         * m4/malloc.m4: Likewise.
90227         * m4/readdir.m4: Likewise.
90228         * m4/realloc.m4: Likewise.
90229         * m4/st_dm_mode.m4: Likewise.
90230         * m4/stat.m4: Likewise.
90231         * m4/utimbuf.m4: Likewise.
90232         * m4/utimes.m4: Likewise.
90233
90234         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
90235         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
90236         comments in config.h.in are meaningful.
90237
90238         * m4/jm-macros.m4: Require autoconf-2.13 here.
90239
90240         * m4/regex.m4: By default, don't use the included regex.c on systems
90241         with glibc 2.  Suggestion from Uli Drepper.
90242
90243 1999-01-02  Jim Meyering  <meyering@ascend.com>
90244
90245         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
90246
90247 1998-12-18  Jim Meyering  <meyering@ascend.com>
90248
90249         * m4/Makefile.am.in (Makefile.am): Simplify rule.
90250         Based on a suggestion from Lars Hecking.
90251
90252 1998-11-16  Paul Eggert  <eggert@twinsun.com>
90253
90254         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
90255
90256 1998-11-16  Jim Meyering  <meyering@ascend.com>
90257
90258         * m4/lfs.m4: Double-quote the `uname...` expression.
90259
90260 1998-11-14  Jim Meyering  <meyering@ascend.com>
90261
90262         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
90263         * m4/stat.m4: Likewise.
90264
90265 1998-11-03  Jim Meyering  <meyering@ascend.com>
90266
90267         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
90268         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
90269
90270 1998-10-18  Jim Meyering  <meyering@ascend.com>
90271
90272         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
90273
90274 1998-10-17  Jim Meyering  <meyering@ascend.com>
90275
90276         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
90277         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
90278         calls for those previously hard-coded headers.  Instead, take a new
90279         parameter.
90280         (jm_CHECK_DECLARATIONS): Reflect interface change.
90281         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
90282         (jm_CHECK_DECL_LOCALTIME_R): New macro.
90283
90284         * m4/mktime.m4: Test for spring-forward gap before long-running test.
90285
90286 1998-10-14  Jim Meyering  <meyering@ascend.com>
90287
90288         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
90289         instead of "TZ=America/Vancouver".  From Paul Eggert.
90290
90291 1998-10-11  Jim Meyering  <meyering@ascend.com>
90292
90293         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
90294         This adds a test for a recently added compatibility fix for mktime.c.
90295         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
90296
90297 1998-09-27  Jim Meyering  <meyering@ascend.com>
90298
90299         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
90300
90301         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
90302         ../configure.in, including a change from Gordon Matzigkeit to allow
90303         cross-compiling for the Hurd.
90304
90305         * m4/glibc.m4: New file/macro to test for the GNU C Library
90306         versions 1 and 2.  From Gordon Matzigkeit.
90307         Indent.
90308
90309 1998-09-21  Jim Meyering  <meyering@ascend.com>
90310
90311         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
90312
90313 1998-08-18  Paul Eggert  <eggert@twinsun.com>
90314
90315         Port nanosecond-resolution times to UnixWare 2.1.2 and
90316         pedantic Solaris 2.6.
90317
90318         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
90319         AC_STRUCT_ST_MTIM.
90320         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
90321         Generate name of ns member, instead of just 1 or undef.
90322         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
90323
90324 1998-08-15  Jim Meyering  <meyering@ascend.com>
90325
90326         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
90327         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
90328         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
90329         instead of jm_TYPE_SSIZE_T.
90330
90331 1998-08-12  Jim Meyering  <meyering@ascend.com>
90332
90333         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
90334
90335 1998-08-02  Jim Meyering  <meyering@ascend.com>
90336
90337         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
90338         in acconfig.h manually.
90339
90340 1998-07-31  Paul Eggert  <eggert@twinsun.com>
90341
90342         * m4/st_mtim.m4: New file.
90343
90344 1998-07-28  Jim Meyering  <meyering@ascend.com>
90345
90346         * m4/utimes.m4: Undef stat.
90347
90348 1998-07-25  Jim Meyering  <meyering@ascend.com>
90349
90350         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
90351         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
90352
90353 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
90354
90355         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
90356         uid and gid actually remain unchanged.
90357
90358 1998-07-07  Jim Meyering  <meyering@ascend.com>
90359
90360         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
90361
90362 1998-07-04  Jim Meyering  <meyering@ascend.com>
90363
90364         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
90365         to prove that this macro can be used in packages without regex.c.
90366
90367 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
90368
90369         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
90370         is to be used.
90371
90372 1998-07-03  Jim Meyering  <meyering@ascend.com>
90373
90374         * m4/gettext.m4: Add -lintl if it's found to be necessary.
90375
90376         * m4/gettext.m4: New file -- from gettext-0.10.35.
90377         * m4/lcmessage.m4: Likewise.
90378         * m4/progtest.m4: Likewise.
90379
90380         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
90381         * m4/jm-macros.m4: Require the new macro.
90382
90383 1998-06-29  Jim Meyering  <meyering@ascend.com>
90384
90385         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
90386         for the definition of NGROUPS (used in a system header included
90387         by sys/mount.h).
90388
90389 1998-06-28  Jim Meyering  <meyering@ascend.com>
90390
90391         * m4/ls-mntd-fs.m4: New file.
90392         * m4/fstypename.m4: New file.
90393
90394         * m4/jm-macros.m4: Require the new macro.
90395         * m4/jm-glibc-io.m4: New file.
90396
90397 1998-05-19  Jim Meyering  <meyering@ascend.com>
90398
90399         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
90400         * m4/lchown.m4: New file.
90401
90402         * m4/Makefile.am.in: New file.
90403         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
90404
90405 1998-05-14  Jim Meyering  <meyering@ascend.com>
90406
90407         * m4/Makefile.am (EXTRA_DIST): Add them.
90408         * m4/jm-macros.m4: New file.
90409         * m4/utimbuf.m4: New file.
90410
90411 1998-05-12  Jim Meyering  <meyering@ascend.com>
90412
90413         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
90414
90415 1998-05-11  Jim Meyering  <meyering@ascend.com>
90416
90417         * m4/isc-posix.m4: New file.
90418
90419 1998-05-10  Jim Meyering  <meyering@ascend.com>
90420
90421         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
90422
90423 1998-05-09  Jim Meyering  <meyering@ascend.com>
90424
90425         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
90426         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
90427         with automake.
90428
90429         * m4/ssize_t.m4: New file.
90430         * m4/mktime.m4: Remove file -- the new automake has this now.
90431
90432 1998-04-26  Jim Meyering  <meyering@ascend.com>
90433
90434         * m4/assert.m4: New file.
90435         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
90436
90437 1998-04-05  Jim Meyering  <meyering@ascend.com>
90438
90439         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
90440         (jm_PREREQ): Use it here.
90441
90442 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
90443
90444         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
90445         in acconfig.h.
90446
90447 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
90448
90449         * m4/prereq.m4: New file.
90450         * m4/error.m4: New file.
90451         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
90452
90453 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
90454
90455         * m4/getline.m4: Don't set am_cv_func_working_getline before the
90456         cache-check for the same variable -- that defeated the purpose of
90457         the test; the test program was never run.  This was a problem only
90458         on systems with losing getline functions -- HP-UX 10.20 is one.
90459         Reported by Bjorn Helgaas.
90460
90461 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
90462
90463         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
90464
90465 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
90466
90467         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
90468
90469         * m4/const.m4: New file.  Use an initializer in this declaration
90470         typedef int charset[2]; const charset x;
90471         Reported by Bob Glickstein.
90472
90473 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
90474
90475         * m4/chown.m4: Fix reversed types on -1 args to chown.
90476         From Kaveh Ghazi.
90477
90478 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
90479
90480         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
90481         Add lseek and memchr.
90482
90483         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
90484         T.E.Dickey <dickey@clark.net> said that some older preprocessors
90485         have a 20-character limit on names.
90486
90487 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
90488
90489         * m4/inttypes_h.m4: New file.
90490         * m4/uintmax_t.m4: New file.
90491         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
90492
90493
90494         -----
90495
90496         Local Variables:
90497         coding: utf-8
90498         End:
90499
90500         Copyright (C) 1997-2011 Free Software Foundation, Inc.
90501
90502         Copying and distribution of this file, with or without
90503         modification, are permitted provided the copyright notice
90504         and this notice are preserved.