sethostname tests: Fix link error on mingw.
[gnulib.git] / ChangeLog
1 2011-12-03  Bruno Haible  <bruno@clisp.org>
2
3         sethostname tests: Fix link error on mingw.
4         * tests/test-sethostname1.c: New file, extracted from
5         tests/test-sethostname.c.
6         * tests/test-sethostname2.c: New file, extracted from
7         tests/test-sethostname.c.
8         * tests/test-sethostname.c: Remove file.
9         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
10         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
11         (Depends-on): Add gethostname.
12         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
13         Link the latter with $(GETHOSTNAME_LIB).
14
15         sethostname tests: Fix compilation error on mingw.
16         * tests/test-sethostname.c: Don't include <sys/types.h>.
17         (geteuid): Use a dummy value without uid_t.
18         * modules/sethostname-tests (Depends-on): Remove sys_types.
19
20         sethostname tests: Avoid a gcc warning.
21         * tests/test-sethostname.c (main): Remove an unused variable.
22
23         Tweak last commit.
24         * modules/sethostname-tests (Files): Sort by decreasing importance.
25         (configure.ac): Check for geteuid.
26         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
27         the test when there's nothing to test. Drop an unnecessary cast.
28         Improve an error message. Verify that the final sethostname() call
29         succeeds.
30
31 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
32
33         Add a test suite for the sethostname module.
34         * modules/sethostname-tests: New file.  A test program
35         for the sethostname module.
36         * tests/test-sethostname.c: Likewise.
37
38 2011-12-03  Bruno Haible  <bruno@clisp.org>
39
40         Tweak last commit.
41         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
42         Fix preprocessor directives indentation. Fix typos.
43         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
44         * modules/unistd (Makefile): Likewise.
45
46 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
47
48         Integrate the sethostname module into unistd.
49         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
50         into the unistd.h header.
51         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
52         preprocessor directives.
53         * modules/unistd: Setup the Makefile substitutions of the
54         SETHOSTNAME preprocessor directives.
55
56 2011-12-03  Bruno Haible  <bruno@clisp.org>
57
58         Tweak last commit.
59         * lib/sethostname.c: Don't include <string.h>.
60         (sethostname): No need to copy the argument string to the stack. Don't
61         call clearerr. Preserve errno when fprintf failed.
62         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
63         Don't invoke AC_REPLACE_FUNCS.
64         * modules/sethostname (Link): Remove empty section.
65         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
66         failure problem.
67
68 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
69
70         New module 'sethostname'.
71         * lib/sethostname.c (sethostname): New file.  Provide sethostname
72         for systems that lack it.
73         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
74         sethostname declaration and function.
75         * modules/sethostname: New file.  Define the sethostname module.
76
77 2011-12-03  Bruno Haible  <bruno@clisp.org>
78
79         Tweak last commit.
80         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
81
82 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
83
84         Split the HOST_NAME_MAX detection into a separate m4 macro.
85         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
86         macro so it can be used by the pending sethostname module.
87
88 2011-12-03  Bruno Haible  <bruno@clisp.org>
89
90         Fix module descriptions syntax.
91         * modules/argv-iter (License): Fix syntax.
92         * modules/di-set (License): Likewise.
93         * modules/ino-map (License): Likewise.
94         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
95
96 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
97
98         stdalign: port to Clang 3.0
99         Problem reported by Simon Josefsson in
100         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
101         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
102         which has <stdalign.h> but which does not define alignof.
103         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
104
105 2011-12-01  Eric Blake  <eblake@redhat.com>
106
107         mktempd: silence dd usage
108         * build-aux/mktempd (rand_bytes): Silence dd.
109
110 2011-11-30  Simon Josefsson  <simon@josefsson.org>
111
112         manywarnings: Don't mention gcc version in docstring.
113         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
114         Jim Meyering <meyering@redhat.com>.
115
116 2011-11-30  Jim Meyering  <meyering@redhat.com>
117
118         hash: mark a few floating point constants with "f" suffix
119         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
120         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
121         floating point constants with "f", since they're destined to be
122         saved/used as "float"s.
123
124 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
125
126         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
127         * tests/test-float.c (test_long_double): Correct and re-enable the
128         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
129
130 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
131
132         Avoid subtracting two pointers that don't point into the same block.
133         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
134         only pointers into the same memory block are subtracted. We cannot
135         assume that sizeof (ptrdiff_t) == sizeof (void *).
136
137 2011-11-29  Eric Blake  <eblake@redhat.com>
138
139         maint.mk: add syntax check for use of compare from init.sh
140         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
141         moved here from coreutils.
142
143         manywarnings: drop -Wunsuffixed-float-constants
144         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
145         '1.0D', which is the only way to silence this warning for 'double'.
146
147 2011-11-29  Jim Meyering  <meyering@redhat.com>
148
149         hash: mark compute_bucket_size with the pure attribute
150         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
151
152         quotearg, propername: correct pragma guard expression
153         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
154         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
155
156 2011-11-28  Jim Meyering  <meyering@redhat.com>
157
158         propername: do not mark proper_name with the const attribute
159         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
160         since it examines data pointed to by its parameter.
161         * lib/propername.c (proper_name): Instead, add a pragma to suppress
162         the suggestion from -Wsuggest-attribute=const.
163
164         propername: mark one more function as const
165         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
166
167 2011-11-27  Jim Meyering  <meyering@redhat.com>
168
169         mark functions with const and pure attributes
170
171         Mark functions per suggestions from gcc-4.6 when using these options:
172         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
173         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
174         Follow these guidelines: when possible, apply the attribute to
175         an extern declaration, not to its definition.  Apply it to the
176         definition only when the definition is static.
177         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
178         * lib/argv-iter.h (argv_iter_n_args): Likewise.
179         * lib/base64.h (isbase64): Likewise.
180         * lib/basename-lgpl.c (last_component, base_len): Likewise.
181         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
182         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
183         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
184         (c_tolower, c_toupper): Likewise.
185         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
186         * lib/chdir-long.c (find_non_slash): Likewise.
187         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
188         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
189         * lib/file-type.h (file_type): Likewise.
190         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
191         * lib/filevercmp.c (verrevcmp): Likewise.
192         * lib/freadahead.h (freadahead): Likewise.
193         * lib/fts.c (fts_maxarglen): Likewise.
194         * lib/hash-pjw.h (hash_pjw): Likewise.
195         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
196         * lib/hash.c (is_prime, next_prime): Likewise.
197         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
198         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
199         (hash_table_ok, hash_get_first, hash_string): Likewise.
200         (compute_bucket_size): Likewise.
201         * lib/i-ring.h (i_ring_empty): Likewise.
202         * lib/isnan.c (isnanl): Likewise.
203         * lib/math.h (isnanl, rpl_isnanl): Likewise.
204         * lib/memcasecmp.h (memcasecmp): Likewise.
205         * lib/memchr2.h (memchr2): Likewise.
206         * lib/memcmp2.h (memcmp2): Likewise.
207         * lib/parse-datetime.y (lookup_zone): Likewise.
208         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
209         [!WINDOWS_SOCKETS]: Likewise.
210         * lib/strnlen1.h (strnlen1): Likewise.
211         * lib/uniwidth.in.h (uc_width): Likewise.
212         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
213         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
214         (quoting_options_from_style): Add a comment.
215         * lib/propername.h (proper_name): Add a comment.
216
217 2011-11-27  Bruno Haible  <bruno@clisp.org>
218
219         Remove unused macros from !_LIBC code in glibc-borrowed files.
220         * lib/fnmatch.c (STRCOLL): Remove macro.
221         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
222         * lib/glob.c (__stat, __readdir64): Remove macros.
223         * lib/tempname.c (__open64, __xstat64): Remove macros.
224         Suggested by Paul Eggert.
225
226 2011-11-27  Bruno Haible  <bruno@clisp.org>
227
228         getcwd: Fix link error on MSVC 9.
229         * modules/getcwd (Depends-on): Add readdir, rewinddir.
230
231 2011-11-27  Bruno Haible  <bruno@clisp.org>
232
233         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
234         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
235         HAVE_OPENDIR is 0.
236         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
237         HAVE_CLOSEDIR is 0.
238         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
239         is 0.
240         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
241
242 2011-11-27  Bruno Haible  <bruno@clisp.org>
243
244         getcwd: Fix bug from 2011-08-17.
245         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
246         platforms that need it.
247         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
248         code of 4 to be a failure, not a success. This ensures that
249         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
250
251 2011-11-27  Bruno Haible  <bruno@clisp.org>
252
253         binary-io tests: Avoid test failure on mingw when libtool is used.
254         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
255         Don't verify the size of t-bin-out1.tmp here.
256         * tests/test-binary-io.sh: Verify it here.
257         Reported by Simon Josefsson.
258
259 2011-11-26  Bruno Haible  <bruno@clisp.org>
260
261         Fix conflict between two instantiations of module 'unistd'.
262         * gnulib-tool (func_emit_autoconf_snippet): Substitute
263         ${include_guard_prefix} also in the autoconf snippet.
264         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
265         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
266         GNULIB_UNISTD_H_GETOPT.
267         * modules/getopt-posix (configure.ac): Set the
268         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
269         * modules/getopt-gnu (configure.ac): Likewise.
270         * modules/unistd (Makefile.am): Change the substitution value of
271         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
272         Reported by Simon Josefsson.
273
274 2011-11-25  Bruno Haible  <bruno@clisp.org>
275
276         pagealign_alloc: Doc and comments.
277         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
278         module.
279         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
280
281 2011-11-25  Jim Meyering  <meyering@redhat.com>
282
283         test-update-copyright.sh: avoid false-positive failure
284         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
285         around false positive failure on Cygwin/Windows.  The latter was
286         matching erroneously-created files with names like
287         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
288
289 2011-11-25  Simon Josefsson  <simon@josefsson.org>
290
291         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
292         * m4/valgrind-tests.m4: Check that the parameters that will be
293         used works, not just a subset of them.  Reported by Bruno Haible
294         <bruno@clisp.org>.
295
296 2011-11-24  Jim Meyering  <meyering@redhat.com>
297
298         test-stdalign.c: comment out long double tests
299         * tests/test-stdalign.c: Don't try to reduce alignment of long double
300         variables.  That provokes errors like this from gcc-4.7.0 20111124:
301         error: '_Alignas' specifiers cannot reduce alignment of \
302         'static_longdouble_alignas'.
303
304 2011-11-22  Jim Meyering  <meyering@redhat.com>
305
306         init.sh: make "compare /dev/null FILE" output more readable
307         * tests/init.sh (compare_): Document the preferred order of arguments.
308         (emit_diff_u_header_): New function.
309         (compare_dev_null_): Emit a simulated diff, rather than just the
310         contents of the unexpected file.  Suggestion from Bruno Haible.
311
312 2011-11-21  Jim Meyering  <meyering@redhat.com>
313             Eric Blake  <eblake@redhat.com>
314
315         init.sh: work around OSF/1 5.1's mishandling of /dev/null
316         * tests/init.sh: Make our compare function slightly more portable.
317         Reported by Bruno Haible in
318         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
319
320 2011-11-21  Simon Josefsson  <simon@josefsson.org>
321
322         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
323         before using it, in code that ends up in config.h.
324
325 2011-11-20  Bruno Haible  <bruno@clisp.org>
326
327         getcwd: Work around getcwd bug on AIX 5..7.
328         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
329         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
330         Use a different value for gl_cv_func_getcwd_path_max. Move the
331         definition of HAVE_PARTLY_WORKING_GETCWD from here...
332         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
333         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
334         Define HAVE_MINIMALLY_WORKING_GETCWD.
335         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
336         where it is not even minimally working, that is, on AIX.
337         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
338         m4/getcwd-path-max.m4.
339         (main): Update exit code computation.
340         * doc/posix-functions/getcwd.texi: Mention list of platforms where
341         getcwd does not handle long file names.
342
343 2011-11-20  Bruno Haible  <bruno@clisp.org>
344
345         getcwd: Fix bug from 2009-09-10.
346         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
347         like "no".
348
349 2011-11-20  Simon Josefsson  <simon@josefsson.org>
350
351         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
352
353 2011-11-20  Bruno Haible  <bruno@clisp.org>
354
355         fma tests: Avoid shadowing local variables.
356         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
357         expected.
358
359 2011-11-20  Bruno Haible  <bruno@clisp.org>
360
361         copysignf tests: Fix.
362         * tests/test-copysignf.c: Fix signature check.
363
364 2011-11-20  Bruno Haible  <bruno@clisp.org>
365
366         fma: Remove unused code.
367         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
368         unused macros.
369
370 2011-11-20  Bruno Haible  <bruno@clisp.org>
371
372         sethostname: Fix doc about AIX.
373         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
374         sethostname; it has it.
375
376         sethostname: Mention more portability problems.
377         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
378         problem.
379         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
380
381 2011-11-19  Bruno Haible  <bruno@clisp.org>
382
383         Depend on module fcntl-h when AT_FDCWD is used.
384         * modules/utimens (Depends-on): Add fcntl-h.
385         * modules/areadlinkat (Depends-on): Likewise.
386         * modules/areadlinkat-with-size (Depends-on): Likewise.
387         * modules/faccessat (Depends-on): Likewise.
388         * modules/fchmodat (Depends-on): Likewise.
389         * modules/fchownat (Depends-on): Likewise.
390         * modules/getcwd (Depends-on): Likewise.
391         * modules/mkdirat (Depends-on): Likewise.
392         * modules/mkfifoat (Depends-on): Likewise.
393         * modules/readlinkat (Depends-on): Likewise.
394         * modules/symlinkat (Depends-on): Likewise.
395         * modules/dup2-tests (Depends-on): Likewise.
396         * modules/fdutimensat-tests (Depends-on): Likewise.
397         * modules/futimens-tests (Depends-on): Likewise.
398
399 2011-11-19  Bruno Haible  <bruno@clisp.org>
400
401         euidaccess: Update a comment.
402         * lib/euidaccess.c: Update comment about platforms with faccessat.
403
404 2011-11-19  Bruno Haible  <bruno@clisp.org>
405
406         openat: Fix file list.
407         * modules/openat (Files): Remove lib/at-func.c.
408
409 2011-11-19  Bruno Haible  <bruno@clisp.org>
410
411         fstatat: Simplify.
412         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
413         gnulib should define rpl_fstatat, there is a
414         "#define fstatat rpl_fstatat" in <sys/stat.h>.
415
416 2011-11-19  Bruno Haible  <bruno@clisp.org>
417
418         Ensure 'inline' can be used in tests/test-utimens-common.h.
419         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
420         * modules/futimens-tests (configure.ac): Likewise.
421         * modules/utimens-tests (configure.ac): Likewise.
422         * modules/utimensat-tests (configure.ac): Likewise.
423
424 2011-11-19  Simon Josefsson  <simon@josefsson.org>
425
426         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
427         not hash_insert0.
428         (hash_insert_if_absent): Doc fix.
429
430 2011-11-19  Simon Josefsson  <simon@josefsson.org>
431
432         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
433
434 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
435
436         test-getcwd: disambiguate exit status
437         * tests/test-getcwd.c (test_long_name): Return 0..7.
438         (main): Exit with an unambiguous exit status.  The old
439         code yielded a mysterious mixture of two failure codes.
440
441         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
442         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
443         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
444         rpl_fstatat or fstatat.  This should fix the other problem
445         reported by Kai Habel in
446         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
447         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
448         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
449         and I reproduced it on a Solaris 8 host we still have in production.
450
451 2011-11-18  Jim Meyering  <meyering@redhat.com>
452
453         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
454         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
455         Add a sentence to the comment.
456         (hash_insert0): New function that simply calls hash_insert_if_absent.
457         * lib/hash.h (hash_insert_if_absent): Declare it.
458         (hash_insert0): Add deprecation attribute.
459         (_GL_ATTRIBUTE_DEPRECATED): Define.
460         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
461         not hash_insert0.
462         * NEWS: Mention it, even though it's not really an incompatible change.
463
464 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
465
466         openat: avoid compilation failure due to lack of <errno.h> inclusion
467         * lib/openat.c: Include <errno.h>.
468
469 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
470
471         * modules/getcwd (Depends-on): Add fdopendir.
472         This fixes one of the two problems reported by Kai Habel in
473         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
474
475         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
476         stdalign problem reported by Ian Beckwith in
477         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
478         * modules/crypto/gc-arcfour (Depends-on):
479         Depend conditionally on crypto/arcfour.
480         * modules/crypto/gc-arctwo (Depends-on):
481         Depend conditionally on crypto/arctwo.
482         * modules/crypto/gc-des (Depends-on):
483         Depend conditionally on crypto/des.
484         * modules/crypto/gc-hmac-md5 (Depends-on):
485         Depend conditionally on crypto/hmac-md5.
486         * modules/crypto/gc-hmac-sha1 (Depends-on):
487         Depend conditionally on crypto/hmac-sha1.
488         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
489         * modules/crypto/gc-md4 (Depends-on):
490         Depend conditionally on crypto/md4.
491         * modules/crypto/gc-md5 (Depends-on):
492         Depend conditionally on crypto/md5.
493         * modules/crypto/gc-rijndael (Depends-on):
494         Depend conditionally on crypto/rijndael.
495         * modules/crypto/gc-sha1 (Depends-on):
496         Depend conditionally on crypto/sha1.
497         * modules/crypto/gc-arcfour:
498         * modules/crypto/gc-arctwo:
499         * modules/crypto/gc-des:
500         * modules/crypto/gc-hmac-md5:
501         * modules/crypto/gc-hmac-sha1:
502         * modules/crypto/gc-md2:
503         * modules/crypto/gc-md4:
504         * modules/crypto/gc-md5:
505         * modules/crypto/gc-rijndael:
506         * modules/crypto/gc-sha1:
507         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
508         now that the conditional dependencies do the work for us.
509
510 2011-11-17  Jim Meyering  <meyering@redhat.com>
511
512         tests: factor st_ctime-comparison out of two headers
513         * tests/test-utimens-common.h (ctime_compare): Define.
514         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
515         * tests/test-lutimens.h (test_lutimens): Likewise.
516         * tests/test-utimens.h (test_utimens): Likewise.
517
518         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
519         Invoke the test program via an init.sh-using wrapper.
520         * tests/test-getcwd.sh: New file.
521         * modules/getcwd-tests (Files): Add it.
522         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
523
524 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
525
526         gitlog-to-changelog: support multi-author commits.
527         The FSF cares about keeping track of all authors of patches to its
528         projects, but Git doesn't provide obvious support for multi-author
529         changesets. Consensus seems to be forming around the use of extra
530         Signed-off-by inspired lines in the log message formatted as
531         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
532         multi-author commits between version control systems.
533         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
534         log message and output in standard ChangeLog multi-author format.
535         Reported by Peter Rosin <peda@lysator.liu.se>
536
537 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
538             Bruno Haible  <bruno@clisp.org>
539
540         Fix some modules' file list.
541         * modules/fstatat (Files): Add m4/lstat.m4.
542         * modules/openat (Files): Likewise.
543         * modules/unlinkat (Files): Likewise.
544
545 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
546
547         maint.mk: fix tight-scope.mk generation in VPATH builds.
548         * top/maint.mk (tight-scope.mk): Make sure to prefix file
549         reference with $(srcdir) so that the file is found correctly even
550         when running `make syntax-check' in a VPATH build.
551
552 2011-11-13  Bruno Haible  <bruno@clisp.org>
553             Jim Meyering  <meyering@redhat.com>
554
555         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
556         * tests/init.sh (compare): Remove "No differences encountered" or
557         synonymous output from the 'diff' program.
558
559 2011-11-13  Bruno Haible  <bruno@clisp.org>
560
561         Makefile: Tweak indentation.
562         * Makefile: Use tab as first character in every line that contains rule
563         commands.
564
565 2011-11-13  Bruno Haible  <bruno@clisp.org>
566
567         Syntax check for copyright statements.
568         * check-copyright: New file.
569         * Makefile (sc_check_copyright): New rule.
570
571 2011-11-13  Simon Josefsson  <simon@josefsson.org>
572
573         * build-aux/git-version-gen: Add --prefix to configure the tag
574         match string.
575
576 2011-11-13  Simon Josefsson  <simon@josefsson.org>
577
578         * build-aux/git-version-gen: Add --help and --version.
579
580 2011-11-12  Jim Meyering  <meyering@redhat.com>
581
582         revamp the other test-exclude?.sh scripts to use init.sh, too
583         * tests/test-exclude1.sh: Use init.sh.
584         * tests/test-exclude2.sh: Likewise.
585         * tests/test-exclude3.sh: Likewise.
586         * tests/test-exclude4.sh: Likewise.
587         * tests/test-exclude5.sh: Likewise.
588         * tests/test-exclude6.sh: Likewise.
589         * tests/test-exclude7.sh: Likewise.
590         * tests/test-exclude8.sh: Likewise.
591         * modules/exclude-tests (Files): List init.sh.
592
593         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
594         These shell scripts ignored failure of the binary test-exclude,
595         so making the latter return 77 didn't cause them to be skipped.
596         * tests/test-exclude5.sh: Exit with test-exclude's error status
597         when that program fails.  Revamp to use init.sh.
598         * tests/test-exclude2.sh: Likewise.
599
600         test-exclude: fix a typo
601         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
602
603 2011-11-11  Bruno Haible  <bruno@clisp.org>
604
605         obstack: Fix compilation error on MSVC 9.
606         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
607
608 2011-11-11  Jim Meyering  <meyering@redhat.com>
609
610         test-exclude: skip tests rather than failing on deficient systems
611         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
612         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
613         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
614         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
615
616 2011-11-10  Bruno Haible  <bruno@clisp.org>
617
618         ptsname_r test: Avoid gcc warning on glibc systems.
619         * tests/test-ptsname_r.c (null_ptr): New function.
620         (test_errors): Use it.
621
622 2011-11-10  Bruno Haible  <bruno@clisp.org>
623
624         ptsname_r: Avoid compilation error on OSF/1 5.1.
625         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
626         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
627         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
628         function is not declared or incompatibly declared.
629         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
630         * modules/ptsname_r (Depends-on, configure.ac): Update.
631         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
632
633 2011-11-10  Bruno Haible  <bruno@clisp.org>
634
635         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
636         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
637         When cross-compiling, guess yes on all platforms except AIX.
638         Reported by Ludovic Courtès <ludo@gnu.org>.
639
640 2011-11-09  Bruno Haible  <bruno@clisp.org>
641
642         ptsname_r tests: Fix bugs.
643         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
644         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
645
646 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
647
648         fstatat: work with cross-compilation
649         Problem reported by Ludovic Courtès in
650         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
651         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
652         "cross-compiling" and assume the bug is present.  Replace
653         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
654         an inverted sense, to be more conservative about our assumptions.
655         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
656
657 2011-11-09  Bruno Haible  <bruno@clisp.org>
658
659         Improve MODULES.html output.
660         * modules/mkfifoat (Description): Use the word "function".
661         * modules/readlinkat (Description): Likewise.
662         * modules/symlinkat (Description): Likewise.
663
664 2011-11-09  Eric Blake  <eblake@redhat.com>
665
666         ptsname_r-tests: new test module
667         * modules/ptsname_r-tests: New module.
668         * tests/test-ptsname_r.c: New file.
669
670         ptsname_r: new module
671         * modules/ptsname_r: New module.
672         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
673         * lib/ptsname.c (__ptsname_r): Split...
674         * lib/ptsname_r.c: ...into new file.
675         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
676         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
677         * modules/stdlib (Makefile.am): Substitute witnesses.
678         * lib/stdlib.in.h (ptsname_r): Declare it.
679         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
680         * MODULES.html.sh (Misc): Likewise.
681         * modules/ptsname (Depends-on): Alter dependency.
682         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
683
684 2011-11-09  Jim Meyering  <meyering@redhat.com>
685
686         announce-gen: be more concise when there's only one URL+tarball
687         * build-aux/announce-gen (get_tool_versions): When you distribute
688         only one type of tarball, combine the first two "Here are..."
689         sections and make the key-checking grammar independent of
690         how many tarballs there are.
691
692 2011-11-09  Eric Blake  <eblake@redhat.com>
693
694         openpty: provide a stub on mingw
695         * lib/pty.in.h (includes): Provide forward declarations.
696         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
697
698         raise: fix mingw handling of SIGPIPE
699         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
700
701 2011-11-08  Bruno Haible  <bruno@clisp.org>
702
703         More conditional dependencies.
704         * modules/faccessat (Depends-on): Add conditions.
705         * modules/fchmodat (Depends-on): Likewise.
706         * modules/fchownat (Depends-on): Likewise.
707         * modules/fstatat (Depends-on): Likewise.
708         * modules/mkfifoat (Depends-on): Likewise.
709         * modules/readlinkat (Depends-on): Likewise.
710         * modules/symlinkat (Depends-on): Likewise.
711         * modules/unlinkat (Depends-on): Likewise.
712         * modules/utimensat (Depends-on): Likewise.
713         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
714         * modules/linkat (Depends-on): Refine the conditions.
715         * modules/renameat (Depends-on): Likewise.
716
717 2011-11-08  Bruno Haible  <bruno@clisp.org>
718
719         faccessat: Move AC_LIBOBJ invocation to module description.
720         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
721         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
722         invocation from here...
723         * modules/faccessat (configure.ac): ... to here. Invoke
724         gl_PREREQ_FACCESSAT.
725
726 2011-11-08  Bruno Haible  <bruno@clisp.org>
727
728         faccessat: Simplify autoconf macro.
729         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
730         gl_FUNC_EUIDACCESS.
731
732 2011-11-08  Bruno Haible  <bruno@clisp.org>
733
734         renameat: Fix dependencies.
735         * modules/renameat (Depends-on): Add stdbool.
736
737 2011-11-08  Bruno Haible  <bruno@clisp.org>
738
739         mkfifoat: Fix module description.
740         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
741         not gl_UNISTD_MODULE_INDICATOR.
742
743 2011-11-08  Bruno Haible  <bruno@clisp.org>
744
745         fstatat: Remove unused dependency.
746         * modules/fstatat (Depends-on): Remove fstat.
747
748 2011-11-08  Simon Josefsson  <simon@josefsson.org>
749
750         GNUmakefile: behave when Makefile is missing.
751         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
752
753 2011-11-08  Bruno Haible  <bruno@clisp.org>
754
755         openat: Conditionalize dependencies.
756         * lib/openat.c: Reduce the scope of some #includes.
757         * modules/openat (Depends-on): Add conditions.
758
759 2011-11-07  Jim Meyering  <meyering@redhat.com>
760
761         maint.mk: extract GPG key ID without using a temporary file
762         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
763         without using a temporary file.  Based on a suggestion from Werner Koch
764         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
765
766 2011-11-07  Eric Blake  <eblake@redhat.com>
767
768         grantpt: fix typo
769         * lib/stdlib.in.h (grantpt): Check correct function.
770
771         maint.mk: silence new syntax check
772         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
773
774 2011-11-06  Bruno Haible  <bruno@clisp.org>
775
776         Doc about floating-point and math API.
777         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
778         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
779
780 2011-11-06  Bruno Haible  <bruno@clisp.org>
781
782         stdalign tests: Skip the test when compiled by Sun C.
783         * tests/test-stdalign.c (main): Skip the test on Sun C.
784
785 2011-11-06  Bruno Haible  <bruno@clisp.org>
786
787         ansi-c++-opt: Complete the 2011-06-05 change.
788         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
789         does not support namespaces, set the variable to "no", not to ":".
790
791 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
792
793         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
794
795 2011-11-06  Bruno Haible  <bruno@clisp.org>
796
797         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
798         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
799         (minus_zerol) [HP-UX]: New macro.
800         (unary_minus) [HP-UX]: New function.
801         (copysignl) [HP-UX]: Use unary_minus function.
802
803 2011-11-06  Bruno Haible  <bruno@clisp.org>
804
805         ldexp, ldexpf, ldexpl: Enhance tests.
806         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
807         and tests/test-ldexpl.c.
808         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
809         LDEXP, MIN_EXP, MAX_EXP): New macros.
810         Include test-ldexp.h.
811         (main): Just call test_function.
812         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
813         infinity.h, nan.h.
814         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
815         MAX_EXP): New macros.
816         Include test-ldexp.h.
817         (x, y): Remove variables.
818         (main): Just call test_function.
819         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
820         infinity.h, nan.h.
821         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
822         MAX_EXP): New macros.
823         Include test-ldexp.h.
824         (x, y): Remove variables.
825         (main): Just call test_function.
826         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
827         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
828         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
829         (Depends-on): Add isnand-nolibm, signbit, float.
830         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
831         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
832         (Depends-on): Add isnanf-nolibm, signbit, float.
833
834 2011-11-06  Bruno Haible  <bruno@clisp.org>
835
836         math tests: Cosmetics.
837         * tests/test-math-c++.cc: Reorder declarations.
838
839 2011-11-05  Bruno Haible  <bruno@clisp.org>
840
841         fma*: Simplify test.
842         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
843         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
844
845         Tests for module 'fmal'.
846         * modules/fmal-tests: New file.
847         * tests/test-fmal1.c: New file.
848         * tests/test-fmal2.c: New file.
849
850         New module 'fmal'.
851         * lib/math.in.h (fmal): New declaration.
852         * lib/fmal.c: New file.
853         * m4/fmal.m4: New file.
854         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
855         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
856         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
857         REPLACE_FMAL.
858         * modules/fmal: New file.
859         * doc/posix-functions/fmal.texi: Mention the new module and the various
860         bugs.
861
862         Tests for module 'fmaf'.
863         * modules/fmaf-tests: New file.
864         * tests/test-fmaf1.c: New file.
865         * tests/test-fmaf2.c: New file.
866
867         New module 'fmaf'.
868         * lib/math.in.h (fmaf): New declaration.
869         * lib/fmaf.c: New file.
870         * m4/fmaf.m4: New file.
871         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
872         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
873         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
874         REPLACE_FMAF.
875         * modules/fmaf: New file.
876         * doc/posix-functions/fmaf.texi: Mention the new module and the various
877         bugs.
878
879         Tests for module 'fma'.
880         * modules/fma-tests: New file.
881         * tests/test-fma1.c: New file.
882         * tests/test-fma1.h: New file.
883         * tests/test-fma2.c: New file.
884         * tests/test-fma2.h: New file.
885
886         New module 'fma'.
887         * lib/math.in.h (fma): New declaration.
888         * lib/fma.c: New file.
889         * m4/fma.m4: New file.
890         * m4/fegetround.m4: New file.
891         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
892         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
893         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
894         REPLACE_FMA.
895         * modules/fma: New file.
896         * doc/posix-functions/fma.texi: Mention the new module and the various
897         bugs.
898
899         Extend gl_MATHFUNC.
900         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
901         Support 'void' as argument type.
902         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
903
904 2011-11-05  Jim Meyering  <meyering@redhat.com>
905
906         maint.mk: also prohibit inclusion of dirent.h without use
907         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
908
909 2011-11-05  Bruno Haible  <bruno@clisp.org>
910
911         ldexpl tests: Avoid test failure on MSVC 9.
912         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
913         value. Needed in order to enforce the conversion from a value greater
914         than LDBL_MAX to Infinity.
915
916 2011-11-05  Bruno Haible  <bruno@clisp.org>
917
918         New modules 'at-internal', 'openat-h', split off from module 'openat'.
919         * modules/at-internal: New file, extracted from modules/openat.
920         * modules/openat-h: New file.
921         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
922         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
923         * modules/openat (Description): Add reference to POSIX function.
924         (Files): Remove lib/openat.h, lib/openat-proc.c.
925         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
926         intprops, unistd.
927         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
928         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
929         gl_FCNTL_MODULE_INDICATOR.
930         (Include): Remove unistd.h, openat.h.
931         * modules/areadlinkat (Files): Add lib/at-func.c.
932         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
933         openat-die, openat-h, save-cwd.
934         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
935         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
936         openat-die, openat-h, save-cwd, unistd.
937         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
938         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
939         openat-h, save-cwd. Remove fcntl-h, openat.
940         * modules/fchmodat (Files): Remove lib/openat.h.
941         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
942         openat, stdbool, unistd.
943         * modules/fchownat (Files): Remove lib/openat.h.
944         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
945         openat, stdbool, sys_stat.
946         * modules/fdopendir (Files): Remove lib/openat-priv.h,
947         lib/openat-proc.c.
948         (Depends-on): Add at-internal.
949         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
950         * modules/fstatat (Files): Remove lib/openat.h.
951         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
952         stdbool, unistd.
953         * modules/fts (Depends-on): Add openat-h.
954         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
955         openat.
956         * modules/mkdirat (Files): Remove lib/openat.h.
957         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
958         openat, stdbool, sys_stat.
959         * modules/mkfifoat (Files): Add lib/at-func.c.
960         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
961         openat-h, save-cwd. Remove fcntl-h, openat.
962         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
963         * modules/readlinkat (Files): Add lib/at-func.c.
964         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
965         openat-h, save-cwd. Remove fcntl-h, openat.
966         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
967         openat.
968         * modules/selinux-at (Files): Add lib/at-func.c.
969         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
970         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
971         * modules/symlinkat (Files): Add lib/at-func.c.
972         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
973         openat-h, save-cwd. Remove fcntl-h, openat.
974         * modules/unlinkat (Files): Remove lib/openat.h.
975         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
976         stdbool.
977         * modules/utimensat (Files): Add lib/at-func.c.
978         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
979         openat-die, openat-h, save-cwd.
980         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
981         * modules/fdutimensat-tests (Depends-on): Add openat.
982         * modules/fstatat-tests (Depends-on): Add openat-h.
983         * modules/readlinkat-tests (Depends-on): Add openat.
984         * modules/symlinkat-tests (Depends-on): Add openat.
985
986 2011-11-05  Bruno Haible  <bruno@clisp.org>
987
988         openat: Include <stdbool.h>.
989         * lib/openat.c: Include <stdbool.h>.
990
991 2011-11-04  Bruno Haible  <bruno@clisp.org>
992
993         fchownat, renameat, unlinkat: Fix dependencies.
994         * modules/fchownat (Depends-on): Add fstatat.
995         * modules/renameat (Depends-on): Likewise.
996         * modules/unlinkat (Depends-on): Likewise.
997
998 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
999
1000         openat: remove direct dependency on dirent
1001         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
1002         and hasn't been needed ever since fdopendir was split into its own
1003         module on 2009-08-31.
1004         * modules/openat (Depends-on): Remove dirent.
1005
1006 2011-11-04  Bruno Haible  <bruno@clisp.org>
1007
1008         renameat: Optimize code size.
1009         * modules/renameat (configure.ac): Don't compile at-func2.c if
1010         REPLACE_RENAMEAT is 1.
1011
1012 2011-11-04  Bruno Haible  <bruno@clisp.org>
1013
1014         openat tests: Fix file list.
1015         * modules/openat-tests (Files): Add tests/test-open.h.
1016
1017 2011-11-04  Bruno Haible  <bruno@clisp.org>
1018
1019         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
1020         * modules/fchmodat (Depends-on): Add openat-die.
1021         * modules/fchownat (Depends-on): Likewise.
1022         * modules/linkat (Depends-on): Likewise.
1023         * modules/renameat (Depends-on): Likewise.
1024         * modules/openat (Depends-on): Add dirent.
1025
1026 2011-11-04  Jim Meyering  <meyering@redhat.com>
1027
1028         at-func*.c: fix comments
1029         * lib/at-func2.c: Correct/improve first-line comment.
1030         * lib/at-func.c: Correct grammar in first-line comment.
1031
1032 2011-11-04  Bruno Haible  <bruno@clisp.org>
1033
1034         New module 'mkdirat', split off from module 'openat'.
1035         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
1036         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
1037         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
1038         * modules/mkdirat: New file, extracted from modules/openat.
1039         * modules/openat (Files): Remove lib/mkdirat.c.
1040         (Depends-on): Remove mkdir.
1041         (configure.ac): Remove AC_LIBOBJ of mkdirat.
1042         (Include): Remove <sys/stat.h>.
1043         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
1044         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
1045         tests/test-mkdir.h.
1046         (Depends-on): Remove ignore-value.
1047         (Makefile.am): Remove rules for test-mkdirat.
1048         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
1049         of module 'openat'.
1050         * NEWS: Mention the change.
1051
1052 2011-11-04  Bruno Haible  <bruno@clisp.org>
1053
1054         closedir: Avoid warning on mingw.
1055         * lib/closedir.c: Include <unistd.h>.
1056
1057 2011-11-04  Bruno Haible  <bruno@clisp.org>
1058
1059         New module 'fstatat', split off from module 'openat'.
1060         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
1061         defined.
1062         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
1063         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
1064         gl_FUNC_FSTATAT.
1065         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
1066         * modules/fstatat: New file, extracted from modules/openat.
1067         * modules/openat (Files): Remove lib/fstatat.c.
1068         (Depends-on): Remove lstat.
1069         (configure.ac): Remove AC_LIBOBJ of fstatat.
1070         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
1071         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
1072         tests/test-lstat.h, tests/test-stat.h.
1073         (Depends-on): Remove getcwd-lgpl.
1074         (Makefile.am): Remove rules for test-fstatat.
1075         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
1076         of module 'openat'.
1077         * NEWS: Mention the change.
1078         * modules/getcwd (Depends-on): Add fstatat.
1079         * modules/linkat (Depends-on): Likewise.
1080         * modules/mkfifoat-tests (Depends-on): Likewise.
1081         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
1082
1083 2011-11-03  Bruno Haible  <bruno@clisp.org>
1084
1085         New module 'unlinkat', split off from module 'openat'.
1086         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
1087         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
1088         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
1089         * modules/unlinkat: New file, extracted from modules/openat. Correct
1090         the dependency conditions.
1091         * modules/openat (Files): Remove lib/unlinkat.c.
1092         (Depends-on): Remove rmdir, unlink.
1093         (configure.ac): Remove AC_LIBOBJ of unlinkat.
1094         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
1095         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
1096         tests/test-rmdir.h, tests/test-unlink.h.
1097         (Depends-on): Remove unlinkdir.
1098         (Makefile.am): Remove rules for test-unlinkat.
1099         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
1100         of module 'openat'.
1101         * NEWS: Mention the change.
1102         * modules/linkat-tests (Depends-on): Add unlinkat.
1103         * modules/mkfifoat-tests (Depends-on): Likewise.
1104         * modules/readlinkat-tests (Depends-on): Likewise.
1105
1106 2011-11-02  Bruno Haible  <bruno@clisp.org>
1107
1108         New module 'fchmodat', split off from module 'openat'.
1109         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
1110         defined.
1111         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
1112         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
1113         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
1114         * modules/fchmodat: New file, extracted from modules/openat.
1115         * modules/openat (Files): Remove lib/fchmodat.c.
1116         (configure.ac): Remove AC_LIBOBJ of fchmodat.
1117         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
1118         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
1119         (Makefile.am): Remove rules for test-fchmodat.
1120         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
1121         of module 'openat'.
1122         * NEWS: Mention the change.
1123
1124 2011-11-02  Jim Meyering  <meyering@redhat.com>
1125
1126         putenv: indent #definition of "environ" to placate cppi
1127         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
1128
1129         gitlog-to-changelog: provide a ChangeLog-repair mechanism
1130         Git logs are often treated as immutable, because editing them
1131         changes the SHA1 checksums of all descendants.  Thus, errors in
1132         git logs tend to stay there forever.  However, when we generate
1133         a ChangeLog file -- typically for distribution -- from that git log,
1134         we can actually make corrections in the generated file.  The key
1135         lies in recording in machine-readable/applicable form the desired
1136         corrections.  See --help for description and an example.
1137         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
1138         (usage): Describe it; alphabetize option descriptions.
1139         (main): Honor the new option, carefully.
1140
1141 2011-11-01  Jim Meyering  <meyering@redhat.com>
1142
1143         gitlog-to-changelog: avoid an infloop
1144         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
1145         that ends up being empty.
1146
1147 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
1148
1149         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
1150         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
1151         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
1152         contains (possibly-quoted) backslashes.  This should avoid
1153         all-too-common shell bugs if COMPLICATED contains backslashes in
1154         the "wrong" places.  Reported by David Evans in
1155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
1156         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
1157         because we want ASCII ranges.  Is there some reason we don't use
1158         the C locale everywhere in this script?
1159         (func_module, top level): Avoid unwanted pathname expansion when
1160         $repo_url_prefix or $repo_url_suffix_repl contain shell
1161         metacharacters like '?' and '*'.
1162
1163 2011-11-01  Bruno Haible  <bruno@clisp.org>
1164
1165         fchownat: Improve description.
1166         * modules/fchownat (Description): Add link to function.
1167
1168 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
1169
1170         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
1171         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
1172         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
1173         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
1174
1175 2011-11-01  Bruno Haible  <bruno@clisp.org>
1176
1177         alignof: Avoid collision with stdalign module.
1178         * lib/alignof.h (alignof): Remove macro.
1179         * NEWS: Mention the change.
1180         Reported by Paul Eggert.
1181
1182 2011-11-01  Bruno Haible  <bruno@clisp.org>
1183
1184         New module 'fchownat', split off from module 'openat'.
1185         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
1186         defined.
1187         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
1188         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
1189         invoke gl_FUNC_FCHOWNAT.
1190         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
1191         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
1192         * modules/fchownat: New file, extracted from modules/openat.
1193         * modules/openat (Files): Remove lib/fchownat.c.
1194         (Depends-on): Remove lchown.
1195         (configure.ac): Remove AC_LIBOBJ of fchownat.
1196         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
1197         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
1198         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
1199         (Depends-on): Remove mgetgroups, usleep, stat-time.
1200         (configure.ac): Remove test for getegid.
1201         (Makefile.am): Remove rules for test-fchownat.
1202         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
1203         of module 'openat'.
1204         * NEWS: Mention the change.
1205
1206 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
1207
1208         stdalign: port better to MSVC and to Sun C 5.11
1209         This fixes some of the problems reported by Bruno Haible in
1210         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
1211         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
1212         shortcomings of MSVC and of Sun C 5.11.
1213         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
1214         around __declspec arg.
1215         * modules/stdalign-tests (Files): Add tests/macros.h.
1216         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
1217         Include macros.h, for ASSERT.
1218         (DECLARE_ALIGNED): Remove.
1219         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
1220         to catch bug), and to 1 if not (simplifies the rest of the code).
1221         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
1222         (CHECK_AUTO): Remove.
1223         (CHECK_ALIGNED): Check only the alignment of the static vars,
1224         since auto var alignment isn't supported by Sun C 5.11.
1225         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
1226         ASSERT failures are easier to diagnose.
1227
1228 2011-10-31  Bruno Haible  <bruno@clisp.org>
1229
1230         doc about some IRIX 5.3 problems.
1231         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
1232         on IRIX 5.3.
1233         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
1234         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
1235         5.3.
1236         * doc/posix-functions/grantpt.texi: Likewise.
1237         * doc/posix-functions/unlockpt.texi: Likewise.
1238         * doc/posix-functions/lgamma.texi: Likewise.
1239         * doc/posix-functions/nextafter.texi: Likewise.
1240         * doc/posix-functions/remainder.texi: Likewise.
1241         * doc/posix-functions/select.texi: Mention misplaced declaration on
1242         IRIX 5.3.
1243         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1244
1245 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
1246
1247         gitlog-to-changelog: fix git-log invocation.
1248         git-log mishandles date strings before 1970-01-01 UTC, and there is
1249         no use to specify --since=1970-01-01 by default anyway.
1250         * build-aux/gitlog-to-changelog: By default, when no --since option
1251         was given, do not specify explicit --since option to git-log.
1252
1253 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
1254
1255         gitlog-to-changelog: new option --append-dot.
1256         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
1257         first non-blank line of each commit message terminated with a dot.
1258
1259 2011-10-30  Bruno Haible  <bruno@clisp.org>
1260
1261         ffsl, ffsll: Avoid compilation error due to 'restrict'.
1262         * lib/ffsl.h: Include <config.h>.
1263         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
1264
1265 2011-10-30  Jim Meyering  <meyering@redhat.com>
1266
1267         GNUmakefile: reenable "make syntax-check" for most projects
1268         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
1269         build-aux variable", "syntax-check" would do nothing but succeed with
1270         the "No version control files detected..." diagnostic (unless you
1271         happened to override _build-aux via cfg.mk).
1272         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
1273         to precede inclusion of maint.mk.  Otherwise, these variables would
1274         be used undefined in any project that does not override the default.
1275
1276 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
1277
1278         gitlog-to-changelog: treat a message with only blank lines as empty.
1279         * build-aux/gitlog-to-changelog: Move the code that removes leading and
1280         trailing blank lines before the code that issues a warning about an
1281         empty commit message.
1282
1283 2011-10-30  Jim Meyering  <meyering@redhat.com>
1284
1285         test-parse-datetime.c: avoid new DST-related false positive test failure
1286         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
1287         based on the time/date we'll convert, not the current time.
1288         Otherwise, the moment we cross a DST boundary like today's in
1289         Europe, (CEST to CET), that offset ends up being one hour off.
1290
1291 2011-10-27  Bruno Haible  <bruno@clisp.org>
1292
1293         fstat: Tweak documentation.
1294         * modules/fstat (Description): More precise description.
1295
1296 2011-10-27  Bruno Haible  <bruno@clisp.org>
1297
1298         Update documentation regarding 'largefile' module.
1299         * doc/posix-functions/fstat.texi: Tweak wording.
1300         * doc/posix-functions/opendir.texi: Mention that the module fixes the
1301         problems with huge directories and/or small ino_t types.
1302         * doc/posix-functions/readdir.texi: Likewise.
1303         * doc/posix-functions/rewinddir.texi: Likewise.
1304
1305 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
1306
1307         maint.mk: don't maintain a second build-aux variable.
1308         * maint.mk (build_aux): Removed.  The maintainer-makefile module
1309         depends on GNUmakefile, which already maintains a cfg.mk
1310         overridable $(_build-aux) for projects with a non-standard
1311         build-aux directory location, although without the $(srcdir)
1312         prefix.  Use that variable consistently instead of introducing a
1313         second one.  Adjust all call sites.
1314
1315 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
1316
1317         Add stdalign module and use it in other modules.
1318         This is based on a previous proposal by Bruno Haible
1319         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
1320
1321         stdalign: new module
1322         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
1323         * modules/stdalign: New files.
1324         * MODULES.html.sh (c1x_core_properties): Add stdalign.
1325         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
1326
1327         stdalign-tests: new module
1328         * modules/stdalign-tests, tests/test-stdalign.c: New files.
1329
1330         argp: use stdalign
1331         * lib/argp-parse.c: Include <stdalign.h>.
1332         (alignof): Remove.
1333         * modules/argp (Depends-on): Add stdalign.
1334
1335         crypto libraries: use stdalign
1336         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
1337         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
1338         Do not include <stdlib.h> twice, in md4.c.
1339         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
1340         because we are accessing a pointer's bit-pattern, not a size.
1341         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
1342         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
1343         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
1344         * modules/crypto/sha512: Likewise.
1345
1346         sys_socket: use stdalign, not alignof
1347         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
1348         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
1349
1350 2011-10-27  Bruno Haible  <bruno@clisp.org>
1351
1352         raise test: Avoid a test failure on Linux/MIPS.
1353         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
1354         because 99 is a valid signal on Linux/MIPS.
1355
1356 2011-10-27  Bruno Haible  <bruno@clisp.org>
1357
1358         nonblocking tests: Fix test failure on Linux/MIPS.
1359         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
1360         Set to 270000.
1361
1362 2011-10-27  Bruno Haible  <bruno@clisp.org>
1363
1364         utimensat: Work around problem on Linux/hppa.
1365         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
1366         values.
1367         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
1368
1369 2011-10-25  Jim Meyering  <meyering@redhat.com>
1370
1371         maint.mk: fix a bug in sc_prohibit_stddef_without_use
1372         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
1373         after symbols like NULL, size_t, etc.
1374         Reported by Alfred M. Szmidt.
1375
1376         maint.mk: exempt ENODATA from a syntax-check rule
1377         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
1378         from the sc_prohibit_always-defined_macros syntax-check rule.
1379         Add a comment.  See this for more details:
1380         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
1381
1382 2011-10-23  Jim Meyering  <meyering@redhat.com>
1383
1384         fts: close parent dir FD before returning from post-traversal fts_read
1385         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
1386         unlink A, even though an FD open on A remained.  This is suboptimal
1387         (holding a file descriptor open longer than needed), but otherwise not
1388         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
1389         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
1390         that represents a real problem: it causes the removal of A to fail
1391         with e.g., "rm: cannot remove `A': Device or resource busy"
1392
1393         fts visits each directory twice and keeps a cache (fts_fd_ring) of
1394         directory file descriptors.  After completing the final, FTS_DP,
1395         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
1396         cache, but then proceeded to add a new FD to it via the subsequent
1397         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
1398         final file descriptor would be closed only via fts_close's call to
1399         fd_ring_clear.  Now, it is usually closed earlier, via the final
1400         FTS_DP-returning fts_read call.
1401         * lib/fts.c (restore_initial_cwd): New function, converted from
1402         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
1403         Update callers.
1404         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
1405         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
1406
1407 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
1408             Bruno Haible  <bruno@clisp.org>
1409             Jim Meyering  <jim@meyering.net>
1410
1411         readme-release: improve safety of release prep instructions.
1412         * README-release: Don't git pull all branches when only master
1413         is needed for the release process.
1414         Run make maintainer-clean before changing trees and merging.
1415         Don't try to run ./configure right after git pull in case files
1416         that influence the bootstrap process have changed, move the
1417         ./configure step to after running ./bootstrap.
1418         Don't bootstrap "one last time"... it's the first time!
1419
1420 2011-10-22  Bruno Haible  <bruno@clisp.org>
1421
1422         errno, strerror-override: Support for MSVC 10.
1423         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
1424         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
1425         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
1426         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
1427         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
1428         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
1429         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
1430         Assign values compatible with MSVC 10.
1431         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
1432         New macros.
1433         (GNULIB_defined_EWINSOCK): New macro.
1434         * lib/strerror-override.c (strerror_override): Update accordingly.
1435         * lib/strerror-override.h: Likewise.
1436         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
1437         longer equal to the corresponding errno value.
1438         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1439
1440 2011-10-22  Bruno Haible  <bruno@clisp.org>
1441
1442         perror: Recognize when test program crashes.
1443         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
1444         strerror, set gl_cv_func_perror_works to no.
1445         Reported by Daniel Richard G. <skunk@iskunk.org>.
1446
1447         perror: Fix indentation.
1448         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
1449
1450 2011-10-22  Bruno Haible  <bruno@clisp.org>
1451
1452         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
1453         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
1454         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
1455         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
1456         functions, not as a macro.
1457         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
1458         macros.
1459         (isfinite, isinf, isnan, signbit): Check overloaded functions and
1460         absence of macro.
1461         Suggested by Eric Blake.
1462         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1463
1464 2011-10-21  Bruno Haible  <bruno@clisp.org>
1465
1466         relocatable-prog-wrapper: Don't leave object files behind.
1467         * build-aux/install-reloc: Re-synchronize list of .o files to be
1468         removed with list of compilation units.
1469
1470 2011-10-20  Bruno Haible  <bruno@clisp.org>
1471
1472         openpty, posix_openpt: Remove code duplication.
1473         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
1474         * lib/openpty.c: Include <stdlib.h>.
1475         (openpty): Use posix_openpt on all platforms except IRIX.
1476         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
1477
1478 2011-10-20  Bruno Haible  <bruno@clisp.org>
1479
1480         unlockpt: Detect invalid argument.
1481         * lib/unlockpt.c: Include <fcntl.h>.
1482         (unlockpt): Check whether fd is valid, using fcntl().
1483         * modules/unlockpt (Depends-on): Add fcntl-h.
1484
1485 2011-10-20  Bruno Haible  <bruno@clisp.org>
1486
1487         openpty: Avoid compilation error on AIX 6.1.
1488         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
1489
1490 2011-10-20  Bruno Haible  <bruno@clisp.org>
1491
1492         posix_openpt: Support for OpenBSD.
1493         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
1494         (posix_openpt) [OpenBSD]: New code.
1495         * lib/grantpt.c: Include <fcntl.h>.
1496         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
1497         * modules/grantpt (Depends-on): Add fcntl-h.
1498
1499 2011-10-20  Bruno Haible  <bruno@clisp.org>
1500
1501         posix_openpt test: Coding style.
1502         * tests/test-posix_openpt.c: Use GNU coding style.
1503
1504 2011-10-20  Bruno Haible  <bruno@clisp.org>
1505
1506         grantpt: Support --avoid=pt_chown.
1507         * modules/grantpt (Files): Add lib/pty-private.h.
1508
1509 2011-10-20  Bruno Haible  <bruno@clisp.org>
1510
1511         posix_openpt: Fix autoconf macro.
1512         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
1513         unneeded check for _getpty.
1514
1515 2011-10-20  Bruno Haible  <bruno@clisp.org>
1516
1517         openpty: Update comments.
1518         * lib/openpty.c: Add comments about Minix.
1519
1520 2011-10-19  Eric Blake  <eblake@redhat.com>
1521
1522         openpty: relax license
1523         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
1524
1525         pt_chown: use configmake to simplify build
1526         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
1527
1528         ptsname and others: relax license
1529         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
1530         * modules/unlockpt (License): Likewise.
1531         * modules/pt_chown (License): Likewise.
1532         * modules/ptsname (License): Likewise.
1533         * modules/ttyname_r (License): Likewise.
1534
1535 2011-10-19  Jim Meyering  <meyering@redhat.com>
1536
1537         posix_openpt: remove spurious #endif
1538         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
1539
1540 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
1541
1542         maint.mk: Respect $(build_aux) in web-manual rule.
1543         * top/maint.mk (web-manual): Find gen-announce script in user's
1544         $(build_aux) directory instead of hard-coding 'build-aux'.
1545
1546 2011-10-19  Bruno Haible  <bruno@clisp.org>
1547
1548         posix_openpt: Fix compilation error.
1549         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
1550         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
1551         Mention the openpty module as an alternative.
1552
1553 2011-10-19  Bruno Haible  <bruno@clisp.org>
1554
1555         Support for old NeXTstep 3.3 frexp().
1556         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
1557         execution time of the test to 5 seconds.
1558         Reported by Daniel Richard G. <skunk@iskunk.org>.
1559
1560 2011-10-19  Bruno Haible  <bruno@clisp.org>
1561
1562         Support for old NeXTstep 3.3 sed.
1563         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
1564         part, use /.../, not \|...|. Escape periods in the header file name.
1565         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
1566         Reported by Daniel Richard G. <skunk@iskunk.org>.
1567
1568 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1569
1570         Support for old NeXTstep 3.3 gcc.
1571         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
1572         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
1573         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
1574         * lib/spawn.in.h (_Restrict_arr_): Likewise.
1575         * lib/regex.h (_Restrict_arr_): Likewise.
1576         * lib/regex_internal.h (re_token_t): Likewise.
1577         * lib/regexec.c (check_node_accept_bytes): Likewise.
1578         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
1579
1580 2011-10-18  Eric Blake  <eblake@redhat.com>
1581
1582         posix_openpt: new module
1583         * modules/posix_openpt: New module.
1584         * m4/posix_openpt.m4: New file.
1585         * lib/posix_openpt.c: Likewise.
1586         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
1587         (gl_STDLIB_H_DEFAULTS): Set defaults.
1588         * modules/stdlib (Makefile.am): Substitute macros.
1589         * lib/stdlib.in.h (posix_openpt): Declare.
1590         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
1591         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
1592         * modules/posix_openpt-tests: New test module.
1593         * tests/test-posix_openpt.c: New test.
1594
1595 2011-10-15  Bruno Haible  <bruno@clisp.org>
1596
1597         xstrtoll: Fix compilation failure.
1598         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
1599         from lib/strtol.c.
1600         * doc/posix-headers/limits.texi: Mention missing numerical limits on
1601         some platforms.
1602         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1603
1604 2011-10-15  Bruno Haible  <bruno@clisp.org>
1605
1606         vasnprintf: Optimize bit search operation.
1607         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
1608         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
1609         gl_DOUBLE_EXPONENT_LOCATION.
1610         * modules/vasnprintf (Files): Add m4/exponentd.m4.
1611         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1612         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1613         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1614         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1615         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1616         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1617         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1618         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
1619
1620 2011-10-15  Bruno Haible  <bruno@clisp.org>
1621
1622         vasnprintf: Fix comments.
1623         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
1624
1625 2011-10-14  Bruno Haible  <bruno@clisp.org>
1626
1627         Tests for module 'integer_length_ll'.
1628         * modules/integer_length_ll-tests: New file.
1629         * tests/test-integer_length_ll.c: New file.
1630
1631         New module 'integer_length_ll'.
1632         * lib/integer_length_ll.c: New file.
1633         * modules/integer_length_ll: New file.
1634
1635 2011-10-14  Bruno Haible  <bruno@clisp.org>
1636
1637         Tests for module 'integer_length_l'.
1638         * modules/integer_length_l-tests: New file.
1639         * tests/test-integer_length_l.c: New file.
1640
1641         New module 'integer_length_l'.
1642         * lib/integer_length_l.c: New file.
1643         * modules/integer_length_l: New file.
1644
1645 2011-10-14  Bruno Haible  <bruno@clisp.org>
1646
1647         Tests for module 'integer_length'.
1648         * modules/integer_length-tests: New file.
1649         * tests/test-integer_length.c: New file.
1650
1651         New module 'integer_length'.
1652         * lib/integer_length.h: New file.
1653         * lib/integer_length.c: New file.
1654         * modules/integer_length: New file.
1655
1656 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1657
1658         popen: Fix dependency conditions.
1659         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
1660
1661 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1662
1663         perror: Fix autoconf test.
1664         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
1665         <stdlib.h> and <string.h>.
1666
1667 2011-10-14  Bruno Haible  <bruno@clisp.org>
1668
1669         ffsl: Optimize on 64-bit platforms.
1670         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
1671         unrolling.
1672
1673 2011-10-13  Bruno Haible  <bruno@clisp.org>
1674
1675         ffsl: Optimize on 32-bit platforms.
1676         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
1677         use ffs() without a loop.
1678
1679         ffsl, ffsll: Optimize for GCC.
1680         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
1681         * lib/ffsl.c (GCC_BUILTIN): New macro.
1682         * lib/ffsll.c (GCC_BUILTIN): Likewise.
1683
1684 2011-10-13  Bruno Haible  <bruno@clisp.org>
1685
1686         ffs, bcopy, memset: Support symbol renaming via config.h.
1687         * lib/ffs.c: Include <config.h>.
1688         * lib/bcopy.c: Likewise.
1689         * lib/memset.c: Likewise.
1690
1691 2011-10-10  Bruno Haible  <bruno@clisp.org>
1692
1693         atanl: Simplify for platforms where 'long double' == 'double'.
1694         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1695         alternative implementation.
1696         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1697         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1698         * modules/atanl (Depends-on): Add atan. Update conditions.
1699
1700 2011-10-10  Bruno Haible  <bruno@clisp.org>
1701
1702         acosl: Simplify for platforms where 'long double' == 'double'.
1703         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1704         alternative implementation.
1705         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1706         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1707         * modules/acosl (Depends-on): Add acos. Update conditions.
1708
1709 2011-10-10  Bruno Haible  <bruno@clisp.org>
1710
1711         asinl: Simplify for platforms where 'long double' == 'double'.
1712         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1713         alternative implementation.
1714         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1715         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1716         * modules/asinl (Depends-on): Add asin. Update conditions.
1717
1718 2011-10-10  Bruno Haible  <bruno@clisp.org>
1719
1720         tanl: Simplify for platforms where 'long double' == 'double'.
1721         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1722         implementation.
1723         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1724         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1725         * modules/tanl (Depends-on): Add tan. Update conditions.
1726         (configure.ac): Don't compile trigl.c if
1727         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1728
1729 2011-10-10  Bruno Haible  <bruno@clisp.org>
1730
1731         cosl: Simplify for platforms where 'long double' == 'double'.
1732         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1733         implementation.
1734         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1735         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1736         * modules/cosl (Depends-on): Add cos. Update conditions.
1737         (configure.ac): Don't compile sincosl.c and trigl.c if
1738         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1739
1740 2011-10-10  Bruno Haible  <bruno@clisp.org>
1741
1742         sinl: Simplify for platforms where 'long double' == 'double'.
1743         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1744         implementation.
1745         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1746         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1747         * modules/sinl (Depends-on): Add sin. Update conditions.
1748         (configure.ac): Don't compile sincosl.c and trigl.c if
1749         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1750
1751 2011-10-10  Bruno Haible  <bruno@clisp.org>
1752
1753         logl: Simplify for platforms where 'long double' == 'double'.
1754         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1755         implementation.
1756         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1757         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1758         * modules/logl (Depends-on): Add log. Update conditions.
1759
1760 2011-10-10  Bruno Haible  <bruno@clisp.org>
1761
1762         expl: Simplify for platforms where 'long double' == 'double'.
1763         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1764         implementation.
1765         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1766         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1767         * modules/expl (Depends-on): Add exp. Update conditions.
1768
1769 2011-10-10  Bruno Haible  <bruno@clisp.org>
1770
1771         sqrtl: Simplify for platforms where 'long double' == 'double'.
1772         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1773         alternative implementation.
1774         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1775         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1776         * modules/sqrtl (Depends-on): Update conditions.
1777
1778 2011-10-10  Bruno Haible  <bruno@clisp.org>
1779
1780         ldexpl: Simplify for platforms where 'long double' == 'double'.
1781         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1782         alternative implementation.
1783         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1784         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1785         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
1786
1787 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
1788
1789         ffsll: set correct witness
1790         * modules/ffsll (configure.ac): Fix typo.
1791
1792 2011-10-10  Bruno Haible  <bruno@clisp.org>
1793
1794         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
1795         * lib/printf-frexpl.c: Include <config.h>.
1796         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1797         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
1798         second time.
1799         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
1800         gl_LONG_DOUBLE_VS_DOUBLE.
1801         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
1802         conditions.
1803
1804 2011-10-10  Bruno Haible  <bruno@clisp.org>
1805
1806         frexpl: Simplify for platforms where 'long double' == 'double'.
1807         * lib/frexpl.c: Include <config.h>.
1808         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1809         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1810         time.
1811         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1812         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1813         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
1814         * modules/frexpl (Depends-on): Add frexp. Update conditions.
1815         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
1816         conditions.
1817
1818 2011-10-10  Jim Meyering  <meyering@redhat.com>
1819
1820         test-renameat: don't leave behind a temporary file
1821         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
1822           ERROR: files left in build directory after distclean:
1823           ./gltests/test-renameat.too
1824           make[1]: *** [distcleancheck] Error 1
1825         Reported by Tom G. Christensen.
1826
1827 2011-10-09  Bruno Haible  <bruno@clisp.org>
1828
1829         rint: Determine RINT_LIBM correctly on AIX 7.
1830         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
1831         directly, not only through a function pointer. Also accept an optional
1832         4th argument with extra code.
1833         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
1834         rintf() call by gcc when optimizing.
1835
1836         mathfunc.m4: Refactor.
1837         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1838         m4 variable.
1839
1840 2011-10-09  Bruno Haible  <bruno@clisp.org>
1841
1842         rintl: Simplify for platforms where 'long double' == 'double'.
1843         * lib/rintl.c: Include <config.h>.
1844         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1845         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1846         time.
1847         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1848         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1849         * modules/rintl (Depends-on): Add rint. Update conditions.
1850
1851 2011-10-09  Bruno Haible  <bruno@clisp.org>
1852
1853         roundl: Simplify for platforms where 'long double' == 'double'.
1854         * lib/roundl.c: Include <config.h>.
1855         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1856         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1857         time.
1858         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1859         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1860         * modules/roundl (Depends-on): Add round. Update conditions.
1861
1862 2011-10-09  Bruno Haible  <bruno@clisp.org>
1863
1864         truncl: Simplify for platforms where 'long double' == 'double'.
1865         * lib/truncl.c: Include <config.h>.
1866         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1867         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1868         time.
1869         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1870         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1871         * modules/truncl (Depends-on): Add trunc. Update conditions.
1872
1873 2011-10-09  Bruno Haible  <bruno@clisp.org>
1874
1875         ceill: Simplify for platforms where 'long double' == 'double'.
1876         * lib/ceill.c: Include <config.h>.
1877         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1878         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1879         time.
1880         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1881         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1882         * modules/ceill (Depends-on): Add ceil. Update conditions.
1883
1884 2011-10-09  Bruno Haible  <bruno@clisp.org>
1885
1886         floorl: Simplify for platforms where 'long double' == 'double'.
1887         * lib/floorl.c: Include <config.h>.
1888         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1889         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1890         time.
1891         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1892         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1893         * modules/floorl (Depends-on): Add floor. Update conditions.
1894
1895 2011-10-09  Bruno Haible  <bruno@clisp.org>
1896
1897         rint: Fix ordering constraints.
1898         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1899         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1900         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1901
1902 2011-10-09  Bruno Haible  <bruno@clisp.org>
1903
1904         copysignl: Simplify for platforms where 'long double' == 'double'.
1905         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1906         alternative.
1907         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1908         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1909         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1910
1911 2011-10-09  Bruno Haible  <bruno@clisp.org>
1912
1913         Tests for module 'rintl'.
1914         * modules/rintl-tests: New file.
1915         * tests/test-rintl.c: New file.
1916
1917         New module 'rintl'.
1918         * lib/math.in.h (rintl): New declaration.
1919         * lib/rintl.c: New file.
1920         * m4/rintl.m4: New file.
1921         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1922         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1923         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1924         * modules/rintl: New file.
1925         * tests/test-math-c++.cc: Check the declaration of rintl.
1926         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1927         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1928         * doc/posix-functions/rintl.texi: Mention the new module.
1929
1930 2011-10-09  Bruno Haible  <bruno@clisp.org>
1931
1932         Tests for module 'rintf'.
1933         * modules/rintf-tests: New file.
1934         * tests/test-rintf.c: New file.
1935
1936         New module 'rintf'.
1937         * lib/math.in.h (rintf): New declaration.
1938         * lib/rintf.c: New file.
1939         * m4/rintf.m4: New file.
1940         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1942         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1943         * modules/rintf: New file.
1944         * tests/test-math-c++.cc: Check the declaration of rintf.
1945         * doc/posix-functions/rintf.texi: Mention the new module.
1946
1947 2011-10-09  Bruno Haible  <bruno@clisp.org>
1948
1949         rint: Support for MSVC.
1950         * lib/math.in.h (rint): New declaration.
1951         * lib/rint.c: New file.
1952         * m4/rint.m4: New file.
1953         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1954         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1955         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1956         * modules/rint (Description): Fix.
1957         (Files): Add lib/rint.c, m4/rint.m4.
1958         (Depends-on): Add math.
1959         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1960         gl_MATH_MODULE_INDICATOR.
1961         * tests/test-math-c++.cc: Check the declaration of rint.
1962         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1963         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1964         * doc/posix-functions/rint.texi: Mention the replacement provided by
1965         the module.
1966
1967         rint tests: More tests.
1968         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1969         minus-zero.h, infinity.h, nan.h.
1970         (main): Skip the test if the current rounding mode is not standard. Add
1971         tests for negative numbers, minus zero, infinity, NaN.
1972         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1973         tests/nan.h.
1974         (Depends-on): Add isnand-nolibm.
1975
1976 2011-10-09  Bruno Haible  <bruno@clisp.org>
1977
1978         Tests for module 'copysignl'.
1979         * modules/copysignl-tests: New file.
1980         * tests/test-copysignl.c: New file.
1981
1982         New module 'copysignl'.
1983         * lib/math.in.h (copysignl): New declaration.
1984         * lib/copysignl.c: New file.
1985         * m4/copysignl.m4: New file.
1986         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1987         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1988         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1989         HAVE_COPYSIGNL.
1990         * modules/copysignl: New file.
1991         * tests/test-math-c++.cc: Check the declaration of copysignl.
1992         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1993         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1994         * doc/posix-functions/copysignl.texi: Mention the new module.
1995
1996 2011-10-09  Bruno Haible  <bruno@clisp.org>
1997
1998         Tests for module 'copysignf'.
1999         * modules/copysignf-tests: New file.
2000         * tests/test-copysignf.c: New file.
2001
2002         New module 'copysignf'.
2003         * lib/math.in.h (copysignf): New declaration.
2004         * lib/copysignf.c: New file.
2005         * m4/copysignf.m4: New file.
2006         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
2007         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
2008         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
2009         HAVE_COPYSIGNF.
2010         * modules/copysignf: New file.
2011         * tests/test-math-c++.cc: Check the declaration of copysignf.
2012         * doc/posix-functions/copysignf.texi: Mention the new module.
2013
2014 2011-10-09  Bruno Haible  <bruno@clisp.org>
2015
2016         Ensure that HAVE_* variables are set to 1 before they are set to 0.
2017         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
2018         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
2019         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
2020         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
2021         gl_SIGNAL_H_DEFAULTS.
2022
2023 2011-10-09  Bruno Haible  <bruno@clisp.org>
2024
2025         poll: Make macro safer.
2026         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
2027         ac_cv_header_poll_h is not set.
2028
2029 2011-10-09  Bruno Haible  <bruno@clisp.org>
2030
2031         copysign: Provide replacement.
2032         * lib/math.in.h (copysign): New declaration.
2033         * lib/copysign.c: New file.
2034         * m4/copysign.m4: New file.
2035         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
2036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
2037         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
2038         HAVE_COPYSIGN.
2039         * modules/copysign (Description): Clarify.
2040         (Files): Add lib/copysign.c, m4/copysign.m4.
2041         (Depends-on): Add math, signbit.
2042         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
2043         gl_MATH_MODULE_INDICATOR.
2044         * tests/test-math-c++.cc: Check the declaration of copysign.
2045         * doc/posix-functions/copysign.texi: Mention the effects of the module
2046         on Minix and MSVC.
2047
2048 2011-10-09  Bruno Haible  <bruno@clisp.org>
2049
2050         isinf: Ensure macro on AIX 5.1.
2051         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
2052         macro.
2053         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
2054
2055 2011-10-09  Bruno Haible  <bruno@clisp.org>
2056
2057         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
2058         * modules/snprintf-posix-tests (configure.ac): Require
2059         gl_LONG_DOUBLE_VS_DOUBLE.
2060         * modules/sprintf-posix-tests (configure.ac): Likewise.
2061         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
2062         * modules/vasprintf-posix-tests (configure.ac): Likewise.
2063         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
2064         * modules/vsprintf-posix-tests (configure.ac): Likewise.
2065         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
2066         tests on platforms where 'long double' is the same as 'double'.
2067         * tests/test-sprintf-posix.h (test_function): Likewise.
2068         * tests/test-vasnprintf-posix.c (test_function): Likewise.
2069         * tests/test-vasprintf-posix.c (test_function): Likewise.
2070
2071         *printf: Fix for platforms where 'long double' == 'double'.
2072         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
2073         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
2074         * modules/dprintf-posix (Files): Add m4/math_h.m4.
2075         * modules/fprintf-posix (Files): Likewise.
2076         * modules/obstack-printf-posix (Files): Likewise.
2077         * modules/snprintf-posix (Files): Likewise.
2078         * modules/sprintf-posix (Files): Likewise.
2079         * modules/vasnprintf (Files): Likewise.
2080         * modules/vasnprintf-posix (Files): Likewise.
2081         * modules/vasprintf-posix (Files): Likewise.
2082         * modules/vdprintf-posix (Files): Likewise.
2083         * modules/vfprintf-posix (Files): Likewise.
2084         * modules/vsnprintf-posix (Files): Likewise.
2085         * modules/vsprintf-posix (Files): Likewise.
2086         * modules/unistdio/u8-vasnprintf (Files): Likewise.
2087         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
2088         * modules/unistdio/u16-vasnprintf (Files): Likewise.
2089         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
2090         * modules/unistdio/u32-vasnprintf (Files): Likewise.
2091         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
2092         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
2093
2094         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
2095         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
2096         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2097         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
2098         'long double'.
2099         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
2100
2101         isinf: Fix for platforms where 'long double' == 'double'.
2102         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
2103         Don't blindly assume 80-bit 'long double'.
2104
2105         isfinite: Fix for platforms where 'long double' == 'double'.
2106         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
2107         Don't blindly assume 80-bit 'long double'.
2108
2109         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
2110         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
2111         * modules/isfinite-tests (configure.ac): Require
2112         gl_LONG_DOUBLE_VS_DOUBLE.
2113         * modules/isinf-tests (configure.ac): Likewise.
2114         * modules/isnan-tests (configure.ac): Likewise.
2115         * modules/isnanl-tests (configure.ac): Likewise.
2116         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
2117         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
2118         tests on platforms where 'long double' is the same as 'double'.
2119         * tests/test-isinf.c (test_isinfl): Likewise.
2120         * tests/test-isnan.c (test_long_double): Likewise.
2121         * tests/test-isnanl.h (main): Likewise.
2122
2123 2011-10-08  Bruno Haible  <bruno@clisp.org>
2124
2125         Tests for module 'tanhf'.
2126         * modules/tanhf-tests: New file.
2127         * tests/test-tanhf.c: New file.
2128
2129         New module 'tanhf'.
2130         * lib/math.in.h (tanhf): New declaration.
2131         * lib/tanhf.c: New file.
2132         * m4/tanhf.m4: New file.
2133         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
2134         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
2135         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
2136         * modules/tanhf: New file.
2137         * tests/test-math-c++.cc: Check the declaration of tanhf.
2138         * doc/posix-functions/tanhf.texi: Mention the new module.
2139
2140         tanh: Use a .m4 file.
2141         * m4/tanh.m4: New file.
2142         * modules/tanh (Files): Add it.
2143         (configure.ac): Just invoke gl_FUNC_TANH.
2144
2145 2011-10-08  Bruno Haible  <bruno@clisp.org>
2146
2147         Tests for module 'coshf'.
2148         * modules/coshf-tests: New file.
2149         * tests/test-coshf.c: New file.
2150
2151         New module 'coshf'.
2152         * lib/math.in.h (coshf): New declaration.
2153         * lib/coshf.c: New file.
2154         * m4/coshf.m4: New file.
2155         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
2156         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
2157         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
2158         * modules/coshf: New file.
2159         * tests/test-math-c++.cc: Check the declaration of coshf.
2160         * doc/posix-functions/coshf.texi: Mention the new module.
2161
2162         cosh: Use a .m4 file.
2163         * m4/cosh.m4: New file.
2164         * modules/cosh (Files): Add it.
2165         (configure.ac): Just invoke gl_FUNC_COSH.
2166
2167 2011-10-08  Bruno Haible  <bruno@clisp.org>
2168
2169         Tests for module 'sinhf'.
2170         * modules/sinhf-tests: New file.
2171         * tests/test-sinhf.c: New file.
2172
2173         New module 'sinhf'.
2174         * lib/math.in.h (sinhf): New declaration.
2175         * lib/sinhf.c: New file.
2176         * m4/sinhf.m4: New file.
2177         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
2178         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
2179         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
2180         * modules/sinhf: New file.
2181         * tests/test-math-c++.cc: Check the declaration of sinhf.
2182         * doc/posix-functions/sinhf.texi: Mention the new module.
2183
2184         sinh: Use a .m4 file.
2185         * m4/sinh.m4: New file.
2186         * modules/sinh (Files): Add it.
2187         (configure.ac): Just invoke gl_FUNC_SINH.
2188
2189 2011-10-08  Bruno Haible  <bruno@clisp.org>
2190
2191         Tests for module 'atan2f'.
2192         * modules/atan2f-tests: New file.
2193         * tests/test-atan2f.c: New file.
2194
2195         New module 'atan2f'.
2196         * lib/math.in.h (atan2f): New declaration.
2197         * lib/atan2f.c: New file.
2198         * m4/atan2f.m4: New file.
2199         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
2200         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
2201         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
2202         * modules/atan2f: New file.
2203         * tests/test-math-c++.cc: Check the declaration of atan2f.
2204         * doc/posix-functions/atan2f.texi: Mention the new module.
2205
2206         atan2: Use a .m4 file.
2207         * m4/atan2.m4: New file.
2208         * modules/atan2 (Files): Add it.
2209         (configure.ac): Just invoke gl_FUNC_ATAN2.
2210
2211 2011-10-08  Bruno Haible  <bruno@clisp.org>
2212
2213         Tests for module 'atanf'.
2214         * modules/atanf-tests: New file.
2215         * tests/test-atanf.c: New file.
2216
2217         New module 'atanf'.
2218         * lib/math.in.h (atanf): New declaration.
2219         * lib/atanf.c: New file.
2220         * m4/atanf.m4: New file.
2221         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
2222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
2223         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
2224         * modules/atanf: New file.
2225         * tests/test-math-c++.cc: Check the declaration of atanf.
2226         * doc/posix-functions/atanf.texi: Mention the new module.
2227
2228         atan: Use a .m4 file.
2229         * m4/atan.m4: New file.
2230         * modules/atan (Files): Add it.
2231         (configure.ac): Just invoke gl_FUNC_ATAN.
2232
2233 2011-10-08  Bruno Haible  <bruno@clisp.org>
2234
2235         Tests for module 'acosf'.
2236         * modules/acosf-tests: New file.
2237         * tests/test-acosf.c: New file.
2238
2239         New module 'acosf'.
2240         * lib/math.in.h (acosf): New declaration.
2241         * lib/acosf.c: New file.
2242         * m4/acosf.m4: New file.
2243         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
2244         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
2245         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
2246         * modules/acosf: New file.
2247         * tests/test-math-c++.cc: Check the declaration of acosf.
2248         * doc/posix-functions/acosf.texi: Mention the new module.
2249
2250         acos: Use a .m4 file.
2251         * m4/acos.m4: New file.
2252         * modules/acos (Files): Add it.
2253         (configure.ac): Just invoke gl_FUNC_ACOS.
2254
2255 2011-10-08  Bruno Haible  <bruno@clisp.org>
2256
2257         Tests for module 'asinf'.
2258         * modules/asinf-tests: New file.
2259         * tests/test-asinf.c: New file.
2260
2261         New module 'asinf'.
2262         * lib/math.in.h (asinf): New declaration.
2263         * lib/asinf.c: New file.
2264         * m4/asinf.m4: New file.
2265         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
2266         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
2267         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
2268         * modules/asinf: New file.
2269         * tests/test-math-c++.cc: Check the declaration of asinf.
2270         * doc/posix-functions/asinf.texi: Mention the new module.
2271
2272         asin: Use a .m4 file.
2273         * m4/asin.m4: New file.
2274         * modules/asin (Files): Add it.
2275         (configure.ac): Just invoke gl_FUNC_ASIN.
2276
2277 2011-10-08  Bruno Haible  <bruno@clisp.org>
2278
2279         Tests for module 'tanf'.
2280         * modules/tanf-tests: New file.
2281         * tests/test-tanf.c: New file.
2282
2283         New module 'tanf'.
2284         * lib/math.in.h (tanf): New declaration.
2285         * lib/tanf.c: New file.
2286         * m4/tanf.m4: New file.
2287         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
2288         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
2289         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
2290         * modules/tanf: New file.
2291         * tests/test-math-c++.cc: Check the declaration of tanf.
2292         * doc/posix-functions/tanf.texi: Mention the new module.
2293
2294         tan: Use a .m4 file.
2295         * m4/tan.m4: New file.
2296         * modules/tan (Files): Add it.
2297         (configure.ac): Just invoke gl_FUNC_TAN.
2298
2299 2011-10-08  Bruno Haible  <bruno@clisp.org>
2300
2301         Tests for module 'cosf'.
2302         * modules/cosf-tests: New file.
2303         * tests/test-cosf.c: New file.
2304
2305         New module 'cosf'.
2306         * lib/math.in.h (cosf): New declaration.
2307         * lib/cosf.c: New file.
2308         * m4/cosf.m4: New file.
2309         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
2310         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
2311         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
2312         * modules/cosf: New file.
2313         * tests/test-math-c++.cc: Check the declaration of cosf.
2314         * doc/posix-functions/cosf.texi: Mention the new module.
2315
2316         cos: Use a .m4 file.
2317         * m4/cos.m4: New file.
2318         * modules/cos (Files): Add it.
2319         (configure.ac): Just invoke gl_FUNC_COS.
2320
2321 2011-10-08  Bruno Haible  <bruno@clisp.org>
2322
2323         Tests for module 'sinf'.
2324         * modules/sinf-tests: New file.
2325         * tests/test-sinf.c: New file.
2326
2327         New module 'sinf'.
2328         * lib/math.in.h (sinf): New declaration.
2329         * lib/sinf.c: New file.
2330         * m4/sinf.m4: New file.
2331         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
2332         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
2333         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
2334         * modules/sinf: New file.
2335         * tests/test-math-c++.cc: Check the declaration of sinf.
2336         * doc/posix-functions/sinf.texi: Mention the new module.
2337
2338         sin: Use a .m4 file.
2339         * m4/sin.m4: New file.
2340         * modules/sin (Files): Add it.
2341         (configure.ac): Just invoke gl_FUNC_SIN.
2342
2343 2011-10-08  Bruno Haible  <bruno@clisp.org>
2344
2345         Tests for module 'powf'.
2346         * modules/powf-tests: New file.
2347         * tests/test-powf.c: New file.
2348
2349         New module 'powf'.
2350         * lib/math.in.h (powf): New declaration.
2351         * lib/powf.c: New file.
2352         * m4/powf.m4: New file.
2353         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
2354         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
2355         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
2356         * modules/powf: New file.
2357         * tests/test-math-c++.cc: Check the declaration of powf.
2358         * doc/posix-functions/powf.texi: Mention the new module.
2359
2360         pow: Use a .m4 file.
2361         * m4/pow.m4: New file.
2362         * modules/pow (Files): Add it.
2363         (configure.ac): Just invoke gl_FUNC_POW.
2364
2365 2011-10-08  Bruno Haible  <bruno@clisp.org>
2366
2367         Tests for module 'log10f'.
2368         * modules/log10f-tests: New file.
2369         * tests/test-log10f.c: New file.
2370
2371         New module 'log10f'.
2372         * lib/math.in.h (log10f): New declaration.
2373         * lib/log10f.c: New file.
2374         * m4/log10f.m4: New file.
2375         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
2376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
2377         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
2378         * modules/log10f: New file.
2379         * tests/test-math-c++.cc: Check the declaration of log10f.
2380         * doc/posix-functions/log10f.texi: Mention the new module.
2381
2382         log10: Use a .m4 file.
2383         * m4/log10.m4: New file.
2384         * modules/log10 (Files): Add it.
2385         (configure.ac): Just invoke gl_FUNC_LOG10.
2386
2387 2011-10-08  Bruno Haible  <bruno@clisp.org>
2388
2389         Tests for module 'logf'.
2390         * modules/logf-tests: New file.
2391         * tests/test-logf.c: New file.
2392
2393         New module 'logf'.
2394         * lib/math.in.h (logf): New declaration.
2395         * lib/logf.c: New file.
2396         * m4/logf.m4: New file.
2397         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
2398         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
2399         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
2400         * modules/logf: New file.
2401         * tests/test-math-c++.cc: Check the declaration of logf.
2402         * doc/posix-functions/logf.texi: Mention the new module.
2403
2404         log: Use a .m4 file.
2405         * m4/log.m4: New file.
2406         * modules/log (Files): Add it.
2407         (configure.ac): Just invoke gl_FUNC_LOG.
2408
2409 2011-10-08  Bruno Haible  <bruno@clisp.org>
2410
2411         Tests for module 'expf'.
2412         * modules/expf-tests: New file.
2413         * tests/test-expf.c: New file.
2414
2415         New module 'expf'.
2416         * lib/math.in.h (expf): New declaration.
2417         * lib/expf.c: New file.
2418         * m4/expf.m4: New file.
2419         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
2420         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
2421         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
2422         * modules/expf: New file.
2423         * tests/test-math-c++.cc: Check the declaration of expf.
2424         * doc/posix-functions/expf.texi: Mention the new module.
2425
2426         exp: Use a .m4 file.
2427         * m4/exp.m4: New file.
2428         * modules/exp (Files): Add it.
2429         (configure.ac): Just invoke gl_FUNC_EXP.
2430
2431 2011-10-08  Bruno Haible  <bruno@clisp.org>
2432
2433         Tests for module 'sqrtf'.
2434         * modules/sqrtf-tests: New file.
2435         * tests/test-sqrtf.c: New file.
2436
2437         New module 'sqrtf'.
2438         * lib/math.in.h (sqrtf): New declaration.
2439         * lib/sqrtf.c: New file.
2440         * m4/sqrtf.m4: New file.
2441         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
2442         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
2443         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
2444         * modules/sqrtf: New file.
2445         * tests/test-math-c++.cc: Check the declaration of sqrtf.
2446         * doc/posix-functions/sqrtf.texi: Mention the new module.
2447
2448 2011-10-08  Bruno Haible  <bruno@clisp.org>
2449
2450         Tests: Avoid link failures w.r.t. libintl.
2451         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
2452         $(LIBINTL).
2453         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
2454         $(LIBINTL).
2455         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
2456         against $(LIBINTL).
2457         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
2458         $(LIBINTL).
2459         * modules/openat-tests (Makefile.am): Link test-fchmodat against
2460         $(LIBINTL).
2461         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
2462
2463 2011-10-08  Bruno Haible  <bruno@clisp.org>
2464
2465         pow tests: Defeat compiler optimizations.
2466         * tests/test-pow.c (main): Assign arguments to x and y before use.
2467
2468 2011-10-08  Bruno Haible  <bruno@clisp.org>
2469
2470         gnulib-tool: Improve last commit.
2471         * gnulib-tool (func_modules_transitive_closure): Simplify code.
2472         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
2473         ignore dependencies that are not among the modules list.
2474
2475 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
2476
2477         gnulib-tool: don't follow dependencies to avoided modules
2478         This fixes a bug that is related to the previous one.
2479         * gnulib-tool (func_modules_transitive_closure)
2480         (func_emit_autoconf_snippets):
2481         Check whether a dependency is acceptable before using it.
2482         (--extract-dependencies): Report an error if --avoid is also used,
2483         since this combination of options is not yet supported.
2484
2485         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
2486         Problem reported by Peter Dyballa in
2487         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
2488         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
2489         when echoing "$condition".
2490
2491 2011-10-07  Bruno Haible  <bruno@clisp.org>
2492
2493         Fix documentation about math functions on MacOS X.
2494         * doc/posix-functions/exp2.texi: Don't say the function is missing on
2495         MacOS X 10.5.
2496         * doc/posix-functions/fdim.texi: Likewise.
2497         * doc/posix-functions/feclearexcept.texi: Likewise.
2498         * doc/posix-functions/fegetenv.texi: Likewise.
2499         * doc/posix-functions/fegetround.texi: Likewise.
2500         * doc/posix-functions/feholdexcept.texi: Likewise.
2501         * doc/posix-functions/feraiseexcept.texi: Likewise.
2502         * doc/posix-functions/fesetenv.texi: Likewise.
2503         * doc/posix-functions/fesetround.texi: Likewise.
2504         * doc/posix-functions/fetestexcept.texi: Likewise.
2505         * doc/posix-functions/feupdateenv.texi: Likewise.
2506         * doc/posix-functions/fmax.texi: Likewise.
2507         * doc/posix-functions/fmin.texi: Likewise.
2508         * doc/posix-functions/log2.texi: Likewise.
2509         * doc/posix-functions/modff.texi: Likewise.
2510         * doc/posix-functions/nan.texi: Likewise.
2511         * doc/posix-functions/nanf.texi: Likewise.
2512         * doc/posix-functions/nextafterf.texi: Likewise.
2513         * doc/posix-functions/remquo.texi: Likewise.
2514
2515 2011-10-07  Bruno Haible  <bruno@clisp.org>
2516
2517         modff: Drop assumption about library that defines modff.
2518         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
2519         AC_CHECK_FUNCS.
2520         * modules/modff (Files): Add m4/mathfunc.m4.
2521
2522 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
2523
2524         raise tests: Avoid a GCC warning.
2525         * tests/test-raise.c (handler): Use _Noreturn.
2526
2527 2011-10-07  Bruno Haible  <bruno@clisp.org>
2528
2529         Tests for module 'ldexpf'.
2530         * modules/ldexpf-tests: New file.
2531         * tests/test-ldexpf.c: New file.
2532
2533         New module 'ldexpf'.
2534         * lib/math.in.h (ldexpf): New declaration.
2535         * lib/ldexpf.c: New file.
2536         * m4/ldexpf.m4: New file.
2537         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
2538         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
2539         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
2540         * modules/ldexpf: New file.
2541         * tests/test-math-c++.cc: Check the declaration of ldexpf.
2542         * doc/posix-functions/ldexpf.texi: Mention the new module.
2543
2544 2011-10-06  Bruno Haible  <bruno@clisp.org>
2545
2546         frexpf: Work around problems on IRIX and mingw.
2547         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
2548         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
2549         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
2550         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
2551         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
2552         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
2553         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
2554
2555 2011-10-06  Bruno Haible  <bruno@clisp.org>
2556
2557         fabsf: Drop assumption about library that defines fabsf.
2558         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
2559         AC_CHECK_FUNCS.
2560         * modules/fabsf (Files): Add m4/mathfunc.m4.
2561
2562 2011-10-06  Bruno Haible  <bruno@clisp.org>
2563
2564         frexpf: Drop assumption about library that defines frexpf.
2565         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
2566         'int *', 'float *', 'long double *', 'float', 'long double'.
2567         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
2568         AC_CHECK_FUNCS.
2569         * modules/frexpf (Files): Add m4/mathfunc.m4.
2570
2571         Tests for module 'frexpf'.
2572         * modules/frexpf-tests: New file.
2573         * tests/test-frexpf.c: New file.
2574
2575         New module 'frexpf'.
2576         * lib/math.in.h (frexpf): New declaration.
2577         * lib/frexpf.c: New file.
2578         * m4/frexpf.m4: New file.
2579         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
2580         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
2581         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
2582         * modules/frexpf: New file.
2583         * tests/test-math-c++.cc: Check the declaration of frexpf.
2584         * doc/posix-functions/frexpf.texi: Mention the new module.
2585
2586 2011-10-06  Bruno Haible  <bruno@clisp.org>
2587
2588         math: Sort function declarations of math.in.h.
2589         * lib/math.in.h (frexp, logb): Move declarations.
2590
2591 2011-10-05  Bruno Haible  <bruno@clisp.org>
2592
2593         Tests for module 'modff'.
2594         * modules/modff-tests: New file.
2595         * tests/test-modff.c: New file.
2596
2597         New module 'modff'.
2598         * lib/math.in.h (modff): New declaration.
2599         * lib/modff.c: New file.
2600         * m4/modff.m4: New file.
2601         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
2602         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
2603         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
2604         * modules/modff: New file.
2605         * tests/test-math-c++.cc: Check the declaration of modff.
2606         * doc/posix-functions/modff.texi: Mention the new module.
2607
2608         modf tests: Make test sharper.
2609         * tests/test-modf.c (main): Strengthen upper bound.
2610
2611         modf: Use a .m4 file.
2612         * m4/modf.m4: New file.
2613         * modules/modf (Files): Add it.
2614         (configure.ac): Just invoke gl_FUNC_MODF.
2615
2616 2011-10-05  Bruno Haible  <bruno@clisp.org>
2617
2618         Tests for module 'fmodf'.
2619         * modules/fmodf-tests: New file.
2620         * tests/test-fmodf.c: New file.
2621
2622         New module 'fmodf'.
2623         * lib/math.in.h (fmodf): New declaration.
2624         * lib/fmodf.c: New file.
2625         * m4/fmodf.m4: New file.
2626         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
2627         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
2628         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
2629         * modules/fmodf: New file.
2630         * tests/test-math-c++.cc: Check the declaration of fmodf.
2631         * doc/posix-functions/fmodf.texi: Mention the new module.
2632
2633         fmod: Use a .m4 file.
2634         * m4/fmod.m4: New file.
2635         * modules/fmod (Files): Add it.
2636         (configure.ac): Just invoke gl_FUNC_FMOD.
2637
2638 2011-10-05  Bruno Haible  <bruno@clisp.org>
2639
2640         Tests for module 'fabsf'.
2641         * modules/fabsf-tests: New file.
2642         * tests/test-fabsf.c: New file.
2643
2644         New module 'fabsf'.
2645         * lib/math.in.h (fabsf): New declaration.
2646         * lib/fabsf.c: New file.
2647         * m4/fabsf.m4: New file.
2648         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
2649         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
2650         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
2651         * modules/fabsf: New file.
2652         * tests/test-math-c++.cc: Check the declaration of fabsf.
2653         * doc/posix-functions/fabsf.texi: Mention the new module.
2654
2655         fabs: Use a .m4 file.
2656         * m4/fabs.m4: New file.
2657         * modules/fabs (Files): Add it.
2658         (configure.ac): Just invoke gl_FUNC_FABS.
2659
2660 2011-10-05  Jim Meyering  <meyering@redhat.com>
2661
2662         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
2663         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
2664         ls -lL regression introduced in coreutils-8.12, it does so at the
2665         cost of an additional stat call in the common case.  Besides, now
2666         that the kernel change that prompted commit 95f7c57f has been reverted
2667         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
2668         we have no use for commit 95f7c57f, "file-has-acl: use
2669         acl_extended_file_nofollow if available".
2670
2671 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
2672
2673         file-has-acl: revert unintended change in behavior of ls -L
2674         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
2675         derived from...
2676         (file_has_acl): ...code here.  Call it.
2677         This problem was introduced with 2011-07-22 commit 95f7c57f,
2678         "file-has-acl: use acl_extended_file_nofollow if available".
2679         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
2680
2681 2011-10-03  Bruno Haible  <bruno@clisp.org>
2682
2683         poll: Avoid link errors on MSVC.
2684         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
2685         * modules/poll (Depends-on): Add sockets.
2686         (Link): New section.
2687         * NEWS: Mention the change.
2688         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
2689         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
2690         $(LIB_POLL) instead of $(LIBSOCKET).
2691
2692 2011-10-03  Bruno Haible  <bruno@clisp.org>
2693
2694         sys_select tests: Fix link error on MSVC 9.
2695         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
2696         with $(LIB_SELECT) instead of $(LIBSOCKET).
2697
2698 2011-10-03  Bruno Haible  <bruno@clisp.org>
2699
2700         sys_select: Fix compilation error on mingw.
2701         * lib/sys_select.in.h: On native Windows, include <io.h>.
2702
2703 2011-10-03  Bruno Haible  <bruno@clisp.org>
2704
2705         wmemset: Support for MSVC.
2706         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
2707         whether wmemset() exists.
2708
2709 2011-10-03  Bruno Haible  <bruno@clisp.org>
2710
2711         wmemmove: Support for MSVC.
2712         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
2713         whether wmemmove() exists.
2714
2715 2011-10-03  Bruno Haible  <bruno@clisp.org>
2716
2717         wmemcpy: Support for MSVC.
2718         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
2719         whether wmemcpy() exists.
2720
2721 2011-10-03  Bruno Haible  <bruno@clisp.org>
2722
2723         wmemcmp: Support for MSVC.
2724         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
2725         whether wmemcmp() exists.
2726
2727 2011-10-03  Bruno Haible  <bruno@clisp.org>
2728
2729         wmemchr: Support for MSVC.
2730         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
2731         whether wmemchr() exists.
2732
2733 2011-10-03  Bruno Haible  <bruno@clisp.org>
2734
2735         glthread/*, strsignal: Support for MSVC.
2736         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
2737         including <winsock.h> on MSVC 9.
2738         * lib/glthread/lock.h: Likewise.
2739         * lib/glthread/thread.h: Likewise.
2740         * lib/glthread/tls.h: Likewise.
2741         * lib/glthread/yield.h: Likewise.
2742         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
2743         if HAVE_UNISTD_H is false.
2744         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
2745
2746 2011-10-03  Bruno Haible  <bruno@clisp.org>
2747
2748         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
2749         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
2750         Set to 100000.
2751
2752 2011-10-03  Bruno Haible  <bruno@clisp.org>
2753
2754         acl: Fix specification.
2755         * lib/file-has-acl.c (file_has_acl): Fix specification.
2756
2757 2011-10-03  Bruno Haible  <bruno@clisp.org>
2758
2759         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
2760         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
2761         (compute_curr_prefix, shared_library_fullname,
2762         find_shared_library_fullname, get_shared_library_fullname, relocate):
2763         Use it together with PIC && INSTALLDIR.
2764         Reported by <jojelino@gmail.com>
2765         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
2766
2767 2011-10-01  Jim Meyering  <meyering@redhat.com>
2768
2769         maint.mk: adjust a release-related rule not to require use of gzip
2770         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
2771         Instead, check each file in $(DIST_ARCHIVES).  This is better for
2772         projects that build only .tar.xz files.  Also fix an erroneous test.
2773
2774         test-linkat: don't leave behind a temporary file
2775         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
2776         Otherwise, coreutils' "make distcheck" would fail with this:
2777           Only in /c/cu/tests/torture/coreutils/test/\
2778             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
2779           make[2]: *** [my-distcheck] Error 1
2780
2781         float, math: add omitted file
2782         * lib/itold.c: Add file, required for yesterday's float change.
2783
2784 2011-10-01  Bruno Haible  <bruno@clisp.org>
2785
2786         isinf: Fix for OpenBSD/x86.
2787         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
2788         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
2789         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2790
2791 2011-10-01  Bruno Haible  <bruno@clisp.org>
2792
2793         isfinite: Fix syntax error in configure test.
2794         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
2795
2796         isfinite: Fix typo.
2797         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
2798         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
2799
2800 2011-10-01  Bruno Haible  <bruno@clisp.org>
2801
2802         nonblocking tests: Fix test failure on Linux/IA-64.
2803         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
2804         Set to 270000.
2805
2806 2011-10-01  Bruno Haible  <bruno@clisp.org>
2807
2808         mkfifoat tests: Fix a test failure on mingw.
2809         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
2810         with error ENOSYS.
2811
2812 2011-09-30  Bruno Haible  <bruno@clisp.org>
2813
2814         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
2815         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
2816         'long double'. Set REPLACE_ITOLD.
2817         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
2818         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
2819         * lib/itold.c: New file.
2820         * modules/float (Files): Add lib/itold.c.
2821         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
2822         (Makefile.am): Substitute REPLACE_ITOLD.
2823         * modules/math (Depends-on): Add float.
2824         (Makefile.am): Substitute REPLACE_ITOLD.
2825         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
2826         * doc/posix-headers/math.texi: Likewise.
2827         * doc/posix-functions/logl.texi: Likewise.
2828
2829 2011-09-30  Bruno Haible  <bruno@clisp.org>
2830
2831         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
2832         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
2833         Set to 140000.
2834
2835 2011-09-30  Bruno Haible  <bruno@clisp.org>
2836
2837         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2838         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2839         invocation, say "right after AC_PROG_CC_STDC", not "right after
2840         AC_PROG_CC".
2841         Reported by Gary V. Vaughan <gary@gnu.org>.
2842
2843 2011-09-30  Bruno Haible  <bruno@clisp.org>
2844
2845         Centralize C99 requirement.
2846         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2847         * modules/stdarg (configure.ac-early): Invoke it instead of
2848         AC_PROG_CC_STDC.
2849         Reported by Gary V. Vaughan and Paul Eggert.
2850
2851 2011-09-29  Bruno Haible  <bruno@clisp.org>
2852
2853         float: Fix LDBL_MAX value on Linux/PowerPC.
2854         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2855         on Linux/PowerPC.
2856         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2857         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2858         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2859         platform.
2860         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2861
2862 2011-09-29  Bruno Haible  <bruno@clisp.org>
2863
2864         doc: Improve doc about gl_EARLY.
2865         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2866         AC_PROG_CC_STDC invocation.
2867         Reported by Gary V. Vaughan <gary@gnu.org>.
2868
2869 2011-09-28  Bruno Haible  <bruno@clisp.org>
2870
2871         fgetc, fputc, fread, fwrite tests: Fix link error.
2872         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2873         on non-MSVC platforms.
2874         * tests/test-fputc.c (main): Likewise.
2875         * tests/test-fread.c (main): Likewise.
2876         * tests/test-fwrite.c (main): Likewise.
2877         Reported by Jim Meyering.
2878
2879 2011-09-27  Bruno Haible  <bruno@clisp.org>
2880
2881         fputc, fwrite tests: Avoid test failure on MSVC.
2882         * tests/test-fgetc.c: Include msvc-inval.h.
2883         (main): Invoke gl_msvc_inval_ensure_handler.
2884         * tests/test-fputc.c: Include msvc-inval.h.
2885         (main): Invoke gl_msvc_inval_ensure_handler.
2886         * tests/test-fread.c: Include msvc-inval.h.
2887         (main): Invoke gl_msvc_inval_ensure_handler.
2888         * tests/test-fwrite.c: Include msvc-inval.h.
2889         (main): Invoke gl_msvc_inval_ensure_handler.
2890         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2891         * modules/fputc-tests (Depends-on): Likewise.
2892         * modules/fread-tests (Depends-on): Likewise.
2893         * modules/fwrite-tests (Depends-on): Likewise.
2894
2895 2011-09-27  Bruno Haible  <bruno@clisp.org>
2896
2897         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2898         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2899         (raise): Remove older, duplicated declaration.
2900         (_gl_raise_SIGPIPE): New declaration.
2901         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2902         (rpl_raise): Remove function.
2903         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2904         a gnulib-defined SIGPIPE here.
2905         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2906         'sigprocmask' has detected missing signal-blocking and the module
2907         'sigpipe' is enabled.
2908         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2909
2910 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2911
2912         base64-tests: avoid memory leak
2913         * tests/test-base64.c (main): Plug memory leak.
2914
2915         base32: new module
2916         * modules/base32: New module.
2917         * lib/base32.c: New file.
2918         * lib/base32.h: Likewise.
2919         * m4/base32.m4: Likewise.
2920         * modules/base32-tests: New test.
2921         * tests/test-base32.c: Likewise.
2922         * MODULES.html.sh (Misc): Mention it.
2923
2924 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2925
2926         gnulib: use more-standard license notice wording
2927         * gnulib-tool (func_emit_copyright_notice): When emitting a
2928         license notice into a file, use the standard wording as suggested
2929         by the current information for GNU maintainers, except say "file"
2930         rather than "program".  The new wording gives a license version
2931         number, which addresses an issue raised by Glenn Morris in
2932         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2933         * m4/onceonly.m4: Use that same wording here, too.
2934
2935         dup2: minor simplification
2936         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2937         as lib/dup2.c no longer uses 'inline'.
2938
2939 2011-09-25  Bruno Haible  <bruno@clisp.org>
2940
2941         strings: Fix compilation error on MSVC.
2942         * lib/strings.in.h: Include <stddef.h> for size_t.
2943
2944 2011-09-25  Bruno Haible  <bruno@clisp.org>
2945
2946         fflush et al.: Document limitation on MSVC.
2947         * doc/posix-functions/fflush.texi: Document possible crash in handling
2948         mode other than DEFAULT_HANDLING.
2949         * doc/posix-functions/fgetc.texi: Likewise.
2950         * doc/posix-functions/fputc.texi: Likewise.
2951         * doc/posix-functions/fread.texi: Likewise.
2952         * doc/posix-functions/fwrite.texi: Likewise.
2953
2954 2011-09-25  Bruno Haible  <bruno@clisp.org>
2955
2956         msvc-inval: Allow three invalid parameter handling modes.
2957         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2958         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2959         macros.
2960         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2961         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2962         SANE_LIBRARY_HANDLING as a no-op.
2963         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2964         <stdlib.h>.
2965         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2966
2967 2011-09-25  Bruno Haible  <bruno@clisp.org>
2968
2969         msvc-inval: Make handler multithread-safe.
2970         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2971         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2972         declarations.
2973         (gl_msvc_inval_current): New declaration.
2974         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2975         Operate on the structure returned by gl_msvc_inval_current().
2976         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2977         Remove varaiables.
2978         (tls_index, tls_initialized): New variables.
2979         (not_per_thread): New variable.
2980         (gl_msvc_inval_current): New function.
2981         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2982         returned by gl_msvc_inval_current().
2983
2984 2011-09-25  Bruno Haible  <bruno@clisp.org>
2985
2986         msvc-inval: Install handler globally.
2987         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2988         !_MSC_VER.
2989         (gl_msvc_invalid_parameter_handler): Remove declaration.
2990         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2991         declarations.
2992         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2993         Install the handler globally, don't uninstall it.
2994         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2995         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2996         currently valid, call RaiseException instead.
2997         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2998         for !_MSC_VER.
2999
3000 2011-09-25  Bruno Haible  <bruno@clisp.org>
3001
3002         strerror_r-posix: Fix for MSVC 9.
3003         * lib/strerror_r.c (local_snprintf): New function.
3004         (snprintf): Define to local_snprintf, not to _snprintf.
3005
3006 2011-09-25  Bruno Haible  <bruno@clisp.org>
3007
3008         ftruncate: Support for MSVC 9.
3009         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
3010         (chsize_nothrow): New function.
3011         (chsize): Redefine as a macro.
3012         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
3013         * modules/ftruncate (Depends-on): Add msvc-inval.
3014
3015 2011-09-25  Bruno Haible  <bruno@clisp.org>
3016
3017         New module 'fstat'.
3018         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
3019         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
3020         * lib/fchdir.c (rpl_fstat): Remove function.
3021         * m4/fstat.m4: New file.
3022         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
3023         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
3024         declared.
3025         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
3026         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
3027         * modules/fstat: New file.
3028         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
3029         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
3030         is set.
3031         * doc/posix-functions/fstat.texi: Mention the new module and the
3032         problem on MSVC.
3033         * NEWS: Mention the change.
3034         * modules/acl (Depends-on): Add fstat.
3035         * modules/chdir-safer (Depends-on): Likewise.
3036         * modules/chown (Depends-on): Likewise.
3037         * modules/copy-file (Depends-on): Likewise.
3038         * modules/fchdir (Depends-on): Likewise.
3039         * modules/fdopendir (Depends-on): Likewise.
3040         * modules/fopen (Depends-on): Likewise.
3041         * modules/fts (Depends-on): Likewise.
3042         * modules/getcwd (Depends-on): Likewise.
3043         * modules/isapipe (Depends-on): Likewise.
3044         * modules/linkat (Depends-on): Likewise.
3045         * modules/lseek (Depends-on): Likewise.
3046         * modules/mkdir-p (Depends-on): Likewise.
3047         * modules/open (Depends-on): Likewise.
3048         * modules/openat (Depends-on): Likewise.
3049         * modules/read-file (Depends-on): Likewise.
3050         * modules/renameat (Depends-on): Likewise.
3051         * modules/utimens (Depends-on): Likewise.
3052
3053 2011-09-25  Bruno Haible  <bruno@clisp.org>
3054
3055         linkat: Fix compilation on MSVC 9.
3056         * lib/linkat.c: Don't include <stdint.h>.
3057
3058 2011-09-25  Bruno Haible  <bruno@clisp.org>
3059
3060         fclose: Support for MSVC 9.
3061         * lib/fclose.c: Include msvc-inval.h.
3062         (fclose_nothrow): New function.
3063         (rpl_fclose): Use it.
3064         * modules/fclose (Depends-on): Add msvc-inval.
3065         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
3066
3067 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
3068
3069         dup2: minor simplifications
3070         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
3071         that it's a performance win.
3072         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
3073         ! defined __CYGWIN__)" to "ifdef F_GETFL".
3074
3075 2011-09-24  Jim Meyering  <meyering@redhat.com>
3076
3077         test-futimens: avoid a warning from gcc -Wshadow
3078         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
3079         to avoid a shadowing warning.
3080
3081 2011-09-24  Bruno Haible  <bruno@clisp.org>
3082
3083         fdopen: Support for MSVC 9.
3084         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
3085         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
3086         * lib/fdopen.c: Include msvc-inval.h.
3087         (fdopen_nothrow): New function.
3088         (rpl_fdopen): Use it.
3089         * modules/fdopen (Depends-on): Add msvc-inval.
3090         * modules/fclose-tests (Depends-on): Add fdopen.
3091         * modules/fflush-tests (Depends-on): Likewise.
3092         * modules/fgetc-tests (Depends-on): Likewise.
3093         * modules/fputc-tests (Depends-on): Likewise.
3094         * modules/fread-tests (Depends-on): Likewise.
3095         * modules/freopen-tests (Depends-on): Likewise.
3096         * modules/fseeko-tests (Depends-on): Likewise.
3097         * modules/ftello-tests (Depends-on): Likewise.
3098         * modules/fwrite-tests  (Depends-on): Likewise.
3099         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
3100
3101 2011-09-24  Bruno Haible  <bruno@clisp.org>
3102
3103         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
3104         * modules/fgetc-tests (Depends-on): Add unistd.
3105         * modules/fputc-tests (Depends-on): Likewise.
3106         * modules/fread-tests (Depends-on): Likewise.
3107         * modules/fwrite-tests (Depends-on): Likewise.
3108
3109 2011-09-24  Bruno Haible  <bruno@clisp.org>
3110
3111         dup: Simplify autoconf test.
3112         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
3113         on gl_MSVC_INVAL's result.
3114
3115 2011-09-24  Bruno Haible  <bruno@clisp.org>
3116
3117         Tests for function fwrite().
3118         * modules/fwrite-tests: New file.
3119         * tests/test-fwrite.c: New file.
3120         * modules/stdio-tests (Depends-on): Add fwrite-tests.
3121
3122         Tests for function fread().
3123         * modules/fread-tests: New file.
3124         * tests/test-fread.c: New file.
3125         * modules/stdio-tests (Depends-on): Add fread-tests.
3126
3127         Activate fputc tests.
3128         * modules/stdio-tests (Depends-on): Add fputc-tests.
3129
3130         Enhance fgetc, fputc tests.
3131         * tests/test-fgetc.c (main): Also test the stream's error indicator.
3132         * tests/test-fputc.c (main): Likewise.
3133
3134 2011-09-24  Bruno Haible  <bruno@clisp.org>
3135
3136         write: Support for MSVC 9.
3137         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
3138         is not 1.
3139         * lib/write.c (write_nothrow): New function.
3140         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
3141         not 1. Use write_nothrow.
3142         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
3143         invalid parameter handler.
3144         (gl_PREREQ_WRITE): New macro.
3145         * modules/write (Depends-on): Add msvc-inval.
3146         (configure.ac): Invoke gl_PREREQ_WRITE.
3147         * doc/posix-functions/write.texi: Mention the problem on MSVC.
3148
3149 2011-09-24  Bruno Haible  <bruno@clisp.org>
3150
3151         read: Fix last commit.
3152         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
3153
3154 2011-09-24  Bruno Haible  <bruno@clisp.org>
3155
3156         dup2: Fix last commit.
3157         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
3158         (rpl_dup2): Disable fcntl workaround on native Windows.
3159
3160         sigprocmask: Make code safer.
3161         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
3162         section that changes macro definitions for this compilation unit.
3163
3164 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3165
3166         dup2: clarify by coalescing Windows-specific material
3167         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
3168         "msvc-nothrow.h"' to the Windows-specific section, so that the
3169         Emacs source need not contain these include files.
3170         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
3171         Windows-specific fixes into this function rather than just the
3172         nothrow fix, as this shortens and clarifies the code.  Always
3173         define as a function, as that's a bit cleaner than having it be
3174         sometimes a function and sometimes a macro.
3175         (rpl_dup2): Move the Windows-specific stuff out of here and into
3176         ms_windows_dup2.  Don't protect the Haiku-related fix with
3177         "#if !defined __linux__", as the same code also works around
3178         a Linux kernel bug, and it doesn't add any system calls on any
3179         platform.  Add comment about FreeBSD 6.1.
3180
3181         sigprocmask: move #include directive
3182         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
3183         Windows-specific section, so that the Emacs source need not
3184         contain msvc-inval.h.
3185
3186 2011-09-23  Bruno Haible  <bruno@clisp.org>
3187
3188         read: Support for MSVC 9.
3189         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
3190         is not 1.
3191         * lib/read.c (read_nothrow): New function.
3192         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
3193         read_nothrow.
3194         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
3195         invalid parameter handler.
3196         (gl_PREREQ_READ): New macro.
3197         * modules/read (Depends-on): Add msvc-inval.
3198         (configure.ac): Invoke gl_PREREQ_READ.
3199         * doc/posix-functions/read.texi: Mention the problem on MSVC.
3200
3201 2011-09-23  Bruno Haible  <bruno@clisp.org>
3202
3203         close: Support for MSVC 9.
3204         * lib/close.c: Include <errno.h>, msvc-inval.h.
3205         (close_nothrow): New function.
3206         (rpl_close): Use it.
3207         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
3208         invalid parameter handler.
3209         * modules/close (Depends-on): Add msvc-inval.
3210         * modules/dup2-tests (Depends-on): Add close.
3211         * modules/dup3-tests (Depends-on): Likewise.
3212         * modules/fcntl-tests (Depends-on): Likewise.
3213         * modules/spawn-pipe-tests (Depends-on): Likewise.
3214         * modules/unistd-safer-tests (Depends-on): Likewise.
3215         * doc/posix-functions/close.texi: Mention the problem on MSVC.
3216
3217 2011-09-23  Bruno Haible  <bruno@clisp.org>
3218
3219         New module 'dup'.
3220         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
3221         Allow replacement.
3222         * lib/dup.c: New file.
3223         * lib/fchdir.c (rpl_dup): Remove function.
3224         * m4/dup.m4: New file.
3225         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
3226         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
3227         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
3228         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
3229         * modules/dup: New file.
3230         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
3231         'dup' module is in use.
3232         * modules/fdopendir (Depends-on): Add dup.
3233         * modules/fdutimensat-tests (Depends-on): Likewise.
3234         * modules/fts (Depends-on): Likewise.
3235         * modules/futimens-tests (Depends-on): Likewise.
3236         * modules/posix_spawnp-tests (Depends-on): Likewise.
3237         * modules/unistd-safer-tests (Depends-on): Likewise.
3238         * modules/utimens-tests (Depends-on): Likewise.
3239         * doc/posix-functions/dup.texi: Mention the new module and the problem
3240         on MSVC.
3241
3242 2011-09-23  Bruno Haible  <bruno@clisp.org>
3243
3244         getdtablesize: Support for MSVC 9.
3245         * lib/getdtablesize.c: Include msvc-inval.h.
3246         (_setmaxstdio_nothrow): New function.
3247         (_setmaxstdio): Redefine it.
3248         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
3249         * modules/getdtablesize (Depends-on): Add msvc-inval.
3250         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
3251
3252 2011-09-23  Bruno Haible  <bruno@clisp.org>
3253
3254         signal-h: Rename from signal.
3255         * modules/signal-h: Renamed from modules/signal.
3256         * modules/pthread_sigmask (Depends-on): Update.
3257         * modules/raise (Depends-on): Likewise.
3258         * modules/sigaction (Depends-on): Likewise.
3259         * modules/sigpipe (Depends-on): Likewise.
3260         * modules/sigprocmask (Depends-on): Likewise.
3261         * modules/sys_select (Depends-on): Likewise.
3262         * modules/signal-h-tests: Renamed from modules/signal-tests.
3263         (Files, Depends-on, Makefile.am): Update.
3264         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
3265         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
3266         (Files, Makefile.am): Update.
3267         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
3268         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
3269         * modules/signal: New placeholder file.
3270         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
3271         * doc/posix-headers/signal.texi: Update.
3272         * NEWS: Mention the change.
3273
3274 2011-09-23  Bruno Haible  <bruno@clisp.org>
3275
3276         sigprocmask: Avoid crashes through signal() on MSVC 9.
3277         * lib/sigprocmask.c: Include msvc-inval.h.
3278         (signal_nothrow): New function.
3279         (signal): Redefine it.
3280         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
3281         * modules/sigprocmask (Depends-on): Add msvc-inval.
3282         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
3283
3284 2011-09-23  Bruno Haible  <bruno@clisp.org>
3285
3286         Tests for module 'raise'.
3287         * modules/raise-tests: New file.
3288         * tests/test-raise.c: New file.
3289
3290         raise: Support for MSVC.
3291         * lib/signal.in.h (raise): New declaration.
3292         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
3293         for native Windows platforms.
3294         * m4/raise.m4: New file.
3295         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
3296         HAVE_RAISE, REPLACE_RAISE.
3297         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
3298         REPLACE_RAISE.
3299         * modules/raise (Status, Notice): Remove fields.
3300         (Files): Add m4/raise.m4.
3301         (Depends-on): Add signal, msvc-inval.
3302         (configure.ac): Use the common idioms.
3303         (Maintainer): Add me.
3304         * tests/test-signal-c++.cc: Check the signature of raise.
3305         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
3306
3307 2011-09-23  Bruno Haible  <bruno@clisp.org>
3308
3309         pipe2: Fix compilation on pre-C99 compilers.
3310         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
3311
3312 2011-09-23  Bruno Haible  <bruno@clisp.org>
3313
3314         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
3315         * lib/msvc-nothrow.h: New file.
3316         * lib/msvc-nothrow.c: New file.
3317         * m4/msvc-nothrow.m4: New file.
3318         * modules/msvc-nothrow: New file.
3319         * lib/dup2.c: Include msvc-nothrow.h.
3320         (rpl_dup2): No need to protect _get_osfhandle call here.
3321         * lib/accept4.c: Include msvc-nothrow.h.
3322         * lib/error.c: Likewise.
3323         * lib/fcntl.c: Likewise.
3324         * lib/lseek.c: Likewise.
3325         * lib/nonblocking.c: Likewise.
3326         * lib/poll.c: Likewise.
3327         * lib/read.c: Likewise.
3328         * lib/select.c: Likewise.
3329         * lib/sockets.h: Likewise.
3330         * lib/sockets.c: Likewise.
3331         * lib/stdio-read.c: Likewise.
3332         * lib/stdio-write.c: Likewise.
3333         * lib/write.c: Likewise.
3334         * lib/w32sock.h: Likewise.
3335         * lib/w32spawn.h: Likewise.
3336         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
3337         * lib/fsync.c: Likewise.
3338         * lib/isapipe.c: Likewise.
3339         * modules/dup2 (Depends-on): Add msvc-nothrow.
3340         * modules/accept4 (Depends-on): Likewise.
3341         * modules/error (Depends-on): Likewise.
3342         * modules/fcntl (Depends-on): Likewise.
3343         * modules/lseek (Depends-on): Likewise.
3344         * modules/nonblocking (Depends-on): Likewise.
3345         * modules/poll (Depends-on): Likewise.
3346         * modules/read (Depends-on): Likewise.
3347         * modules/select (Depends-on): Likewise.
3348         * modules/sockets (Depends-on): Likewise.
3349         * modules/sigpipe (Depends-on): Likewise.
3350         * modules/write (Depends-on): Likewise.
3351         * modules/accept (Depends-on): Likewise.
3352         * modules/bind (Depends-on): Likewise.
3353         * modules/connect (Depends-on): Likewise.
3354         * modules/gethostname (Depends-on): Likewise.
3355         * modules/getpeername (Depends-on): Likewise.
3356         * modules/getsockname (Depends-on): Likewise.
3357         * modules/getsockopt (Depends-on): Likewise.
3358         * modules/ioctl (Depends-on): Likewise.
3359         * modules/listen (Depends-on): Likewise.
3360         * modules/recv (Depends-on): Likewise.
3361         * modules/recvfrom (Depends-on): Likewise.
3362         * modules/send (Depends-on): Likewise.
3363         * modules/sendto (Depends-on): Likewise.
3364         * modules/setsockopt (Depends-on): Likewise.
3365         * modules/shutdown (Depends-on): Likewise.
3366         * modules/socket (Depends-on): Likewise.
3367         * modules/execute (Depends-on): Likewise.
3368         * modules/spawn-pipe (Depends-on): Likewise.
3369         * modules/flock (Depends-on): Likewise.
3370         * modules/fsync (Depends-on): Likewise.
3371         * modules/isapipe (Depends-on): Likewise.
3372         * tests/test-cloexec.c: Include msvc-nothrow.h.
3373         * tests/test-dup-safer.c: Likewise.
3374         * tests/test-dup2.c: Likewise.
3375         * tests/test-dup3.c: Likewise.
3376         * tests/test-fcntl.c: Likewise.
3377         * tests/test-pipe.c: Likewise.
3378         * tests/test-pipe2.c: Likewise.
3379         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
3380         * modules/unistd-safer-tests (Depends-on): Likewise.
3381         * modules/dup2-tests (Depends-on): Likewise.
3382         * modules/dup3-tests (Depends-on): Likewise.
3383         * modules/fcntl-tests (Depends-on): Likewise.
3384         * modules/pipe-posix-tests (Depends-on): Likewise.
3385         * modules/pipe2-tests (Depends-on): Likewise.
3386
3387 2011-09-23  Bruno Haible  <bruno@clisp.org>
3388
3389         dup2: Make code more maintainable.
3390         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
3391         (rpl_dup2): Use it.
3392         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
3393         * modules/dup2 (configure.ac): Invoke it.
3394         Reported by Paul Eggert.
3395
3396 2011-09-23  Bruno Haible  <bruno@clisp.org>
3397
3398         msvc-inval: Fix compilation error.
3399         * lib/msvc-inval.h: Include <excpt.h>.
3400
3401 2011-09-23  Bruno Haible  <bruno@clisp.org>
3402
3403         mkdir: Tweak for MSVC 9.
3404         * lib/sys_stat.in.h: Update comments.
3405         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
3406
3407         Tests for module 'chdir'.
3408         * modules/chdir-tests: New file.
3409         * tests/test-chdir.c: New file.
3410
3411         New module 'chdir'.
3412         * modules/chdir: New file.
3413         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
3414         (chdir): New declaration.
3415         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
3416         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
3417         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
3418         * tests/test-unistd-c++.cc: Check signature of chdir.
3419         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
3420         * modules/chdir-long (Depends-on): Add chdir.
3421         * modules/fchdir (Depends-on): Likewise.
3422         * modules/rename (Depends-on): Likewise.
3423         * modules/savewd (Depends-on): Likewise.
3424
3425         rmdir: Support for mingw, MSVC 9.
3426         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
3427         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
3428
3429         getcwd: Tweak for MSVC 9.
3430         * lib/unistd.in.h: Update comments.
3431         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
3432
3433 2011-09-22  Bruno Haible  <bruno@clisp.org>
3434
3435         strerror_r-posix: Avoid a link error on MSVC.
3436         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
3437         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
3438
3439 2011-09-22  Bruno Haible  <bruno@clisp.org>
3440
3441         select: Avoid link errors on MSVC.
3442         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
3443         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
3444         * modules/pselect (Link): Likewise.
3445         * NEWS: Mention the change.
3446         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
3447         test-select-stdin against $(LIB_SELECT).
3448         * modules/pselect-tests (Makefile.am): Link test-pselect against
3449         $(LIB_SELECT).
3450
3451 2011-09-22  Bruno Haible  <bruno@clisp.org>
3452
3453         select: Avoid compilation error on MSVC.
3454         * lib/select.c: Don't include <stdbool.h>.
3455
3456 2011-09-21  Bruno Haible  <bruno@clisp.org>
3457
3458         Consolidate all uses of PATH_MAX in *.m4 files.
3459         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
3460         macros.
3461         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
3462         and gl_PATHMAX_SNIPPET.
3463         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3464         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3465         * modules/chdir-long (Files): Add m4/pathmax.m4.
3466         * modules/getcwd (Files): Likewise.
3467
3468 2011-09-21  Bruno Haible  <bruno@clisp.org>
3469
3470         ftruncate: Un-deprecate, concentrate on Win32 support.
3471         * modules/ftruncate (Status, Notice): Remove sections.
3472         (Depends-on): Add largefile.
3473         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
3474         non-mingw platforms.
3475         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
3476         include <io.h>.
3477         * modules/perror-tests (Depends-on): Add ftruncate.
3478         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
3479         'ftruncate' module.
3480
3481 2011-09-21  Bruno Haible  <bruno@clisp.org>
3482
3483         Add dependencies to new dirent related modules.
3484         * modules/opendir (Depends-on): Add closedir.
3485         * modules/getcwd (Depends-on): Add opendir, closedir.
3486         * modules/dirent-safer-tests (Depends-on): Likewise.
3487         * modules/fdopendir-tests (Depends-on): Likewise.
3488         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
3489         * modules/renameat-tests (Depends-on): Likewise.
3490
3491 2011-09-21  Bruno Haible  <bruno@clisp.org>
3492
3493         opendir: Avoid compilation error on mingw.
3494         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
3495         * modules/opendir (Depends-on): Add unistd.
3496
3497 2011-09-21  Bruno Haible  <bruno@clisp.org>
3498
3499         ftruncate tests: Avoid a test failure on mingw.
3500         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
3501
3502 2011-09-21  Bruno Haible  <bruno@clisp.org>
3503
3504         select tests: Avoid test failures on OSF/1 5.1 and mingw.
3505         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
3506         native Windows.
3507
3508 2011-09-21  Bruno Haible  <bruno@clisp.org>
3509
3510         New module 'fdopen'.
3511         * lib/stdio.in.h (fdopen): New declaration.
3512         * lib/fdopen.c: New file.
3513         * m4/fdopen.m4: New file.
3514         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
3515         REPLACE_FDOPEN.
3516         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
3517         REPLACE_FDOPEN.
3518         * modules/fdopen: New file.
3519         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
3520         * tests/test-stdio-c++.cc: Check signature of fdopen.
3521         * doc/posix-functions/fdopen.texi: Mention the new module.
3522
3523 2011-09-21  Bruno Haible  <bruno@clisp.org>
3524
3525         unlockpt tests: Avoid test failure on NetBSD 5.1.
3526         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
3527         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
3528
3529 2011-09-21  Bruno Haible  <bruno@clisp.org>
3530
3531         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
3532         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
3533         * tests/test-getlogin_r.c (main): Likewise.
3534
3535 2011-09-20  Bruno Haible  <bruno@clisp.org>
3536
3537         time tests: Don't require pid_t.
3538         * doc/posix-headers/time.texi: Revert last change.
3539         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
3540         * tests/test-time.c: Comment out the check for pid_t.
3541
3542 2011-09-20  Bruno Haible  <bruno@clisp.org>
3543
3544         fsync tests: Avoid a test failure on mingw.
3545         * tests/test-fsync.c (main): Allow a failure with EIO.
3546
3547 2011-09-20  Bruno Haible  <bruno@clisp.org>
3548
3549         euidaccess: Update comments.
3550         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
3551
3552 2011-09-20  Bruno Haible  <bruno@clisp.org>
3553
3554         Ensure EBADF returns for socket functions on mingw.
3555         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
3556         descriptor is invalid.
3557         * lib/bind.c (rpl_bind): Likewise.
3558         * lib/connect.c (rpl_connect): Likewise.
3559         * lib/getpeername.c (rpl_getpeername): Likewise.
3560         * lib/getsockname.c (rpl_getsockname): Likewise.
3561         * lib/getsockopt.c (rpl_getsockopt): Likewise.
3562         * lib/listen.c (rpl_listen): Likewise.
3563         * lib/recv.c (rpl_recv): Likewise.
3564         * lib/recvfrom.c (rpl_recvfrom): Likewise.
3565         * lib/send.c (rpl_send): Likewise.
3566         * lib/sendto.c (rpl_sendto): Likewise.
3567         * lib/setsockopt.c (rpl_setsockopt): Likewise.
3568         * lib/shutdown.c (rpl_shutdown): Likewise.
3569
3570 2011-09-20  Bruno Haible  <bruno@clisp.org>
3571
3572         select tests: EBADF tests.
3573         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
3574         test_bad_fd): New functions.
3575         (test_function): Invoke also test_bad_fd.
3576
3577 2011-09-20  Bruno Haible  <bruno@clisp.org>
3578
3579         Tests for module 'posix_spawn_file_actions_addopen.
3580         * modules/posix_spawn_file_actions_addopen-tests: New file.
3581         * tests/test-posix_spawn_file_actions_addopen.c: New file.
3582
3583         Tests for module 'posix_spawn_file_actions_adddup2'.
3584         * modules/posix_spawn_file_actions_adddup2-tests: New file.
3585         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
3586
3587         Tests for module 'posix_spawn_file_actions_addclose'.
3588         * modules/posix_spawn_file_actions_addclose-tests: New file.
3589         * tests/test-posix_spawn_file_actions_addclose.c: New file.
3590
3591 2011-09-20  Bruno Haible  <bruno@clisp.org>
3592
3593         Tests for module 'unlockpt'.
3594         * modules/unlockpt-tests: New file.
3595         * tests/test-unlockpt.c: New file.
3596         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
3597
3598         Tests for module 'grantpt'.
3599         * modules/grantpt-tests: New file.
3600         * tests/test-grantpt.c: New file.
3601         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
3602
3603 2011-09-20  Bruno Haible  <bruno@clisp.org>
3604
3605         freopen tests: EBADF tests.
3606         * tests/test-freopen.c: Include errno.h, unistd.h.
3607         (main): Add tests for EBADF, commented out for the moment.
3608
3609         fclose tests: EBADF tests.
3610         * tests/test-fclose.c (main): Add tests for EBADF.
3611
3612         fflush tests: EBADF tests.
3613         * tests/test-fflush.c: Include errno.h, macros.h.
3614         (main): Add tests for EBADF.
3615
3616         ftello tests: EBADF tests.
3617         * tests/test-ftello4.sh: New file.
3618         * tests/test-ftello4.c: New file.
3619         * modules/ftello-tests (Files): Add them.
3620         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
3621
3622         fseeko tests: EBADF tests.
3623         * tests/test-fseeko4.sh: New file.
3624         * tests/test-fseeko4.c: New file.
3625         * modules/fseeko-tests (Files): Add them.
3626         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
3627
3628         Tests for function fputc().
3629         * modules/fputc-tests: New file.
3630         * tests/test-fputc.c: New file.
3631         * modules/stdio-tests (Depends-on): Add fputc-tests.
3632
3633         Tests for function fgetc().
3634         * modules/fgetc-tests: New file.
3635         * tests/test-fgetc.c: New file.
3636         * modules/stdio-tests (Depends-on): Add fgetc-tests.
3637
3638         Tests for function fdopen().
3639         * modules/fdopen-tests: New file.
3640         * tests/test-fdopen.c: New file.
3641         * modules/stdio-tests (Depends-on): Add fdopen-tests.
3642
3643         Tests for module 'vdprintf'.
3644         * modules/vdprintf-tests: New file.
3645         * tests/test-vdprintf.c: New file.
3646
3647         Tests for module 'dprintf'.
3648         * modules/dprintf-tests: New file.
3649         * tests/test-dprintf.c: New file.
3650
3651 2011-09-20  Bruno Haible  <bruno@clisp.org>
3652
3653         Tests for module 'ioctl'.
3654         * modules/ioctl-tests: New file.
3655         * tests/test-ioctl.c: New file.
3656
3657 2011-09-20  Bruno Haible  <bruno@clisp.org>
3658
3659         fcntl tests: EBADF tests.
3660         * tests/test-fcntl.c (main): Add more tests for EBADF.
3661
3662 2011-09-20  Bruno Haible  <bruno@clisp.org>
3663
3664         utimensat tests: EBADF tests.
3665         * tests/test-utimensat.c (main): Add tests for EBADF.
3666
3667         renameat tests: EBADF tests.
3668         * tests/test-renameat.c (main): Add tests for EBADF.
3669
3670         mkfifoat tests: EBADF tests.
3671         * tests/test-mkfifoat.c (main): Add tests for EBADF.
3672
3673         readlinkat tests: EBADF tests.
3674         * tests/test-readlinkat.c (main): Add tests for EBADF.
3675
3676         symlinkat tests: EBADF tests.
3677         * tests/test-symlinkat.c (main): Add tests for EBADF.
3678
3679         linkat tests: EBADF tests.
3680         * tests/test-linkat.c (main): Add tests for EBADF.
3681
3682         Tests for module 'faccessat'.
3683         * modules/faccessat-tests: New file.
3684         * tests/test-faccessat.c: New file.
3685
3686         fdopendir tests: EBADF tests.
3687         * tests/test-fdopendir.c (main): Add more tests for EBADF.
3688
3689         openat tests: EBADF tests.
3690         * tests/test-fchownat.c (main): Add tests for EBADF.
3691         * tests/test-fstatat.c (main): Likewise.
3692         * tests/test-mkdirat.c (main): Likewise.
3693         * tests/test-openat.c (main): Likewise.
3694         * tests/test-unlinkat.c (main): Likewise.
3695         * tests/test-fchmodat.c: New file.
3696         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
3697         (Makefile.am): Also run 'test-fchmodat'.
3698
3699 2011-09-20  Bruno Haible  <bruno@clisp.org>
3700
3701         utimens, futimens, fdutimensat tests: EBADF tests.
3702         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
3703
3704         Tests for function fstat().
3705         * modules/fstat-tests: New file.
3706         * tests/test-fstat.c: New file.
3707         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
3708
3709 2011-09-20  Bruno Haible  <bruno@clisp.org>
3710
3711         test-ttyname_r tests: EBADF tests.
3712         * tests/test-ttyname_r.c (main): Add tests for EBADF.
3713
3714         Tests for module 'isatty'.
3715         * modules/isatty-tests: New file.
3716         * tests/test-isatty.c: New file.
3717
3718         Tests for module 'write'.
3719         * modules/write-tests: New file.
3720         * tests/test-write.c: New file.
3721
3722         Tests for module 'read'.
3723         * modules/read-tests: New file.
3724         * tests/test-read.c: New file.
3725
3726         pwrite tests: EBADF tests.
3727         * tests/test-pwrite.c (main): Add tests for EBADF.
3728
3729         pread tests: EBADF tests.
3730         * tests/test-pread.c (main): Add tests for EBADF.
3731
3732         lseek tests: EBADF tests.
3733         * tests/test-lseek.c (main): Add more tests for EBADF.
3734
3735         Tests for module 'ftruncate'.
3736         * modules/ftruncate-tests: New file.
3737         * tests/test-ftruncate.sh: New file.
3738         * tests/test-ftruncate.c: New file.
3739
3740         fsync tests: EBADF tests.
3741         * tests/test-fsync.c (main): Add more tests for EBADF.
3742
3743         fdatasync tests: EBADF tests.
3744         * tests/test-fdatasync.c (main): Add more tests for EBADF.
3745
3746         Tests for module 'fchown'.
3747         * modules/fchown-tests: New file.
3748         * tests/test-fchown.c: New file.
3749
3750         Tests for module 'fchmod'.
3751         * modules/fchmod-tests: New file.
3752         * tests/test-fchmod.c: New file.
3753
3754         fchdir tests: EBADF tests.
3755         * tests/test-fchdir.c (main): Add more tests for EBADF.
3756
3757         dup2 tests: EBADF tests.
3758         * tests/test-dup2.c (main): Add more tests for EBADF.
3759
3760         Tests for module 'dup'.
3761         * modules/dup-tests: New file.
3762         * tests/test-dup.c: New file.
3763
3764         Tests for module 'close'.
3765         * modules/close-tests: New file.
3766         * tests/test-close.c: New file.
3767
3768 2011-09-20  Bruno Haible  <bruno@clisp.org>
3769
3770         Tests for module 'shutdown'.
3771         * modules/shutdown-tests: New file.
3772         * tests/test-shutdown.c: New file.
3773
3774         Tests for module 'setsockopt'.
3775         * modules/setsockopt-tests: New file.
3776         * tests/test-setsockopt.c: New file.
3777
3778         Tests for module 'sendto'.
3779         * modules/sendto-tests: New file.
3780         * tests/test-sendto.c: New file.
3781
3782         Tests for module 'send'.
3783         * modules/send-tests: New file.
3784         * tests/test-send.c: New file.
3785
3786         Tests for module 'recvfrom'.
3787         * modules/recvfrom-tests: New file.
3788         * tests/test-recvfrom.c: New file.
3789
3790         Tests for module 'recv'.
3791         * modules/recv-tests: New file.
3792         * tests/test-recv.c: New file.
3793
3794         Tests for module 'listen'.
3795         * modules/listen-tests: New file.
3796         * tests/test-listen.c: New file.
3797
3798         Tests for module 'getsockopt'.
3799         * modules/getsockopt-tests: New file.
3800         * tests/test-getsockopt.c: New file.
3801
3802         Tests for module 'getsockname'.
3803         * modules/getsockname-tests: New file.
3804         * tests/test-getsockname.c: New file.
3805
3806         Tests for module 'getpeername'.
3807         * modules/getpeername-tests: New file.
3808         * tests/test-getpeername.c: New file.
3809
3810         Tests for module 'connect'.
3811         * modules/connect-tests: New file.
3812         * tests/test-connect.c: New file.
3813
3814         Tests for module 'bind'.
3815         * modules/bind-tests: New file.
3816         * tests/test-bind.c: New file.
3817
3818         accept4 tests: Fix for native Windows.
3819         * tests/test-accept4.c: Include sockets.h.
3820         (main): Invoke gl_sockets_startup.
3821         * modules/accept4-tests (Depends-on): Add sockets.
3822
3823         accept tests: Fix for native Windows.
3824         * tests/test-accept.c: Include sockets.h.
3825         (main): Invoke gl_sockets_startup.
3826         * modules/accept-tests (Depends-on): Add sockets.
3827
3828 2011-09-19  Bruno Haible  <bruno@clisp.org>
3829
3830         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
3831         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
3832         do...while(0).
3833         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
3834         Suggested by Paul Eggert.
3835
3836 2011-09-19  Bruno Haible  <bruno@clisp.org>
3837
3838         sched: Ensure pid_t is defined.
3839         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3840         not define pid_t.
3841         * lib/sched.in.h: Include <sys/types.h>.
3842         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3843         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3844
3845 2011-09-19  Bruno Haible  <bruno@clisp.org>
3846
3847         msvc-inval: Ensure the entire expansion is a single statement.
3848         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3849         of braces.
3850
3851 2011-09-19  Jim Meyering  <meyering@redhat.com>
3852
3853         tests: use printf, not echo in init.sh's warn_ function
3854         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3855         misbehave when given strings containing a backslash or starting
3856         with e.g., -n.  James Youngman suggested setting IFS.
3857
3858 2011-09-19  Eric Blake  <eblake@redhat.com>
3859
3860         futimens: enhance test
3861         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3862         closed non-negative fd.
3863
3864         date: accept 'hence' as opposite of 'ago'
3865         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3866         * tests/test-parse-datetime.c (main): Enhance test.
3867         Suggested by Jesse Wilson.
3868
3869 2011-09-19  Jim Meyering  <meyering@redhat.com>
3870
3871         getcwd: don't fail in a deep directory on a system without openat
3872         Before this change, getcwd would fail when called from a directory
3873         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3874         the non-openat implementation used "..", "../..", "../../..", etc.
3875         to access ancestor directories.  With too many, that string would
3876         be longer than PATH_MAX.
3877         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3878         using gnulib's openat replacement.
3879         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3880         we're using the replacement function.
3881
3882 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3883
3884         maint.mk: avoid warnings from perl about missing files
3885         * top/maint.mk (def_sym_regex): Ignore files listed in
3886         $(gl_other_headers_) that do not exist, say because a project
3887         does not use a corresponding module.
3888
3889 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3890
3891         stat: use pathmax.h only if needed
3892         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3893         This is better for Emacs, which does not have a mingw port and
3894         therefore can avoid the pathmax module.
3895
3896         utimens: remove dependency on dup2
3897         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3898         to work around the Linux kernel bug.
3899         * modules/utimens (Depends-on): Remove dup2.
3900
3901 2011-09-18  Bruno Haible  <bruno@clisp.org>
3902
3903         inet_ntop, inet_pton: Look for it also in libresolv.
3904         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3905         libnsl, search for it in libresolv.
3906         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3907         Needed on Solaris 7.
3908
3909 2011-09-18  Bruno Haible  <bruno@clisp.org>
3910
3911         accept, accept4 tests: Avoid link error on Solaris.
3912         * modules/accept-tests (Makefile.am): Link test-accept against
3913         $(LIBSOCKET).
3914         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3915         $(LIBSOCKET).
3916
3917         accept4: Avoid link error on Solaris.
3918         * modules/accept4 (Link): New section.
3919
3920         socket functions: Avoid link errors on Solaris.
3921         * modules/accept (Depends-on): Add socketlib.
3922         (Link): New section.
3923         * modules/bind (Depends-on): Add socketlib.
3924         (Link): New section.
3925         * modules/connect (Depends-on): Add socketlib.
3926         (Link): New section.
3927         * modules/getpeername (Depends-on): Add socketlib.
3928         (Link): New section.
3929         * modules/getsockname (Depends-on): Add socketlib.
3930         (Link): New section.
3931         * modules/getsockopt (Depends-on): Add socketlib.
3932         (Link): New section.
3933         * modules/listen (Depends-on): Add socketlib.
3934         (Link): New section.
3935         * modules/recv (Depends-on): Add socketlib.
3936         (Link): New section.
3937         * modules/recvfrom (Depends-on): Add socketlib.
3938         (Link): New section.
3939         * modules/send (Depends-on): Add socketlib.
3940         (Link): New section.
3941         * modules/sendto (Depends-on): Add socketlib.
3942         (Link): New section.
3943         * modules/setsockopt (Depends-on): Add socketlib.
3944         (Link): New section.
3945         * modules/shutdown (Depends-on): Add socketlib.
3946         (Link): New section.
3947         * modules/socket (Depends-on): Add socketlib.
3948         (Link): New section.
3949
3950 2011-09-18  Bruno Haible  <bruno@clisp.org>
3951
3952         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3953         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3954         than 5 seconds.
3955         * modules/ptsname-tests (configure.ac): Test for alarm.
3956
3957 2011-09-18  Bruno Haible  <bruno@clisp.org>
3958
3959         posix_spawn_file_actions_add*: Fix module dependencies.
3960         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3961         posix_spawn_file_actions_init.
3962         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3963         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3964
3965 2011-09-18  Bruno Haible  <bruno@clisp.org>
3966
3967         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3968         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3969         * tests/test-renameat.c (main): Likewise.
3970
3971 2011-09-18  Bruno Haible  <bruno@clisp.org>
3972
3973         Tests for module 'accept4'.
3974         * modules/accept4-tests: New file.
3975         * tests/test-accept4.c: New file.
3976
3977 2011-09-18  Bruno Haible  <bruno@clisp.org>
3978
3979         Tests for module 'accept'.
3980         * modules/accept-tests: New file.
3981         * tests/test-accept.c: New file.
3982
3983 2011-09-18  Bruno Haible  <bruno@clisp.org>
3984
3985         dup2: Support for MSVC.
3986         * lib/dup2.c: Include msvc-inval.h.
3987         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3988         _get_osfhandle calls.
3989         * modules/dup2 (Depends-on): Add msvc-inval.
3990         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3991
3992         New module 'msvc-inval'.
3993         * lib/msvc-inval.h: New file.
3994         * lib/msvc-inval.c: New file.
3995         * m4/msvc-inval.m4: New file.
3996         * modules/msvc-inval: New file.
3997
3998 2011-09-17  Bruno Haible  <bruno@clisp.org>
3999
4000         Tests for module 'pclose'.
4001         * modules/pclose-tests: New file.
4002
4003         New module 'pclose'.
4004         * lib/stdio.in.h (pclose): New declaration.
4005         * lib/pclose.c: New file.
4006         * m4/pclose.m4: New file.
4007         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
4008         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
4009         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
4010         * modules/pclose: New file.
4011         * modules/popen-tests (Depends-on): Add pclose.
4012         * modules/popen-safer-tests (Depends-on): Likewise.
4013         * doc/posix-functions/pclose.texi: Mention the new module.
4014
4015 2011-09-17  Bruno Haible  <bruno@clisp.org>
4016
4017         popen: Support for MSVC.
4018         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
4019         * lib/popen.c (popen): Provide alternate definition for native Windows.
4020         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
4021         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
4022         * modules/popen (Depends-on, configure.ac): Update condition.
4023         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
4024         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
4025         fixed.
4026
4027 2011-09-17  Bruno Haible  <bruno@clisp.org>
4028
4029         isnanl, isnand, isnanf: Work around MSVC bug.
4030         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
4031
4032 2011-09-17  Bruno Haible  <bruno@clisp.org>
4033
4034         sys_socket tests: Fix recent mistake.
4035         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
4036
4037 2011-09-17  Bruno Haible  <bruno@clisp.org>
4038
4039         putenv: Support for MSVC.
4040         * modules/putenv (Depends-on): Add environ.
4041         * lib/putenv.c (environ): Disable declaration.
4042         * lib/unistd.in.h: Update comment.
4043
4044 2011-09-17  Bruno Haible  <bruno@clisp.org>
4045
4046         math: Avoid macro redefinition warnings on MSVC.
4047         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
4048         Undefine before redefining.
4049
4050 2011-09-17  Bruno Haible  <bruno@clisp.org>
4051
4052         doc: Mention functions which are declared as macros.
4053         * doc/posix-functions/*[fl].texi: Mention that some functions are
4054         defined as macros with arguments only.
4055
4056 2011-09-17  Bruno Haible  <bruno@clisp.org>
4057
4058         Add dependencies to new dirent related modules.
4059         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
4060         * modules/fts (Depends-on): Likewise.
4061         * modules/glob (Depends-on): Likewise.
4062         * modules/savedir (Depends-on): Likewise.
4063         * modules/scandir (Depends-on): Likewise.
4064         * modules/dirent-safer (Depends-on): Add opendir, closedir.
4065         * modules/fdopendir (Depends-on): Add opendir.
4066
4067 2011-09-17  Bruno Haible  <bruno@clisp.org>
4068
4069         inet_pton: Support for MSVC on Windows Vista or newer.
4070         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
4071         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
4072         HAVE_DECL_INET_PTON is defined.
4073         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
4074         On platforms with <winsock2.h>, test whether inet_pton is declared in
4075         <ws2tcpip.h>. If so, arrange to replace it.
4076         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
4077         REPLACE_INET_PTON.
4078         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
4079         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
4080         (Depends-on, configure.ac): Update condition.
4081         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
4082
4083 2011-09-17  Bruno Haible  <bruno@clisp.org>
4084
4085         inet_ntop: Support for MSVC on Windows Vista or newer.
4086         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
4087         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
4088         HAVE_DECL_INET_NTOP is defined.
4089         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
4090         On platforms with <winsock2.h>, test whether inet_ntop is declared in
4091         <ws2tcpip.h>. If so, arrange to replace it.
4092         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
4093         REPLACE_INET_NTOP.
4094         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
4095         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
4096         (Depends-on, configure.ac): Update condition.
4097         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
4098
4099 2011-09-16  Eric Blake  <eblake@redhat.com>
4100
4101         test-fsync: yet another enhancement
4102         * tests/test-fsync.c (main): Also test behavior on read-only text
4103         file.
4104
4105 2011-09-16  Bruno Haible  <bruno@clisp.org>
4106
4107         Enhance fsync, fdatasync tests.
4108         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
4109         * tests/test-fdatasync.c (main): Likewise.
4110
4111 2011-09-16  Bruno Haible  <bruno@clisp.org>
4112
4113         Support for MSVC compiler: Ensure mode_t gets defined.
4114         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
4115         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4116         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
4117         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
4118         * tests/test-fcntl-h.c: Check that mode_t is defined.
4119         * tests/test-sys_stat.c: Likewise.
4120         * tests/test-sys_types.c: Likewise.
4121         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
4122         * doc/posix-headers/sys_stat.texi: Likewise.
4123         * doc/posix-headers/sys_types.texi: Likewise.
4124
4125 2011-09-16  Bruno Haible  <bruno@clisp.org>
4126
4127         sys_stat: Support for MSVC.
4128         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
4129         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
4130         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
4131         MSVC.
4132
4133 2011-09-16  Bruno Haible  <bruno@clisp.org>
4134
4135         Support for MSVC compiler: Ensure off_t gets defined.
4136         * lib/unistd.in.h: Include <sys/types.h>.
4137         * tests/test-fcntl-h.c: Check that off_t is defined.
4138         * tests/test-sys_stat.c: Likewise.
4139         * tests/test-sys_types.c: Likewise.
4140
4141 2011-09-16  Eric Blake  <eblake@redhat.com>
4142
4143         fdatasync: port to Solaris
4144         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
4145         * modules/fdatasync (Link): Document it.
4146         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
4147
4148         fdatasync: port to MacOS X 10.7
4149         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
4150         declared.
4151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
4152         * modules/unistd (Makefile.am): Substitute it.
4153         * lib/unistd.in.h (fdatasync): Declare on MacOS.
4154         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
4155
4156         fdatasync: minor improvements
4157         * modules/fdatasync (Depends-on): Add condition for fsync.
4158         * lib/fdatasync.c (fdatasync): Add comment.
4159         * tests/test-unistd-c++.cc: Test fdatasync.
4160
4161         unistd: update refs to newer POSIX
4162         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
4163         Suggested by Bruno Haible.
4164
4165         fdatasync: new module
4166         * modules/fsync (Description): Document difference to fdatasync.
4167         * modules/fdatasync: New module.
4168         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
4169         * lib/fdatasync.c (fdatasync): Likewise.
4170         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
4171         defaults.
4172         * modules/unistd (Makefile.am): Set witnesses.
4173         * lib/unistd.in.h (fdatasync): Declare.
4174         * MODULES.html.sh: Document it.
4175         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
4176         * modules/fdatasync-tests: New test.
4177         * tests/test-fdatasync.c: Likewise.
4178
4179 2011-09-16  Eric Blake  <eblake@redhat.com>
4180
4181         test-fsync: enhance tests
4182         * modules/fsync-tests (Depends-on): Add errno, for mingw.
4183         * tests/test-fsync.c (main): Enhance test.
4184
4185 2011-09-15  Bruno Haible  <bruno@clisp.org>
4186
4187         Support for MSVC compiler: Ensure ssize_t gets defined.
4188         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
4189         * doc/posix-headers/stdio.texi: Likewise.
4190         * modules/stdio (Depends-on): Add ssize_t.
4191         * modules/sys_socket (Depends-on): Likewise.
4192         * modules/sys_types (Depends-on): Likewise.
4193         * modules/sys_uio (Depends-on): Likewise.
4194         * modules/unistd (Depends-on): Likewise.
4195         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
4196         * tests/test-sys_types.c: Check that ssize_t is defined.
4197
4198 2011-09-14  Bruno Haible  <bruno@clisp.org>
4199
4200         Avoid using #, the m4 comment starter character, near brackets.
4201         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
4202         delimiter character in sed expressions.
4203         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4204         Suggested by Eric Blake.
4205
4206         Properly quote AC_CHECK_DECLS' 4th argument.
4207         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
4208         argument.
4209         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
4210         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
4211         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4212         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
4213         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
4214         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
4215         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
4216         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
4217         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
4218         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
4219         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
4220         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4221         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
4222         * m4/isinf.m4 (gl_ISINF): Likewise.
4223         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
4224         * m4/readutmp.m4 (gl_READUTMP): Likewise.
4225         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
4226         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4227         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4228         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
4229         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
4230         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
4231         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
4232         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
4233         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
4234         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4235         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
4236         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4237         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
4238         Reported by Eric Blake.
4239
4240         Properly quote AC_CHECK_DECL's 4th argument.
4241         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
4242         argument.
4243         * m4/argp.m4 (gl_ARGP): Likewise.
4244         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
4245         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
4246         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
4247         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
4248         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
4249         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
4250         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
4251         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
4252         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
4253         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
4254         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
4255         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
4256         Reported by Eric Blake.
4257
4258 2011-09-14  Eric Blake  <eblake@redhat.com>
4259
4260         opendir: avoid compile warning
4261         * lib/opendir.c (includes): Always include errno.h.
4262         Reported by Tatsuro MATSUOKA.
4263
4264 2011-09-14  Jim Meyering  <meyering@redhat.com>
4265
4266         maint.mk: sc_tight_scope: propagate failure from sub-make
4267         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
4268         Reported by Martin von Gagern.
4269
4270 2011-09-13  Bruno Haible  <bruno@clisp.org>
4271
4272         tempname: Support for MSVC.
4273         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
4274         MSVC.
4275         * modules/tempname (Depends-on): Add fcntl-h.
4276
4277 2011-09-13  Bruno Haible  <bruno@clisp.org>
4278
4279         sys_time: Support for MSVC.
4280         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
4281         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
4282         include <winsock2.h>.
4283         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
4284         function declarations that collide with POSIX.
4285         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
4286         (Makefile.am): Substitute HAVE_WINSOCK2_H.
4287
4288 2011-09-13  Bruno Haible  <bruno@clisp.org>
4289
4290         stat: Support for MSVC.
4291         * lib/stat.c: Include pathmax.h.
4292         * modules/stat (Depends-on): Add pathmax.
4293
4294         pathmax: Support for native Windows.
4295         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
4296
4297 2011-09-12  Bruno Haible  <bruno@clisp.org>
4298
4299         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
4300         * lib/dirent.in.h (struct dirent): New type.
4301         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
4302         DT_WHT): New macros.
4303         (DIR): New type.
4304         (opendir, closedir): Declare only if the module 'opendir' is enabled.
4305         (readdir, rewinddir): New declarations.
4306         * lib/dirent-private.h: New file.
4307         * lib/opendir.c: New file.
4308         * lib/readdir.c: New file.
4309         * lib/rewinddir.c: New file.
4310         * lib/closedir.c: New file.
4311         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
4312         * m4/opendir.m4: New file.
4313         * m4/readdir.m4: New file.
4314         * m4/rewinddir.m4: New file.
4315         * m4/closedir.m4: New file.
4316         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
4317         REPLACE_CLOSEDIR here.
4318         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
4319         readdir, rewinddir are declared.
4320         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
4321         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
4322         HAVE_REWINDDIR, HAVE_CLOSEDIR.
4323         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
4324         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
4325         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
4326         * modules/opendir: New file.
4327         * modules/readdir: New file.
4328         * modules/rewinddir: New file.
4329         * modules/closedir: New file.
4330         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
4331         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
4332         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
4333         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
4334         * NEWS: Mention the 'fchdir' change.
4335
4336 2011-09-11  Bruno Haible  <bruno@clisp.org>
4337
4338         asm-underscore.m4: Support for MSVC.
4339         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
4340         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
4341
4342 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
4343
4344         Doc about crypt functions.
4345         * doc/posix-functions/crypt.texi: Expand range of glibc versions
4346         needing for _GNU_SOURCE to get crypt.
4347         * doc/posix-functions/encrypt.texi: Likewise.
4348         * doc/posix-functions/setkey.texi: Likewise.
4349
4350 2011-09-11  Bruno Haible  <bruno@clisp.org>
4351
4352         doc: Update regarding MSVC 9.
4353         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
4354         tested".
4355         * doc/posix-functions/*.texi: Update with info about MSVC 9.
4356         * doc/posix-headers/*.texi: Likewise.
4357         * doc/pastposix-functions/*.texi: Likewise.
4358         * doc/glibc-functions/*.texi: Likewise.
4359         * doc/glibc-headers/*.texi: Likewise.
4360
4361 2011-09-11  Bruno Haible  <bruno@clisp.org>
4362
4363         unistd et al.: Don't assume <unistd.h> exists.
4364         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
4365         does not exist.
4366         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
4367         exist. But include <stdlib.h>.
4368         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
4369         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
4370         symlink() does not exist.
4371         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
4372         include <io.h> instead.
4373         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
4374         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
4375         include <direct.h> instead.
4376         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4377         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4378         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
4379         <io.h> instead.
4380         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
4381         correctly if the system does not have hard links.
4382         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
4383         <direct.h> instead.
4384         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
4385         it when looking for function declarations.
4386         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
4387         <direct.h> and <io.h> instead.
4388         * doc/posix-headers/unistd.texi: More details about MSVC problem.
4389
4390 2011-09-11  Bruno Haible  <bruno@clisp.org>
4391
4392         strcase: Support for MSVC.
4393         * modules/strcase (Status, Notice): Remove obsoletion mark.
4394         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
4395         * doc/posix-functions/strncasecmp.texi: Likewise.
4396
4397         strings: Don't assume <strings.h> exists.
4398         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
4399         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
4400         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
4401         * doc/posix-headers/strings.texi: Mention the MSVC problem.
4402
4403 2011-09-11  Bruno Haible  <bruno@clisp.org>
4404
4405         dirent: Don't assume <dirent.h> exists.
4406         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
4407         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
4408         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
4409         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
4410
4411 2011-09-11  Bruno Haible  <bruno@clisp.org>
4412
4413         Fix wint_t on MSVC.
4414         * lib/wchar.in.h (wint_t): On MSVC, override it.
4415         * lib/wctype.in.h (wint_t): Likewise.
4416         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
4417         MSVC.
4418         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
4419         * doc/posix-headers/wctype.texi: Likewise.
4420
4421 2011-09-11  Bruno Haible  <bruno@clisp.org>
4422
4423         sys_types: Fix typo.
4424         * lib/sys_types.in.h: Fix typo in comment.
4425         Reported by Paul Eggert.
4426
4427         Support for MSVC compiler: Ensure size_t gets defined.
4428         * modules/strings (Depends-on): Add 'sys_types'.
4429         * modules/sys_uio (Depends-on): Likewise.
4430         * lib/sys_uio.in.h: Update comment.
4431
4432         C++ tests for module 'sys_types'.
4433         * modules/sys_types-c++-tests: New file.
4434         * tests/test-sys_types-c++.cc: New file.
4435
4436         Tests for module 'sys_types'.
4437         * modules/sys_types-tests: New file.
4438         * tests/test-sys_types.c: New file.
4439
4440         New module 'sys_types'.
4441         * lib/sys_types.in.h: New file.
4442         * m4/sys_types_h.m4: New file.
4443         * modules/sys_types: New file.
4444         * doc/posix-headers/sys_types.texi: Mention the new module and the
4445         size_t problem on MSVC 9.
4446
4447 2011-09-11  Bruno Haible  <bruno@clisp.org>
4448
4449         Support for MSVC compiler: Avoid division by a literal 0.
4450         * lib/math.in.h (NAN): Define through a function call also on MSVC.
4451         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
4452         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
4453         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
4454         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
4455         * tests/infinity.h: New file.
4456         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
4457         on MSVC.
4458         * tests/test-ceilf1.c: Include infinity.h.
4459         (main): Use Infinityf.
4460         * tests/test-ceil1.c: Include infinity.h.
4461         (main): Use Infinityd.
4462         * tests/test-ceill.c: Include infinity.h.
4463         (main): Use Infinityl.
4464         * tests/test-dprintf-posix.c: Include infinity.h.
4465         (test_function): Use Infinityd.
4466         * tests/test-floorf1.c: Include infinity.h.
4467         (main): Use Infinityf.
4468         * tests/test-floor1.c: Include infinity.h.
4469         (main): Use Infinityd.
4470         * tests/test-floorl.c: Include infinity.h.
4471         (main): Use Infinityl.
4472         * tests/test-fprintf-posix.c: Include infinity.h.
4473         (test_function): Use Infinityd.
4474         * tests/test-frexp.c: Include infinity.h.
4475         (main): Use Infinityd.
4476         * tests/test-frexpl.c: Include infinity.h.
4477         (main): Use Infinityl.
4478         * tests/test-isfinite.c: Include infinity.h.
4479         (test_isfinitef): Use Infinityf.
4480         (test_isfinited): Use Infinityd.
4481         (test_isfinitel): Use Infinityl.
4482         * tests/test-isinf.c: Include infinity.h.
4483         (test_isinff): Use Infinityf.
4484         (test_isinfd): Use Infinityd.
4485         (test_isinfl): Use Infinityl.
4486         * tests/test-isnan.c: Include infinity.h.
4487         (test_float): Use Infinityf.
4488         (test_double): Use Infinityd.
4489         (test_long_double): Use Infinityl.
4490         * tests/test-isnanf.h: Include infinity.h.
4491         (main): Use Infinityf.
4492         * tests/test-isnand.h: Include infinity.h.
4493         (main): Use Infinityd.
4494         * tests/test-isnanl.h: Include infinity.h.
4495         (main): Use Infinityl.
4496         * tests/test-ldexpl.c: Include infinity.h.
4497         (main): Use Infinityl.
4498         * tests/test-printf-posix.h: Include infinity.h.
4499         (test_function): Use Infinityd.
4500         * tests/test-roundf1.c: Include infinity.h.
4501         (main): Use Infinityf.
4502         * tests/test-round1.c: Include infinity.h.
4503         (main): Use Infinityd.
4504         * tests/test-roundl.c: Include infinity.h.
4505         (main): Use Infinityl.
4506         * tests/test-signbit.c: Include infinity.h.
4507         (test_signbitf): Use Infinityf.
4508         (test_signbitd): Use Infinityd.
4509         (test_signbitl): Use Infinityl.
4510         * tests/test-snprintf-posix.h: Include infinity.h.
4511         (test_function): Use Infinityd, Infinityl.
4512         * tests/test-sprintf-posix.h: Include infinity.h.
4513         (test_function): Use Infinityd, Infinityl.
4514         * tests/test-truncf1.c: Include infinity.h.
4515         (main): Use Infinityf.
4516         * tests/test-trunc1.c: Include infinity.h.
4517         (main): Use Infinityd.
4518         * tests/test-truncl.c: Include infinity.h.
4519         (main): Use Infinityl.
4520         * tests/test-vasnprintf-posix.c: Include infinity.h.
4521         (test_function): Use Infinityd, Infinityl.
4522         * tests/test-vasprintf-posix.c: Include infinity.h.
4523         (test_function): Use Infinityd, Infinityl.
4524         * modules/ceilf-tests (Files): Add tests/infinity.h.
4525         * modules/ceil-tests (Files): Likewise.
4526         * modules/ceill-tests (Files): Likewise.
4527         * modules/dprintf-posix-tests (Files): Likewise.
4528         * modules/floorf-tests (Files): Likewise.
4529         * modules/floor-tests (Files): Likewise.
4530         * modules/floorl-tests (Files): Likewise.
4531         * modules/fprintf-posix-tests (Files): Likewise.
4532         * modules/frexp-tests (Files): Likewise.
4533         * modules/frexp-nolibm-tests (Files): Likewise.
4534         * modules/frexpl-tests (Files): Likewise.
4535         * modules/frexpl-nolibm-tests (Files): Likewise.
4536         * modules/isfinite-tests (Files): Likewise.
4537         * modules/isinf-tests (Files): Likewise.
4538         * modules/isnan-tests (Files): Likewise.
4539         * modules/isnanf-tests (Files): Likewise.
4540         * modules/isnanf-nolibm-tests (Files): Likewise.
4541         * modules/isnand-tests (Files): Likewise.
4542         * modules/isnand-nolibm-tests (Files): Likewise.
4543         * modules/isnanl-tests (Files): Likewise.
4544         * modules/isnanl-nolibm-tests (Files): Likewise.
4545         * modules/ldexpl-tests (Files): Likewise.
4546         * modules/printf-posix-tests (Files): Likewise.
4547         * modules/roundf-tests (Files): Likewise.
4548         * modules/round-tests (Files): Likewise.
4549         * modules/roundl-tests (Files): Likewise.
4550         * modules/signbit-tests (Files): Likewise.
4551         * modules/snprintf-posix-tests (Files): Likewise.
4552         * modules/sprintf-posix-tests (Files): Likewise.
4553         * modules/truncf-tests (Files): Likewise.
4554         * modules/trunc-tests (Files): Likewise.
4555         * modules/truncl-tests (Files): Likewise.
4556         * modules/vasnprintf-posix-tests (Files): Likewise.
4557         * modules/vasprintf-posix-tests (Files): Likewise.
4558         * modules/vdprintf-posix-tests (Files): Likewise.
4559         * modules/vfprintf-posix-tests (Files): Likewise.
4560         * modules/vprintf-posix-tests (Files): Likewise.
4561         * modules/vsnprintf-posix-tests (Files): Likewise.
4562         * modules/vsprintf-posix-tests (Files): Likewise.
4563         * modules/xprintf-posix-tests (Files): Likewise.
4564
4565 2011-09-11  Bruno Haible  <bruno@clisp.org>
4566
4567         Ensure pid_t gets defined.
4568         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
4569         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4570         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
4571         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4572         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
4573         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4574         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
4575         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4576         * tests/test-fcntl-h.c: Check that pid_t is defined.
4577         * tests/test-sched.c: Likewise.
4578         * tests/test-termios.c: Likewise.
4579         * tests/test-time.c: Likewise.
4580         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
4581         * doc/posix-headers/signal.texi: Likewise.
4582         * doc/posix-headers/sys_types.texi: Likewise.
4583         * doc/posix-headers/time.texi: Likewise.
4584
4585 2011-09-11  Bruno Haible  <bruno@clisp.org>
4586
4587         acl: Fix compilation on Solaris 10 (older version).
4588         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
4589         of ACE_EVERYONE.
4590         * lib/set-mode-acl.c (qset_acl): Likewise.
4591         Reported by Christian Jullien <eligis@orange.fr>.
4592
4593 2011-09-10  Bruno Haible  <bruno@clisp.org>
4594
4595         iconv, unsetenv: Add support for MSVC compiler.
4596         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
4597         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
4598
4599 2011-09-10  Bruno Haible  <bruno@clisp.org>
4600
4601         *printf: Add support for MSVC compiler.
4602         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
4603         handles the exception caused by the %n directive. When cross-compiling,
4604         guess no on native Windows.
4605         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
4606         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
4607         emulate it through vsnprintf.
4608         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
4609         * doc/posix-functions/dprintf.texi: Update documentation regarding
4610         MSVC 9.
4611         * doc/posix-functions/fprintf.texi: Likewise.
4612         * doc/posix-functions/printf.texi: Likewise.
4613         * doc/posix-functions/snprintf.texi: Likewise.
4614         * doc/posix-functions/sprintf.texi: Likewise.
4615         * doc/posix-functions/swprintf.texi: Likewise.
4616         * doc/posix-functions/vdprintf.texi: Likewise.
4617         * doc/posix-functions/vfprintf.texi: Likewise.
4618         * doc/posix-functions/vprintf.texi: Likewise.
4619         * doc/posix-functions/vsnprintf.texi: Likewise.
4620         * doc/posix-functions/vsprintf.texi: Likewise.
4621         * doc/glibc-functions/asprintf.texi: Likewise.
4622         * doc/glibc-functions/obstack_printf.texi: Likewise.
4623         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
4624         * doc/glibc-functions/vasprintf.texi: Likewise.
4625
4626 2011-09-10  Bruno Haible  <bruno@clisp.org>
4627
4628         nocrash: Add support for native Windows.
4629         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
4630
4631 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
4632             Bruno Haible  <bruno@clisp.org>
4633
4634         absolute-header, include-next: Add support for MSVC compiler.
4635         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
4636         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
4637         directory separator in #line directives.
4638         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
4639         recognize also backslash as directory separator in #line directives.
4640
4641 2011-09-08  Jim Meyering  <meyering@redhat.com>
4642
4643         maint.mk: mark the post-release commit log with "maint: " prefix
4644         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
4645         one-line commit-log summary.
4646
4647 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
4648             Bruno Haible  <bruno@clisp.org>
4649
4650         Doc about crypt functions.
4651         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
4652         systems.
4653         * doc/posix-functions/encrypt.texi: Likewise.
4654         * doc/posix-functions/setkey.texi: Likewise.
4655
4656 2011-09-08  Simon Josefsson  <simon@josefsson.org>
4657
4658         * lib/gc.h: Fix copyright header.
4659
4660 2011-09-07  Bruno Haible  <bruno@clisp.org>
4661
4662         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
4663         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
4664         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
4665
4666 2011-09-07  Bruno Haible  <bruno@clisp.org>
4667
4668         openat: Work around compilation error with OSF/1 5.1 DTK cc.
4669         * lib/fopen.c: Use different syntax for include of <stdio.h>.
4670         * lib/freopen.c: Likewise.
4671         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
4672         * lib/lstat.c: Likewise.
4673         * lib/stat.c: Likewise.
4674         * lib/open.c: Use different syntax for include of <fcntl.h>.
4675         * lib/openat.c: Include fcntl.h again, explicitly.
4676
4677 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
4678
4679         parse-datetime: document the newly accepted format
4680         * doc/parse-datetime.texi (Combined date and time of day items):
4681         New section.
4682
4683 2011-09-06  Bruno Haible  <bruno@clisp.org>
4684
4685         acl: Fix a test failure on newer Solaris 10 with ZFS.
4686         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
4687         ENOSYS as no ACL.
4688         Reported by Jim Meyering.
4689
4690 2011-09-06  Bruno Haible  <bruno@clisp.org>
4691
4692         acl: Update for AIX >= 5.3 with NFS.
4693         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
4694         ENOSYS as no ACL.
4695
4696         acl: Fix a test failure on AIX >= 5.3 with NFS.
4697         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
4698         as no ACL.
4699
4700 2011-09-06  Bruno Haible  <bruno@clisp.org>
4701
4702         acl: Fix a test failure on IRIX 6.5 with NFS.
4703         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
4704         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
4705         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
4706         * lib/copy-acl.c (qcopy_acl): Likewise.
4707
4708 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4709
4710         openat: port to AIX 7.1 with large files
4711         AIX 7.1 does a "#define openat open64at" if large files are in use,
4712         so we can't simply #undef openat.  Use the orig_openat trick (similar
4713         to orig_open in lib/open.c) to work around the problem.  Problem
4714         reported by Kevin Brott for GNU tar, in the thread containing
4715         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
4716         * lib/openat.c (__need_system_fcntl_h): Define first.
4717         Include <fcntl.h> and <sys/types.h> before undefining.
4718         (orig_openat) [HAVE_OPENAT]: New inline function.
4719         (openat) [HAVE_OPENAT]: Do not undef.
4720         (rpl_openat): Use orig_openat, not openat.
4721
4722 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
4723             Bruno Haible  <bruno@clisp.org>
4724
4725         acl: Avoid errors on NonStop Kernel.
4726         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
4727         ENOTSUP errors.
4728
4729 2011-09-05  Bruno Haible  <bruno@clisp.org>
4730
4731         acl: Clean up Solaris code.
4732         * lib/acl-internal.h: Remove no-op #if.
4733         * lib/file-has-acl.c: Likewise.
4734         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
4735         * lib/copy-acl.c (qcopy_acl): Likewise.
4736
4737 2011-09-05  Bruno Haible  <bruno@clisp.org>
4738
4739         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
4740         binaries built on the original Solaris 10.
4741         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
4742         trivial.
4743
4744 2011-09-05  Bruno Haible  <bruno@clisp.org>
4745
4746         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4747         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
4748         10.
4749         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
4750         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
4751         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
4752         instead of acl_get, facl_get, acl_set, facl_set.
4753
4754 2011-09-05  Bruno Haible  <bruno@clisp.org>
4755
4756         copy-file: Try unit tests on more file systems.
4757         * tests/test-copy-file-1.sh: New file.
4758         * tests/test-copy-file-2.sh: New file.
4759         * modules/copy-file-tests (Files): Add them.
4760         (Makefile.am): Add them to TESTS.
4761
4762         acl: Try unit tests on more file systems.
4763         * tests/test-file-has-acl-1.sh: New file.
4764         * tests/test-file-has-acl-2.sh: New file.
4765         * tests/test-set-mode-acl-1.sh: New file.
4766         * tests/test-set-mode-acl-2.sh: New file.
4767         * tests/test-copy-acl-1.sh: New file.
4768         * tests/test-copy-acl-2.sh: New file.
4769         * modules/acl-tests (Files): Add them.
4770         (Makefile.am): Add them to TESTS.
4771
4772 2011-09-04  Bruno Haible  <bruno@clisp.org>
4773
4774         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4775         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
4776         10.
4777         (OLD_ALLOW, OLD_DENY): New macros.
4778         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
4779         ACE_ACCESS_ALLOWED_ACE_TYPE.
4780         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
4781         ACE_ACCESS_DENIED_ACE_TYPE.
4782         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
4783         (NEW_ACE_EXECUTE): Fix value.
4784         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
4785         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
4786         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
4787         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
4788         NEW_ACE_SYNCHRONIZE): New macros.
4789         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
4790         instead of acl_fromtext, acl_set, facl_set.
4791         Fixes a coreutils/tests/cp/perm failure.
4792
4793 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
4794
4795         openat: test for fstatat (..., 0) bug
4796         Further testing with tar suggests that fstatat (..., 0)
4797         does not work in general, on AIX 7.1; see
4798         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
4799         So, give up entirely on AIX 7.1's fstatat, and fall back on our
4800         replacement fstatat (which is what older AIX releases were using
4801         anyway).
4802         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
4803         use is now changed to orig_fstatat.  This was probably the right
4804         thing to do anyway.
4805         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
4806         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
4807         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
4808         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
4809         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
4810         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
4811         if the bug is found.
4812
4813         openat: test for fstatat (AT_FDCWD, ..., 0) bug
4814         This tests for another fstatat bug on AIX 7.1:
4815         fstatat (AT_FDCWD, ..., 0) does not work.  See
4816         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
4817         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
4818         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
4819         (rpl_fstatat): Adjust so that it works around either (or both)
4820         bugs if present.
4821         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
4822
4823 2011-09-03  Karl Berry  <karl@gnu.org>
4824
4825         * doc/regex.texi (Character Class Operators): Avoid literal ":"
4826         in index entries.
4827
4828 2011-09-02  Bruno Haible  <bruno@clisp.org>
4829
4830         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
4831         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
4832         values of AR, ARFLAGS, RANLIB.
4833         Reported by John W. Eaton <jwe@gnu.org> for Octave.
4834
4835 2011-09-02  Bruno Haible  <bruno@clisp.org>
4836
4837         Find 'ar' program that fits with --host argument.
4838         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4839
4840 2011-09-02  Bruno Haible  <bruno@clisp.org>
4841
4842         tests: init.sh: Support any non-GNU diff.
4843         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4844         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4845         Solaris 8.
4846
4847 2011-09-02  Bruno Haible  <bruno@clisp.org>
4848
4849         tests: init.sh: work also with any non-GNU diff that supports -u
4850         * tests/init.sh: Relax check for diff -u support.
4851         Rather than checking for GNU diff via --version, simply check
4852         for support for -u itself.  Useful at least on OpenBSD 4.9,
4853         AIX 7.1, IRIX 6.5, and Solaris 10.
4854
4855 2011-09-01  Bruno Haible  <bruno@clisp.org>
4856
4857         strtoimax, strtoumax: Document problem on HP-UX 11.
4858         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4859         * doc/posix-functions/strtoumax.texi: Likewise.
4860
4861 2011-09-01  Bruno Haible  <bruno@clisp.org>
4862
4863         strtoumax: Avoid link error on OSF/1 with DTK cc.
4864         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4865         defined as a function.
4866         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4867         strtoumax is defined, not whether it is declared.
4868
4869 2011-09-01  Bruno Haible  <bruno@clisp.org>
4870
4871         strtoimax: Avoid link error on OSF/1 with DTK cc.
4872         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4873         defined as a function.
4874         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4875         strtoimax is defined, not whether it is declared.
4876
4877 2011-09-01  Bruno Haible  <bruno@clisp.org>
4878
4879         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4880         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4881         as a function.
4882         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4883         whether it is declared.
4884
4885 2011-09-01  Bruno Haible  <bruno@clisp.org>
4886
4887         imaxabs: Avoid link error on OSF/1 with DTK cc.
4888         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4889         as a function.
4890         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4891         whether it is declared.
4892
4893 2011-09-01  Bruno Haible  <bruno@clisp.org>
4894
4895         Tests for module 'strtoumax'.
4896         * modules/strtoumax-tests: New file.
4897         * tests/test-strtoumax.c: New file.
4898
4899         Tests for module 'strtoimax'.
4900         * modules/strtoimax-tests: New file.
4901         * tests/test-strtoimax.c: New file.
4902
4903         Tests for module 'imaxdiv'.
4904         * modules/imaxdiv-tests: New file.
4905         * tests/test-imaxdiv.c: New file.
4906
4907         Tests for module 'imaxabs'.
4908         * modules/imaxabs-tests: New file.
4909         * tests/test-imaxabs.c: New file.
4910
4911 2011-09-01  Bruno Haible  <bruno@clisp.org>
4912
4913         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4914         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4915         pthread_create.
4916
4917 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4918
4919         openat: work around AIX 7.1 fstatat issue
4920         This should fix the problem that was not properly fixed
4921         in the previous change, dated 2011-08-30.
4922         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4923         __need_system_stat_h defined.
4924         (orig_fstatat) [HAVE_FSTATAT]: New function.
4925         (rpl_fstatat): Go back to the old way of doing things,
4926         except call orig_fstatat instead of fstatat.
4927         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4928         Remove unnecessary check whether fstatat fills in st_size etc.
4929
4930 2011-09-01  Bruno Haible  <bruno@clisp.org>
4931
4932         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4933         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4934         just include the system's header.
4935
4936 2011-08-31  Jim Meyering  <meyering@redhat.com>
4937
4938         tests: avoid spurious assertion failure in test-float.c on ppc64
4939         * tests/test-float.c (test_long_double): Comment out an assertion,
4940         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4941         with gcc-4.4.4.
4942
4943         maint: indent with spaces, not TABs
4944         I need to get in the habit of running gnulib's "make check".
4945         Both of these would have been caught.
4946         * m4/largefile.m4: Indent with spaces, not TABs.
4947         * lib/parse-datetime.y (iso_8601_time): Likewise.
4948         Spotted by Pádraig Brady.
4949
4950         test-parse-datetime.c: accommodate a relatively strict gcc warning
4951         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4952         to avoid a warning from gcc's -Werror=missing-declarations.
4953         Insert a few spaces-before-funcall-parenthesis.
4954
4955 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4956
4957         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4958         The parser now accepts ISO 8601 date-time strings with "T" as the
4959         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4960         with a space between the date and time strings.  Now it also parses
4961         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4962         variants like "2004-02-29T16:21:42.333-07:00"
4963         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4964         of day representation using the 'T' separator character.
4965         * doc/parse-datetime.texi (General date syntax): replace use of
4966         deprecated --iso-8601 option with --rfc-3339 in example of date
4967         command output formats that can be parsed.
4968         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4969         lib/parse-datetime.y.
4970         (gmt_offset): New function.
4971         (main): Add additional test cases to validate ISO8601 extended
4972         date and time of day parsing.
4973
4974 2011-08-31  Bruno Haible  <bruno@clisp.org>
4975
4976         freopen: Documentation.
4977         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4978         name.
4979         Reported by Claudio Bley <claudio.bley@gmail.com>.
4980
4981 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4982
4983         freopen: Don't crash if the filename argument is NULL.
4984         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4985         NULL.
4986
4987 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4988
4989         openat: work around AIX 7.1 fstatat bug
4990         Problem reported by Kevin Brott for GNU tar, in the thread containing
4991         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4992         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4993         FSTATAT_ST_SIZE_ETC_BROKEN.
4994         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4995         rpl_fstatat.
4996         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4997         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4998         AC_CHECK_FUNCS_ONCE for fstatat.
4999         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
5000         fchmodat, mkdirat, openat and unlinkat.
5001
5002 2011-08-30  Bruno Haible  <bruno@clisp.org>
5003
5004         Avoid endless recursions if config.h includes some header files.
5005         * lib/fopen.c (__need_FILE): Define already before including config.h.
5006         * lib/freopen.c (__need_FILE): Likewise.
5007         * lib/open.c (__need_system_fcntl_h): Likewise.
5008         * lib/stat.c (__need_system_sys_stat_h): Likewise.
5009         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
5010         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5011
5012 2011-08-25  Karl Berry  <karl@gnu.org>
5013
5014         * config/srclist.txt (ylwrap): new try.
5015         * build-aux/ylwrap: new file.
5016
5017 2011-08-23  Bruno Haible  <bruno@clisp.org>
5018
5019         tmpdir: Use a good default directory on native Windows.
5020         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
5021         (P_tmpdir): Default to _P_tmpdir on native Windows.
5022         (path_search): On native Windows, try the value returned by GetTempPath
5023         before trying P_tmpdir.
5024         * modules/tmpdir (Depends-on): Add pathmax.
5025         Suggested by John Darrington <john@darrington.wattle.id.au>.
5026
5027 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
5028
5029         doc: fix typo in README-release
5030         * top/README-release: Capitalize first word of a sentence.
5031
5032 2011-08-19  Jim Meyering  <meyering@redhat.com>
5033
5034         fts: do not exhaust memory when processing million-entry directories
5035         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
5036         directory would require about 256*N bytes of memory.  Thus, it was
5037         easy to construct a directory too large to be processed by any of
5038         those tools.  With this change, fts' maximum memory utilization is
5039         now limited to around 30MB.
5040         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
5041         (fts_read): When we've processed the final entry (i.e., when
5042         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
5043         using the parent entry to read any remaining entries.  Dispatch
5044         depending on what fts_build returns:
5045         - NULL+stop, aka failure: stop
5046         - NULL otherwise: move up in the dir hierarchy
5047         - non-NULL: handle this new entry
5048         (fts_build): Declare and use new local, continue_readdir.
5049         Prepare to be called from fts_read, when the entries
5050         from a partially-read directory have just been exhausted.
5051         In that case, we'll skip the opendir and instead use the parent's
5052         fts_dirp and derive dir_fd from that.
5053         Finally, in the readdir loop, if we read max_entries entries,
5054         exit the loop ensuring *not* to call closedir.  This is required
5055         so that fts_dirp can be reused on a subsequent call.
5056         Prompted by Ben England's report of memory exhaustion in find
5057         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
5058
5059         maint: fts: move decl of `dp' down into while loop; split a long line
5060         * lib/fts.c (fts_build): No semantic change.
5061
5062         fts: add/use new struct member, fts_dirp
5063         We are about to use this to manage any directory with
5064         too many entries to read all of them into memory at once.
5065         To do that, we'll need to save the DIR* pointer in each
5066         affected FTSENT struct.
5067         * lib/fts_.h: Include <dirent.h>.
5068         (struct FTSENT) [fts_dirp]: New member.
5069         * lib/fts.c (closedir_and_clear): Define.
5070         Use it in place of closedir so that we are sure to
5071         clear the new fts_dirp member when done with it.
5072         (fts_alloc): Initialize the new member.
5073         (fts_lfree): Free, if needed.
5074
5075         maint: fts: give __opendir2 a new parameter and rename
5076         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
5077         than surreptitiously using sole caller's "dir_fd".
5078         (fts_opendir): Rename from __opendir2.
5079
5080         maint: fts.c: remove __opendir2's now-unused parameter, oflag
5081         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
5082
5083         maint: fts.c: correct off-by-one indentation
5084         * lib/fts.c (fts_build): Correct indentation, change style
5085         of a couple of block comments, and bracing style.
5086
5087         maint: fts.c: move __opendir2 #define "up" out of function body
5088         * lib/fts.c (__opendir2): Move "up".  No semantic change.
5089
5090         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
5091         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
5092         out for a long time and besides was useful only on BSD systems.
5093
5094 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
5095
5096         regex: port to Stratus OpenVOS
5097         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
5098         define to empty, rather than attempting nonportable optimizations.
5099         Problem reported by Paul Green in:
5100         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
5101         and fix suggested by Eric Blake in:
5102         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
5103
5104 2011-08-17  Eric Blake  <eblake@redhat.com>
5105
5106         getcwd: fix test failures on mingw
5107         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
5108         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
5109         test if long directory cannot be created, and allow mingw errno.
5110
5111         getcwd-lgpl: fix m4 to match relaxed test for BSD
5112         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
5113         (gl_FUNC_GETCWD_SIGNATURE): New macro.
5114         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
5115         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
5116         signature problem.
5117
5118         getcwd: fix compilation on mingw64
5119         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
5120         getcwd.
5121         Reported by Marc-André Lureau.
5122
5123         pipe2: silence compiler warning
5124         * lib/pipe2.c (pipe2): Hide label if it is not used.
5125
5126 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
5127
5128         relocatable-prog: fix link error
5129         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
5130         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
5131         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
5132         into modules/relocatable-lib without noticing that
5133         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
5134         also needs to build relocatable.c.
5135
5136 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5137
5138         getaddrinfo: fix sh typo in gai_strerrorA decl checking
5139         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
5140         shell code: it contained a 'break' that was not in a loop.
5141         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
5142         via a shell-language loop; this may have been true in old Autoconf
5143         versions, but it's not true in Autoconf 2.68.  I found this bug
5144         when testing coreutils git on Solaris 8, whose shell complains
5145         about the syntax error.
5146
5147 2011-08-12  Simon Josefsson  <simon@josefsson.org>
5148
5149         * lib/base64.c: Fix comment to reference RFC 4648.
5150         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
5151         <gvtulder@gmail.com>.
5152
5153 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
5154
5155         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
5156
5157         po/Makefile.in.in: fix make -q problem
5158         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
5159         rule, since there's no file named 'check-macro-version' and its
5160         use as a file breaks make -q.
5161         (all): Don't depend on check-macro-version.
5162         (CHECK_MACRO_VERSION): New macro.
5163         (stamp-po): Use it.
5164
5165         configmake: fix make -q problem
5166         * modules/configmake (configmake.h): Update configmake.h's time stamp
5167         even if the file does not change.  Otherwise, 'make -q' fails.
5168         Problem reported by Simon Josefsson in
5169         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
5170
5171 2011-08-11  Jim Meyering  <meyering@redhat.com>
5172
5173         git-version-gen: correct the advice in a comment
5174         * build-aux/git-version-gen: Correct comment.
5175         Don't recommend to list .tarball-version in .gitignore.
5176
5177 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5178
5179         base64: fix off-by-one buffer size bug
5180         Problem and (trivial) fix reported by Gijs van Tulder in
5181         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
5182         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
5183         * tests/test-base64.c (main): Catch the bug.
5184
5185 2011-08-10  Eric Blake  <eblake@redhat.com>
5186
5187         closein: correct comments
5188         * lib/closein.c (close_stdin): Improve comments.
5189
5190 2011-08-09  Bruno Haible  <bruno@clisp.org>
5191
5192         More tests for 'fseeko'.
5193         * tests/test-fseeko3.c: New file, from Eric Blake.
5194         * tests/test-fseeko3.sh: New file.
5195         * modules/fseeko-tests (Files): Add them.
5196         (TESTS): Add test-fseeko3.sh.
5197         (check_PROGRAMS): Add test-fseeko3.
5198
5199 2011-08-09  Eric Blake  <eblake@redhat.com>
5200
5201         fseeko: remove unneeded hack
5202         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
5203
5204         fseeko: fix bug on glibc
5205         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
5206         Reported by John W. Eaton.
5207
5208 2011-08-08  Bruno Haible  <bruno@clisp.org>
5209
5210         unictype/base: Fix interoperability with preinstalled libunistring.
5211         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
5212         Reported by Simon Josefsson.
5213
5214 2011-08-08  Bruno Haible  <bruno@clisp.org>
5215
5216         iswblank: Detect declaration correctly.
5217         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
5218         AC_CHECK_DECLS invocation.
5219
5220 2011-08-08  Bruno Haible  <bruno@clisp.org>
5221
5222         tcgetsid: Detect declaration correctly.
5223         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
5224         AC_CHECK_DECLS invocation.
5225         Reported by Simon Josefsson.
5226
5227 2011-08-08  Eric Blake  <eblake@redhat.com>
5228
5229         largefile: fix typo that regressed large file support
5230         * modules/largefile (configure.ac-early): Fix section name.
5231
5232 2011-08-06  Karl Berry  <karl@gnu.org>
5233
5234         * MODULES.html.sh (func_all_files): _Noreturn is no longer
5235         a separate module.
5236
5237 2011-08-05  Simon Josefsson  <simon@josefsson.org>
5238
5239         openat: Fix warnings and commens when building unlinkat.c on Hurd.
5240         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
5241         get prototype for free.
5242
5243 2011-08-04  Bruno Haible  <bruno@clisp.org>
5244
5245         Tests for module 'pathmax'.
5246         * modules/pathmax-tests: New file.
5247         * tests/test-pathmax.c: New file.
5248
5249         canonicalize-lgpl: Support larger filenames on the Hurd.
5250         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
5251         Reported by Paul Eggert.
5252
5253         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
5254         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
5255         * lib/chdir-long.h: Include pathmax.h.
5256         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
5257         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
5258         (PATH_MAX): Remove code that is done by pathmax.h.
5259         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
5260         * lib/tmpfile.c: Add a comment.
5261         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
5262         * modules/chdir-long (Depends-on): Add pathmax.
5263         * modules/getcwd (Depends-on): Add pathmax.
5264         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
5265         is not defined.
5266         * doc/posix-headers/limits.texi: Mention the pathmax module.
5267         * NEWS: Mention the change.
5268
5269 2011-08-02  Bruno Haible  <bruno@clisp.org>
5270
5271         pthread_sigmask: Actually use results of gl_THREADLIB.
5272         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
5273         gl_THREADLIB, not gl_[]THREADLIB.
5274         Reported by Eric Blake.
5275
5276 2011-08-02  Jim Meyering  <meyering@redhat.com>
5277
5278         maint.mk: relax the default _gl_TS_function_match regexp
5279         * top/maint.mk (_gl_TS_function_match): Don't require at least one
5280         space between function name and "(" in an "extern" declaration.
5281         That would fail to match a decl with no space there: extern void foo();
5282
5283 2011-07-31  Iain Nicol  <iain@thenicols.net>
5284
5285         git-version-gen: document that EXTRA_DIST must include .version
5286         * build-aux/git-version-gen: In the how-to-use comment, document
5287         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
5288         will fail when run from an unpacked distribution tarball.
5289
5290 2011-08-01  Bruno Haible  <bruno@clisp.org>
5291
5292         wctype-h: Fix last change.
5293         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
5294         REPLACE_TOWLOWER to 0.
5295         Reported by Sam Steingold <sds@gnu.org>.
5296
5297 2011-07-31  Bruno Haible  <bruno@clisp.org>
5298
5299         frexpl: Update autoconf test.
5300         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
5301         according to changes of 2011-06-20.
5302
5303 2011-07-31  Bruno Haible  <bruno@clisp.org>
5304
5305         sys_utsname: Add support for Minix.
5306         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
5307         <sys/utsname.h>.
5308         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
5309         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
5310
5311 2011-07-31  Bruno Haible  <bruno@clisp.org>
5312
5313         strings: Add support for Minix.
5314         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
5315         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
5316         * doc/posix-headers/strings.texi: Document the Minix problem.
5317
5318 2011-07-31  Bruno Haible  <bruno@clisp.org>
5319
5320         wctype-h: Add support for Minix.
5321         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
5322         REPLACE_TOWLOWER.
5323         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
5324         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
5325         REPLACE_ISWCNTRL.
5326
5327 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
5328
5329         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
5330         This is a performance improvement for 64-bit hosts: it causes the
5331         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
5332
5333 2011-07-31  Bruno Haible  <bruno@clisp.org>
5334
5335         stdioext: Add support for Minix.
5336         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
5337         * lib/fpurge.c (fpurge): Likewise.
5338         * lib/freadahead.c (freadahead): Likewise.
5339         * lib/freadable.c (freadable): Likewise.
5340         * lib/freading.c (freading): Likewise.
5341         * lib/freadptr.c (freadptr): Likewise.
5342         * lib/freadseek.c (freadptrinc): Likewise.
5343         * lib/fseeko.c (rpl_fseeko): Likewise.
5344         * lib/fseterr.c (fseterr): Likewise.
5345         * lib/fwritable.c (fwritable): Likewise.
5346         * lib/fwriting.c (fwriting): Likewise.
5347         * lib/fflush.c (clear_ungetc_buffer): Update comment.
5348         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
5349
5350 2011-07-31  Bruno Haible  <bruno@clisp.org>
5351
5352         errno: Port to Minix.
5353         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
5354         ECONNABORTED are defined.
5355         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
5356         GNULIB_defined_ECONNABORTED): New macros.
5357         * lib/strerror-override.h (strerror_override): Test also
5358         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
5359         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
5360         ECONNABORTED.
5361         * doc/posix-headers/errno.texi: Mention the Minix problem.
5362
5363 2011-07-31  Bruno Haible  <bruno@clisp.org>
5364
5365         Work around declaration collisions on Minix.
5366         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
5367         defined, set REPLACE_MBSINIT.
5368         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
5369         defined, set REPLACE_MBRTOWC.
5370         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
5371         set REPLACE_MBRLEN.
5372         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
5373         defined, set REPLACE_MBSRTOWCS.
5374         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
5375         defined, set REPLACE_WCRTOMB.
5376         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
5377         defined, set REPLACE_WCSRTOMBS.
5378
5379 2011-07-31  Bruno Haible  <bruno@clisp.org>
5380
5381         Add support for Minix with ACK compiler.
5382         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
5383         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
5384         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
5385
5386 2011-07-31  Bruno Haible  <bruno@clisp.org>
5387
5388         Documentation about Minix.
5389         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
5390         * doc/glibc-headers/*.texi: Likewise.
5391         * doc/posix-functions/*.texi: Likewise.
5392         * doc/glibc-functions/*.texi: Likewise.
5393
5394 2011-07-31  Bruno Haible  <bruno@clisp.org>
5395
5396         snippet/warn-on-use: Fix indentation.
5397         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
5398
5399 2011-07-25  Jim Meyering  <meyering@redhat.com>
5400
5401         tests: test-update-copyright.sh: remove unnecessary "rm" commands
5402         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
5403         commands.
5404
5405 2011-07-27  Jim Meyering  <meyering@redhat.com>
5406
5407         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
5408         * top/maint.mk (gl_extract_significant_defines_): Now that
5409         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
5410         gnulib/lib/signal.in.h, and now that we recommend to
5411         define-if-undefined those two symbols in application code,
5412         we must filter them out of the "significant" list.
5413         This avoids a "make syntax-check" failure in coreutils.
5414
5415 2011-07-26  Eric Blake  <eblake@redhat.com>
5416
5417         warnings: add comments about previous patch
5418         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
5419         * m4/include_next.m4: Likewise.
5420         * m4/warn-on-use.m4: Likewise.
5421         * m4/warnings.m4: Likewise, and simplify use.
5422         Suggested by Stefano Lattarini.
5423
5424         include-next, warnings: support older autoconf
5425         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
5426         AS_VAR_PUSHDEF in a way that works with older autoconf.
5427         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
5428         Reported by Daniel P. Berrange.
5429
5430 2011-07-25  Bruno Haible  <bruno@clisp.org>
5431
5432         fseek, ftell: Fix doc.
5433         * doc/posix-functions/fseek.texi: Reword statement about
5434         AC_SYS_LARGEFILE.
5435         * doc/posix-functions/ftell.texi: Likewise.
5436
5437 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
5438             Bruno Haible  <bruno@clisp.org>
5439
5440         Add dependencies to the 'largefile' module.
5441         * modules/fopen (Depends-on): Add 'largefile'.
5442         * modules/freopen (Depends-on): Likewise.
5443         * modules/fseeko (Depends-on): Likewise.
5444         * modules/ftello (Depends-on): Likewise.
5445         * modules/glob (Depends-on): Likewise.
5446         * modules/lseek (Depends-on): Likewise.
5447         * modules/lstat (Depends-on): Likewise.
5448         * modules/mkostemp (Depends-on): Likewise.
5449         * modules/mkostemps (Depends-on): Likewise.
5450         * modules/mkstemp (Depends-on): Likewise.
5451         * modules/mkstemps (Depends-on): Likewise.
5452         * modules/open (Depends-on): Likewise.
5453         * modules/openat (Depends-on): Likewise.
5454         * modules/pread (Depends-on): Likewise.
5455         * modules/pwrite (Depends-on): Likewise.
5456         * modules/scandir (Depends-on): Likewise.
5457         * modules/stat (Depends-on): Likewise.
5458         * modules/tmpfile (Depends-on): Likewise.
5459         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
5460         since the containing module now depends on the largefile module.
5461         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
5462         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
5463         off_t is fixed by gnulib.
5464         * doc/posix-functions/freopen.texi: Likewise.
5465         * doc/posix-functions/fseeko.texi: Likewise.
5466         * doc/posix-functions/fstatat.texi: Likewise.
5467         * doc/posix-functions/ftello.texi: Likewise.
5468         * doc/posix-functions/glob.texi: Likewise.
5469         * doc/posix-functions/lseek.texi: Likewise.
5470         * doc/posix-functions/lstat.texi: Likewise.
5471         * doc/posix-functions/mkstemp.texi: Likewise.
5472         * doc/posix-functions/open.texi: Likewise.
5473         * doc/posix-functions/openat.texi: Likewise.
5474         * doc/posix-functions/pread.texi: Likewise.
5475         * doc/posix-functions/pwrite.texi: Likewise.
5476         * doc/posix-functions/scandir.texi: Likewise.
5477         * doc/posix-functions/stat.texi: Likewise.
5478         * doc/posix-functions/tmpfile.texi: Likewise.
5479         * doc/glibc-functions/mkostemp.texi: Likewise.
5480         * doc/glibc-functions/mkostemps.texi: Likewise.
5481         * doc/glibc-functions/mkstemps.texi: Likewise.
5482
5483 2011-07-25  Bruno Haible  <bruno@clisp.org>
5484
5485         fcntl: Move AC_LIBOBJ invocation to module description.
5486         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
5487         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
5488
5489         fcntl: Remove call-in from fchdir.m4.
5490         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
5491         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
5492
5493         dup3: Remove potential call-in from fchdir.m4.
5494         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
5495         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
5496
5497         dup2: Move AC_LIBOBJ invocation to module description.
5498         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
5499         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
5500         Don't invoke AC_LIBOBJ.
5501         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
5502
5503         dup2: Remove call-in from fchdir.m4.
5504         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
5505         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
5506
5507         fclose: Move AC_LIBOBJ invocation to module description.
5508         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
5509         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
5510         to 1.
5511         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
5512
5513         fclose: Remove call-in from close.m4.
5514         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
5515         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
5516
5517         close: Move AC_LIBOBJ invocation to module description.
5518         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
5519         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
5520         1.
5521         * modules/close (configure.ac): Invoke AC_LIBOBJ.
5522
5523         close: Remove call-in from fchdir.m4.
5524         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
5525         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
5526
5527         open: Move AC_LIBOBJ invocation to module description.
5528         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
5529         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
5530         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
5531
5532         open: Remove call-in from fchdir.m4.
5533         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
5534         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
5535
5536         fchdir: Start to remove gl_REPLACE_* idiom.
5537         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
5538         (gl_FUNC_FCHDIR): Invoke it.
5539
5540 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
5541
5542         * lib/ftell.c (ftell): Comment out cast.
5543
5544         close: use gl_REPLACE_FCLOSE only if defined
5545         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
5546         is defined.  The close module doesn't depend on the fclose module
5547         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
5548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
5549         I reproduced the problem with "./gnulib-tool --test close sys_socket".
5550
5551 2011-07-24  Jim Meyering  <meyering@redhat.com>
5552
5553         test-select.h: avoid warning when using gcc's -Wmissing-declarations
5554         * tests/test-select.h (test_function): Declare as "static".
5555
5556 2011-07-24  Bruno Haible  <bruno@clisp.org>
5557
5558         doc: Mention the effects of AC_SYS_LARGEFILE.
5559         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
5560         on this function.
5561         * doc/posix-functions/aio_error.texi: Likewise.
5562         * doc/posix-functions/aio_fsync.texi: Likewise.
5563         * doc/posix-functions/aio_read.texi: Likewise.
5564         * doc/posix-functions/aio_return.texi: Likewise.
5565         * doc/posix-functions/aio_suspend.texi: Likewise.
5566         * doc/posix-functions/aio_write.texi: Likewise.
5567         * doc/posix-functions/fgetpos.texi: Likewise.
5568         * doc/posix-functions/fopen.texi: Likewise.
5569         * doc/posix-functions/freopen.texi: Likewise.
5570         * doc/posix-functions/fsetpos.texi: Likewise.
5571         * doc/posix-functions/fstatvfs.texi: Likewise.
5572         * doc/posix-functions/ftruncate.texi: Likewise.
5573         * doc/posix-functions/ftw.texi: Likewise.
5574         * doc/posix-functions/getrlimit.texi: Likewise.
5575         * doc/posix-functions/glob.texi: Likewise.
5576         * doc/posix-functions/lio_listio.texi: Likewise.
5577         * doc/posix-functions/lockf.texi: Likewise.
5578         * doc/posix-functions/mkstemp.texi: Likewise.
5579         * doc/posix-functions/mmap.texi: Likewise.
5580         * doc/posix-functions/nftw.texi: Likewise.
5581         * doc/posix-functions/openat.texi: Likewise.
5582         * doc/posix-functions/opendir.texi: Likewise.
5583         * doc/posix-functions/posix_fadvise.texi: Likewise.
5584         * doc/posix-functions/posix_fallocate.texi: Likewise.
5585         * doc/posix-functions/pread.texi: Likewise.
5586         * doc/posix-functions/pwrite.texi: Likewise.
5587         * doc/posix-functions/readdir.texi: Likewise.
5588         * doc/posix-functions/readdir_r.texi: Likewise.
5589         * doc/posix-functions/rewinddir.texi: Likewise.
5590         * doc/posix-functions/scandir.texi: Likewise.
5591         * doc/posix-functions/seekdir.texi: Likewise.
5592         * doc/posix-functions/setrlimit.texi: Likewise.
5593         * doc/posix-functions/statvfs.texi: Likewise.
5594         * doc/posix-functions/telldir.texi: Likewise.
5595         * doc/posix-functions/tmpfile.texi: Likewise.
5596         * doc/posix-functions/truncate.texi: Likewise.
5597         * doc/glibc-functions/fallocate.texi: Likewise.
5598         * doc/glibc-functions/fstatfs.texi: Likewise.
5599         * doc/glibc-functions/fts_children.texi: Likewise.
5600         * doc/glibc-functions/fts_read.texi: Likewise.
5601         * doc/glibc-functions/getdirentries.texi: Likewise.
5602         * doc/glibc-functions/mkostemp.texi: Likewise.
5603         * doc/glibc-functions/mkostemps.texi: Likewise.
5604         * doc/glibc-functions/mkstemps.texi: Likewise.
5605         * doc/glibc-functions/preadv.texi: Likewise.
5606         * doc/glibc-functions/pwritev.texi: Likewise.
5607         * doc/glibc-functions/sendfile.texi: Likewise.
5608         * doc/glibc-functions/statfs.texi: Likewise.
5609
5610 2011-07-24  Bruno Haible  <bruno@clisp.org>
5611
5612         doc: Fix typo.
5613         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
5614
5615 2011-07-24  Bruno Haible  <bruno@clisp.org>
5616
5617         doc: Mention fsusage.
5618         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
5619
5620 2011-07-24  Bruno Haible  <bruno@clisp.org>
5621
5622         doc: Mention new glibc headers and functions.
5623         * doc/glibc-headers/gshadow.texi: New file.
5624         * doc/glibc-functions/endsgent.texi: New file.
5625         * doc/glibc-functions/fgetsgent.texi: New file.
5626         * doc/glibc-functions/fgetsgent_r.texi: New file.
5627         * doc/glibc-functions/getsgent.texi: New file.
5628         * doc/glibc-functions/getsgent_r.texi: New file.
5629         * doc/glibc-functions/getsgnam.texi: New file.
5630         * doc/glibc-functions/getsgnam_r.texi: New file.
5631         * doc/glibc-functions/putsgent.texi: New file.
5632         * doc/glibc-functions/setsgent.texi: New file.
5633         * doc/glibc-functions/sgetsgent.texi: New file.
5634         * doc/glibc-functions/sgetsgent_r.texi: New file.
5635         * doc/glibc-functions/malloc_info.texi: New file.
5636         * doc/glibc-functions/preadv.texi: New file.
5637         * doc/glibc-functions/pwritev.texi: New file.
5638         * doc/glibc-functions/register_printf_modifier.texi: New file.
5639         * doc/glibc-functions/register_printf_specifier.texi: New file.
5640         * doc/glibc-functions/register_printf_type.texi: New file.
5641         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
5642         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
5643         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
5644         * doc/glibc-functions/pthread_getname_np.texi: New file.
5645         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
5646         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
5647         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
5648         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
5649         * doc/glibc-functions/pthread_setname_np.texi: New file.
5650         * doc/glibc-functions/pthread_sigqueue.texi: New file.
5651         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
5652         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
5653         * doc/glibc-functions/qsort_r.texi: New file.
5654         * doc/glibc-functions/quick_exit.texi: New file.
5655         * doc/glibc-functions/syncfs.texi: New file.
5656         * doc/gnulib.texi: Include them.
5657         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
5658         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
5659         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
5660         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
5661         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
5662         * doc/glibc-functions/execvpe.texi: Likewise.
5663
5664 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5665
5666         ftell: don't include <unistd.h>
5667         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
5668         guaranteed to define off_t, and the ftell module depends on the
5669         stdio module.
5670
5671         ftell: do not assume wraparound signed arithmetic
5672         * lib/ftell.c: Include <limits.h>.
5673         (ftell): Don't assume wraparound signed arithmetic.
5674
5675 2011-07-24  Bruno Haible  <bruno@clisp.org>
5676
5677         close: No longer depend on module 'fclose'.
5678         * modules/close (Depends-on): Remove fclose.
5679         * NEWS: Mention the change.
5680         Suggested by Sam Steingold <sds@gnu.org>.
5681
5682 2011-07-24  Bruno Haible  <bruno@clisp.org>
5683
5684         fsusage: Enable large volume support on AIX >= 5.2.
5685         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
5686         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
5687         instead of STAT_STATVFS.
5688         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
5689
5690         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
5691         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
5692         f_blocks field only on MacOS X.
5693
5694         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
5695         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
5696         * modules/fsusage (Depends-on): Add largefile.
5697
5698 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5699
5700         * README: Modernize discussion of signed integers.
5701         Assuming overflow wraparound is no longer safe.
5702         Mention ones' complement and signed magnitude.
5703
5704 2011-07-22  Bruno Haible  <bruno@clisp.org>
5705
5706         select tests, pselect tests: Refactor.
5707         * tests/test-select.h: New file, extracted from tests/test-select.c.
5708         (select_fn): New type.
5709         (test, do_select, do_select_nowait, do_select_wait, test_tty,
5710         test_connect_first, test_accept_first, test_pair, test_socket_pair,
5711         test_pipe): Add my_select argument.
5712         (test_function): Renamed from main. Add my_select argument.
5713         * tests/test-select.c: Move most code to tests/test-select.h. Include
5714         test-select.h.
5715         * modules/select-tests (Files): Add tests/test-select.h.
5716         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
5717         (my_select, main): New functions.
5718         * modules/pselect-tests (Files): Add tests/test-select.h,
5719         tests/macros.h, tests/signature.h.
5720         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
5721         (configure.ac): Check for <sys/wait.h>.
5722
5723 2011-07-22  Bruno Haible  <bruno@clisp.org>
5724
5725         sys_select tests: Check the signature of FD_*.
5726         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
5727         signature tests from here...
5728         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
5729         here.
5730         * modules/sys_select-tests (Files): Add tests/signature.h.
5731
5732 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5733
5734         largefile: new module, replacing large-inode
5735         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
5736         * MODULES.html.sh: Add largefile, remove large-inode.
5737         * modules/largefile, m4/largefile.m4: New files.
5738         * modules/large-inode, m4/large-inode.m4: Remove.
5739
5740         fsusage: port to MacOS X 10.7 with 4 TiB file systems
5741         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
5742         implementations that use only 32 bits to count blocks.
5743         On typical hosts with 1024-byte blocks, this fails with file
5744         systems as small as 4 TiB.  Problem reported by Herb Wartens
5745         <http://debbugs.gnu.org/9140> and this should also fix a similar
5746         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
5747
5748         large-inode: New module
5749         * MODULES.html.sh: Add it.
5750         * modules/large-inode, m4/large-inode.m4: New files.
5751
5752         extensions: Enable extensions on MacOS X 10.5 and later.
5753         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
5754
5755 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
5756
5757         file-has-acl: use acl_extended_file_nofollow if available
5758         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
5759         (acl_extended_file): New macro.
5760         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
5761         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
5762
5763 2011-07-21  Bruno Haible  <bruno@clisp.org>
5764
5765         Declare system functions in a way that works with C++.
5766         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
5767         declare fdopendir as extern "C".
5768         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
5769         declare frexpl as extern "C".
5770         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
5771         declare gai_strerror as extern "C".
5772         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
5773         programs, declare gai_strerror as extern "C".
5774         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
5775         declare getlogin_r as extern "C".
5776         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
5777         as extern "C".
5778         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
5779         declare ldexpl as extern "C".
5780         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
5781         as extern "C".
5782         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
5783         program, declare getmntinfo as extern "C".
5784         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
5785         stpncpy as extern "C".
5786         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
5787         program, declare __xpg_strerror_r as extern "C".
5788         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
5789         strndup as extern "C".
5790         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
5791         declare memset and bzero as extern "C".
5792         Reported by Sam Steingold <sds@gnu.org>.
5793
5794 2011-07-12  Jim Meyering  <meyering@redhat.com>
5795
5796         maint.mk: prohibit inclusion of "verify.h" without use
5797         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
5798
5799 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5800
5801         timer-time: A new module to check for timer_settime()
5802         * m4/timer_time.m4: Check for the posix function.
5803         * modules/timer-time: Add the new module.
5804         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
5805         Mention it.
5806
5807 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
5808             Bruno Haible  <bruno@clisp.org>
5809
5810         pthread_sigmask: assume POSIX threads if --avoid=threadlib
5811         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
5812         not defined, assume POSIX threads and look for pthread_sigmask in
5813         $LIBS, without changing $CPPFLAGS.
5814
5815 2011-07-19  Bruno Haible  <bruno@clisp.org>
5816
5817         strstr: Update cross-compilation guess.
5818         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
5819         CPUs, guess no, in view of glibc
5820         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
5821         Suggested by Eric Blake. Reported by Reuben Thomas.
5822
5823 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5824
5825         getopt-gnu: suppress core dumps from detection code
5826         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
5827         to suppress core dumps that may well occur on glibc systems.
5828         * modules/getopt-gnu: Depend on nocrash.
5829
5830 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5831
5832         pthread_sigmask: ensure usleep is declared
5833         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
5834         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
5835
5836 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5837
5838         doc: Document NonStop portability issues.
5839         * doc/posix-functions/sigaction.texi (sigaction):
5840         * doc/posix-headers/signal.texi (signal.h):
5841         Document NonStop.  See Joachim Schmitz in
5842         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5843
5844 2011-07-15  Bruno Haible  <bruno@clisp.org>
5845
5846         ffsl, ffsll: Avoid unportable behaviour.
5847         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5848
5849 2011-07-15  Bruno Haible  <bruno@clisp.org>
5850
5851         ffs: More tests.
5852         * tests/test-ffs.c (NBITS): New macro.
5853         (main): Add more tests.
5854         * tests/test-ffsl.c (NBITS): New macro.
5855         (main): Add more tests.
5856         * tests/test-ffsll.c (NBITS): New macro.
5857         (main): Add more tests.
5858
5859 2011-07-15  Eric Blake  <eblake@redhat.com>
5860
5861         ffsl, ffsll: new modules
5862         * modules/ffsl: New file.
5863         * modules/ffsll: Likewise.
5864         * m4/ffsl.m4: Likewise.
5865         * m4/ffsll.m4: Likewise.
5866         * lib/ffsl.c: Likewise.
5867         * lib/ffsl.h: Likewise.
5868         * lib/ffsll.c: Likewise.
5869         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5870         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5871         * modules/string (Makefile.am): Substitute witnesses.
5872         * lib/strings.in.h (ffsl, ffsll): Declare.
5873         * modules/ffsl-tests: New test file.
5874         * modules/ffsll-tests: Likewise.
5875         * tests/test-ffsl.c: Likewise.
5876         * tests/test-ffsll.c: Likewise.
5877         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5878         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5879         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5880
5881         ffs: fix m4 prerequisite
5882         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5883
5884         ffs: avoid undefined behavior
5885         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5886         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5887         Reported by Bruno Haible.
5888
5889 2011-07-12  Bruno Haible  <bruno@clisp.org>
5890
5891         pthread_sigmask: Rely on module 'threadlib'.
5892         * modules/pthread_sigmask (Depends-on): Add threadlib.
5893         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5894         is defined.
5895
5896 2011-07-12  Bruno Haible  <bruno@clisp.org>
5897
5898         regex: Depend on module 'strcase'.
5899         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5900
5901 2011-07-12  Jim Meyering  <meyering@redhat.com>
5902
5903         warn-on-use: fix typo in file name
5904         * modules/snippet/warn-on-use (Files): Correct file name:
5905         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5906
5907 2011-07-12  Bruno Haible  <bruno@clisp.org>
5908
5909         strings: Document module.
5910         * doc/posix-headers/strings.texi: Mention module 'strings'.
5911
5912 2011-07-12  Bruno Haible  <bruno@clisp.org>
5913
5914         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5915         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5916         (Files, Makefile.am): Update.
5917         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5918         * modules/stdlib (Depends-on): Update.
5919
5920 2011-07-12  Bruno Haible  <bruno@clisp.org>
5921
5922         * NEWS: Mention the changes.
5923
5924         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5925         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5926         (Files, Makefile.am): Update.
5927         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5928         * modules/arpa_inet (Depends-on): Update.
5929         * modules/ctype (Depends-on): Update.
5930         * modules/dirent (Depends-on): Update.
5931         * modules/fcntl-h (Depends-on): Update.
5932         * modules/glob (Depends-on): Update.
5933         * modules/iconv-h (Depends-on): Update.
5934         * modules/inttypes-incomplete (Depends-on): Update.
5935         * modules/langinfo (Depends-on): Update.
5936         * modules/locale (Depends-on): Update.
5937         * modules/math (Depends-on): Update.
5938         * modules/netdb (Depends-on): Update.
5939         * modules/poll-h (Depends-on): Update.
5940         * modules/pty (Depends-on): Update.
5941         * modules/search (Depends-on): Update.
5942         * modules/signal (Depends-on): Update.
5943         * modules/spawn (Depends-on): Update.
5944         * modules/stdio (Depends-on): Update.
5945         * modules/stdlib (Depends-on): Update.
5946         * modules/string (Depends-on): Update.
5947         * modules/strings (Depends-on): Update.
5948         * modules/sys_file (Depends-on): Update.
5949         * modules/sys_ioctl (Depends-on): Update.
5950         * modules/sys_select (Depends-on): Update.
5951         * modules/sys_socket (Depends-on): Update.
5952         * modules/sys_stat (Depends-on): Update.
5953         * modules/sys_time (Depends-on): Update.
5954         * modules/sys_times (Depends-on): Update.
5955         * modules/sys_utsname (Depends-on): Update.
5956         * modules/sys_wait (Depends-on): Update.
5957         * modules/termios (Depends-on): Update.
5958         * modules/time (Depends-on): Update.
5959         * modules/unistd (Depends-on): Update.
5960         * modules/wchar (Depends-on): Update.
5961         * modules/wctype-h (Depends-on): Update.
5962         * MODULES.html.sh (Support for building libraries and executables):
5963         Update.
5964
5965         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5966         * modules/snippet/unused-parameter: Renamed from
5967         modules/unused-parameter.
5968         (Files, Makefile.am): Update.
5969         * build-aux/snippet/unused-parameter.h: Renamed from
5970         build-aux/unused-parameter.h.
5971         * modules/selinux-h (Depends-on): Update.
5972         * modules/unistr/base (Depends-on): Update.
5973         * MODULES.html.sh (Core language properties): Update.
5974
5975         Rename module 'link-warning' to 'snippet/link-warning'.
5976         * modules/snippet/link-warning: Renamed from modules/link-warning.
5977         (Files, Makefile.am): Update.
5978         * build-aux/snippet/link-warning.h: Renamed from
5979         build-aux/link-warning.h.
5980         * MODULES.html.sh (Support for building libraries and executables):
5981         Update.
5982
5983         Rename module 'c++defs' to 'snippet/c++defs'.
5984         * modules/snippet/c++defs: Renamed from modules/c++defs.
5985         (Files, Makefile.am): Update.
5986         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5987         * modules/arpa_inet (Depends-on): Update.
5988         * modules/ctype (Depends-on): Update.
5989         * modules/dirent (Depends-on): Update.
5990         * modules/fcntl-h (Depends-on): Update.
5991         * modules/glob (Depends-on): Update.
5992         * modules/iconv-h (Depends-on): Update.
5993         * modules/langinfo (Depends-on): Update.
5994         * modules/locale (Depends-on): Update.
5995         * modules/math (Depends-on): Update.
5996         * modules/netdb (Depends-on): Update.
5997         * modules/poll-h (Depends-on): Update.
5998         * modules/pty (Depends-on): Update.
5999         * modules/search (Depends-on): Update.
6000         * modules/signal (Depends-on): Update.
6001         * modules/spawn (Depends-on): Update.
6002         * modules/stdio (Depends-on): Update.
6003         * modules/stdlib (Depends-on): Update.
6004         * modules/string (Depends-on): Update.
6005         * modules/strings (Depends-on): Update.
6006         * modules/sys_ioctl (Depends-on): Update.
6007         * modules/sys_select (Depends-on): Update.
6008         * modules/sys_socket (Depends-on): Update.
6009         * modules/sys_stat (Depends-on): Update.
6010         * modules/sys_time (Depends-on): Update.
6011         * modules/sys_wait (Depends-on): Update.
6012         * modules/termios (Depends-on): Update.
6013         * modules/time (Depends-on): Update.
6014         * modules/unistd (Depends-on): Update.
6015         * modules/wchar (Depends-on): Update.
6016         * modules/wctype-h (Depends-on): Update.
6017
6018         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
6019         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
6020         (Files, Makefile.am): Update.
6021         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
6022         * modules/argv-iter (Depends-on): Update.
6023         * modules/arpa_inet (Depends-on): Update.
6024         * modules/dirent (Depends-on): Update.
6025         * modules/fcntl-h (Depends-on): Update.
6026         * modules/fnmatch (Depends-on): Update.
6027         * modules/getopt-posix (Depends-on): Update.
6028         * modules/glob (Depends-on): Update.
6029         * modules/iconv-h (Depends-on): Update.
6030         * modules/inttypes-incomplete (Depends-on): Update.
6031         * modules/locale (Depends-on): Update.
6032         * modules/math (Depends-on): Update.
6033         * modules/netdb (Depends-on): Update.
6034         * modules/search (Depends-on): Update.
6035         * modules/signal (Depends-on): Update.
6036         * modules/spawn (Depends-on): Update.
6037         * modules/stdio (Depends-on): Update.
6038         * modules/stdlib (Depends-on): Update.
6039         * modules/string (Depends-on): Update.
6040         * modules/strings (Depends-on): Update.
6041         * modules/sys_socket (Depends-on): Update.
6042         * modules/sys_stat (Depends-on): Update.
6043         * modules/sys_time (Depends-on): Update.
6044         * modules/sys_times (Depends-on): Update.
6045         * modules/sys_utsname (Depends-on): Update.
6046         * modules/time (Depends-on): Update.
6047         * modules/unistd (Depends-on): Update.
6048         * modules/wchar (Depends-on): Update.
6049         * MODULES.html.sh (Support for building libraries and executables):
6050         Update.
6051
6052 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
6053
6054         Improvements on _Noreturn and related modules.
6055
6056         modules/_Exit-tests: test _Noreturn too
6057         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
6058         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
6059         (main): Use them.
6060
6061         stdnoreturn, stdnoreturn-tests: remove modules
6062         They're not needed here and a bit premature for use elsewhere.  See
6063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
6064         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
6065         * tests/test-stdnoreturn.c: Remove files.
6066         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
6067         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
6068         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
6069         and using noreturn.
6070         * modules/openat, modules/sigpipe-die, modules/xalloc:
6071         * modules/xmemdup0, modules/xstrtol:
6072         Remove dependency on stdnoreturn.
6073
6074         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
6075         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
6076         Reparenthesize to avoid GCC warning.
6077         Support Microsoft's syntax.
6078         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
6079
6080         _Noreturn-tests: remove module
6081         * modules/_Noreturn-tests: Remove.
6082         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
6083         * tests/test-_Noreturn.c: Remove.
6084         * tests/test-stdnoreturn.c: Merge from the old
6085         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
6086
6087 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
6088
6089         _Noreturn, stdnoreturn, and related modules.
6090
6091         * top/maint.mk: Adjust to new noreturn support.
6092         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
6093         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
6094
6095         xalloc: use stdnoreturn.h
6096         * lib/xalloc.h: Include <stdnoreturn.h>.
6097         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6098         * modules/xalloc (Depends-on): Add stdnoreturn.
6099
6100         xstrtol: use stdnoreturn.h
6101         * lib/xstrtol.h: Include <stdnoreturn.h>.
6102         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6103         * modules/xstrtol (Depends-on): Add stdnoreturn.
6104
6105         xmemdup0: use stdnoreturn.h
6106         * lib/xmemdup0.h: Include <stdnoreturn.h>.
6107         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6108         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
6109
6110         sigpipe-die: use stdnoreturn.h
6111         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
6112         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6113         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
6114
6115         openat: use stdnoreturn.h
6116         * lib/openat.h: Include <stdnoreturn.h>.
6117         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
6118         * modules/openat (Depends-on): Add stdnoreturn.
6119
6120         * lib/openat-die.c (openat_save_fail): Modernize comment.
6121
6122         * lib/xalloc-die.c (xalloc_die): Modernize comment.
6123
6124         * lib/glthread/thread.h: Modernize comment.
6125
6126         obstack: use _Noreturn
6127         * lib/obstack.c (__attribute__): Remove macro.
6128         (print_and_abort): Use _Noreturn.
6129
6130         c-stack: use _Noreturn
6131         * lib/c-stack.c (die, overflow_handler, segv_handler):
6132         Use _Noreturn rather than __attribute__((noreturn)).
6133
6134         argmatch-tests, exclude_tests: use _Noreturn
6135         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
6136         Remove.
6137         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
6138
6139         stdlib: use _Noreturn
6140         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
6141         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
6142         * modules/stdlib (Depends-on): Add _Noreturn.
6143         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
6144
6145         stdnoreturn-tests: new module
6146         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
6147
6148         stdnoreturn: new module
6149         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
6150         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
6151
6152         _Noreturn-tests: new module
6153         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
6154
6155         _Noreturn: new module
6156         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
6157         New section, mentioning it.
6158         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
6159
6160         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
6161
6162 2011-07-11  Eric Blake  <eblake@redhat.com>
6163
6164         ffs: new module
6165         * modules/ffs: New file.
6166         * m4/ffs.m4: Likewise.
6167         * lib/ffs.c: Likewise.
6168         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
6169         * modules/strings (Makefile.am): Substitute witness.
6170         (Depends-on): Add c++defs.
6171         * lib/strings.in.h (ffs): Declare.
6172         * modules/ffs-tests: New test file.
6173         * tests/test-ffs.c: Test new module.
6174         * MODULES.html.sh (Integer arithmetic functions): Mention it.
6175         * doc/posix-functions/ffs.texi (ffs): Likewise.
6176
6177         regex: avoid compiler warning
6178         * lib/regex.c (includes): Include <strings.h>, for use of
6179         strcasecmp in regcomp.c.
6180         Reported by Joachim Schmitz.
6181
6182 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6183
6184         stdint: respect system's intmax_t if INTMAX_MAX
6185         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
6186         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
6187         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
6188         long but int64_t is long long, and where we will clash with the
6189         system intmax_t if we override it.  See
6190         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
6191         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
6192         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
6193         similarly for UINTMAX_C.
6194
6195 2011-07-08  Bruno Haible  <bruno@clisp.org>
6196
6197         pthread_sigmask tests: Avoid a compiler warning.
6198         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
6199         non-zero.
6200
6201         sigprocmask tests: A better way to avoid a compiler warning.
6202         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
6203         (main): Complain if system() returns non-zero.
6204         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
6205
6206 2011-07-08  Bruno Haible  <bruno@clisp.org>
6207
6208         pthread_sigmask: Work around IRIX bug.
6209         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
6210         bug.
6211         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
6212         there may be unblocked pending signals.
6213         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
6214
6215 2011-07-08  Bruno Haible  <bruno@clisp.org>
6216
6217         pthread_sigmask: Work around Cygwin bug.
6218         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
6219         bug.
6220         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
6221         the system's pthread_sigmask function.
6222         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
6223
6224 2011-07-08  Bruno Haible  <bruno@clisp.org>
6225
6226         pthread_sigmask: Work around bug in single-threaded implementation.
6227         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
6228         FreeBSD, HP-UX, Solaris bug.
6229         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
6230         * lib/pthread_sigmask.c: Include <stddef.h>.
6231         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
6232         the system's pthread_sigmask function.
6233         * modules/pthread_sigmask (configure.ac): Invoke
6234         gl_PREREQ_PTHREAD_SIGMASK.
6235         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
6236         HP-UX, Solaris.
6237
6238 2011-07-08  Eric Blake  <eblake@redhat.com>
6239
6240         test-sigprocmask: avoid compiler warning
6241         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
6242         * tests/test-sigprocmask.c (main): Use it to silence warning.
6243         Reported by Jim Meyering.
6244
6245         test-snprintf: avoid compiler warning
6246         * tests/test-snprintf.c (main): Avoid shadowed declaration.
6247         * tests/test-vsnprintf.c (main): Likewise.
6248         Reported by Jim Meyering.
6249
6250 2011-07-08  Bruno Haible  <bruno@clisp.org>
6251
6252         Tests for module 'pthread_sigmask'.
6253         * modules/pthread_sigmask-tests: New file.
6254         * tests/test-pthread_sigmask1.c: New file, based on
6255         tests/test-sigprocmask.c.
6256         * tests/test-pthread_sigmask2.c: New file.
6257
6258 2011-07-08  Jim Meyering  <meyering@redhat.com>
6259
6260         test-getopt.h: avoid warning about an unused variable
6261         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
6262
6263 2011-07-07  Jim Meyering  <meyering@redhat.com>
6264
6265         maint: reduce list of files exempt from sc_prohibit_leading_TABs
6266         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
6267         now that it no longer contains leading TABs.
6268         Remove unused "url=FIXME" statement.
6269
6270 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
6271
6272         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
6273         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
6274         When gl_THREADLIB is not in use, assume that the POSIX sematics
6275         are desired.  This is better for Emacs, which uses POSIX semantics
6276         on GNUish and/or POSIXish platforms, and does not use threads at
6277         all otherwise.
6278
6279         pthread_sigmask: fix typo when testing for libraries
6280         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
6281         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
6282
6283 2011-07-08  Eric Blake  <eblake@redhat.com>
6284
6285         fts: introduce FTS_NOATIME
6286         * lib/fts_.h (FTS_NOATIME): New bit flag.
6287         (FTS_OPTIONMASK): Adjust.
6288         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
6289         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
6290
6291 2011-07-08  Bruno Haible  <bruno@clisp.org>
6292
6293         Tests for module 'thread'.
6294         * modules/thread-tests: New file.
6295         * tests/test-thread_self.c: New file.
6296         * tests/test-thread_create.cc: New file.
6297
6298 2011-07-08  Bruno Haible  <bruno@clisp.org>
6299
6300         thread: Avoid gcc warnings when using gl_thread_self().
6301         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
6302         'void *'.
6303         (gl_thread_self_pointer): Update.
6304
6305 2011-07-07  Bruno Haible  <bruno@clisp.org>
6306
6307         signal-c++-tests: Check declaration of pthread_sigmask.
6308         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
6309         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
6310         $(LIB_PTHREAD_SIGMASK).
6311
6312 2011-07-07  Bruno Haible  <bruno@clisp.org>
6313
6314         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
6315         * lib/signal.in.h (pthread_sigmask): Override if
6316         REPLACE_PTHREAD_SIGMASK is 1.
6317         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
6318         REPLACE_PTHREAD_SIGMASK.
6319         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
6320         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
6321         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
6322         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
6323         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
6324
6325 2011-07-07  Bruno Haible  <bruno@clisp.org>
6326
6327         pthread_sigmask: Ensure declaration in <signal.h>.
6328         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
6329         include <pthread.h>.
6330         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
6331         problem.
6332
6333 2011-07-07  Bruno Haible  <bruno@clisp.org>
6334
6335         pthread_sigmask: Document the module.
6336         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
6337
6338 2011-07-07  Bruno Haible  <bruno@clisp.org>
6339
6340         pthread_sigmask: Follow gnulib conventions.
6341         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
6342         gl_PTHREAD_SIGMASK.
6343         * modules/pthread_sigmask (configure.ac): Update.
6344
6345 2011-07-07  Bruno Haible  <bruno@clisp.org>
6346
6347         pthread_sigmask: Make declaration C++ safe.
6348         * lib/signal.in.h: In two special conditions, just do an #include_next.
6349         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
6350         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
6351         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
6352         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
6353         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
6354         not REPLACE_PTHREAD_MASK.
6355         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
6356         not REPLACE_PTHREAD_MASK.
6357         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
6358
6359 2011-07-07  Bruno Haible  <bruno@clisp.org>
6360
6361         pthread_sigmask: Fix return value.
6362         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
6363         * lib/pthread_sigmask.c: New file.
6364         * modules/pthread_sigmask (Files): Add it.
6365         (configure.ac): Invoke AC_LIBOBJ.
6366
6367 2011-07-07  Eric Blake  <eblake@redhat.com>
6368
6369         getopt: more portable argv creation
6370         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
6371         const, use char arrays rather than strings.
6372         Suggested by Paul Eggert.
6373
6374 2011-07-07  Bruno Haible  <bruno@clisp.org>
6375
6376         Tests for module 'sigprocmask'.
6377         * modules/sigprocmask-tests: New file.
6378         * tests/test-sigprocmask.c: New file.
6379
6380 2011-07-07  Bruno Haible  <bruno@clisp.org>
6381
6382         float tests: Tweak.
6383         * tests/test-float.c (main): Tweak skip message.
6384
6385 2011-07-07  Eric Blake  <eblake@redhat.com>
6386
6387         getopt: avoid compiler warning during configure
6388         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
6389         assigning string literals to non-const pointer.
6390
6391         getopt-gnu: avoid crash in glibc getopt
6392         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
6393         * tests/test-getopt.h (test_getopt): Enhance test.
6394         * tests/test-getopt_long.h (test_getopt_long): Likewise.
6395         * doc/posix-functions/getopt.texi (getopt): Document it.
6396         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
6397         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
6398         Likewise.
6399
6400 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
6401
6402         getopt: handle W; without long options in getopt [BZ #12922]
6403         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
6404         but no long options are defined, just return 'W'.
6405
6406 2011-07-07  Bruno Haible  <bruno@clisp.org>
6407
6408         Avoid literal tabs.
6409         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
6410         variable containing a tab instead of a literal tab.
6411         Reported by Jim Meyering.
6412
6413 2011-07-07  Bruno Haible  <bruno@clisp.org>
6414
6415         Comments.
6416         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
6417
6418 2011-07-06  Bruno Haible  <bruno@clisp.org>
6419
6420         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
6421         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
6422         <winsock2.h>.
6423         (rpl_fd_isset, FD_ISSET): New definitions, copied from
6424         lib/sys_socket.in.h.
6425         (close, gethostname): Hide declarations from <winsock2.h>.
6426         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
6427         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
6428         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
6429         (select): Don't override if gnulib's <sys/select.h> was already
6430         included.
6431         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
6432         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
6433         setsockopt, shutdown, select): Tweak indentation.
6434
6435 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6436
6437         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
6438         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
6439         in an application that does not use the sys_select module.
6440
6441 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
6442
6443         poll: do not return 0 on timeout=-1
6444         * lib/poll.c: Loop with yield if no events occured
6445
6446 2011-07-06  Eric Blake  <eblake@redhat.com>
6447
6448         pthread_sigmask: always replace when not using pthread
6449         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
6450         replacement when using some threading other than pthread.  Fix
6451         logic bug.
6452
6453 2011-07-06  Bruno Haible  <bruno@clisp.org>
6454
6455         Comments.
6456         * m4/printf.m4: Update comments about mingw.
6457
6458 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6459
6460         sys_select: define sigset_t more portably
6461         * lib/sys_select.in.h: Always include <sys/types.h>, since
6462         we now need sigset_t and mingw defines it there.
6463         Include <signal.h> before split inclusion guard, to avoid
6464         mishaps on Solaris, whose <signal.h> eventually includes us.
6465         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
6466         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
6467         which come from ...
6468         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
6469         gl_CHECK_TYPE_SIGSET_T.
6470         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
6471         does the real work.
6472         * modules/sys_select (Depends-on): Add 'signal'.
6473
6474         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
6475         Suggested by Bruno Haible.
6476
6477         pselect: Use pthread_sigmask, not sigprocmask.
6478         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
6479         multithreaded apps better than sigprocmask does.
6480         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
6481         sigprocmask directly.
6482
6483 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6484
6485         * lib/pselect.c (pselect): Use plain name, without "rpl_".
6486         Don't #undef,  since we don't need any underlying pselect.
6487         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
6488         (Depends-on): Add select.
6489         (Link): Add $(LIBSOCKET).
6490         These changes suggested by Bruno Haible.
6491
6492         pselect: document better
6493         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
6494         * doc/posix-functions/pselect.texi (pselect): Document new module.
6495
6496         pthread_sigmask: new module
6497         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
6498         * doc/posix-functions/pthread_sigmask.texi: Document new module.
6499         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
6500         This is done only as a macro; I don't know how well that'll
6501         work for C++.  Move <sys/types.h> include before the include_next,
6502         to avoid mishap on Solaris.
6503         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
6504         * modules/signal (Makefile.am): Substitute the check's results.
6505         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
6506
6507         test-pselect: new module
6508         * modules/pselect-tests, tests/test-pselect.c: New files.
6509         * tests/test-select.c, tests/test-sys_select-c++.cc:
6510         If TEST_PSELECT is defined, test pselect instead of testing select.
6511
6512         * tests/test-sys_select.c (sigset_t): Test for it, too.
6513         Suggested by Bruno Haible.
6514
6515 2011-07-05  Eric Blake  <eblake@redhat.com>
6516
6517         snprintf: guarantee %1$d, for libintl
6518         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
6519         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
6520         * doc/posix-functions/snprintf.texi (snprintf): Update.
6521         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
6522         * tests/test-snprintf.c (main): Enhance test.
6523         * tests/test-vsnprintf.c (main): Likewise.
6524
6525 2011-07-05  Jim Meyering  <meyering@redhat.com>
6526
6527         maint: exempt stdio-read.c and stdio-write.c from the cppi check
6528         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
6529         per Bruno's request, to accommodate this idiom (no space after "#")
6530         even when the function is inside an #if block:
6531         char *
6532         gets (char *s)
6533         #undef gets
6534         {
6535           ...
6536         }
6537
6538 2011-07-04  Jim Meyering  <meyering@redhat.com>
6539
6540         maint: indent with spaces, not TABs, and add a rule to check this
6541         * tests/test-userspec.c: Indent with spaces, not TABs.
6542         * tests/test-argp.c: Likewise.
6543         * tests/test-c-stack2.sh: Likewise.
6544         * tests/test-parse-duration.sh: Likewise
6545         * m4/strtod.m4: Likewise.
6546         * m4/alloca.m4: Likewise.
6547         * m4/pselect.m4: Likewise.
6548         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
6549
6550 2011-07-03  Jim Meyering  <meyering@redhat.com>
6551
6552         maint.mk: correct omissions in prohibit_argmatch_without_use check
6553         This rule would mistakenly report that argmatch.h is included without
6554         use even when both the argmatch and invalid_arg macro were used.
6555         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
6556         of argmatch and invalid_arg.
6557
6558 2011-07-03  Bruno Haible  <bruno@clisp.org>
6559
6560         Comments about EINTR.
6561         * lib/safe-read.h: Explain the purpose of this module.
6562         * lib/safe-write.h: Likewise.
6563         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
6564         module.
6565         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
6566         module.
6567         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6568
6569 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6570
6571         xnanosleep: Rewrite to use new dtotimespec module.
6572         It has the conversion code that used to be in xnanosleep.
6573         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
6574         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
6575         (TIME_T_MAX): Remove.
6576         (xnanosleep): Rewrite in terms of dtotimespec.
6577         * modules/xnanosleep (Depends-on): Add dtotimespec.
6578         Remove intprops, stdbool.
6579
6580         timespec-add, timespec-sub: new modules
6581         * lib/timespec.h (timespec_add, timespec_sub): New decls.
6582         * lib/timespec-add.c, lib/timespec-sub.c:
6583         * modules/timespec-add, modules/timespec-sub: New files.
6584
6585         dtotimespec: new module
6586         * lib/timespec.h (dtotimespec): New decl.
6587         * lib/dtotimespec.c, modules/dtotimespec: New files.
6588
6589         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
6590
6591         pselect: new module
6592         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
6593         (pselect): New decls.
6594         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
6595         since the standard pselect decl uses 'restrict'.
6596         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
6597         HAVE_PSELECT, REPLACE_PSELECT.
6598         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
6599         HAVE_PSELECT, REPLACE_PSELECT.
6600         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
6601
6602         sys_select: don't depend on sys_socket
6603         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
6604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
6605         This fix works on GNU and GNU-like platforms, but has not been tested
6606         on native Windows.
6607         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
6608         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
6609         gl_HEADER_SYS_SOCKET.
6610         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
6611         gl_PREREQ_SYS_H_WINSOCK2.
6612
6613 2011-06-29  Eric Blake  <eblake@redhat.com>
6614
6615         pipe2: fix C89 compile problem
6616         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
6617         Reported by Bruno Haible.
6618
6619         pipe, pipe2: don't corrupt fd on error
6620         * lib/pipe.c (pipe): Leave fd unchanged on error.
6621         * lib/pipe2.c (pipe2): Likewise.
6622         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
6623         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
6624
6625 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
6626
6627         mmap-anon: do not use regular expressions inadvertently
6628         * m4/mmap-anon.m4: Remove trailing period from strings sought
6629         in the output.
6630
6631 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6632
6633         nanosleep: fix integer overflow problem
6634         * lib/nanosleep.c (my_usleep): Don't assume signed integer
6635         arithmetic wraps around on overflow.
6636
6637         nanosleep: simplify carrying
6638         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
6639         first call to the underyling nanosleep, not for the last one.
6640         This doesn't fix any bugs, but it simplifies the computation of
6641         the remaining delay.  Found while auditing integer overflow issues.
6642
6643         dup2: remove test for existence of fcntl
6644         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
6645         "#if HAVE_FCNTL", in the configure-time test program.
6646         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
6647         and therefore speeds up "configure" a bit.  Found while
6648         adding the dup2 module to Emacs.
6649
6650 2011-06-24  Eric Blake  <eblake@redhat.com>
6651
6652         maint.mk: enhance useless header checks
6653         * top/maint.mk (_sc_header_without_use): Check both include
6654         styles.
6655         (sc_prohibit_assert_without_use)
6656         (sc_prohibit_close_stream_without_use)
6657         (sc_prohibit_getopt_without_use)
6658         (sc_prohibit_quotearg_without_use)
6659         (sc_prohibit_quote_without_use)
6660         (sc_prohibit_long_options_without_use)
6661         (sc_prohibit_inttostr_without_use)
6662         (sc_prohibit_ignore_value_without_use)
6663         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
6664         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
6665         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
6666         (sc_prohibit_hash_pjw_without_use)
6667         (sc_prohibit_safe_read_without_use)
6668         (sc_prohibit_argmatch_without_use)
6669         (sc_prohibit_canonicalize_without_use)
6670         (sc_prohibit_root_dev_ino_without_use)
6671         (sc_prohibit_openat_without_use)
6672         (sc_prohibit_c_ctype_without_use)
6673         (sc_prohibit_signal_without_use)
6674         (sc_prohibit_stdio--_without_use)
6675         (sc_prohibit_stdio-safer_without_use)
6676         (sc_prohibit_strings_without_use)
6677         (sc_prohibit_intprops_without_use)
6678         (sc_prohibit_stddef_without_use)
6679         (sc_prohibit_xfreopen_without_use): Update clients.
6680
6681 2011-06-24  Jim Meyering  <meyering@redhat.com>
6682
6683         syntax-check: keep one maint.mk rule in sync with its header
6684         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
6685         of the bug Eric has just fixed, with today's commit 25e4c2ec.
6686         I prefer to avoid temporary files here, so use <(...), but that
6687         is not supported by /bin/sh, so...
6688         (SHELL): Define to /bin/bash.
6689
6690 2011-06-24  Eric Blake  <eblake@redhat.com>
6691
6692         maint.mk: update sc_prohibit_intprops_without_use
6693         * top/maint.mk (_intprops_names): Match recent changes.
6694
6695 2011-06-24  Bruno Haible  <bruno@clisp.org>
6696
6697         strerror-override: No-op tweak.
6698         * lib/strerror-override.h (strerror_override): Reorder conditions,
6699         for consistency with lib/strerror-override.c.
6700
6701 2011-06-23  Eric Blake  <eblake@redhat.com>
6702
6703         maint.mk: test further PATH_MAX issues
6704         * top/maint.mk (sc_prohibit_path_max_array): Rename...
6705         (sc_prohibit_path_max_allocation): ...and also test alloca.
6706         Suggested by Jim Meyering.
6707
6708 2011-06-22  Eric Blake  <eblake@redhat.com>
6709
6710         maint.mk: add syntax-check to avoid char[PATH_MAX]
6711         * top/maint.mk (sc_prohibit_path_max_array): New rule.
6712
6713         stat: be robust to PATH_MAX definition
6714         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
6715         * modules/stat (Depends-on): Add verify.
6716
6717         link: work around IRIX bug
6718         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
6719         * lib/link.c (rpl_link): Work around it.
6720         * tests/test-link.h (test_link): Enhance test.
6721         * doc/posix-functions/link.texi (link): Document the bug.
6722
6723         getopt: silence clang warning
6724         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
6725         dereference.
6726         Reported by Gustavo Martin Domato.
6727
6728 2011-06-22  Jim Meyering  <meyering@redhat.com>
6729
6730         bootstrap: do not insert a blank line into each .gitignore file
6731         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
6732
6733 2011-06-21  Eric Blake  <eblake@redhat.com>
6734
6735         perror: test for output mismatch
6736         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
6737         perror on IRIX.
6738
6739         strerror_r: fix OpenBSD behavior on out-of-range
6740         * lib/strerror_r.c (strerror_r): Always use maximal string.
6741         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6742
6743         strerror_r: fix OpenBSD behavior on 0
6744         * lib/strerror-override.c (strerror_override): Also override 0
6745         when needed.
6746         * lib/strerror-override.h (strerror_override): Likewise.
6747         * lib/strerror.c (strerror): Simplify, now that 0 override is done
6748         earlier.
6749         * lib/strerror_r.c (strerror_r): Likewise.
6750         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
6751         behavior...
6752         (gl_FUNC_STRERROR_0): ...into new macro.
6753         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
6754         is overridden.
6755         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
6756         * modules/strerror-override (Files): Add strerror.m4.
6757         (configure.ac): Also provide override for 0 when needed.
6758         * doc/posix-functions/strerror.texi (strerror): Document this.
6759         * doc/posix-functions/perror.texi (perror): Likewise.
6760
6761         perror: adjust array size
6762         * modules/perror (Depends-on): Add strerror-override.
6763         * lib/perror.c (perror): Use it to avoid magic number.
6764
6765         strerror-override: reduce size
6766         * lib/strerror-override.c (strerror_override): Use fewer lines.
6767
6768 2011-06-20  Bruno Haible  <bruno@clisp.org>
6769
6770         pathmax: Ensure correct value for PATH_MAX on HP-UX.
6771         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
6772
6773 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6774
6775         alloca: port to compilers that can optimize like GCC 4.6.0
6776         * lib/alloca.c (find_stack_direction): New signature, taken from
6777         Autoconf git.  This works with GCC 4.6.0.  This code should never
6778         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
6779         be used with other compilers that optimize as well as GCC 4.6.0 does.
6780         (alloca): Adjust to new signature.
6781         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
6782         New macro, which patches Autoconf in a similar way.
6783
6784         c-stack: stop worrying about stack direction
6785         * lib/c-stack.c (find_stack_direction): Remove.
6786         (segv_handler): Don't worry about stack direction growth, as it's
6787         too much of a pain to configure this correctly, given how compilers
6788         are optimizing-away our stack-growth detection code.  Instead, assume
6789         that any access to just before or just after the stack is OK.
6790         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6791         Don't require AC_FUNC_ALLOCA; no longer needed.
6792
6793 2011-06-20  Eric Blake  <eblake@redhat.com>
6794
6795         test-stat: don't allocate PATH_MAX bytes
6796         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
6797         PATH_MAX-sized buffer.
6798         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
6799         * modules/stat-tests (Depends-on): Likewise.
6800         * tests/test-fstatat.c (includes): Drop pathmax.h.
6801         * tests/test-stat.c (includes): Likewise.
6802         Reported by Bruno Haible.
6803
6804 2011-06-20  Bruno Haible  <bruno@clisp.org>
6805
6806         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
6807         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
6808         * lib/float.c: New file.
6809         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
6810         REPLACE_FLOAT_LDBL.
6811         * modules/float (Files): Add lib/float.c.
6812         (configure.ac): Invoke AC_LIBOBJ.
6813         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
6814
6815 2011-06-20  Bruno Haible  <bruno@clisp.org>
6816
6817         Tests for module 'float'.
6818         * modules/float-tests: New file.
6819         * tests/test-float.c: New file.
6820
6821 2011-06-19  Bruno Haible  <bruno@clisp.org>
6822
6823         isinf: Coding style.
6824         * lib/isinf.c: Use GNU coding style.
6825
6826 2011-06-19  Bruno Haible  <bruno@clisp.org>
6827
6828         linkat test: Avoid test failure on AIX 7.1.
6829         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
6830         * tests/test-link.h (test_link): Likewise.
6831
6832 2011-06-19  Bruno Haible  <bruno@clisp.org>
6833
6834         pread test: Avoid test failure on OpenBSD 4.9.
6835         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
6836
6837 2011-06-19  Bruno Haible  <bruno@clisp.org>
6838
6839         sprintf-posix: Fix test failure on AIX 7.1.
6840         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6841         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6842         on AIX.
6843         * doc/posix-functions/fprintf.texi: Likewise.
6844         * doc/posix-functions/printf.texi: Likewise.
6845         * doc/posix-functions/snprintf.texi: Likewise.
6846         * doc/posix-functions/sprintf.texi: Likewise.
6847         * doc/posix-functions/vdprintf.texi: Likewise.
6848         * doc/posix-functions/vfprintf.texi: Likewise.
6849         * doc/posix-functions/vprintf.texi: Likewise.
6850         * doc/posix-functions/vsnprintf.texi: Likewise.
6851         * doc/posix-functions/vsprintf.texi: Likewise.
6852
6853 2011-06-19  Bruno Haible  <bruno@clisp.org>
6854
6855         roundl-ieee: Fix test failure on AIX 7.1.
6856         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6857         * doc/posix-functions/roundl.texi: Mention problem with negative
6858         arguments.
6859
6860 2011-06-19  Bruno Haible  <bruno@clisp.org>
6861
6862         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6863         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6864         * doc/posix-functions/round.texi: Mention problem with negative
6865         arguments.
6866         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6867
6868 2011-06-19  Bruno Haible  <bruno@clisp.org>
6869
6870         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6871         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6872         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6873         * doc/posix-functions/roundf.texi: Mention problem with negative
6874         arguments.
6875         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6876
6877 2011-06-19  Bruno Haible  <bruno@clisp.org>
6878
6879         ceilf-ieee: Work around bug on MacOS X 10.5.
6880         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6881
6882         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6883         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6884         IEEE compliant, avoid compiler optimizations.
6885         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6886         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6887         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6888         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6889         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6890         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6891         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6892         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6893         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6894         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6895
6896 2011-06-19  Bruno Haible  <bruno@clisp.org>
6897
6898         ceilf-ieee: Work around bug on AIX 7.1.
6899         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6900         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6901
6902 2011-06-19  Bruno Haible  <bruno@clisp.org>
6903
6904         ceil-ieee: Work around bug on AIX 7.1.
6905         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6906         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6907
6908 2011-06-18  Bruno Haible  <bruno@clisp.org>
6909
6910         fsync test: Avoid test failure on MacOS X and AIX.
6911         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6912         EINVAL.
6913
6914 2011-06-18  Bruno Haible  <bruno@clisp.org>
6915
6916         openat, fdopendir tests: Fix link errors.
6917         * modules/openat-tests (Depends-on): Add progname.
6918         * modules/fdopendir-tests (Depends-on): Likewise.
6919         * tests/test-fchownat.c: Include progname.h.
6920         (main): Call set_program_name.
6921         * tests/test-fstatat.c: Include progname.h.
6922         (main): Call set_program_name.
6923         * tests/test-mkdirat.c: Include progname.h.
6924         (main): Call set_program_name.
6925         * tests/test-openat.c: Include progname.h.
6926         (main): Call set_program_name.
6927         * tests/test-unlinkat.c: Include progname.h.
6928         (main): Call set_program_name.
6929         * tests/test-fdopendir.c: Include progname.h.
6930         (main): Call set_program_name.
6931
6932 2011-06-18  Bruno Haible  <bruno@clisp.org>
6933
6934         Doc update.
6935         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6936         HP-UX.
6937         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6938
6939 2011-06-18  Bruno Haible  <bruno@clisp.org>
6940
6941         getcwd tests: Avoid compilation error on HP-UX 11.31.
6942         * modules/getcwd-tests (Depends-on): Add pathmax.
6943         * tests/test-getcwd.c: Include pathmax.h.
6944
6945 2011-06-18  Bruno Haible  <bruno@clisp.org>
6946
6947         isfinite, isinf: Fix link error on AIX 6 and 7.
6948         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6949         needed, also test the macro with a 'float' argument.
6950         * m4/isinf.m4 (gl_ISINF): Likewise.
6951
6952 2011-06-18  Bruno Haible  <bruno@clisp.org>
6953
6954         getloadavg: Don't clobber LIBS. Regression from previous commit.
6955         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6956         AC_CHECK_LIB from here...
6957         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6958         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6959         gl_func_getloadavg_done.
6960         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6961
6962 2011-06-18  Bruno Haible  <bruno@clisp.org>
6963
6964         clean-temp: Improve documentation.
6965         * lib/clean-temp.h: Explain better how to use this module.
6966         Reported by John Darrington <john@darrington.wattle.id.au>.
6967
6968 2011-06-17  Bruno Haible  <bruno@clisp.org>
6969
6970         pread, pwrite: Avoid cc warning on AIX.
6971         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6972         (pwrite): Likewise.
6973
6974 2011-06-17  Bruno Haible  <bruno@clisp.org>
6975
6976         spawn-pipe tests: Fix link error.
6977         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6978         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6979
6980 2011-06-17  Bruno Haible  <bruno@clisp.org>
6981
6982         Tests: Remove unnecessary dependency.
6983         * modules/canonicalize-tests (Depends-on): Remove progname.
6984         * modules/chown-tests (Depends-on): Likewise.
6985         * modules/dirname-tests (Depends-on): Likewise.
6986         * modules/fdopendir-tests (Depends-on): Likewise.
6987         * modules/fdutimensat-tests (Depends-on): Likewise.
6988         * modules/hash-tests (Depends-on): Likewise.
6989         * modules/lchown-tests (Depends-on): Likewise.
6990         * modules/linkat-tests (Depends-on): Likewise.
6991         * modules/renameat-tests (Depends-on): Likewise.
6992         * modules/spawn-pipe-tests (Depends-on): Likewise.
6993         * modules/utimensat-tests (Depends-on): Likewise.
6994
6995 2011-06-17  Bruno Haible  <bruno@clisp.org>
6996
6997         spawn-pipe tests: Fix link error.
6998         * tests/test-spawn-pipe-child.c: Undefine fflush.
6999
7000 2011-06-17  Bruno Haible  <bruno@clisp.org>
7001
7002         Fix tests link errors.
7003         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
7004         * modules/chown-tests (Makefile.am): Don't link test-chown with
7005         LIBINTL.
7006         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
7007         LIBINTL.
7008         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
7009         LIBINTL.
7010         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
7011         LIBINTL.
7012
7013 2011-06-16  Bruno Haible  <bruno@clisp.org>
7014
7015         crypto/gc-sha1: Fix recent regression.
7016         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
7017         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
7018
7019         crypto/gc-md5: Fix recent regression.
7020         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
7021
7022         crypto/gc-md4: Fix recent regression.
7023         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
7024         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
7025
7026         crypto/gc-arctwo: Fix recent regression.
7027         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
7028         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
7029
7030         crypto/gc-rijndael: Fix recent regression.
7031         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
7032         (configure.ac): Invoke AC_LIBOBJ here.
7033         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
7034         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7035
7036         crypto/gc-hmac-sha1: Fix recent regression.
7037         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
7038         (configure.ac): Invoke AC_LIBOBJ here.
7039         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
7040         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7041
7042         crypto/gc-hmac-md5: Fix recent regression.
7043         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
7044         (configure.ac): Invoke AC_LIBOBJ here.
7045         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
7046         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7047
7048         crypto/gc-des: Fix recent regression.
7049         * modules/crypto/gc-des (Files): Remove m4/des.m4.
7050         (configure.ac): Invoke AC_LIBOBJ here.
7051         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
7052         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7053
7054         crypto/gc-arcfour: Fix recent regression.
7055         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
7056         (configure.ac): Invoke AC_LIBOBJ here.
7057         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
7058         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7059
7060 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
7061
7062         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
7063         After the 2011-05-21 change, this macro requires
7064         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
7065         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
7066
7067 2011-06-16  Bruno Haible  <bruno@clisp.org>
7068
7069         fprintftime: Move AC_LIBOBJ invocations to module description.
7070         * m4/fprintftime.m4: Remove file.
7071         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
7072         (configure.ac): Remove gl_FPRINTFTIME call.
7073         (Makefile.am): Augment lib_SOURCES.
7074         Reported by Jim Meyering.
7075
7076 2011-06-16  Bruno Haible  <bruno@clisp.org>
7077
7078         tmpfile-safer: Finish 2011-05-23 commit.
7079         * m4/stdio-safer.m4: Really remove file.
7080         Reported by Jim Meyering.
7081
7082 2011-06-16  Bruno Haible  <bruno@clisp.org>
7083
7084         syntax-check: Fix typo.
7085         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
7086         printf-posix.m4.
7087         Reported by Jim Meyering.
7088
7089 2011-06-13  Jim Meyering  <meyering@redhat.com>
7090
7091         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
7092         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
7093
7094 2011-05-23  Bruno Haible  <bruno@clisp.org>
7095
7096         yesno: Move AC_LIBOBJ invocations to module description.
7097         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
7098         * modules/yesno (Makefile.am): Augment lib_SOURCES.
7099
7100 2011-05-23  Bruno Haible  <bruno@clisp.org>
7101
7102         xstrtol: Move AC_LIBOBJ invocations to module description.
7103         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
7104         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
7105
7106 2011-05-23  Bruno Haible  <bruno@clisp.org>
7107
7108         xstrtold: Move AC_LIBOBJ invocations to module description.
7109         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
7110         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
7111
7112 2011-05-23  Bruno Haible  <bruno@clisp.org>
7113
7114         xstrtod: Move AC_LIBOBJ invocations to module description.
7115         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
7116         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
7117
7118 2011-05-23  Bruno Haible  <bruno@clisp.org>
7119
7120         xnanosleep: Move AC_LIBOBJ invocations to module description.
7121         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
7122         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
7123
7124 2011-05-23  Bruno Haible  <bruno@clisp.org>
7125
7126         xgetcwd: Move AC_LIBOBJ invocations to module description.
7127         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
7128         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
7129
7130 2011-05-23  Bruno Haible  <bruno@clisp.org>
7131
7132         xalloc: Move AC_LIBOBJ invocations to module description.
7133         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
7134         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
7135
7136 2011-05-23  Bruno Haible  <bruno@clisp.org>
7137
7138         write-any-file: Move AC_LIBOBJ invocations to module description.
7139         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
7140         invocation.
7141         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
7142
7143 2011-05-23  Bruno Haible  <bruno@clisp.org>
7144
7145         utimens: Move AC_LIBOBJ invocations to module description.
7146         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
7147         * modules/utimens (Makefile.am): Augment lib_SOURCES.
7148
7149 2011-05-23  Bruno Haible  <bruno@clisp.org>
7150
7151         utimecmp: Move AC_LIBOBJ invocations to module description.
7152         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
7153         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
7154
7155 2011-05-23  Bruno Haible  <bruno@clisp.org>
7156
7157         userspec: Move AC_LIBOBJ invocations to module description.
7158         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
7159         * modules/userspec (Makefile.am): Augment lib_SOURCES.
7160
7161 2011-05-23  Bruno Haible  <bruno@clisp.org>
7162
7163         unlinkdir: Move AC_LIBOBJ invocations to module description.
7164         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
7165         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
7166
7167 2011-05-23  Bruno Haible  <bruno@clisp.org>
7168
7169         unistd-safer: Move AC_LIBOBJ invocations to module description.
7170         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
7171         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
7172
7173 2011-05-23  Bruno Haible  <bruno@clisp.org>
7174
7175         tempname: Move AC_LIBOBJ invocations to module description.
7176         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
7177         * modules/tempname (Makefile.am): Augment lib_SOURCES.
7178
7179 2011-05-23  Bruno Haible  <bruno@clisp.org>
7180
7181         strftime: Move AC_LIBOBJ invocations to module description.
7182         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
7183         * modules/strftime (Makefile.am): Augment lib_SOURCES.
7184
7185 2011-05-23  Bruno Haible  <bruno@clisp.org>
7186
7187         stdlib-safer: Move AC_LIBOBJ invocations to module description.
7188         * m4/stdlib-safer.m4: Remove file.
7189         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
7190         (configure.ac): Remove gl_STDLIB_SAFER call.
7191         (Makefile.am): Augment lib_SOURCES.
7192
7193 2011-05-23  Bruno Haible  <bruno@clisp.org>
7194
7195         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
7196         * m4/stdio-safer.m4: Remove file.
7197         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
7198         (configure.ac): Remove gl_TMPFILE_SAFER call.
7199         (Makefile.am): Augment lib_SOURCES.
7200
7201 2011-05-23  Bruno Haible  <bruno@clisp.org>
7202
7203         popen-safer: Move AC_LIBOBJ invocations to module description.
7204         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
7205         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
7206         (configure.ac): Remove gl_POPEN_SAFER call.
7207         (Makefile.am): Augment lib_SOURCES.
7208
7209 2011-05-23  Bruno Haible  <bruno@clisp.org>
7210
7211         freopen-safer: Move AC_LIBOBJ invocations to module description.
7212         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
7213         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
7214         (configure.ac): Remove gl_FREOPEN_SAFER call.
7215         (Makefile.am): Augment lib_SOURCES.
7216
7217 2011-05-23  Bruno Haible  <bruno@clisp.org>
7218
7219         fopen-safer: Move AC_LIBOBJ invocations to module description.
7220         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
7221         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
7222         (configure.ac): Remove gl_FOPEN_SAFER call.
7223         (Makefile.am): Augment lib_SOURCES.
7224
7225 2011-05-23  Bruno Haible  <bruno@clisp.org>
7226
7227         crypto/sha512: Move AC_LIBOBJ invocations to module description.
7228         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
7229         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
7230
7231 2011-05-23  Bruno Haible  <bruno@clisp.org>
7232
7233         crypto/sha256: Move AC_LIBOBJ invocations to module description.
7234         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
7235         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
7236
7237 2011-05-23  Bruno Haible  <bruno@clisp.org>
7238
7239         crypto/sha1: Move AC_LIBOBJ invocations to module description.
7240         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
7241         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
7242
7243 2011-05-23  Bruno Haible  <bruno@clisp.org>
7244
7245         settime: Move AC_LIBOBJ invocations to module description.
7246         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
7247         * modules/settime (Makefile.am): Augment lib_SOURCES.
7248
7249 2011-05-23  Bruno Haible  <bruno@clisp.org>
7250
7251         savedir: Move AC_LIBOBJ invocations to module description.
7252         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
7253         * modules/savedir (Makefile.am): Augment lib_SOURCES.
7254
7255 2011-05-23  Bruno Haible  <bruno@clisp.org>
7256
7257         save-cwd: Move AC_LIBOBJ invocations to module description.
7258         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
7259         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
7260
7261 2011-05-23  Bruno Haible  <bruno@clisp.org>
7262
7263         same: Move AC_LIBOBJ invocations to module description.
7264         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
7265         * modules/same (Makefile.am): Augment lib_SOURCES.
7266
7267 2011-05-23  Bruno Haible  <bruno@clisp.org>
7268
7269         safe-write: Move AC_LIBOBJ invocations to module description.
7270         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
7271         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
7272         instead of gl_SAFE_WRITE.
7273         (Makefile.am): Augment lib_SOURCES.
7274
7275 2011-05-23  Bruno Haible  <bruno@clisp.org>
7276
7277         safe-read: Move AC_LIBOBJ invocations to module description.
7278         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
7279         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
7280         of gl_SAFE_READ.
7281         (Makefile.am): Augment lib_SOURCES.
7282
7283 2011-05-23  Bruno Haible  <bruno@clisp.org>
7284
7285         safe-alloc: Move AC_LIBOBJ invocations to module description.
7286         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
7287         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
7288
7289 2011-05-23  Bruno Haible  <bruno@clisp.org>
7290
7291         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
7292         * m4/rijndael.m4: Remove file.
7293         * modules/crypto/rijndael (Files): Remove it.
7294         (configure.ac): Remove gl_RIJNDAEL call.
7295         (Makefile.am): Augment lib_SOURCES.
7296
7297 2011-05-23  Bruno Haible  <bruno@clisp.org>
7298
7299         readtokens: Move AC_LIBOBJ invocations to module description.
7300         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
7301         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
7302
7303 2011-05-23  Bruno Haible  <bruno@clisp.org>
7304
7305         read-file: Move AC_LIBOBJ invocations to module description.
7306         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
7307         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
7308         of gl_FUNC_READ_FILE.
7309         (Makefile.am): Augment lib_SOURCES.
7310
7311 2011-05-23  Bruno Haible  <bruno@clisp.org>
7312
7313         quotearg: Move AC_LIBOBJ invocations to module description.
7314         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
7315         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
7316
7317 2011-05-23  Bruno Haible  <bruno@clisp.org>
7318
7319         quote: Move AC_LIBOBJ invocations to module description.
7320         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
7321         * modules/quote (Makefile.am): Augment lib_SOURCES.
7322
7323 2011-05-23  Bruno Haible  <bruno@clisp.org>
7324
7325         posixver: Move AC_LIBOBJ invocations to module description.
7326         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
7327         * modules/posixver (Makefile.am): Augment lib_SOURCES.
7328
7329 2011-05-23  Bruno Haible  <bruno@clisp.org>
7330
7331         posixtm: Move AC_LIBOBJ invocations to module description.
7332         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
7333         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
7334
7335 2011-05-23  Bruno Haible  <bruno@clisp.org>
7336
7337         physmem: Move AC_LIBOBJ invocations to module description.
7338         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
7339         * modules/physmem (Makefile.am): Augment lib_SOURCES.
7340
7341 2011-05-23  Bruno Haible  <bruno@clisp.org>
7342
7343         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
7344         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
7345         invocation.
7346         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
7347
7348 2011-05-23  Bruno Haible  <bruno@clisp.org>
7349
7350         mpsort: Move AC_LIBOBJ invocations to module description.
7351         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
7352         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
7353
7354 2011-05-23  Bruno Haible  <bruno@clisp.org>
7355
7356         modechange: Move AC_LIBOBJ invocations to module description.
7357         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
7358         * modules/modechange (Makefile.am): Augment lib_SOURCES.
7359
7360 2011-05-23  Bruno Haible  <bruno@clisp.org>
7361
7362         mkdir-p: Move AC_LIBOBJ invocations to module description.
7363         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
7364         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
7365
7366 2011-05-23  Bruno Haible  <bruno@clisp.org>
7367
7368         mkancesdirs: Move AC_LIBOBJ invocations to module description.
7369         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
7370         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
7371
7372 2011-05-23  Bruno Haible  <bruno@clisp.org>
7373
7374         mgetgroups: Move AC_LIBOBJ invocations to module description.
7375         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
7376         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
7377
7378 2011-05-23  Bruno Haible  <bruno@clisp.org>
7379
7380         memxor: Move AC_LIBOBJ invocations to module description.
7381         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
7382         * modules/memxor (Makefile.am): Augment lib_SOURCES.
7383
7384 2011-05-23  Bruno Haible  <bruno@clisp.org>
7385
7386         memcoll: Move AC_LIBOBJ invocations to module description.
7387         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
7388         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
7389
7390 2011-05-23  Bruno Haible  <bruno@clisp.org>
7391
7392         memcasecmp: Move AC_LIBOBJ invocations to module description.
7393         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
7394         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
7395
7396 2011-05-23  Bruno Haible  <bruno@clisp.org>
7397
7398         crypto/md5: Move AC_LIBOBJ invocations to module description.
7399         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
7400         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
7401
7402 2011-05-23  Bruno Haible  <bruno@clisp.org>
7403
7404         crypto/md4: Move AC_LIBOBJ invocations to module description.
7405         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
7406         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
7407
7408 2011-05-23  Bruno Haible  <bruno@clisp.org>
7409
7410         crypto/md2: Move AC_LIBOBJ invocations to module description.
7411         * m4/md2.m4: Remove file.
7412         * modules/crypto/md2 (Files): Remove it.
7413         (configure.ac): Remove gl_MD2 call.
7414         (Makefile.am): Augment lib_SOURCES.
7415
7416 2011-05-23  Bruno Haible  <bruno@clisp.org>
7417
7418         long-options: Move AC_LIBOBJ invocations to module description.
7419         * m4/long-options.m4: Remove file.
7420         * modules/long-options (Files): Remove it.
7421         (configure.ac): Remove gl_LONG_OPTIONS call.
7422         (Makefile.am): Augment lib_SOURCES.
7423
7424 2011-05-23  Bruno Haible  <bruno@clisp.org>
7425
7426         i-ring: Move AC_LIBOBJ invocations to module description.
7427         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
7428         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
7429
7430 2011-05-23  Bruno Haible  <bruno@clisp.org>
7431
7432         idcache: Move AC_LIBOBJ invocations to module description.
7433         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
7434         * modules/idcache (Makefile.am): Augment lib_SOURCES.
7435
7436 2011-05-23  Bruno Haible  <bruno@clisp.org>
7437
7438         human: Move AC_LIBOBJ invocations to module description.
7439         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
7440         * modules/human (Makefile.am): Augment lib_SOURCES.
7441
7442 2011-05-23  Bruno Haible  <bruno@clisp.org>
7443
7444         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
7445         * m4/hmac-sha1.m4: Remove file.
7446         * modules/crypto/hmac-sha1 (Files): Remove it.
7447         (configure.ac): Remove gl_HMAC_SHA1 call.
7448         (Makefile.am): Augment lib_SOURCES.
7449
7450 2011-05-23  Bruno Haible  <bruno@clisp.org>
7451
7452         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
7453         * m4/hmac-md5.m4: Remove file.
7454         * modules/crypto/hmac-md5 (Files): Remove it.
7455         (configure.ac): Remove gl_HMAC_MD5 call.
7456         (Makefile.am): Augment lib_SOURCES.
7457
7458 2011-05-23  Bruno Haible  <bruno@clisp.org>
7459
7460         hash: Move AC_LIBOBJ invocations to module description.
7461         * m4/hash.m4: Remove file.
7462         * modules/hash (Files): Remove it.
7463         (configure.ac): Remove gl_HASH call.
7464         (Makefile.am): Augment lib_SOURCES.
7465
7466 2011-05-23  Bruno Haible  <bruno@clisp.org>
7467
7468         hard-locale: Move AC_LIBOBJ invocations to module description.
7469         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
7470         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
7471
7472 2011-05-23  Bruno Haible  <bruno@clisp.org>
7473
7474         getugroups: Move AC_LIBOBJ invocations to module description.
7475         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
7476         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
7477
7478 2011-05-23  Bruno Haible  <bruno@clisp.org>
7479
7480         gettime: Move AC_LIBOBJ invocations to module description.
7481         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
7482         * modules/gettime (Makefile.am): Augment lib_SOURCES.
7483
7484 2011-05-23  Bruno Haible  <bruno@clisp.org>
7485
7486         getndelim2: Move AC_LIBOBJ invocations to module description.
7487         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
7488         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
7489
7490 2011-05-23  Bruno Haible  <bruno@clisp.org>
7491
7492         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
7493         * m4/gc-pbkdf2-sha1.m4: Remove file.
7494         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
7495         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
7496         (Makefile.am): Augment lib_SOURCES.
7497
7498 2011-05-23  Bruno Haible  <bruno@clisp.org>
7499
7500         fts: Move AC_LIBOBJ invocations to module description.
7501         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
7502         * modules/fts (configure.ac): ... to here.
7503
7504 2011-05-23  Bruno Haible  <bruno@clisp.org>
7505
7506         file-type: Move AC_LIBOBJ invocations to module description.
7507         * m4/file-type.m4: Remove file.
7508         * modules/file-type (Files): Remove it.
7509         (configure.ac): Remove gl_FILE_TYPE call.
7510         (Makefile.am): Augment lib_SOURCES.
7511
7512 2011-05-23  Bruno Haible  <bruno@clisp.org>
7513
7514         filenamecat*: Respect rules for use of AC_LIBOBJ.
7515         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
7516         Remove AC_LIBOBJ invocation.
7517         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
7518         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
7519
7520 2011-05-23  Bruno Haible  <bruno@clisp.org>
7521
7522         filemode: Move AC_LIBOBJ invocations to module description.
7523         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
7524         * modules/filemode (Makefile.am): Augment lib_SOURCES.
7525
7526 2011-05-23  Bruno Haible  <bruno@clisp.org>
7527
7528         openat-safer: Move AC_LIBOBJ invocations to module description.
7529         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
7530         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
7531
7532 2011-05-23  Bruno Haible  <bruno@clisp.org>
7533
7534         fcntl-safer: Move AC_LIBOBJ invocations to module description.
7535         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
7536         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
7537
7538 2011-05-23  Bruno Haible  <bruno@clisp.org>
7539
7540         exclude: Move AC_LIBOBJ invocations to module description.
7541         * m4/exclude.m4: Remove file.
7542         * modules/exclude (Files): Remove it.
7543         (configure.ac): Remove gl_EXCLUDE call.
7544         (Makefile.am): Augment lib_SOURCES.
7545
7546 2011-05-23  Bruno Haible  <bruno@clisp.org>
7547
7548         dirname*: Respect rules for use of AC_LIBOBJ.
7549         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
7550         invocations.
7551         * modules/dirname (Makefile.am): Augment lib_SOURCES.
7552         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
7553
7554 2011-05-23  Bruno Haible  <bruno@clisp.org>
7555
7556         dirent-safer: Move AC_LIBOBJ invocations to module description.
7557         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
7558         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
7559
7560 2011-05-23  Bruno Haible  <bruno@clisp.org>
7561
7562         crypto/des: Move AC_LIBOBJ invocations to module description.
7563         * m4/des.m4: Remove file.
7564         * modules/crypto/des (Files): Remove it.
7565         (configure.ac): Remove gl_DES call.
7566         (Makefile.am): Augment lib_SOURCES.
7567
7568 2011-05-23  Bruno Haible  <bruno@clisp.org>
7569
7570         cycle-check: Move AC_LIBOBJ invocations to module description.
7571         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
7572         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
7573
7574 2011-05-23  Bruno Haible  <bruno@clisp.org>
7575
7576         c-strtold: Move AC_LIBOBJ invocations to module description.
7577         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
7578         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
7579
7580 2011-05-23  Bruno Haible  <bruno@clisp.org>
7581
7582         c-strtod: Move AC_LIBOBJ invocations to module description.
7583         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
7584         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
7585
7586 2011-05-23  Bruno Haible  <bruno@clisp.org>
7587
7588         crc: Move AC_LIBOBJ invocations to module description.
7589         * m4/crc.m4: Remove file.
7590         * modules/crc (Files): Remove it.
7591         (configure.ac): Remove gl_CRC call.
7592         (Makefile.am): Augment lib_SOURCES.
7593
7594 2011-05-23  Bruno Haible  <bruno@clisp.org>
7595
7596         close-stream: Move AC_LIBOBJ invocations to module description.
7597         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
7598         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
7599
7600 2011-05-23  Bruno Haible  <bruno@clisp.org>
7601
7602         closeout: Move AC_LIBOBJ invocations to module description.
7603         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
7604         * modules/closeout (Makefile.am): Augment lib_SOURCES.
7605
7606 2011-05-23  Bruno Haible  <bruno@clisp.org>
7607
7608         closein: Move AC_LIBOBJ invocations to module description.
7609         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
7610         * modules/closein (Makefile.am): Augment lib_SOURCES.
7611
7612 2011-05-23  Bruno Haible  <bruno@clisp.org>
7613
7614         cloexec: Move AC_LIBOBJ invocations to module description.
7615         * m4/cloexec.m4: Remove file.
7616         * modules/cloexec (Files): Remove it.
7617         (configure.ac): Remove gl_CLOEXEC call.
7618         (Makefile.am): Augment lib_SOURCES.
7619
7620 2011-05-23  Bruno Haible  <bruno@clisp.org>
7621
7622         check-version: Move AC_LIBOBJ invocations to module description.
7623         * m4/check-version.m4: Remove file.
7624         * modules/check-version (Files): Remove it.
7625         (configure.ac): Remove gl_CHECK_VERSION call.
7626         (Makefile.am): Augment lib_SOURCES.
7627
7628 2011-05-23  Bruno Haible  <bruno@clisp.org>
7629
7630         chdir-safer: Move AC_LIBOBJ invocations to module description.
7631         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
7632         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
7633
7634 2011-05-23  Bruno Haible  <bruno@clisp.org>
7635
7636         canonicalize: Move AC_LIBOBJ invocations to module description.
7637         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
7638         AC_LIBOBJ invocation.
7639         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
7640
7641 2011-05-23  Bruno Haible  <bruno@clisp.org>
7642
7643         canon-host: Move AC_LIBOBJ invocations to module description.
7644         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
7645         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
7646         instead of gl_CANON_HOST.
7647         (Makefile.am): Augment lib_SOURCES.
7648
7649 2011-05-23  Bruno Haible  <bruno@clisp.org>
7650
7651         backupfile: Move AC_LIBOBJ invocations to module description.
7652         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
7653         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
7654
7655 2011-05-23  Bruno Haible  <bruno@clisp.org>
7656
7657         argmatch: Move AC_LIBOBJ invocations to module description.
7658         * m4/argmatch.m4: Remove file.
7659         * modules/argmatch (Files): Remove it.
7660         (configure.ac): Remove gl_ARGMATCH call.
7661         (Makefile.am): Augment lib_SOURCES.
7662
7663 2011-05-23  Bruno Haible  <bruno@clisp.org>
7664
7665         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
7666         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
7667         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
7668
7669 2011-05-23  Bruno Haible  <bruno@clisp.org>
7670
7671         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
7672         * m4/arcfour.m4: Remove file.
7673         * modules/crypto/arcfour (Files): Remove it.
7674         (configure.ac): Remove gl_ARCFOUR call.
7675         (Makefile.am): Augment lib_SOURCES.
7676
7677 2011-05-22  Bruno Haible  <bruno@clisp.org>
7678
7679         write: Move AC_LIBOBJ invocations to module description.
7680         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
7681         * modules/write (configure.ac): ... to here.
7682
7683 2011-05-22  Bruno Haible  <bruno@clisp.org>
7684
7685         wmemset: Move AC_LIBOBJ invocations to module description.
7686         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
7687         here...
7688         * modules/wmemset (configure.ac): ... to here.
7689
7690 2011-05-22  Bruno Haible  <bruno@clisp.org>
7691
7692         wmemmove: Move AC_LIBOBJ invocations to module description.
7693         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
7694         here...
7695         * modules/wmemmove (configure.ac): ... to here.
7696
7697 2011-05-22  Bruno Haible  <bruno@clisp.org>
7698
7699         wmemcpy: Move AC_LIBOBJ invocations to module description.
7700         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
7701         here...
7702         * modules/wmemcpy (configure.ac): ... to here.
7703
7704 2011-05-22  Bruno Haible  <bruno@clisp.org>
7705
7706         wmemcmp: Move AC_LIBOBJ invocations to module description.
7707         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
7708         here...
7709         * modules/wmemcmp (configure.ac): ... to here.
7710
7711 2011-05-22  Bruno Haible  <bruno@clisp.org>
7712
7713         wmemchr: Move AC_LIBOBJ invocations to module description.
7714         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
7715         here...
7716         * modules/wmemchr (configure.ac): ... to here.
7717
7718 2011-05-22  Bruno Haible  <bruno@clisp.org>
7719
7720         wcswidth: Move AC_LIBOBJ invocations to module description.
7721         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
7722         here...
7723         * modules/wcswidth (configure.ac): ... to here.
7724
7725 2011-05-22  Bruno Haible  <bruno@clisp.org>
7726
7727         wcwidth: Respect rules for use of AC_LIBOBJ.
7728         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
7729         invocation from here...
7730         * modules/wcwidth (configure.ac): ... to here.
7731         (Depends-on): Update conditions.
7732
7733 2011-05-22  Bruno Haible  <bruno@clisp.org>
7734
7735         wctype: Move AC_LIBOBJ invocations to module description.
7736         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
7737         invocation from here...
7738         * modules/wctype (configure.ac): ... to here.
7739         (Depends-on): Update conditions.
7740
7741 2011-05-22  Bruno Haible  <bruno@clisp.org>
7742
7743         wctrans: Move AC_LIBOBJ invocations to module description.
7744         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
7745         invocation from here...
7746         * modules/wctrans (configure.ac): ... to here.
7747
7748 2011-05-22  Bruno Haible  <bruno@clisp.org>
7749
7750         wctomb: Move AC_LIBOBJ invocations to module description.
7751         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
7752         invocations from here...
7753         * modules/wctomb (configure.ac): ... to here.
7754
7755 2011-05-22  Bruno Haible  <bruno@clisp.org>
7756
7757         wctob: Move AC_LIBOBJ invocations to module description.
7758         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
7759         gl_PREREQ_WCTOB invocations from here...
7760         * modules/wctob (configure.ac): ... to here.
7761         (Depends-on): Update conditions.
7762
7763 2011-05-22  Bruno Haible  <bruno@clisp.org>
7764
7765         wcsxfrm: Move AC_LIBOBJ invocations to module description.
7766         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
7767         here...
7768         * modules/wcsxfrm (configure.ac): ... to here.
7769
7770 2011-05-22  Bruno Haible  <bruno@clisp.org>
7771
7772         wcstok: Move AC_LIBOBJ invocations to module description.
7773         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
7774         * modules/wcstok (configure.ac): ... to here.
7775
7776 2011-05-22  Bruno Haible  <bruno@clisp.org>
7777
7778         wcsstr: Move AC_LIBOBJ invocations to module description.
7779         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
7780         * modules/wcsstr (configure.ac): ... to here.
7781
7782 2011-05-22  Bruno Haible  <bruno@clisp.org>
7783
7784         wcsspn: Move AC_LIBOBJ invocations to module description.
7785         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
7786         * modules/wcsspn (configure.ac): ... to here.
7787
7788 2011-05-22  Bruno Haible  <bruno@clisp.org>
7789
7790         wcsrtombs: Move AC_LIBOBJ invocations to module description.
7791         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
7792         gl_PREREQ_WCSRTOMBS invocations from here...
7793         * modules/wcsrtombs (configure.ac): ... to here.
7794
7795 2011-05-22  Bruno Haible  <bruno@clisp.org>
7796
7797         wcsrchr: Move AC_LIBOBJ invocations to module description.
7798         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
7799         here...
7800         * modules/wcsrchr (configure.ac): ... to here.
7801
7802 2011-05-22  Bruno Haible  <bruno@clisp.org>
7803
7804         wcspbrk: Move AC_LIBOBJ invocations to module description.
7805         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
7806         here...
7807         * modules/wcspbrk (configure.ac): ... to here.
7808
7809 2011-05-22  Bruno Haible  <bruno@clisp.org>
7810
7811         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
7812         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
7813         gl_PREREQ_WCSNRTOMBS invocations from here...
7814         * modules/wcsnrtombs (configure.ac): ... to here.
7815
7816 2011-05-22  Bruno Haible  <bruno@clisp.org>
7817
7818         wcsnlen: Move AC_LIBOBJ invocations to module description.
7819         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
7820         here...
7821         * modules/wcsnlen (configure.ac): ... to here.
7822
7823 2011-05-22  Bruno Haible  <bruno@clisp.org>
7824
7825         wcsncpy: Move AC_LIBOBJ invocations to module description.
7826         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
7827         here...
7828         * modules/wcsncpy (configure.ac): ... to here.
7829
7830 2011-05-22  Bruno Haible  <bruno@clisp.org>
7831
7832         wcsncmp: Move AC_LIBOBJ invocations to module description.
7833         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
7834         here...
7835         * modules/wcsncmp (configure.ac): ... to here.
7836
7837 2011-05-22  Bruno Haible  <bruno@clisp.org>
7838
7839         wcsncat: Move AC_LIBOBJ invocations to module description.
7840         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7841         here...
7842         * modules/wcsncat (configure.ac): ... to here.
7843
7844 2011-05-22  Bruno Haible  <bruno@clisp.org>
7845
7846         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7847         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7848         from here...
7849         * modules/wcsncasecmp (configure.ac): ... to here.
7850
7851 2011-05-22  Bruno Haible  <bruno@clisp.org>
7852
7853         wcslen: Move AC_LIBOBJ invocations to module description.
7854         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7855         * modules/wcslen (configure.ac): ... to here.
7856
7857 2011-05-22  Bruno Haible  <bruno@clisp.org>
7858
7859         wcsdup: Move AC_LIBOBJ invocations to module description.
7860         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7861         * modules/wcsdup (configure.ac): ... to here.
7862
7863 2011-05-22  Bruno Haible  <bruno@clisp.org>
7864
7865         wcscspn: Move AC_LIBOBJ invocations to module description.
7866         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7867         here...
7868         * modules/wcscspn (configure.ac): ... to here.
7869
7870 2011-05-22  Bruno Haible  <bruno@clisp.org>
7871
7872         wcscpy: Move AC_LIBOBJ invocations to module description.
7873         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7874         * modules/wcscpy (configure.ac): ... to here.
7875
7876 2011-05-22  Bruno Haible  <bruno@clisp.org>
7877
7878         wcscoll: Move AC_LIBOBJ invocations to module description.
7879         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7880         here...
7881         * modules/wcscoll (configure.ac): ... to here.
7882
7883 2011-05-22  Bruno Haible  <bruno@clisp.org>
7884
7885         wcscmp: Move AC_LIBOBJ invocations to module description.
7886         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7887         * modules/wcscmp (configure.ac): ... to here.
7888
7889 2011-05-22  Bruno Haible  <bruno@clisp.org>
7890
7891         wcschr: Move AC_LIBOBJ invocations to module description.
7892         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7893         * modules/wcschr (configure.ac): ... to here.
7894
7895 2011-05-22  Bruno Haible  <bruno@clisp.org>
7896
7897         wcscat: Move AC_LIBOBJ invocations to module description.
7898         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7899         * modules/wcscat (configure.ac): ... to here.
7900
7901 2011-05-22  Bruno Haible  <bruno@clisp.org>
7902
7903         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7904         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7905         here...
7906         * modules/wcscasecmp (configure.ac): ... to here.
7907
7908 2011-05-22  Bruno Haible  <bruno@clisp.org>
7909
7910         wcrtomb: Move AC_LIBOBJ invocations to module description.
7911         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7912         invocations from here...
7913         * modules/wcrtomb (configure.ac): ... to here.
7914
7915 2011-05-22  Bruno Haible  <bruno@clisp.org>
7916
7917         wcpncpy: Move AC_LIBOBJ invocations to module description.
7918         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7919         here...
7920         * modules/wcpncpy (configure.ac): ... to here.
7921
7922 2011-05-22  Bruno Haible  <bruno@clisp.org>
7923
7924         wcpcpy: Move AC_LIBOBJ invocations to module description.
7925         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7926         * modules/wcpcpy (configure.ac): ... to here.
7927
7928 2011-05-22  Bruno Haible  <bruno@clisp.org>
7929
7930         waitpid: Move AC_LIBOBJ invocations to module description.
7931         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7932         invocation from here...
7933         * modules/waitpid (configure.ac): ... to here.
7934
7935 2011-05-22  Bruno Haible  <bruno@clisp.org>
7936
7937         utimensat: Move AC_LIBOBJ invocations to module description.
7938         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7939         here...
7940         * modules/utimensat (configure.ac): ... to here.
7941
7942 2011-05-22  Bruno Haible  <bruno@clisp.org>
7943
7944         usleep: Move AC_LIBOBJ invocations to module description.
7945         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7946         here...
7947         * modules/usleep (configure.ac): ... to here.
7948
7949 2011-05-22  Bruno Haible  <bruno@clisp.org>
7950
7951         unlockpt: Move AC_LIBOBJ invocations to module description.
7952         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7953         gl_PREREQ_UNLOCKPT invocations from here...
7954         * modules/unlockpt (configure.ac): ... to here.
7955
7956 2011-05-22  Bruno Haible  <bruno@clisp.org>
7957
7958         unlink: Respect rules for use of AC_LIBOBJ.
7959         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7960         * modules/unlink (configure.ac): ... to here.
7961
7962 2011-05-22  Bruno Haible  <bruno@clisp.org>
7963
7964         uname: Move AC_LIBOBJ invocations to module description.
7965         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7966         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7967         here...
7968         * modules/uname (configure.ac): ... to here.
7969
7970 2011-05-22  Bruno Haible  <bruno@clisp.org>
7971
7972         ttyname_r: Move AC_LIBOBJ invocations to module description.
7973         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7974         gl_PREREQ_TTYNAME_R invocations from here...
7975         * modules/ttyname_r (configure.ac): ... to here.
7976
7977 2011-05-22  Bruno Haible  <bruno@clisp.org>
7978
7979         tsearch: Move AC_LIBOBJ invocations to module description.
7980         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7981         invocations from here...
7982         * modules/tsearch (configure.ac): ... to here.
7983
7984 2011-05-22  Bruno Haible  <bruno@clisp.org>
7985
7986         towctrans: Move AC_LIBOBJ invocations to module description.
7987         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7988         AC_LIBOBJ invocation from here...
7989         * modules/towctrans (configure.ac): ... to here.
7990
7991 2011-05-22  Bruno Haible  <bruno@clisp.org>
7992
7993         tmpfile: Move AC_LIBOBJ invocations to module description.
7994         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7995         invocations from here...
7996         * modules/tmpfile (configure.ac): ... to here.
7997
7998 2011-05-22  Bruno Haible  <bruno@clisp.org>
7999
8000         times: Move AC_LIBOBJ invocations to module description.
8001         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
8002         * modules/times (configure.ac): ... to here.
8003
8004 2011-05-22  Bruno Haible  <bruno@clisp.org>
8005
8006         time_r: Move AC_LIBOBJ invocations to module description.
8007         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
8008         invocations from here...
8009         * modules/time_r (configure.ac): ... to here.
8010
8011 2011-05-22  Bruno Haible  <bruno@clisp.org>
8012
8013         timegm: Move AC_LIBOBJ invocations to module description.
8014         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
8015         invocations from here...
8016         * modules/timegm (configure.ac): ... to here.
8017
8018 2011-05-22  Bruno Haible  <bruno@clisp.org>
8019
8020         tcgetsid: Move AC_LIBOBJ invocations to module description.
8021         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
8022         and gl_PREREQ_TCGETSID invocations from here...
8023         * modules/tcgetsid (configure.ac): ... to here.
8024         (Depends-on): Update conditions.
8025
8026 2011-05-22  Bruno Haible  <bruno@clisp.org>
8027
8028         symlinkat: Move AC_LIBOBJ invocations to module description.
8029         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
8030         here...
8031         * modules/symlinkat (configure.ac): ... to here.
8032
8033 2011-05-22  Bruno Haible  <bruno@clisp.org>
8034
8035         symlink: Move AC_LIBOBJ invocations to module description.
8036         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
8037         here...
8038         * modules/symlink (configure.ac): ... to here.
8039
8040 2011-05-22  Bruno Haible  <bruno@clisp.org>
8041
8042         strverscmp: Move AC_LIBOBJ invocations to module description.
8043         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
8044         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
8045         from here...
8046         * modules/strverscmp (configure.ac): ... to here.
8047
8048 2011-05-22  Bruno Haible  <bruno@clisp.org>
8049
8050         strtok_r: Move AC_LIBOBJ invocations to module description.
8051         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
8052         and gl_PREREQ_STRTOK_R invocations from here...
8053         * modules/strtok_r (configure.ac): ... to here.
8054         (Depends-on): Update conditions.
8055
8056 2011-05-22  Bruno Haible  <bruno@clisp.org>
8057
8058         strtoumax: Move AC_LIBOBJ invocations to module description.
8059         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
8060         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
8061         from here...
8062         * modules/strtoumax (configure.ac): ... to here.
8063
8064 2011-05-22  Bruno Haible  <bruno@clisp.org>
8065
8066         strtoimax: Move AC_LIBOBJ invocations to module description.
8067         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
8068         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
8069         from here...
8070         * modules/strtoimax (configure.ac): ... to here.
8071
8072 2011-05-22  Bruno Haible  <bruno@clisp.org>
8073
8074         strtoull: Move AC_LIBOBJ invocations to module description.
8075         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
8076         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
8077         from here...
8078         * modules/strtoull (configure.ac): ... to here.
8079
8080 2011-05-22  Bruno Haible  <bruno@clisp.org>
8081
8082         strtoll: Move AC_LIBOBJ invocations to module description.
8083         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
8084         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
8085         here...
8086         * modules/strtoll (configure.ac): ... to here.
8087
8088 2011-05-22  Bruno Haible  <bruno@clisp.org>
8089
8090         strtoul: Move AC_LIBOBJ invocations to module description.
8091         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
8092         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
8093         * modules/strtoul (configure.ac): ... to here.
8094
8095 2011-05-22  Bruno Haible  <bruno@clisp.org>
8096
8097         strtol: Move AC_LIBOBJ invocations to module description.
8098         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
8099         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
8100         * modules/strtol (configure.ac): ... to here.
8101
8102 2011-05-22  Bruno Haible  <bruno@clisp.org>
8103
8104         strtod: Move AC_LIBOBJ invocations to module description.
8105         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
8106         invocations from here...
8107         * modules/strtod (configure.ac): ... to here.
8108
8109 2011-05-22  Bruno Haible  <bruno@clisp.org>
8110
8111         strstr*: Move AC_LIBOBJ invocations to module description.
8112         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
8113         invocations from here...
8114         * modules/strstr-simple (configure.ac): ... to here.
8115         * modules/strstr (configure.ac): ... and here.
8116
8117 2011-05-22  Bruno Haible  <bruno@clisp.org>
8118
8119         strsignal: Move AC_LIBOBJ invocations to module description.
8120         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
8121         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
8122         * modules/strsignal (configure.ac): ... to here.
8123         (Depends-on): Update conditions.
8124
8125 2011-05-22  Bruno Haible  <bruno@clisp.org>
8126
8127         strsep: Move AC_LIBOBJ invocations to module description.
8128         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
8129         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
8130         here...
8131         * modules/strsep (configure.ac): ... to here.
8132
8133 2011-05-22  Bruno Haible  <bruno@clisp.org>
8134
8135         strptime: Move AC_LIBOBJ invocations to module description.
8136         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
8137         gl_PREREQ_STRPTIME invocations from here...
8138         * modules/strptime (configure.ac): ... to here.
8139
8140 2011-05-22  Bruno Haible  <bruno@clisp.org>
8141
8142         strpbrk: Move AC_LIBOBJ invocations to module description.
8143         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
8144         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
8145         here...
8146         * modules/strpbrk (configure.ac): ... to here.
8147
8148 2011-05-22  Bruno Haible  <bruno@clisp.org>
8149
8150         strnlen: Move AC_LIBOBJ invocations to module description.
8151         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
8152         invocations from here...
8153         * modules/strnlen (configure.ac): ... to here.
8154
8155 2011-05-22  Bruno Haible  <bruno@clisp.org>
8156
8157         strndup: Move AC_LIBOBJ invocations to module description.
8158         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
8159         invocations from here...
8160         * modules/strndup (configure.ac): ... to here.
8161         (Depends-on): Update conditions.
8162
8163 2011-05-22  Bruno Haible  <bruno@clisp.org>
8164
8165         strncat: Move AC_LIBOBJ invocations to module description.
8166         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
8167         invocations from here...
8168         * modules/strncat (configure.ac): ... to here.
8169
8170 2011-05-22  Bruno Haible  <bruno@clisp.org>
8171
8172         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
8173         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
8174         invocations from here...
8175         * modules/strdup (configure.ac): ... to here.
8176         * modules/strdup-posix (configure.ac): ... and here.
8177
8178 2011-05-22  Bruno Haible  <bruno@clisp.org>
8179
8180         strcspn: Move AC_LIBOBJ invocations to module description.
8181         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
8182         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
8183         here...
8184         * modules/strcspn (configure.ac): ... to here.
8185
8186 2011-05-22  Bruno Haible  <bruno@clisp.org>
8187
8188         strchrnul: Move AC_LIBOBJ invocations to module description.
8189         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
8190         gl_PREREQ_STRCHRNUL invocations from here...
8191         * modules/strchrnul (configure.ac): ... to here.
8192
8193 2011-05-22  Bruno Haible  <bruno@clisp.org>
8194
8195         strcasestr*: Move AC_LIBOBJ invocations to module description.
8196         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
8197         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
8198         * modules/strcasestr-simple (configure.ac): ... to here.
8199         * modules/strcasestr (configure.ac): ... and here.
8200
8201 2011-05-22  Bruno Haible  <bruno@clisp.org>
8202
8203         strcase: Move AC_LIBOBJ invocations to module description.
8204         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
8205         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
8206         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
8207         gl_PREREQ_STRNCASECMP invocations from here...
8208         * modules/strcase (configure.ac): ... to here.
8209
8210 2011-05-22  Bruno Haible  <bruno@clisp.org>
8211
8212         stpncpy: Move AC_LIBOBJ invocations to module description.
8213         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
8214         here...
8215         * modules/stpncpy (configure.ac): ... to here.
8216
8217 2011-05-22  Bruno Haible  <bruno@clisp.org>
8218
8219         stpcpy: Move AC_LIBOBJ invocations to module description.
8220         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
8221         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
8222         here...
8223         * modules/stpcpy (configure.ac): ... to here.
8224
8225 2011-05-21  Bruno Haible  <bruno@clisp.org>
8226
8227         stat: Move AC_LIBOBJ invocations to module description.
8228         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
8229         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
8230         here...
8231         * modules/stat (configure.ac): ... to here.
8232
8233 2011-05-21  Bruno Haible  <bruno@clisp.org>
8234
8235         sleep: Move AC_LIBOBJ invocations to module description.
8236         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
8237         * modules/sleep (configure.ac): ... to here.
8238
8239 2011-05-21  Bruno Haible  <bruno@clisp.org>
8240
8241         signbit: Move AC_LIBOBJ invocations to module description.
8242         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
8243         * modules/signbit (configure.ac): ... to here.
8244
8245 2011-05-21  Bruno Haible  <bruno@clisp.org>
8246
8247         sigprocmask: Move AC_LIBOBJ invocations to module description.
8248         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
8249         gl_PREREQ_SIGPROMASK invocations from here...
8250         * modules/sigprocmask (configure.ac): ... to here.
8251
8252 2011-05-21  Bruno Haible  <bruno@clisp.org>
8253
8254         sigaction: Move AC_LIBOBJ invocations to module description.
8255         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
8256         gl_PREREQ_SIGACTION invocations from here...
8257         * modules/sigaction (configure.ac): ... to here.
8258
8259 2011-05-21  Bruno Haible  <bruno@clisp.org>
8260
8261         sig2str: Move AC_LIBOBJ invocations to module description.
8262         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
8263         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
8264         here...
8265         * modules/sig2str (configure.ac): ... to here.
8266
8267 2011-05-21  Bruno Haible  <bruno@clisp.org>
8268
8269         setlocale: Move AC_LIBOBJ invocations to module description.
8270         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
8271         gl_PREREQ_SETLOCALE invocations from here...
8272         * modules/setlocale (configure.ac): ... to here.
8273
8274 2011-05-21  Bruno Haible  <bruno@clisp.org>
8275
8276         unsetenv: Move AC_LIBOBJ invocations to module description.
8277         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
8278         and gl_PREREQ_UNSETENV invocations from here...
8279         * modules/unsetenv (configure.ac): ... to here.
8280         (Depends-on): Update.
8281
8282 2011-05-21  Bruno Haible  <bruno@clisp.org>
8283
8284         setenv: Move AC_LIBOBJ invocations to module description.
8285         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
8286         here...
8287         * modules/setenv (configure.ac): ... to here.
8288
8289 2011-05-21  Bruno Haible  <bruno@clisp.org>
8290
8291         selinux-h: Move AC_LIBOBJ invocations to module description.
8292         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
8293         AC_LIBOBJ invocation from here...
8294         * modules/selinux-h (configure.ac): ... to here.
8295
8296 2011-05-21  Bruno Haible  <bruno@clisp.org>
8297
8298         select: Respect rules for use of AC_LIBOBJ.
8299         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
8300         here...
8301         * modules/select (configure.ac): ... to here.
8302
8303 2011-05-21  Bruno Haible  <bruno@clisp.org>
8304
8305         scandir: Move AC_LIBOBJ invocations to module description.
8306         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
8307         invocations from here...
8308         * modules/scandir (configure.ac): ... to here.
8309
8310 2011-05-21  Bruno Haible  <bruno@clisp.org>
8311
8312         rpmatch: Move AC_LIBOBJ invocations to module description.
8313         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
8314         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
8315         here...
8316         * modules/rpmatch (configure.ac): ... to here.
8317
8318 2011-05-21  Bruno Haible  <bruno@clisp.org>
8319
8320         rmdir: Respect rules for use of AC_LIBOBJ.
8321         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
8322         * modules/rmdir (configure.ac): ... to here.
8323
8324 2011-05-21  Bruno Haible  <bruno@clisp.org>
8325
8326         renameat: Move AC_LIBOBJ invocations to module description.
8327         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
8328         here...
8329         * modules/renameat (configure.ac): ... to here.
8330
8331 2011-05-21  Bruno Haible  <bruno@clisp.org>
8332
8333         rename: Respect rules for use of AC_LIBOBJ.
8334         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
8335         here...
8336         * modules/rename (configure.ac): ... to here.
8337
8338 2011-05-21  Bruno Haible  <bruno@clisp.org>
8339
8340         remove: Move AC_LIBOBJ invocations to module description.
8341         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
8342         here...
8343         * modules/remove (configure.ac): ... to here.
8344
8345 2011-05-21  Bruno Haible  <bruno@clisp.org>
8346
8347         relocatable-lib: Move AC_LIBOBJ invocations to module description.
8348         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
8349         macro.
8350         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
8351         * modules/relocatable-lib (configure.ac): ... to here.
8352         * modules/relocatable-prog-wrapper (configure.ac): Invoke
8353         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
8354
8355 2011-05-21  Bruno Haible  <bruno@clisp.org>
8356
8357         relocatable-prog: Move AC_LIBOBJ invocations to module description.
8358         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
8359         here...
8360         * modules/relocatable-prog (configure.ac): ... to here.
8361
8362 2011-05-21  Bruno Haible  <bruno@clisp.org>
8363
8364         regex: Move AC_LIBOBJ invocations to module description.
8365         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
8366         invocations from here...
8367         * modules/regex (configure.ac): ... to here.
8368
8369 2011-05-21  Bruno Haible  <bruno@clisp.org>
8370
8371         realloc-*: Move AC_LIBOBJ invocations to module description.
8372         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
8373         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
8374         AC_LIBOBJ invocations from here...
8375         * modules/realloc-gnu (configure.ac): ... to here.
8376         * modules/realloc-posix (configure.ac): ... and here.
8377
8378 2011-05-21  Bruno Haible  <bruno@clisp.org>
8379
8380         readutmp: Move AC_LIBOBJ invocations to module description.
8381         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
8382         * modules/readutmp (configure.ac): ... to here.
8383
8384 2011-05-21  Bruno Haible  <bruno@clisp.org>
8385
8386         readlinkat: Move AC_LIBOBJ invocations to module description.
8387         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
8388         here...
8389         * modules/readlinkat (configure.ac): ... to here.
8390
8391 2011-05-21  Bruno Haible  <bruno@clisp.org>
8392
8393         readlink: Move AC_LIBOBJ invocations to module description.
8394         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
8395         gl_PREREQ_READLINK invocations from here...
8396         * modules/readlink (configure.ac): ... to here.
8397
8398 2011-05-21  Bruno Haible  <bruno@clisp.org>
8399
8400         readline: Move AC_LIBOBJ invocations to module description.
8401         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
8402         gl_PREREQ_READLINE invocations from here...
8403         * modules/readline (configure.ac): ... to here.
8404
8405 2011-05-21  Bruno Haible  <bruno@clisp.org>
8406
8407         read: Move AC_LIBOBJ invocations to module description.
8408         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
8409         * modules/read (configure.ac): ... to here.
8410
8411 2011-05-21  Bruno Haible  <bruno@clisp.org>
8412
8413         rawmemchr: Move AC_LIBOBJ invocations to module description.
8414         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
8415         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
8416         from here...
8417         * modules/rawmemchr (configure.ac): ... to here.
8418
8419 2011-05-21  Bruno Haible  <bruno@clisp.org>
8420
8421         random_r: Move AC_LIBOBJ invocations to module description.
8422         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
8423         gl_PREREQ_RANDOM_R invocations from here...
8424         * modules/random_r (configure.ac): ... to here.
8425
8426 2011-05-21  Bruno Haible  <bruno@clisp.org>
8427
8428         pwrite: Move AC_LIBOBJ invocations to module description.
8429         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
8430         * modules/pwrite (configure.ac): ... to here.
8431
8432 2011-05-21  Bruno Haible  <bruno@clisp.org>
8433
8434         putenv: Move AC_LIBOBJ invocations to module description.
8435         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
8436         * modules/putenv (configure.ac): ... to here.
8437
8438 2011-05-21  Bruno Haible  <bruno@clisp.org>
8439
8440         login_tty: Move AC_LIBOBJ invocations to module description.
8441         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
8442         * modules/login_tty (configure.ac): ... to here.
8443
8444 2011-05-21  Bruno Haible  <bruno@clisp.org>
8445
8446         openpty: Move AC_LIBOBJ invocations to module description.
8447         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
8448         * modules/openpty (configure.ac): ... to here.
8449
8450 2011-05-21  Bruno Haible  <bruno@clisp.org>
8451
8452         forkpty: Move AC_LIBOBJ invocations to module description.
8453         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
8454         * modules/forkpty (configure.ac): ... to here.
8455
8456 2011-05-21  Bruno Haible  <bruno@clisp.org>
8457
8458         ptsname: Move AC_LIBOBJ invocations to module description.
8459         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
8460         invocations from here...
8461         * modules/ptsname (configure.ac): ... to here.
8462
8463 2011-05-21  Bruno Haible  <bruno@clisp.org>
8464
8465         pread: Move AC_LIBOBJ invocations to module description.
8466         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
8467         * modules/pread (configure.ac): ... to here.
8468
8469 2011-05-21  Bruno Haible  <bruno@clisp.org>
8470
8471         posix_spawn*: Move AC_LIBOBJ invocations to module description.
8472         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
8473         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
8474         * modules/posix_spawn (configure.ac): ... to here.
8475         * modules/posix_spawnp (configure.ac): ... and here.
8476
8477 2011-05-21  Bruno Haible  <bruno@clisp.org>
8478
8479         popen: Move AC_LIBOBJ invocations to module description.
8480         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
8481         invocations from here...
8482         * modules/popen (configure.ac): ... to here.
8483
8484 2011-05-21  Bruno Haible  <bruno@clisp.org>
8485
8486         poll: Move AC_LIBOBJ invocations to module description.
8487         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
8488         invocations from here...
8489         * modules/poll (configure.ac): ... to here.
8490
8491 2011-05-21  Bruno Haible  <bruno@clisp.org>
8492
8493         pipe-posix: Move AC_LIBOBJ invocations to module description.
8494         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
8495         * modules/pipe-posix (configure.ac): ... to here.
8496
8497 2011-05-21  Bruno Haible  <bruno@clisp.org>
8498
8499         openat: Respect rules for use of AC_LIBOBJ.
8500         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
8501         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8502         * modules/openat (configure.ac): ... to here.
8503
8504 2011-05-21  Bruno Haible  <bruno@clisp.org>
8505
8506         obstack-printf*: Move AC_LIBOBJ invocations to module description.
8507         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
8508         invocation from here...
8509         * modules/obstack-printf (configure.ac): ... to here.
8510         * modules/obstack-printf-posix (configure.ac): ... and here.
8511
8512 2011-05-21  Bruno Haible  <bruno@clisp.org>
8513
8514         nl_langinfo: Move AC_LIBOBJ invocations to module description.
8515         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
8516         from here...
8517         * modules/nl_langinfo (configure.ac): ... to here.
8518
8519 2011-05-21  Bruno Haible  <bruno@clisp.org>
8520
8521         nanosleep: Move AC_LIBOBJ invocations to module description.
8522         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
8523         gl_PREREQ_NANOSLEEP invocations from here...
8524         * modules/nanosleep (configure.ac): ... to here.
8525
8526 2011-05-21  Bruno Haible  <bruno@clisp.org>
8527
8528         mountlist: Move AC_LIBOBJ invocations to module description.
8529         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
8530         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
8531         * modules/mountlist (configure.ac): ... to here.
8532
8533 2011-05-21  Bruno Haible  <bruno@clisp.org>
8534
8535         mktime: Respect rules for use of AC_LIBOBJ.
8536         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
8537         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
8538         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
8539         (gl_FUNC_MKTIME_INTERNAL): ... and here...
8540         * modules/mktime (configure.ac): ... to here.
8541         * modules/mktime-internal (configure.ac): ... and here.
8542         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
8543
8544 2011-05-21  Bruno Haible  <bruno@clisp.org>
8545
8546         mkstemps: Move AC_LIBOBJ invocations to module description.
8547         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
8548         here...
8549         * modules/mkstemps (configure.ac): ... to here.
8550
8551 2011-05-21  Bruno Haible  <bruno@clisp.org>
8552
8553         mkstemp: Move AC_LIBOBJ invocations to module description.
8554         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
8555         gl_PREREQ_MKSTEMP invocations from here...
8556         * modules/mkstemp (configure.ac): ... to here.
8557
8558 2011-05-21  Bruno Haible  <bruno@clisp.org>
8559
8560         mkostemps: Move AC_LIBOBJ invocations to module description.
8561         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
8562         here...
8563         * modules/mkostemps (configure.ac): ... to here.
8564
8565 2011-05-21  Bruno Haible  <bruno@clisp.org>
8566
8567         mkostemp: Move AC_LIBOBJ invocations to module description.
8568         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
8569         gl_PREREQ_MKOSTEMP invocations from here...
8570         * modules/mkostemp (configure.ac): ... to here.
8571
8572 2011-05-21  Bruno Haible  <bruno@clisp.org>
8573
8574         mknod: Move AC_LIBOBJ invocations to module description.
8575         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
8576         * modules/mknod (configure.ac): ... to here.
8577
8578 2011-05-21  Bruno Haible  <bruno@clisp.org>
8579
8580         mkfifoat: Move AC_LIBOBJ invocations to module description.
8581         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
8582         here...
8583         * modules/mkfifoat (configure.ac): ... to here.
8584
8585 2011-05-21  Bruno Haible  <bruno@clisp.org>
8586
8587         mkfifo: Respect rules for use of AC_LIBOBJ.
8588         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
8589         here...
8590         * modules/mkfifo (configure.ac): ... to here.
8591
8592 2011-05-21  Bruno Haible  <bruno@clisp.org>
8593
8594         mkdtemp: Move AC_LIBOBJ invocations to module description.
8595         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
8596         invocations from here...
8597         * modules/mkdtemp (configure.ac): ... to here.
8598
8599 2011-05-21  Bruno Haible  <bruno@clisp.org>
8600
8601         mkdir: Move AC_LIBOBJ invocations to module description.
8602         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
8603         * modules/mkdir (configure.ac): ... to here.
8604
8605 2011-05-21  Bruno Haible  <bruno@clisp.org>
8606
8607         memset: Move AC_LIBOBJ invocations to module description.
8608         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
8609         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
8610         here...
8611         * modules/memset (configure.ac): ... to here.
8612
8613 2011-05-21  Bruno Haible  <bruno@clisp.org>
8614
8615         memrchr: Move AC_LIBOBJ invocations to module description.
8616         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
8617         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
8618         here...
8619         * modules/memrchr (configure.ac): ... to here.
8620
8621 2011-05-21  Bruno Haible  <bruno@clisp.org>
8622
8623         mempcpy: Move AC_LIBOBJ invocations to module description.
8624         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
8625         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
8626         here...
8627         * modules/mempcpy (configure.ac): ... to here.
8628
8629 2011-05-21  Bruno Haible  <bruno@clisp.org>
8630
8631         memmove: Move AC_LIBOBJ invocations to module description.
8632         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
8633         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
8634         here...
8635         * modules/memmove (configure.ac): ... to here.
8636
8637 2011-05-21  Bruno Haible  <bruno@clisp.org>
8638
8639         memmem*: Move AC_LIBOBJ invocations to module description.
8640         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
8641         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
8642         here...
8643         (gl_FUNC_MEMMEM): ... and here...
8644         * modules/memmem-simple (configure.ac): ... to here.
8645         * modules/memmem (configure.ac): ... and here.
8646
8647 2011-05-21  Bruno Haible  <bruno@clisp.org>
8648
8649         memcpy: Move AC_LIBOBJ invocations to module description.
8650         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
8651         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
8652         here...
8653         * modules/memcpy (configure.ac): ... to here.
8654
8655 2011-05-21  Bruno Haible  <bruno@clisp.org>
8656
8657         memcmp: Simplify autoconf macro.
8658         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
8659         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
8660         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
8661
8662 2011-05-21  Bruno Haible  <bruno@clisp.org>
8663
8664         memcmp: Move AC_LIBOBJ invocations to module description.
8665         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
8666         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
8667         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
8668         * modules/memcmp (configure.ac): ... to here.
8669         (Depends-on): Update conditions.
8670
8671 2011-05-21  Bruno Haible  <bruno@clisp.org>
8672
8673         memchr: Respect rules for use of AC_LIBOBJ.
8674         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
8675         invocations from here...
8676         * modules/memchr (configure.ac): ... to here.
8677
8678 2011-05-21  Bruno Haible  <bruno@clisp.org>
8679
8680         mbtowc: Move AC_LIBOBJ invocations to module description.
8681         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
8682         invocations from here...
8683         * modules/mbtowc (configure.ac): ... to here.
8684
8685 2011-05-21  Bruno Haible  <bruno@clisp.org>
8686
8687         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
8688         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
8689         gl_PREREQ_MBSRTOWCS invocations from here...
8690         * modules/mbsrtowcs (configure.ac): ... to here.
8691
8692 2011-05-21  Bruno Haible  <bruno@clisp.org>
8693
8694         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
8695         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
8696         gl_PREREQ_MBSNRTOWCS invocations from here...
8697         * modules/mbsnrtowcs (configure.ac): ... to here.
8698
8699 2011-05-21  Bruno Haible  <bruno@clisp.org>
8700
8701         mbsinit: Move AC_LIBOBJ invocations to module description.
8702         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
8703         invocations from here...
8704         * modules/mbsinit (configure.ac): ... to here.
8705
8706 2011-05-21  Bruno Haible  <bruno@clisp.org>
8707
8708         mbrlen: Move AC_LIBOBJ invocations to module description.
8709         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
8710         invocations from here...
8711         * modules/mbrlen (configure.ac): ... to here.
8712
8713 2011-05-21  Bruno Haible  <bruno@clisp.org>
8714
8715         mbrtowc: Respect rules for use of AC_LIBOBJ.
8716         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
8717         invocations from here...
8718         * modules/mbrtowc (configure.ac): ... to here.
8719
8720 2011-05-21  Bruno Haible  <bruno@clisp.org>
8721
8722         malloc-*: Move AC_LIBOBJ invocations to module description.
8723         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
8724         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
8725         AC_LIBOBJ invocations from here...
8726         * modules/malloc-gnu (configure.ac): ... to here.
8727         * modules/malloc-posix (configure.ac): ... and here.
8728
8729 2011-05-21  Bruno Haible  <bruno@clisp.org>
8730
8731         lstat, openat: Respect rules for use of AC_LIBOBJ.
8732         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
8733         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
8734         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
8735         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
8736         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
8737         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
8738         here.
8739         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
8740
8741 2011-05-21  Bruno Haible  <bruno@clisp.org>
8742
8743         lseek: Move AC_LIBOBJ invocations to module description.
8744         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
8745         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8746         * modules/lseek (configure.ac): ... to here.
8747
8748 2011-05-21  Bruno Haible  <bruno@clisp.org>
8749
8750         linkat: Move AC_LIBOBJ invocations to module description.
8751         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
8752         here...
8753         * modules/linkat (configure.ac): ... to here.
8754
8755 2011-05-21  Bruno Haible  <bruno@clisp.org>
8756
8757         link: Respect rules for use of AC_LIBOBJ.
8758         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
8759         * modules/link (configure.ac): ... to here.
8760
8761 2011-05-21  Bruno Haible  <bruno@clisp.org>
8762
8763         lchown: Move AC_LIBOBJ invocations to module description.
8764         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8765         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8766         * modules/lchown (configure.ac): ... to here.
8767
8768 2011-05-21  Bruno Haible  <bruno@clisp.org>
8769
8770         iswctype: Move AC_LIBOBJ invocations to module description.
8771         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
8772         here...
8773         * modules/iswctype (configure.ac): ... to here.
8774
8775 2011-05-21  Bruno Haible  <bruno@clisp.org>
8776
8777         iswblank: Move AC_LIBOBJ invocations to module description.
8778         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
8779         here...
8780         * modules/iswblank (configure.ac): ... to here.
8781
8782 2011-05-21  Bruno Haible  <bruno@clisp.org>
8783
8784         atanl: Move AC_LIBOBJ invocations to module description.
8785         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
8786         * modules/atanl (configure.ac): ... to here.
8787
8788 2011-05-21  Bruno Haible  <bruno@clisp.org>
8789
8790         acosl: Move AC_LIBOBJ invocations to module description.
8791         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
8792         * modules/acosl (configure.ac): ... to here.
8793
8794 2011-05-21  Bruno Haible  <bruno@clisp.org>
8795
8796         asinl: Respect rules for use of AC_LIBOBJ.
8797         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
8798         * modules/asinl (configure.ac): ... to here.
8799
8800 2011-05-21  Bruno Haible  <bruno@clisp.org>
8801
8802         tanl: Move AC_LIBOBJ invocations to module description.
8803         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
8804         * modules/tanl (configure.ac): ... to here.
8805
8806 2011-05-21  Bruno Haible  <bruno@clisp.org>
8807
8808         cosl: Move AC_LIBOBJ invocations to module description.
8809         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
8810         * modules/cosl (configure.ac): ... to here.
8811
8812 2011-05-21  Bruno Haible  <bruno@clisp.org>
8813
8814         sinl: Move AC_LIBOBJ invocations to module description.
8815         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
8816         * modules/sinl (configure.ac): ... to here.
8817
8818 2011-05-21  Bruno Haible  <bruno@clisp.org>
8819
8820         logl: Move AC_LIBOBJ invocations to module description.
8821         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
8822         * modules/logl (configure.ac): ... to here.
8823
8824 2011-05-21  Bruno Haible  <bruno@clisp.org>
8825
8826         expl: Move AC_LIBOBJ invocations to module description.
8827         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
8828         * modules/expl (configure.ac): ... to here.
8829
8830 2011-05-21  Bruno Haible  <bruno@clisp.org>
8831
8832         roundl: Move AC_LIBOBJ invocations to module description.
8833         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
8834         * modules/roundl (configure.ac): ... to here.
8835
8836 2011-05-21  Bruno Haible  <bruno@clisp.org>
8837
8838         round: Move AC_LIBOBJ invocations to module description.
8839         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8840         * modules/round (configure.ac): ... to here.
8841
8842 2011-05-21  Bruno Haible  <bruno@clisp.org>
8843
8844         roundf: Move AC_LIBOBJ invocations to module description.
8845         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8846         * modules/roundf (configure.ac): ... to here.
8847
8848 2011-05-21  Bruno Haible  <bruno@clisp.org>
8849
8850         truncl: Move AC_LIBOBJ invocations to module description.
8851         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8852         * modules/truncl (configure.ac): ... to here.
8853
8854 2011-05-21  Bruno Haible  <bruno@clisp.org>
8855
8856         trunc: Move AC_LIBOBJ invocations to module description.
8857         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8858         * modules/trunc (configure.ac): ... to here.
8859
8860 2011-05-21  Bruno Haible  <bruno@clisp.org>
8861
8862         truncf: Move AC_LIBOBJ invocations to module description.
8863         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8864         * modules/truncf (configure.ac): ... to here.
8865
8866 2011-05-21  Bruno Haible  <bruno@clisp.org>
8867
8868         ceill: Move AC_LIBOBJ invocations to module description.
8869         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8870         * modules/ceill (configure.ac): ... to here.
8871
8872 2011-05-21  Bruno Haible  <bruno@clisp.org>
8873
8874         ceil: Move AC_LIBOBJ invocations to module description.
8875         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8876         * modules/ceil (configure.ac): ... to here.
8877
8878 2011-05-21  Bruno Haible  <bruno@clisp.org>
8879
8880         ceilf: Move AC_LIBOBJ invocations to module description.
8881         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8882         * modules/ceilf (configure.ac): ... to here.
8883
8884 2011-05-21  Bruno Haible  <bruno@clisp.org>
8885
8886         floorl: Respect rules for use of AC_LIBOBJ.
8887         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8888         * modules/floorl (configure.ac): ... to here.
8889
8890 2011-05-21  Bruno Haible  <bruno@clisp.org>
8891
8892         floor: Respect rules for use of AC_LIBOBJ.
8893         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8894         * modules/floor (configure.ac): ... to here.
8895
8896 2011-05-21  Bruno Haible  <bruno@clisp.org>
8897
8898         floorf: Move AC_LIBOBJ invocations to module description.
8899         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8900         * modules/floorf (configure.ac): ... to here.
8901
8902 2011-05-20  Bruno Haible  <bruno@clisp.org>
8903
8904         sqrtl: Respect rules for use of AC_LIBOBJ.
8905         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8906         * modules/sqrtl (configure.ac): ... to here.
8907
8908 2011-05-20  Bruno Haible  <bruno@clisp.org>
8909
8910         ldexpl: Respect rules for use of AC_LIBOBJ.
8911         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8912         * modules/ldexpl (configure.ac): ... to here.
8913
8914 2011-05-20  Bruno Haible  <bruno@clisp.org>
8915
8916         frexpl*: Respect rules for use of AC_LIBOBJ.
8917         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8918         invocation from here...
8919         * modules/frexpl (configure.ac): ... to here.
8920         * modules/frexpl-nolibm (configure.ac): ... and here.
8921
8922 2011-05-20  Bruno Haible  <bruno@clisp.org>
8923
8924         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8925         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8926         invocation from here...
8927         * modules/frexp (configure.ac): ... to here.
8928         * modules/frexp-nolibm (configure.ac): ... and here.
8929
8930 2011-05-20  Bruno Haible  <bruno@clisp.org>
8931
8932         isnan: Respect rules for use of AC_LIBOBJ.
8933         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8934         invocations here.
8935         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8936         REPLACE_ISNAN.
8937         * modules/isnand (configure.ac): Likewise.
8938         * modules/isnanl (configure.ac): Likewise.
8939
8940 2011-05-20  Bruno Haible  <bruno@clisp.org>
8941
8942         isnanl*: Respect rules for use of AC_LIBOBJ.
8943         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8944         invocation from here...
8945         * modules/isnanl (configure.ac): ... to here.
8946         * modules/isnanl-nolibm (configure.ac): ... and here.
8947
8948 2011-05-20  Bruno Haible  <bruno@clisp.org>
8949
8950         isnand*: Move AC_LIBOBJ invocations to module description.
8951         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8952         invocation from here...
8953         * modules/isnand (configure.ac): ... to here.
8954         * modules/isnand-nolibm (configure.ac): ... and here.
8955
8956 2011-05-20  Bruno Haible  <bruno@clisp.org>
8957
8958         isnanf*: Move AC_LIBOBJ invocations to module description.
8959         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8960         invocation from here...
8961         * modules/isnanf (configure.ac): ... to here.
8962         * modules/isnanf-nolibm (configure.ac): ... and here.
8963
8964 2011-05-20  Bruno Haible  <bruno@clisp.org>
8965
8966         isnan*: Separate the AC_LIBOBJ invocations.
8967         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8968         AC_LIBOBJ invocation.
8969         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8970         here.
8971         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8972         AC_LIBOBJ invocation.
8973         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8974         here.
8975         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8976         AC_LIBOBJ invocation.
8977         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8978         here.
8979         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8980
8981 2011-05-08  Bruno Haible  <bruno@clisp.org>
8982
8983         isinf: Move AC_LIBOBJ invocations to module description.
8984         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8985         * modules/isinf (configure.ac): ... to here.
8986
8987 2011-05-08  Bruno Haible  <bruno@clisp.org>
8988
8989         isfinite: Move AC_LIBOBJ invocations to module description.
8990         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8991         * modules/isfinite (configure.ac): ... to here.
8992
8993 2011-05-08  Bruno Haible  <bruno@clisp.org>
8994
8995         isblank: Move AC_LIBOBJ invocations to module description.
8996         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8997         here...
8998         * modules/isblank (configure.ac): ... to here.
8999
9000 2011-05-08  Bruno Haible  <bruno@clisp.org>
9001
9002         isapipe: Move AC_LIBOBJ invocations to module description.
9003         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
9004         gl_PREREQ_ISAPIPE invocations from here...
9005         * modules/isapipe (configure.ac): ... to here.
9006         (Depends-on): Update condition.
9007
9008 2011-05-08  Bruno Haible  <bruno@clisp.org>
9009
9010         ioctl: Move AC_LIBOBJ invocations to module description.
9011         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
9012         invocations from here...
9013         * modules/ioctl (configure.ac): ... to here.
9014         (Depends-on): Update condition.
9015
9016 2011-05-08  Bruno Haible  <bruno@clisp.org>
9017
9018         imaxdiv: Move AC_LIBOBJ invocations to module description.
9019         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
9020         invocations from here...
9021         * modules/imaxdiv (configure.ac): ... to here.
9022
9023 2011-05-08  Bruno Haible  <bruno@clisp.org>
9024
9025         imaxabs: Move AC_LIBOBJ invocations to module description.
9026         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
9027         invocations from here...
9028         * modules/imaxabs (configure.ac): ... to here.
9029
9030 2011-05-08  Bruno Haible  <bruno@clisp.org>
9031
9032         getaddrinfo: Move AC_LIBOBJ invocations to module description.
9033         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
9034         AC_LIBOBJ invocations from here...
9035         * modules/getaddrinfo (configure.ac): ... to here.
9036         (Depends-on): Add conditions.
9037
9038 2011-05-08  Bruno Haible  <bruno@clisp.org>
9039
9040         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
9041         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
9042         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
9043         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
9044         (gl_PREREQ_INET_PTON): ... from here.
9045         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
9046         gl_PREREQ_INET_PTON here.
9047         (Depends-on): Update condition.
9048
9049 2011-05-08  Bruno Haible  <bruno@clisp.org>
9050
9051         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
9052         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
9053         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
9054         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
9055         (gl_PREREQ_INET_NTOP): ... from here.
9056         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
9057         gl_PREREQ_INET_NTOP here.
9058         (Depends-on): Update condition.
9059
9060 2011-05-08  Bruno Haible  <bruno@clisp.org>
9061
9062         iconv_open: Move AC_LIBOBJ invocations to module description.
9063         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
9064         AC_LIBOBJ invocations from here...
9065         * modules/iconv_open (configure.ac): ... to here.
9066
9067 2011-05-08  Bruno Haible  <bruno@clisp.org>
9068
9069         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
9070         If module 'iconv_open' is among the main modules and module
9071         'iconv_open-utf' is among the tests dependencies, then
9072         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
9073         return the special iconv_t values. Therefore iconv() and iconv_close()
9074         must support these special iconv_t values, already in lib, not only in
9075         tests.
9076         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
9077         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
9078         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
9079         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
9080         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
9081         (Depends-on): Add the dependencies of iconv_open-utf.
9082         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
9083         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
9084         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
9085
9086 2011-05-08  Bruno Haible  <bruno@clisp.org>
9087
9088         group-member: Move AC_LIBOBJ invocations to module description.
9089         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
9090         gl_PREREQ_GROUP_MEMBER invocations from here...
9091         * modules/group-member (configure.ac): ... to here.
9092
9093 2011-05-08  Bruno Haible  <bruno@clisp.org>
9094
9095         grantpt: Move AC_LIBOBJ invocations to module description.
9096         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
9097         invocations from here...
9098         * modules/grantpt (configure.ac): ... to here.
9099
9100 2011-05-08  Bruno Haible  <bruno@clisp.org>
9101
9102         glob: Move AC_LIBOBJ invocations to module description.
9103         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
9104         from here...
9105         * modules/glob (configure.ac): ... to here.
9106
9107 2011-05-08  Bruno Haible  <bruno@clisp.org>
9108
9109         getusershell: Move AC_LIBOBJ invocations to module description.
9110         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
9111         Move AC_LIBOBJ invocation from here...
9112         * modules/getusershell (configure.ac): ... to here.
9113         (Depends-on): Update condition.
9114
9115 2011-05-08  Bruno Haible  <bruno@clisp.org>
9116
9117         gettimeofday: Move AC_LIBOBJ invocations to module description.
9118         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
9119         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
9120         gl_PREREQ_GETTIMEOFDAY invocations from here...
9121         * modules/gettimeofday (configure.ac): ... to here.
9122
9123 2011-05-08  Bruno Haible  <bruno@clisp.org>
9124
9125         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
9126         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
9127         just gl_FUNC_TZSET.
9128         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
9129         (gl_FUNC_TZSET_CLOBBER): Remove actions.
9130         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
9131         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
9132
9133 2011-05-08  Bruno Haible  <bruno@clisp.org>
9134
9135         getsubopt: Move AC_LIBOBJ invocations to module description.
9136         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
9137         gl_PREREQ_GETSUBOPT invocations from here...
9138         * modules/getsubopt (configure.ac): ... to here.
9139
9140 2011-05-08  Bruno Haible  <bruno@clisp.org>
9141
9142         getpass-gnu: Move AC_LIBOBJ invocations to module description.
9143         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
9144         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
9145         * modules/getpass-gnu (configure.ac): ... to here.
9146
9147 2011-05-08  Bruno Haible  <bruno@clisp.org>
9148
9149         getpass: Move AC_LIBOBJ invocations to module description.
9150         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
9151         gl_PREREQ_GETPASS invocations from here...
9152         * modules/getpass (configure.ac): ... to here.
9153
9154 2011-05-08  Bruno Haible  <bruno@clisp.org>
9155
9156         getpagesize: Move AC_LIBOBJ invocations to module description.
9157         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
9158         from here...
9159         * modules/getpagesize (configure.ac): ... to here.
9160
9161 2011-05-08  Bruno Haible  <bruno@clisp.org>
9162
9163         getopt: Move AC_LIBOBJ invocations to module description.
9164         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
9165         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
9166         invocations from here...
9167         * modules/getopt-gnu (configure.ac): ... to here.
9168         * modules/getopt-posix (configure.ac): ... and here.
9169         (Depends-on): Update condition.
9170
9171 2011-05-08  Bruno Haible  <bruno@clisp.org>
9172
9173         getopt, argp: Respect rules for use of AC_LIBOBJ.
9174         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
9175         (gl_REPLACE_GETOPT_ALWAYS): New macro.
9176         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
9177         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
9178
9179 2011-05-08  Bruno Haible  <bruno@clisp.org>
9180
9181         getlogin_r: Move AC_LIBOBJ invocations to module description.
9182         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
9183         gl_PREREQ_GETLOGIN_R invocations from here...
9184         * modules/getlogin_r (configure.ac): ... to here.
9185
9186 2011-05-08  Bruno Haible  <bruno@clisp.org>
9187
9188         getlogin: Move AC_LIBOBJ invocations to module description.
9189         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
9190         here...
9191         * modules/getlogin (configure.ac): ... to here.
9192
9193 2011-05-08  Bruno Haible  <bruno@clisp.org>
9194
9195         getloadavg: Move AC_LIBOBJ invocations to module description.
9196         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
9197         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
9198         * modules/getloadavg (configure.ac): ... to here.
9199
9200 2011-05-08  Bruno Haible  <bruno@clisp.org>
9201
9202         gethrxtime: Move AC_LIBOBJ invocations to module description.
9203         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
9204         LIB_GETHRXTIME from here...
9205         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
9206         invocations from here...
9207         * modules/gethrxtime (configure.ac): ... to here.
9208
9209 2011-05-08  Bruno Haible  <bruno@clisp.org>
9210
9211         gethostname: Move AC_LIBOBJ invocations to module description.
9212         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
9213         gl_PREREQ_GETHOSTNAME invocations from here...
9214         * modules/gethostname (configure.ac): ... to here.
9215
9216 2011-05-08  Bruno Haible  <bruno@clisp.org>
9217
9218         getgroups: Move AC_LIBOBJ invocations to module description.
9219         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
9220         here...
9221         * modules/getgroups (configure.ac): ... to here.
9222
9223 2011-05-08  Bruno Haible  <bruno@clisp.org>
9224
9225         getdtablesize: Move AC_LIBOBJ invocations to module description.
9226         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
9227         invocation from here...
9228         * modules/getdtablesize (configure.ac): ... to here.
9229
9230 2011-05-08  Bruno Haible  <bruno@clisp.org>
9231
9232         getdomainname: Move AC_LIBOBJ invocations to module description.
9233         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
9234         gl_PREREQ_GETDOMAINNAME invocations from here...
9235         * modules/getdomainname (configure.ac): ... to here.
9236
9237 2011-05-08  Bruno Haible  <bruno@clisp.org>
9238
9239         getline: Move AC_LIBOBJ invocations to module description.
9240         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
9241         invocations from here...
9242         * modules/getline (configure.ac): ... to here.
9243
9244 2011-05-08  Bruno Haible  <bruno@clisp.org>
9245
9246         getline: Simplify.
9247         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
9248         It's already handled through the module dependency.
9249
9250 2011-05-08  Bruno Haible  <bruno@clisp.org>
9251
9252         getdelim: Move AC_LIBOBJ invocations to module description.
9253         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
9254         and gl_PREREQ_GETDELIM invocations from here...
9255         * modules/getdelim (configure.ac): ... to here.
9256         (Depends-on): Fix condition.
9257
9258 2011-05-08  Bruno Haible  <bruno@clisp.org>
9259
9260         getcwd: Move AC_LIBOBJ invocations to module description.
9261         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
9262         invocations from here...
9263         * modules/getcwd (configure.ac): ... to here.
9264
9265 2011-05-08  Bruno Haible  <bruno@clisp.org>
9266
9267         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
9268         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
9269         here...
9270         * modules/getcwd-lgpl (configure.ac): ... to here.
9271
9272 2011-05-07  Bruno Haible  <bruno@clisp.org>
9273
9274         crypto/gc: Move AC_LIBOBJ invocations to module description.
9275         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
9276         * modules/crypto/gc (configure.ac): ... to here.
9277
9278 2011-05-07  Bruno Haible  <bruno@clisp.org>
9279
9280         fwriting: Move AC_LIBOBJ invocations to module description.
9281         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
9282         here...
9283         * modules/fwriting (configure.ac): ... to here.
9284
9285 2011-05-07  Bruno Haible  <bruno@clisp.org>
9286
9287         fwritable: Move AC_LIBOBJ invocations to module description.
9288         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
9289         here...
9290         * modules/fwritable (configure.ac): ... to here.
9291
9292 2011-05-07  Bruno Haible  <bruno@clisp.org>
9293
9294         futimens: Move AC_LIBOBJ invocations to module description.
9295         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
9296         here...
9297         * modules/futimens (configure.ac): ... to here.
9298
9299 2011-05-07  Bruno Haible  <bruno@clisp.org>
9300
9301         ftruncate: Move AC_LIBOBJ invocations to module description.
9302         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
9303         gl_PREREQ_FTRUNCATE invocations from here...
9304         * modules/ftruncate (configure.ac): ... to here.
9305
9306 2011-05-07  Bruno Haible  <bruno@clisp.org>
9307
9308         fsync: Move AC_LIBOBJ invocations to module description.
9309         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
9310         invocations from here...
9311         * modules/fsync (configure.ac): ... to here.
9312
9313 2011-05-07  Bruno Haible  <bruno@clisp.org>
9314
9315         fsusage: Move AC_LIBOBJ invocations to module description.
9316         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
9317         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
9318         * modules/fsusage (configure.ac): ... to here.
9319
9320 2011-05-07  Bruno Haible  <bruno@clisp.org>
9321
9322         freopen: Move AC_LIBOBJ invocations to module description.
9323         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
9324         invocations from here...
9325         * modules/freopen (configure.ac): ... to here.
9326
9327 2011-05-07  Bruno Haible  <bruno@clisp.org>
9328
9329         free: Move AC_LIBOBJ invocations to module description.
9330         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
9331         invocations from here...
9332         * modules/free (configure.ac): ... to here.
9333
9334 2011-05-07  Bruno Haible  <bruno@clisp.org>
9335
9336         freadable: Move AC_LIBOBJ invocations to module description.
9337         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
9338         here...
9339         * modules/freadable (configure.ac): ... to here.
9340
9341 2011-05-07  Bruno Haible  <bruno@clisp.org>
9342
9343         fpurge: Move AC_LIBOBJ invocations to module description.
9344         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
9345         invocations from here...
9346         * modules/fpurge (configure.ac): ... to here.
9347
9348 2011-05-07  Bruno Haible  <bruno@clisp.org>
9349
9350         fpending: Move AC_LIBOBJ invocations to module description.
9351         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
9352         gl_FUNC_FPENDING.
9353         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
9354         invocations from here...
9355         * modules/fpending (configure.ac): ... to here.
9356
9357 2011-05-07  Bruno Haible  <bruno@clisp.org>
9358
9359         fopen: Move AC_LIBOBJ invocations to module description.
9360         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
9361         invocations from here...
9362         * modules/fopen (configure.ac): ... to here.
9363
9364 2011-05-07  Bruno Haible  <bruno@clisp.org>
9365
9366         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
9367         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
9368         gl_FUNC_FNMATCH_POSIX.
9369         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
9370         invocations from here...
9371         * modules/fnmatch (configure.ac): ... to here.
9372         * modules/fnmatch-gnu (configure.ac): ... and here.
9373
9374 2011-05-07  Bruno Haible  <bruno@clisp.org>
9375
9376         flock: Move AC_LIBOBJ invocations to module description.
9377         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
9378         invocations from here...
9379         * modules/flock (configure.ac): ... to here.
9380
9381 2011-05-07  Bruno Haible  <bruno@clisp.org>
9382
9383         fileblocks: Move AC_LIBOBJ invocations to module description.
9384         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
9385         gl_PREREQ_FILEBLOCKS invocations from here...
9386         * modules/fileblocks (configure.ac): ... to here.
9387
9388 2011-05-06  Bruno Haible  <bruno@clisp.org>
9389
9390         fflush: Move AC_LIBOBJ invocations to module description.
9391         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
9392         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
9393         invocations from here...
9394         * modules/fflush (configure.ac): ... to here.
9395
9396 2011-05-06  Bruno Haible  <bruno@clisp.org>
9397
9398         fdopendir: Move AC_LIBOBJ invocations to module description.
9399         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
9400         here...
9401         * modules/fdopendir (configure.ac): ... to here.
9402         (Depends-on): Improve conditions.
9403
9404 2011-05-06  Bruno Haible  <bruno@clisp.org>
9405
9406         _Exit: Move AC_LIBOBJ invocations to module description.
9407         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
9408         invocations from here...
9409         * modules/_Exit (configure.ac): ... to here.
9410
9411 2011-05-21  Bruno Haible  <bruno@clisp.org>
9412
9413         euidaccess: Respect rules for use of AC_LIBOBJ.
9414         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
9415         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
9416         from here...
9417         * modules/euidaccess (configure.ac): ... to here.
9418
9419 2011-05-06  Bruno Haible  <bruno@clisp.org>
9420
9421         error: Move AC_LIBOBJ invocations to module description.
9422         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
9423         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
9424         invocations from here...
9425         * modules/error (configure.ac): ... to here.
9426
9427 2011-05-06  Bruno Haible  <bruno@clisp.org>
9428
9429         duplocale: Move AC_LIBOBJ invocations to module description.
9430         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
9431         gl_PREREQ_DUPLOCALE invocations from here...
9432         * modules/duplocale (configure.ac): ... to here.
9433
9434 2011-05-05  Bruno Haible  <bruno@clisp.org>
9435
9436         dirfd: Move AC_LIBOBJ invocations to module description.
9437         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
9438         gl_FUNC_DIRFD.
9439         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
9440         here...
9441         * modules/dirfd (configure.ac): ... to here.
9442         (Depends-on): Fix condition.
9443
9444 2011-05-05  Bruno Haible  <bruno@clisp.org>
9445
9446         chown: Respect rules for use of AC_LIBOBJ.
9447         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
9448         * modules/chown (configure.ac): ... to here.
9449
9450 2011-05-05  Bruno Haible  <bruno@clisp.org>
9451
9452         chdir-long: Move AC_LIBOBJ invocations to module description.
9453         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
9454         gl_PREREQ_CHDIR_LONG invocations from here...
9455         * modules/chdir-long (configure.ac): ... to here.
9456
9457 2011-05-05  Bruno Haible  <bruno@clisp.org>
9458
9459         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
9460         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
9461         from here...
9462         * modules/canonicalize-lgpl (configure.ac): ... to here.
9463
9464 2011-05-05  Bruno Haible  <bruno@clisp.org>
9465
9466         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
9467         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
9468         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
9469         REPLACE_CALLOC.
9470         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
9471         * modules/calloc-gnu (configure.ac): Likewise.
9472
9473 2011-05-05  Bruno Haible  <bruno@clisp.org>
9474
9475         btowc: Move AC_LIBOBJ invocations to module description.
9476         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
9477         invocations from here...
9478         * modules/btowc (configure.ac): ... to here.
9479
9480 2011-05-21  Bruno Haible  <bruno@clisp.org>
9481
9482         atexit: Move AC_LIBOBJ invocations to module description.
9483         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
9484         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
9485         here...
9486         * modules/atexit (configure.ac): ... to here.
9487
9488 2011-05-05  Bruno Haible  <bruno@clisp.org>
9489
9490         atoll: Move AC_LIBOBJ invocations to module description.
9491         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
9492         invocations from here...
9493         * modules/atoll (configure.ac): ... to here.
9494
9495 2011-05-05  Bruno Haible  <bruno@clisp.org>
9496
9497         argz: Move AC_LIBOBJ invocations to module description.
9498         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
9499         * modules/argz (configure.ac): ... to here.
9500
9501 2011-05-05  Bruno Haible  <bruno@clisp.org>
9502
9503         alphasort: Move AC_LIBOBJ invocations to module description.
9504         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
9505         gl_PREREQ_ALPHASORT invocations from here...
9506         * modules/alphasort (configure.ac): ... to here.
9507
9508 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
9509
9510         verify: new macro verify_expr; verify_true deprecated
9511         * NEWS: Mention this.
9512         * doc/verify.texi (Compile-time Assertions): Document this.
9513         * lib/verify.h (verify_true): Deprecate.
9514         (verify_expr): New macro.
9515         * tests/test-verify.c (function): Test verify_expr.
9516
9517 2011-06-14  Jim Meyering  <meyering@redhat.com>
9518
9519         init.sh: give more portable redirection-related advice in a comment
9520         * tests/init.sh (stderr_fileno_): Update the advice in comments.
9521         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
9522         for lots of discussion.  Stefano Lattarini suggested the solution
9523         of putting "9>&2" after the command.  Reported by Bruno Haible.
9524
9525 2011-06-13  Bruno Haible  <bruno@clisp.org>
9526
9527         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
9528         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
9529         'none'.
9530
9531 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
9532
9533         ftoastr: use strtof only if HAVE_STRTOF
9534         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
9535         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
9536         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
9537         * modules/ftoastr (configure.ac): Check for strtof.
9538
9539 2011-06-13  Bruno Haible  <bruno@clisp.org>
9540
9541         gnulib-tool: Addendum to 2011-06-08 commit.
9542         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
9543         and --witness-c-macro have been given, augment AM_CPPFLAGS.
9544
9545 2011-06-13  Bruno Haible  <bruno@clisp.org>
9546
9547         fseeko: Provide a non-inline replacement of fseek().
9548         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
9549         * modules/fseeko (Depends-on): Add fseek.
9550         * modules/fseek (License): Change to LGPLv2+.
9551
9552 2011-06-13  Bruno Haible  <bruno@clisp.org>
9553
9554         ftello: Provide a non-inline replacement of ftell().
9555         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
9556         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
9557         not have ftello() (such as on mingw).
9558         * modules/ftello (Depends-on): Add ftell.
9559         * modules/ftell (License): Change to LGPLv2+.
9560
9561 2011-05-07  Bruno Haible  <bruno@clisp.org>
9562
9563         ftell: Move AC_LIBOBJ invocations to module description.
9564         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
9565         * modules/ftell (configure.ac): ... to here.
9566
9567 2011-05-07  Bruno Haible  <bruno@clisp.org>
9568
9569         ftello: Respect rules for use of AC_LIBOBJ.
9570         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
9571         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
9572         here...
9573         * modules/ftello (configure.ac): ... to here.
9574
9575 2011-05-07  Bruno Haible  <bruno@clisp.org>
9576
9577         fseeko: Simplify.
9578         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
9579         (gl_FUNC_FSEEKO): Inline it here.
9580
9581 2011-05-07  Bruno Haible  <bruno@clisp.org>
9582
9583         fseek: Move AC_LIBOBJ invocations to module description.
9584         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
9585         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
9586         * modules/fseek (configure.ac): ... to here.
9587
9588 2011-05-07  Bruno Haible  <bruno@clisp.org>
9589
9590         fseek: Respect rules for use of AC_LIBOBJ.
9591         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
9592         here...
9593         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
9594
9595 2011-05-07  Bruno Haible  <bruno@clisp.org>
9596
9597         fseeko: Respect rules for use of AC_LIBOBJ.
9598         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
9599         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
9600         here...
9601         * modules/fseeko (configure.ac): ... to here.
9602
9603 2011-06-13  Bruno Haible  <bruno@clisp.org>
9604
9605         gnulib-tool: Allow comments in the 'Depends-on' section.
9606         * doc/gnulib.texi (Module description): Mention comment syntax in the
9607         Depends-on section.
9608         * gnulib-tool (func_get_dependencies): Filter out comment lines.
9609
9610 2011-06-13  Bruno Haible  <bruno@clisp.org>
9611
9612         file-set.h: guard __attibute__ use, now that it's not always defined
9613         * lib/file-set.h (record_file): Use __attribute__ only with compiler
9614         versions that support it.  This fixes a coreutils build failure with
9615         the vendor cc on HP-UX 11.31.
9616
9617 2011-06-12  Bruno Haible  <bruno@clisp.org>
9618
9619         acl: Add support for HP-UX >= 11.11 JFS ACLs.
9620         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
9621         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
9622         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
9623         (acl, aclsort): New declarations.
9624         (aclv_nontrivial): New declaration.
9625         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
9626         (file_has_acl): Read also the second kind of HP-UX ACLs.
9627         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
9628         kind of HP-UX ACLs if the first kind fails.
9629         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
9630         second kind of HP-UX ACLs.
9631         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
9632         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
9633         agree.
9634         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9635         hpuxjfs.
9636         Handle hpuxjfs.
9637         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9638         hpuxjfs.
9639         Handle hpuxjfs.
9640         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9641         (func_test_same_acls): Use both lsacl and getacl.
9642         Handle hpuxjfs.
9643         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9644         (func_test_same_acls): Use both lsacl and getacl.
9645         Handle hpuxjfs.
9646
9647 2011-06-12  Bruno Haible  <bruno@clisp.org>
9648
9649         acl: Complete the 2010-08-10 fix.
9650         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
9651         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
9652         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
9653         explicitly.
9654         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
9655         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
9656
9657 2011-06-12  Bruno Haible  <bruno@clisp.org>
9658
9659         spawn-pipe tests: Comments.
9660         * tests/test-spawn-pipe-child.c (main): Update comment.
9661         Reported by James Youngman <jay@gnu.org>.
9662
9663 2011-06-11  James Youngman  <jay@gnu.org>
9664
9665         New module 'stat-size'.
9666         * modules/stat-size: New module.  Provides macros for accessing
9667         file size information in instances of struct stat.  Depends on the
9668         fileblocks module because it calls st_blocks.
9669         * lib/stat-size.h: New file, adapted from coreutils' system.h.
9670         * doc/gnulib.texi: Include stat-size.texi.
9671         * doc/stat-size.texi: Documentation for this module.
9672         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
9673         * m4/fileblocks.m4: Mention that stat-size depends on the call to
9674         AC_STRUCT_ST_BLOCKS.
9675
9676 2011-06-09  Bruno Haible  <bruno@clisp.org>
9677
9678         thread: Support pthreads-win32.
9679         * lib/glthread/thread.h (gl_thread_self): Define differently on
9680         pthreads-win32.
9681         (gl_null_thread): New declaration.
9682         (gl_thread_self_pointer): New macro.
9683         * lib/glthread/thread.c (gl_null_thread): New constant.
9684         * tests/test-lock.c: Use gl_thread_self_pointer instead of
9685         gl_thread_self.
9686         * tests/test-tls.c: Likewise.
9687         Suggested by Paul Eggert. Reported by Eric Blake.
9688
9689 2011-06-09  Bruno Haible  <bruno@clisp.org>
9690
9691         thread: Fix confusion between NULL and 0.
9692         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
9693         Reported by Paul Eggert.
9694
9695 2011-06-09  Bruno Haible  <bruno@clisp.org>
9696
9697         spawn-pipe tests: Avoid test failure on HP-UX 11.
9698         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
9699         is closed.
9700
9701 2011-06-09  Bruno Haible  <bruno@clisp.org>
9702
9703         acl tests: Fix compilation error on HP-UX 11.
9704         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
9705
9706 2011-06-09  Bruno Haible  <bruno@clisp.org>
9707
9708         rmdir: Avoid test failure on HP-UX 10.20.
9709         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
9710         EEXIST.
9711
9712 2011-06-08  Eric Blake  <eblake@redhat.com>
9713
9714         perror: fix test on mingw
9715         * modules/perror-tests (Depends-on): Add dup2.
9716
9717         strerror_r-posix: fix on MacOS
9718         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
9719         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
9720         logic bug.
9721         * lib/strerror_r.c (strerror_r): Fix the bug.
9722         * lib/strerror.c (strerror): Likewise.
9723         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
9724         problem.
9725         * doc/posix-functions/strerror.texi (strerror): Likewise.
9726         * doc/posix-functions/perror.texi (perror): Likewise.
9727         * tests/test-strerror.c (main): Enhance test.
9728         * tests/test-strerror_r.c (main): Likewise.
9729
9730 2011-06-08  Bruno Haible  <bruno@clisp.org>
9731
9732         gnulib-tool: Better isolation between different gnulib-tool invocations.
9733         * gnulib-tool: New option --witness-c-macro.
9734         (witness_c_macro): New variable.
9735         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
9736         AM_CPPFLAGS define it as a C macro.
9737         (func_emit_tests_Makefile_am): Likewise.
9738         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
9739         read it from there.
9740         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
9741         m4_define, not AC_DEFUN.
9742         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
9743         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
9744         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
9745         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
9746         s|...|...|, to substitute the values of the GNULIB_* module indicator
9747         variables.
9748         * modules/dirent (Makefile.am): Likewise.
9749         * modules/fcntl-h (Makefile.am): Likewise.
9750         * modules/iconv-h (Makefile.am): Likewise.
9751         * modules/langinfo (Makefile.am): Likewise.
9752         * modules/locale (Makefile.am): Likewise.
9753         * modules/math (Makefile.am): Likewise.
9754         * modules/netdb (Makefile.am): Likewise.
9755         * modules/poll-h (Makefile.am): Likewise.
9756         * modules/pty (Makefile.am): Likewise.
9757         * modules/search (Makefile.am): Likewise.
9758         * modules/signal (Makefile.am): Likewise.
9759         * modules/spawn (Makefile.am): Likewise.
9760         * modules/stdio (Makefile.am): Likewise.
9761         * modules/stdlib (Makefile.am): Likewise.
9762         * modules/string (Makefile.am): Likewise.
9763         * modules/sys_ioctl (Makefile.am): Likewise.
9764         * modules/sys_select (Makefile.am): Likewise.
9765         * modules/sys_socket (Makefile.am): Likewise.
9766         * modules/sys_stat (Makefile.am): Likewise.
9767         * modules/sys_times (Makefile.am): Likewise.
9768         * modules/sys_utsname (Makefile.am): Likewise.
9769         * modules/sys_wait (Makefile.am): Likewise.
9770         * modules/termios (Makefile.am): Likewise.
9771         * modules/time (Makefile.am): Likewise.
9772         * modules/unistd (Makefile.am): Likewise.
9773         * modules/wchar (Makefile.am): Likewise.
9774
9775 2011-06-08  Eric Blake  <eblake@redhat.com>
9776
9777         strerror: simplify replacement
9778         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
9779         * modules/strerror (configure.ac): No prereqs needed here...
9780         * modules/strerror-override (configure.ac): ...but this needs it.
9781         (Files): Add file for needed prereq macro.
9782
9783 2011-06-08  Bruno Haible  <bruno@clisp.org>
9784
9785         strerror_r-posix: Tweaks.
9786         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
9787         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
9788         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
9789         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
9790         (gl_FUNC_STRERROR_R): ... to here.
9791         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
9792
9793 2011-06-07  Eric Blake  <eblake@redhat.com>
9794
9795         perror: document fixed bugs
9796         * doc/posix-functions/perror.texi (perror): Document recent
9797         patches.
9798
9799 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
9800
9801         stat-time: get_stat_birthtime failure is better-defined
9802         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
9803         return a timestamp whose tv_sec and tv_nsec values are both -1.
9804         Previously, the spec said only that the tv_nsec value was negative.
9805         This upward-compatible change simplifies GNU tar a bit.
9806
9807 2011-06-07  Eric Blake  <eblake@redhat.com>
9808
9809         strerror_r-posix: work around cygwin 1.7.9
9810         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
9811         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
9812         bug without replacing strerror_r.
9813         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
9814         strerror_r is buggy, but without requiring strerror_r compilation.
9815         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
9816
9817         test-perror: relax test to ignore cygwin bug
9818         * tests/test-perror2.c (main): Relax test on requiring detection
9819         of stream errors, and use unbuffered stream.
9820         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
9821         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
9822         * doc/posix-functions/fputc.texi (fputc): Likewise.
9823         * doc/posix-functions/fputs.texi (fputs): Likewise.
9824         * doc/posix-functions/fputws.texi (fputws): Likewise.
9825         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
9826         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
9827         * doc/posix-functions/getopt.texi (getopt): Likewise.
9828         * doc/posix-functions/perror.texi (perror): Likewise.
9829         * doc/posix-functions/printf.texi (printf): Likewise.
9830         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
9831         * doc/posix-functions/psignal.texi (psignal): Likewise.
9832         * doc/posix-functions/putc.texi (putc): Likewise.
9833         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
9834         Likewise.
9835         * doc/posix-functions/putchar.texi (putchar): Likewise.
9836         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
9837         Likewise.
9838         * doc/posix-functions/puts.texi (puts): Likewise.
9839         * doc/posix-functions/putwc.texi (putwc): Likewise.
9840         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9841         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9842         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9843         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9844         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9845         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9846         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9847         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9848
9849 2011-05-22  Bruno Haible  <bruno@clisp.org>
9850
9851         strerror: Move AC_LIBOBJ invocations to module description.
9852         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9853         gl_PREREQ_STRERROR invocations from here...
9854         * modules/strerror (configure.ac): ... to here.
9855
9856 2011-05-21  Bruno Haible  <bruno@clisp.org>
9857
9858         perror: Use common idiom.
9859         * modules/perror (configure.ac): Reorder statements.
9860
9861 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9862
9863         tests: fix usage message in 'mktempd_'
9864         * tests/init.sh (mktempd_): In the usage message, use literal
9865         'mktempd_', not '$ME' (which is even undefined), as the name of
9866         the subroutine.
9867
9868 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9869
9870         tests init: new function 'fatal_', for hard errors
9871         Before this patch, the only way offered by tests/init.sh to
9872         properly signal a hard error was the `framework_failure_'
9873         function.  But the error message issued by that function,
9874         as its name would suggest, refers to a set-up failure in the
9875         testsuite, while hard errors can obviously also be due to
9876         other reasons.  The best way to fix this inconsistency is to
9877         introduce a new function with a more general error message.
9878         * tests/init.sh (fatal_): New function.
9879
9880 2011-06-06  Eric Blake  <eblake@redhat.com>
9881
9882         canonicalize-lgpl: use common idiom
9883         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9884         over newer POSIX -Rf.
9885         Reported by Bruno Haible.
9886
9887         canonicalize-lgpl: work around AIX realpath bug
9888         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9889         * doc/posix-functions/realpath.texi (realpath): Document it.
9890         Reported by Bruno Haible.
9891
9892         strerror: work around FreeBSD bug
9893         * lib/strerror.c (strerror): Special case 0.
9894         Reported by Bruno Haible.
9895
9896         strerror-override: avoid bloating errno module
9897         * modules/errno (Files, configure.ac): Move replacement strings...
9898         * modules/strerror-override: ...to new module.
9899         * modules/strerror (Depends-on): Add strerror-override.
9900         * modules/strerror_r-posix (Depends-on): Likewise.
9901         * MODULES.html.sh: Document new module.
9902         Reported by Bruno Haible.
9903
9904 2011-06-06  Bruno Haible  <bruno@clisp.org>
9905
9906         spawn-pipe tests: Rename program.
9907         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9908         * tests/test-spawn-pipe-child.c: Update comment.
9909         * tests/test-spawn-pipe.sh: Update.
9910         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9911
9912         spawn-pipe tests: Link the child program only against libc.
9913         * tests/test-spawn-pipe-child.c: New file, extracted from
9914         tests/test-spawn-pipe.c.
9915         (main): Expect only one argument.
9916         (is_open): New function, copied from tests/test-pipe.c.
9917         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9918         (child_main): Remove function.
9919         (test_pipe): Pass only one argument to the child program.
9920         (main): Remove child process code. Expect the child program's name as
9921         first argument.
9922         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9923         argument.
9924         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9925         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9926         test-spawn-pipe-child against no libraries.
9927
9928 2011-06-06  Bruno Haible  <bruno@clisp.org>
9929
9930         careadlinkat: Avoid mismatch between ssize_t and int.
9931         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9932         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9933
9934 2011-06-06  Jim Meyering  <meyering@redhat.com>
9935
9936         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9937         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9938         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9939
9940 2011-06-05  Bruno Haible  <bruno@clisp.org>
9941
9942         ansi-c++-opt: Interoperability with libtool.
9943         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9944         set the variable to "no", not to ":".
9945         * NEWS: Mention the change.
9946
9947 2011-06-05  Bruno Haible  <bruno@clisp.org>
9948
9949         acl: Fix test failure on AIX 7.
9950         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9951         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9952
9953 2011-06-05  Bruno Haible  <bruno@clisp.org>
9954
9955         pipe-filter-ii: Fix test failure on AIX and IRIX.
9956         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9957         with EAGAIN, retry with a smaller buffer size.
9958
9959 2011-06-05  Bruno Haible  <bruno@clisp.org>
9960
9961         localename: Fix link dependencies.
9962         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9963         * modules/localename-tests (Makefile.am): Link test-localename with
9964         $(LIBTHREAD).
9965
9966 2011-06-05  Bruno Haible  <bruno@clisp.org>
9967
9968         error: Avoid gcc warning.
9969         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9970
9971 2011-06-05  Bruno Haible  <bruno@clisp.org>
9972
9973         unsetenv: Avoid gcc warning.
9974         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9975
9976 2011-06-05  Bruno Haible  <bruno@clisp.org>
9977
9978         setenv: Avoid gcc warning.
9979         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9980
9981 2011-06-05  Bruno Haible  <bruno@clisp.org>
9982
9983         sys_select: Ensure memset is declared also on AIX 7.
9984         * lib/sys_select.in.h: Include <string.h> also on AIX.
9985         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9986         self-contained also on AIX 7.1.
9987
9988 2011-06-04  Jim Meyering  <meyering@redhat.com>
9989
9990         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9991         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9992         function name, "error".
9993         (_gl_translatable_diag_func_re): New configurable variable.
9994
9995 2011-06-04  Bruno Haible  <bruno@clisp.org>
9996
9997         getopt: Avoid gcc warning.
9998         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9999
10000 2011-06-04  Bruno Haible  <bruno@clisp.org>
10001
10002         strerror_r: Fix comments.
10003         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
10004         commit.
10005
10006 2011-06-04  Bruno Haible  <bruno@clisp.org>
10007
10008         perror: Fix compilation error.
10009         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
10010         Undefine fprintf, not sprintf.
10011         * modules/perror (Depends-on): Remove intprops, verify.
10012
10013 2011-06-04  Bruno Haible  <bruno@clisp.org>
10014
10015         setlocale: Enable replacement on Cygwin 1.5.
10016         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
10017         Cygwin 1.5.x.
10018         * doc/posix-functions/setlocale.texi: Mention that the problem with the
10019         LC_CTYPE category also exists on Cygwin 1.5.x.
10020
10021 2011-06-04  Bruno Haible  <bruno@clisp.org>
10022
10023         strerror-override: Don't disable symbol renamings.
10024         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
10025         * lib/strerror-override.c: Include config.h.
10026         (strerror_override): Don't undefine.
10027
10028 2011-06-03  Bruno Haible  <bruno@clisp.org>
10029
10030         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
10031         * lib/localename.h: Update copyright header.
10032         * lib/localename.c: Likewise.
10033         * lib/relocatable.h: Likewise.
10034         * lib/relocatable.c: Likewise.
10035
10036 2011-06-02  Bruno Haible  <bruno@clisp.org>
10037
10038         doc: Fix a module name.
10039         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
10040
10041 2011-06-02  Bruno Haible  <bruno@clisp.org>
10042
10043         pipe2: Remove dependency on 'nonblocking' module.
10044         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
10045         O_NONBLOCK is defined by gnulib.
10046         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
10047         is zero.
10048         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
10049         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
10050         defined by gnulib.
10051         (get_nonblocking_flag): New function.
10052         (main): Test O_NONBLOCK flag only if it is nonzero.
10053         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
10054
10055 2011-06-03  Jim Meyering  <meyering@redhat.com>
10056
10057         maint: three new prohibit-header-without-use rules
10058         Prohibit use of cloexec.h, posixver.h, same.h without use.
10059         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
10060         (sc_prohibit_posixver_without_use): Likewise.
10061         (sc_prohibit_same_without_use): Likewise.
10062
10063 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10064
10065         allocator: 'die' routine is now given requested size
10066         * lib/allocator.h (struct allocator.die): New size arg.
10067         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
10068         If the actual problem is an ssize_t limitation, not a size_t or
10069         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
10070
10071 2011-06-01  Eric Blake  <eblake@redhat.com>
10072
10073         strerror: drop strerror_r dependency
10074         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
10075         * lib/strerror-override.c (strerror_override): ...to new file.
10076         * lib/strerror-override.h: Add prototype.
10077         * lib/strerror-impl.h: Delete.
10078         * lib/strerror.c (strerror): New implementation.
10079         * modules/errno (Files): Add new files.
10080         (configure.ac): Compile new file as appropriate.
10081         * modules/strerror (Files): Drop unused file.
10082         (Depends-on): Drop strerror_r-posix.
10083         * MODULES.html.sh: Document strerror_r-posix.
10084         Requested by Sam Steingold.
10085
10086         perror: call strerror_r directly
10087         * modules/perror (Files): Drop strerror-impl.h.
10088         * lib/perror.c (perror): Use our own stack buffer, rather than
10089         calling a wrapper that uses static storage.
10090         * doc/posix-functions/perror.texi (perror): Document a limitation
10091         of our replacement.
10092
10093         strerror_r: fix includes for FreeBSD
10094         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
10095         since we use abort on some platforms.
10096         Reported by Matthias Bolte.
10097
10098 2011-05-31  Bruno Haible  <bruno@clisp.org>
10099
10100         Fix link errors in tests: openat-die uses gettext-h.
10101         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
10102         against $(LIBINTL).
10103         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
10104         against $(LIBINTL).
10105         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
10106         $(LIBINTL).
10107         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
10108         against $(LIBINTL).
10109         * modules/linkat-tests (Makefile.am): Link test-linkat against
10110         $(LIBINTL).
10111         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
10112         $(LIBINTL).
10113         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
10114         against $(LIBINTL).
10115         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
10116         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
10117         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
10118         $(LIBINTL).
10119         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
10120         $(LIBINTL).
10121         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
10122         $(LIBINTL).
10123         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10124
10125 2011-05-31  Bruno Haible  <bruno@clisp.org>
10126
10127         Fix link errors in tests: wait-process uses gettext-h.
10128         * modules/nonblocking-pipe-tests (Makefile.am): Set
10129         test_nonblocking_pipe_main_LDADD.
10130         * modules/nonblocking-socket-tests (Makefile.am): Link
10131         test-nonblocking-socket-main against $(LIBINTL).
10132         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10133
10134 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
10135
10136         assert-h: work around 'verify' incompatibility
10137         * lib/verify.h: Use @...@ directives, not ifdef.
10138         * modules/assert-h (assert.h): Implement the directives.
10139         (assert.h): Substitute the symbol-prefix more consistently.
10140
10141 2011-05-29  Jim Meyering  <meyering@redhat.com>
10142
10143         trim: remove three superfluous assignments
10144         * lib/trim.c (trim2): Remove three superfluous assignments
10145         and correct brace positioning.
10146
10147 2011-05-29  Bruno Haible  <bruno@clisp.org>
10148
10149         wctype-h: Avoid namespace pollution on Solaris 2.6.
10150         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
10151         identifiers.
10152         * doc/posix-headers/wctype.texi: Mention the problem.
10153         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10154
10155 2011-05-28  Jim Meyering  <meyering@redhat.com>
10156
10157         parse-datetime.y: accommodate -Wstrict-overflow
10158         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
10159         placate -Wstrict-overflow.
10160
10161         trim: avoid a warning from -O2 -Wstrict-overflow
10162         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
10163
10164 2011-05-29  Bruno Haible  <bruno@clisp.org>
10165
10166         gnulib-tool: Fix bug in yesterday's commit.
10167         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
10168         twice.
10169
10170 2011-05-29  Bruno Haible  <bruno@clisp.org>
10171
10172         Allow multiple gnulib generated include files to be combined.
10173         * gnulib-tool (func_compute_include_guard_prefix): New function.
10174         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
10175         ${gl_include_guard_prefix} references.
10176         (func_import, func_create_testdir): Invoke
10177         func_compute_include_guard_prefix.
10178         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
10179         * lib/ctype.in.h: Likewise.
10180         * lib/dirent.in.h: Likewise.
10181         * lib/errno.in.h: Likewise.
10182         * lib/fcntl.in.h: Likewise.
10183         * lib/float.in.h: Likewise.
10184         * lib/getopt.in.h: Likewise.
10185         * lib/iconv.in.h: Likewise.
10186         * lib/langinfo.in.h: Likewise.
10187         * lib/locale.in.h: Likewise.
10188         * lib/math.in.h: Likewise.
10189         * lib/netdb.in.h: Likewise.
10190         * lib/netinet_in.in.h: Likewise.
10191         * lib/poll.in.h: Likewise.
10192         * lib/pthread.in.h: Likewise.
10193         * lib/pty.in.h: Likewise.
10194         * lib/sched.in.h: Likewise.
10195         * lib/se-selinux.in.h: Likewise.
10196         * lib/search.in.h: Likewise.
10197         * lib/signal.in.h: Likewise.
10198         * lib/spawn.in.h: Likewise.
10199         * lib/stdarg.in.h: Likewise.
10200         * lib/stddef.in.h: Likewise.
10201         * lib/stdint.in.h: Likewise.
10202         * lib/stdio.in.h: Likewise.
10203         * lib/stdlib.in.h: Likewise.
10204         * lib/string.in.h: Likewise.
10205         * lib/strings.in.h: Likewise.
10206         * lib/sys_file.in.h: Likewise.
10207         * lib/sys_ioctl.in.h: Likewise.
10208         * lib/sys_select.in.h: Likewise.
10209         * lib/sys_socket.in.h: Likewise.
10210         * lib/sys_stat.in.h: Likewise.
10211         * lib/sys_time.in.h: Likewise.
10212         * lib/sys_times.in.h: Likewise.
10213         * lib/sys_uio.in.h: Likewise.
10214         * lib/sys_utsname.in.h: Likewise.
10215         * lib/sys_wait.in.h: Likewise.
10216         * lib/sysexits.in.h: Likewise.
10217         * lib/termios.in.h: Likewise.
10218         * lib/time.in.h: Likewise.
10219         * lib/unistd.in.h: Likewise.
10220         * lib/wchar.in.h: Likewise.
10221         * lib/wctype.in.h: Likewise.
10222         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
10223         * modules/ctype (Makefile.am): Likewise.
10224         * modules/dirent (Makefile.am): Likewise.
10225         * modules/errno (Makefile.am): Likewise.
10226         * modules/fcntl-h (Makefile.am): Likewise.
10227         * modules/float (Makefile.am): Likewise.
10228         * modules/getopt-posix (Makefile.am): Likewise.
10229         * modules/iconv-h (Makefile.am): Likewise.
10230         * modules/langinfo (Makefile.am): Likewise.
10231         * modules/locale (Makefile.am): Likewise.
10232         * modules/math (Makefile.am): Likewise.
10233         * modules/netdb (Makefile.am): Likewise.
10234         * modules/netinet_in (Makefile.am): Likewise.
10235         * modules/poll-h (Makefile.am): Likewise.
10236         * modules/pthread (Makefile.am): Likewise.
10237         * modules/pty (Makefile.am): Likewise.
10238         * modules/sched (Makefile.am): Likewise.
10239         * modules/search (Makefile.am): Likewise.
10240         * modules/selinux-h (Makefile.am): Likewise.
10241         * modules/signal (Makefile.am): Likewise.
10242         * modules/spawn (Makefile.am): Likewise.
10243         * modules/stdarg (Makefile.am): Likewise.
10244         * modules/stddef (Makefile.am): Likewise.
10245         * modules/stdint (Makefile.am): Likewise.
10246         * modules/stdio (Makefile.am): Likewise.
10247         * modules/stdlib (Makefile.am): Likewise.
10248         * modules/string (Makefile.am): Likewise.
10249         * modules/strings (Makefile.am): Likewise.
10250         * modules/sys_file (Makefile.am): Likewise.
10251         * modules/sys_ioctl (Makefile.am): Likewise.
10252         * modules/sys_select (Makefile.am): Likewise.
10253         * modules/sys_socket (Makefile.am): Likewise.
10254         * modules/sys_stat (Makefile.am): Likewise.
10255         * modules/sys_time (Makefile.am): Likewise.
10256         * modules/sys_times (Makefile.am): Likewise.
10257         * modules/sys_uio (Makefile.am): Likewise.
10258         * modules/sys_utsname (Makefile.am): Likewise.
10259         * modules/sys_wait (Makefile.am): Likewise.
10260         * modules/sysexits (Makefile.am): Likewise.
10261         * modules/termios (Makefile.am): Likewise.
10262         * modules/time (Makefile.am): Likewise.
10263         * modules/unistd (Makefile.am): Likewise.
10264         * modules/wchar (Makefile.am): Likewise.
10265         * modules/wctype-h (Makefile.am): Likewise.
10266         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
10267
10268 2011-05-29  Bruno Haible  <bruno@clisp.org>
10269
10270         assert-h: Allow multiple gnulib generated replacements to coexist.
10271         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
10272
10273 2011-05-29  Bruno Haible  <bruno@clisp.org>
10274
10275         argp: Allow coexistence with strerror_r-posix module.
10276         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
10277         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
10278         by gnulib's <string.h> replacement), assume it has the POSIX signature,
10279         not the glibc signature.
10280
10281 2011-05-28  Bruno Haible  <bruno@clisp.org>
10282
10283         gnulib-tool: Alternative structure of testdirs, similar to --import.
10284         * gnulib-tool: New option --single-configure.
10285         (func_usage): Document it.
10286         (single_configure): New variable.
10287         (func_modules_transitive_closure_separately,
10288         func_modules_transitive_closure_separately,
10289         func_determine_use_libtests, func_modules_add_dummy_separately,
10290         func_modules_to_filelist_separately): New functions, extracted from
10291         func_import.
10292         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
10293         (func_import): Use the new functions.
10294         (func_create_testdir): Set final_modules. Handle $single_configure =
10295         true case.
10296
10297 2011-05-28  Bruno Haible  <bruno@clisp.org>
10298
10299         getloadavg: Remove an unreliable safety check.
10300         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
10301         getloadavg.c is in place.
10302         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
10303         Reported by Sam Steingold <sds@gnu.org>.
10304
10305 2011-05-28  Bruno Haible  <bruno@clisp.org>
10306
10307         doc: Cleanup yet another file produced by texinfo.tex.
10308         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
10309
10310 2011-05-28  Bruno Haible  <bruno@clisp.org>
10311
10312         Finish the conditional dependencies mechanism.
10313         * gnulib-tool: New option --no-conditional-dependencies.
10314         (func_usage): Document it. Don't mark --conditional-dependencies as
10315         experimental.
10316         (cond_dependencies): The possible values can now be true, false, empty.
10317         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
10318         (func_import): Store setting in gnulib-cache.m4 and read it from there.
10319         * doc/gnulib-tool.texi (Conditional dependencies): New section.
10320
10321 2011-05-28  Bruno Haible  <bruno@clisp.org>
10322
10323         doc: Use a recent texinfo.tex.
10324         * doc/Makefile (tex_opts): New variable.
10325         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
10326
10327 2011-05-28  Jim Meyering  <meyering@redhat.com>
10328
10329         intprops.h: adjust comment to match code change
10330         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
10331         only once, it *may* have side effects.  Also fix an unrelated typo.
10332         (_GL_INT_SIGNED): Likewise.
10333
10334 2011-05-26  Simon Josefsson  <simon@josefsson.org>
10335
10336         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
10337
10338 2011-05-26  Bruno Haible  <bruno@clisp.org>
10339
10340         mbsrchr: Avoid collision with system function on Interix.
10341         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
10342         Reported by Markus Duft <mduft@gentoo.org>.
10343
10344 2011-05-15  James Youngman  <jay@gnu.org>
10345
10346         getopt: for ambiguous options, enumerate the possibilities.
10347         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
10348         the ambiguous options when an ambiguous prefix is given. This was
10349         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
10350         glibc change was
10351         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
10352
10353 2011-05-25  Eric Blake  <eblake@redhat.com>
10354
10355         getcwd: work around mingw bug
10356         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
10357         * doc/posix-functions/getcwd.texi (getcwd): Document it.
10358         Reported by Matthias Bolte.
10359
10360 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
10361
10362         test-intprops: disable -Wtype-limits diagnostics
10363         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
10364         diagnostics.  Otherwise, the integer overflow macros generate many
10365         diagnostics.  Reported by Jim Meyering in
10366         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
10367
10368         intprops: shorten, to pacify gcc -Woverlength-strings
10369         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
10370         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
10371         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
10372         likely to run afoul of C compiler limits for string constant lengths.
10373         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
10374
10375 2011-05-24  Eric Blake  <eblake@redhat.com>
10376
10377         docs: document recently fixed glibc printf bug
10378         * doc/posix-functions/fprintf.texi (fprintf): Document it.
10379         * doc/posix-functions/printf.texi (printf): Likewise.
10380         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
10381         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
10382
10383         closein-tests: convert to init.sh
10384         * modules/closein-tests (Files): Add init.sh
10385         * tests/test-closein.sh Use it.
10386
10387         yesno-tests: convert to init.sh
10388         * modules/yesno-tests (Files): Add init.sh.
10389         * tests/test-yesno.sh: Use it.
10390
10391         atexit-tests: ensure reliable exit status
10392         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
10393         Reported by Bruno Haible.
10394
10395 2011-05-24  Bruno Haible  <bruno@clisp.org>
10396
10397         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
10398         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
10399         gl_PREREQ_STRERROR_R invocations from here...
10400         * modules/strerror_r-posix (configure.ac): ... to here.
10401
10402 2011-05-24  Eric Blake  <eblake@redhat.com>
10403
10404         strerror_r: fix missing header
10405         * lib/strerror_r.c: Avoid compiler warning about snprintf.
10406
10407         strerror_r: fix AIX test failures
10408         * lib/strerror_r.c (strerror_r): Convert silent truncation to
10409         ERANGE failure.
10410
10411         strerror_r: fix Solaris test failures
10412         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
10413         failures.
10414         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
10415
10416         strerror_r: enforce POSIX recommendations
10417         * lib/strerror_r.c (safe_copy): New helper method.
10418         (strerror_r): Guarantee a non-empty string.
10419         * tests/test-strerror_r.c (main): Enhance tests to incorporate
10420         recent POSIX rulings and to match our strerror guarantees.
10421         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
10422
10423 2011-05-24  Jim Meyering  <meyering@redhat.com>
10424
10425         test-perror2.c: avoid warning about unused variable
10426         * tests/test-perror2.c (main): Remove declaration of unused "fp".
10427
10428 2011-05-24  Eric Blake  <eblake@redhat.com>
10429
10430         perror: avoid spurious test failure on HP-UX
10431         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
10432
10433         tests: fix logic bug in init.sh
10434         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
10435         shell.
10436
10437 2011-05-24  Jim Meyering  <meyering@redhat.com>
10438
10439         utimensat: do not reference an out-of-scope buffer
10440         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
10441         declared in an inner scope, yet "times" would be dereferenced outside
10442         the scope in which "ts" was valid.
10443         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
10444         of ts[2] "out/up", so that the use of aliased "times" (via
10445         "times = ts;") does not end up referencing an out-of-scope "ts"
10446
10447         opendir-safer.c: don't clobber errno; don't close negative FD
10448         * lib/opendir-safer.c (opendir_safer):
10449         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
10450         file descriptor, and more importantly, don't clobber the
10451         offending errno value with EINVAL.  Before, upon failure
10452         of dup_safer, we would pass the negative file descriptor to
10453         fdopendir, which would clobber errno.
10454
10455 2011-05-23  Bruno Haible  <bruno@clisp.org>
10456
10457         idcache: Fix module description.
10458         * modules/idcache (Include): Set to "idcache.h".
10459
10460 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
10461
10462         gnulib-tool: fix portability problem with MacOS sed
10463         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
10464         before the "}".  Problem reported by Leo in
10465         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
10466         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
10467         sed_extract_condition1, sed_extract_condition2.
10468
10469 2011-05-23  Bruno Haible  <bruno@clisp.org>
10470
10471         hash: Simplify autoconf macro.
10472         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
10473
10474 2011-05-23  Bruno Haible  <bruno@clisp.org>
10475
10476         getugroups: Fix module description.
10477         * modules/getugroups (Include): Set to "getugroups.h".
10478
10479 2011-05-23  Bruno Haible  <bruno@clisp.org>
10480
10481         linkat: Simplify autoconf macro.
10482         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
10483
10484 2011-05-23  Bruno Haible  <bruno@clisp.org>
10485             Eric Blake  <eblake@redhat.com>
10486
10487         linkat, renameat: Update dependencies.
10488         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
10489         * modules/linkat (Depends-on): Likewise. Remove also readlink,
10490         symlinkat.
10491
10492 2011-05-23  Jim Meyering  <meyering@redhat.com>
10493
10494         maint.mk: more tight_scope improvements
10495         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
10496         (_gl_TS_headers): Define only in if-0'd block.
10497         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
10498         sometimes we must *not* use it.  Adjust uses accordingly.
10499         (sc_tight_scope): Use much simpler grep-based test to determine
10500         whether we skip this rule.
10501
10502         maint.mk: generalize/improve the tight-scope rule
10503         * top/maint.mk: Emit a warning when the test is skipped.
10504         (_gl_TS_dir): Add $(srcdir)/ prefix.
10505         (_gl_TS_function_match): Simplify, rather than trying
10506         to enumerate common types.  Otherwise, it would fail to match an
10507         "extern unsigned char const *" declaration in idutils.
10508         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
10509         a way to support use of that type of macro.
10510         (_gl_TS_var_match): Simplify regexp.
10511         (_gl_TS_obj_files): New configurable variable.
10512         (_gl_TS_headers): Likewise.
10513
10514 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
10515
10516         verify: fix bug when gnulib <assert.h> is also included
10517         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
10518         is defined, not if _GL_STATIC_ASSERT_H is not defined.
10519         Perhaps there's a better way, but this fixes the immediate problem.
10520         Problem reported by Bruno Haible in
10521         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
10522
10523 2011-05-22  Bruno Haible  <bruno@clisp.org>
10524
10525         xgetcwd: Simplify autoconf macro.
10526         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
10527
10528 2011-05-22  Bruno Haible  <bruno@clisp.org>
10529
10530         New module 'mktime-internal'.
10531         * modules/mktime-internal: New file.
10532         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
10533         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
10534         mktime_internal as a C macro if libc has __mktime_internal.
10535         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
10536         conditions.
10537         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
10538
10539 2011-05-22  Bruno Haible  <bruno@clisp.org>
10540
10541         timegm: Correct mktime replacement statements.
10542         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
10543         defining mktime as a C macro. This completes a 2009-07-28 commit.
10544
10545 2011-05-22  Bruno Haible  <bruno@clisp.org>
10546
10547         timegm: Simplify autoconf macro.
10548         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
10549
10550 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
10551
10552         clock-time: change to LGPLv2+.
10553         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
10554         BSD-like but we have no mark for that; this is good enough for now.
10555
10556 2011-05-21  Bruno Haible  <bruno@clisp.org>
10557
10558         strerror_r: Fix comments.
10559         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
10560
10561 2011-05-21  Bruno Haible  <bruno@clisp.org>
10562
10563         relocatable-prog-wrapper: Fix possible link error.
10564         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
10565         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
10566         (gl_FUNC_SETENV): ... to here.
10567         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
10568         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
10569
10570 2011-05-21  Bruno Haible  <bruno@clisp.org>
10571
10572         relocatable-prog-wrapper: Assume strerror() exists.
10573         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
10574         m4/strerror.m4.
10575         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
10576         * lib/relocwrapper.c: Remove mention of strerror module.
10577         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
10578         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
10579         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
10580         C macro.
10581
10582 2011-05-21  Bruno Haible  <bruno@clisp.org>
10583
10584         select: Simplify replacement idiom.
10585         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
10586         Win32 platforms.
10587         * lib/sys_select.in.h (select): Simplify accordingly.
10588         * modules/select (Depends-on): Likewise.
10589
10590 2011-05-21  Bruno Haible  <bruno@clisp.org>
10591
10592         mkdir-p: Simplify autoconf macro.
10593         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
10594         gl_FUNC_LCHOWN.
10595
10596 2011-05-21  Eric Blake  <eblake@redhat.com>
10597
10598         strerror_r: avoid clobbering strerror on cygwin
10599         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
10600         fall back instead to sys_errlist.
10601         * modules/strerror (configure.ac): Add witness.
10602         * tests/test-strerror_r.c (main): Enhance test.
10603         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10604         * tests/test-perror2.c (main): Free memory before exit.
10605
10606 2011-05-21  Bruno Haible  <bruno@clisp.org>
10607
10608         mkdtemp: Use gnulib naming conventions.
10609         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
10610         * modules/mkdtemp (configure.ac): Update.
10611
10612 2011-05-20  Eric Blake  <eblake@redhat.com>
10613
10614         strerror_r: avoid corrupting errno on Solaris
10615         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
10616         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10617
10618         strerror_r: avoid compiler warning
10619         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
10620
10621         strerror_r: simplify AIX code
10622         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
10623
10624         test-perror: avoid spurious failure on FreeBSD
10625         * modules/perror-tests (Depends-on): Add strerror, now that
10626         strerror_r no longer pulls it in.
10627
10628 2011-05-20  Bruno Haible  <bruno@clisp.org>
10629
10630         strerror_r-posix: Remove unused dependencies.
10631         * modules/strerror_r-posix (Depends-on): Remove strerror.
10632         Reported by Eric Blake.
10633
10634 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10635
10636         intprops: remove assumption about A|B representation
10637         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
10638         is a valid integer if both A and B are.  Although this is true for
10639         all known practical hosts, the C standard doesn't guarantee it,
10640         and the code need not assume it.  Also, this change may work around
10641         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
10642         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
10643
10644 2011-05-20  Eric Blake  <eblake@redhat.com>
10645
10646         perror: work around FreeBSD bug
10647         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
10648         is broken.  Move AC_LIBOBJ...
10649         * modules/perror (configure.ac): Here.
10650         * doc/posix-functions/perror.texi (perror): Document this.
10651         * tests/test-perror2.c (main): Enhance test.
10652
10653         test-perror: check for strerror interactions
10654         * tests/macros.h (STREQ): Add macro.
10655         * modules/perror-tests (Files): Add second test.
10656         * tests/test-perror2.c (main): New file.
10657         * doc/posix-functions/perror.texi (perror): Document glibc bug.
10658
10659         test-perror: rewrite to use init script
10660         * modules/perror-tests (Files): Add init.sh.
10661         * tests/test-perror.sh: Use temporary directory.
10662
10663 2011-05-20  Jim Meyering  <meyering@redhat.com>
10664
10665         maint: replace misused "a" with "an"
10666         * doc/intprops.texi: "a integer"
10667         * doc/regex.texi: "a explanation"
10668         * lib/alignof.h: "a object"
10669         * lib/argmatch.h: "a explanation"
10670         * lib/argp-help.c: "a option" and "a OPTION_DOC"
10671         * lib/stdint.in.h: "a integer"
10672         * lib/userspec.c: "a owner"
10673         * doc/gnulib.texi: Fix "a idea", and reword.
10674
10675 2011-05-19  Jim Meyering  <meyering@redhat.com>
10676
10677         maint: correct misuse of "a" and "an"
10678         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
10679         * lib/argp-help.c: "an docum...": s/an/a/
10680         * lib/argp-parse.c: "An vector": s/An/A/
10681         * lib/execute.c: "an native": s/an/a/
10682         * lib/spawn-pipe.c: Likewise.
10683         * lib/gc.h: "an Gc_rc": s/an/a/
10684         * lib/unigbrk.in.h: "an grapheme": s/an/a/
10685         * lib/fts.c: "an stat.st_dev": s/an/a/
10686
10687 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10688
10689         intprops-tests: work around HP-UX 11.23 cc bug with constants
10690         * tests/test-intprops.c (VERIFY): New macro.
10691         (main): Use it, instead of verify, to work around the compiler bug; see
10692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10693
10694         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
10695         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
10696         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
10697         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
10698         (_GL_REMAINDER_OVERFLOW): Use it.
10699
10700         intprops-tests: revert unsigned part of previous change
10701         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
10702         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
10703         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
10704         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
10705
10706 2011-05-19  Bruno Haible  <bruno@clisp.org>
10707
10708         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
10709         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
10710         strerror_r() returned without filling the buffer.
10711         Reported by Eric Blake.
10712
10713 2011-05-19  Eric Blake  <eblake@redhat.com>
10714
10715         strerror_r: guarantee unchanged errno
10716         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
10717         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
10718         failure.
10719         * tests/test-strerror_r.c (main): Enhance test.
10720
10721 2011-05-19  Bruno Haible  <bruno@clisp.org>
10722
10723         strerror_r: Reorder #if blocks.
10724         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
10725         for consistency with the previous commit.
10726
10727 2011-05-19  Bruno Haible  <bruno@clisp.org>
10728
10729         perror: Avoid clobbering the strerror buffer when possible.
10730         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
10731         * lib/strerror.c: Include it.
10732         * modules/strerror (Files): Add lib/strerror-impl.h.
10733         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
10734         (my_strerror): New function, defined through lib/strerror-impl.h.
10735         (perror): Use it instead of strerror.
10736         * modules/perror (Files): Add lib/strerror-impl.h.
10737         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
10738
10739 2011-05-19  Eric Blake  <eblake@redhat.com>
10740
10741         strerror_r: fix on newer cygwin
10742         * lib/strerror_r.c (strerror_r): Cygwin now has
10743         __xpg_strerror_r, use it.
10744
10745 2011-05-19  Bruno Haible  <bruno@clisp.org>
10746
10747         strerror_r: Avoid clobbering the strerror buffer when possible.
10748         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
10749         (sys_nerr, sys_errlist): New declarations.
10750         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
10751         HP-UX, native Win32, IRIX, and 32-bit Solaris.
10752         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
10753
10754 2011-05-19  Bruno Haible  <bruno@clisp.org>
10755
10756         strerror_r: Fix test failure on mingw.
10757         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
10758         EXTEND_STRERROR_R.
10759         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
10760         macros from errno.in.h instead.
10761
10762 2011-05-19  Eric Blake  <eblake@redhat.com>
10763
10764         strerror: relax test for Solaris
10765         * tests/test-strerror.c (main): Permit Solaris behavior.
10766         * tests/test-strerror_r.c (main): Likewise.
10767
10768         strerror: enforce POSIX ruling on strerror(0)
10769         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
10770         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10771         * lib/strerror_r.c (rpl_strerror_r): Work around it.
10772         * doc/posix-functions/strerror.texi (strerror): Document it.
10773         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
10774         * tests/test-strerror.c (main): Strengthen test.
10775         * tests/test-strerror_r.c (main): Likewise.
10776
10777 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10778
10779         intprop-tests: port to older and more-pedantic compilers
10780         * modules/intprops-tests (Files): Add tests/macros.h.
10781         * tests/test-intprops.c: Include macros.h.
10782         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
10783         it's no longer documented to expand to an integer constant expression.
10784         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
10785         argument is floating point, as it's no longer documented to expand
10786         to an integer constant expression in that case.
10787         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
10788         compiler bugs reported by Bruno Haible.  See
10789         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10790         (U0, U1): New constants, to work around the same bugs.  Also,
10791         in tests, use e.g., "(unsigned int) 39" rather than "39u".
10792
10793         intprops: work around C compiler bugs
10794         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
10795         bug in Sun C 5.11 2010/08/13 and other compilers; see
10796         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10797
10798         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
10799         * doc/intprops.texi (Integer Type Determination): Fix
10800         documentation for TYPE_IS_INTEGER: it returns an constant
10801         expression, not an integer constant expression.  Fix doc for
10802         TYPE_SIGNED: it returns an integer constant expression only if its
10803         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
10804         hardly worth documented that way....)
10805
10806 2011-05-18  Bruno Haible  <bruno@clisp.org>
10807
10808         strerror_r: Avoid clobbering the strerror buffer when possible.
10809         * lib/strerror_r.c (strerror_r): Merge the three implementations.
10810         Handle gnulib defined errno values here. When strerror() returns NULL
10811         or an empty string, return EINVAL.
10812         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
10813         gnulib defined errno values here.
10814         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
10815
10816 2011-05-18  Eric Blake  <eblake@redhat.com>
10817
10818         fnmatch: avoid compiler warning
10819         * lib/fnmatch_loop.c (FCT): Use correct type.
10820         Reported by Matthias Bolte.
10821
10822 2011-05-13  Jim Meyering  <meyering@redhat.com>
10823
10824         maint.mk: three new prohibit_<HDR>_without_use rules
10825         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
10826         (sc_prohibit_stdio-safer_without_use): Likewise.
10827         (sc_prohibit_xfreopen_without_use): Likewise.
10828
10829 2011-05-17  Jim Meyering  <meyering@redhat.com>
10830
10831         announce-gen: fail if the NEWS delta is empty
10832         If there's nothing noteworthy in NEWS, then either you forgot
10833         or you shouldn't be releasing.
10834         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
10835
10836 2011-05-17  Pádraig Brady <P@draigBrady.com>
10837
10838         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10839         reserved symbols starting with double underscore from the check.
10840
10841 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10842
10843         intprops: add doc
10844         * doc/intprops.texi: New file, documenting intprops.
10845         * doc/gnulib.texi (Particular Modules): Include it.
10846
10847         verify: add doc to gnulib manual and fix example
10848         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10849         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10850         (Compile-time Assertions): Fix example so it can't overflow.
10851
10852 2011-05-17  Jim Meyering  <meyering@redhat.com>
10853
10854         warnings.m4: don't usurp save_CPPFLAGS variable name
10855         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10856
10857         doc: fix typo
10858         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10859
10860 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10861             Bruno Haible  <bruno@clisp.org>
10862
10863         doc: Tweak recent change.
10864         * README (Portability guidelines): Tweak new text.
10865         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10866         Interix 6.1.
10867
10868 2011-05-16  Eric Blake  <eblake@redhat.com>
10869
10870         inttypes: avoid autoconf warning
10871         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10872         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10873
10874 2011-05-16  Sam Steingold <sds@gnu.org>
10875         and Eric Blake  <eblake@redhat.com>
10876
10877         vc-list-files: accept multiple directory operands
10878         * build-aux/vc-list-files: Iterate over all remaining operands.
10879
10880 2011-05-16  Bruno Haible  <bruno@clisp.org>
10881
10882         Fix confusion regarding deprecated modules.
10883         * modules/calloc (Status, Notice): Mark module as deprecated, not
10884         obsolete.
10885         * modules/fnmatch-posix (Status, Notice): Likewise.
10886         * modules/getdate (Status, Notice): Likewise.
10887         * modules/getopt (Status, Notice): Likewise.
10888         * modules/malloc (Status, Notice): Likewise.
10889         * modules/pipe (Status, Notice): Likewise.
10890         * modules/realloc (Status, Notice): Likewise.
10891         * modules/rename-dest-slash (Status, Notice): Likewise.
10892         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10893         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10894         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10895         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10896         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10897
10898 2011-05-16  Bruno Haible  <bruno@clisp.org>
10899
10900         doc: List the target platforms.
10901         * doc/gnulib-intro.texi (Target Platforms): New section.
10902         * doc/gnulib.texi (Introduction): Update menu.
10903         * README (Portability guidelines): Refer to the new section. Update
10904         statement about oldest supported environment. Remove rationale why
10905         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10906         unportable C89 function.
10907         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10908         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10909
10910 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10911
10912         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10913
10914 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10915
10916         intprops-tests: new module
10917         * modules/intprops-tests, tests/test-intprops.c: New files.
10918
10919         intprops: add safe, portable integer overflow checking
10920         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10921         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10922         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10923         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10924         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10925         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10926         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10927         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10928         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10929         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10930         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10931
10932 2011-05-12  James Youngman  <jay@gnu.org>
10933
10934         Add a test for glibc's Bugzilla bug #12378.
10935         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10936         doesn't allow the literal matching of a lone "[" (which is
10937         required by POSIX).
10938         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10939
10940 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10941
10942         Sync glibc change fixing Bugzilla bug #12378.
10943         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10944         beginning and fall back to matching as normal character if the
10945         string ends before the matching ']' is found.  This is what POSIX
10946         requires.
10947
10948 2011-05-13  Eric Blake  <eblake@redhat.com>
10949
10950         getcwd-lgpl: relax test for FreeBSD
10951         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10952         issue.
10953         * tests/test-getcwd-lgpl.c (main): Relax test.
10954         Reported by Matthias Bolte.
10955
10956 2011-05-11  Eric Blake  <eblake@redhat.com>
10957
10958         test-fflush: silence compiler warning
10959         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10960
10961 2011-05-11  Bruno Haible  <bruno@clisp.org>
10962
10963         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10964         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10965         * modules/canonicalize (Depends-on): Add 'nocrash'.
10966         * modules/canonicalize-lgpl (Depends-on): Likewise.
10967         * doc/posix-functions/realpath.texi: Update platforms list.
10968         Reported by Ryan Schmidt <ryandesign@macports.org>.
10969
10970 2011-05-11  Bruno Haible  <bruno@clisp.org>
10971
10972         group-member: Declare function in <unistd.h>.
10973         * lib/unistd.in.h (group_member): New declaration.
10974         * lib/group-member.h: Remove file.
10975         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10976         * tests/test-unistd-c++.cc: Check signature of group_member.
10977         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10978         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10979         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10980         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10981         HAVE_GROUP_MEMBER.
10982         * modules/group-member (Files): Remove lib/group-member.h.
10983         (Depends-on): Add unistd. Specify conditions.
10984         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10985         (Include): Change to <unistd.h>.
10986         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10987         HAVE_GROUP_MEMBER.
10988         * NEWS: Mention the change.
10989         * lib/euidaccess.c: Don't include group-member.h.
10990
10991 2011-05-11  Bruno Haible  <bruno@clisp.org>
10992
10993         group-member: Document module.
10994         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10995         module.
10996
10997 2011-05-11  Bruno Haible  <bruno@clisp.org>
10998
10999         fclose: Fix mistake earlier today.
11000         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
11001
11002 2011-05-11  Eric Blake  <eblake@redhat.com>
11003
11004         fclose: preserve fflush errors
11005         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
11006         Reported by Jim Meyering.
11007
11008         bootstrap: support a prereq of 'rpcgen -' on RHEL5
11009         * build-aux/bootstrap (check_versions): When no specific version
11010         is required, merely check that the app produces an exit status
11011         that indicates its existence.
11012
11013         maint.mk: drop redundant check
11014         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
11015         the same but better.
11016
11017 2011-05-11  Bruno Haible  <bruno@clisp.org>
11018
11019         fclose: Fix possible link error.
11020         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
11021         unregister_shadow_fd. Improve comments.
11022         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
11023         Eric Blake.
11024
11025 2011-05-11  Jim Meyering  <meyering@redhat.com>
11026
11027         maint.mk: improve "can not" detection and generalize rule name
11028         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
11029         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
11030         Use the same technique as in sc_prohibit_doubled_word, so that
11031         we recognize "can not" also when the words are separated by a newline.
11032         Suggested by Eric Blake.
11033         (perl_filename_lineno_text_): Define.  Factored out of...
11034         (prohibit_doubled_word_): ...here.  Use the new definition.
11035         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
11036         (prohibit_undesirable_word_seq_RE_): New overridable variable.
11037         (ignore_undesirable_word_sequence_RE_): New overridable variable.
11038
11039 2011-05-10  Eric Blake  <eblake@redhat.com>
11040
11041         fclose: avoid double close race when possible
11042         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
11043         all but WINDOWS_SOCKETS.
11044
11045 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
11046
11047         openat: correct new comment
11048         * lib/openat-proc.c (openat_proc_name): Correct the comment.
11049
11050 2011-05-10  Jim Meyering  <meyering@redhat.com>
11051
11052         openat: add comments
11053         * lib/openat-proc.c (openat_proc_name): Add comments,
11054         mostly from Eric Blake.
11055
11056 2011-05-09  Eric Blake  <eblake@redhat.com>
11057
11058         openat: reduce syscalls in first probe of /proc
11059         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
11060         be a directory.  Simplify the probe for .. bugs.
11061         * modules/openat (Depends-on): Drop same-inode.
11062         Reported by Bastien ROUCARIES.
11063
11064 2011-05-09  Jim Meyering  <meyering@redhat.com>
11065
11066         maint.mk: change semantics/name of tight_scope variables
11067         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
11068         Rename variables to align with semantics that make them more useful.
11069
11070         maint.mk: tweak new rule's name not to impinge
11071         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
11072         (sc_tight_scope): Use new rule name rather than $@-0.
11073
11074         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
11075         * top/maint.mk (sc_tight_scope): New rule.
11076         (sc_tight_scope-0): New rule, ifdef'd out.
11077         (_gl_TS_dir): Default.
11078         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
11079         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
11080
11081 2011-05-09  Simon Josefsson  <simon@josefsson.org>
11082
11083         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
11084         Haible <bruno@clisp.org>.
11085
11086 2011-05-08  Bruno Haible  <bruno@clisp.org>
11087
11088         Comments.
11089         * m4/isnanf.m4: Add comment.
11090         * m4/isnanl.m4: Likewise.
11091
11092 2011-05-08  Bruno Haible  <bruno@clisp.org>
11093
11094         glob: Remove obsolete macro.
11095         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
11096
11097 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11098
11099         intprops: Sun C 5.11 supports __typeof__
11100         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
11101         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
11102         which is new.
11103         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
11104
11105         intprops: switch to usual gnulib indenting and naming
11106         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
11107         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
11108
11109         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
11110
11111 2011-05-08  Jim Meyering  <meyering@redhat.com>
11112
11113         maint.mk: suppress "Entering/Leaving directory" diag in announcement
11114         * top/maint.mk (release-prep): Use make's --no-print-directory
11115         option when generating the announcement.  This eliminates the
11116         pesky "make[2]: Entering/Leaving directory" diagnostics in the
11117         generated announcement template.
11118
11119 2011-05-08  Bruno Haible  <bruno@clisp.org>
11120
11121         tzset: Fix gettimeofday wrapper on Solaris 2.6.
11122         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
11123         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
11124
11125 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
11126
11127         ignore-value, verify: Omit include files from lib_SOURCES.
11128         * modules/ignore-value, modules/verify (Makefile.am):
11129         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
11130         that leads Automake to duplicate use of am__objects_... variables
11131         in Makefile.in.  See
11132         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
11133
11134 2011-05-07  Bruno Haible  <bruno@clisp.org>
11135
11136         fclose: Simplify autoconf macro.
11137         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
11138         defined.
11139
11140 2011-05-07  Bruno Haible  <bruno@clisp.org>
11141
11142         canonicalize-lgpl: Fix autoconf macro ordering bug.
11143         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
11144         gl_STDLIB_H_DEFAULTS.
11145
11146 2011-05-06  Eric Blake  <eblake@redhat.com>
11147
11148         maintainer-makefile: make sc_po_check easier to tune
11149         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
11150         to probe for strings, such as an alternate location for gnulib.
11151
11152         fclose: guarantee behavior on seekable stdin
11153         * modules/fclose (Depends-on): Add fflush.
11154         * doc/posix-functions/fclose.texi (fclose): Document this.
11155         * tests/test-fclose.c (main): Make test for this unconditional.
11156
11157 2011-05-06  Bruno Haible  <bruno@clisp.org>
11158
11159         fflush, fpurge: Relicense under LGPLv2+.
11160         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
11161         * modules/fpurge (License): Likewise.
11162         With permission from Eric Blake and Jim Meyering.
11163         Suggested by Eric Blake.
11164
11165 2011-05-06  Karl Berry  <karl@gnu.org>
11166
11167         * MODULES.html.sh (func_all_modules): remove exit.
11168
11169 2011-05-06  Jim Meyering  <meyering@redhat.com>
11170
11171         maint.mk: use info-gnu@ as the default only for a stable release
11172         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
11173         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
11174         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
11175         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
11176
11177 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11178
11179         assert-h: new module, which supports C1X-style static_assert
11180         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
11181         * lib/verify.h: Revamp so that this can be copied into assert.h,
11182         while retaining the ability to use it standalone as before.
11183         Rename private identifiers so as not to encroach on the
11184         standard C namespace, since this is now used by assert.h.
11185         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
11186         the old verify_true.
11187         (_GL_VERIFY_TRUE): New macro, with much of the contents of
11188         the old verify_true.  Use _GL_VERIFY_TYPE.
11189         (_GL_VERIFY): New macro, with much of the contents of the old verify.
11190         (static_assert): New macro, if _GL_STATIC_ASSERT_H
11191         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
11192         defined when this file is copied into the replacement assert.h.
11193         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
11194         and _Static_assert is not built in.
11195         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
11196         defined, and use the new macros mentioned above.
11197         * doc/posix-headers/assert.texi: Document this.
11198
11199 2011-05-05  Bruno Haible  <bruno@clisp.org>
11200
11201         fclose, fflush: Respect rules for use of AC_LIBOBJ.
11202         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
11203         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
11204         gl_REPLACE_FCLOSE here.
11205         * modules/fflush (Depends-on): Remove fclose.
11206         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
11207         combination with module 'fclose'.
11208
11209 2011-05-05  Bruno Haible  <bruno@clisp.org>
11210
11211         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
11212         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
11213         gl_FUNC_FFLUSH.
11214         (gl_FUNC_FFLUSH): Use it.
11215         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
11216         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
11217         gl_REPLACE_FSEEKO here.
11218
11219 2011-05-05  Bruno Haible  <bruno@clisp.org>
11220
11221         tzset: Relicense under LGPL.
11222         * modules/tzset (License): Change to LGPL.
11223         No agreement needed; it's a no-op.
11224
11225         strtoimax, strtoumax: Relicense under LGPL.
11226         * modules/strtoimax (License): Change to LGPL.
11227         * modules/strtoumax (License): Likewise.
11228         With permission from Jim Meyering, Paul Eggert:
11229         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
11230         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
11231
11232         getgroups: Relicense under LGPL.
11233         * modules/getgroups (License): Change to LGPL.
11234         With permission from Jim Meyering, Paul Eggert, Eric Blake:
11235         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
11236         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
11237         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
11238
11239         nanosleep: Relicense under LGPL.
11240         * modules/nanosleep (License): Change to LGPL.
11241         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
11242         Haible:
11243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
11244         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
11245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
11246         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
11247
11248         futimens: Relicense under LGPL.
11249         * modules/futimens (License): Change to LGPL.
11250         With permission from Eric Blake:
11251         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
11252
11253         fflush: Relicense under LGPL.
11254         * modules/fflush (License): Change to LGPL.
11255         With permission from Eric Blake, Bruno Haible, Jim Meyering:
11256         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
11257         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
11258         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
11259
11260         tmpfile: Relicense under LGPL.
11261         * modules/tmpfile (License): Change to LGPL.
11262         With permission from Ben Pfaff:
11263         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
11264
11265         isfinite: Relicense under LGPL.
11266         * modules/isfinite (License): Change to LGPL.
11267         With permission from Ben Pfaff, Bruno Haible:
11268         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
11269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
11270
11271         acosl..tanl: Relicense under LGPL.
11272         * modules/acosl (License): Change to LGPL.
11273         * modules/asinl (License): Likewise.
11274         * modules/atanl (License): Likewise.
11275         * modules/cosl (License): Likewise.
11276         * modules/expl (License): Likewise.
11277         * modules/logl (License): Likewise.
11278         * modules/sinl (License): Likewise.
11279         * modules/sqrtl (License): Likewise.
11280         * modules/tanl (License): Likewise.
11281         Source code originally from glibc and Paolo Bonzini. Agreements:
11282         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
11283         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
11284
11285 2011-05-05  Bruno Haible  <bruno@clisp.org>
11286
11287         signal: Define sighandler_t.
11288         * lib/signal.in.h (sighandler_t): New type.
11289         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
11290         whether sighandler_t is defined.
11291         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
11292         * modules/signal (Depends-on): Add extensions.
11293         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
11294         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
11295         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
11296
11297 2011-05-05  Eric Blake  <eblake@redhat.com>
11298
11299         maint: remove useless REPLACE_*_H macros
11300         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
11301         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
11302         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
11303         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
11304         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
11305         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
11306         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
11307         * m4/btowc.m4: Update callers.
11308         * m4/dirfd.m4: Likewise.
11309         * m4/duplocale.m4: Likewise.
11310         * m4/fchdir.m4: Likewise.
11311         * m4/fdopendir.m4: Likewise.
11312         * m4/inet_ntop.m4: Likewise.
11313         * m4/inet_pton.m4: Likewise.
11314         * m4/ioctl.m4: Likewise.
11315         * m4/mbrlen.m4: Likewise.
11316         * m4/mbrtowc.m4: Likewise.
11317         * m4/mbsinit.m4: Likewise.
11318         * m4/mbsnrtowcs.m4: Likewise.
11319         * m4/mbsrtowcs.m4: Likewise.
11320         * m4/poll.m4: Likewise.
11321         * m4/setlocale.m4: Likewise.
11322         * m4/wcrtomb.m4: Likewise.
11323         * m4/wcsnrtombs.m4: Likewise.
11324         * m4/wcsrtombs.m4: Likewise.
11325         * m4/wctob.m4: Likewise.
11326         * m4/wcwidth.m4: Likewise.
11327         * modules/posix_spawn: Likewise.
11328         * modules/posix_spawn_file_actions_addclose: Likewise.
11329         * modules/posix_spawn_file_actions_adddup2: Likewise.
11330         * modules/posix_spawn_file_actions_addopen: Likewise.
11331         * modules/posix_spawn_file_actions_destroy: Likewise.
11332         * modules/posix_spawn_file_actions_init: Likewise.
11333         * modules/posix_spawnattr_destroy: Likewise.
11334         * modules/posix_spawnattr_getflags: Likewise.
11335         * modules/posix_spawnattr_getpgroup: Likewise.
11336         * modules/posix_spawnattr_getschedparam: Likewise.
11337         * modules/posix_spawnattr_getschedpolicy: Likewise.
11338         * modules/posix_spawnattr_getsigdefault: Likewise.
11339         * modules/posix_spawnattr_getsigmask: Likewise.
11340         * modules/posix_spawnattr_init: Likewise.
11341         * modules/posix_spawnattr_setflags: Likewise.
11342         * modules/posix_spawnattr_setpgroup: Likewise.
11343         * modules/posix_spawnattr_setschedparam: Likewise.
11344         * modules/posix_spawnattr_setschedpolicy: Likewise.
11345         * modules/posix_spawnattr_setsigdefault: Likewise.
11346         * modules/posix_spawnattr_setsigmask: Likewise.
11347         * modules/posix_spawnp: Likewise.
11348
11349 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
11350
11351         Add option to do-release-commit-and-tag to specify branch.
11352         * build-aux/do-release-commit-and-tag: Add --branch.
11353
11354 2011-05-03  Bruno Haible  <bruno@clisp.org>
11355
11356         Avoid unnecessary compilation units, through conditional dependencies.
11357         * modules/accept (Depends-on): Add conditions to the dependencies.
11358         * modules/acosl (Depends-on): Likewise.
11359         * modules/argz (Depends-on): Likewise.
11360         * modules/asinl (Depends-on): Likewise.
11361         * modules/atanl (Depends-on): Likewise.
11362         * modules/atoll (Depends-on): Likewise.
11363         * modules/bind (Depends-on): Likewise.
11364         * modules/btowc (Depends-on): Likewise.
11365         * modules/canonicalize-lgpl (Depends-on): Likewise.
11366         * modules/ceil (Depends-on): Likewise.
11367         * modules/ceilf (Depends-on): Likewise.
11368         * modules/ceill (Depends-on): Likewise.
11369         * modules/chdir-long (Depends-on): Likewise.
11370         * modules/chown (Depends-on): Likewise.
11371         * modules/close (Depends-on): Likewise.
11372         * modules/connect (Depends-on): Likewise.
11373         * modules/cosl (Depends-on): Likewise.
11374         * modules/dirfd (Depends-on): Likewise.
11375         * modules/dprintf (Depends-on): Likewise.
11376         * modules/dprintf-posix (Depends-on): Likewise.
11377         * modules/error (Depends-on): Likewise.
11378         * modules/euidaccess (Depends-on): Likewise.
11379         * modules/expl (Depends-on): Likewise.
11380         * modules/faccessat (Depends-on): Likewise.
11381         * modules/fchdir (Depends-on): Likewise.
11382         * modules/fclose (Depends-on): Likewise.
11383         * modules/fcntl (Depends-on): Likewise.
11384         * modules/fdopendir (Depends-on): Likewise.
11385         * modules/fflush (Depends-on): Likewise.
11386         * modules/floor (Depends-on): Likewise.
11387         * modules/floorf (Depends-on): Likewise.
11388         * modules/floorl (Depends-on): Likewise.
11389         * modules/fnmatch (Depends-on): Likewise.
11390         * modules/fopen (Depends-on): Likewise.
11391         * modules/fprintf-posix (Depends-on): Likewise.
11392         * modules/frexp (Depends-on): Likewise.
11393         * modules/frexp-nolibm (Depends-on): Likewise.
11394         * modules/frexpl (Depends-on): Likewise.
11395         * modules/frexpl-nolibm (Depends-on): Likewise.
11396         * modules/fseek (Depends-on): Likewise.
11397         * modules/fsusage (Depends-on): Likewise.
11398         * modules/ftell (Depends-on): Likewise.
11399         * modules/ftello (Depends-on): Likewise.
11400         * modules/futimens (Depends-on): Likewise.
11401         * modules/getcwd (Depends-on): Likewise.
11402         * modules/getcwd-lgpl (Depends-on): Likewise.
11403         * modules/getdelim (Depends-on): Likewise.
11404         * modules/getdomainname (Depends-on): Likewise.
11405         * modules/getgroups (Depends-on): Likewise.
11406         * modules/gethostname (Depends-on): Likewise.
11407         * modules/getline (Depends-on): Likewise.
11408         * modules/getlogin_r (Depends-on): Likewise.
11409         * modules/getopt-posix (Depends-on): Likewise.
11410         * modules/getpeername (Depends-on): Likewise.
11411         * modules/getsockname (Depends-on): Likewise.
11412         * modules/getsockopt (Depends-on): Likewise.
11413         * modules/getsubopt (Depends-on): Likewise.
11414         * modules/getusershell (Depends-on): Likewise.
11415         * modules/glob (Depends-on): Likewise.
11416         * modules/grantpt (Depends-on): Likewise.
11417         * modules/iconv_open (Depends-on): Likewise.
11418         * modules/iconv_open-utf (Depends-on): Likewise.
11419         * modules/inet_ntop (Depends-on): Likewise.
11420         * modules/inet_pton (Depends-on): Likewise.
11421         * modules/ioctl (Depends-on): Likewise.
11422         * modules/isapipe (Depends-on): Likewise.
11423         * modules/isfinite (Depends-on): Likewise.
11424         * modules/isinf (Depends-on): Likewise.
11425         * modules/lchown (Depends-on): Likewise.
11426         * modules/ldexpl (Depends-on): Likewise.
11427         * modules/link (Depends-on): Likewise.
11428         * modules/linkat (Depends-on): Likewise.
11429         * modules/listen (Depends-on): Likewise.
11430         * modules/logl (Depends-on): Likewise.
11431         * modules/lstat (Depends-on): Likewise.
11432         * modules/mbrlen (Depends-on): Likewise.
11433         * modules/mbrtowc (Depends-on): Likewise.
11434         * modules/mbsinit (Depends-on): Likewise.
11435         * modules/mbsnrtowcs (Depends-on): Likewise.
11436         * modules/mbsrtowcs (Depends-on): Likewise.
11437         * modules/mbtowc (Depends-on): Likewise.
11438         * modules/memcmp (Depends-on): Likewise.
11439         * modules/mkdir (Depends-on): Likewise.
11440         * modules/mkdtemp (Depends-on): Likewise.
11441         * modules/mkfifo (Depends-on): Likewise.
11442         * modules/mkfifoat (Depends-on): Likewise.
11443         * modules/mknod (Depends-on): Likewise.
11444         * modules/mkostemp (Depends-on): Likewise.
11445         * modules/mkostemps (Depends-on): Likewise.
11446         * modules/mkstemp (Depends-on): Likewise.
11447         * modules/mkstemps (Depends-on): Likewise.
11448         * modules/mktime (Depends-on): Likewise.
11449         * modules/nanosleep (Depends-on): Likewise.
11450         * modules/open (Depends-on): Likewise.
11451         * modules/openat (Depends-on): Likewise.
11452         * modules/perror (Depends-on): Likewise.
11453         * modules/poll (Depends-on): Likewise.
11454         * modules/popen (Depends-on): Likewise.
11455         * modules/posix_spawn (Depends-on): Likewise.
11456         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
11457         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
11458         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
11459         * modules/posix_spawnp (Depends-on): Likewise.
11460         * modules/pread (Depends-on): Likewise.
11461         * modules/printf-posix (Depends-on): Likewise.
11462         * modules/ptsname (Depends-on): Likewise.
11463         * modules/putenv (Depends-on): Likewise.
11464         * modules/pwrite (Depends-on): Likewise.
11465         * modules/readline (Depends-on): Likewise.
11466         * modules/readlink (Depends-on): Likewise.
11467         * modules/readlinkat (Depends-on): Likewise.
11468         * modules/recv (Depends-on): Likewise.
11469         * modules/recvfrom (Depends-on): Likewise.
11470         * modules/regex (Depends-on): Likewise.
11471         * modules/remove (Depends-on): Likewise.
11472         * modules/rename (Depends-on): Likewise.
11473         * modules/renameat (Depends-on): Likewise.
11474         * modules/rmdir (Depends-on): Likewise.
11475         * modules/round (Depends-on): Likewise.
11476         * modules/roundf (Depends-on): Likewise.
11477         * modules/roundl (Depends-on): Likewise.
11478         * modules/rpmatch (Depends-on): Likewise.
11479         * modules/select (Depends-on): Likewise.
11480         * modules/send (Depends-on): Likewise.
11481         * modules/sendto (Depends-on): Likewise.
11482         * modules/setenv (Depends-on): Likewise.
11483         * modules/setlocale (Depends-on): Likewise.
11484         * modules/setsockopt (Depends-on): Likewise.
11485         * modules/shutdown (Depends-on): Likewise.
11486         * modules/sigaction (Depends-on): Likewise.
11487         * modules/signbit (Depends-on): Likewise.
11488         * modules/sigprocmask (Depends-on): Likewise.
11489         * modules/sinl (Depends-on): Likewise.
11490         * modules/sleep (Depends-on): Likewise.
11491         * modules/snprintf (Depends-on): Likewise.
11492         * modules/snprintf-posix (Depends-on): Likewise.
11493         * modules/socket (Depends-on): Likewise.
11494         * modules/sprintf-posix (Depends-on): Likewise.
11495         * modules/sqrtl (Depends-on): Likewise.
11496         * modules/stat (Depends-on): Likewise.
11497         * modules/strchrnul (Depends-on): Likewise.
11498         * modules/strdup-posix (Depends-on): Likewise.
11499         * modules/strerror (Depends-on): Likewise.
11500         * modules/strerror_r-posix (Depends-on): Likewise.
11501         * modules/strndup (Depends-on): Likewise.
11502         * modules/strnlen (Depends-on): Likewise.
11503         * modules/strptime (Depends-on): Likewise.
11504         * modules/strsep (Depends-on): Likewise.
11505         * modules/strsignal (Depends-on): Likewise.
11506         * modules/strstr-simple (Depends-on): Likewise.
11507         * modules/strtod (Depends-on): Likewise.
11508         * modules/strtoimax (Depends-on): Likewise.
11509         * modules/strtok_r (Depends-on): Likewise.
11510         * modules/strtoumax (Depends-on): Likewise.
11511         * modules/symlink (Depends-on): Likewise.
11512         * modules/symlinkat (Depends-on): Likewise.
11513         * modules/tanl (Depends-on): Likewise.
11514         * modules/tcgetsid (Depends-on): Likewise.
11515         * modules/tmpfile (Depends-on): Likewise.
11516         * modules/trunc (Depends-on): Likewise.
11517         * modules/truncf (Depends-on): Likewise.
11518         * modules/truncl (Depends-on): Likewise.
11519         * modules/uname (Depends-on): Likewise.
11520         * modules/unlink (Depends-on): Likewise.
11521         * modules/unlockpt (Depends-on): Likewise.
11522         * modules/unsetenv (Depends-on): Likewise.
11523         * modules/usleep (Depends-on): Likewise.
11524         * modules/utimensat (Depends-on): Likewise.
11525         * modules/vasprintf (Depends-on): Likewise.
11526         * modules/vdprintf (Depends-on): Likewise.
11527         * modules/vdprintf-posix (Depends-on): Likewise.
11528         * modules/vfprintf-posix (Depends-on): Likewise.
11529         * modules/vprintf-posix (Depends-on): Likewise.
11530         * modules/vsnprintf (Depends-on): Likewise.
11531         * modules/vsnprintf-posix (Depends-on): Likewise.
11532         * modules/vsprintf-posix (Depends-on): Likewise.
11533         * modules/wcrtomb (Depends-on): Likewise.
11534         * modules/wcscasecmp (Depends-on): Likewise.
11535         * modules/wcscspn (Depends-on): Likewise.
11536         * modules/wcsdup (Depends-on): Likewise.
11537         * modules/wcsncasecmp (Depends-on): Likewise.
11538         * modules/wcsnrtombs (Depends-on): Likewise.
11539         * modules/wcspbrk (Depends-on): Likewise.
11540         * modules/wcsrtombs (Depends-on): Likewise.
11541         * modules/wcsspn (Depends-on): Likewise.
11542         * modules/wcsstr (Depends-on): Likewise.
11543         * modules/wcstok (Depends-on): Likewise.
11544         * modules/wcswidth (Depends-on): Likewise.
11545         * modules/wctob (Depends-on): Likewise.
11546         * modules/wctomb (Depends-on): Likewise.
11547         * modules/wctype (Depends-on): Likewise.
11548         * modules/wcwidth (Depends-on): Likewise.
11549         * modules/write (Depends-on): Likewise.
11550
11551 2011-05-03  Bruno Haible  <bruno@clisp.org>
11552
11553         Support for conditional dependencies.
11554         * doc/gnulib.texi (Module description): Document the syntax of
11555         conditional dependencies.
11556         * gnulib-tool: New option --conditional-dependencies.
11557         (func_usage): Document it.
11558         (cond_dependencies): New variable.
11559         (func_get_automake_snippet_conditional,
11560         func_get_automake_snippet_unconditional): New functions, extracted from
11561         func_get_automake_snippet.
11562         (func_get_automake_snippet): Use them.
11563         (sed_first_32_chars): New variable.
11564         (func_module_shellfunc_name): New function.
11565         (func_module_shellvar_name): New function.
11566         (func_module_conditional_name): New function.
11567         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
11568         func_cond_module_condition): New functions.
11569         (func_modules_transitive_closure): Add support for conditional
11570         dependencies.
11571         (func_emit_lib_Makefile_am): For a conditional module, enclose the
11572         conditional automake snippet in an automake conditional.
11573         (func_emit_autoconf_snippets): Emit shell functions that contain the
11574         code for conditional modules.
11575         (func_import, func_create_testdir): Update specification.
11576
11577 2011-05-03  Eric Blake  <eblake@redhat.com>
11578
11579         test-getaddrinfo: report error information
11580         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
11581
11582 2011-05-03  Jim Meyering  <meyering@redhat.com>
11583
11584         bootstrap: avoid build failure when $GZIP is set
11585         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
11586         program name.  If defined at all, it is supposed to list gzip options.
11587         Reported by Alan Curry in http://debbugs.gnu.org/8609
11588
11589 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
11590
11591         readme-release: new module with release instructions
11592         * modules/readme-release: New module.
11593         * top/README-release: New file, from coreutils, grep, diffutils.
11594         * MODULES.html.sh (Support for maintaining and releasing): Add it.
11595
11596 2011-05-02  Eric Blake  <eblake@redhat.com>
11597
11598         fflush: also replace fclose when fixing fflush
11599         * modules/fflush (Depends-on): Add fclose.
11600         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
11601         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
11602         memstreams with no backing fd.
11603         * doc/posix-functions/fclose.texi (fclose): Document the use of
11604         fflush module to fix the bug.
11605         * tests/test-fclose.c (main): Relax test when fclose is used in
11606         isolation.
11607
11608         fclose: add some tests
11609         * modules/fclose-tests: New test module.
11610         * tests/test-fclose.c: New file.
11611         * doc/posix-functions/fclose.texi (fclose): Document the bug.
11612
11613         fclose: reduced dependencies
11614         * modules/fclose (Depends-on): Switch from fflush/fseeko to
11615         simpler lseek.
11616         * lib/fclose.c (rpl_fclose): Likewise.
11617         Reported by Simon Josefsson.
11618
11619         exit: drop remaining clients
11620         * modules/argmatch (Depends-on): Replace exit with stdlib.
11621         * modules/copy-file (Depends-on): Likewise.
11622         * modules/execute (Depends-on): Likewise.
11623         * modules/exitfail (Depends-on): Likewise.
11624         * modules/obstack (Depends-on): Likewise.
11625         * modules/pagealign_alloc (Depends-on): Likewise.
11626         * modules/pipe-filter-gi (Depends-on): Likewise.
11627         * modules/pipe-filter-ii (Depends-on): Likewise.
11628         * modules/savewd (Depends-on): Likewise.
11629         * modules/spawn-pipe (Depends-on): Likewise.
11630         * modules/wait-process (Depends-on): Likewise.
11631         * modules/xsetenv (Depends-on): Likewise.
11632         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
11633         * modules/git-merge-changelog (Depends-on): Likewise.
11634         * modules/long-options (Depends-on): Likewise.
11635         * modules/pt_chown (Depends-on): Likewise.
11636         * modules/sysexits (Depends-on): Likewise.
11637
11638         freading: relax license from LGPLv3+ to LGPLv2+
11639         * modules/freading (License): Relax LGPL version.
11640
11641 2011-05-02  Bruno Haible  <bruno@clisp.org>
11642
11643         fchdir: Remove unused dependencies.
11644         * modules/fchdir (Depends-on): Remove include_next.
11645
11646 2011-05-02  Bruno Haible  <bruno@clisp.org>
11647
11648         gnulib-tool: Refactor.
11649         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
11650         from func_emit_autoconf_snippets.
11651         (func_emit_autoconf_snippets): Use it.
11652
11653 2011-05-02  Simon Josefsson  <simon@josefsson.org>
11654
11655         * NEWS: Document removal of 'exit'.
11656         * modules/exit: Remove file.
11657
11658 2011-05-01  Bruno Haible  <bruno@clisp.org>
11659
11660         Update DEPENDENCIES.
11661         * DEPENDENCIES (gettext): Recommend the newest release.
11662         Reported by Simon Josefsson.
11663
11664 2011-05-01  Bruno Haible  <bruno@clisp.org>
11665
11666         gnulib-tool: Reduce code duplication.
11667         * gnulib-tool (func_emit_autoconf_snippets): New function.
11668         (func_import, func_create_testdir): Use it.
11669
11670 2011-04-30  Eric Blake  <eblake@redhat.com>
11671
11672         fclose: don't fail on non-seekable input stream
11673         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
11674         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
11675         since fflush is allowed to fail in that case.
11676
11677 2011-04-30  Bruno Haible  <bruno@clisp.org>
11678
11679         dup3: cleanup
11680         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
11681
11682 2011-04-30  Bruno Haible  <bruno@clisp.org>
11683
11684         netdb: Make it work in C++ mode.
11685         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
11686         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
11687         module.
11688         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
11689         gl_MODULE_INDICATOR_FOR_TESTS.
11690         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
11691         * modules/netdb-c++-tests: New file.
11692         * tests/test-netdb-c++.cc: New file.
11693
11694 2011-04-30  Bruno Haible  <bruno@clisp.org>
11695
11696         New modules 'vfscanf', 'vscanf'.
11697         * modules/vfscanf: New file.
11698         * modules/vscanf: New file.
11699         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
11700         here.
11701         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
11702         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
11703
11704 2011-04-30  Bruno Haible  <bruno@clisp.org>
11705
11706         passfd: Add comments.
11707         * lib/passfd.c: Add comments about platforms.
11708
11709 2011-04-30  Bruno Haible  <bruno@clisp.org>
11710
11711         sys_uio: Make <sys/uio.h> self-contained.
11712         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
11713         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
11714
11715 2011-04-30  Bruno Haible  <bruno@clisp.org>
11716
11717         sys_socket: Ensure 'struct iovec' definition.
11718         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
11719         <sys/socket.h>.
11720         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
11721
11722 2011-04-30  Bruno Haible  <bruno@clisp.org>
11723
11724         sys_uio: Protect definition of 'struct iovec'.
11725         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
11726         it as a C struct.
11727
11728 2011-04-30  Bruno Haible  <bruno@clisp.org>
11729
11730         manywarnings: fix indentation
11731         * m4/manywarnings.m4: Indent by 2 spaces consistently.
11732
11733 2011-04-30  Pádraig Brady <P@draigBrady.com>
11734
11735         manywarnings: add -Wno-missing-field-initializers if needed.
11736         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
11737         option if it's needed to allow initialization with { 0, }
11738
11739 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
11740
11741         announce-gen: cosmetic improvement
11742         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
11743
11744 2011-04-29  Jim Meyering  <meyering@redhat.com>
11745
11746         vc-list-files: indent with spaces, not TABs
11747         * build-aux/vc-list-files: Convert leading TABs to spaces,
11748         to match the style of most other files in gnulib.
11749
11750         announce-gen: indent with spaces, not TABs
11751         * build-aux/announce-gen: Convert all TABs to spaces, to match
11752         the style of most other files in gnulib.
11753
11754 2011-04-29  Eric Blake  <eblake@redhat.com>
11755
11756         quotearg: avoid uninitialized variable use
11757         * lib/quotearg.c (quoting_options_from_style): Initialize
11758         remaining fields, and ensure that custom styles are only used via
11759         quoting_options rather than quoting_style.
11760
11761 2011-04-29  Jim Meyering  <meyering@redhat.com>
11762
11763         maint.mk: remove unused VC-tag variable
11764         * top/maint.mk (VC-tag): Remove unused variable.
11765
11766 2011-04-29  Bruno Haible  <bruno@clisp.org>
11767
11768         netdb: fix gai_strerror replacements
11769         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
11770         * modules/netdb: Substitute it.
11771
11772 2011-04-29  Jim Meyering  <meyering@redhat.com>
11773
11774         test-getcwd.c: avoid new set-but-not-used warning
11775         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
11776         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
11777         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
11778         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
11779
11780         test-hash.c: avoid a new shadowing warning
11781         * tests/test-hash.c (main): Don't shadow "dup".
11782
11783 2011-04-28  Eric Blake  <eblake@redhat.com>
11784
11785         getaddrinfo: fix gai_strerror signature
11786         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
11787         and work around mingw with UNICODE defined.
11788         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
11789         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
11790         * modules/netdb (Makefile.am): Substitute it.
11791         * lib/netdb.in.h (gai_strerror): Declare replacement.
11792         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
11793         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
11794         the fix.
11795
11796         getsockopt: avoid compiler warning
11797         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
11798         Reported by Matthias Bolte.
11799
11800         tests: drop unused link dependency
11801         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
11802         * modules/dirent-safer-tests (Makefile.am): Likewise.
11803         * modules/fdopendir-tests (Makefile.am): Likewise.
11804         * modules/mkfifoat-tests (Makefile.am): Likewise.
11805         * modules/openat-safer-tests (Makefile.am): Likewise.
11806         * modules/openat-tests (Makefile.am): Likewise.
11807         * modules/readlinkat-tests (Makefile.am): Likewise.
11808         * modules/symlinkat-tests (Makefile.am): Likewise.
11809         * modules/linkat-tests (Makefile.am): Likewise.
11810         (Depends-on): Switch to filenamecat-lgpl.
11811         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
11812         LIBINTL.
11813         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
11814         * tests/test-linkat.c (main): Don't require xalloc.
11815
11816         hash, mgetgroups: drop xalloc dependency
11817         * lib/hash.c (includes): Adjust includes.
11818         * lib/mgetgroups.c (includes): Likewise.
11819         (xgetgroups): Move...
11820         * lib/xgetgroups.c: ...to new file.
11821         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
11822         * modules/xgetgroups: New file, split from...
11823         * modules/mgetgroups: ...here.
11824         (Depends-on): Add xalloc-oversized.
11825         * modules/hash (Depends-on): Likewise.
11826         * modules/hash-tests (Depends-on): Drop xalloc.
11827         (test_hash_LDADD): Drop unused library.
11828         * tests/test-hash.c (main): Break xalloc dependency.
11829         (includes): Drop unused include.
11830
11831         xalloc-oversized: new module
11832         * modules/xalloc-oversized: New module.
11833         * modules/xalloc (Depends-on): Add it.
11834         * lib/xalloc.h (xalloc_oversized): Move...
11835         * lib/xalloc-oversized.h: ...into new file.
11836
11837         utimecmp: drop dependency on xmalloc
11838         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11839         due to memory pressure.
11840         * modules/utimecmp (Depends-on): Drop xalloc.
11841
11842 2011-04-27  Eric Blake  <eblake@redhat.com>
11843
11844         getcwd: fix mingw bugs
11845         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11846         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11847         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11848
11849 2011-04-27  Bruno Haible  <bruno@clisp.org>
11850
11851         mkstemps: Ensure declaration on MacOS X 10.5.
11852         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11853         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11854         MacOS X.
11855
11856 2011-04-27  Bruno Haible  <bruno@clisp.org>
11857
11858         mkstemp: More documentation.
11859         * doc/posix-functions/mkstemp.texi: Document header file problem on
11860         MacOS X.
11861
11862 2011-04-27  Bruno Haible  <bruno@clisp.org>
11863
11864         mkstemp: Tweak configure message when cross-compiling.
11865         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11866         result as a guess.
11867
11868 2011-04-27  Bruno Haible  <bruno@clisp.org>
11869
11870         clean-temp: Clarify what it does.
11871         * lib/clean-temp.h: Add more comments.
11872         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11873         module.
11874         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11875         * doc/glibc-functions/mkstemps.texi: Likewise.
11876         * doc/glibc-functions/mkostemps.texi: Likewise.
11877
11878 2011-04-27  Eric Blake  <eblake@redhat.com>
11879
11880         fchdir: avoid extra chdir and fix test
11881         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11882         getcwd-lgpl.
11883         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11884         have to be canonical.
11885         (canonicalize_file_name): Drop unused macro.
11886         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11887
11888         filenamecat-lgpl: fix licence
11889         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11890         when it was first created.
11891
11892         linkat, renameat: add missing dependency
11893         * modules/linkat (Depends-on): Require getcwd-lgpl.
11894         * modules/renameat (Depends-on): Likewise.
11895
11896         tests: reduce dependencies
11897         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11898         * tests/test-renameat.c (main): Likewise.
11899         * modules/linkat-tests (Depends-on): Relax dependency.
11900         * modules/renameat-tests (Depends-on): Likewise.
11901         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11902         dependency explicit.
11903
11904         save-cwd: reduce default dependency
11905         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11906         * lib/save-cwd.c: Update comments.
11907         * NEWS: Document the semantic change.
11908
11909         getcwd: enhance tests
11910         * tests/test-getcwd-lgpl.c: New file, taken from...
11911         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11912         repeat long path stress tests from m4 probe.
11913         * modules/getcwd-lgpl-tests: New module.
11914         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11915         * m4/getcwd-abort-bug.m4: Update comment.
11916         * m4/getcwd-path-max.m4: Likewise.
11917
11918         getcwd-lgpl: new module
11919         * modules/getcwd-lgpl: New module.
11920         * lib/getcwd-lgpl.c: New file.
11921         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11922         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11923         * modules/getcwd (configure.ac): Set C witness.
11924         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11925
11926         getcwd: tweak comments
11927         * m4/getcwd-abort-bug.m4: Fix comments.
11928         * m4/getcwd-path-max.m4: Likewise.
11929         * m4/getcwd.m4: Likewise.
11930
11931 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11932         and Eric Blake  <eblake@redhat.com>
11933
11934         mkstemp: replace if system version uses wrong permissions
11935         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11936         read/write mode bits set in file created by mkstemp.
11937         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11938
11939 2011-04-27  Eric Blake  <eblake@redhat.com>
11940
11941         passfd: avoid compiler warning
11942         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11943         Reported by Laine Stump.
11944
11945 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11946
11947         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11948         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11949
11950 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11951         and Eric Blake  <eblake@redhat.com>
11952
11953         mkstemp: mention clean-temp module
11954         * lib/mkstemp.c: Add comment.
11955         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11956
11957 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11958
11959         inttypes: also provide default values for 32-bit tests
11960         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11961         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11962
11963 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11964
11965         strtoumax: remove dependency on strtoimax
11966         This is like the strtoull change of yesterday.
11967         * modules/strtoumax (Files): Add lib/strtoimax.c.
11968         (Depends-on): Remove strtoimax and add verify.
11969
11970         inttypes-incomplete: new module
11971         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11972         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11973         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11974         of gl_INTTYPES_H.
11975         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11976         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11977         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11978         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11979         * modules/strtoumax, modules/xstrtol (Depends-on):
11980         Depend on inttypes-incomplete, not inttypes.
11981         * modules/inttypes-incomplete: New module, containing the contents
11982         of the old modules/inttypes module, except that the Files: section
11983         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11984         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11985         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11986         (Depends-on): Depend only on inttypes-incomplete.
11987         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11988
11989         inttypes: omit now-redundant strtoimax and strtoumax work
11990         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11991         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11992
11993         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11994         This supports apps that need pointers to strtoimax and strtoumax,
11995         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11996         nonexistent functions.  See
11997         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11998         et seq.
11999         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
12000         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
12001         a macro.
12002         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
12003
12004 2011-04-25  Simon Josefsson  <simon@josefsson.org>
12005
12006         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
12007
12008 2011-04-25  Bruno Haible  <bruno@clisp.org>
12009
12010         strtol, strtoul: Mark modules as obsolete.
12011         * modules/strtol (Status, Notice): New sections.
12012         * modules/strtoul (Status, Notice): New sections.
12013
12014 2011-04-25  Bruno Haible  <bruno@clisp.org>
12015
12016         strtod: Remove check for strtod, unless supporting old platforms.
12017         * modules/strtod-obsolete: New file.
12018         * m4/strtod-obsolete.m4: New file.
12019         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
12020         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
12021         * modules/strtod (Depends-on): Add strtod-obsolete.
12022         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
12023
12024 2011-04-25  Bruno Haible  <bruno@clisp.org>
12025
12026         strcase: Make module obsolete.
12027         * modules/strcase (Status, Notice): New sections.
12028
12029 2011-04-25  Bruno Haible  <bruno@clisp.org>
12030
12031         dup2: Remove check for dup2, unless supporting old obsolete platforms.
12032         * modules/dup2-obsolete: New file.
12033         * m4/dup2-obsolete.m4: New file.
12034         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
12035         gl_FUNC_DUP2_OBSOLETE is not also defined.
12036         * modules/dup2 (Depends-on): Add dup2-obsolete.
12037         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
12038
12039 2011-04-25  Bruno Haible  <bruno@clisp.org>
12040
12041         strnlen: Avoid memchr related link error on old obsolete platforms.
12042         * modules/memchr-obsolete: New file.
12043         * m4/memchr-obsolete.m4: New file.
12044         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
12045         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
12046         * modules/memchr (Depends-on): Add memchr-obsolete.
12047         * modules/strnlen (Depends-on): Likewise.
12048         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
12049
12050 2011-04-25  Jim Meyering  <meyering@redhat.com>
12051
12052         maint.mk: makefile_at_at_check extend and clean up
12053         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
12054         in addition to */Makefile.am.
12055         Exempt legitimate uses of @VAR@ notation, e.g.,
12056         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
12057         Remove obsolete coreutils-specific comment.
12058         Prompted by discussion here:
12059         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
12060
12061 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
12062
12063         strtoul: remove dependency on strtol
12064         This is so that 'configure' need not check for strtol merely because
12065         the application needs strtoul.
12066         * modules/strtoul (Files): Add lib/strtol.c.
12067         (Depends-on): Remove strtol.
12068
12069         strtoull: remove dependency on strtoul
12070         This is like the strtoll change.
12071         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
12072         (Depends-on): Remove strtoul.
12073
12074         strtoll: remove dependency on strtol
12075         This is so that 'configure' need not check for strtol merely because
12076         the application needs strtoll.
12077         * modules/strtoll (Files): Add lib/strtol.c.
12078         (Depends-on): Remove strtol.
12079
12080 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
12081
12082         inttypes: Move some configure check to module 'imaxdiv'.
12083         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
12084         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
12085         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
12086
12087 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
12088
12089         inttypes: Move some configure check to module 'imaxabs'.
12090         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
12091         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
12092         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
12093
12094 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
12095
12096         inttypes: Remove configure tests that are not needed since 2009-12-31.
12097         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
12098         gl_cv_header_working_inttypes_h.
12099
12100 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
12101
12102         * modules/strnlen (Depends-on): Remove memchr.
12103         The strnlen implementation doesn't need the memchr module's fixes; see
12104         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
12105
12106         strtol: remove dependency on wchar
12107         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
12108         * modules/strtol (Depends-on): Remove wchar.
12109
12110 2011-04-21  Eric Blake  <eblake@redhat.com>
12111
12112         passfd: fix test regression on Linux
12113         * modules/passfd-tests (configure.ac): Correct socketpair check.
12114
12115         passfd: speed up configure and drop unused code
12116         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
12117         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
12118         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
12119         Instead of probing at configure for unix_scm_rights_bsd44_way,
12120         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
12121         check to a struct member probe.
12122         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
12123         (sendfd, recvfd): Update preprocessor checks.
12124         * modules/passfd (Files): Reflect rename, and drop unused file.
12125         (Depends-on): Drop unused dependency.
12126
12127         passfd: allow compilation on mingw
12128         * modules/sys_socket (Depends-on): Add sys_uio.
12129         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
12130         iovec and a minimal struct msghdr.
12131         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
12132         * tests/test-sys_socket.c (main): Enhance test.
12133         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
12134         guaranteed to provide what we need.
12135         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
12136         * modules/passfd-tests (Depends-on): Add sys_wait.
12137         * tests/test-passfd.c (main): Skip test on mingw, for now.
12138         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
12139         partial 'struct msghdr' implementation.
12140
12141         sys_uio: new module
12142         * modules/sys_uio: New module.
12143         * modules/sys_uio-tests: Likewise.
12144         * lib/sys_uio.in.h: New file.
12145         * m4/sys_uio_h.m4: Likewise.
12146         * tests/test-sys_uio.c: Likewise.
12147         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
12148         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
12149
12150 2011-04-20  Jim Meyering  <meyering@redhat.com>
12151
12152         useless-if-before-free: avoid false-positive
12153         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
12154         disjunct so that it too requires a terminating ";".  Without that,
12155         this script would identify as useless one statement from gcc that
12156         was not:
12157           if (aligned_ptr)
12158             free (((void **) aligned_ptr) [-1]);
12159
12160 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
12161
12162         doc: update users.txt.
12163         * users.txt: Add barcode.
12164
12165 2011-04-19  Bruno Haible  <bruno@clisp.org>
12166
12167         ioctl: Remove link dependency on native Windows.
12168         * lib/fd-hook.h: Renamed from lib/close-hook.h.
12169         (gl_close_fn, gl_ioctl_fn): New types.
12170         (struct fd_hook): Renamed from struct close_hook. Change type of
12171         private_close_fn field. Add private_ioctl_fn field.
12172         (close_hook_fn): Add parameter for primary close method.
12173         (execute_close_hooks, execute_all_close_hooks): Likewise.
12174         (ioctl_hook_fn): New type.
12175         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
12176         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
12177         argument.
12178         (unregister_fd_hook): Renamed from unregister_close_hook.
12179         * lib/fd-hook.c: Renamed from lib/close-hook.c.
12180         Don't include <unistd.h>.
12181         (close): Remove undef.
12182         (anchor): Update.
12183         (execute_close_hooks): Add argument for primary close method.
12184         (execute_all_close_hooks): Likewise.
12185         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
12186         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
12187         argument. Allow each argument to be NULL.
12188         (unregister_fd_hook): Renamed from unregister_close_hook.
12189         * lib/close.c (rpl_close): Pass 'close' function pointer to
12190         execute_all_close_hooks.
12191         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
12192         (primary_ioctl): New function.
12193         (ioctl): Don't call ioctlsocket here. Instead, call
12194         execute_all_ioctl_hooks.
12195         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
12196         close method.
12197         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
12198         (fd_sockets_hook): Renamed from close_sockets_hook.
12199         (gl_sockets_startup, gl_sockets_cleanup): Update.
12200         * modules/fd-hook: Renamed from modules/close-hook. Update.
12201         * modules/close (Depends-on): Add fd-hook, remove close-hook.
12202         * modules/sockets (Depends-on): Likewise.
12203         * modules/ioctl (Depends-on): Add fd-hook.
12204         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
12205         GNULIB_SOCKET.
12206
12207 2011-04-19  Bruno Haible  <bruno@clisp.org>
12208
12209         Move the support of O_NONBLOCK in open() to the 'open' module.
12210         * modules/nonblocking (Depends-on): Remove 'open'.
12211         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
12212         gl_cv_have_open_O_NONBLOCK.
12213         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
12214         O_NONBLOCK support.
12215         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
12216
12217 2011-04-17  Bruno Haible  <bruno@clisp.org>
12218
12219         pipe2: Simplify code.
12220         * lib/pipe2.c (pipe2): Reduce code duplication.
12221
12222 2011-04-17  Bruno Haible  <bruno@clisp.org>
12223
12224         nonblocking: Add comment.
12225         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
12226
12227 2011-04-17  Bruno Haible  <bruno@clisp.org>
12228
12229         nonblocking: Add tests for sockets.
12230         * tests/test-nonblocking-socket.sh: New file.
12231         * tests/test-nonblocking-socket-main.c: New file.
12232         * tests/test-nonblocking-socket-child.c: New file.
12233         * tests/test-nonblocking-socket.h: New file.
12234         * tests/socket-server.h: New file.
12235         * tests/socket-client.h: New file.
12236         * modules/nonblocking-socket-tests: New file.
12237         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
12238
12239 2011-04-17  Bruno Haible  <bruno@clisp.org>
12240
12241         nonblocking: Add tests for pipes.
12242         * tests/test-nonblocking-pipe.sh: New file.
12243         * tests/test-nonblocking-pipe-main.c: New file.
12244         * tests/test-nonblocking-pipe-child.c: New file.
12245         * tests/test-nonblocking-pipe.h: New file.
12246         * tests/test-nonblocking-writer.h: New file.
12247         * tests/test-nonblocking-reader.h: New file.
12248         * tests/test-nonblocking-misc.h: New file.
12249         * modules/nonblocking-pipe-tests: New file.
12250         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
12251
12252 2011-04-16  Bruno Haible  <bruno@clisp.org>
12253
12254         gettext: Clarify the needed programmer actions.
12255         * modules/gettext (Notice): New field.
12256         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
12257
12258 2011-04-16  Bruno Haible  <bruno@clisp.org>
12259
12260         strchrnul: Tweak last commit.
12261         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
12262         bug.
12263         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
12264         as in _GL_FUNCDECL_SYS.
12265         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
12266         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
12267
12268 2011-04-15  Eric Blake  <eblake@redhat.com>
12269
12270         strchrnul: work around cygwin bug
12271         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
12272         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
12273         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
12274         * modules/string (Makefile.am): Substitute it.
12275         * lib/string.in.h (strchrnul): Use it.
12276
12277 2011-04-15  Bruno Haible  <bruno@clisp.org>
12278
12279         Don't require lib/stdio-write.c when only module 'stdio' is used.
12280         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
12281         invocation.
12282         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
12283
12284 2011-04-14  Bruno Haible  <bruno@clisp.org>
12285
12286         Support non-blocking pipe I/O in read() on native Windows.
12287         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
12288         (read): New declaration.
12289         * lib/read.c: New file.
12290         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
12291         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
12292         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
12293         vscanf): New declarations.
12294         * lib/stdio-read.c: New file.
12295         * m4/read.m4: New file.
12296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
12297         REPLACE_READ.
12298         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
12299         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
12300         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
12301         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
12302         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
12303         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
12304         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
12305         * modules/read: New file.
12306         * modules/nonblocking (Files): Add lib/stdio-read.c.
12307         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
12308         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
12309         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
12310         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
12311         * modules/pread (Depends-on): Add read.
12312         * modules/safe-read (Depends-on): Likewise.
12313         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
12314         gets, scanf, vfscanf, vscanf): Verify signatures.
12315         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
12316         problem with non-blocking pipes.
12317         * doc/posix-functions/fgetc.texi: Likewise.
12318         * doc/posix-functions/fgets.texi: Likewise.
12319         * doc/posix-functions/fread.texi: Likewise.
12320         * doc/posix-functions/fscanf.texi: Likewise.
12321         * doc/posix-functions/getc.texi: Likewise.
12322         * doc/posix-functions/getchar.texi: Likewise.
12323         * doc/posix-functions/gets.texi: Likewise.
12324         * doc/posix-functions/scanf.texi: Likewise.
12325         * doc/posix-functions/vfscanf.texi: Likewise.
12326         * doc/posix-functions/vscanf.texi: Likewise.
12327
12328 2011-04-14  Bruno Haible  <bruno@clisp.org>
12329
12330         Support non-blocking pipe I/O in write() on native Windows.
12331         * lib/write.c (rpl_write): Split a write request that failed merely
12332         because the byte count was larger than the pipe buffer's size.
12333         * doc/posix-functions/write.texi: Mention the problem with large byte
12334         counts.
12335
12336 2011-04-14  Bruno Haible  <bruno@clisp.org>
12337
12338         wchar: Ensure that wchar_t gets defined on uClibc.
12339         * lib/wchar.in.h: On uClibc, include <stddef.h>.
12340         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
12341
12342 2011-04-13  Bruno Haible  <bruno@clisp.org>
12343
12344         safe-write, full-read: Avoid unnecessary compilation units.
12345         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
12346         (Depends-on): Remove safe-read. Add ssize_t.
12347         * modules/full-read (Files): Add lib/full-write.c.
12348         (Depends-on): Add full-write.
12349
12350 2011-04-13  Bruno Haible  <bruno@clisp.org>
12351
12352         Support non-blocking pipe I/O and SIGPIPE in pwrite().
12353         * modules/pwrite (Depends-on): Add 'write'.
12354
12355 2011-04-13  Bruno Haible  <bruno@clisp.org>
12356
12357         Support non-blocking pipe I/O in write() on native Windows.
12358         * lib/unistd.in.h (write): Enable replacement also if
12359         GNULIB_UNISTD_H_NONBLOCKING is 1.
12360         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
12361         (rpl_write): When failing to write on a non-blocking pipe, change
12362         errno from ENOSPC to EAGAIN.
12363         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
12364         putchar, puts, vfprintf, vprintf): Enable replacement also if
12365         GNULIB_STDIO_H_NONBLOCKING is 1.
12366         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
12367         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
12368         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
12369         CALL_WITH_SIGPIPE_EMULATION.
12370         (CALL_WITH_SIGPIPE_EMULATION): Use them.
12371         * m4/nonblocking.m4: New file.
12372         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
12373         for non-blocking I/O support.
12374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12375         GNULIB_UNISTD_H_NONBLOCKING.
12376         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
12377         required for non-blocking I/O support.
12378         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
12379         * modules/nonblocking (Files): Add m4/nonblocking.m4,
12380         lib/stdio-write.c, m4/asm-underscore.m4.
12381         (Depends-on): Add stdio, unistd.
12382         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
12383         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
12384         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
12385         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
12386         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
12387         problem with non-blocking pipes.
12388         * doc/posix-functions/fputc.texi: Likewise.
12389         * doc/posix-functions/fputs.texi: Likewise.
12390         * doc/posix-functions/fwrite.texi: Likewise.
12391         * doc/posix-functions/printf.texi: Likewise.
12392         * doc/posix-functions/putc.texi: Likewise.
12393         * doc/posix-functions/putchar.texi: Likewise.
12394         * doc/posix-functions/puts.texi: Likewise.
12395         * doc/posix-functions/vfprintf.texi: Likewise.
12396         * doc/posix-functions/vprintf.texi: Likewise.
12397         * doc/posix-functions/write.texi: Likewise.
12398
12399 2011-04-10  Jim Meyering  <meyering@redhat.com>
12400
12401         maint.mk: prohibit doubled words
12402         Detect them also when they're separated by a newline.
12403         There are 3 ways to customize it:
12404           - disable the test on a per file basis, as usual with rules using
12405             $(VC_LIST_EXCEPT)
12406           - replace the default doubled-word-selecting regexp (affects all files)
12407           - ignore a particular file-vs-doubled-word match
12408         I nearly used that last one to ignore the "is is" match in
12409         coreutils' NEWS file, since the text was "ls -is is ..."
12410         To do that, I would have added this line to cfg.mk:
12411           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
12412         but it would have ignored any "is is" match in NEWS.
12413         Low probability, but still...
12414         Instead, I changed the text, slightly:
12415           -  ls -is is now consistent with ls -lis in ignoring values returned
12416           +  "ls -is" is now consistent with ls -lis in ignoring values returned
12417         * top/maint.mk (prohibit_double_word_RE_): Provide default.
12418         (prohibit_doubled_word_): Define.
12419         (sc_prohibit_doubled_word): New rule.
12420         (sc_prohibit_the_the): Remove.  Subsumed by the above.
12421
12422 2011-04-10  Jim Meyering  <meyering@redhat.com>
12423
12424         maint: fix doubled-word typo in comment
12425         * m4/gethostname.m4: s/is is/it is/
12426         * m4/getdomainname.m4: Likewise.
12427
12428 2011-04-10  Jim Meyering  <meyering@redhat.com>
12429
12430         maint: remove doubled word: s/it it/it/
12431         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
12432
12433 2011-04-10  Jim Meyering  <meyering@redhat.com>
12434
12435         maint.mk: remove useless semicolon and backslash
12436         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
12437         semicolon and backslash.
12438
12439 2011-04-10  Bruno Haible  <bruno@clisp.org>
12440
12441         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
12442         * modules/stdint-tests (Depends-on): Add wchar.
12443
12444 2011-04-10  Jim Meyering  <meyering@redhat.com>
12445
12446         maint: remove doubled words in comments, e.g., s/a a/a/
12447         * lib/strptime.c (day_of_the_week): s/the the/the/
12448         * tests/test-chown.h (test_chown): s/a a/a/
12449
12450         test-chown.h: correct a cast
12451         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
12452         when the destination is a stat.st_gid.
12453
12454 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
12455
12456         getaddrinfo: Fix test for sa_len member.
12457         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
12458         include <sys/types.h> before <sys/socket.h>.
12459
12460 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
12461
12462         maint: change "can not" to "cannot"
12463         * doc/posix-functions/iconv.texi (iconv): This one crossed line
12464         boundaries.
12465
12466 2011-04-09  Jim Meyering  <meyering@redhat.com>
12467
12468         maint: change "a a" to "a"
12469         * tests/test-lchown.h (test_lchown): s/a a/a/
12470
12471         maint.mk: prohibit \<the the\>
12472         * top/maint.mk (sc_prohibit_the_the): New rule.
12473
12474         maint: fix "the the" in comment
12475         * lib/count-one-bits.h: s/the the/the/
12476
12477         maint: change "can not" to "cannot"
12478         But do not change the occurrences in maintain.texi or in
12479         build-aux/po/Makefile.in.in, which I presume comes from gettext.
12480         * doc/gnulib-tool.texi: s/can not/cannot/
12481         * doc/posix-functions/accept.texi (accept): Likewise.
12482         * doc/posix-functions/socket.texi (socket): Likewise.
12483         * lib/mbrtowc.c: Likewise.
12484
12485         maint.mk: prohibit use of "can not"
12486         * top/maint.mk (sc_prohibit_can_not): New rule.
12487         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
12488
12489 2011-04-09  Bruno Haible  <bruno@clisp.org>
12490
12491         careadlinkat: Guard against misuse of careadlinkatcwd.
12492         * lib/careadlinkat.c: Include <stdlib.h>.
12493         (careadlinkatcwd): Check that the fd argument is as expected.
12494
12495 2011-04-09  Bruno Haible  <bruno@clisp.org>
12496
12497         careadlinkat: Use common coding style.
12498         * lib/careadlinkat.c: Move gnulib includes after system includes.
12499
12500 2011-04-09  Bruno Haible  <bruno@clisp.org>
12501
12502         careadlinkat: Clarify specification.
12503         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
12504         (careadlinkatcwd): Add comment.
12505         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
12506
12507 2011-04-09  Bruno Haible  <bruno@clisp.org>
12508
12509         areadlinkat: Avoid link error on many platforms.
12510         * modules/areadlinkat (Depends-on): Add areadlink.
12511
12512 2011-04-09  Bruno Haible  <bruno@clisp.org>
12513
12514         allocator, careadlinkat: Fix double-inclusion guard.
12515         * lib/allocator.h: Fix double-inclusion guard.
12516         * lib/careadlinkat.h: Likewise.
12517
12518 2011-04-09  Bruno Haible  <bruno@clisp.org>
12519
12520         relocatable-prog-wrapper: Update after module 'areadlink' changed.
12521         * lib/relocwrapper.c: Update dependencies hierarchy.
12522         * build-aux/install-reloc: Update list of files to be compiled.
12523         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
12524         lib/allocator.[hc].
12525
12526 2011-04-08  Eric Blake  <eblake@redhat.com>
12527
12528         strftime: silence gnulib-tool warning
12529         * modules/strftime-tests (Depends-on): Drop automatic dependency.
12530
12531 2011-04-08  Bruno Haible  <bruno@clisp.org>
12532
12533         verify: Fix syntax error with GCC 4.6 in C++ mode.
12534         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
12535         (HAVE_STATIC_ASSERT): New macro.
12536         (verify_true, verify): Use 'static_assert' if it is supported and
12537         '_Static_assert' is not supported.
12538
12539 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
12540
12541         allocator: New module.
12542         * modules/allocator, lib/allocator.c: New files.
12543         * lib/allocator.h (stdlib_allocator): New decl.
12544         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
12545         Remove.  Do not include <stdlib.h>.
12546         (careadlinkat): Use stdlib_allocator instead of rolling our own.
12547         * modules/careadlinkat (Files): Remove lib/allocator.h.
12548         (Depends-on): Add allocator.
12549
12550         stdlib: let modules use system malloc, realloc
12551         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
12552         if !_GL_USE_STDLIB_ALLOC.
12553         (malloc, realloc): Limit this change to a smaller scope.
12554
12555         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
12556         (malloc, realloc): Don't #undef; no longer needed.
12557         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12558         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12559         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
12560         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12561         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12562         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12563         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12564         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
12565
12566         careadlinkat: rename members to avoid problem
12567         * lib/allocator.h (struct allocator): Rename members from
12568         malloc/realloc to allocate/reallocate, to avoid problems if malloc
12569         and realloc are #define'd.  Reported by Eric Blake in
12570         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
12571         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
12572
12573 2011-04-08  Eric Blake  <eblake@redhat.com>
12574
12575         nonblocking: reduce dependency
12576         * tests/test-nonblocking.c: Only test sockets when in use.
12577         * modules/nonblocking-tests (Depends-on): Drop socket.
12578         (Makefile.am): Link even if sockets are not present.
12579         * modules/pipe2-tests (Makefile.am): Likewise.
12580         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
12581
12582         pipe2: fix O_NONBLOCK support on mingw
12583         * modules/pipe2 (Depends-on): Add nonblocking.
12584         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
12585         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
12586         * tests/test-nonblocking.c (main): Likewise.
12587         * modules/pipe2-tests (Makefile.am): Avoid link failure.
12588
12589         fcntl-h: fix O_ACCMODE on cygwin
12590         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
12591         * lib/fcntl.in.h (O_ACCMODE): Fix it.
12592
12593         pipe-filter: drop O_NONBLOCK workarounds
12594         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
12595         * modules/pipe-filter-ii (Depends-on): Likewise.
12596         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
12597
12598         nonblocking: provide O_NONBLOCK for mingw
12599         * modules/nonblocking (Depends-on): Add open.
12600         (configure.ac): Set new witness macro.
12601         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
12602         * modules/fcntl-h (Makefile.am): Substitute it.
12603         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
12604         nonblocking module is in use.
12605         * lib/nonblocking.c: Adjust portability test.
12606         * lib/open.c (open): Don't let native open see gnulib flag.
12607         * tests/test-fcntl-h.c (main): Enhance test.
12608         * tests/test-open.h (test_open): Likewise.
12609         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
12610
12611         careadlinkat: fix compilation error on mingw
12612         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
12613         within struct allocator.
12614
12615 2011-04-06  Eric Blake  <eblake@redhat.com>
12616
12617         binary-io: relicense under LGPLv2+
12618         * modules/binary-io (License): Relax to LGPLv2+.
12619         Requested for libvirt, and required by pipe2.
12620
12621 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
12622
12623         verify: use _Static_assert if available
12624         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
12625         (verify_true, verify): Use it if available.  This generates better
12626         diagnostics with GCC 4.6.0 and later.
12627
12628 2011-04-05  Bruno Haible  <bruno@clisp.org>
12629
12630         Remove leftover generated .h files after config.status changed.
12631
12632         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
12633         GL_GENERATE_ALLOCA_H.
12634         * modules/alloca-opt (Makefile.am): Remove alloca.h if
12635         GL_GENERATE_ALLOCA_H evaluates to false.
12636
12637         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
12638         GL_GENERATE_ARGZ_H.
12639         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
12640         evaluates to false.
12641
12642         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
12643         GL_GENERATE_BYTESWAP_H.
12644         * modules/byteswap (Makefile.am): Remove byteswap.h if
12645         GL_GENERATE_BYTESWAP_H evaluates to false.
12646
12647         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
12648         GL_GENERATE_ERRNO_H.
12649         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
12650         evaluates to false.
12651
12652         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
12653         GL_GENERATE_FLOAT_H.
12654         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
12655         evaluates to false.
12656
12657         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
12658         GL_GENERATE_FNMATCH_H.
12659         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
12660         GL_GENERATE_FNMATCH_H evaluates to false.
12661
12662         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
12663         GL_GENERATE_GLOB_H.
12664         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
12665         evaluates to false.
12666
12667         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
12668         automake conditional GL_GENERATE_ICONV_H.
12669         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
12670         evaluates to false.
12671
12672         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
12673         GL_GENERATE_NETINET_IN_H.
12674         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
12675         GL_GENERATE_NETINET_IN_H evaluates to false.
12676
12677         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
12678         conditional GL_GENERATE_PTHREAD_H.
12679         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
12680         * modules/pthread (Makefile.am): Remove pthread.h if
12681         GL_GENERATE_PTHREAD_H evaluates to false.
12682
12683         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
12684         GL_GENERATE_SCHED_H.
12685         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
12686         evaluates to false.
12687
12688         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
12689         conditional GL_GENERATE_SELINUX_CONTEXT_H.
12690         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
12691         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
12692
12693         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
12694         GL_GENERATE_STDARG_H.
12695         * modules/stdarg (Makefile.am): Remove stdarg.h if
12696         GL_GENERATE_STDARG_H evaluates to false.
12697
12698         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
12699         GL_GENERATE_STDBOOL_H.
12700         * modules/stdbool (Makefile.am): Remove stdbool.h if
12701         GL_GENERATE_STDBOOL_H evaluates to false.
12702
12703         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
12704         conditional GL_GENERATE_STDDEF_H.
12705         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
12706         * modules/stddef (Makefile.am): Remove stddef.h if
12707         GL_GENERATE_STDDEF_H evaluates to false.
12708
12709         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
12710         GL_GENERATE_STDINT_H.
12711         * modules/stdint (Makefile.am): Remove stdint.h if
12712         GL_GENERATE_STDINT_H evaluates to false.
12713
12714         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
12715         GL_GENERATE_SYSEXITS_H.
12716         * modules/sysexits (Makefile.am): Remove sysexits.h if
12717         GL_GENERATE_SYSEXITS_H evaluates to false.
12718
12719         Reported by Karl Berry and Ralf Wildenhues.
12720
12721 2011-04-05  Bruno Haible  <bruno@clisp.org>
12722
12723         Ensure to rebuild generated .h files when config.status has changed.
12724         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
12725         config.status.
12726         * modules/ctype (Makefile.am): Likewise.
12727         * modules/dirent (Makefile.am): Likewise.
12728         * modules/errno (Makefile.am): Likewise.
12729         * modules/fcntl-h (Makefile.am): Likewise.
12730         * modules/float (Makefile.am): Likewise.
12731         * modules/getopt-posix (Makefile.am): Likewise.
12732         * modules/glob (Makefile.am): Likewise.
12733         * modules/iconv-h (Makefile.am): Likewise.
12734         * modules/inttypes (Makefile.am): Likewise.
12735         * modules/langinfo (Makefile.am): Likewise.
12736         * modules/locale (Makefile.am): Likewise.
12737         * modules/math (Makefile.am): Likewise.
12738         * modules/netdb (Makefile.am): Likewise.
12739         * modules/netinet_in (Makefile.am): Likewise.
12740         * modules/poll-h (Makefile.am): Likewise.
12741         * modules/pthread (Makefile.am): Likewise.
12742         * modules/pty (Makefile.am): Likewise.
12743         * modules/sched (Makefile.am): Likewise.
12744         * modules/search (Makefile.am): Likewise.
12745         * modules/selinux-h (Makefile.am): Likewise.
12746         * modules/signal (Makefile.am): Likewise.
12747         * modules/spawn (Makefile.am): Likewise.
12748         * modules/stdarg (Makefile.am): Likewise.
12749         * modules/stdbool (Makefile.am): Likewise.
12750         * modules/stddef (Makefile.am): Likewise.
12751         * modules/stdint (Makefile.am): Likewise.
12752         * modules/stdio (Makefile.am): Likewise.
12753         * modules/stdlib (Makefile.am): Likewise.
12754         * modules/string (Makefile.am): Likewise.
12755         * modules/strings (Makefile.am): Likewise.
12756         * modules/sys_file (Makefile.am): Likewise.
12757         * modules/sys_ioctl (Makefile.am): Likewise.
12758         * modules/sys_select (Makefile.am): Likewise.
12759         * modules/sys_socket (Makefile.am): Likewise.
12760         * modules/sys_stat (Makefile.am): Likewise.
12761         * modules/sys_time (Makefile.am): Likewise.
12762         * modules/sys_times (Makefile.am): Likewise.
12763         * modules/sys_utsname (Makefile.am): Likewise.
12764         * modules/sys_wait (Makefile.am): Likewise.
12765         * modules/sysexits (Makefile.am): Likewise.
12766         * modules/termios (Makefile.am): Likewise.
12767         * modules/time (Makefile.am): Likewise.
12768         * modules/unistd (Makefile.am): Likewise.
12769         * modules/wchar (Makefile.am): Likewise.
12770         * modules/wctype-h (Makefile.am): Likewise.
12771         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
12772
12773 2011-04-05  Bruno Haible  <bruno@clisp.org>
12774
12775         pipe2: Relicense under LGPLv2+.
12776         * modules/pipe2 (License): Change to LGPLv2+.
12777         Requested by Eric Blake, for libvirt.
12778
12779 2011-04-05  Bruce Korb  <bkorb@gnu.org>
12780
12781         bootstrap: compute gnulib_extra_files after updating build_aux
12782         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
12783         change build_aux or also supply gnulib_extra_files.  Handle correctly.
12784
12785 2011-04-05  Eric Blake  <eblake@redhat.com>
12786
12787         bootstrap: preserve git whitelist item sorting
12788         * build-aux/bootstrap (sort_patterns): New function.
12789         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
12790
12791 2011-04-05  Simon Josefsson  <simon@josefsson.org>
12792
12793         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
12794         sc_space_tab check.
12795
12796 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
12797
12798         areadlink, areadlinkat: rewrite in terms of careadlinkat
12799         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
12800         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
12801         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
12802         (malloc, realloc): Remove #undefs.
12803         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
12804         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
12805         readlink, ssize_t, stdint, unistd.
12806         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
12807         areadlink, stdint.
12808
12809         careadlinkat: new module
12810         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
12811         * modules/careadlinkat: New files, written by me with
12812         a review and feedback from Ben Pfaff in
12813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
12814
12815 2011-04-01  Bruno Haible  <bruno@clisp.org>
12816
12817         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
12818         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
12819         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
12820         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
12821         Reported by Bruce Korb <bruce.korb@gmail.com>.
12822
12823 2011-04-01  Bruno Haible  <bruno@clisp.org>
12824
12825         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
12826         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
12827         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
12828         * modules/wcpcpy (Depends-on): Add extensions.
12829         * modules/wcpncpy (Depends-on): Likewise.
12830         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
12831         systems.
12832         * doc/posix-functions/wcpncpy.texi: Likewise.
12833         * doc/posix-functions/wcwidth.texi: Likewise.
12834
12835 2011-03-31  Eric Blake  <eblake@redhat.com>
12836
12837         nonblocking: fix mingw test failures
12838         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12839         non-blocking flag on regular file.
12840         (get_nonblocking_flag): Set errno on invalid fd.
12841         * tests/test-nonblocking.c (main): Avoid test failure on
12842         directories if fchdir is not active.
12843         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12844
12845 2011-03-31  Bruno Haible  <bruno@clisp.org>
12846
12847         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12848         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12849         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12850         Reported by Simon Josefsson <simon@josefsson.org>.
12851
12852 2011-03-31  Bruno Haible  <bruno@clisp.org>
12853         and Eric Blake  <eblake@redhat.com>
12854
12855         nonblocking: new module
12856         * modules/nonblocking: New module.
12857         * modules/nonblocking-tests: Likewise.
12858         * lib/nonblocking.h: New file.
12859         * lib/nonblocking.c: Likewise.
12860         * tests/test-nonblocking.c: New test.
12861         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12862
12863 2011-03-30  Bruno Haible  <bruno@clisp.org>
12864
12865         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12866         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12867         instead of 'printf' format for GCC >= 4.4.
12868         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12869         (fprintf, printf, vfprintf, vprintf): Declare with
12870         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12871         the system's vfprintf() function.
12872         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12873
12874 2011-03-30  Eric Blake  <eblake@redhat.com>
12875
12876         passfd: fix scoping bug
12877         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12878         before sendmsg/recvmsg.
12879
12880         passfd: standardize coding conventions
12881         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12882         can be learned at compile time.
12883         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12884         ifdefs.
12885         (sendfd, recvfd): Follow gnulib code conventions.
12886
12887         passfd: fix incorrect sendmsg arguments
12888         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12889         incorrect msg_controllen value.
12890         * modules/passfd-tests (Depends-on): Check for alarm.
12891         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12892         Reported by Bastien ROUCARIES.
12893
12894 2011-03-30  Bruno Haible  <bruno@clisp.org>
12895
12896         c-strcasestr: Relicense under LGPLv2+.
12897         * modules/c-strcasestr (License): Change to LGPLv2+.
12898         Requested by Eric Blake, for libvirt.
12899
12900 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12901
12902         * users.txt: Add libidn2.  Fix libtasn1 link.
12903
12904 2011-03-30  Jim Meyering  <meyering@redhat.com>
12905
12906         tests: readlink* ("",... fails with EINVAL on newer kernels
12907         readlink and readlinkat have typically failed with ENOENT for
12908         the invalid, empty file name,  "".  However, with the advent
12909         of linux-2.6.39, they fail with EINVAL.
12910         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12911         when operating on the empty file name.
12912         * tests/test-readlink.h (test_readlink): Likewise.
12913
12914 2011-03-29  Bruno Haible  <bruno@clisp.org>
12915
12916         Relicense some modules under LGPLv2+, for libidn2.
12917         * modules/array-mergesort (License): Change to LGPLv2+.
12918         * modules/c-strcaseeq (License): Likewise.
12919         * modules/striconveh (License): Likewise.
12920         * modules/striconveha (License): Likewise.
12921         * modules/uniconv/base (License): Likewise.
12922         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12923         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12924         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12925         * modules/unictype/base (License): Likewise.
12926         * modules/unictype/bidiclass-of (License): Likewise.
12927         * modules/unictype/category-M (License): Likewise.
12928         * modules/unictype/category-none (License): Likewise.
12929         * modules/unictype/category-of (License): Likewise.
12930         * modules/unictype/category-test (License): Likewise.
12931         * modules/unictype/category-test-withtable (License): Likewise.
12932         * modules/unictype/combining-class (License): Likewise.
12933         * modules/unictype/joiningtype-of (License): Likewise.
12934         * modules/unictype/scripts (License): Likewise.
12935         * modules/uninorm/base (License): Likewise.
12936         * modules/uninorm/canonical-decomposition (License): Likewise.
12937         * modules/uninorm/composition (License): Likewise.
12938         * modules/uninorm/decompose-internal (License): Likewise.
12939         * modules/uninorm/decomposition-table (License): Likewise.
12940         * modules/uninorm/nfc (License): Likewise.
12941         * modules/uninorm/nfd (License): Likewise.
12942         * modules/uninorm/u32-normalize (License): Likewise.
12943         * modules/unistr/base (License): Likewise.
12944         * modules/unistr/u32-cpy (License): Likewise.
12945         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12946         * modules/unistr/u32-to-u8 (License): Likewise.
12947         * modules/unistr/u32-uctomb (License): Likewise.
12948         * modules/unistr/u8-check (License): Likewise.
12949         * modules/unistr/u8-mblen (License): Likewise.
12950         * modules/unistr/u8-mbtouc (License): Likewise.
12951         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12952         * modules/unistr/u8-mbtoucr (License): Likewise.
12953         * modules/unistr/u8-prev (License): Likewise.
12954         * modules/unistr/u8-strlen (License): Likewise.
12955         * modules/unistr/u8-to-u32 (License): Likewise.
12956         * modules/unistr/u8-uctomb (License): Likewise.
12957         * modules/unitypes (License): Likewise.
12958         Requested by Simon Josefsson.
12959
12960 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12961
12962         lib-symbol-visibility: Add a notice.
12963         * modules/lib-symbol-visibility (Notice): New field.
12964
12965 2011-03-29  Bruno Haible  <bruno@clisp.org>
12966
12967         getaddrinfo: Doc fix.
12968         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12969         section "fixed in Gnulib".
12970
12971 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12972
12973         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12974         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12975
12976 2011-03-26  Bruno Haible  <bruno@clisp.org>
12977
12978         unictype/property-byname: Reduce the number of load-time relocations.
12979         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12980         (UC_PROPERTY_INDEX_*): New enumeration values.
12981         (uc_property_byname): Convert an index from the lookup table to an
12982         uc_property_t.
12983         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12984         values.
12985
12986 2011-03-26  Bruno Haible  <bruno@clisp.org>
12987
12988         unictype/property-byname: Allow omitted word separators and aliases.
12989         * lib/unictype/pr_byname.gperf: Add property names without word
12990         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12991         for 'space'.
12992
12993 2011-03-26  Bruno Haible  <bruno@clisp.org>
12994
12995         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12996         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12997         also hyphens to space.
12998         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12999         without spaces.
13000         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
13001
13002 2011-03-26  Bruno Haible  <bruno@clisp.org>
13003
13004         unictype/joiningtype-byname: Recognize long names as well.
13005         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
13006         a long name.
13007         * lib/unictype/joiningtype_byname.c: Include <string.h>,
13008         unictype/joiningtype_byname.h.
13009         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
13010         * lib/unictype/joiningtype_byname.gperf: New file.
13011         * modules/unictype/joiningtype-byname (Files): Add
13012         lib/unictype/joiningtype_byname.gperf.
13013         (Depends-on): Add gperf.
13014         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
13015         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
13016         long names.
13017
13018         Tests for module 'unictype/joiningtype-longname'.
13019         * modules/unictype/joiningtype-longname-tests: New file.
13020         * tests/unictype/test-joiningtype_longname.c: New file.
13021
13022         New module 'unictype/joiningtype-longname'.
13023         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
13024         * lib/unictype/joiningtype_longname.c: New file.
13025         * modules/unictype/joiningtype-longname: New file.
13026         * modules/unictype/joiningtype-all (Depends-on): Add
13027         unictype/joiningtype-longname.
13028
13029 2011-03-26  Bruno Haible  <bruno@clisp.org>
13030
13031         unictype/bidiclass-byname: Recognize long names as well.
13032         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
13033         name.
13034         * lib/unictype/bidi_byname.c: Include <string.h>,
13035         unictype/bidi_byname.h.
13036         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
13037         * lib/unictype/bidi_byname.gperf: New file.
13038         * modules/unictype/bidiclass-byname (Files): Add
13039         lib/unictype/bidi_byname.gperf.
13040         (Depends-on): Add gperf.
13041         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
13042         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
13043         long names.
13044
13045         Tests for module 'unictype/bidiclass-longname'.
13046         * modules/unictype/bidiclass-longname-tests: New file.
13047         * tests/unictype/test-bidi_longname.c: New file.
13048
13049         New module 'unictype/bidiclass-longname'.
13050         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
13051         * lib/unictype/bidi_longname.c: New file.
13052         * modules/unictype/bidiclass-longname: New file.
13053         * modules/unictype/bidiclass-all (Depends-on): Add
13054         unictype/bidiclass-longname.
13055
13056 2011-03-26  Bruno Haible  <bruno@clisp.org>
13057
13058         unictype/bidi*: Rename modules.
13059         * modules/unictype/bidiclass-all: Renamed from
13060         modules/unictype/bidicategory-all.
13061         * modules/unictype/bidiclass-name: Renamed from
13062         modules/unictype/bidiclass-name.
13063         (Description): Update.
13064         * modules/unictype/bidiclass-name-tests: Renamed from
13065         modules/unictype/bidicategory-name-tests.
13066         * modules/unictype/bidiclass-byname: Renamed from
13067         modules/unictype/bidicategory-byname.
13068         (Description): Update.
13069         * modules/unictype/bidiclass-byname-tests: Renamed from
13070         modules/unictype/bidicategory-byname-tests.
13071         * modules/unictype/bidiclass-of: Renamed from
13072         modules/unictype/bidicategory-of.
13073         (Description): Update.
13074         * modules/unictype/bidiclass-of-tests: Renamed from
13075         modules/unictype/bidicategory-of-tests.
13076         * modules/unictype/bidiclass-test: Renamed from
13077         modules/unictype/bidicategory-test.
13078         (Description): Update.
13079         * modules/unictype/bidiclass-test-tests: Renamed from
13080         modules/unictype/bidicategory-test-tests.
13081         * modules/unictype/bidicategory-all: New file, a simple redirection.
13082         * modules/unictype/bidicategory-name: Likewise.
13083         * modules/unictype/bidicategory-byname: Likewise.
13084         * modules/unictype/bidicategory-of: Likewise.
13085         * modules/unictype/bidicategory-test: Likewise.
13086         * modules/unictype/property-bidi-* (Dependencies): Update.
13087         * lib/unictype/bidi_*.c: Update comment.
13088
13089 2011-03-26  Bruno Haible  <bruno@clisp.org>
13090
13091         unictype/bidi*: Rename functions, part 2.
13092         * modules/unictype/bidicategory-name (configure.ac): Update required
13093         libunistring version.
13094         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
13095
13096 2011-03-25  Bruno Haible  <bruno@clisp.org>
13097
13098         New module 'unictype/combining-class-all'.
13099         * modules/unictype/combining-class-all: New file.
13100
13101         Tests for module 'unictype/combining-class-byname'.
13102         * modules/unictype/combining-class-byname-tests: New file.
13103         * tests/unictype/test-combiningclass_byname.c: New file.
13104
13105         New module 'unictype/combining-class-byname'.
13106         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
13107         * lib/unictype/combiningclass_byname.c: New file.
13108         * lib/unictype/combiningclass_byname.gperf: New file.
13109         * modules/unictype/combining-class-byname: New file.
13110
13111         Tests for module 'unictype/combining-class-longname'.
13112         * modules/unictype/combining-class-longname-tests: New file.
13113         * tests/unictype/test-combiningclass_longname.c: New file.
13114
13115         New module 'unictype/combining-class-longname'.
13116         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
13117         * lib/unictype/combiningclass_longname.c: New file.
13118         * modules/unictype/combining-class-longname: New file.
13119
13120         Tests for module 'unictype/combining-class-name'.
13121         * modules/unictype/combining-class-name-tests: New file.
13122         * tests/unictype/test-combiningclass_name.c: New file.
13123
13124         New module 'unictype/combining-class-name'.
13125         * lib/unictype.in.h (uc_combining_class_name): New declaration.
13126         * lib/unictype/combiningclass_name.c: New file.
13127         * modules/unictype/combining-class-name: New file.
13128
13129 2011-03-25  Bruno Haible  <bruno@clisp.org>
13130
13131         unictype/combining-class: Rename source files.
13132         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
13133         of unictype/combining.h.
13134         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
13135         Update.
13136         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
13137         * modules/unictype/combining-class (Description): Fix.
13138         (Files, Makefile.am): Update.
13139         * tests/unictype/test-combiningclass.c: Renamed from
13140         tests/unictype/test-combining.c.
13141         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
13142
13143 2011-03-25  Bruno Haible  <bruno@clisp.org>
13144
13145         unictype: Update list of canonical combining classes.
13146         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
13147
13148 2011-03-25  Bruno Haible  <bruno@clisp.org>
13149
13150         unictype/category-byname: Recognize long names as well.
13151         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
13152         a long name.
13153         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
13154         unictype/categ_byname.h.
13155         (UC_CATEGORY_INDEX_*): New enumeration values.
13156         (uc_general_category_byname): Use uc_general_category_lookup and
13157         convert from index to value.
13158         * lib/unictype/categ_byname.gperf: New file.
13159         * modules/unictype/category-byname (Files): Add
13160         lib/unictype/categ_byname.gperf.
13161         (Depends-on): Add gperf.
13162         (Makefile.am): Add rule for generating unictype/categ_byname.h.
13163         * tests/unictype/test-categ_byname.c (main): Test the recognition of
13164         long names.
13165
13166         Tests for module 'unictype/category-longname'.
13167         * modules/unictype/category-longname-tests: New file.
13168         * tests/unictype/test-categ_longname.c: New file.
13169
13170         New module 'unictype/category-longname'.
13171         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
13172         * lib/unictype/categ_longname.c: New file.
13173         * modules/unictype/category-longname: New file.
13174         * modules/unictype/category-all (Depends-on): Add it.
13175
13176 2011-03-25  Bruno Haible  <bruno@clisp.org>
13177
13178         Tests for module 'unictype/category-LC'.
13179         * modules/unictype/category-LC-tests: New file.
13180         * tests/unictype/test-categ_LC.c: New file, automatically generated.
13181
13182         New module 'unictype/category-LC'.
13183         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
13184         (UC_CATEGORY_LC): New declaration.
13185         (UC_CASED_LETTER): New macro.
13186         * lib/gen-uni-tables.c (is_category_LC): New function.
13187         (output_categories): Also handle category LC.
13188         (UC_CATEGORY_MASK_LC): New enumeration value.
13189         (general_category_byname): Also handle category LC.
13190         * lib/unictype/categ_LC.c: New file.
13191         * lib/unictype/categ_LC.h: New file, automatically generated.
13192         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
13193         category LC.
13194         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
13195         * modules/unictype/category-LC: New file.
13196         * modules/unictype/category-byname (Depends-on): Add
13197         unictype/category-LC.
13198         * modules/unictype/category-all (Depends-on): Likewise.
13199
13200 2011-03-25  Eric Blake  <eblake@redhat.com>
13201
13202         xmalloc: revert yesterday's regression
13203         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
13204         realloc's underlying behavior (allowing allocation of zero-size
13205         objects, especially if malloc-gnu is also in use).
13206
13207 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
13208
13209         maint.mk: add missing version to VC-tag
13210         * top/maint.mk: git tag was missing actual tag name; add it.
13211
13212         valgrind: do leak checking, and exit with code 1 on error (not 0)
13213         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
13214         to VALGRIND.
13215
13216 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
13217
13218         posix-modules: say what it does.
13219         * posix-modules: Add a line to the --help output saying what it does.
13220
13221 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
13222
13223         xmalloc: Do not leak if underlying realloc is C99 compatible.
13224         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
13225         This avoids a leak on C99-based systems.  See
13226         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
13227
13228 2011-03-24  Eric Blake  <eblake@redhat.com>
13229
13230         realloc: document portability problem
13231         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
13232         passing 0 size to realloc.
13233
13234 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
13235
13236         doc: update users.txt
13237         * users.txt: Add cvsps, tmpwatch
13238
13239 2011-03-23  Matt Rice  <ratmice@gmail.com>
13240
13241         doc: update users.txt
13242         * users.txt: Add gdb.
13243
13244 2011-03-23  Jim Meyering  <meyering@redhat.com>
13245
13246         doc: update users.txt
13247         Looking through matches up to the following URL (there are still
13248         several more pages), I found several projects that use gnulib:
13249         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
13250         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
13251         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
13252
13253 2011-03-22  Bruno Haible  <bruno@clisp.org>
13254
13255         unictype/bidi*: Rename functions.
13256         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
13257         uc_bidi_class, uc_is_bidi_class): New declarations.
13258         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
13259         uc_bidi_category_byname.
13260         (uc_bidi_category_byname): New function.
13261         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
13262         u_bidi_category_name.
13263         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
13264         (uc_bidi_category_name): New function.
13265         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
13266         uc_bidi_category.
13267         (uc_bidi_category): New function.
13268         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
13269         uc_is_bidi_category. Invoke uc_bidi_class.
13270         (uc_is_bidi_category): New function.
13271         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
13272         instead of uc_bidi_category_byname.
13273         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
13274         instead of uc_bidi_category_name.
13275         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
13276         uc_bidi_category.
13277         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
13278         instead of uc_is_bidi_category.
13279
13280 2011-03-21  Bruno Haible  <bruno@clisp.org>
13281
13282         New module 'unictype/joininggroup-all'.
13283         * modules/unictype/joininggroup-all: New file.
13284
13285         Tests for module 'unictype/joininggroup-of'.
13286         * modules/unictype/joininggroup-of-tests: New file.
13287         * tests/unictype/test-joininggroup_of.c: New file.
13288         * tests/unictype/test-joininggroup_of.h: New file, automatically
13289         generated by gen-uni-tables.
13290
13291         New module 'unictype/joininggroup-of'.
13292         * modules/unictype/joininggroup-of: New file.
13293         * lib/unictype/joininggroup_of.c: New file.
13294         * lib/unictype/joininggroup_of.h: New file, automatically generated by
13295         gen-uni-tables.
13296
13297         Tests for module 'unictype/joininggroup-byname'.
13298         * modules/unictype/joininggroup-byname-tests: New file.
13299         * tests/unictype/test-joininggroup_byname.c: New file.
13300
13301         New module 'unictype/joininggroup-byname'.
13302         * modules/unictype/joininggroup-byname: New file.
13303         * lib/unictype/joininggroup_byname.c: New file.
13304         * lib/unictype/joininggroup_byname.gperf: New file.
13305
13306         Tests for module 'unictype/joininggroup-name'.
13307         * modules/unictype/joininggroup-name-tests: New file.
13308         * tests/unictype/test-joininggroup_name.c: New file.
13309
13310         New module 'unictype/joininggroup-name'.
13311         * modules/unictype/joininggroup-name: New file.
13312         * lib/unictype/joininggroup_name.c: New file.
13313         * lib/unictype/joininggroup_name.h: New file.
13314
13315         New module 'unictype/joiningtype-all'.
13316         * modules/unictype/joiningtype-all: New file.
13317
13318         Tests for module 'unictype/joiningtype-of'.
13319         * modules/unictype/joiningtype-of-tests: New file.
13320         * tests/unictype/test-joiningtype_of.c: New file.
13321         * tests/unictype/test-joiningtype_of.h: New file, automatically
13322         generated by gen-uni-tables.
13323
13324         New module 'unictype/joiningtype-of'.
13325         * modules/unictype/joiningtype-of: New file.
13326         * lib/unictype/joiningtype_of.c: New file.
13327         * lib/unictype/joiningtype_of.h: New file, automatically generated by
13328         gen-uni-tables.
13329
13330         Tests for module 'unictype/joiningtype-byname'.
13331         * modules/unictype/joiningtype-byname-tests: New file.
13332         * tests/unictype/test-joiningtype_byname.c: New file.
13333
13334         New module 'unictype/joiningtype-byname'.
13335         * modules/unictype/joiningtype-byname: New file.
13336         * lib/unictype/joiningtype_byname.c: New file.
13337
13338         Tests for module 'unictype/joiningtype-name'.
13339         * modules/unictype/joiningtype-name-tests: New file.
13340         * tests/unictype/test-joiningtype_name.c: New file.
13341
13342         New module 'unictype/joiningtype-name'.
13343         * modules/unictype/joiningtype-name: New file.
13344         * lib/unictype/joiningtype_name.c: New file.
13345
13346         unictype: Add support for Arabic shaping properties.
13347         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
13348         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
13349         declarations.
13350         (UC_JOINING_GROUP_*): New enumeration values.
13351         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
13352         declarations.
13353         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
13354         (unicode_joining_type): New variable.
13355         (UC_JOINING_GROUP_*): New enumeration values.
13356         (unicode_joining_group): New variable.
13357         (fill_arabicshaping, joining_type_as_c_identifier,
13358         output_joining_type_test, output_joining_type,
13359         joining_group_as_c_identifier, output_joining_group_test,
13360         output_joining_group): New functions.
13361         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
13362         fill_arabicshaping and output_joining_type_test, output_joining_type,
13363         output_joining_group_test, output_joining_group.
13364         Reported by Simon Josefsson.
13365
13366 2011-03-21  Jim Meyering  <meyering@redhat.com>
13367
13368         strftime: fix a bug in yesterday's change
13369         * lib/strftime.c (add): Accommodate width's initial value of -1.
13370         Otherwise, nstrftime would copy uninitialized data into
13371         the result buffer.
13372
13373 2011-03-21  Jim Meyering  <meyering@redhat.com>
13374
13375         tests: add strftime-tests module
13376         * tests/test-strftime.c: New file.
13377         * modules/strftime-tests: New module.
13378
13379 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13380
13381         strftime: don't assume a byte count fits in 'int'
13382         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
13383         found this problem by static analysis, using gcc -Wstrict-overflow
13384         (GCC 4.5.2, x86-64).  This reported an optimization that depended
13385         on an integer overflow having undefined behavior, but it turns out
13386         that the argument is a size, which might not fit in 'int' anyway,
13387
13388 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13389
13390         stdio: don't require ignore_value around fwrite
13391
13392         This patch works around libc bug 11959
13393         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
13394         Without this patch, applications must often write
13395         ignore_value (fwrite (...)) even though the ignore_value is
13396         not helpful here.  It's common to write many objects, using
13397         fwrite/printf/etc., and then use ferror to detect output error.
13398
13399         I considered making this patch optional, but decided against it,
13400         because libc is obviously being inconsistent here: there is no
13401         reason libc should insist that user code must inspect fwrite
13402         return's value without also insisting that it inspect printf's,
13403         putchar's, etc.  If user code wants to have a strict style where
13404         all these functions' values are checked (so that ferror need not
13405         be checked), we could add support for that style in a new gnulib
13406         module, but in the meantime it's better to be consistent and to
13407         support common usage.
13408
13409         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
13410         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
13411         that we are compiling in checking mode, and if not C++, and
13412         if not already wrapping fwrite for some other reason.
13413         (fwrite): #define to rpl_fwrite if the latter is defined.
13414
13415 2011-03-20  Bruno Haible  <bruno@clisp.org>
13416
13417         verror: Fix compilation error introduced on 2011-02-13.
13418         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
13419         instead of __attribute__.
13420         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13421
13422 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13423             Bruno Haible  <bruno@clisp.org>
13424
13425         socklen: do not depend on sys_socket
13426         While trying to modify Emacs to use gnulib's socklen module,
13427         I discovered a circular dependency: socklen depends on sys_socket
13428         and vice versa.  Emacs can use socklen, but it does not need
13429         sys_socket because it has its own substitute for sys/socket.h.
13430         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
13431         gl_TYPE_SOCKLEN_T.
13432         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
13433         gl_PREREQ_SYS_H_SOCKET.
13434         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
13435         gl_PREREQ_SYS_H_SOCKET.
13436         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
13437         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
13438         * modules/socklen (Depends-on): Do not depend on sys_socket.
13439         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
13440
13441 2011-03-20  Jim Meyering  <meyering@redhat.com>
13442
13443         maint.mk: sort file names *after* new transformation
13444         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
13445         prefix would have led to an unwarranted failure in GNU parted.
13446         Sort after that transformation.
13447
13448 2011-03-19  Jim Meyering  <meyering@redhat.com>
13449
13450         maint.mk: fix po-file syntax-check rule
13451         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
13452         Patch by Bruno Haible.
13453
13454 2011-03-19  Bruno Haible  <bruno@clisp.org>
13455
13456         socklen: Update comment.
13457         * m4/socklen.m4: Update comment about platforms.
13458
13459 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13460             Bruno Haible  <bruno@clisp.org>
13461
13462         inet_ntop, inet_pton: Simplify.
13463         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
13464         documented to provide socklen_t and we already depend on sys_socket.
13465         * modules/inet_pton (Depends-on): Likewise.
13466         * lib/arpa_inet.in.h: Adjust comment.
13467
13468 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13469             Bruno Haible  <bruno@clisp.org>
13470
13471         netdb: Simplify.
13472         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
13473         documented to provide socklen_t and we already depend on sys_socket.
13474         * lib/netdb.in.h: Adjust comment.
13475
13476 2011-03-19  Bruno Haible  <bruno@clisp.org>
13477
13478         sys_socket, netdb: Document problem with socklen_t.
13479         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
13480         platforms.
13481         * doc/posix-headers/netdb.texi: Likewise.
13482
13483 2011-03-18  Eric Blake  <eblake@redhat.com>
13484
13485         maint.mk: let po check work in VPATH build
13486         * top/maint.mk (po_file): Allow cfg.mk override.
13487         (sc_po_check): Allow VPATH use.
13488         Reported by Jiri Denemark.
13489
13490 2011-03-16  Jim Meyering  <meyering@redhat.com>
13491
13492         maint.mk: allow fine-grained syntax-check exclusion via Make variables
13493         Before, you would have had to create one .x-sc_ file per rule in order
13494         to exempt offending files.  Now, you may instead use a Make variable --
13495         usually defined in cfg.mk -- whose name identifies the affected rule.
13496         * top/maint.mk (_sc_excl): Define.
13497         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
13498         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
13499
13500 2011-03-13  Bruno Haible  <bruno@clisp.org>
13501
13502         ignore-value tests: Avoid warnings.
13503         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
13504         empty for gcc < 3.4.
13505
13506 2011-03-13  Bruno Haible  <bruno@clisp.org>
13507
13508         passfd: Fix link error on Solaris.
13509         * modules/passfd (Description): Correct.
13510         (Depends-on): Add socketlib.
13511         (Link): New section.
13512         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
13513
13514 2011-03-13  Bruno Haible  <bruno@clisp.org>
13515
13516         passfd: Fix link error on AIX 5.2.
13517         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
13518
13519 2011-03-13  Bruno Haible  <bruno@clisp.org>
13520
13521         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
13522         * lib/sys_socket.in.h: Include <stddef.h>.
13523         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
13524         CMSG_FIRSTHDR. Remove unused variable.
13525
13526 2011-03-13  Bruno Haible  <bruno@clisp.org>
13527
13528         passfd: Fix compilation error on OpenBSD.
13529         * lib/passfd.c: Include <sys/uio.h>.
13530
13531 2011-03-13  Bruno Haible  <bruno@clisp.org>
13532
13533         passfd test: Fix warnings.
13534         * tests/test-passfd.c: Include <sys/wait.h>.
13535         (main): Fix typo.
13536
13537 2011-03-13  Bruno Haible  <bruno@clisp.org>
13538
13539         passfd module, part 4, tweaks.
13540         * tests/test-passfd.c: Reorder includes.
13541         (main): Fix perror and printf calls.
13542
13543 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13544
13545         passfd module, part 4.
13546         * modules/passfd-tests: New file.
13547         * tests/test-passfd.c: New file.
13548
13549 2011-03-13  Jim Meyering  <meyering@redhat.com>
13550
13551         Makefile: rely on GNU make; derive syntax-check rule names
13552         Rather than requiring that each sc_ rule be listed as a dependent
13553         of "check", use features of GNU make to derive the list.
13554         * Makefile (syntax-check-rules): Define.
13555         (check): Depend on the new variable, not the hard-coded list.
13556
13557 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
13558             Bruno Haible  <bruno@clisp.org>
13559
13560         passfd module, part 3.
13561         * lib/passfd.h (recvfd): Add a flags argument.
13562         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
13563         (recvfd): Add a flags argument.
13564         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
13565         exists.
13566         * modules/passfd (Depends-on): Add cloexec.
13567         Suggested by Eric Blake.
13568
13569 2011-03-13  Bruno Haible  <bruno@clisp.org>
13570
13571         passfd module, part 2, tweaks.
13572         * modules/passfd (Files): Reorder.
13573         (Depends-on): Remove errno.
13574         (Include): Remove <sys/socket.h>, <sys/un.h>.
13575         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
13576         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
13577         specification header. Include <sys/socket.h> always. Don't include
13578         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
13579         (sendfd): Clarify that it sets errno when it fails.
13580         (recvfd): Fix specification.
13581
13582 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13583
13584         passfd module, part 2.
13585         * modules/passfd: New file.
13586         * lib/passfd.h: New file.
13587         * lib/passfd.c: New file.
13588
13589 2011-03-12  Bruno Haible  <bruno@clisp.org>
13590
13591         wcswidth, mbswidth: Avoid integer overflow.
13592         * lib/wcswidth.c: Include <limits.h>.
13593         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
13594         * lib/mbswidth.c: Include <limits.h>.
13595         (mbsnwidth): Avoid 'int' overflow.
13596         Reported by Jim Meyering.
13597
13598 2011-03-12  Bruno Haible  <bruno@clisp.org>
13599
13600         futimens, utimensat: Avoid endless recursion on Solaris 10.
13601         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
13602         Solaris.
13603         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
13604         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
13605
13606 2011-03-11  Jim Meyering  <meyering@redhat.com>
13607
13608         maint.mk: relax a regexp to accommodate other formatting styles
13609         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
13610         between "ngettext" and the following "(".
13611
13612 2011-03-11  Pádraig Brady <P@draigBrady.com>
13613
13614         maint.mk: suppress a false positive warning
13615         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
13616         diagnostics are marked with ngettext.
13617
13618 2011-03-10  Eric Blake  <eblake@redhat.com>
13619
13620         wchar: add explicit dependencies, for Tru64
13621         * modules/mbmemcasecoll (Depends-on): Add wchar.
13622         * modules/mbtowc (Depends-on): Likewise.
13623         * modules/vasnprintf (Depends-on): Likewise.
13624         * modules/unistdio/u-printf-args (Depends-on): Likewise.
13625         * modules/wctomb (Depends-on): Likewise.
13626         Reported by Peter O'Gorman.
13627
13628 2011-03-08  Bruno Haible  <bruno@clisp.org>
13629
13630         passfd module, part 1, tweaks.
13631         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
13632         Improve indentation. Improve AC_MSG_CHECKING messages.
13633         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
13634         gl_SOCKET_FAMILIES.
13635
13636 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13637
13638         passfd module, part 1.
13639         * m4/afunix.m4: New file.
13640         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
13641         sockets.
13642
13643 2011-03-08  Bruno Haible  <bruno@clisp.org>
13644
13645         regex-quote: New API.
13646         * lib/regex-quote.h: Include <stdbool.h>.
13647         (struct regex_quote_spec): New type.
13648         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13649         New declarations.
13650         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13651         'const struct regex_quote_spec *' argument.
13652         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
13653         (pcre_special): New constant.
13654         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13655         New functions.
13656         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13657         'const struct regex_quote_spec *' argument.
13658         * modules/regex-quote (Depends-on): Add stdbool.
13659         * tests/test-regex-quote.c (check): Update for new API. Add test for
13660         anchored results.
13661         * NEWS: Mention the API change.
13662         Reported by Reuben Thomas and Eric Blake.
13663
13664 2011-03-06  Bruno Haible  <bruno@clisp.org>
13665
13666         regex-quote: Fix creation of POSIX extended regular expressions.
13667         * lib/regex-quote.c (ere_special): Add grouping and alternation
13668         operators.
13669
13670 2011-03-05  Bruno Haible  <bruno@clisp.org>
13671
13672         doc: Improve doc regarding autopoint vs. gnulib.
13673         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
13674         disable autopoint while running autoreconf.
13675         Suggested by Ralf Wildenhues.
13676
13677 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13678
13679         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
13680         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
13681
13682 2011-03-03  Bruce Korb  <bkorb@gnu.org>
13683
13684         parse-duration: remove xalloc.h dependency
13685         * lib/parse-duration.c (parse_period): handle NULL return from
13686         strdup instead of calling xstrdup().
13687         * modules/parse-duration: remove "xalloc" dependency
13688
13689 2011-03-03  Matthew Booth  <mbooth@redhat.com>
13690
13691         bootstrap: honor m4_base when running aclocal
13692         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
13693
13694 2011-03-02  Jim Meyering  <meyering@redhat.com>
13695
13696         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
13697         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
13698         on request from Matt Booth.
13699
13700 2011-03-01  Eric Blake  <eblake@redhat.com>
13701
13702         test-link: work on Hurd
13703         * tests/test-link.h (test_link): Hurd rejects linking directories
13704         with EISDIR instead of the POSIX-mandated EPERM.
13705
13706 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
13707
13708         stdio: simplify by moving files to printf-posix, sigpipe
13709         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
13710         since this symbol is needed only if printf is replaced.
13711         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
13712         Require gl_ASM_SYMBOL_PREFIX.
13713         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
13714         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
13715         (Depends-on): Add 'raise'.
13716         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
13717         * modules/stdio (Files): Remove lib/stdio-write.c,
13718         m4/asm-underscore.m4.
13719         (Depends-on): Remove 'raise'.
13720
13721         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
13722         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
13723         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
13724         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
13725
13726 2011-02-28  Bruno Haible  <bruno@clisp.org>
13727
13728         localcharset: Assume ANSI C behaviour of free().
13729         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
13730         calling free().
13731         Suggested by Simon Josefsson <simon@josefsson.org>.
13732
13733 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
13734             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
13735             Bruno Haible  <bruno@clisp.org>  (tiny change)
13736
13737         On Cygwin, use /proc file system instead of win32 API.
13738         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
13739         Win32 file names.
13740         (DllMain): Simplify by removing Cygwin specific code.
13741         (find_shared_library_fullname): Use Linux specific implementation also
13742         for Cygwin.
13743         (get_shared_library_fullname): Update accordingly.
13744         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
13745         Win32 file names.
13746         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
13747         Cygwin specific code.
13748
13749 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
13750             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
13751
13752         Fix OpenMP flag detection for various Fortran compilers.
13753         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
13754         OpenMP-conditional compilation construct, to force compile
13755         failure with missing OpenMP flag.
13756         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
13757
13758 2011-02-25  Eric Blake  <eblake@redhat.com>
13759
13760         strstr: expand test coverage
13761         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
13762         compilation.
13763         * tests/test-memmem.c (main): Duplicate tests.
13764         * tests/test-strcasestr.c (main): Likewise.
13765         * tests/test-c-strcasestr.c (main): Likewise.
13766
13767 2011-02-25  Jim Meyering  <meyering@redhat.com>
13768
13769         maint.mk: detect missing-NL-at-EOF, too
13770         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
13771         it also detects when a file lacks a newline at EOF.
13772         (require_exactly_one_NL_at_EOF_): Renamed from
13773         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
13774         since people may well have .x-sc_... file names tied to the
13775         existing name.  Suggested by Eric Blake.
13776
13777 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13778
13779         dirname: move m4/dos.m4 functionality into lib/dosname.h
13780
13781         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
13782         extracts symbols from it, puts them into config.h; but it's much
13783         easier to use the symbols directly.  filename.h already does this,
13784         but it disagrees with dos.m4 in some respects.  This patch
13785         introduces a different include file dosname.h that packages up
13786         dos.m4, and then later we can work on merging filename.h and
13787         dosname.h.  Applications that need only the easy-to-configure
13788         symbols should consider including dosname.h rather than dirname.h.
13789         * NEWS: Mention incompatible changes.
13790         * m4/dos.m4: Remove.
13791         * lib/dosname.h, modules/dosname: New files.
13792         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
13793         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
13794         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
13795         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
13796         Include dosname.h, not dirname.h.
13797         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
13798         Include dosname.h, for definitions of symbols like ISSLASH
13799         that used to be in config.h.
13800         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
13801         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13802         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13803         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13804         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
13805         * modules/rmdir (Files): Likewise.
13806         * modules/stat (Files): Likewise.
13807         * modules/unlink (Files): Likewise.
13808         * modules/dirname-lgpl (Depends-on): Add dosname.
13809         * modules/lstat (Depends-on): Likewise.
13810         * modules/openat (Depends-on): Likewise.
13811         * modules/rmdir (Depends-on): Likewise.
13812         * modules/savewd (Depends-on): Likewise.
13813         * modules/stat (Depends-on): Likewise.
13814         * modules/unlink (Depends-on): Likewise.
13815         * modules/openat (Depends-on): Remove dirname-lgpl.
13816         * modules/savewd (Depends-on): Likewise.
13817         * tests/test-dirname.c: Do not use removed symbols like
13818         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
13819         the remaining symbols, e.g., ISSLASH ('\\').
13820
13821 2011-02-25  Eric Blake  <eblake@redhat.com>
13822
13823         strstr: revert patches that introduced bug and pessimization
13824         * lib/str-two-way.h: Add another reference.
13825         (two_way_short_needle, two_way_long_needle): Revert changes from
13826         2011-02-24; they pessimize search speed.
13827         (critical_factorization): Partially revert changes from
13828         2010-06-22; they violate the requirement that the left half of the
13829         needle be smaller than the period of the needle.
13830
13831 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13832
13833         filenamecat: remove unnecessary dependency on dirname-lgpl
13834         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
13835         is no direct dependency, just an indirect one via filenamecat-lgpl.
13836
13837         remove: remove unnecessary use of m4/dos.m4
13838         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13839         * modules/remove (FILES): Remove m4/dos.m4.
13840
13841         * lib/openat-proc.c: Don't include dirname.h; not needed.
13842
13843         backupfile: remove unnecessary use of m4/dos.m4
13844         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13845         of its symbols are used by the backupfile code.  backupfile.c does
13846         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13847         for the rare case of programs that want all their backup file
13848         names to live within 8+3 limits, and dos.m4 doesn't address that.
13849         * modules/backupfile (Files): Remove m4/dos.m4.
13850
13851 2011-02-24  Jim Meyering  <meyering@redhat.com>
13852
13853         strstr: fix a bug whereby strstr would mistakenly return NULL
13854         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13855         in period calculation.
13856         (two_way_long_needle): Likewise.
13857         The original problem was reported by Mike Stump in
13858         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13859         Ralf Wildenhues provided the short needle and haystack.
13860         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13861         Add a more involved test to trigger the bug in two_way_long_needle.
13862
13863 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13864
13865         gnulib-tool: remove use of bold display in help screen
13866         * gnulib-tool (func_usage): Do not use bold display anymore in the
13867         help screen.  That was just meant to be a temporary emphasis for a
13868         backward-incompatible change.
13869
13870 2011-02-23  Bruno Haible  <bruno@clisp.org>
13871
13872         Fix misindentation of preprocessor directives.
13873         * lib/argp-namefrob.h: Reindent preprocessor directives.
13874         * lib/getopt_int.h (struct _getopt_data): Likewise.
13875         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13876         * lib/vasnprintf.c (decode_long_double): Likewise.
13877         * tests/test-argmatch.c: Insert blank lines, for clarity.
13878         * tests/test-exclude.c: Likewise.
13879
13880 2011-02-22  Bruno Haible  <bruno@clisp.org>
13881
13882         ioctl: Fix for MacOS X in 64-bit mode.
13883         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13884         value.
13885         Suggested by Eric Blake.
13886         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13887
13888 2011-02-22  Jim Meyering  <meyering@redhat.com>
13889
13890         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13891         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13892         in lib/.
13893
13894 2011-02-22  Eric Blake  <eblake@redhat.com>
13895
13896         maint: avoid any CDPATH issue
13897         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13898
13899         maint: adjust cpp indentation for my modules, as well
13900         * Makefile (sc_cpp_indent_check): Add my name.
13901         * lib/fbufmode.c: Filter through cppi.
13902         * lib/fpurge.c: Likewise.
13903         * lib/freadable.c: Likewise.
13904         * lib/freading.c: Likewise.
13905         * lib/fwritable.c: Likewise.
13906         * lib/fwriting.c: Likewise.
13907         * lib/sigaction.c: Likewise.
13908
13909 2011-02-22  Jim Meyering  <meyering@redhat.com>
13910
13911         maint: adjust cpp indentation to reflect nesting depth
13912         I.e., in a block of code that begins with an unnested "#if",
13913         put one space between the "#" in column 1 and following token.
13914         For example,
13915         -#include <sys/vfs.h>
13916         +# include <sys/vfs.h>
13917         Do this only in .c files that are part of a module I maintain.
13918         * lib/linkat.c: Filter through cppi.
13919         * lib/nanosleep.c: Likewise.
13920         * lib/openat.c: Likewise.
13921         * lib/openat-die.c: Likewise.
13922         * lib/dup3.c: Likewise.
13923         * lib/fchownat.c: Likewise.
13924         * lib/flock.c: Likewise.
13925         * lib/fsync.c: Likewise.
13926         * lib/fts.c: Likewise.
13927         * lib/getpass.c: Likewise.
13928         * lib/gettimeofday.c: Likewise.
13929         * lib/userspec.c: Likewise.
13930         * Makefile (sc_cpp_indent_check): New rule, to check this.
13931
13932 2011-02-22  Bruno Haible  <bruno@clisp.org>
13933
13934         New module 'wctomb'.
13935         * lib/stdlib.in.h (wctomb): New declaration.
13936         * lib/wctomb.c: New file.
13937         * lib/wctomb-impl.h: New file.
13938         * m4/wctomb.m4: New file.
13939         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13940         REPLACE_WCTOMB.
13941         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13942         REPLACE_WCTOMB.
13943         * modules/wctomb: New file.
13944         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13945         * doc/posix-functions/wctomb.texi: Mention the new module.
13946         * modules/wctob (Depends-on): Add wctomb.
13947
13948 2011-02-22  Bruno Haible  <bruno@clisp.org>
13949
13950         New module 'mbtowc'.
13951         * lib/stdlib.in.h (mbtowc): New declaration.
13952         * lib/mbtowc.c: New file.
13953         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13954         * m4/mbtowc.m4: New file.
13955         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13956         REPLACE_MBTOWC.
13957         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13958         REPLACE_MBTOWC.
13959         * modules/mbtowc: New file.
13960         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13961         * doc/posix-functions/mbtowc.texi: Mention the new module.
13962         * modules/btowc (Depends-on): Add mbtowc.
13963
13964 2011-02-22  Bruno Haible  <bruno@clisp.org>
13965
13966         wcrtomb: Add more tests for native Windows platforms.
13967         * tests/test-wcrtomb-w32-1.sh: New file.
13968         * tests/test-wcrtomb-w32-2.sh: New file.
13969         * tests/test-wcrtomb-w32-3.sh: New file.
13970         * tests/test-wcrtomb-w32-4.sh: New file.
13971         * tests/test-wcrtomb-w32-5.sh: New file.
13972         * tests/test-wcrtomb-w32.c: New file.
13973         * modules/wcrtomb-tests (Files): Add them.
13974         (Makefile.am): Arrange to run these tests.
13975         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13976         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13977
13978 2011-02-20  Bruno Haible  <bruno@clisp.org>
13979
13980         wcrtomb: Enhance test.
13981         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13982
13983 2011-02-20  Bruno Haible  <bruno@clisp.org>
13984
13985         mbrtowc: Tiny optimization.
13986         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13987
13988 2011-02-20  Jim Meyering  <meyering@redhat.com>
13989
13990         test-exclude.c: remove unmatched #endif
13991         * tests/test-exclude.c: Remove stray #endif, left over from
13992         the change of a week ago.
13993
13994 2011-02-19  Jim Meyering  <meyering@redhat.com>
13995
13996         git-version-gen: skip "-dirty" check when appropriate
13997         * build-aux/git-version-gen: Don't run any git commands when the
13998         version string comes from .tarball-version.  Prior to this, we
13999         would run git update-index --refresh even from a just-unpacked
14000         tarball directory, and that could affect a .git/ directory in a
14001         parent of the build directory.  Reported by Mike Frysinger.
14002
14003 2011-02-19  Bruno Haible  <bruno@clisp.org>
14004
14005         unictype/property-byname: Reduce the size of the 'data' segment.
14006         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
14007
14008 2011-02-19  Bruno Haible  <bruno@clisp.org>
14009
14010         unictype/scripts: Reduce the size of the 'data' segment.
14011         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
14012         '%pic'.
14013         * lib/unictype/scripts_byname.gperf: Regenerated.
14014
14015 2011-02-19  Bruno Haible  <bruno@clisp.org>
14016
14017         stdint: Update documentation.
14018         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
14019
14020 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
14021
14022         stdint: omit redundant check for wchar.h
14023         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
14024         always tests whether wchar.h exists, so remove the now-redundant test.
14025
14026 2011-02-18  Bruno Haible  <bruno@clisp.org>
14027
14028         stdint: Cut dependency to module 'wchar'.
14029         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
14030         include the necessary prerequisites.
14031         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
14032         * modules/stdint (Depends-on): Remove wchar.
14033         (Makefile.am): Substitute HAVE_WCHAR_H.
14034         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
14035
14036 2011-02-18  Eric Blake  <eblake@redhat.com>
14037
14038         longlong: skip, rather than fail, on cross-compilation
14039         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
14040         when cross-compiling; regression from 2011-02-16.
14041
14042 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
14043
14044         * NEWS: Mention 2011-02-08 change to stdlib.
14045
14046 2011-02-17  Bruno Haible  <bruno@clisp.org>
14047
14048         getloadavg: Add comments about platforms.
14049         * m4/getloadavg.m4: Add comment.
14050         * lib/getloadavg.c: Likewise.
14051
14052 2011-02-17  Bruno Haible  <bruno@clisp.org>
14053
14054         getloadavg: Fix link error on Solaris 2.6.
14055         * modules/getloadavg (Link): New section.
14056         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
14057         linking test-getloadavg.
14058         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
14059         getloadavg.
14060
14061 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
14062
14063         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
14064         It was 'int', but this doesn't match the IRIX 6.5 manual.
14065         Suggested by Bruno Haible in
14066         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
14067
14068 2011-02-17  Bruno Haible  <bruno@clisp.org>
14069
14070         havelib: Fix comments.
14071         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
14072         change.
14073
14074 2011-02-17  Bruno Haible  <bruno@clisp.org>
14075
14076         havelib: Update config.rpath.
14077         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
14078
14079 2011-02-17  Bruno Haible  <bruno@clisp.org>
14080
14081         getloadavg test: Add some plausibility checks.
14082         * tests/test-getloadavg.c (check_avg): Print a warning when the value
14083         is improbable.
14084
14085 2011-02-16  Eric Blake  <eblake@redhat.com>
14086
14087         maintainer-makefile: make syntax-check a no-op from tarballs
14088         * top/maint.mk (no-vc-detected): New rule.
14089         (local-checks-available): Use it to avoid hanging if someone tries
14090         'make syntax-check' from a tarball.  Also append to any non-syntax
14091         checks already defined in cfg.mk.
14092
14093 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
14094
14095         longlong: tune, particularly for common case of c99
14096
14097         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
14098         or running anything if c99, or if unsigned long long int does not
14099         work.  In either case, we know the answer without further tests.
14100         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
14101         it at most once, and use its results for both long long int and
14102         unsigned long long int.  This is more likely to be efficient in
14103         the common case where the program wants to check for both long
14104         long int and unsigned long long int.
14105         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
14106         since the answer is already known.
14107
14108 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
14109
14110         getloadavg: set errno
14111         * lib/getloadavg.c: Set errno when returning -1.  If no other
14112         error number looks appropriate, set it to ENOSYS if the getloadavg
14113         looks like it can't possibly ever work, ENOTSUP otherwise.
14114         Suggested by Bruno Haible in
14115         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
14116
14117         getloadavg: trim unused parts and speed up 'configure'
14118         * NEWS: Document this.
14119         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
14120         always compiled if getloadavg is absent.
14121         Move test code to ...
14122         * tests/test-getloadavg.c: New file, containing previous
14123         contents of test from lib/getloadavg.c.  It also contains
14124         suggestions by Bruno Haible in
14125         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
14126         * modules/getloadavg-tests: New file.
14127         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
14128         Do tests in the same order as they're needed for getloadavg.c.
14129         Omit setgid-related tests that generate symbols KMEM_GROUP,
14130         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
14131         Do only the tests that are needed to see whether the system has
14132         getloadavg, moving the other tests into ...
14133         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
14134         NLIST_NAME_UNION; nobody should be using it.  Do not define
14135         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
14136         relevant, as the user of this module shouldn't care how getloadavg
14137         is implemented.
14138
14139         getloadavg: omit unused var
14140         * lib/getloadavg.c (getloadavg): Omit unused local variable.
14141
14142 2011-02-15  Jim Meyering  <meyering@redhat.com>
14143
14144         doc: update users.txt
14145         * users.txt: Update iwhd's URL.
14146
14147 2011-02-13  Bruno Haible  <bruno@clisp.org>
14148
14149         Consistent macro naming for macros that use GCC __attribute__.
14150         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
14151         _ATTRIBUTE_NONNULL_.
14152         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
14153         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
14154         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
14155         ATTRIBUTE_DEPRECATED.
14156         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
14157         ATTRIBUTE_NORETURN.
14158         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
14159         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
14160         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
14161         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
14162         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
14163         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
14164         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
14165         ATTRIBUTE_SENTINEL.
14166         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
14167         ATTRIBUTE_RETURN_CHECK.
14168         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
14169         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
14170         ATTRIBUTE_NORETURN.
14171         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
14172         Reported by Paul Eggert.
14173
14174 2011-02-13  Bruno Haible  <bruno@clisp.org>
14175
14176         Don't interfere with a program's definition of __attribute__.
14177         * lib/argp.h (__attribute__): Remove definition.
14178         (_GL_ATTRIBUTE_FORMAT): New macro.
14179         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
14180         * lib/argp-fmtstream.h (__attribute__): Remove definition.
14181         (_GL_ATTRIBUTE_FORMAT): New macro.
14182         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
14183         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
14184         GCC 3 or newer.
14185         * lib/error.h (__attribute__): Remove definition.
14186         (_GL_ATTRIBUTE_FORMAT): New macro.
14187         (error, error_at_line): Use it.
14188         * lib/hash.h (__attribute__): Remove definition.
14189         (ATTRIBUTE_WUR): Update definition. Define always.
14190         * lib/openat.h (__attribute__): Remove definition.
14191         (ATTRIBUTE_NORETURN): Update definition. Define always.
14192         * lib/sigpipe-die.h (__attribute__): Remove definition.
14193         (ATTRIBUTE_NORETURN): Update definition. Define always.
14194         * lib/vasnprintf.h (__attribute__): Remove definition.
14195         (_GL_ATTRIBUTE_FORMAT): New macro.
14196         (asnprintf, vasnprintf): Use it.
14197         * lib/xalloc.h (__attribute__): Remove definition.
14198         (ATTRIBUTE_NORETURN): Update definition. Define always.
14199         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
14200         * lib/xmemdup0.h (__attribute__): Remove definition.
14201         (ATTRIBUTE_NORETURN): Update definition. Define always.
14202         * lib/xprintf.h (__attribute__): Remove definition.
14203         (_GL_ATTRIBUTE_FORMAT): New macro.
14204         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
14205         * lib/xstrtol.h (__attribute__): Remove definition.
14206         (ATTRIBUTE_NORETURN): Update definition. Define always.
14207         * lib/xvasprintf.h (__attribute__): Remove definition.
14208         (_GL_ATTRIBUTE_FORMAT): New macro.
14209         (xasprintf, xvasprintf): Use it.
14210         * tests/test-argmatch.c (__attribute__): Remove definition.
14211         (ATTRIBUTE_NORETURN): Update definition. Define always.
14212         * tests/test-exclude.c (__attribute__): Remove definition.
14213         (ATTRIBUTE_NORETURN): Update definition. Define always.
14214         Reported by Paul Eggert.
14215
14216 2011-02-13  Bruno Haible  <bruno@clisp.org>
14217
14218         mbrtowc: Add more tests for native Windows platforms.
14219         * tests/test-mbrtowc-w32-1.sh: New file.
14220         * tests/test-mbrtowc-w32-2.sh: New file.
14221         * tests/test-mbrtowc-w32-3.sh: New file.
14222         * tests/test-mbrtowc-w32-4.sh: New file.
14223         * tests/test-mbrtowc-w32-5.sh: New file.
14224         * tests/test-mbrtowc-w32.c: New file.
14225         * modules/mbrtowc-tests (Files): Add them.
14226         (Makefile.am): Arrange to run these tests.
14227         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
14228         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
14229
14230 2011-02-13  Bruno Haible  <bruno@clisp.org>
14231
14232         mbrtowc: Work around native Windows bug.
14233         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
14234         guess when no suitable locale for testing was found.
14235         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
14236
14237 2011-02-13  Bruno Haible  <bruno@clisp.org>
14238
14239         mbsinit: Work around mingw bug.
14240         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
14241         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
14242         Windows.
14243         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
14244
14245 2011-02-13  Bruno Haible  <bruno@clisp.org>
14246
14247         mbsinit: Don't crash for a NULL argument.
14248         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
14249         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
14250
14251 2011-02-13  Bruno Haible  <bruno@clisp.org>
14252
14253         Don't interfere with a program's definition of __attribute__.
14254         * lib/stdio.in.h (__attribute__): Remove definition.
14255         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
14256         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
14257         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
14258         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
14259         * lib/string.in.h (__attribute__): Remove definition.
14260         Reported by Paul Eggert.
14261
14262 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
14263
14264         stdlib: don't get in the way of non-GCC __attribute__
14265         See thread starting at
14266         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
14267         Revert previous stdlib change, installing the following instead:
14268         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
14269         to get in the way of a non-GCC compiler that supports __attribute__.
14270         (_GL_ATTRIBUTE_RETURN): New macro.
14271         (_Exit): Use it instead of __attribute__.
14272
14273 2011-02-12  Bruno Haible  <bruno@clisp.org>
14274
14275         quotearg test: Avoid test failure on mingw.
14276         * tests/test-quotearg.sh: Convert the locale identifier from native
14277         Windows syntax to Unix syntax.
14278
14279 2011-02-12  Bruno Haible  <bruno@clisp.org>
14280
14281         setlocale: Prefer gnulib's override over libintl's override.
14282         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
14283         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
14284         GNULIB_defined_setlocale is set.
14285
14286 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
14287
14288         stdlib: support non-GCC __attribute__
14289
14290         Fix a serious and tricky problem encountered when attempting to
14291         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
14292         5.5, but it crashed due to memory corruption on Solaris 10 with
14293         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
14294         bits that are otherwise zero.  This tagging is optional inside
14295         Emacs but is preferred and is used when __attribute__ ((__aligned
14296         (8))) works, as it does with both recent-enough GCC and with Sun C
14297         5.11.  However, Sun C 5.11 is not GCC and does not #define
14298         __GNUC__ and __GNUC_MINOR__.
14299
14300         When I added the getloadavg module to Emacs, it brought in
14301         stdlib.in.h, which contained this fragment:
14302
14303            #ifndef __attribute__
14304            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
14305            #  define __attribute__(Spec)   /* empty */
14306            # endif
14307            #endif
14308
14309         When files that include <stdlib.h> were compiled with Sun C 5.11,
14310         the above code disabled __attribute__ ((__aligned (8))), which
14311         caused variables to not be properly aligned, which eventually led
14312         to the pointer corruption mentioned above.  (This was a bit hard
14313         to diagnose, unfortunately.)
14314
14315         Several "#define __attribute__(X) /* empty */" code snippets need
14316         to be eradicated from Gnulib to work with non-GCC compilers that
14317         support __attribute__.  The Autoconf way to do this is to test for
14318         each kind of attribute that we want support for, and selectively
14319         enable that in source code.
14320
14321         Fix this problem just for stdlib.h, by adding a test for the
14322         __noreturn__ attribute, and change stdlib.in.h to use that test
14323         when needed.  This technique can be easily generalized to the
14324         other *.in.h files and attributes, and a similar technique can be
14325         used for *.h and *.c files.  This patch is enough to solve the
14326         problem for Emacs + getloadavg, and I thought I'd publish it for
14327         feedback before undertaking further, similar fixes in other
14328         modules.
14329
14330         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
14331         because it's not needed for stdlib.h.  It merely substitutes the
14332         value directly into stdlib.h.  We may well need to #define it, or
14333         similar symbols, for other modules, but it's nice to also have an
14334         option to not #define it for applications like Emacs that do not
14335         need it.
14336
14337         * lib/stdlib.in.h (__attribute__): Do not #define.
14338         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
14339         be defined only if the _Exit module is also used.
14340         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
14341         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
14342         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
14343         platforms.
14344         * modules/_Exit (Files): Add m4/attribute.m4.
14345         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
14346         * m4/attribute.m4: New file.
14347
14348 2011-02-12  Bruno Haible  <bruno@clisp.org>
14349
14350         wcsrtombs: Work around bug on native Windows.
14351         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
14352         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
14353         instead of len.
14354         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
14355
14356 2011-02-12  Bruno Haible  <bruno@clisp.org>
14357
14358         mbsrtowcs: Work around bug on native Windows.
14359         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
14360         against mingw bug.
14361         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
14362
14363 2011-02-12  Bruno Haible  <bruno@clisp.org>
14364
14365         Avoid setlocale bugs in tests.
14366         * modules/btowc (Dependencies): Add setlocale.
14367         * modules/c-strcase (Dependencies): Likewise.
14368         * modules/mbmemcasecmp (Dependencies): Likewise.
14369         * modules/mbmemcasecoll (Dependencies): Likewise.
14370         * modules/mbrtowc (Dependencies): Likewise.
14371         * modules/mbscasecmp (Dependencies): Likewise.
14372         * modules/mbscasestr (Dependencies): Likewise.
14373         * modules/mbschr (Dependencies): Likewise.
14374         * modules/mbscspn (Dependencies): Likewise.
14375         * modules/mbsinit (Dependencies): Likewise.
14376         * modules/mbsncasecmp (Dependencies): Likewise.
14377         * modules/mbsnrtowcs (Dependencies): Likewise.
14378         * modules/mbspbrk (Dependencies): Likewise.
14379         * modules/mbspcasecmp (Dependencies): Likewise.
14380         * modules/mbsrchr (Dependencies): Likewise.
14381         * modules/mbsrtowcs (Dependencies): Likewise.
14382         * modules/mbsspn (Dependencies): Likewise.
14383         * modules/mbsstr (Dependencies): Likewise.
14384         * modules/nl_langinfo (Dependencies): Likewise.
14385         * modules/quotearg (Dependencies): Likewise.
14386         * modules/unicase/locale-language (Dependencies): Likewise.
14387         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
14388         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
14389         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
14390         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
14391         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
14392         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
14393         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
14394         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
14395         * modules/vasnprintf-posix (Dependencies): Likewise.
14396         * modules/wcrtomb (Dependencies): Likewise.
14397         * modules/wcsnrtombs (Dependencies): Likewise.
14398         * modules/wcsrtombs (Dependencies): Likewise.
14399
14400 2011-02-12  Bruno Haible  <bruno@clisp.org>
14401
14402         setlocale: Workaround native Windows bug.
14403         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
14404         succeeds but sets LC_CTYPE to "C", report a failure.
14405         * tests/test-setlocale2.sh: New file.
14406         * tests/test-setlocale2.c: New file.
14407         * modules/setlocale-tests (Files): Add the new files.
14408         (Makefile.am): Enable test-setlocale2.sh test.
14409         * doc/posix-functions/setlocale.texi: Mention workaround.
14410
14411 2011-02-11  Bruno Haible  <bruno@clisp.org>
14412
14413         Tests for module 'setlocale'.
14414         * modules/setlocale-tests: New file.
14415         * tests/test-setlocale1.sh: New file.
14416         * tests/test-setlocale1.c: New file.
14417
14418         New module 'setlocale'.
14419         * lib/locale.in.h (setlocale): New declaration.
14420         * lib/setlocale.c: New file, based on
14421         gettext/gettext-runtime/intl/setlocale.c.
14422         * m4/setlocale.m4: New file.
14423         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
14424         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
14425         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
14426         REPLACE_SETLOCALE.
14427         * modules/setlocale: New file.
14428         * tests/test-locale-c++.cc: Test the declaration of setlocale.
14429         * doc/posix-functions/setlocale.texi: Mention the new module.
14430
14431 2011-02-11  Bruno Haible  <bruno@clisp.org>
14432
14433         Prepare for locale dependent tests on mingw.
14434         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
14435         because it has the wrong locale encoding.
14436         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
14437         French_France.1252 instead of "fr".
14438         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
14439         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
14440         because it has the wrong locale encoding.
14441         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
14442         native Windows, try Turkish_Turkey.65001.
14443         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
14444         Chinese_China.54936.
14445
14446         Prepare for locale dependent tests on mingw.
14447         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
14448         differently.
14449         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
14450         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
14451         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
14452         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
14453
14454 2011-02-11  Eric Blake  <eblake@redhat.com>
14455
14456         strptime: avoid compiler warnings
14457         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
14458         compiler warnings about dead code.
14459         Reported by Daniel P. Berrange.
14460
14461 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
14462
14463         doc: update users.txt
14464         * users.txt: Add rcs.
14465
14466 2011-02-10  John W. Eaton  <jwe@gnu.org>
14467
14468         doc: update users.txt
14469         * users.txt: Add octave.
14470
14471 2011-02-10  Jim Meyering  <meyering@redhat.com>
14472
14473         doc: update users.txt
14474         * users.txt: Add iwhd.
14475
14476 2011-02-09  Bruno Haible  <bruno@clisp.org>
14477
14478         gnulib-tool: Make copyright notice adjustment more robust.
14479         * gnulib-tool (func_import): In sed_transform_main_lib_file,
14480         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
14481         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
14482         License".
14483         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
14484
14485 2011-02-06  Bruno Haible  <bruno@clisp.org>
14486
14487         New module 'towctrans'.
14488         * modules/towctrans: New file.
14489         * lib/wctype.in.h (towctrans): New declaration.
14490         * lib/towctrans.c: New file.
14491         * lib/towctrans-impl.h: New file.
14492         * m4/towctrans.m4: New file.
14493         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
14494         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
14495         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
14496         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
14497         * doc/posix-functions/towctrans.texi: Mention the new module.
14498
14499 2011-02-06  Bruno Haible  <bruno@clisp.org>
14500
14501         New module 'wctrans'.
14502         * modules/wctrans: New file.
14503         * lib/wctype.in.h (wctrans): New declaration.
14504         * lib/wctrans.c: New file.
14505         * lib/wctrans-impl.h: New file.
14506         * m4/wctrans.m4: New file.
14507         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
14508         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
14509         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
14510         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
14511         * doc/posix-functions/wctrans.texi: Mention the new module.
14512
14513 2011-02-06  Bruno Haible  <bruno@clisp.org>
14514
14515         New module 'iswctype'.
14516         * modules/iswctype: New file.
14517         * lib/wctype.in.h (iswctype): New declaration.
14518         * lib/iswctype.c: New file.
14519         * lib/iswctype-impl.h: New file.
14520         * m4/iswctype.m4: New file.
14521         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
14522         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
14523         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
14524         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
14525         * doc/posix-functions/iswctype.texi: Mention the new module and the
14526         HP-UX 11.00 problem.
14527
14528 2011-02-06  Bruno Haible  <bruno@clisp.org>
14529
14530         New module 'wctype'.
14531         * modules/wctype: Change to represent the wctype() substitute.
14532         * lib/wctype.in.h (wctype): New declaration.
14533         * lib/wctype.c: New file.
14534         * lib/wctype-impl.h: New file.
14535         * m4/wctype.m4: New file.
14536         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
14537         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
14538         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
14539         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
14540         * doc/posix-functions/wctype.texi: Mention the new module and the
14541         HP-UX 11.00 problem.
14542
14543 2011-02-06  Bruno Haible  <bruno@clisp.org>
14544
14545         wctype-h: Ensure wctype_t and wctrans_t are defined.
14546         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
14547         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
14548         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
14549         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
14550         HAVE_WCTRANS_T.
14551         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
14552
14553 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
14554
14555         flock: fix license typo
14556
14557         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
14558         omitted.
14559
14560 2011-02-08  Bruno Haible  <bruno@clisp.org>
14561
14562         Split large sed scripts, for HP-UX sed.
14563         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
14564         to avoid HP-UX limit of 99 commands, in the near future.
14565         * modules/stdlib (Makefile.am): Likewise.
14566         * modules/unistd (Makefile.am): Likewise.
14567         * modules/wchar (Makefile.am): Likewise.
14568         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14569         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
14570         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
14571
14572 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14573             Bruno Haible  <bruno@clisp.org>
14574
14575         stdlib: improve random_r modularization
14576         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
14577         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
14578         you also need the random_r module to get this material right.
14579         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
14580         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
14581         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
14582
14583 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14584
14585         stdlib: don't depend on stdint
14586         * lib/stdlib.in.h: Don't include <stdint.h> merely because
14587         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
14588         be independent of whether stdint.h is needed.
14589         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
14590         here, instead of ...
14591         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
14592         struct random_data should be using the random_r module, not just
14593         the stdlib module (which wouldn't make sense: what package needs
14594         just struct random_data without also needing random_r?).
14595         * modules/stdlib (Depends-on): Remove stdint.
14596
14597         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
14598         See the thread rooted at
14599         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
14600         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
14601         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
14602         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
14603         __VMS)); previously it was always included (via fcntl--.h).
14604         (getloadavg): Do not use c_strtod.  Instead, approximate it by
14605         hand; this is good enough for load averages.  Also, do not use
14606         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
14607         flags directly if available and don't bother otherwise.  (Packages
14608         that need the extra reliability should use the modules that define
14609         these flags on older platforms that lack them.)
14610         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
14611         fcntl-safer.
14612
14613 2011-02-08  Jim Meyering  <meyering@redhat.com>
14614
14615         di-set.h, ino-map.h: add multiple-inclusion guard
14616         Technically, the guard is required only for ino-map.h, due to its
14617         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
14618         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
14619         * lib/ino-map.h: Likewise.
14620
14621 2011-02-06  Bruno Haible  <bruno@clisp.org>
14622
14623         iswblank: Ensure declaration on glibc systems.
14624         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
14625         * modules/iswblank (Dependencies): Add 'extensions'.
14626         * doc/posix-functions/iswblank.texi: Document the glibc problem.
14627
14628 2011-02-06  Bruno Haible  <bruno@clisp.org>
14629
14630         New module 'iswblank'.
14631         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
14632         * modules/iswblank: New file.
14633         * modules/wctype-h (Files): Remove lib/iswblank.c.
14634         (Makefile.am): Substitute GNULIB_ISWBLANK.
14635         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
14636         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
14637         (gl_WCTYPE_H_DEFAULTS): New macro.
14638         (gl_WCTYPE_H): Require it. Remove iswblank related code.
14639         * modules/iswblank-tests: New file.
14640         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
14641         * tests/test-wctype-h.c (main): Remove iswblank tests.
14642         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
14643         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
14644         of 'wctype-h'.
14645         * NEWS: Mention the change.
14646         * modules/mbchar (Depends-on): Add iswblank.
14647
14648 2011-02-08  Bruno Haible  <bruno@clisp.org>
14649
14650         di-set tests: Refactor.
14651         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
14652         unnecessary includes.
14653         (ASSERT): Remove macro.
14654         (main): Make C90 compliant by avoiding variable declaration after
14655         statement.
14656         * modules/di-set-tests (Files): Add tests/macros.h.
14657
14658 2011-02-08  Bruno Haible  <bruno@clisp.org>
14659
14660         ino-map tests: Refactor.
14661         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
14662         unnecessary includes.
14663         (ASSERT): Remove macro.
14664         (main): Make C90 compliant by avoiding variable declaration after
14665         statement.
14666         * modules/ino-map-tests (Files): Add tests/macros.h.
14667
14668 2011-02-08  Jim Meyering  <meyering@redhat.com>
14669
14670         di-set: add "const" to a cast
14671         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
14672         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
14673
14674 2011-02-06  Bruno Haible  <bruno@clisp.org>
14675
14676         Rename module 'wctype' to 'wctype-h'.
14677         * modules/wctype-h: Renamed from modules/wctype.
14678         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
14679         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
14680         (Files, Depends-on, Makefile.am): Update.
14681         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
14682         (Files, Makefile.am): Update.
14683         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
14684         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
14685         * doc/posix-headers/wctype.texi: Update.
14686         * doc/posix-functions/iswalnum.texi: Update.
14687         * doc/posix-functions/iswalpha.texi: Update.
14688         * doc/posix-functions/iswblank.texi: Update.
14689         * doc/posix-functions/iswcntrl.texi: Update.
14690         * doc/posix-functions/iswdigit.texi: Update.
14691         * doc/posix-functions/iswgraph.texi: Update.
14692         * doc/posix-functions/iswlower.texi: Update.
14693         * doc/posix-functions/iswprint.texi: Update.
14694         * doc/posix-functions/iswpunct.texi: Update.
14695         * doc/posix-functions/iswspace.texi: Update.
14696         * doc/posix-functions/iswupper.texi: Update.
14697         * doc/posix-functions/iswxdigit.texi: Update.
14698         * doc/posix-functions/towlower.texi: Update.
14699         * doc/posix-functions/towupper.texi: Update.
14700         * NEWS: Mention the change.
14701         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
14702         * modules/mbchar (Dependencies): Likewise.
14703         * modules/mbswidth (Dependencies): Likewise.
14704         * modules/quotearg (Dependencies): Likewise.
14705         * modules/regex (Dependencies): Likewise.
14706         * modules/wcscasecmp (Dependencies): Likewise.
14707         * modules/wcsncasecmp (Dependencies): Likewise.
14708         * modules/wcwidth (Dependencies): Likewise.
14709
14710 2011-02-06  Bruno Haible  <bruno@clisp.org>
14711
14712         New module 'wcswidth'.
14713         * modules/wcswidth: New file.
14714         * lib/wchar.in.h (wcswidth): New declaration.
14715         * lib/wcswidth.c: New file.
14716         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
14717         * m4/wcswidth.m4: New file.
14718         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
14719         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
14720         REPLACE_WCSWIDTH.
14721         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
14722         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
14723         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
14724         * doc/posix-functions/wcswidth.texi: Mention the new module.
14725
14726 2011-02-06  Bruno Haible  <bruno@clisp.org>
14727
14728         New module 'wcstok'.
14729         * modules/wcstok: New file.
14730         * lib/wchar.in.h (wcstok): New declaration.
14731         * lib/wcstok.c: New file.
14732         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
14733         * m4/wcstok.m4: New file.
14734         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
14735         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
14736         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
14737         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
14738         * doc/posix-functions/wcstok.texi: Mention the new module.
14739
14740 2011-02-06  Bruno Haible  <bruno@clisp.org>
14741
14742         New module 'wcsstr'.
14743         * modules/wcsstr: New file.
14744         * lib/wchar.in.h (wcsstr): New declaration.
14745         * lib/wcsstr.c: New file.
14746         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
14747         * m4/wcsstr.m4: New file.
14748         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
14749         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
14750         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
14751         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
14752         * doc/posix-functions/wcsstr.texi: Mention the new module.
14753
14754 2011-02-06  Bruno Haible  <bruno@clisp.org>
14755
14756         New module 'wcspbrk'.
14757         * modules/wcspbrk: New file.
14758         * lib/wchar.in.h (wcspbrk): New declaration.
14759         * lib/wcspbrk.c: New file.
14760         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
14761         * m4/wcspbrk.m4: New file.
14762         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
14763         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
14764         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
14765         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
14766         * doc/posix-functions/wcspbrk.texi: Mention the new module.
14767
14768 2011-02-06  Bruno Haible  <bruno@clisp.org>
14769
14770         New module 'wcsspn'.
14771         * modules/wcsspn: New file.
14772         * lib/wchar.in.h (wcsspn): New declaration.
14773         * lib/wcsspn.c: New file.
14774         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
14775         * m4/wcsspn.m4: New file.
14776         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
14777         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
14778         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
14779         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
14780         * doc/posix-functions/wcsspn.texi: Mention the new module.
14781
14782 2011-02-06  Bruno Haible  <bruno@clisp.org>
14783
14784         New module 'wcscspn'.
14785         * modules/wcscspn: New file.
14786         * lib/wchar.in.h (wcscspn): New declaration.
14787         * lib/wcscspn.c: New file.
14788         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
14789         * m4/wcscspn.m4: New file.
14790         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
14791         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
14792         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
14793         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
14794         * doc/posix-functions/wcscspn.texi: Mention the new module.
14795
14796 2011-02-06  Bruno Haible  <bruno@clisp.org>
14797
14798         New module 'wcsrchr'.
14799         * modules/wcsrchr: New file.
14800         * lib/wchar.in.h (wcsrchr): New declaration.
14801         * lib/wcsrchr.c: New file.
14802         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
14803         * m4/wcsrchr.m4: New file.
14804         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
14805         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
14806         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
14807         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
14808         * doc/posix-functions/wcsrchr.texi: Mention the new module.
14809
14810 2011-02-06  Bruno Haible  <bruno@clisp.org>
14811
14812         New module 'wcschr'.
14813         * modules/wcschr: New file.
14814         * lib/wchar.in.h (wcschr): New declaration.
14815         * lib/wcschr.c: New file.
14816         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
14817         * m4/wcschr.m4: New file.
14818         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
14819         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
14820         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
14821         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
14822         * doc/posix-functions/wcschr.texi: Mention the new module.
14823
14824 2011-02-06  Bruno Haible  <bruno@clisp.org>
14825
14826         New module 'wcsdup'.
14827         * modules/wcsdup: New file.
14828         * lib/wchar.in.h (wcsdup): New declaration.
14829         * lib/wcsdup.c: New file.
14830         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
14831         * m4/wcsdup.m4: New file.
14832         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
14833         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
14834         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
14835         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
14836         * doc/posix-functions/wcsdup.texi: Mention the new module.
14837
14838 2011-02-06  Bruno Haible  <bruno@clisp.org>
14839
14840         New module 'wcsxfrm'.
14841         * modules/wcsxfrm: New file.
14842         * lib/wchar.in.h (wcsxfrm): New declaration.
14843         * lib/wcsxfrm.c: New file.
14844         * lib/wcsxfrm-impl.h: New file.
14845         * m4/wcsxfrm.m4: New file.
14846         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14847         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14848         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14849         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14850         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14851
14852 2011-02-06  Bruno Haible  <bruno@clisp.org>
14853
14854         New module 'wcscoll'.
14855         * modules/wcscoll: New file.
14856         * lib/wchar.in.h (wcscoll): New declaration.
14857         * lib/wcscoll.c: New file.
14858         * lib/wcscoll-impl.h: New file.
14859         * m4/wcscoll.m4: New file.
14860         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14861         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14862         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14863         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14864         * doc/posix-functions/wcscoll.texi: Mention the new module.
14865
14866 2011-02-06  Bruno Haible  <bruno@clisp.org>
14867
14868         New module 'wcsncasecmp'.
14869         * modules/wcsncasecmp: New file.
14870         * lib/wchar.in.h (wcsncasecmp): New declaration.
14871         * lib/wcsncasecmp.c: New file.
14872         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14873         * m4/wcsncasecmp.m4: New file.
14874         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14875         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14876         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14877         HAVE_WCSNCASECMP.
14878         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14879         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14880
14881 2011-02-06  Bruno Haible  <bruno@clisp.org>
14882
14883         New module 'wcscasecmp'.
14884         * modules/wcscasecmp: New file.
14885         * lib/wchar.in.h (wcscasecmp): New declaration.
14886         * lib/wcscasecmp.c: New file.
14887         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14888         * m4/wcscasecmp.m4: New file.
14889         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14890         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14891         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14892         HAVE_WCSCASECMP.
14893         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14894         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14895
14896 2011-02-05  Bruno Haible  <bruno@clisp.org>
14897
14898         New module 'wcsncmp'.
14899         * modules/wcsncmp: New file.
14900         * lib/wchar.in.h (wcsncmp): New declaration.
14901         * lib/wcsncmp.c: New file.
14902         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14903         * m4/wcsncmp.m4: New file.
14904         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14905         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14906         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14907         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14908         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14909
14910 2011-02-05  Bruno Haible  <bruno@clisp.org>
14911
14912         New module 'wcscmp'.
14913         * modules/wcscmp: New file.
14914         * lib/wchar.in.h (wcscmp): New declaration.
14915         * lib/wcscmp.c: New file.
14916         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14917         * m4/wcscmp.m4: New file.
14918         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14919         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14920         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14921         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14922         * doc/posix-functions/wcscmp.texi: Mention the new module.
14923
14924 2011-02-05  Bruno Haible  <bruno@clisp.org>
14925
14926         New module 'wcsncat'.
14927         * modules/wcsncat: New file.
14928         * lib/wchar.in.h (wcsncat): New declaration.
14929         * lib/wcsncat.c: New file.
14930         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14931         * m4/wcsncat.m4: New file.
14932         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14933         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14934         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14935         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14936         * doc/posix-functions/wcsncat.texi: Mention the new module.
14937
14938 2011-02-05  Bruno Haible  <bruno@clisp.org>
14939
14940         New module 'wcscat'.
14941         * modules/wcscat: New file.
14942         * lib/wchar.in.h (wcscat): New declaration.
14943         * lib/wcscat.c: New file.
14944         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14945         * m4/wcscat.m4: New file.
14946         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14947         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14948         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14949         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14950         * doc/posix-functions/wcscat.texi: Mention the new module.
14951
14952 2011-02-05  Bruno Haible  <bruno@clisp.org>
14953
14954         New module 'wcpncpy'.
14955         * modules/wcpncpy: New file.
14956         * lib/wchar.in.h (wcpncpy): New declaration.
14957         * lib/wcpncpy.c: New file.
14958         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14959         * m4/wcpncpy.m4: New file.
14960         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14961         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14962         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14963         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14964         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14965
14966 2011-02-05  Bruno Haible  <bruno@clisp.org>
14967
14968         New module 'wcsncpy'.
14969         * modules/wcsncpy: New file.
14970         * lib/wchar.in.h (wcsncpy): New declaration.
14971         * lib/wcsncpy.c: New file.
14972         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14973         * m4/wcsncpy.m4: New file.
14974         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14975         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14976         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14977         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14978         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14979
14980 2011-02-05  Bruno Haible  <bruno@clisp.org>
14981
14982         New module 'wcpcpy'.
14983         * modules/wcpcpy: New file.
14984         * lib/wchar.in.h (wcpcpy): New declaration.
14985         * lib/wcpcpy.c: New file.
14986         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14987         * m4/wcpcpy.m4: New file.
14988         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14989         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14990         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14991         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14992         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14993
14994 2011-02-05  Bruno Haible  <bruno@clisp.org>
14995
14996         New module 'wcscpy'.
14997         * modules/wcscpy: New file.
14998         * lib/wchar.in.h (wcscpy): New declaration.
14999         * lib/wcscpy.c: New file.
15000         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
15001         * m4/wcscpy.m4: New file.
15002         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
15003         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
15004         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
15005         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
15006         * doc/posix-functions/wcscpy.texi: Mention the new module.
15007
15008 2011-02-05  Bruno Haible  <bruno@clisp.org>
15009
15010         New module 'wcsnlen'.
15011         * modules/wcsnlen: New file.
15012         * lib/wchar.in.h (wcsnlen): New declaration.
15013         * lib/wcsnlen.c: New file.
15014         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
15015         * m4/wcsnlen.m4: New file.
15016         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
15017         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
15018         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
15019         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
15020         * doc/posix-functions/wcsnlen.texi: Mention the new module.
15021
15022 2011-02-05  Bruno Haible  <bruno@clisp.org>
15023
15024         New module 'wcslen'.
15025         * modules/wcslen: New file.
15026         * lib/wchar.in.h (wcslen): New declaration.
15027         * lib/wcslen.c: New file.
15028         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
15029         * m4/wcslen.m4: New file.
15030         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
15031         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
15032         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
15033         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
15034         * doc/posix-functions/wcslen.texi: Mention the new module.
15035
15036 2011-02-05  Bruno Haible  <bruno@clisp.org>
15037
15038         New module 'wmemset'.
15039         * modules/wmemset: New file.
15040         * lib/wchar.in.h (wmemset): New declaration.
15041         * lib/wmemset.c: New file.
15042         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
15043         * m4/wmemset.m4: New file.
15044         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
15045         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
15046         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
15047         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
15048         * doc/posix-functions/wmemset.texi: Mention the new module.
15049
15050 2011-02-05  Bruno Haible  <bruno@clisp.org>
15051
15052         New module 'wmemmove'.
15053         * modules/wmemmove: New file.
15054         * lib/wchar.in.h (wmemmove): New declaration.
15055         * lib/wmemmove.c: New file.
15056         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
15057         * m4/wmemmove.m4: New file.
15058         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
15059         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
15060         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
15061         HAVE_WMEMMOVE.
15062         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
15063         * doc/posix-functions/wmemmove.texi: Mention the new module.
15064
15065 2011-02-05  Bruno Haible  <bruno@clisp.org>
15066
15067         New module 'wmemcpy'.
15068         * modules/wmemcpy: New file.
15069         * lib/wchar.in.h (wmemcpy): New declaration.
15070         * lib/wmemcpy.c: New file.
15071         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
15072         * m4/wmemcpy.m4: New file.
15073         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
15074         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
15075         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
15076         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
15077         * doc/posix-functions/wmemcpy.texi: Mention the new module.
15078
15079 2011-02-05  Bruno Haible  <bruno@clisp.org>
15080
15081         New module 'wmemcmp'.
15082         * modules/wmemcmp: New file.
15083         * lib/wchar.in.h (wmemcmp): New declaration.
15084         * lib/wmemcmp.c: New file.
15085         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
15086         * m4/wmemcmp.m4: New file.
15087         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
15088         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
15089         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
15090         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
15091         * doc/posix-functions/wmemcmp.texi: Mention the new module.
15092
15093 2011-02-07  Jim Meyering  <meyering@redhat.com>
15094
15095         di-set, ino-map: new modules, from coreutils
15096         * lib/di-set.c: New file.
15097         * lib/di-set.h: Likewise.
15098         * lib/ino-map.c: Likewise.
15099         * lib/ino-map.h: Likewise.
15100         * modules/di-set: Likewise.
15101         * modules/di-set-tests: Likewise.
15102         * modules/ino-map: Likewise.
15103         * modules/ino-map-tests: Likewise.
15104         * tests/test-di-set.c: Likewise.
15105         * tests/test-ino-map.c: Likewise.
15106
15107 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
15108
15109         getloadavg: merge minor changes from Emacs
15110
15111         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
15112         (getloadavg): Use memset, not bzero.
15113
15114         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
15115         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
15116         clash (bug#86).
15117
15118 2010-11-14  Bruno Haible  <bruno@clisp.org>
15119
15120         Allow multiple gnulib generated replacements to coexist.
15121         * lib/getopt.in.h (struct option): Avoid identical redefinition.
15122         * lib/inttypes.in.h (imaxdiv_t): Likewise.
15123         * lib/langinfo.in.h (nl_item): Likewise.
15124         * lib/math.in.h (_NaN, NAN): Likewise.
15125         * lib/netdb.in.h (struct addrinfo): Likewise.
15126         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
15127         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
15128         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
15129         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
15130         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
15131         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
15132         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
15133         pthread_mutexattr_init, pthread_mutexattr_settype,
15134         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
15135         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
15136         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
15137         pthread_spin_trylock, pthread_spin_unlock): Likewise.
15138         * lib/sched.in.h (struct sched_param): Likewise.
15139         * lib/se-selinux.in.h (security_class_t, security_context_t,
15140         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
15141         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
15142         lsetfilecon, fsetfilecon, security_check_context,
15143         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
15144         Likewise.
15145         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
15146         Likewise.
15147         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
15148         _gl_function_taking_int_returning_void_t, union sigval,
15149         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
15150         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
15151         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
15152         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
15153         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
15154         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
15155         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
15156         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
15157         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
15158         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
15159         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
15160         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
15161         socklen_t, rpl_fd_isset): Likewise.
15162         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
15163         * lib/sys_time.in.h (struct timeval): Likewise.
15164         * lib/sys_times.in.h (struct tms): Likewise.
15165         * lib/sys_utsname.in.h (struct utsname):
15166         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
15167         * lib/unistd.in.h (getpagesize): Likewise.
15168         * lib/wchar.in.h (mbstate_t): Likewise.
15169         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
15170         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
15171         towlower, towupper): Likewise.
15172         Reported by Sam Steingold <sds@gnu.org>.
15173
15174 2011-02-05  Eric Blake  <eblake@redhat.com>
15175
15176         unsetenv: work around Haiku issues
15177         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
15178         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
15179
15180 2010-12-30  Bruce Korb  <bkorb@gnu.org>
15181
15182         libposix: avoid calling error() within libposix
15183         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
15184         is defined.
15185
15186 2011-02-05  Eric Blake  <eblake@redhat.com>
15187
15188         strerror_r-posix: port to cygwin
15189         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
15190         implementation.
15191         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
15192         * tests/test-strerror_r.c (main): Fix test.
15193         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15194         issue.
15195
15196 2011-02-05  Bruno Haible  <bruno@clisp.org>
15197
15198         New module 'wmemchr'.
15199         * modules/wmemchr: New file.
15200         * lib/wchar.in.h (wmemchr): New declaration.
15201         * lib/wmemchr.c: New file.
15202         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
15203         * m4/wmemchr.m4: New file.
15204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
15205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
15206         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
15207         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
15208         * doc/posix-functions/wmemchr.texi: Mention the new module.
15209
15210 2011-02-04  Eric Blake  <eblake@redhat.com>
15211
15212         fdopendir: detect FreeBSD bug
15213         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
15214         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
15215
15216 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
15217
15218         stdbool: do not define HAVE_STDBOOL_H
15219         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
15220         AC_HEADER_STDBOOL.  All uses changed.  Do not define
15221         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
15222         imported from the latest Autoconf git.  It was motivated by Emacs,
15223         which uses gnulib but does not need HAVE_STDBOOL_H.
15224
15225 2011-02-04  Bruno Haible  <bruno@clisp.org>
15226
15227         wcsnrtombs: Prepare for new module wwcsnrtombs.
15228         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
15229         * lib/wcsnrtombs.c: Include it.
15230         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
15231
15232         wcsrtombs: Prepare for new module wwcsrtombs.
15233         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
15234         * lib/wcsrtombs.c: Include it.
15235         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
15236
15237         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
15238         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
15239         * lib/mbsnrtowcs.c: Include it.
15240         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
15241
15242         mbsrtowcs: Prepare for new module mbsrtowwcs.
15243         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
15244         * lib/mbsrtowcs.c: Include it.
15245         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
15246
15247 2011-02-04  Bruno Haible  <bruno@clisp.org>
15248
15249         vasnprintf: Reduce use of malloc for small format strings.
15250         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
15251         (arguments): Add room for the first 7 arguments.
15252         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
15253         (char_directives, u8_directives, u16_directives, u32_directives): Add
15254         room for the first 7 directives.
15255         * lib/printf-parse.c: Include <string.h>.
15256         (PRINTF_PARSE): Change memory handling code so that it uses the first
15257         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
15258         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
15259         Reported by Pádraig Brady <P@draigbrady.com>.
15260
15261 2011-01-31  Eric Blake  <eblake@redhat.com>
15262
15263         dup2: work around Haiku bug
15264         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
15265         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
15266         * doc/posix-functions/dup2.texi (dup2): Document the bug.
15267         * tests/test-dup2.c (main): Enhance test.
15268
15269 2011-01-31  Simon Josefsson  <simon@josefsson.org>
15270
15271         doc: off_t is not available in eglibc 2.11.2 stdio.h.
15272         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
15273         declared by eglibc 2.11.2.
15274         * lib/stdio.in.h: Likewise.
15275
15276 2011-01-31  Eric Blake  <eblake@redhat.com>
15277
15278         ignore-value: add missing test dependency
15279         * tests/test-ignore-value.c: Revert previous change; stdio.h
15280         provides off_t.
15281         * modules/ignore-value-tests (Depends-on): Add missing dependency.
15282
15283 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
15284
15285         mktime: clarify long_int width checking
15286         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
15287         the top level, to make it clearer that the assumption about
15288         long_int width is being checked.  See
15289         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
15290
15291 2011-01-30  Simon Josefsson  <simon@josefsson.org>
15292
15293         ignore-value: Fix self-test.
15294         * tests/test-ignore-value.c: Include sys/types.h for off_t.
15295
15296 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
15297
15298         TYPE_MAXIMUM: avoid theoretically undefined behavior
15299         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
15300         negative number, which the C Standard says has undefined behavior.
15301         In practice this is not a problem, but might as well do it by the book.
15302         Reported by Rich Felker and Eric Blake; see
15303         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
15304         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
15305         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
15306         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15307         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
15308         * m4/stdint.m4 (gl_STDINT_H): Likewise.
15309         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
15310
15311         mktime: #undef mktime before #defining it
15312         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
15313
15314         mktime: systematically normalize tm_isdst comparisons
15315         * lib/mktime.c (isdst_differ): New function.
15316         (__mktime_internal): Use it systematically for all isdst comparisons.
15317         This completes the fix for libc BZ #6723, and removes the need for
15318         normalizing tm_isdst.  See
15319         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
15320         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
15321
15322         mktime: fix some integer overflow issues and sidestep the rest
15323
15324         This was prompted by a bug report by Benjamin Lindner for MinGW
15325         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
15326         His bug is due to signed integer overflow (0 - INT_MIN), and I
15327         I scanned through mktime.c looking for other integer overflow
15328         problems, fixing all the bugs I found.
15329
15330         Although the C Standard says the resulting code is still not safe
15331         in the presence of integer overflow, in practice it should be good
15332         enough for all real-world two's-complement implementations, except
15333         for debugging environments that deliberately trap on integer
15334         overflow (e.g., gcc -ftrapv).
15335
15336         * lib/mktime.c (WRAPV): New macro.
15337         (SHR): Also check that long_int and time_t shift right in the
15338         usual way, before using the fast-but-unportable method.
15339         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
15340         used.  The code already assumed two's complement, so there's
15341         no need to test for alternatives.  All uses removed.
15342         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
15343         the C standard.  Problem reported by Rich Felker in
15344         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
15345         (twos_complement_arithmetic): Also check long_int and time_t.
15346         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
15347         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
15348         (__mktime_internal): Avoid integer overflow with unary subtraction
15349         in two instances where -1 - X is an adequate replacement for -X,
15350         since the calculations are approximate.
15351
15352 2011-01-29  Eric Blake  <eblake@redhat.com>
15353
15354         mktime: avoid infinite loop
15355         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
15356         type; behavior is still undefined but portable to all known targets.
15357         Reported by Rich Felker.
15358
15359 2011-01-29  Simon Josefsson  <simon@josefsson.org>
15360
15361         rename, unlink, same-inode: Relicense.
15362         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
15363         * modules/unlink (License): Likewise.
15364         * modules/same-inode (License): Likewise.
15365
15366 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15367
15368         mktime: avoid problems on NetBSD 5 / i386
15369         * lib/mktime.c (long_int): New type.  This works around a problem
15370         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
15371         but time_t is 64 bits, and where I expect the existing code is
15372         wrong in some cases.
15373         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
15374         (ydhms_diff): Bring back the compile-time check for wide-enough
15375         year and yday.
15376
15377         mktime: fix misspelling in comment
15378         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
15379         This merges all recent glibc changes of importance.
15380
15381 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15382
15383         move-if-change: cope with concurrent mv of identical file.
15384         * build-aux/move-if-change (CMPPROG): Accept environment
15385         variable as an override for `cmp'.
15386         (usage): Document CMPPROG.
15387         Adjust comparison to drop stdout.  Cope with failure of mv if
15388         the target file exists and is identical to the source, for
15389         parallel builds.
15390         Report from H.J. Lu against binutils in PR binutils/12283.
15391
15392 2011-01-28  Bruce Korb  <bkorb@gnu.org>
15393
15394         * users.txt: Mention sharutils.
15395
15396 2011-01-28  Simon Josefsson  <simon@josefsson.org>
15397
15398         * users.txt: Mention OATH Toolkit.
15399
15400 2011-01-27  Bruno Haible  <bruno@clisp.org>
15401
15402         Prepare for supporting FreeBSD 10.
15403         * build-aux/config.libpath: Remove handling of freebsd1*.
15404
15405 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
15406
15407         Prepare for supporting FreeBSD 10.
15408         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
15409         match FreeBSD 10.0.
15410
15411 2011-01-27  Bruno Haible  <bruno@clisp.org>
15412
15413         vma-iter, get-rusage-as: Add OpenBSD support.
15414         * modules/vma-iter (configure.ac): Test for mquery.
15415         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
15416         * lib/vma-iter.c: Include <sys/mman.h>.
15417         (vma_iterate): Add an implementation based on mquery().
15418         * lib/resource-ext.h (get_rusage_as): Update comments.
15419         * lib/get-rusage-as.c: Likewise.
15420         * lib/get-rusage-data.c: Likewise.
15421
15422 2011-01-26  Karl Berry  <karl@gnu.org>
15423
15424         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
15425         variables to make it easier to override the makeinfo program used.
15426
15427 2011-01-26  Eric Blake  <eblake@redhat.com>
15428
15429         fcntl: work around Haiku F_DUPFD bugs
15430         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
15431         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
15432         cloexec bit on duplication.
15433         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
15434
15435 2011-01-26  Bruno Haible  <bruno@clisp.org>
15436
15437         Enable memory leak tests on AIX.
15438         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
15439         * tests/test-fprintf-posix3.c (main): Likewise.
15440
15441 2011-01-26  Bruno Haible  <bruno@clisp.org>
15442
15443         Tests for module 'get-rusage-data'.
15444         * modules/get-rusage-data-tests: New file.
15445         * tests/test-get-rusage-data.c: New file.
15446
15447         New module 'get-rusage-data'.
15448         * lib/resource-ext.h (get_rusage_data): New declaration.
15449         * lib/get-rusage-data.c: New file.
15450         * modules/get-rusage-data: New file.
15451
15452 2011-01-25  Bruno Haible  <bruno@clisp.org>
15453
15454         get-rusage-as: Allow for easier testing.
15455         * lib/resource-ext.h (get_rusage_as): Add comment.
15456         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
15457         (main): New function for interactive testing.
15458
15459 2011-01-25  Bruno Haible  <bruno@clisp.org>
15460
15461         vma-iter: Treat Haiku like BeOS.
15462         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
15463         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
15464
15465 2011-01-25  Eric Blake  <eblake@redhat.com>
15466
15467         c-stack: fix regression on cygwin when libsigsegv is present
15468         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
15469
15470 2011-01-24  Bruno Haible  <bruno@clisp.org>
15471
15472         vma-iter: Avoid empty intervals.
15473         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
15474         on an empty interval.
15475
15476 2011-01-24  Jim Meyering  <meyering@redhat.com>
15477
15478         u64: remove unnecessary #include
15479         * lib/u64.h: Don't include <stddef.h>.  It was not used.
15480
15481 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15482
15483         Allow the user to avoid the HAVE_RAW_DECL_* macros.
15484         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
15485
15486 2011-01-23  Bruno Haible  <bruno@clisp.org>
15487
15488         New module 'vma-iter'.
15489         * lib/vma-iter.h: New file.
15490         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
15491         * modules/vma-iter: New file.
15492         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
15493         for get_rusage_as_via_iterator.
15494         (vma_iterate_callback): New function.
15495         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
15496         * modules/get-rusage-as (Depends-on): Add vma-iter.
15497
15498 2011-01-23  Bruno Haible  <bruno@clisp.org>
15499
15500         uninorm: Tweak includes.
15501         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
15502         Reported by Jim Meyering.
15503
15504 2011-01-23  Bruno Haible  <bruno@clisp.org>
15505
15506         get-rusage-as: Improve on NetBSD.
15507         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
15508         /proc, like on FreeBSD.
15509
15510 2011-01-23  Jim Meyering  <meyering@redhat.com>
15511
15512         xreadlink.h: remove unnecessary #include
15513         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
15514
15515         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
15516         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
15517
15518 2011-01-23  Bruno Haible  <bruno@clisp.org>
15519
15520         get-rusage-as: Fix bug.
15521         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
15522         original limit when aborting the first loop.
15523
15524 2011-01-23  Bruno Haible  <bruno@clisp.org>
15525
15526         wctype: Ensure valid C syntax.
15527         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
15528         unconditionally, instead of gl_NEXT_HEADERS conditionally.
15529
15530 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
15531
15532         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
15533         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
15534         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
15535         as they are needed only for configure's test case.
15536         This removes two unnecessary symbols from config.h.
15537
15538         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
15539         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
15540         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
15541         AC_CHECK_HEADERS_ONCE on a header that we also invoke
15542         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
15543         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
15544         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
15545         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
15546         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
15547         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15548         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
15549         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15550         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15551         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15552         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
15553         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15554         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
15555         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
15556
15557 2011-01-21  Eric Blake  <eblake@redhat.com>
15558
15559         maintainer-makefile: work with older git for submodule check
15560         * top/maint.mk (public-submodule-commit): Rewrite to avoid
15561         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
15562         Reported by Matthias Bolte.
15563
15564         bootstrap: minor portability fixes
15565         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
15566         (usage): Omit leading capital and trailing . on help phrases, per
15567         GNU Coding Standards.
15568         (check_versions, top level): Prefix messages with script name.
15569
15570 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
15571
15572         bootstrap: support --no-git option
15573         * build-aux/bootstrap: Add --no-git option, to be used when
15574         --gnulib-srcdir points to the exact desired checkout.
15575
15576 2011-01-21  Eric Blake  <eblake@redhat.com>
15577
15578         strerror_r-posix: work with glibc 2.13
15579         * lib/strerror_r.c (strerror_r): Fix return type.
15580
15581 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15582             Bruno Haible  <bruno@clisp.org>
15583
15584         uN_strstr: New unit tests.
15585         * modules/unistr/u8-strstr-tests: New file.
15586         * modules/unistr/u16-strstr-tests: New file.
15587         * modules/unistr/u32-strstr-tests: New file.
15588         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
15589         * tests/unistr/test-u8-strstr.c: New file.
15590         * tests/unistr/test-u16-strstr.c: New file.
15591         * tests/unistr/test-u32-strstr.c: New file.
15592
15593 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15594             Bruno Haible  <bruno@clisp.org>
15595
15596         Make uN_strstr functions O(n) worst-case.
15597         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
15598         16-bit and 32-bit unit cases, use the unibyte algorithm from
15599         lib/mbsstr.c.
15600         * lib/unistr/u8-strstr.c: Include <string.h>.
15601         (UNIT_IS_UINT8_T): New macro.
15602         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
15603         (U_STRLEN, U_STRNLEN): New macros.
15604         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
15605         (U_STRLEN, U_STRNLEN): New macros.
15606         * modules/unistr/u8-strstr (Depends-on): Add strstr.
15607         (configure.ac): Update required libunistring version.
15608         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
15609         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
15610         malloca.
15611         (configure.ac): Update required libunistring version.
15612         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
15613         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
15614         malloca.
15615         (configure.ac): Update required libunistring version.
15616
15617 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15618             Bruno Haible  <bruno@clisp.org>
15619
15620         Prepare for faster uN_strstr functions.
15621         * lib/str-kmp.h: Support definable UNITs.
15622         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
15623         needle_len argument.
15624         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
15625         * lib/mbscasestr.c (mbscasestr): Likewise.
15626
15627 2011-01-21  Pádraig Brady <P@draigBrady.com>
15628
15629         malloca-tests: make faster by unsetting MALLOC_PERTURB_
15630         * tests/test-malloca.c (main): Unset the environment variable
15631         to greatly speed up the test.
15632         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
15633         * modules/malloca-tests: Depend on unsetenv.
15634
15635 2011-01-21  Pádraig Brady <P@draigBrady.com>
15636
15637         ignore-value: remove stdint dependency
15638         * lib/ignore-value.h: Remove <stdint.h>
15639         * modules/ignore-value: Remove stdint dependency.
15640
15641 2011-01-21  Jim Meyering  <meyering@redhat.com>
15642
15643         maint.mk: adjust variable name to be consistent with other gl_ vars
15644         * top/maint.mk (gl_public_submodule_commit): Rename the variable
15645         to be lower case.
15646
15647 2011-01-20  Jim Meyering  <meyering@redhat.com>
15648
15649         maint.mk: make "check" depend on public-submodule-commit by default
15650         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
15651
15652 2011-01-20  Bruno Haible  <bruno@clisp.org>
15653
15654         mbfile, mbiter: Complete change from 2008-12-21.
15655         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
15656         * m4/mbiter.m4 (gl_MBITER): Likewise.
15657
15658 2011-01-20  Jim Meyering  <meyering@redhat.com>
15659
15660         init.sh: insert space between each function name and "()"
15661         * tests/init.sh: Make it a little easier to see that a function's
15662         name is "warn_", and not "warn" when looking at the first part of
15663         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
15664
15665 2011-01-20  Jim Meyering  <meyering@redhat.com>
15666
15667         mountlist: clean up code formatting
15668         * lib/mountlist.c (read_file_system_list): Split a long line,
15669         correct bracing style, use NULL in place of "(struct statfs *)0",
15670         don't parenthesize return value, add spaces around "=" and after
15671         ";-in-for-stmt".
15672
15673 2011-01-14  Markus Duft <mduft@gentoo.org>
15674
15675         mountlist: add support for Interix
15676         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
15677         Apply statvfs to all entries of /dev/fs.
15678         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
15679         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
15680
15681 2011-01-20  Jim Meyering  <meyering@redhat.com>
15682
15683         maint.mk: improve the public-submodule-commit rule
15684         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
15685         to suppress printing of its commands... unless V=1.
15686         Add git submodule's --quiet option to suppress printing of e.g.,
15687         "Entering gnulib" output.
15688         "cd" into $(srcdir) before running git submodule.
15689
15690 2011-01-20  Bruno Haible  <bruno@clisp.org>
15691
15692         include_next: Fix bug introduced on 2011-01-18.
15693         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
15694         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
15695         ac_cv_header_... variable if the second argument is not 'check'.
15696         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
15697         gl_NEXT_HEADERS_INTERNAL.
15698
15699 2011-01-20  Bruno Haible  <bruno@clisp.org>
15700
15701         Allow the user to avoid the GNULIB_TEST_* macros.
15702         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
15703         Suggested by Paul Eggert.
15704
15705 2011-01-14  Jim Meyering  <meyering@redhat.com>
15706
15707         bootstrap: avoid failure when there is no .gitmodules file
15708         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
15709         has been assigned to, even when its value is the empty string.
15710         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
15711         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
15712         Reported by John W. Eaton <jwe@gnu.org>.
15713
15714 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15715
15716         assume <ctype.h>, ..., <time.h> exist
15717         For years gnulib has been assuming the existence of the headers
15718         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
15719         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
15720         them, since they don't appear to be needed.
15721         * README (Portability guidelines): Document this.
15722         * lib/flock.c: Assume <fcntl.h> exists.
15723         * lib/regex_internal.h: Assume <locale.h> exists.
15724         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
15725         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
15726         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
15727         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
15728         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
15729         * m4/regex.m4 (gl_REGEX): Likewise.
15730         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
15731         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
15732         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
15733         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
15734         * tests/test-argp.c: Likewise.
15735         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
15736
15737         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
15738         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
15739         AA_APPLE_UNIVERSAL_BUILD.  See
15740         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
15741         * NEWS: Document this.
15742
15743 2011-01-19  Eric Blake  <eblake@redhat.com>
15744
15745         c-stack: assume stack overflow if SA_SIGINFO unsupported
15746         * lib/c-stack.c (SIGACTION_WORKS): Rename...
15747         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
15748         sigaction will work.
15749         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
15750         behavior match Linux.
15751         * tests/test-c-stack.c (main): Prefer NULL for pointers.
15752
15753         stdbool-tests: accomodate Haiku
15754         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
15755
15756         binary-io: fix O_TEXT on Haiku
15757         * modules/binary-io (Depends-on): Add fcntl-h.
15758         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
15759         than blindly undefining O_TEXT.
15760         Reported by Scott McCreary.
15761
15762 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15763
15764         include_next: do not check for standard headers like stddef.h
15765
15766         I found this problem when modifying Emacs to use gnulib.
15767         I noticed that it added HAVE_STDDEF_H to config.h, even though
15768         gnulib always assumes <stddef.h> exists as per README and this
15769         symbol is unnecessary.
15770         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
15771         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
15772         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
15773         faster for headers like stddef.h that are known to exist.
15774         (gl_CHECK_NEXT_HEADERS): Use it.
15775         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
15776         rather than gl_CHECK_NEXT_HEADERS.
15777         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
15778         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
15779
15780 2011-01-18  Eric Blake  <eblake@redhat.com>
15781
15782         ansi-c++-opt: skip C++ dependency style if C++ is unused
15783         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
15784         tests when we know C++ compilation is not desired.
15785         Reported by Scott McCreary.
15786
15787 2011-01-18  Bruno Haible  <bruno@clisp.org>
15788
15789         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
15790         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
15791         (main): Perform test also when getrlimit and setrlimit don't exist or
15792         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
15793         limiting the address space size using setrlimit, compare the address
15794         space size before and after the the test.
15795         * tests/test-dprintf-posix2.c: Likewise.
15796         * tests/test-fprintf-posix3.sh: Update skip messages.
15797         * tests/test-dprintf-posix2.sh: Likewise.
15798         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
15799         * modules/dprintf-posix-tests (Depends-on): Likewise.
15800         Reported by Bruce Korb <bkorb@gnu.org> and
15801         Gary V. Vaughan <gary@gnu.org>.
15802
15803 2011-01-18  Bruno Haible  <bruno@clisp.org>
15804
15805         get-rusage-as: Improvement for Cygwin.
15806         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
15807         areas that are merely reserved.
15808
15809 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15810
15811         strftime: remove dependencies on multibyte modules
15812
15813         strftime depended on mbrlen, mbsinit, and wchar, but these modules
15814         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
15815         only if __osf__ is defined, and I suspect OSF doesn't need these
15816         other modules.  If my guess is wrong, we'll need to come up with a
15817         variant of strftime that doesn't need the multibyte modules.
15818
15819         I discovered this problem when attempting modify Emacs to use the
15820         strftime module.  With the previous gnulib, this caused Emacs to
15821         need 31 new files, ranging from lib/config.charset to
15822         m4/wint_t.m4.  This was overkill and I expect would be offputting
15823         to the Emacs maintainers.  After this change, only 6 new files are
15824         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
15825         stdbool.m4, and tm_gmtoff.m4.
15826
15827         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
15828         Suggested by Bruno Haible in
15829         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
15830         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
15831         and do not check for wchar.h.
15832         * modules/strftime (Files): Remove m4/mbstate_t.m4.
15833         (Depends-on): Remove mbrlen, mbsinit, wchar.
15834
15835 2011-01-18  Bruno Haible  <bruno@clisp.org>
15836
15837         Tests for module 'get-rusage-as'.
15838         * modules/get-rusage-as-tests: New file.
15839         * tests/test-get-rusage-as.c: New file.
15840
15841         New module 'get-rusage-as'.
15842         * modules/get-rusage-as: New file.
15843         * lib/resource-ext.h: New file.
15844         * lib/get-rusage-as.c: New file.
15845
15846 2011-01-17  Eric Blake  <eblake@redhat.com>
15847
15848         sigaction: relax license from LGPLv3+ to LGPLv2+
15849         * modules/sigaction (License): Relax to LGPLv2+.
15850
15851 2011-01-14  Bruno Haible  <bruno@clisp.org>
15852
15853         filemode: Make function declarations usable in C++ mode.
15854         * lib/filemode.h: Enclose function declarations in extern "C" block.
15855         Reported by John W. Eaton <jwe@gnu.org>.
15856
15857 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15858
15859         save-cwd: no longer include "xgetcwd.h"
15860         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15861         This avoids a compilation failure in projects that use save-cwd
15862         without also using the xgetcwd module.
15863
15864 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15865
15866         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15867         This is so that a program like Emacs, which needs only dtoastr,
15868         does not have to bother with distributing and compiling ftoastr
15869         and ldtoastr.
15870         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15871         * modules/dtoastr, modules/ldtoastr: New files.
15872         * modules/ftoastr: Now works just for 'float'.
15873         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15874         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15875         dtoastr.c, ldtoastr.c.
15876
15877 2011-01-11  Jim Meyering  <meyering@redhat.com>
15878
15879         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15880         There is no need to work around the lack of the fchdir function,
15881         since gnulib can now provide a replacement when required.
15882         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15883         * modules/save-cwd (Depends-on): Add fchdir.
15884
15885 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15886
15887         openat, save-cwd: avoid xmalloc
15888
15889         This removes a direct (but undocumented) dependency of openat on
15890         xalloc, along with an indirect dependency via save-cwd.  It also
15891         removes a dependency of save-cwd on xgetcwd, and thereby
15892         indirectly on xalloc.  This change causes the openat substitute
15893         to fall back on save_cwd when memory is tight, and for save_cwd to
15894         fail instead of dying when memory is tight, but that's good enough.
15895         Problem and initial idea for fix reported by Bastien Roucaries in
15896         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15897
15898         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15899         xalloc.h (for xmalloc).
15900         (openat_proc_name): Use malloc, not xmalloc.
15901         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15902         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15903
15904         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15905         This avoids heap allocation for file names whose lengths are in
15906         the range 512..1023, with the upper bound increasing to at most
15907         4031 depending on the platform's PATH_MAX.  (We do not want
15908         pathmax.h here as it might supply a non-constant PATH_MAX.)
15909         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15910         Perhaps they should be moved to malloca.h?
15911         (OPENAT_BUFFER_SIZE): Use them.
15912
15913 2011-01-10  Bruno Haible  <bruno@clisp.org>
15914
15915         doc: Update users.txt.
15916         * users.txt: Add recutils.
15917
15918 2011-01-09  Karl Berry  <karl@gnu.org>
15919
15920         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15921
15922         * doc/configmake.texi: New file.
15923         * doc/gnulib.texi: Include it.
15924         * modules/configmake: Move documentation from here.
15925
15926 2011-01-09  Bruno Haible  <bruno@clisp.org>
15927
15928         Update to Unicode 6.0.0.
15929         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15930         (get_lbp): Update for Unicode 6.0.0.
15931         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15932         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15933         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15934         U+11001, U+11038..U+11046. Remove U+06DE.
15935         (uc_width): Fix bounds of planes.
15936         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15937         lib/uniwidth/width.c.
15938         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15939         trailing whitespace removed.
15940         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15941         without comments, but with the original copyright notice.
15942         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15943         * lib/unicase/ignorable.h: Likewise.
15944         * lib/unicase/tocasefold.h: Likewise.
15945         * lib/unicase/tolower.h: Likewise.
15946         * lib/unicase/totitle.h: Likewise.
15947         * lib/unicase/toupper.h: Likewise.
15948         * lib/unictype/bidi_of.h: Likewise.
15949         * lib/unictype/blocks.h: Likewise.
15950         * lib/unictype/categ_C.h: Likewise.
15951         * lib/unictype/categ_Cn.h: Likewise.
15952         * lib/unictype/categ_L.h: Likewise.
15953         * lib/unictype/categ_Ll.h: Likewise.
15954         * lib/unictype/categ_Lm.h: Likewise.
15955         * lib/unictype/categ_Lo.h: Likewise.
15956         * lib/unictype/categ_Lu.h: Likewise.
15957         * lib/unictype/categ_M.h: Likewise.
15958         * lib/unictype/categ_Mc.h: Likewise.
15959         * lib/unictype/categ_Me.h: Likewise.
15960         * lib/unictype/categ_Mn.h: Likewise.
15961         * lib/unictype/categ_N.h: Likewise.
15962         * lib/unictype/categ_Nd.h: Likewise.
15963         * lib/unictype/categ_No.h: Likewise.
15964         * lib/unictype/categ_P.h: Likewise.
15965         * lib/unictype/categ_Po.h: Likewise.
15966         * lib/unictype/categ_S.h: Likewise.
15967         * lib/unictype/categ_Sc.h: Likewise.
15968         * lib/unictype/categ_Sk.h: Likewise.
15969         * lib/unictype/categ_Sm.h: Likewise.
15970         * lib/unictype/categ_So.h: Likewise.
15971         * lib/unictype/categ_of.h: Likewise.
15972         * lib/unictype/combining.h: Likewise.
15973         * lib/unictype/ctype_alnum.h: Likewise.
15974         * lib/unictype/ctype_alpha.h: Likewise.
15975         * lib/unictype/ctype_graph.h: Likewise.
15976         * lib/unictype/ctype_lower.h: Likewise.
15977         * lib/unictype/ctype_print.h: Likewise.
15978         * lib/unictype/ctype_punct.h: Likewise.
15979         * lib/unictype/ctype_upper.h: Likewise.
15980         * lib/unictype/decdigit.h: Likewise.
15981         * lib/unictype/digit.h: Likewise.
15982         * lib/unictype/numeric.h: Likewise.
15983         * lib/unictype/pr_alphabetic.h: Likewise.
15984         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15985         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15986         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15987         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15988         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15989         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15990         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15991         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15992         * lib/unictype/pr_case_ignorable.h: Likewise.
15993         * lib/unictype/pr_cased.h: Likewise.
15994         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15995         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15996         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15997         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15998         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15999         * lib/unictype/pr_combining.h: Likewise.
16000         * lib/unictype/pr_composite.h: Likewise.
16001         * lib/unictype/pr_currency_symbol.h: Likewise.
16002         * lib/unictype/pr_decimal_digit.h: Likewise.
16003         * lib/unictype/pr_deprecated.h: Likewise.
16004         * lib/unictype/pr_format_control.h: Likewise.
16005         * lib/unictype/pr_grapheme_base.h: Likewise.
16006         * lib/unictype/pr_grapheme_extend.h: Likewise.
16007         * lib/unictype/pr_grapheme_link.h: Likewise.
16008         * lib/unictype/pr_id_continue.h: Likewise.
16009         * lib/unictype/pr_id_start.h: Likewise.
16010         * lib/unictype/pr_ideographic.h: Likewise.
16011         * lib/unictype/pr_lowercase.h: Likewise.
16012         * lib/unictype/pr_math.h: Likewise.
16013         * lib/unictype/pr_numeric.h: Likewise.
16014         * lib/unictype/pr_other_alphabetic.h: Likewise.
16015         * lib/unictype/pr_other_id_continue.h: Likewise.
16016         * lib/unictype/pr_other_math.h: Likewise.
16017         * lib/unictype/pr_punctuation.h: Likewise.
16018         * lib/unictype/pr_sentence_terminal.h: Likewise.
16019         * lib/unictype/pr_terminal_punctuation.h: Likewise.
16020         * lib/unictype/pr_unassigned_code_value.h: Likewise.
16021         * lib/unictype/pr_unified_ideograph.h: Likewise.
16022         * lib/unictype/pr_uppercase.h: Likewise.
16023         * lib/unictype/pr_xid_continue.h: Likewise.
16024         * lib/unictype/pr_xid_start.h: Likewise.
16025         * lib/unictype/scripts.h: Likewise.
16026         * lib/unictype/scripts_byname.gperf: Likewise.
16027         * lib/unictype/sy_java_ident.h: Likewise.
16028         * lib/unigbrk/gbrkprop.h: Likewise.
16029         * lib/unilbrk/lbrkprop1.h: Likewise.
16030         * lib/unilbrk/lbrkprop2.h: Likewise.
16031         * lib/uninorm/decomposition-table2.h: Likewise.
16032         * lib/uniwbrk/wbrkprop.h: Likewise.
16033         * tests/unicase/test-cased.c: Likewise.
16034         * tests/unicase/test-ignorable.c: Likewise.
16035         * tests/unicase/test-uc_tolower.c: Likewise.
16036         * tests/unicase/test-uc_totitle.c: Likewise.
16037         * tests/unicase/test-uc_toupper.c: Likewise.
16038         * tests/unictype/test-categ_C.c: Likewise.
16039         * tests/unictype/test-categ_Cn.c: Likewise.
16040         * tests/unictype/test-categ_L.c: Likewise.
16041         * tests/unictype/test-categ_Ll.c: Likewise.
16042         * tests/unictype/test-categ_Lm.c: Likewise.
16043         * tests/unictype/test-categ_Lo.c: Likewise.
16044         * tests/unictype/test-categ_Lu.c: Likewise.
16045         * tests/unictype/test-categ_M.c: Likewise.
16046         * tests/unictype/test-categ_Mc.c: Likewise.
16047         * tests/unictype/test-categ_Me.c: Likewise.
16048         * tests/unictype/test-categ_Mn.c: Likewise.
16049         * tests/unictype/test-categ_N.c: Likewise.
16050         * tests/unictype/test-categ_Nd.c: Likewise.
16051         * tests/unictype/test-categ_No.c: Likewise.
16052         * tests/unictype/test-categ_P.c: Likewise.
16053         * tests/unictype/test-categ_Po.c: Likewise.
16054         * tests/unictype/test-categ_S.c: Likewise.
16055         * tests/unictype/test-categ_Sc.c: Likewise.
16056         * tests/unictype/test-categ_Sk.c: Likewise.
16057         * tests/unictype/test-categ_Sm.c: Likewise.
16058         * tests/unictype/test-categ_So.c: Likewise.
16059         * tests/unictype/test-ctype_alnum.c: Likewise.
16060         * tests/unictype/test-ctype_alpha.c: Likewise.
16061         * tests/unictype/test-ctype_graph.c: Likewise.
16062         * tests/unictype/test-ctype_lower.c: Likewise.
16063         * tests/unictype/test-ctype_print.c: Likewise.
16064         * tests/unictype/test-ctype_punct.c: Likewise.
16065         * tests/unictype/test-ctype_upper.c: Likewise.
16066         * tests/unictype/test-decdigit.h: Likewise.
16067         * tests/unictype/test-digit.h: Likewise.
16068         * tests/unictype/test-numeric.h: Likewise.
16069         * tests/unictype/test-pr_alphabetic.c: Likewise.
16070         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
16071         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
16072         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
16073         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
16074         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
16075         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
16076         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
16077         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
16078         * tests/unictype/test-pr_case_ignorable.c: Likewise.
16079         * tests/unictype/test-pr_cased.c: Likewise.
16080         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
16081         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
16082         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
16083         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
16084         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
16085         * tests/unictype/test-pr_combining.c: Likewise.
16086         * tests/unictype/test-pr_composite.c: Likewise.
16087         * tests/unictype/test-pr_currency_symbol.c: Likewise.
16088         * tests/unictype/test-pr_decimal_digit.c: Likewise.
16089         * tests/unictype/test-pr_deprecated.c: Likewise.
16090         * tests/unictype/test-pr_format_control.c: Likewise.
16091         * tests/unictype/test-pr_grapheme_base.c: Likewise.
16092         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
16093         * tests/unictype/test-pr_grapheme_link.c: Likewise.
16094         * tests/unictype/test-pr_id_continue.c: Likewise.
16095         * tests/unictype/test-pr_id_start.c: Likewise.
16096         * tests/unictype/test-pr_ideographic.c: Likewise.
16097         * tests/unictype/test-pr_lowercase.c: Likewise.
16098         * tests/unictype/test-pr_math.c: Likewise.
16099         * tests/unictype/test-pr_numeric.c: Likewise.
16100         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
16101         * tests/unictype/test-pr_other_id_continue.c: Likewise.
16102         * tests/unictype/test-pr_other_math.c: Likewise.
16103         * tests/unictype/test-pr_punctuation.c: Likewise.
16104         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
16105         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
16106         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
16107         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
16108         * tests/unictype/test-pr_uppercase.c: Likewise.
16109         * tests/unictype/test-pr_xid_continue.c: Likewise.
16110         * tests/unictype/test-pr_xid_start.c: Likewise.
16111         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
16112         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
16113         changes.
16114         * lib/unictype/categ_Cc.h: Likewise.
16115         * lib/unictype/categ_Cf.h: Likewise.
16116         * lib/unictype/categ_Co.h: Likewise.
16117         * lib/unictype/categ_Cs.h: Likewise.
16118         * lib/unictype/categ_Lt.h: Likewise.
16119         * lib/unictype/categ_Nl.h: Likewise.
16120         * lib/unictype/categ_Pc.h: Likewise.
16121         * lib/unictype/categ_Pd.h: Likewise.
16122         * lib/unictype/categ_Pe.h: Likewise.
16123         * lib/unictype/categ_Pf.h: Likewise.
16124         * lib/unictype/categ_Pi.h: Likewise.
16125         * lib/unictype/categ_Ps.h: Likewise.
16126         * lib/unictype/categ_Z.h: Likewise.
16127         * lib/unictype/categ_Zl.h: Likewise.
16128         * lib/unictype/categ_Zp.h: Likewise.
16129         * lib/unictype/categ_Zs.h: Likewise.
16130         * lib/unictype/ctype_blank.h: Likewise.
16131         * lib/unictype/ctype_cntrl.h: Likewise.
16132         * lib/unictype/ctype_digit.h: Likewise.
16133         * lib/unictype/ctype_space.h: Likewise.
16134         * lib/unictype/ctype_xdigit.h: Likewise.
16135         * lib/unictype/mirror.h: Likewise.
16136         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
16137         * lib/unictype/pr_bidi_block_separator.h: Likewise.
16138         * lib/unictype/pr_bidi_common_separator.h: Likewise.
16139         * lib/unictype/pr_bidi_control.h: Likewise.
16140         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
16141         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
16142         * lib/unictype/pr_bidi_european_digit.h: Likewise.
16143         * lib/unictype/pr_bidi_pdf.h: Likewise.
16144         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
16145         * lib/unictype/pr_bidi_whitespace.h: Likewise.
16146         * lib/unictype/pr_dash.h: Likewise.
16147         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
16148         * lib/unictype/pr_diacritic.h: Likewise.
16149         * lib/unictype/pr_extender.h: Likewise.
16150         * lib/unictype/pr_hex_digit.h: Likewise.
16151         * lib/unictype/pr_hyphen.h: Likewise.
16152         * lib/unictype/pr_ids_binary_operator.h: Likewise.
16153         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
16154         * lib/unictype/pr_ignorable_control.h: Likewise.
16155         * lib/unictype/pr_iso_control.h: Likewise.
16156         * lib/unictype/pr_join_control.h: Likewise.
16157         * lib/unictype/pr_left_of_pair.h: Likewise.
16158         * lib/unictype/pr_line_separator.h: Likewise.
16159         * lib/unictype/pr_logical_order_exception.h: Likewise.
16160         * lib/unictype/pr_non_break.h: Likewise.
16161         * lib/unictype/pr_not_a_character.h: Likewise.
16162         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
16163         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
16164         * lib/unictype/pr_other_id_start.h: Likewise.
16165         * lib/unictype/pr_other_lowercase.h: Likewise.
16166         * lib/unictype/pr_other_uppercase.h: Likewise.
16167         * lib/unictype/pr_paired_punctuation.h: Likewise.
16168         * lib/unictype/pr_paragraph_separator.h: Likewise.
16169         * lib/unictype/pr_pattern_syntax.h: Likewise.
16170         * lib/unictype/pr_pattern_white_space.h: Likewise.
16171         * lib/unictype/pr_private_use.h: Likewise.
16172         * lib/unictype/pr_quotation_mark.h: Likewise.
16173         * lib/unictype/pr_radical.h: Likewise.
16174         * lib/unictype/pr_soft_dotted.h: Likewise.
16175         * lib/unictype/pr_space.h: Likewise.
16176         * lib/unictype/pr_titlecase.h: Likewise.
16177         * lib/unictype/pr_variation_selector.h: Likewise.
16178         * lib/unictype/pr_white_space.h: Likewise.
16179         * lib/unictype/pr_zero_width.h: Likewise.
16180         * lib/unictype/sy_c_ident.h: Likewise.
16181         * lib/unictype/sy_c_whitespace.h: Likewise.
16182         * lib/unictype/sy_java_whitespace.h: Likewise.
16183         * lib/uninorm/composition-table.gperf: Likewise.
16184         * lib/uninorm/decomposition-table1.h: Likewise.
16185         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
16186         LB8.
16187         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
16188         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
16189         * modules/unictype/*: Bump version number of expected libunistring
16190         version.
16191
16192 2011-01-09  Bruno Haible  <bruno@clisp.org>
16193
16194         Update to Unicode 5.2.0.
16195         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
16196         trailing whitespace removed.
16197
16198 2011-01-09  Bruno Haible  <bruno@clisp.org>
16199
16200         New Unicode character properties, from Unicode 5.2.0.
16201         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
16202         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
16203         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
16204         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
16205         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
16206         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
16207         uc_is_property_cased, uc_is_property_case_ignorable,
16208         uc_is_property_changes_when_lowercased,
16209         uc_is_property_changes_when_uppercased,
16210         uc_is_property_changes_when_titlecased,
16211         uc_is_property_changes_when_casefolded,
16212         uc_is_property_changes_when_casemapped): New declarations.
16213         * lib/unictype/pr_byname.gperf: Add the new properties.
16214         * modules/unictype/property-byname (Depends-on): Depend on the new
16215         properties modules.
16216         * modules/unictype/property-all (Depends-on): Likewise.
16217         * MODULES.html.sh (Unicode string functions): Add
16218         unictype/property-case-ignorable, unictype/property-cased,
16219         unictype/property-changes-when-casefolded,
16220         unictype/property-changes-when-casemapped,
16221         unictype/property-changes-when-lowercased,
16222         unictype/property-changes-when-titlecased,
16223         unictype/property-changes-when-uppercased.
16224
16225         New module 'unictype/property-changes-when-casemapped'.
16226         * modules/unictype/property-changes-when-casemapped: New file.
16227         * lib/unictype/pr_changes_when_casemapped.c: New file.
16228         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
16229         generated by gen-uni-tables.
16230         * modules/unictype/property-changes-when-casemapped-tests: New file.
16231         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
16232         automatically generated by gen-uni-tables.
16233
16234         New module 'unictype/property-changes-when-casefolded'.
16235         * modules/unictype/property-changes-when-casefolded: New file.
16236         * lib/unictype/pr_changes_when_casefolded.c: New file.
16237         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
16238         generated by gen-uni-tables.
16239         * modules/unictype/property-changes-when-casefolded-tests: New file.
16240         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
16241         automatically generated by gen-uni-tables.
16242
16243         New module 'unictype/property-changes-when-titlecased'.
16244         * modules/unictype/property-changes-when-titlecased: New file.
16245         * lib/unictype/pr_changes_when_titlecased.c: New file.
16246         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
16247         generated by gen-uni-tables.
16248         * modules/unictype/property-changes-when-titlecased-tests: New file.
16249         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
16250         automatically generated by gen-uni-tables.
16251
16252         New module 'unictype/property-changes-when-uppercased'.
16253         * modules/unictype/property-changes-when-uppercased: New file.
16254         * lib/unictype/pr_changes_when_uppercased.c: New file.
16255         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
16256         generated by gen-uni-tables.
16257         * modules/unictype/property-changes-when-uppercased-tests: New file.
16258         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
16259         automatically generated by gen-uni-tables.
16260
16261         New module 'unictype/property-changes-when-lowercased'.
16262         * modules/unictype/property-changes-when-lowercased: New file.
16263         * lib/unictype/pr_changes_when_lowercased.c: New file.
16264         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
16265         generated by gen-uni-tables.
16266         * modules/unictype/property-changes-when-lowercased-tests: New file.
16267         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
16268         automatically generated by gen-uni-tables.
16269
16270         New module 'unictype/property-case-ignorable'.
16271         * modules/unictype/property-case-ignorable: New file.
16272         * lib/unictype/pr_case_ignorable.c: New file.
16273         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
16274         by gen-uni-tables.
16275         * modules/unictype/property-case-ignorable-tests: New file.
16276         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
16277         generated by gen-uni-tables.
16278
16279         New module 'unictype/property-cased'.
16280         * modules/unictype/property-cased: New file.
16281         * lib/unictype/pr_cased.c: New file.
16282         * lib/unictype/pr_cased.h: New file, automatically generated by
16283         gen-uni-tables.
16284         * modules/unictype/property-cased-tests: New file.
16285         * tests/unictype/test-pr_cased.c: New file, automatically generated by
16286         gen-uni-tables.
16287
16288 2011-01-09  Bruno Haible  <bruno@clisp.org>
16289
16290         Update to Unicode 5.2.0.
16291         * lib/gen-uni-tables.c (output_predicate, output_category,
16292         output_combclass, output_bidi_category, output_decimal_digit_test,
16293         output_decimal_digit, output_digit_test, output_digit,
16294         output_numeric_test, output_numeric, output_mirror, output_scripts,
16295         output_scripts_byname, output_blocks, output_ident_category): Fix
16296         comment header.
16297         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
16298         get_wbp.
16299         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
16300         items.
16301         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
16302         Changes_When_Lowercased, Changes_When_Uppercased,
16303         Changes_When_Titlecased, Changes_When_Casefolded,
16304         Changes_When_Casemapped.
16305         (is_property_alphabetic, is_property_default_ignorable_code_point):
16306         Update for Unicode 5.2.0.
16307         (is_property_cased, is_property_case_ignorable,
16308         is_property_changes_when_lowercased,
16309         is_property_changes_when_uppercased,
16310         is_property_changes_when_titlecased,
16311         is_property_changes_when_casefolded,
16312         is_property_changes_when_casemapped): New functions.
16313         (output_properties): Output also the properties cased, case_ignorable,
16314         changes_when_lowercased, changes_when_uppercased,
16315         changes_when_titlecased, changes_when_casefolded,
16316         changes_when_casemapped.
16317         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
16318         Unicode TR#11 revision 17 -> 19.
16319         (LBP_CP): New enumeration value.
16320         (LBP_*): Adjust values accordingly.
16321         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
16322         TR#14 revision 22 -> 24.
16323         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
16324         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
16325         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
16326         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
16327         is_WBP_MIDLETTER.
16328         (output_composition_tables): Allow for 24 bits instead of 16 bits in
16329         the code1 and code2 of each composition rule.
16330         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
16331         * lib/unicase/ignorable.h: Likewise.
16332         * lib/unicase/tocasefold.h: Likewise.
16333         * lib/unicase/tolower.h: Likewise.
16334         * lib/unicase/totitle.h: Likewise.
16335         * lib/unicase/toupper.h: Likewise.
16336         * lib/unictype/bidi_of.h: Likewise.
16337         * lib/unictype/blocks.h: Likewise.
16338         * lib/unictype/categ_C.h: Likewise.
16339         * lib/unictype/categ_Cf.h: Likewise.
16340         * lib/unictype/categ_Cn.h: Likewise.
16341         * lib/unictype/categ_L.h: Likewise.
16342         * lib/unictype/categ_Ll.h: Likewise.
16343         * lib/unictype/categ_Lm.h: Likewise.
16344         * lib/unictype/categ_Lo.h: Likewise.
16345         * lib/unictype/categ_Lu.h: Likewise.
16346         * lib/unictype/categ_M.h: Likewise.
16347         * lib/unictype/categ_Mc.h: Likewise.
16348         * lib/unictype/categ_Mn.h: Likewise.
16349         * lib/unictype/categ_N.h: Likewise.
16350         * lib/unictype/categ_Nd.h: Likewise.
16351         * lib/unictype/categ_Nl.h: Likewise.
16352         * lib/unictype/categ_No.h: Likewise.
16353         * lib/unictype/categ_P.h: Likewise.
16354         * lib/unictype/categ_Pd.h: Likewise.
16355         * lib/unictype/categ_Po.h: Likewise.
16356         * lib/unictype/categ_S.h: Likewise.
16357         * lib/unictype/categ_Sc.h: Likewise.
16358         * lib/unictype/categ_So.h: Likewise.
16359         * lib/unictype/categ_of.h: Likewise.
16360         * lib/unictype/combining.h: Likewise.
16361         * lib/unictype/ctype_alnum.h: Likewise.
16362         * lib/unictype/ctype_alpha.h: Likewise.
16363         * lib/unictype/ctype_graph.h: Likewise.
16364         * lib/unictype/ctype_lower.h: Likewise.
16365         * lib/unictype/ctype_print.h: Likewise.
16366         * lib/unictype/ctype_punct.h: Likewise.
16367         * lib/unictype/ctype_upper.h: Likewise.
16368         * lib/unictype/decdigit.h: Likewise.
16369         * lib/unictype/digit.h: Likewise.
16370         * lib/unictype/numeric.h: Likewise.
16371         * lib/unictype/pr_alphabetic.h: Likewise.
16372         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
16373         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
16374         * lib/unictype/pr_bidi_european_digit.h: Likewise.
16375         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
16376         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
16377         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
16378         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
16379         * lib/unictype/pr_combining.h: Likewise.
16380         * lib/unictype/pr_composite.h: Likewise.
16381         * lib/unictype/pr_currency_symbol.h: Likewise.
16382         * lib/unictype/pr_dash.h: Likewise.
16383         * lib/unictype/pr_decimal_digit.h: Likewise.
16384         * lib/unictype/pr_deprecated.h: Likewise.
16385         * lib/unictype/pr_diacritic.h: Likewise.
16386         * lib/unictype/pr_extender.h: Likewise.
16387         * lib/unictype/pr_grapheme_base.h: Likewise.
16388         * lib/unictype/pr_grapheme_extend.h: Likewise.
16389         * lib/unictype/pr_grapheme_link.h: Likewise.
16390         * lib/unictype/pr_id_continue.h: Likewise.
16391         * lib/unictype/pr_id_start.h: Likewise.
16392         * lib/unictype/pr_ideographic.h: Likewise.
16393         * lib/unictype/pr_ignorable_control.h: Likewise.
16394         * lib/unictype/pr_logical_order_exception.h: Likewise.
16395         * lib/unictype/pr_lowercase.h: Likewise.
16396         * lib/unictype/pr_numeric.h: Likewise.
16397         * lib/unictype/pr_other_alphabetic.h: Likewise.
16398         * lib/unictype/pr_punctuation.h: Likewise.
16399         * lib/unictype/pr_sentence_terminal.h: Likewise.
16400         * lib/unictype/pr_terminal_punctuation.h: Likewise.
16401         * lib/unictype/pr_unassigned_code_value.h: Likewise.
16402         * lib/unictype/pr_unified_ideograph.h: Likewise.
16403         * lib/unictype/pr_uppercase.h: Likewise.
16404         * lib/unictype/pr_xid_continue.h: Likewise.
16405         * lib/unictype/pr_xid_start.h: Likewise.
16406         * lib/unictype/pr_zero_width.h: Likewise.
16407         * lib/unictype/scripts.h: Likewise.
16408         * lib/unictype/scripts_byname.gperf: Likewise.
16409         * lib/unictype/sy_java_ident.h: Likewise.
16410         * lib/unigbrk/gbrkprop.h: Likewise.
16411         * lib/unilbrk/lbrkprop1.h: Likewise.
16412         * lib/unilbrk/lbrkprop2.h: Likewise.
16413         * lib/unilbrk/lbrktables.h: Likewise.
16414         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
16415         LBP_CP. Implement rule LB30.
16416         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
16417         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
16418         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
16419         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
16420         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
16421         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
16422         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
16423         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
16424         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
16425         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
16426         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
16427         bits instead of 16 bits in the code1 and code2 of each composition
16428         rule.
16429         (uc_composition): Update for Unicode 5.2.0.
16430         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
16431         * lib/uninorm/decomposition-table2.h: Likewise.
16432         * lib/uniwbrk/wbrkprop.h: Likewise.
16433         * tests/unicase/test-cased.c: Likewise.
16434         * tests/unicase/test-ignorable.c: Likewise.
16435         * tests/unicase/test-uc_tolower.c: Likewise.
16436         * tests/unicase/test-uc_totitle.c: Likewise.
16437         * tests/unicase/test-uc_toupper.c: Likewise.
16438         * tests/unictype/test-categ_C.c: Likewise.
16439         * tests/unictype/test-categ_Cf.c: Likewise.
16440         * tests/unictype/test-categ_Cn.c: Likewise.
16441         * tests/unictype/test-categ_L.c: Likewise.
16442         * tests/unictype/test-categ_Ll.c: Likewise.
16443         * tests/unictype/test-categ_Lm.c: Likewise.
16444         * tests/unictype/test-categ_Lo.c: Likewise.
16445         * tests/unictype/test-categ_Lu.c: Likewise.
16446         * tests/unictype/test-categ_M.c: Likewise.
16447         * tests/unictype/test-categ_Mc.c: Likewise.
16448         * tests/unictype/test-categ_Mn.c: Likewise.
16449         * tests/unictype/test-categ_N.c: Likewise.
16450         * tests/unictype/test-categ_Nd.c: Likewise.
16451         * tests/unictype/test-categ_Nl.c: Likewise.
16452         * tests/unictype/test-categ_No.c: Likewise.
16453         * tests/unictype/test-categ_P.c: Likewise.
16454         * tests/unictype/test-categ_Pd.c: Likewise.
16455         * tests/unictype/test-categ_Po.c: Likewise.
16456         * tests/unictype/test-categ_S.c: Likewise.
16457         * tests/unictype/test-categ_Sc.c: Likewise.
16458         * tests/unictype/test-categ_So.c: Likewise.
16459         * tests/unictype/test-ctype_alnum.c: Likewise.
16460         * tests/unictype/test-ctype_alpha.c: Likewise.
16461         * tests/unictype/test-ctype_graph.c: Likewise.
16462         * tests/unictype/test-ctype_lower.c: Likewise.
16463         * tests/unictype/test-ctype_print.c: Likewise.
16464         * tests/unictype/test-ctype_punct.c: Likewise.
16465         * tests/unictype/test-ctype_upper.c: Likewise.
16466         * tests/unictype/test-decdigit.h: Likewise.
16467         * tests/unictype/test-digit.h: Likewise.
16468         * tests/unictype/test-numeric.h: Likewise.
16469         * tests/unictype/test-pr_alphabetic.c: Likewise.
16470         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
16471         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
16472         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
16473         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
16474         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
16475         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
16476         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
16477         * tests/unictype/test-pr_combining.c: Likewise.
16478         * tests/unictype/test-pr_composite.c: Likewise.
16479         * tests/unictype/test-pr_currency_symbol.c: Likewise.
16480         * tests/unictype/test-pr_dash.c: Likewise.
16481         * tests/unictype/test-pr_decimal_digit.c: Likewise.
16482         * tests/unictype/test-pr_deprecated.c: Likewise.
16483         * tests/unictype/test-pr_diacritic.c: Likewise.
16484         * tests/unictype/test-pr_extender.c: Likewise.
16485         * tests/unictype/test-pr_grapheme_base.c: Likewise.
16486         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
16487         * tests/unictype/test-pr_grapheme_link.c: Likewise.
16488         * tests/unictype/test-pr_id_continue.c: Likewise.
16489         * tests/unictype/test-pr_id_start.c: Likewise.
16490         * tests/unictype/test-pr_ideographic.c: Likewise.
16491         * tests/unictype/test-pr_ignorable_control.c: Likewise.
16492         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
16493         * tests/unictype/test-pr_lowercase.c: Likewise.
16494         * tests/unictype/test-pr_numeric.c: Likewise.
16495         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
16496         * tests/unictype/test-pr_punctuation.c: Likewise.
16497         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
16498         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
16499         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
16500         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
16501         * tests/unictype/test-pr_uppercase.c: Likewise.
16502         * tests/unictype/test-pr_xid_continue.c: Likewise.
16503         * tests/unictype/test-pr_xid_start.c: Likewise.
16504         * tests/unictype/test-pr_zero_width.c: Likewise.
16505         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
16506         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
16507         changed behaviour: line breaking is now disallowed between a letter
16508         or '=' and '('.
16509         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
16510         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
16511         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
16512         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
16513         * tests/uniwidth/test-uc_width2.sh: Same updates as in
16514         lib/uniwidth/width.c.
16515         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
16516         without comments, but with the original copyright notice.
16517         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
16518         changes.
16519         * lib/unictype/categ_Cc.h: Likewise.
16520         * lib/unictype/categ_Co.h: Likewise.
16521         * lib/unictype/categ_Cs.h: Likewise.
16522         * lib/unictype/categ_Lt.h: Likewise.
16523         * lib/unictype/categ_Me.h: Likewise.
16524         * lib/unictype/categ_Pc.h: Likewise.
16525         * lib/unictype/categ_Pe.h: Likewise.
16526         * lib/unictype/categ_Pf.h: Likewise.
16527         * lib/unictype/categ_Pi.h: Likewise.
16528         * lib/unictype/categ_Ps.h: Likewise.
16529         * lib/unictype/categ_Sk.h: Likewise.
16530         * lib/unictype/categ_Sm.h: Likewise.
16531         * lib/unictype/categ_Z.h: Likewise.
16532         * lib/unictype/categ_Zl.h: Likewise.
16533         * lib/unictype/categ_Zp.h: Likewise.
16534         * lib/unictype/categ_Zs.h: Likewise.
16535         * lib/unictype/ctype_blank.h: Likewise.
16536         * lib/unictype/ctype_cntrl.h: Likewise.
16537         * lib/unictype/ctype_digit.h: Likewise.
16538         * lib/unictype/ctype_space.h: Likewise.
16539         * lib/unictype/ctype_xdigit.h: Likewise.
16540         * lib/unictype/mirror.h: Likewise.
16541         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
16542         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
16543         * lib/unictype/pr_bidi_block_separator.h: Likewise.
16544         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
16545         * lib/unictype/pr_bidi_common_separator.h: Likewise.
16546         * lib/unictype/pr_bidi_control.h: Likewise.
16547         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
16548         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
16549         * lib/unictype/pr_bidi_pdf.h: Likewise.
16550         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
16551         * lib/unictype/pr_bidi_whitespace.h: Likewise.
16552         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
16553         * lib/unictype/pr_format_control.h: Likewise.
16554         * lib/unictype/pr_hex_digit.h: Likewise.
16555         * lib/unictype/pr_hyphen.h: Likewise.
16556         * lib/unictype/pr_ids_binary_operator.h: Likewise.
16557         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
16558         * lib/unictype/pr_iso_control.h: Likewise.
16559         * lib/unictype/pr_join_control.h: Likewise.
16560         * lib/unictype/pr_left_of_pair.h: Likewise.
16561         * lib/unictype/pr_line_separator.h: Likewise.
16562         * lib/unictype/pr_math.h: Likewise.
16563         * lib/unictype/pr_non_break.h: Likewise.
16564         * lib/unictype/pr_not_a_character.h: Likewise.
16565         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
16566         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
16567         * lib/unictype/pr_other_id_continue.h: Likewise.
16568         * lib/unictype/pr_other_id_start.h: Likewise.
16569         * lib/unictype/pr_other_lowercase.h: Likewise.
16570         * lib/unictype/pr_other_math.h: Likewise.
16571         * lib/unictype/pr_other_uppercase.h: Likewise.
16572         * lib/unictype/pr_paired_punctuation.h: Likewise.
16573         * lib/unictype/pr_paragraph_separator.h: Likewise.
16574         * lib/unictype/pr_pattern_syntax.h: Likewise.
16575         * lib/unictype/pr_pattern_white_space.h: Likewise.
16576         * lib/unictype/pr_private_use.h: Likewise.
16577         * lib/unictype/pr_quotation_mark.h: Likewise.
16578         * lib/unictype/pr_radical.h: Likewise.
16579         * lib/unictype/pr_soft_dotted.h: Likewise.
16580         * lib/unictype/pr_space.h: Likewise.
16581         * lib/unictype/pr_titlecase.h: Likewise.
16582         * lib/unictype/pr_variation_selector.h: Likewise.
16583         * lib/unictype/pr_white_space.h: Likewise.
16584         * lib/unictype/sy_c_ident.h: Likewise.
16585         * lib/unictype/sy_c_whitespace.h: Likewise.
16586         * lib/unictype/sy_java_whitespace.h: Likewise.
16587         * modules/uni*/*: Bump version number of expected libunistring version.
16588         Reported by Simon Josefsson.
16589
16590 2011-01-09  Karl Heuer  <kwzh@gnu.org>
16591
16592         useless-if-before-free: fix typo in --help and make the internal,
16593         automatic version date update process work once again.
16594         --help output contained a NUL character instead of the
16595         backslash-zero that was intended.  Also, the "must lie within
16596         the first 8 lines" line is on line 9, and hence not getting
16597         automatically updated.
16598         * build-aux/useless-if-before-free: Fix the former by adding a
16599         backslash, and the latter by condensing the three lines of what-it-does
16600         to a single line, leaving one line of slack for the future.
16601
16602 2011-01-09  Bruno Haible  <bruno@clisp.org>
16603
16604         uniwidth/width: Fix width of U+1D173..U+1D17A.
16605         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
16606         symbolic_width, output_width_property_test): New functions.
16607         (main): Invoke output_nonspacing_property, output_width_property_test.
16608         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
16609         U+1D173..U+1D17A.
16610         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
16611         1.
16612         * modules/uniwidth/*: Bump version number of expected libunistring
16613         version.
16614         * modules/unilbrk/*: Likewise.
16615
16616 2011-01-08  Bruno Haible  <bruno@clisp.org>
16617
16618         uninorm tests: Preserve copyright of Unicode data file.
16619         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
16620         Mention modifications.
16621
16622 2011-01-08  Bruno Haible  <bruno@clisp.org>
16623
16624         gen-uni-tables: Prepare for Unicode 5.2.0.
16625         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
16626         (debug_output_lbp, output_lbp): Update.
16627
16628 2011-01-08  Bruno Haible  <bruno@clisp.org>
16629
16630         unilbrk: Clarify gen-uni-tables.c code.
16631         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
16632         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
16633         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
16634
16635 2011-01-07  Bruno Haible  <bruno@clisp.org>
16636
16637         strtod: Restore errno when successfully parsing Infinity or NaN.
16638         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
16639         restore the original errno.
16640
16641 2011-01-07  Bruno Haible  <bruno@clisp.org>
16642
16643         remove test: Avoid failure on HP-UX 11.
16644         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
16645
16646 2011-01-07  Bruno Haible  <bruno@clisp.org>
16647
16648         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
16649         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
16650         error code.
16651
16652 2011-01-07  Pádraig Brady <P@draigBrady.com>
16653
16654         ignore-value: fixup comments, and add Eric Blake
16655         as an author since he rewrote the macros.
16656         * lib/ignore-value.h (ignore_value):  State that
16657         we now support aggregates.  Also specify exactly
16658         when the GCC warn_unused_result feature was added.
16659
16660 2011-01-06  Eric Blake  <eblake@redhat.com>
16661
16662         ignore-value: support aggregate types
16663         * lib/ignore-value.h (ignore_value): Provide separate gcc
16664         definition.
16665         * modules/ignore-value-tests: New test module.
16666         * tests/test-ignore-value.c: New test.
16667
16668         maint.mk: improve sc_prohibit_strcmp regex
16669         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
16670         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
16671         definition of STRNEQ.
16672
16673         signal: work around Haiku issue with SIGBUS
16674         * lib/siglist.h: Add comment.
16675         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
16676         strsignal's favoring of SIGSEGV.
16677         * tests/test-signal.c (main): Avoid test failure.
16678         * doc/posix-headers/signal.texi (signal.h): Document the issue.
16679         Reported by Scott McCreary.
16680
16681         maint.mk: add pre-release check to ensure submodule commits are public
16682         * top/maint.mk (public-submodule-commit): New rule.
16683         (submodule-checks): New variable.
16684         (alpha beta stable): Depend on the variable.
16685
16686 2011-01-05  Pádraig Brady <P@draigBrady.com>
16687         and Jim Meyering  <meyering@redhat.com>
16688
16689         ignore-value: make ignore_value more generic; deprecate ignore_ptr
16690         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
16691         (ATTRIBUTE_DEPRECATED): Define.
16692         (_ignore_case): New function.
16693         (ignore_value): New macro, to replace the old function.
16694         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
16695         * modules/ignore-value (Depends-on): Add stdint.
16696
16697 2011-01-04  Eric Blake  <eblake@redhat.com>
16698
16699         doc: regenerate INSTALL
16700         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
16701         @firstparagraphindent support, now that autoconf dropped it.
16702         (INSTALL_PRELUDE): Reinstate old macro.
16703         * doc/install.texi: Resync from autoconf.
16704         * doc/INSTALL: Reflect recent autoconf update.
16705         * doc/INSTALL.ISO: Likewise.
16706         * doc/INSTALL.UTF-8: Likewise.
16707         Reported by Karl Berry.
16708
16709 2011-01-04  Bruce Korb  <address@hidden>
16710
16711         git-version-gen: avoid a sub-shell
16712         * build-aux/git-version-gen: Redirect stderr in `...` via
16713         "exec 2>...", rather than via an added sub-shell.
16714
16715 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
16716
16717         git-version-gen: use (...) rather than sh -c '...'
16718         * build-aux/git-version-gen: Rather than hard-coding a shell's name
16719         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
16720
16721 2011-01-03  Jim Meyering  <meyering@redhat.com>
16722
16723         git-version-gen: convert leading TABs to spaces
16724         * build-aux/git-version-gen: Expand leading TABs.
16725
16726         git-version-gen: handle failed "git rev-list"
16727         * build-aux/git-version-gen: Rather than leaking a "fatal" error
16728         from git and proceeding as if it had succeeded but printed no SHA1
16729         checksums, suppress the diagnostic and handle the failure.
16730         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
16731
16732         git-version-gen: include command name in one more diagnostic
16733         * build-aux/git-version-gen: When the required .tarball-version file
16734         was missing or unreadable, you might see the diagnostic from "cat",
16735         but no trace of the name of the invoking script.  Now, you still see
16736         the diagnostic from cat, but also get one from "git-version-gen: ".
16737         Inspired by a patch from Bruce Korb.
16738
16739         update-copyright: adjust test to match changed code
16740         * tests/test-update-copyright.sh: Change test's expected output
16741         to match new actual output.
16742
16743 2011-01-02  Bruno Haible  <bruno@clisp.org>
16744
16745         getlogin_r: Avoid test failure on HP-UX 11.
16746         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
16747         ERANGE when the second argument is zero.
16748         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
16749         portability problem.
16750
16751 2011-01-02  Bruce Korb  <bkorb@gnu.org>
16752
16753         * build-aux/update-copyright: doc Simon's changes
16754
16755 2011-01-02  Simon Josefsson  <simon@josefsson.org>
16756
16757         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
16758         environment variable.
16759
16760 2011-01-02  Bruno Haible  <bruno@clisp.org>
16761
16762         unigbrk: Avoid gcc warnings.
16763         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
16764         unused variable.
16765         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
16766         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
16767         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
16768         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
16769         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
16770         Change type of first argument to 'const char *'.
16771         (main): Remove unused variable.
16772         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
16773         type of first argument to 'const char *'.
16774         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
16775         Likewise.
16776         (main): Change type of variable 's'.
16777         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
16778         to 'int'.
16779
16780 2011-01-02  Bruno Haible  <bruno@clisp.org>
16781
16782         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
16783         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
16784         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
16785         bug.
16786         * lib/pwrite.c: Undo 2010-12-31 patch.
16787         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
16788
16789 2011-01-02  Bruno Haible  <bruno@clisp.org>
16790
16791         pread: Fix test whether it works.
16792         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
16793
16794 2011-01-02  Bruno Haible  <bruno@clisp.org>
16795
16796         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
16797         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
16798         ends in "6". Don't require a specific month name. Try also the locale
16799         names found on HP-UX 11 and Solaris 7.
16800
16801 2011-01-02  Bruno Haible  <bruno@clisp.org>
16802
16803         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
16804         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
16805         C linkage.
16806         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
16807
16808 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16809
16810         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
16811         for consistency, since the "cluster" term is not used elsewhere.
16812         * lib/unigbrk.in.h: Update name.
16813         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
16814         * lib/unigbrk/u16-grapheme-next.c: Update name.
16815         * lib/unigbrk/u16-grapheme-prev.c: Update name.
16816         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
16817         * lib/unigbrk/u32-grapheme-next.c: Update name.
16818         * lib/unigbrk/u32-grapheme-prev.c: Update name.
16819         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
16820         * lib/unigbrk/u8-grapheme-next.c: Update name.
16821         * lib/unigbrk/u8-grapheme-prev.c: Update name.
16822         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
16823         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
16824         Suggested by Bruno Haible.
16825
16826 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16827
16828         Remove module 'u8-grapheme-len' as too redundant with
16829         'u8-grapheme-next'.
16830         * modules/unigbrk/u8-grapheme-len: Delete file.
16831         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
16832         * lib/unigbrk.in.h: Remove prototype for deleted function.
16833         * lib/unigbrk/u8-grapheme-len.c: Delete file.
16834         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
16835
16836         Remove module 'u16-grapheme-len' as too redundant with
16837         'u16-grapheme-next'.
16838         * modules/unigbrk/u16-grapheme-len: Delete file.
16839         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16840         * lib/unigbrk.in.h: Remove prototype for deleted function.
16841         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16842         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16843
16844         Remove module 'u32-grapheme-len' as too redundant with
16845         'u32-grapheme-next'.
16846         * modules/unigbrk/u32-grapheme-len: Delete file.
16847         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16848         * lib/unigbrk.in.h: Remove prototype for deleted function.
16849         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16850         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16851
16852         Suggested by Bruno Haible.
16853
16854 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16855
16856         * unigbrk.in.h: Fix typo: "ben" => "been".
16857         Reported by Bruno Haible.
16858
16859 2011-01-01  Jim Meyering  <meyering@redhat.com>
16860
16861         maint: update almost all copyright ranges to include 2011
16862         Run the new "make update-copyright" rule.
16863
16864 2011-01-01  Jim Meyering  <meyering@redhat.com>
16865
16866         maint: update-copyright: exempt doc/INSTALL*
16867         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16868         since they are generated.  Suggested by Bruno Haible.
16869
16870 2011-01-01  Jim Meyering  <meyering@redhat.com>
16871
16872         maint: refine the update-copyright rule
16873         * Makefile (update-copyright): Also exclude any file that includes
16874         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16875         code that merely generates the comment.
16876
16877 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16878
16879         New module 'u8-grapheme-len'.
16880         * modules/unigbrk/u8-grapheme-len: New file.
16881         * modules/unigbrk/u8-grapheme-len-tests: New file.
16882         * lib/unigbrk.in.h: Add prototype for new function.
16883         * lib/unigbrk/u8-grapheme-len.c: New file.
16884         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16885
16886         New module 'u16-grapheme-len'.
16887         * modules/unigbrk/u16-grapheme-len: New file.
16888         * modules/unigbrk/u16-grapheme-len-tests: New file.
16889         * lib/unigbrk.in.h: Add prototype for new function.
16890         * lib/unigbrk/u16-grapheme-len.c: New file.
16891         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16892
16893         New module 'u32-grapheme-len'.
16894         * modules/unigbrk/u32-grapheme-len: New file.
16895         * modules/unigbrk/u32-grapheme-len-tests: New file.
16896         * lib/unigbrk.in.h: Add prototype for new function.
16897         * lib/unigbrk/u32-grapheme-len.c: New file.
16898         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16899
16900         New module 'u8-grapheme-next'.
16901         * modules/unigbrk/u8-grapheme-next: New file.
16902         * modules/unigbrk/u8-grapheme-next-tests: New file.
16903         * lib/unigbrk.in.h: Add prototype for new function.
16904         * lib/unigbrk/u8-grapheme-next.c: New file.
16905         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16906
16907         New module 'u16-grapheme-next'.
16908         * modules/unigbrk/u16-grapheme-next: New file.
16909         * modules/unigbrk/u16-grapheme-next-tests: New file.
16910         * lib/unigbrk.in.h: Add prototype for new function.
16911         * lib/unigbrk/u16-grapheme-next.c: New file.
16912         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16913
16914         New module 'u32-grapheme-next'.
16915         * modules/unigbrk/u32-grapheme-next: New file.
16916         * modules/unigbrk/u32-grapheme-next-tests: New file.
16917         * lib/unigbrk.in.h: Add prototype for new function.
16918         * lib/unigbrk/u32-grapheme-next.c: New file.
16919         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16920
16921         New module 'u8-grapheme-prev'.
16922         * modules/unigbrk/u8-grapheme-prev: New file.
16923         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16924         * lib/unigbrk.in.h: Add prototype for new function.
16925         * lib/unigbrk/u8-grapheme-prev.c: New file.
16926         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16927
16928         New module 'u16-grapheme-prev'.
16929         * modules/unigbrk/u16-grapheme-prev: New file.
16930         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16931         * lib/unigbrk.in.h: Add prototype for new function.
16932         * lib/unigbrk/u16-grapheme-prev.c: New file.
16933         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16934
16935         New module 'u32-grapheme-prev'.
16936         * modules/unigbrk/u32-grapheme-prev: New file.
16937         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16938         * lib/unigbrk.in.h: Add prototype for new function.
16939         * lib/unigbrk/u32-grapheme-prev.c: New file.
16940         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16941
16942         New module 'u8-grapheme-breaks'.
16943         * modules/unigbrk/u8-grapheme-breaks: New file.
16944         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16945         * lib/unigbrk.in.h: Add prototype for new function.
16946         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16947         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16948
16949         New module 'u16-grapheme-breaks'.
16950         * modules/unigbrk/u16-grapheme-breaks: New file.
16951         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16952         * lib/unigbrk.in.h: Add prototype for new function.
16953         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16954         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16955
16956         New module 'u32-grapheme-breaks'.
16957         * modules/unigbrk/u32-grapheme-breaks: New file.
16958         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16959         * lib/unigbrk.in.h: Add prototype for new function.
16960         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16961         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16962
16963         New module 'ulc-grapheme-breaks'.
16964         * modules/unigbrk/ulc-grapheme-breaks: New file.
16965         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16966         * m4/locale-ar.m4: New file.
16967         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16968         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16969         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16970
16971 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16972
16973         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16974         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16975         modified how this file was generated before I initially submitted
16976         the module, but failed to regenerate it.  This meant that several
16977         of the level2 entries were wrong.
16978         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16979         Remove the division-by-2 that is folded into the table now that
16980         gbrkprop.h has been regenerated properly.  Now -1 entries are
16981         handled correctly.
16982
16983         New module 'unigbrk/uc-gbrk-prop-tests'.
16984         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16985         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16986         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16987         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16988
16989 2011-01-01  Bruno Haible  <bruno@clisp.org>
16990
16991         Avoid use of hexadecimal escapes.
16992         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16993         instead of hexadecimal escapes.
16994
16995 2011-01-01  Jim Meyering  <meyering@redhat.com>
16996
16997         maint: new rule to update copyright year ranges
16998         * Makefile (update-copyright): New rule.
16999
17000         maint: indent with TABs in Makefile
17001         * Makefile: Expand leading sequences of spaces to TABs
17002
17003         version-etc: update the copyright year it reports
17004         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
17005
17006 2010-12-31  Bruno Haible  <bruno@clisp.org>
17007
17008         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
17009         * lib/isfinite.c (zerof, zerod, zerol): New variables.
17010         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
17011         zero.
17012
17013 2010-12-31  Bruno Haible  <bruno@clisp.org>
17014
17015         pwrite: Work around HP-UX 11.11 bug.
17016         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
17017         works and set REPLACE_PWRITE if not.
17018         * lib/pwrite.c (pwrite): Add an implementation that uses the system
17019         function.
17020         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
17021
17022 2010-12-31  Bruno Haible  <bruno@clisp.org>
17023
17024         pread: Work around HP-UX 11 bugs.
17025         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
17026         and set REPLACE_PREAD if not.
17027         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
17028
17029 2010-12-31  Eric Blake  <eblake@redhat.com>
17030
17031         nl_langinfo: fix YESEXPR on Irix 6.5
17032         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
17033         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
17034         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
17035         it.
17036
17037 2010-12-31  Bruno Haible  <bruno@clisp.org>
17038
17039         iconv: Document HP-UX 11 bug.
17040         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
17041
17042 2010-12-31  Bruno Haible  <bruno@clisp.org>
17043
17044         ldexpl: Fix link error on HP-UX 11.
17045         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
17046         LDEXPL_LIBM, using $ISNANL_LIBM.
17047
17048 2010-12-31  Eric Blake  <eblake@redhat.com>
17049
17050         ftello: avoid compilation failure with SunStudio c89
17051         * lib/ftello.c (ftello): Use lseek, not llseek.
17052
17053         tests: avoid failing coreutils tests on cygwin
17054         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
17055         (create_exe_shims_): Return 0 when skipping.
17056
17057 2010-12-31  Bruno Haible  <bruno@clisp.org>
17058
17059         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
17060         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
17061
17062 2010-12-31  Bruno Haible  <bruno@clisp.org>
17063
17064         waitpid: Fix link error in C++ mode.
17065         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
17066
17067 2010-12-31  Bruno Haible  <bruno@clisp.org>
17068
17069         isnan: Use GCC built-ins when possible.
17070         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
17071         __builtin_isnan.
17072         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
17073         (isnan): Define using GCC built-ins for GCC >= 4.0.
17074
17075 2010-12-31  Bruno Haible  <bruno@clisp.org>
17076
17077         isnand: Fix mistake.
17078         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
17079         __builtin_isnand.
17080
17081 2010-12-31  Bruno Haible  <bruno@clisp.org>
17082
17083         open: Avoid C++ error on HP-UX 11.
17084         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
17085
17086 2010-12-31  Bruno Haible  <bruno@clisp.org>
17087
17088         time_r: Add missing declarations on HP-UX 11.
17089         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
17090         instead of HAVE_LOCALTIME_R.
17091         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
17092         HAVE_LOCALTIME_R always.
17093         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
17094         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
17095         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
17096         HAVE_LOCALTIME_R.
17097         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
17098         * doc/posix-functions/localtime_r.texi: Likewise.
17099
17100 2010-12-29  Eric Blake  <eblake@redhat.com>
17101
17102         mountlist: tweak previous commit
17103         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
17104         Reported by Paul Eggert.
17105
17106         mountlist: fix local drive detection on cygwin
17107         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
17108         that works for cygwin.
17109
17110 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
17111
17112         ftoastr, snprintf: ftoastr + snprintf module
17113         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
17114         since the snprintf module now should be good enough here.
17115         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
17116         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
17117         and gl_MODULE_INDICATOR([snprintf]), but the former enables
17118         GNULIB_SNPRINTF only for the test directory, and the latter
17119         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
17120         seems to suffice by itself.
17121
17122 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
17123
17124         alloca: one step towards thread-safety
17125         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
17126         need for a static variable.  All callers changed.  This does not
17127         make the alloca replacement thread-safe, but it's one step.
17128
17129         tests: minor indenting change
17130         * tests/init.sh: Sync from coreutils housekeeping patch
17131         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
17132         to keep lines within 80 columns.
17133
17134 2010-12-28  Jim Meyering  <meyering@redhat.com>
17135
17136         regex: don't infloop on persistent failing calloc
17137         * lib/regexec.c (build_trtable): Return failure indication upon
17138         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
17139         In glibc, this was fixed for version 2.13:
17140         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
17141
17142 2010-12-28  Bruno Haible  <bruno@clisp.org>
17143             Paul Eggert <eggert@cs.ucla.edu>
17144
17145         linkat: Make implementation robust against system behaviour variations.
17146         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
17147         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
17148         way, and to -2 if it needs a generic runtime test.
17149         * lib/linkat.c (solaris_optimized_link_immediate,
17150         solaris_optimized_link_follow): New functions.
17151         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
17152         (check_same_link): Use it.
17153
17154 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
17155
17156         New module 'unigbrk/base'.
17157         * modules/unigbrk/base: New file.
17158         * lib/unigbrk.in.h: New file.
17159
17160         New module 'unigbrk/uc-gbrk-prop'.
17161         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
17162         * modules/unigbrk/uc-gbrk-prop: New file.
17163         * lib/unigbrk/gbrkprop.h: New file.
17164         * lib/unigbrk/uc-gbrk-prop.c: New file.
17165
17166         New module 'unigbrk/uc-is-grapheme-break'.
17167         * modules/unigbrk/uc-is-grapheme-break: New file.
17168         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
17169         * lib/unigbrk/uc-is-grapheme-break.c: New file.
17170         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
17171         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
17172         * tests/unigbrk/GraphemeBreakTest.txt: New file.
17173
17174         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
17175
17176 2010-12-27  Bruno Haible  <bruno@clisp.org>
17177
17178         linkat test: Avoid failure on Solaris 11 2010-11.
17179         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
17180
17181 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17182
17183         utimens: work around glibc rounding bug on more platforms
17184         * lib/utimens.c (fdutimens): Work around rounding bug even if
17185         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
17186         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
17187
17188 2010-12-27  Bruno Haible  <bruno@clisp.org>
17189
17190         select tests: Improve comments.
17191         * tests/test-select.c (do_select): Add comments.
17192
17193 2010-12-27  Bruno Haible  <bruno@clisp.org>
17194
17195         select tests: Safer way of handling timeout.
17196         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
17197         at every invocation.
17198
17199 2010-12-27  Bruno Haible  <bruno@clisp.org>
17200
17201         select tests: Use 'bool' where appropriate.
17202         * tests/test-select.c (connect_to_socket): Change argument type to
17203         'bool'.
17204
17205 2010-12-27  Bruno Haible  <bruno@clisp.org>
17206
17207         select tests: Use existing modules.
17208         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
17209         (configure.ac): Don't test for unistd.h.
17210         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
17211         declared in <unistd.h>.
17212
17213 2010-12-27  Bruno Haible  <bruno@clisp.org>
17214
17215         mbrtowc: Work around a Solaris 7 bug.
17216         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
17217         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
17218         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
17219         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
17220         MBRTOWC_NULL_ARG1_BUG.
17221         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
17222         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
17223         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
17224         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
17225
17226 2010-12-27  Jim Meyering  <meyering@redhat.com>
17227
17228         read-file.c: tweak syntax
17229         * lib/read-file.c (fread_file): Remove space after "*" in function
17230         definitions.
17231
17232 2010-12-27  Bruno Haible  <bruno@clisp.org>
17233
17234         times test: Avoid gcc warnings on OSF/1.
17235         * tests/test-times.c (main): Cast printf arguments from clock_t to
17236         'long int'.
17237
17238 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17239
17240         utimens: work around glibc rounding bug on older Linux kernels
17241         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
17242         on Linux with a glibc whose utimes might not work, then work
17243         around a longstanding glibc bug involving rounding rather than
17244         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
17245         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
17246
17247 2010-12-26  Bruno Haible  <bruno@clisp.org>
17248
17249         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
17250         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
17251         _GL_CXXALIAS_SYS.
17252         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17253
17254 2010-12-26  Bruno Haible  <bruno@clisp.org>
17255
17256         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
17257         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
17258         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17259         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
17260         looking for the declaration.
17261         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
17262         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
17263         problem.
17264         * doc/posix-functions/inet_pton.texi: Likewise.
17265
17266 2010-12-26  Bruno Haible  <bruno@clisp.org>
17267
17268         arpa_inet: Use the common idioms with C++ support.
17269         * lib/arpa_inet.in.h: Include c++defs.h.
17270         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
17271         support.
17272         * modules/arpa_inet (Depends-on): Add c++defs.
17273         (Makefile.am): Substitute the contents of c++defs.h.
17274         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
17275         * modules/arpa_inet-c++-tests: New file.
17276         * tests/test-arpa_inet-c++.cc: New file.
17277
17278 2010-12-25  Bruno Haible  <bruno@clisp.org>
17279
17280         Fix more C++ link errors on Solaris 8.
17281         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
17282         $(LIB_EACCESS).
17283         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
17284         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
17285         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
17286         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
17287         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
17288
17289 2010-12-25  Bruno Haible  <bruno@clisp.org>
17290
17291         printf-posix: Fix link error when a non-GCC compiler is used.
17292         * lib/stdio.in.h (printf): When not using GCC, override printf
17293         correctly.
17294         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17295
17296 2010-12-25  Bruno Haible  <bruno@clisp.org>
17297
17298         strerror_r-posix: Update doc.
17299         * doc/posix-functions/strerror_r.texi: Update doc about the return
17300         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
17301
17302 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
17303
17304         utimens: simplify the logic of the previous change
17305         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
17306         This should not affect whether the test succeeds or fails.
17307
17308         utimens: configure better on hosts with NFS clock skew
17309         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
17310         uses the clock of the local host.  It might use the clock of the
17311         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
17312         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
17313
17314 2010-12-25  Bruno Haible  <bruno@clisp.org>
17315
17316         ptsname test: Avoid failure on Solaris.
17317         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
17318         open a pseudo-terminal; don't use BSD-style ptys.
17319         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
17320
17321 2010-12-25  Bruno Haible  <bruno@clisp.org>
17322
17323         ptsname: Avoid ERANGE failure on some systems.
17324         * lib/ptsname.c (buffer): Increase size.
17325
17326 2010-12-25  Bruno Haible  <bruno@clisp.org>
17327
17328         rename, renameat: Avoid test failures at NFS mounted locations.
17329         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
17330         so that subsequent mkdir calls succeed.
17331
17332 2010-12-25  Bruno Haible  <bruno@clisp.org>
17333
17334         iswblank: Fix C++ link error on Solaris 8.
17335         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
17336         _GL_FUNCDECL_SYS.
17337
17338 2010-12-25  Bruno Haible  <bruno@clisp.org>
17339
17340         unistd: Fix C++ link error on Solaris 8.
17341         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
17342
17343 2010-12-25  Bruno Haible  <bruno@clisp.org>
17344
17345         readlink doc: Mention an old glibc bug.
17346         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
17347
17348 2010-12-25  Bruno Haible  <bruno@clisp.org>
17349
17350         fcntl-h: Fix for use of C++ on glibc systems.
17351         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
17352         also on glibc systems in C++ mode.
17353         Reported by Gary V. Vaughan <gary@gnu.org>.
17354
17355 2010-12-25  Bruno Haible  <bruno@clisp.org>
17356
17357         roundl-ieee: Make it work on OSF/1 5.1 with cc.
17358         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
17359
17360 2010-12-25  Bruno Haible  <bruno@clisp.org>
17361
17362         truncl-ieee: Make it work on OSF/1 5.1 with cc.
17363         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
17364         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
17365         test whether truncl works according to ISO C 99 with IEC 60559.
17366         * m4/truncl-ieee.m4: New file.
17367         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
17368         m4/signbit.m4.
17369         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
17370
17371 2010-12-25  Bruno Haible  <bruno@clisp.org>
17372
17373         ceill-ieee: Make it work on OSF/1 5.1 with cc.
17374         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
17375         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
17376         test whether ceill works according to ISO C 99 with IEC 60559.
17377         * m4/ceill-ieee.m4: New file.
17378         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
17379         m4/signbit.m4.
17380         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
17381
17382 2010-12-25  Bruno Haible  <bruno@clisp.org>
17383
17384         Ensure all prerequisites of <wchar.h> are included.
17385         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
17386         before <wchar.h>.
17387         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
17388         gl_MBRLEN_NUL_RETVAL): Likewise.
17389         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17390         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
17391         AC_FUNC_MBRTOWC): Likewise.
17392         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17393         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
17394         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17395         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
17396         Likewise.
17397         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17398         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
17399         (gl_WCHAR_H): Improve comments.
17400         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
17401
17402 2010-12-25  Bruno Haible  <bruno@clisp.org>
17403
17404         strtok_r: Fix C syntax error in autoconf macro.
17405         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
17406         characters in test program.
17407
17408 2010-12-24  Bruno Haible  <bruno@clisp.org>
17409
17410         ceil, trunc, round: Fix gcc warnings.
17411         * lib/ceil.c (MIN): Undefine before redefining.
17412         * lib/trunc.c (MIN): Likewise.
17413         * lib/round.c (MIN): Likewise.
17414         Include <math.h> first.
17415
17416 2010-12-24  Bruno Haible  <bruno@clisp.org>
17417
17418         select tests: Avoid failures on OSF/1 5.1.
17419         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
17420         failure of closing the last socket; it may fail with ECONNRESET.
17421
17422 2010-12-24  Eric Blake  <eblake@redhat.com>
17423
17424         stdint: avoid HP-UX 10.20 preprocessor bug
17425         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
17426         than #if.
17427         * tests/test-floor2.c (main): Likewise.
17428         Reported by Peter O'Gorman.
17429
17430         pipe: make obsoletion transition easier
17431         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
17432         * modules/pipe (Files): Include revived file.
17433         (Include): Drop reference, to mirror getdate's behavior.
17434
17435 2010-12-24  Bruno Haible  <bruno@clisp.org>
17436
17437         sys_socket: Hide mismatch of declarations on NonStop Kernel.
17438         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
17439         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
17440         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17441
17442 2010-12-24  Bruno Haible  <bruno@clisp.org>
17443
17444         gethostname: Ensure declaration on NonStop Kernel.
17445         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
17446         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17447
17448 2010-12-24  Bruno Haible  <bruno@clisp.org>
17449
17450         sys_select: Ensure all necessary types on NonStop Kernel.
17451         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
17452         include <sys/time.h>.
17453         * doc/posix-headers/sys_select.texi: Mention that it's missing on
17454         NonStop Kernel.
17455         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17456
17457 2010-12-24  Bruno Haible  <bruno@clisp.org>
17458
17459         sys_select: Remove unneeded include.
17460         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
17461         have <sys/select.h>.
17462
17463 2010-12-24  Bruno Haible  <bruno@clisp.org>
17464
17465         gethostname: Provide a fallback for HOST_NAME_MAX.
17466         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
17467         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
17468         instead.
17469         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17470
17471 2010-12-24  Bruno Haible  <bruno@clisp.org>
17472
17473         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
17474         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
17475         (SA_RESTART): Likewise.
17476         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17477
17478 2010-12-24  Bruno Haible  <bruno@clisp.org>
17479
17480         signal: Define NSIG.
17481         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
17482         * tests/test-signal.c (nsig): New variable.
17483         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17484
17485 2010-12-24  Bruno Haible  <bruno@clisp.org>
17486
17487         rename, renameat: Avoid test failures on OSF/1 5.1.
17488         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
17489         alternative error codes.
17490         * tests/test-renameat.c (main): Likewise.
17491
17492 2010-12-24  Bruno Haible  <bruno@clisp.org>
17493
17494         *printf: Detect large precisions bug on Solaris 10/SPARC.
17495         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
17496         by Paul Eggert.
17497         * tests/test-snprintf-posix.h (test_function): Add this test code here
17498         too.
17499         * tests/test-sprintf-posix.h (test_function): Likewise.
17500         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17501         * tests/test-vasprintf-posix.c (test_function): Likewise.
17502         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
17503         around by gnulib.
17504         * doc/posix-functions/printf.texi: Likewise.
17505         * doc/posix-functions/snprintf.texi: Likewise.
17506         * doc/posix-functions/sprintf.texi: Likewise.
17507         * doc/posix-functions/vfprintf.texi: Likewise.
17508         * doc/posix-functions/vprintf.texi: Likewise.
17509         * doc/posix-functions/vsnprintf.texi: Likewise.
17510         * doc/posix-functions/vsprintf.texi: Likewise.
17511         * doc/posix-functions/dprintf.texi: Undo last commit.
17512         * doc/posix-functions/vdprintf.texi: Likewise.
17513
17514 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
17515
17516         tests: port test-fdutimensat.c to Solaris 8
17517         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
17518         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
17519         On Solaris 8, it fails with errno == ENOSYS, because there is no
17520         futimens (so it can't use the fd), and there is no lutimens (so it
17521         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
17522
17523         vsnprintf: make more consistent with snprintf; doc fixes
17524
17525         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
17526         the byte count return problem was promoted from the snprintf-posix
17527         to the snprintf module.
17528         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17529         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
17530         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
17531         * tests/test-snprintf.c (main): Check the byte count returned.
17532         * tests/test-vsnprintf.c (main): Likewise.
17533
17534 2010-12-23  Eric Blake  <eblake@redhat.com>
17535
17536         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
17537         * modules/sigpipe (License): Relax license.
17538
17539 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17540
17541         doc: document Solaris printf bug with large float precisions
17542         * doc/posix-functions/dprintf.texi (dprintf):
17543         * doc/posix-functions/fprintf.texi (fprintf):
17544         * doc/posix-functions/printf.texi (printf):
17545         * doc/posix-functions/snprintf.texi (snprintf):
17546         * doc/posix-functions/sprintf.texi (sprintf):
17547         * doc/posix-functions/vdprintf.texi (vdprintf):
17548         * doc/posix-functions/vfprintf.texi (vfprintf):
17549         * doc/posix-functions/vprintf.texi (vprintf):
17550         * doc/posix-functions/vsnprintf.texi (vsnprintf):
17551         * doc/posix-functions/vsprintf.texi (vsprintf):
17552         Mention that these functions mishandle large floating point
17553         precisions on Solaris 10.  The same bug is also present in Solaris
17554         8, and I assume earlier.  This causes "cd gnulib-tests; make
17555         check" to fail on Solaris 8 (and I assume, later) when building
17556         the latest coreutils, in test-vasprintf-posix's call to
17557         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
17558         the wide flavors (e.g., wprintf) so this patch just updates the
17559         documentation for the narrow ones.
17560
17561         test-posixtm.c: add two tests
17562         * tests/test-posixtm.c: Add two tests, to highlight the
17563         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
17564         around this bug; this is merely to document it.
17565
17566 2010-12-22  Bruno Haible  <bruno@clisp.org>
17567
17568         getlogin_r: Work around portability problem on OSF/1.
17569         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
17570         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
17571         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
17572         test for a truncated result.
17573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
17574         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
17575         * modules/getlogin_r (Depends-on): Add memchr.
17576         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
17577
17578 2010-12-22  Bruno Haible  <bruno@clisp.org>
17579
17580         ptsname: Avoid test failure on OSF/1 5.1.
17581         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
17582         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
17583         (same_slave): New function.
17584         (main): Use it to compare ptsname's result with the expected file name.
17585
17586 2010-12-22  Bruno Haible  <bruno@clisp.org>
17587
17588         Port extended stdio modules to HP NonStop Kernel.
17589         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
17590         macros.
17591         * lib/fbufmode.c: Update comments.
17592         * lib/fflush.c: Likewise.
17593         * lib/fpurge.c: Likewise.
17594         * lib/freadable.c: Likewise.
17595         * lib/freadahead.c: Likewise.
17596         * lib/freading.c: Likewise.
17597         * lib/freadptr.c: Likewise.
17598         * lib/freadseek.c: Likewise.
17599         * lib/fseeko.c: Likewise.
17600         * lib/fseterr.c: Likewise.
17601         * lib/fwritable.c: Likewise.
17602         * lib/fwriting.c: Likewise.
17603         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17604
17605 2010-12-22  Bruno Haible  <bruno@clisp.org>
17606
17607         ttyname_r: Work around bug on OSF/1 5.1.
17608         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
17609         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
17610         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
17611         present.
17612         * lib/ttyname_r.c (ttyname_r): Update comments.
17613
17614 2010-12-22  Bruno Haible  <bruno@clisp.org>
17615
17616         round: Implement result sign according to IEEE 754.
17617         * lib/round.c (MIN, MINUS_ZERO): New macros.
17618         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
17619         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
17620         * tests/test-round-ieee.c (main): Likewise.
17621         * tests/test-roundl-ieee.c (main): Likewise.
17622
17623         trunc: Implement result sign according to IEEE 754.
17624         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
17625         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
17626         * tests/test-trunc2.c: Include minus-zero.h.
17627         (MINUS_ZERO): New macro.
17628         (trunc_reference): Keep in sync with lib/trunc.c.
17629         * tests/test-truncf2.c: Include minus-zero.h.
17630         (MINUS_ZERO): New macro.
17631         (truncf_reference): Keep in sync with lib/trunc.c.
17632         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
17633         * tests/test-trunc-ieee.c (main): Likewise.
17634         * tests/test-truncl-ieee.c (main): Likewise.
17635
17636         ceil: Implement result sign according to IEEE 754.
17637         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
17638         (FUNC): Return -0.0 for -1 < x < 0.
17639         * tests/test-ceil2.c: Include minus-zero.h.
17640         (MINUS_ZERO): New macro.
17641         (ceil_reference): Keep in sync with lib/ceil.c.
17642         * tests/test-ceilf2.c: Include minus-zero.h.
17643         (MINUS_ZERO): New macro.
17644         (ceilf_reference): Keep in sync with lib/ceil.c.
17645         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
17646         * tests/test-ceil-ieee.c (main): Likewise.
17647         * tests/test-ceill-ieee.c (main): Likewise.
17648
17649         floor: Implement result sign according to IEEE 754.
17650         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
17651         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
17652         * tests/test-floorf2.c (floorf_reference): Likewise.
17653         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
17654         * tests/test-floor-ieee.c (main): Likewise.
17655         * tests/test-floorl-ieee.c (main): Likewise.
17656
17657 2010-12-22  Bruno Haible  <bruno@clisp.org>
17658
17659         getaddrinfo: Update doc.
17660         * doc/posix-functions/gai_strerror.texi: Return type is also different
17661         on AIX and HP-UX.
17662
17663 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17664
17665         getaddrinfo, inet_ntop: Update doc for Solaris.
17666         * doc/posix-functions/gai_strerror.texi: Return type is also an
17667         issue on Solaris 9 and earlier.
17668         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
17669         on Solaris 10 and earlier.
17670
17671 2010-12-21  Bruno Haible  <bruno@clisp.org>
17672
17673         New module 'roundl-ieee'.
17674         * modules/roundl-ieee: New file.
17675         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
17676         test whether roundl works according to ISO C 99 with IEC 60559.
17677         * m4/roundl-ieee.m4: New file.
17678         * modules/roundl-ieee-tests: New file.
17679         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
17680         * tests/test-roundl.c (main): Remove signbit tests.
17681         * modules/roundl-tests (Depends-on): Remove signbit.
17682         * doc/posix-functions/roundl.texi: Mention the new module.
17683
17684 2010-12-21  Bruno Haible  <bruno@clisp.org>
17685
17686         New module 'truncl-ieee'.
17687         * modules/truncl-ieee: New file.
17688         * modules/truncl-ieee-tests: New file.
17689         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
17690         * tests/test-truncl.c (main): Remove signbit tests.
17691         * modules/truncl-tests (Depends-on): Remove signbit.
17692         * doc/posix-functions/truncl.texi: Mention the new module.
17693
17694 2010-12-21  Bruno Haible  <bruno@clisp.org>
17695
17696         New module 'ceill-ieee'.
17697         * modules/ceill-ieee: New file.
17698         * modules/ceill-ieee-tests: New file.
17699         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
17700         * tests/test-ceill.c (main): Remove signbit tests.
17701         * modules/ceill-tests (Depends-on): Remove signbit.
17702         * doc/posix-functions/ceill.texi: Mention the new module.
17703
17704 2010-12-21  Bruno Haible  <bruno@clisp.org>
17705
17706         New module 'floorl-ieee'.
17707         * modules/floorl-ieee: New file.
17708         * modules/floorl-ieee-tests: New file.
17709         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
17710         * tests/test-floorl.c (main): Remove signbit tests.
17711         * modules/floorl-tests (Depends-on): Remove signbit.
17712         * doc/posix-functions/floorl.texi: Mention the new module.
17713
17714 2010-12-21  Bruno Haible  <bruno@clisp.org>
17715
17716         New module 'round-ieee'.
17717         * modules/round-ieee: New file.
17718         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
17719         whether round works according to ISO C 99 with IEC 60559.
17720         * m4/round-ieee.m4: New file.
17721         * modules/round-ieee-tests: New file.
17722         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
17723         * tests/test-round1.c (main): Remove signbit tests.
17724         * modules/round-tests (Depends-on): Remove 'signbit'.
17725         * doc/posix-functions/round.texi: Mention the new module.
17726
17727 2010-12-21  Bruno Haible  <bruno@clisp.org>
17728
17729         New module 'trunc-ieee'.
17730         * modules/trunc-ieee: New file.
17731         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
17732         whether trunc works according to ISO C 99 with IEC 60559.
17733         * m4/trunc-ieee.m4: New file.
17734         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
17735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
17736         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
17737         * modules/trunc-ieee-tests: New file.
17738         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
17739         * tests/test-trunc1.c (main): Remove signbit tests.
17740         * modules/trunc-tests (Depends-on): Remove 'signbit'.
17741         * doc/posix-functions/trunc.texi: Mention the new module.
17742
17743 2010-12-21  Bruno Haible  <bruno@clisp.org>
17744
17745         New module 'ceil-ieee'.
17746         * modules/ceil-ieee: New file.
17747         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
17748         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
17749         ISO C 99 with IEC 60559.
17750         * m4/ceil-ieee.m4: New file.
17751         * modules/ceil (Files): Add lib/ceil.c.
17752         (Depends-on): Add 'float'.
17753         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17754         * lib/math.in.h (ceil): New declaration.
17755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
17756         REPLACE_CEIL.
17757         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
17758         * modules/ceil-ieee-tests: New file.
17759         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
17760         * tests/test-math-c++.cc: Check the signature of 'ceil'.
17761         * doc/posix-functions/ceil.texi: Mention the new module.
17762
17763 2010-12-21  Bruno Haible  <bruno@clisp.org>
17764
17765         New module 'floor-ieee'.
17766         * modules/floor-ieee: New file.
17767         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
17768         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
17769         ISO C 99 with IEC 60559.
17770         * m4/floor-ieee.m4: New file.
17771         * modules/floor (Files): Add lib/floor.c.
17772         (Depends-on): Add 'float'.
17773         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17774         * lib/math.in.h (floor): New declaration.
17775         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
17776         REPLACE_FLOOR.
17777         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
17778         * modules/floor-ieee-tests: New file.
17779         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
17780         * tests/test-math-c++.cc: Check the signature of 'floor'.
17781         * doc/posix-functions/floor.texi: Mention the new module.
17782
17783 2010-12-21  Bruno Haible  <bruno@clisp.org>
17784
17785         New module 'roundf-ieee'.
17786         * modules/roundf-ieee: New file.
17787         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
17788         test whether roundf works according to ISO C 99 with IEC 60559.
17789         * m4/roundf-ieee.m4: New file.
17790         * modules/roundf-ieee-tests: New file.
17791         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
17792         * tests/test-roundf1.c (main): Remove signbit tests.
17793         * modules/roundf-tests (Depends-on): Remove 'signbit'.
17794         * doc/posix-functions/roundf.texi: Mention the new module.
17795
17796 2010-12-21  Bruno Haible  <bruno@clisp.org>
17797
17798         New module 'truncf-ieee'.
17799         * modules/truncf-ieee: New file.
17800         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
17801         test whether truncf works according to ISO C 99 with IEC 60559.
17802         * m4/truncf-ieee.m4: New file.
17803         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
17804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
17805         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
17806         * modules/truncf-ieee-tests: New file.
17807         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
17808         * tests/test-truncf1.c (main): Remove signbit tests.
17809         * modules/truncf-tests (Depends-on): Remove 'signbit'.
17810         * doc/posix-functions/truncf.texi: Mention the new module.
17811
17812 2010-12-21  Bruno Haible  <bruno@clisp.org>
17813
17814         New module 'ceilf-ieee'.
17815         * modules/ceilf-ieee: New file.
17816         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
17817         test whether ceilf works according to ISO C 99 with IEC 60559.
17818         * m4/ceilf-ieee.m4: New file.
17819         * modules/ceilf-ieee-tests: New file.
17820         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
17821         * tests/test-ceilf1.c (main): Remove signbit tests.
17822         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
17823         * doc/posix-functions/ceilf.texi: Mention the new module.
17824
17825 2010-12-21  Bruno Haible  <bruno@clisp.org>
17826
17827         New module 'floorf-ieee'.
17828         * modules/floorf-ieee: New file.
17829         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
17830         test whether floorf works according to ISO C 99 with IEC 60559.
17831         * m4/floorf-ieee.m4: New file.
17832         * modules/floorf-ieee-tests: New file.
17833         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
17834         * tests/test-floorf1.c (main): Remove signbit tests.
17835         * modules/floorf-tests (Depends-on): Remove 'signbit'.
17836         * doc/posix-functions/floorf.texi: Mention the new module.
17837
17838 2010-12-21  Bruno Haible  <bruno@clisp.org>
17839
17840         Support for minus zero in autoconf macros.
17841         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17842         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17843         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17844         * tests/minus-zero.h: Update comments.
17845
17846 2010-12-21  Bruno Haible  <bruno@clisp.org>
17847
17848         Tests for module 'ceil'.
17849         * modules/ceil-tests: New file.
17850         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17851         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17852
17853 2010-12-21  Bruno Haible  <bruno@clisp.org>
17854
17855         Tests for module 'floor'.
17856         * modules/floor-tests: New file.
17857         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17858         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17859
17860 2010-12-21  Bruno Haible  <bruno@clisp.org>
17861
17862         math: Fix indentation.
17863         * lib/math.in.h (floorf): Fix indentation.
17864
17865 2010-12-21  Bruno Haible  <bruno@clisp.org>
17866
17867         Fix cross-compilation guesses on Solaris.
17868         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17869         not match "solaris2.10".
17870         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17871         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17872         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17873
17874 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17875
17876         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17877         This fixes a problem observed with the latest coreutils snapshot
17878         that caused a test to fail on Solaris 8.  src/csplit.c's call
17879         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17880         earlier, instead of returning the number of bytes that would have
17881         been generated; this causes csplit to incorrectly report memory
17882         exhaustion.
17883         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17884         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17885         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17886         comments to match.
17887         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17888         Fix typo in matching older versions of Solaris: "solaris2.10"
17889         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17890         only for guessing while cross-compiling.
17891         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17892
17893 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17894
17895         ftoastr: fix comment again
17896         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17897         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17898         Also, simplify example a bit by using flags = 0.
17899
17900 2010-12-20  Bruno Haible  <bruno@clisp.org>
17901
17902         round*, trunc*: Update documentation regarding glibc.
17903         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17904         * doc/posix-functions/round.texi: Likewise.
17905         * doc/posix-functions/roundl.texi: Likewise.
17906         * doc/posix-functions/truncf.texi: Likewise.
17907         * doc/posix-functions/trunc.texi: Likewise.
17908         * doc/posix-functions/truncl.texi: Likewise.
17909
17910 2010-12-20  Bruno Haible  <bruno@clisp.org>
17911
17912         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17913         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17914         * doc/posix-functions/round.texi: Likewise.
17915         * doc/posix-functions/roundl.texi: Likewise.
17916
17917 2010-12-20  Bruno Haible  <bruno@clisp.org>
17918
17919         ttyname_r: Add missing declaration on HP-UX 11.
17920         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17921         HAVE_TTYNAME_R.
17922         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17923         declared. Set HAVE_TTYNAME_R always.
17924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17925         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17926         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17927         HAVE_TTYNAME_R.
17928         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17929
17930 2010-12-20  Bruno Haible  <bruno@clisp.org>
17931
17932         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17933         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17934         * doc/posix-functions/getlogin_r.texi: Likewise.
17935         * tests/test-getlogin.c: Include <errno.h>.
17936         (main): Avoid test failure on HP-UX 11.11.
17937         * tests/test-getlogin_r.c (main): Likewise.
17938
17939 2010-12-20  Bruno Haible  <bruno@clisp.org>
17940
17941         getlogin_r: Add missing declaration on HP-UX 11.
17942         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17943         declared also when it exists as a function.
17944         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17945
17946 2010-12-20  Bruno Haible  <bruno@clisp.org>
17947
17948         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17949         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17950         through wcrtomb.
17951
17952 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17953
17954         ftoastr: fix comment
17955         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17956         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17957
17958 2010-12-19  Bruno Haible  <bruno@clisp.org>
17959
17960         isnan: Ensure it is a macro.
17961         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17962         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17963         Solaris.
17964
17965 2010-12-19  Bruno Haible  <bruno@clisp.org>
17966
17967         ldexpl test: Fix link error on OSF/1 5.1.
17968         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17969
17970 2010-12-19  Bruno Haible  <bruno@clisp.org>
17971
17972         wctype: Make it work in C++ mode on OSF/1 5.1.
17973         * lib/wctype.in.h (iswblank): Declare but not define here.
17974         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17975         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17976         * modules/wctype (Files): Add lib/iswblank.c.
17977
17978 2010-12-19  Bruno Haible  <bruno@clisp.org>
17979
17980         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17981         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17982         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17983
17984 2010-12-19  Bruno Haible  <bruno@clisp.org>
17985
17986         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17987         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17988         _POSIX_PII_SOCKET.
17989         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17990         * doc/posix-functions/recvfrom.texi: Likewise.
17991         * doc/posix-functions/send.texi: Likewise.
17992         * doc/posix-functions/sendto.texi: Likewise.
17993
17994 2010-12-19  Bruno Haible  <bruno@clisp.org>
17995
17996         tcgetsid: Add missing declaration on OSF/1 5.1.
17997         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17998         HAVE_TCGETSID.
17999         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
18000         Don't set HAVE_TCGETSID.
18001         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
18002         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
18003         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
18004         HAVE_TCGETSID.
18005         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
18006
18007 2010-12-19  Bruno Haible  <bruno@clisp.org>
18008
18009         stdio: Fix problem with popen() declaration on OSF/1 5.1.
18010         * lib/stdio.in.h: During the include_next statement, let recursive
18011         includes of this file include only the system header file.
18012
18013 2010-12-19  Bruno Haible  <bruno@clisp.org>
18014
18015         iconv_open: Fix regression from 2010-12-04.
18016         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
18017         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
18018
18019 2010-12-19  Bruno Haible  <bruno@clisp.org>
18020
18021         stdbool test: Avoid a gcc warning.
18022         * tests/test-stdbool.c (main): Fail if e1 is false.
18023         Reported by Jim Meyering.
18024
18025 2010-12-19  Jim Meyering  <meyering@redhat.com>
18026
18027         setenv: restore to working order
18028         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
18029         mistakenly removed.
18030         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
18031         HAVE_SETENV.
18032         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
18033         HAVE_SETENV.
18034
18035 2010-12-19  Bruno Haible  <bruno@clisp.org>
18036
18037         Document some different function declarations on OSF/1 5.1.
18038         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
18039         * doc/posix-functions/inet_ntop.texi: Likewise.
18040         * doc/posix-functions/gethostname.texi: Likewise.
18041         * lib/unistd.in.h (gethostname): Update comment.
18042
18043 2010-12-19  Bruno Haible  <bruno@clisp.org>
18044
18045         doc: Mention vasprintf-posix module.
18046         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
18047         the 'vasprintf-posix' module.
18048         * doc/glibc-functions/vasprintf.texi: Likewise.
18049
18050 2010-12-19  Bruno Haible  <bruno@clisp.org>
18051
18052         unsetenv: Add missing declaration on OSF/1 5.1.
18053         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
18054         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
18055         Don't set HAVE_UNSETENV. In the test program, set _BSD.
18056         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
18057         not HAVE_UNSETENV.
18058         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
18059         HAVE_UNSETENV.
18060         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
18061
18062 2010-12-19  Bruno Haible  <bruno@clisp.org>
18063
18064         setenv: Add missing declaration on OSF/1 5.1.
18065         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
18066         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
18067         declared. Don't set HAVE_SETENV.
18068         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
18069         not HAVE_SETENV.
18070         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
18071         HAVE_SETENV.
18072         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
18073
18074 2010-12-19  Bruno Haible  <bruno@clisp.org>
18075
18076         nl_langinfo tests: Avoid gcc warning.
18077         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
18078
18079 2010-12-19  Bruno Haible  <bruno@clisp.org>
18080
18081         mknod: Avoid error in C++ mode on OSF/1 with GCC.
18082         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
18083         _GL_CXXALIAS_SYS.
18084
18085 2010-12-19  Bruno Haible  <bruno@clisp.org>
18086
18087         stdbool: Relax test.
18088         * tests/test-stdbool.c (e): Don't require that casts from a variable's
18089         address to 'bool' work in static initializer, for compilers other than
18090         GCC.
18091
18092 2010-12-19  Bruno Haible  <bruno@clisp.org>
18093
18094         ftello: Add missing declaration on OSF/1 5.1.
18095         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
18096         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
18097         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
18098         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
18099         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
18100
18101 2010-12-19  Bruno Haible  <bruno@clisp.org>
18102
18103         fseeko: Add missing declaration on OSF/1 5.1.
18104         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
18105         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
18106         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
18107         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
18108         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
18109
18110 2010-12-19  Bruno Haible  <bruno@clisp.org>
18111
18112         fchdir: Add missing declaration on OSF/1 5.1.
18113         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
18114         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
18115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
18116         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
18117         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
18118
18119 2010-12-19  Bruno Haible  <bruno@clisp.org>
18120
18121         relocatable-prog-wrapper: Separate from relocatable-prog.
18122         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
18123         uninstall-relocwrapper rule here.
18124         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
18125         Reported by Ian Beckwith <ianb@erislabs.net>.
18126
18127 2010-12-19  Bruno Haible  <bruno@clisp.org>
18128
18129         unistr/u8-mbsnlen: Add missing dependency.
18130         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
18131         Reported by Ian Beckwith <ianb@erislabs.net>.
18132
18133 2010-12-19  Bruno Haible  <bruno@clisp.org>
18134
18135         iconv: Make it possible again to use this module without 'iconv-h'.
18136         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
18137         if it is not defined.
18138         Reported by Ian Beckwith <ianb@erislabs.net>.
18139
18140 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
18141
18142         acl: port to Solaris 8 when copying from tmpfs to ufs
18143         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
18144         error number.  Problem observed on Solaris 8 with latest
18145         coreutils, with "mv A B", where A is on a tmpfs file system and B
18146         is on a ufs file system.  This caused coreutils' mv/part-symlink
18147         test to fail.
18148
18149         tests: set fail=0 at start
18150         * tests/init.sh (setup_): Move fail=0 initialization here ...
18151         (mktempd_): ... from here, so that tests can rely on fail being
18152         set to 0 initially.  This fixes a problem in coreutils; see:
18153         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
18154
18155 2010-12-18  Bruno Haible  <bruno@clisp.org>
18156
18157         memmem-simple: Stylistic changes.
18158         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
18159         Fix preprocessor directive indentation.
18160
18161 2010-12-15  Pádraig Brady <P@draigBrady.com>
18162
18163         memmem, memmem-simple: reorganize and expand empty needle check
18164         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
18165         functional checks to memmem-simple so that one has a fully functional
18166         memmem by using just this module.
18167         Restrict the performance only check to the memmem module.
18168         Also expand the empty needle check to ensure the correct
18169         pointer is returned, not just a non NULL pointer.
18170         * doc/glibc-functions/memmem.texi: Rearrange the portability
18171         documentation to correlate with the rearranged checks.
18172         Clarify exactly how the memmem and memmem-simple modules
18173         relate to each other.
18174
18175 2010-12-15  Pádraig Brady <P@draigBrady.com>
18176             Bruno Haible  <bruno@clisp.org>
18177
18178         Improve cross-compilation guesses for uClibc.
18179         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
18180         that uClibc does not have the glibc bug.
18181         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
18182         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
18183
18184 2010-12-14  Eric Blake  <eblake@redhat.com>
18185
18186         configmake: provide fallbacks for oldest supported autotools
18187         * m4/configmake.m4: New file.
18188         * modules/configmake (Files): Ship it.
18189         (configure.ac): Use it to guarantee fallbacks.
18190
18191 2010-12-13  Pádraig Brady <P@draigBrady.com>
18192
18193         read-file: Improve handling of large files
18194         * lib/read-file.c (fread_file): Minimize realloc()s
18195         for regular files, and better manage sizes around SIZE_MAX.
18196
18197 2010-12-13  Eric Blake  <eblake@redhat.com>
18198
18199         cloexec, fcntl: relax license
18200         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
18201         consent from all contributors.
18202         * modules/fcntl (License): Likewise.
18203
18204 2010-12-10  Bruno Haible  <bruno@clisp.org>
18205
18206         Tests for module 'pipe-posix'.
18207         * modules/pipe-posix-tests: New file.
18208         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
18209
18210 2010-12-10  Bruno Haible  <bruno@clisp.org>
18211
18212         pipe-posix: Make it work in C++ mode.
18213         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
18214         (pipe): Use common idiom, not a macro definition.
18215         * lib/pipe.c: New file.
18216         * m4/pipe.m4: New file.
18217         * modules/pipe-posix (Description): Enhance.
18218         (Files): Add lib/pipe.c, m4/pipe.m4.
18219         (configure.ac): Invoke gl_FUNC_PIPE.
18220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
18221         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
18222         * tests/test-unistd-c++.cc: Check the signature of pipe.
18223
18224 2010-12-10  Bruno Haible  <bruno@clisp.org>
18225
18226         Rename module 'pipe' to 'spawn-pipe'.
18227         * modules/spawn-pipe: New file, renamed from modules/pipe.
18228         (Files, configure.ac, Makefile.am): Update.
18229         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
18230         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
18231         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
18232         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
18233         "spawn-pipe.h" instead of "pipe.h".
18234         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
18235         to gl_SPAWN_PIPE.
18236         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
18237         (Files, Makefile.am): Update.
18238         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
18239         Update.
18240         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
18241         Include "spawn-pipe.h" instead of "pipe.h".
18242         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
18243         * lib/javacomp.c: Likewise.
18244         * lib/javaversion.c: Likewise.
18245         * lib/pipe-filter-gi.c: Likewise.
18246         * lib/pipe-filter-ii.c: Likewise.
18247         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
18248         * modules/javacomp (Depends-on): Likewise.
18249         * modules/javaversion (Depends-on): Likewise.
18250         * modules/pipe-filter-gi (Depends-on): Likewise.
18251         * modules/pipe-filter-ii (Depends-on): Likewise.
18252         * MODULES.html.sh (Executing programs): Update.
18253         * NEWS: Mention the change.
18254
18255 2010-12-10  Eric Blake  <eblake@redhat.com>
18256
18257         pipe-posix: new module
18258         * modules/pipe-posix: New file.
18259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
18260         (gl_UNISTD_H): Check for declaration.
18261         * modules/unistd (Makefile.am): Substitute it.
18262         * lib/unistd.in.h (pipe): Provide it for mingw.
18263         * doc/posix-functions/pipe.texi (pipe): Update documentation.
18264         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
18265
18266 2010-12-07  Bruno Haible  <bruno@clisp.org>
18267
18268         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
18269         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
18270         u8_strcmp_gnu.
18271         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
18272
18273 2010-12-06  Bruno Haible  <bruno@clisp.org>
18274
18275         Update internal documentation.
18276         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
18277
18278 2010-12-04  Bruno Haible  <bruno@clisp.org>
18279
18280         Put more information about failed tests into the test return codes.
18281         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
18282         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
18283         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
18284         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
18285         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
18286         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18287         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18288         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18289         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
18290         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18291         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
18292         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
18293         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
18294         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18295         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
18296         returns a bit mask.
18297         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
18298         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
18299         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
18300         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
18301         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18302         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
18303         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
18304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
18305         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
18306         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
18307         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
18308         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
18309         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
18310         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
18311         * m4/link.m4 (gl_FUNC_LINK): Likewise.
18312         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
18313         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
18314         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
18315         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18316         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
18317         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
18318         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
18319         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
18320         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
18321         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
18322         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
18323         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
18324         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
18325         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
18326         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
18327         gl_PRINTF_PRECISION): Likewise.
18328         * m4/regex.m4 (gl_REGEX): Likewise.
18329         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
18330         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18331         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
18332         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18333         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
18334         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
18335         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
18336         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
18337         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
18338         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18339         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
18340         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
18341         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
18342         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
18343         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18344         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18345         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
18346         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
18347         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
18348         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
18349         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
18350         enumerated value.
18351         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
18352
18353 2010-12-04  Bruno Haible  <bruno@clisp.org>
18354
18355         Update for Solaris 11 2010-11.
18356         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
18357         Express, released in November 2010.
18358
18359 2010-12-04  Bruno Haible  <bruno@clisp.org>
18360
18361         nproc: Relax license.
18362         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
18363         and Paul Eggert.
18364         Requested by Ludovic Courtès <ludo@gnu.org>.
18365
18366 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
18367
18368         utimecmp: fine-grained src to nearby coarse-grained dest
18369
18370         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
18371         and the source is on a file system with higher-resolution time
18372         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
18373         not work, and the time stamps are close together, the algorithm to
18374         determine the exact resolution from the read-back mtime was buggy:
18375         it had a "!=" where it should have had an "==".  This bug has been
18376         in the code ever since it was introduced to gnulib.
18377         Problem reported by Dan Jacobson in
18378         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
18379
18380 2010-11-30  Bruno Haible  <bruno@clisp.org>
18381
18382         strerror_r-posix: Fix autoconf test.
18383         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
18384
18385 2010-11-28  Bruno Haible  <bruno@clisp.org>
18386             Paul Eggert  <eggert@cs.ucla.edu>
18387
18388         Tests for module 'getdomainname'.
18389         * modules/getdomainname-tests: New file.
18390         * tests/test-getdomainname.c: New file, based on
18391         tests/test-gethostname.c.
18392
18393 2010-11-28  Bruno Haible  <bruno@clisp.org>
18394             Paul Eggert  <eggert@cs.ucla.edu>
18395
18396         getdomainname: Use the system function when possible.
18397         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
18398         (getdomainname): Replace if needed. Provide the declaration if it is
18399         missing. Don't use _GL_CXXALIAS_SYS_CAST.
18400         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
18401         (getdomainname): When the system has getdomainname, call the system
18402         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
18403         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
18404         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
18405         found in libnsl. Look for the declaration also in <netdb.h>. Replace
18406         the function if its second argument is of type 'int' or if it is found
18407         in libnsl.
18408         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
18409         <sys/systeminfo.h> and sysinfo().
18410         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
18411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18412         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
18413         HAVE_GETDOMAINNAME.
18414         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
18415         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
18416         * doc/glibc-functions/getdomainname.texi: Document the problems with
18417         the getdomainname declaration.
18418
18419 2010-11-28  Bruno Haible  <bruno@clisp.org>
18420
18421         sys_socket: Ensure ss_family field on AIX.
18422         * lib/sys_socket.in.h (ss_family): New macro definition.
18423         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
18424         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
18425         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
18426         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
18427         * modules/sys_socket (Makefile.am): Substitute
18428         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
18429         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
18430
18431 2010-11-27  Bruno Haible  <bruno@clisp.org>
18432
18433         readline: Improve configure output.
18434         * m4/readline.m4 (gl_FUNC_READLINE): Make the
18435         "checking for readline..." result understandable.
18436
18437 2010-11-27  Bruno Haible  <bruno@clisp.org>
18438
18439         *printf-posix: Detect a bug on Solaris 10/x86.
18440         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
18441         for floating-point output.
18442         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
18443         directive.
18444         * tests/test-snprintf-posix.h (test_function): Likewise.
18445         * tests/test-sprintf-posix.h (test_function): Likewise.
18446         * tests/test-vasprintf-posix.c (test_function): Likewise.
18447         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
18448         * doc/posix-functions/printf.texi: Likewise.
18449         * doc/posix-functions/snprintf.texi: Likewise.
18450         * doc/posix-functions/sprintf.texi: Likewise.
18451         * doc/posix-functions/vfprintf.texi: Likewise.
18452         * doc/posix-functions/vprintf.texi: Likewise.
18453         * doc/posix-functions/vsnprintf.texi: Likewise.
18454         * doc/posix-functions/vsprintf.texi: Likewise.
18455         * doc/glibc-functions/obstack_printf.texi: Likewise.
18456         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
18457
18458 2010-11-27  Bruno Haible  <bruno@clisp.org>
18459
18460         Fix link error when module libunistring-optional is in use.
18461         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
18462         * modules/striconveha-tests (Makefile.am): Likewise.
18463
18464 2010-11-27  Bruno Haible  <bruno@clisp.org>
18465
18466         regex: Mention link dependencies.
18467         * modules/regex (Link): New section.
18468         * modules/rpmatch (Link): Likewise.
18469         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
18470
18471 2010-11-27  Bruno Haible  <bruno@clisp.org>
18472
18473         ftoastr: Fix compilation error on Solaris.
18474         * lib/ftoastr.c: Include <config.h>.
18475
18476 2010-11-27  Bruno Haible  <bruno@clisp.org>
18477
18478         getloadavg: Update documentation.
18479         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
18480
18481 2010-11-27  Bruno Haible  <bruno@clisp.org>
18482
18483         sys_socket: Fix test whether the functions are declared.
18484         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
18485         not <sys/select.h>.
18486
18487 2010-11-27  Bruno Haible  <bruno@clisp.org>
18488
18489         getpass: Make sure to get system declaration on some platforms.
18490         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
18491         gl_USE_SYSTEM_EXTENSIONS.
18492         * modules/getpass (Depends-on): Add extensions.
18493
18494 2010-11-26  Bruno Haible  <bruno@clisp.org>
18495
18496         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
18497         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
18498         'iconv' module is present.
18499         (ICONV_CONST): New macro.
18500         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
18501         ICONV_CONST.
18502         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
18503         set ICONV_CONST.
18504         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
18505         here.
18506         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
18507         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
18508         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
18509         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
18510         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
18511         present.
18512
18513 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18514
18515         ftoastr: comment fix
18516         * lib/ftoastr.c: "little" -> "little or no" in comment
18517
18518 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
18519
18520         stdint: port to GCC 4.3 + OSX + Octave
18521         On this platform, stdint.h is buggy and defines int64_t to long
18522         long int.  The replacement defined it to long int, causing
18523         problems with C++ style name mangling.  Instead, trust the system
18524         definition if INT64_MAX is defined, and likewise for the unsigned
18525         variant.   Problem reported by Jarno Rajahalme in
18526         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
18527         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
18528         and don't mess with int64_t and INT64_MAX in this case.
18529         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
18530
18531 2010-11-24  Bruno Haible  <bruno@clisp.org>
18532
18533         doc: Corrections regarding MacOS X 10.4 and 10.5.
18534         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
18535         MacOS X.
18536         Reported by Simon Josefsson.
18537
18538 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
18539
18540         Uninstall ".bin" files installed by relocwrapper.
18541         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
18542         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
18543         unless it is already there.
18544
18545 2010-11-21  Bruno Haible  <bruno@clisp.org>
18546
18547         Update for NetBSD 5.0.
18548         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
18549         NetBSD; the test fails on NetBSD 5.0.
18550         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
18551         about NetBSD.
18552
18553 2010-11-21  Bruno Haible  <bruno@clisp.org>
18554
18555         Update for HP-UX 11.23 and HP-UX 11.31.
18556         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
18557         HP-UX.
18558
18559 2010-11-21  Bruno Haible  <bruno@clisp.org>
18560
18561         Update for MacOS X 10.5.
18562         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
18563         MacOS X; the test fails on MacOS X 10.5.8.
18564         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
18565         about MacOS X.
18566
18567 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
18568
18569         bootstrap: add bootstrap_sync option.
18570         See discussion at
18571         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
18572         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
18573         * build-aux/bootstrap: Accept --bootstrap-sync to update
18574         bootstrap if it is not identical to the local gnulib's
18575         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
18576         enable this by default.  Accept --no-bootstrap-sync to disable
18577         it.
18578
18579 2010-11-20  Bruno Haible  <bruno@clisp.org>
18580
18581         Ensure that <features.h> is included before __GLIBC__ is tested.
18582         * lib/printf-parse.h: Include <features.h>.
18583         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
18584         Reported by Mike Frysinger <vapier@gentoo.org>.
18585
18586         Ensure that <features.h> is included before __GLIBC__ is tested.
18587         * lib/wchar.in.h: Include <features.h>.
18588         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
18589         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
18590         Reported by Mike Frysinger <vapier@gentoo.org>.
18591
18592         Ensure that <features.h> is included before __GLIBC__ is tested.
18593         * lib/arpa_inet.in.h: Include <features.h>.
18594         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
18595         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
18596         Reported by Mike Frysinger <vapier@gentoo.org>.
18597
18598         Ensure that <features.h> is included before __GLIBC__ is tested.
18599         * build-aux/link-warning.h: Include <features.h>.
18600         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
18601         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
18602         Reported by Mike Frysinger <vapier@gentoo.org>.
18603
18604         Ensure that <features.h> is included before __GLIBC__ is tested.
18605         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
18606         Reported by Mike Frysinger <vapier@gentoo.org>.
18607
18608 2010-11-20  Bruno Haible  <bruno@clisp.org>
18609
18610         memmem: Fix autoconf test.
18611         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
18612
18613 2010-11-20  Bruno Haible  <bruno@clisp.org>
18614
18615         Port to uClibc.
18616         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
18617         * lib/fcntl.in.h: Likewise.
18618         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
18619         * lib/mbrtowc.c (mbrtowc): Likewise.
18620         * lib/relocatable.c (find_shared_library_fullname): Likewise.
18621         * lib/strerror_r.c: Likewise.
18622         * lib/unistr/u8-strnlen.c: Likewise.
18623         * lib/vasnprintf.c (decimal_point_char): Likewise.
18624         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
18625         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
18626         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
18627         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18628         * tests/test-sigaction.c (handler, main): Likewise.
18629         * lib/freading.h: Treat uClibc like a non-glibc platform.
18630         * lib/freading.c: Likewise.
18631         * lib/gettext.h: Likewise.
18632         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
18633         Likewise.
18634         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
18635         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
18636         * lib/propername.c (proper_name_utf8): Likewise.
18637         * lib/spawn.in.h: Likewise.
18638         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
18639         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
18640         mem_cd_iconveh_internal): Likewise.
18641         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
18642         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
18643         strstr, strcasestr): Likewise.
18644         * lib/unicodeio.c (unicode_to_mb): Likewise.
18645         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
18646         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
18647         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
18648         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
18649         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
18650         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
18651         * lib/unistr/u8-stpncpy.c: Likewise.
18652         * lib/vasnprintf.c (VASNPRINTF): Likewise.
18653         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
18654         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18655         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18656         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18657         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
18658         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
18659         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
18660         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18661         Likewise.
18662         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18663         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18664         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18665         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18666         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18667         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18668         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18669         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18670         * tests/test-getopt.h (OPTIND_MIN): Likewise.
18671         * tests/test-striconveha.c (main): Likewise.
18672         * tests/test-vasnprintf-posix.c (test_function): Likewise.
18673         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
18674         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
18675         * doc/posix-functions/getline.texi: Likewise.
18676         Reported by Mike Frysinger <vapier@gentoo.org>.
18677
18678 2010-11-20  Bruno Haible  <bruno@clisp.org>
18679
18680         nproc: Fix condition.
18681         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
18682         HAVE_PTHREAD_AFFINITY_NP.
18683
18684 2010-11-20  Bruno Haible  <bruno@clisp.org>
18685
18686         Fix a comment.
18687         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
18688
18689 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
18690
18691         ftoastr: don't assume snprintf
18692         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
18693         Implement a subset of snprintf here, by using sprintf safely.
18694         * modules/ftoastr (Depends-on): Remove snprintf.
18695
18696 2010-11-19  Jim Meyering  <meyering@redhat.com>
18697
18698         test-rename.h: fix compilation failure
18699         * tests/test-rename.h (test_rename): Add omitted "}".
18700
18701 2010-11-17  Jim Meyering  <meyering@redhat.com>
18702
18703         maint.mk: add a URL discussing the no-@acronym policy
18704         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
18705
18706 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
18707
18708         ftoastr: depend on snprintf, improve comments
18709         * lib/ftoastr.c: Also mention Loitsch's draft.
18710         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
18711         needed in the current implementation, but it might simplify
18712         speeding up the code later.
18713         * modules/ftoastr: Depend on snprintf; this improves portability.
18714         Suggested by Bruno Haible in the same email.
18715
18716         ftoastr: port to hosts lacking strtof and strtold
18717         Problem reported by Bruno Haible in
18718         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
18719         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
18720         environment and strtold (and presumably strtof) are not available.
18721         * modules/ftoastr (Files): Add m4/c-strtod.m4.
18722         (configure.ac): Require gl_C99_STRTOLD.
18723
18724 2010-11-18  Bruno Haible  <bruno@clisp.org>
18725
18726         c-strtold: Avoid link error on AIX 7.
18727         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
18728         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
18729         (gl_C_STRTOLD): Test whether strtold_l exists.
18730         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18731
18732 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18733
18734         intprops: new macro INT_BITS_STRLEN_BOUND
18735         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
18736         ftoastr.h.  This exposes an internal of intprops.h that was formerly
18737         not exposed.  Also, it uses a slightly tighter bound than before;
18738         though this makes no practical difference, we might as well be as
18739         tight as we easily can.
18740
18741         ftoastr: new module, for lossless conversion of floats to short strings
18742         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
18743         * modules/ftoastr: New files.
18744
18745 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18746
18747         bootstrap: port to Solaris sed
18748         * build-aux/bootstrap (get_version): Port to Solaris sed.
18749         See Ralf Wildenhues's note in
18750         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
18751
18752 2010-11-14  Jim Meyering  <meyering@redhat.com>
18753
18754         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
18755         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
18756         and move definition closer to sole use.
18757
18758 2010-11-13  Jim Meyering  <meyering@redhat.com>
18759
18760         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
18761         Now we require at least autoconf-2.59, which means the work-around
18762         is no longer needed.
18763         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
18764         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18765         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
18766         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18767         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18768
18769 2010-11-13  Bruno Haible  <bruno@clisp.org>
18770
18771         rename, renameat: Avoid test failures at NFS mounted locations.
18772         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
18773         functions.
18774         (test_rename): Use assert_nonexistent.
18775         * tests/test-rename.c: Include <dirent.h>.
18776         * tests/test-renameat.c: Likewise.
18777         Reported by Gary V. Vaughan <gary@gnu.org>.
18778
18779         rename, renameat: Document Linux bug with NFS
18780         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
18781         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
18782         * doc/posix-functions/renameat.texi: Likewise.
18783         Suggested by Eric Blake.
18784
18785 2010-11-13  Bruno Haible  <bruno@clisp.org>
18786
18787         rename test: Add comments.
18788         * tests/test-rename.h (test_rename): Add structure and comments.
18789
18790 2010-11-13  Eric Blake  <eblake@redhat.com>
18791
18792         maintainer-makefile: cover a few more files
18793         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
18794         scripts generated within C files, for libvirt.
18795
18796 2010-11-13  Bruno Haible  <bruno@clisp.org>
18797
18798         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
18799         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
18800         character, return the number of bytes that belong together, not always
18801         1.
18802         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
18803         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
18804         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
18805         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
18806         number of bytes of an invalid character.
18807         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
18808         (main): Invoke it.
18809         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
18810         results.
18811         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
18812         malformed byte sequences.
18813         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
18814         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
18815         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
18816         Reported by Ben Pfaff and Paolo Bonzini.
18817
18818 2010-11-13  Bruno Haible  <bruno@clisp.org>
18819
18820         openat: Work around glibc bug with fchownat() and empty file names.
18821         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
18822         (gl_FUNC_FCHOWNAT): Invoke it.
18823         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
18824         * doc/posix-functions/fchownat.texi: Document the glibc bug.
18825         Reported by Gary V. Vaughan <gary@gnu.org>.
18826
18827 2010-11-13  Bruno Haible  <bruno@clisp.org>
18828
18829         openat: Ensure autoconf macro ordering.
18830         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
18831         gl_USE_SYSTEM_EXTENSIONS.
18832         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
18833
18834 2010-11-13  Bruno Haible  <bruno@clisp.org>
18835
18836         Update comments.
18837         * lib/unistr/u8-check.c: Update file name in comments.
18838         * lib/unistr/u8-mblen.c: Likewise.
18839         * lib/unistr/u8-prev.c: Likewise.
18840         * lib/unistr/u8-strmblen.c: Likewise.
18841         * lib/unistr/u8-strmbtouc.c: Likewise.
18842
18843 2010-11-13  Jim Meyering  <meyering@redhat.com>
18844
18845         tests: avoid test failure on Solaris 10 due to lack of PATH export
18846         * tests/test-update-copyright.sh: Don't forget to export PATH.
18847
18848         init.sh: ensure that IFS is defined, just in case...
18849         * tests/init.sh (setup_): Ensure that IFS is defined,
18850         so that saving and restoring it works as expected.  This
18851         appears to be useful at least for an old version of dash
18852         from a long time ago (RH 6).  See here for details:
18853         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18854
18855         maint.mk: tighten "test a == b" check
18856         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18857         test to files that contain something like #!/bin/sh.
18858         Without this, coreutils would get two false positives in
18859         the comments of C source files.
18860
18861 2010-11-12  Eric Blake  <eblake@redhat.com>
18862
18863         bootstrap: fix typo in previous attempt
18864         * build-aux/bootstrap (buildreq): Correct the grouping.
18865         Reported by Paul Eggert.
18866
18867         maintainer-makefile: prohibit test x == x
18868         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18869         Based on a report by Matthias Bolte.
18870
18871         bootstrap: allow FreeBSD gzip
18872         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18873         which has no '.' and goes to stderr.
18874         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18875         Reported by Matthias Bolte.
18876
18877         maintainer-makefile: check for i18n setup
18878         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18879         will likely work.
18880
18881 2010-11-12  Bruno Haible  <bruno@clisp.org>
18882
18883         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18884         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18885         * lib/nanosleep.c (nanosleep): Likewise.
18886
18887 2010-11-11  Bruno Haible  <bruno@clisp.org>
18888
18889         fcntl-h: Fix for use of C++ on glibc systems.
18890         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18891         also on glibc systems in C++ mode.
18892         Reported by Gary V. Vaughan <gary@gnu.org>.
18893
18894 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18895
18896         mknod: avoid false failure with dash
18897         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18898
18899 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18900
18901         unlink: Fix "is it should" typo in diagnostic.
18902         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18903         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18904
18905 2010-11-11  Bruno Haible  <bruno@clisp.org>
18906
18907         Tests for module 'strerror_r-posix'.
18908         * modules/strerror_r-posix-tests: New file.
18909         * tests/test-strerror_r.c: New file.
18910         * tests/test-string-c++.cc: Check the signature of strerror_r.
18911
18912         New module 'strerror_r-posix'.
18913         * lib/string.in.h (strerror_r): New declaration.
18914         * lib/strerror_r.c: New file.
18915         * m4/strerror_r.m4: New file.
18916         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18917         of strerror_r.
18918         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18919         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18920         * modules/strerror_r-posix: New file.
18921         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18922         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18923         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18924         portability problems.
18925
18926 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18927
18928         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18929         line is also considered for output. Quoted function name in shell
18930         command, so temporary files for functions like MyClass::operator()
18931         are removed correctly without errors.
18932
18933 2010-11-09  Bruno Haible  <bruno@clisp.org>
18934
18935         * doc/posix-functions/strerror.texi: List more failing platforms.
18936
18937         * doc/posix-functions/strerror.texi: Add a comment.
18938
18939 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18940
18941         fdopendir: fix bug on MacOS X when low on file descriptors
18942
18943         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18944         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18945         All callers changed.
18946         (fdopendir): Invoke save_cwd at the top level, not after using
18947         multiple dup() calls to use up file descriptors.  Then retry
18948         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18949         less than the maximum number of open file descriptors, because
18950         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18951         on Mac OS X 10.6.4 for tar 1.24
18952         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18953         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18954         and for tar 1.25
18955         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18956
18957 2010-11-07  Bruno Haible  <bruno@clisp.org>
18958
18959         vasnprintf: Support I flag on glibc systems.
18960         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18961         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18962         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18963         snprintf function.
18964         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18965         glibc systems.
18966         * tests/test-vasnprintf-posix3.c: New file.
18967         * modules/vasnprintf-posix-tests (Files): Add it.
18968         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18969
18970 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18971
18972         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18973         * MODULES.html.sh: For compiler warnings, use name
18974         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18975
18976 2010-11-05  Eric Blake  <eblake@redhat.com>
18977
18978         ceil, floor: avoid spurious failure with icc
18979         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18980         [denormals-as-zero] when optimizing without -mieee-fp option.
18981         * tests/test-floorf2.c (floorf_reference): Likewise.
18982         * tests/test-ceilf1.c (dummy): New function.
18983         (main): Use it to outsmart icc's optimization.
18984         * tests/test-floorf1.c (dummy, main): Likewise.
18985
18986         tests: require working signbit
18987         * modules/ceilf-tests (Depends-on): Add signbit.
18988         * modules/ceill-tests (Depends-on): Likewise.
18989         * modules/floorf-tests (Depends-on): Likewise.
18990         * modules/floorl-tests (Depends-on): Likewise.
18991         * modules/round-tests (Depends-on): Likewise.
18992         * modules/roundf-tests (Depends-on): Likewise.
18993         * modules/roundl-tests (Depends-on): Likewise.
18994         * modules/trunc-tests (Depends-on): Likewise.
18995         * modules/truncf-tests (Depends-on): Likewise.
18996         * modules/truncl-tests (Depends-on): Likewise.
18997
18998         strtod: work around icc bug
18999         * lib/strtod.c (minus_zero): Define to working value.
19000         (strtod): Use it to avoid icc bug.
19001
19002         copysign: enhance tests
19003         * modules/copysign-tests (Files): Add minus-zero.h.
19004         * tests/test-copysign.c (main): Also test zeros.
19005
19006 2010-11-04  Eric Blake  <eblake@redhat.com>
19007
19008         ceil, floor, round, trunc: enhance tests of -0
19009         * tests/test-ceilf1.c (main): Ensure correct sign of result.
19010         * tests/test-ceill.c (main): Likewise.
19011         * tests/test-floorf1.c (main): Likewise.
19012         * tests/test-floorl.c (main): Likewise.
19013         * tests/test-round1.c (main): Likewise.
19014         * tests/test-roundf1.c (main): Likewise.
19015         * tests/test-roundl.c (main): Likewise.
19016         * tests/test-trunc1.c (main): Likewise.
19017         * tests/test-truncf1.c (main): Likewise.
19018         * tests/test-truncl.c (main): Likewise.
19019
19020 2010-11-04  Eric Blake  <eblake@redhat.com>
19021
19022         frexp, tests: work around ICC bug with -zero
19023         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
19024         works with more compilers.
19025         * tests/minus-zero.h: New file.
19026         * modules/ceilf-tests (Files): Include it.
19027         * modules/ceill-tests (Files): Likewise.
19028         * modules/floorf-tests (Files): Likewise.
19029         * modules/floorl-tests (Files): Likewise.
19030         * modules/frexp-nolibm-tests (Files): Likewise.
19031         * modules/frexp-tests (Files): Likewise.
19032         * modules/frexpl-nolibm-tests (Files): Likewise.
19033         * modules/frexpl-tests (Files): Likewise.
19034         * modules/isnan-tests (Files): Likewise.
19035         * modules/isnand-nolibm-tests (Files): Likewise.
19036         * modules/isnand-tests (Files): Likewise.
19037         * modules/isnanf-nolibm-tests (Files): Likewise.
19038         * modules/isnanf-tests (Files): Likewise.
19039         * modules/isnanl-nolibm-tests (Files): Likewise.
19040         * modules/isnanl-tests (Files): Likewise.
19041         * modules/round-tests (Files): Likewise.
19042         * modules/roundf-tests (Files): Likewise.
19043         * modules/roundl-tests (Files): Likewise.
19044         * modules/ldexpl-tests (Files): Likewise.
19045         * modules/signbit-tests (Files): Likewise.
19046         * modules/snprintf-posix-tests (Files): Likewise.
19047         * modules/sprintf-posix-tests (Files): Likewise.
19048         * modules/strtod-tests (Files): Likewise.
19049         * modules/trunc-tests (Files): Likewise.
19050         * modules/truncf-tests (Files): Likewise.
19051         * modules/truncl-tests (Files): Likewise.
19052         * modules/vsnprintf-posix-tests (Files): Likewise.
19053         * modules/vsprintf-posix-tests (Files): Likewise.
19054         * modules/vasnprintf-posix-tests (Files): Likewise.
19055         * modules/vasprintf-posix-tests (Files): Likewise.
19056         * tests/test-ceilf1.c (main): Use it.
19057         * tests/test-ceill.c (main): Likewise.
19058         * tests/test-floorf1.c (main): Likewise.
19059         * tests/test-floorl.c (main): Likewise.
19060         * tests/test-frexp.c (main): Likewise.
19061         * tests/test-frexpl.c (main): Likewise.
19062         * tests/test-isnan.c (main): Likewise.
19063         * tests/test-isnand.h (main): Likewise.
19064         * tests/test-isnanf.h (main): Likewise.
19065         * tests/test-isnanl.h (main): Likewise.
19066         * tests/test-ldexpl.c (main): Likewise.
19067         * tests/test-round.c (main): Likewise.
19068         * tests/test-roundf.c (main): Likewise.
19069         * tests/test-roundl.c (main): Likewise.
19070         * tests/test-signbit.c (test_signbitf, test_signbitd)
19071         (test_signbitl): Likewise.
19072         * tests/test-snprintf-posix.h (test_function): Likewise.
19073         * tests/test-sprintf-posix.h (test_function): Likewise.
19074         * tests/test-strtod.c (main): Likewise.
19075         * tests/test-trunc1.c (main): Likewise.
19076         * tests/test-truncf1.c (main): Likewise.
19077         * tests/test-truncl.c (main): Likewise.
19078
19079         isnanl: work around icc bug
19080         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
19081
19082 2010-11-03  Eric Blake  <eblake@redhat.com>
19083
19084         tests: fix compiler warnings
19085         * tests/test-getopt.h (test_getopt): Fix condition.
19086         * tests/test-getopt_long.h (test_getopt_long): Likewise.
19087         * tests/test-pipe2.c (main): Likewise.
19088         * tests/test-quotearg-simple.c (main): Avoid icc warning.
19089
19090         utimens: fix broken m4 test
19091         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
19092
19093 2010-10-28  Bruno Haible  <bruno@clisp.org>
19094
19095         posix_spawn*, getdtablesize: Relax license.
19096         * modules/posix_spawn (License): Change to LGPLv2+.
19097         * modules/posix_spawnp (License): Likewise.
19098         * modules/posix_spawn-internal (License): Likewise.
19099         * modules/posix_spawnattr_init (License): Likewise.
19100         * modules/posix_spawnattr_getflags (License): Likewise.
19101         * modules/posix_spawnattr_setflags (License): Likewise.
19102         * modules/posix_spawnattr_getpgroup (License): Likewise.
19103         * modules/posix_spawnattr_setpgroup (License): Likewise.
19104         * modules/posix_spawnattr_getschedparam (License): Likewise.
19105         * modules/posix_spawnattr_setschedparam (License): Likewise.
19106         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
19107         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
19108         * modules/posix_spawnattr_getsigdefault (License): Likewise.
19109         * modules/posix_spawnattr_setsigdefault (License): Likewise.
19110         * modules/posix_spawnattr_getsigmask (License): Likewise.
19111         * modules/posix_spawnattr_setsigmask (License): Likewise.
19112         * modules/posix_spawnattr_destroy (License): Likewise.
19113         * modules/posix_spawn_file_actions_init (License): Likewise.
19114         * modules/posix_spawn_file_actions_addclose (License): Likewise.
19115         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
19116         * modules/posix_spawn_file_actions_addopen (License): Likewise.
19117         * modules/posix_spawn_file_actions_destroy (License): Likewise.
19118         * modules/getdtablesize (License): Likewise.
19119         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
19120
19121 2010-10-26  Bruno Haible  <bruno@clisp.org>
19122
19123         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
19124         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
19125         Cygwin and mingw.
19126         Suggested by Eric Blake.
19127
19128 2010-10-26  Bruno Haible  <bruno@clisp.org>
19129
19130         stdio: Work around compilation error due to renameat() on Solaris 10.
19131         * lib/stdio.in.h: Include <unistd.h> on Solaris.
19132         * lib/renameat.c: Don't include <unistd.h> here.
19133         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
19134         Reported by Paul Eggert and Eric Blake.
19135
19136 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
19137
19138         renameat: port to Solaris 10, which declares renameat in unistd.h
19139
19140         * lib/renameat.c: Include unistd.h before stdio.h, because
19141         Solaris 10 declares renameat in unistd.h.  Problem encountered
19142         when building GNU tar 1.24 on Solaris 10.
19143
19144 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
19145
19146         fdopendir: fix C89 compilation
19147         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
19148         compilers.
19149
19150 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
19151
19152         inttostr: simplify by removing unnecessary redundancy
19153         * lib/anytostr.c: Don't include verify.h.
19154         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
19155         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
19156         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
19157         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
19158         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
19159         Likewise.
19160         * modules/inttostr (Depends-on): Remove 'verify'.
19161
19162 2010-10-23  Bruno Haible  <bruno@clisp.org>
19163
19164         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
19165         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
19166         Reported by Eric Blake.
19167
19168 2010-10-23  Bruno Haible  <bruno@clisp.org>
19169
19170         Tests: Fix LOCALE_JA on MirBSD 10.
19171         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
19172         to an UTF-8 locale.
19173         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
19174         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19175         Reported by Eric Blake.
19176
19177 2010-10-21  Bruno Haible  <bruno@clisp.org>
19178
19179         nl_langinfo test: Avoid test failure on NetBSD 5.
19180         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
19181         Reported by Eric Blake.
19182
19183 2010-10-21  Eric Blake  <eblake@redhat.com>
19184
19185         c-stack: work around libsigsegv 2.8 bug
19186         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
19187         overflow on at least PowerPC64.
19188
19189 2010-10-17  Bruno Haible  <bruno@clisp.org>
19190
19191         userspec: Drop redundant file.
19192         * modules/userspec (Files): Remove lib/inttostr.h.
19193
19194 2010-10-17  Bruno Haible  <bruno@clisp.org>
19195
19196         nl_langinfo tests: Silence some warnings.
19197         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
19198         Reported by Jim Meyering.
19199
19200 2010-10-17  Bruno Haible  <bruno@clisp.org>
19201
19202         Make use of GCC's attribute __alloc_size__.
19203         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
19204         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
19205         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
19206         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
19207         __alloc_size__.
19208         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
19209         Suggested by Jim Meyering.
19210
19211 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
19212
19213         bootstrap: anchor .gitignore entries.
19214         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
19215         with...
19216         (insert_vc_ignore): ... this new function, which prepends `/' to
19217         all .gitignore entries before passing them to
19218         insert_sorted_if_absent.
19219
19220 2010-10-16  Bruno Haible  <bruno@clisp.org>
19221
19222         nextafter: Fix configure check.
19223         * modules/nextafter (configure.ac): Correct expected prototype.
19224
19225 2010-10-16  Bruno Haible  <bruno@clisp.org>
19226
19227         termios: Update documentation.
19228         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
19229
19230 2010-10-16  Bruno Haible  <bruno@clisp.org>
19231
19232         tests: Make them compile with TinyCC.
19233         * tests/test-strstr.c (main): Remove parentheses around array
19234         initializer.
19235
19236 2010-10-15  Eric Blake  <eblake@redhat.com>
19237
19238         ignore-value: make header idempotent
19239         * lib/ignore-value.h: Add double-inclusion guards.
19240         Reported by Stefan Berger.
19241
19242 2010-10-15  Jim Meyering  <meyering@redhat.com>
19243
19244         GNUmakefile: handle "stable" target, not "major"
19245         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
19246         lists in maint.mk and announce-gen.  Without this, "make stable"
19247         would fail to ensure that $(VERSION) is up to date.
19248
19249 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
19250
19251         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
19252         & co.
19253
19254 2010-10-14  Bruno Haible  <bruno@clisp.org>
19255
19256         vasnprintf: Don't set errno to 0.
19257         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
19258         block that sets it to 0.
19259         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
19260
19261 2010-10-14  Bruno Haible  <bruno@clisp.org>
19262
19263         socketlib: Fix.
19264         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
19265         gl_PREREQ_SYS_H_WINSOCK2.
19266         Reported by Ian Beckwith <ianb@erislabs.net>.
19267
19268 2010-10-13  Jim Meyering  <meyering@redhat.com>
19269
19270         test-select-stdin.c: avoid warn_unused_result warnings
19271         * tests/test-select-stdin.c: Include "macros.h".
19272         ASSERT that read and fflush succeed.
19273
19274 2010-10-13  Jim Meyering  <meyering@redhat.com>
19275
19276         git-version-gen: do require git-VC'd files in cwd
19277         * build-aux/git-version-gen: Reject a git version string
19278         if there are no commits associated with the current directory.
19279         This avoids an unlikely false-positive (unrelated dir whose parent
19280         repository also contains a tag matching v*), as pointed out
19281         by Giuseppe Scrivano in
19282         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
19283
19284 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
19285
19286         argv-iter: omit nonconforming declaration
19287         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
19288         enum arg_iter_err declaration, which doesn't conform to C99.
19289         Solaris 10 cc warns about this.
19290
19291 2010-10-13  Eric Blake  <eblake@redhat.com>
19292
19293         termios: fix compilation on mingw
19294         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
19295         (gl_TERMIOS_H): Adjust it on mingw.
19296         * modules/termios (Makefile.am): Substitute new key.
19297         * lib/termios.in.h (includes): Make include_next conditional.
19298         * doc/posix-headers/termios.texi (termios.h): Update
19299         documentation.
19300         Reported by Daniel P. Berrange.
19301
19302 2010-10-13  Jim Meyering  <meyering@redhat.com>
19303
19304         git-version-gen: don't require that .git/ be in the current dir
19305         * build-aux/git-version-gen: Adjust this script so that it works
19306         when run from any working directory beneath the top-level .git/-
19307         containing directory.  Inspired by a patch from Giuseppe Scrivano,
19308         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
19309
19310         test-select: avoid warn_unused_result warnings
19311         * tests/test-select.c: Include "macros.h".
19312         ASSERT that each call to read, write, and pipe succeeds.
19313         While not technically required, also check each "close".
19314         * modules/select-tests (Files): Add tests/macros.h.
19315
19316         test-symlinkat: remove declaration of unused local
19317         * tests/test-symlinkat.c (main): Remove unused local, "buf".
19318
19319         test-inttostr: avoid shadowing warnings
19320         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
19321         and use malloc rather than the stack for the same reason as
19322         mentioned in the comment justifying the other allocation.
19323
19324 2010-10-11  Bruno Haible  <bruno@clisp.org>
19325
19326         stdlib: Allow multiple gnulib generated replacements to coexist.
19327         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
19328         Reported by Sam Steingold <sds@gnu.org>.
19329
19330 2010-10-11  Jim Meyering  <meyering@redhat.com>
19331
19332         fix a documentation typo
19333         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
19334
19335 2010-10-11  Eric Blake  <eblake@redhat.com>
19336
19337         futimens: work around Solaris 11 bug
19338         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
19339         * tests/test-futimens.h (test_futimens): Enhance, rather than
19340         weaken test.
19341         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19342
19343 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
19344
19345         Indentation.
19346         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
19347         higher-level operators more to the left.
19348
19349 2010-10-11  Jim Meyering  <meyering@redhat.com>
19350
19351         test-futimens: avoid unwarranted test failure on Solaris 5.11
19352         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
19353         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
19354         because it tries to dereference the NULL name argument.
19355
19356 2010-10-11  Bruno Haible  <bruno@clisp.org>
19357
19358         Indentation.
19359         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
19360         indentation.
19361
19362 2010-10-11  Jim Meyering  <meyering@redhat.com>
19363
19364         spawn.in.h: make indentation consistent with parentheses
19365         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
19366         Make indentation consistent with parentheses.
19367
19368 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
19369
19370         Fix mismatched parens in previous commit
19371         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
19372         parens.
19373
19374 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
19375
19376         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
19377
19378         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
19379         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
19380         * lib/malloca.c: Include "verify.h".
19381         (verify1): Remove, replacing with a verify call.
19382         * lib/relocwrapper.c (verify1): Likewise.
19383         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
19384         Likewise.
19385         * modules/malloca (Depends-on): Add 'verify'.
19386         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
19387         * modules/vasnprintf (Depends-on): Add 'verify'.
19388         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19389         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19390         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19391         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19392         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19393         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19394         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19395
19396         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
19397
19398         Formerly the style was sometimes 2*X - 1, because the C standard
19399         was wrongly thought to disallow ?: in integral constant expressions.
19400         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
19401         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
19402         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19403         * lib/stdint.in.h (_verify_intmax_size): Likewise.
19404         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
19405         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
19406         verify that time_t cannot be floating.
19407
19408 2010-10-08  Eric Blake  <eblake@redhat.com>
19409
19410         time: enforce recent POSIX ruling that time_t is integral
19411         * lib/time.in.h (__time_t_must_be_integral): Detect any
19412         problematic systems, allowing the rest of gnulib to assume POSIX.
19413
19414 2010-10-08  Jim Meyering  <meyering@redhat.com>
19415
19416         fdopendir: fix a bug on systems lacking openat and /proc support
19417         OpenBSD 4.7 is one such system.  The most noticeable effect was
19418         failure of any application making nontrivial use of fts: rm, du,
19419         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
19420           ./rm: traversal failed: `a': Bad file descriptor
19421         Debugging that, you see that even though FD 6 was closed just
19422         prior to the opendir call in fd_clone_opendir, its resulting
19423         dir->dd_fd was 8, rather than the expected value of 6:
19424
19425         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
19426         93                close (fd);
19427         (gdb) n
19428         94                dir = fd_clone_opendir (dupfd);
19429         (gdb) n
19430         95                saved_errno = errno;
19431         (gdb) p dir->dd_fd
19432         $11 = 8
19433
19434         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
19435         The problem is that on OpenBSD, fd_clone_opendir has to resort
19436         to using the old-style save/restore CWD mechanism, due to its
19437         lack of openat/proc support, and *that* would steal the FD (6)
19438         that opendir was supposed to use.
19439
19440         The fix is to squirrel away the desired FD so that save_cwd uses a
19441         different one, and then free the dest FD right before calling opendir.
19442         That guarantees opendir will use the required file descriptor.
19443
19444         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
19445
19446 2010-10-08  Bruno Haible  <bruno@clisp.org>
19447
19448         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
19449         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
19450
19451 2010-10-08  Bruno Haible  <bruno@clisp.org>
19452
19453         nanosleep: Make replacement POSIX compliant.
19454         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
19455         is out of range.
19456         Reported by Jim Meyering.
19457
19458 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
19459
19460         bootstrap: add hook for altering gnulib.mk, for Bison
19461         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
19462         the Bison bootstrapping process can rewrite file names and variables
19463         in this file before later parts of 'bootstrap' use the file.
19464         Bison wants to include lib/gnulib.mk from the top-level makefile,
19465         so it needs the file names in this file to be relative to the top
19466         level, not relative to lib; plus it needs variable names to be
19467         rewritten.
19468         (slurp): Use the new function.
19469
19470         bootstrap: reformat for readability
19471         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
19472
19473 2010-10-08  Eric Blake  <eblake@redhat.com>
19474
19475         docs: update cygwin progress
19476         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
19477         1.7.7.
19478         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
19479         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
19480         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
19481         * doc/posix-functions/carg.texi (carg): Likewise.
19482         * doc/posix-functions/cargf.texi (cargf): Likewise.
19483         * doc/posix-functions/casin.texi (casin): Likewise.
19484         * doc/posix-functions/casinf.texi (casinf): Likewise.
19485         * doc/posix-functions/casinh.texi (casinh): Likewise.
19486         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
19487         * doc/posix-functions/catan.texi (catan): Likewise.
19488         * doc/posix-functions/catanf.texi (catanf): Likewise.
19489         * doc/posix-functions/catanh.texi (catanh): Likewise.
19490         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
19491         * doc/posix-functions/ccos.texi (ccos): Likewise.
19492         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
19493         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
19494         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
19495         * doc/posix-functions/cexp.texi (cexp): Likewise.
19496         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
19497         * doc/posix-functions/cimag.texi (cimag): Likewise.
19498         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
19499         * doc/posix-functions/clog.texi (clog): Likewise.
19500         * doc/posix-functions/clogf.texi (clogf): Likewise.
19501         * doc/posix-functions/conj.texi (conj): Likewise.
19502         * doc/posix-functions/conjf.texi (conjf): Likewise.
19503         * doc/posix-functions/cpow.texi (cpow): Likewise.
19504         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
19505         * doc/posix-functions/cproj.texi (cproj): Likewise.
19506         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
19507         * doc/posix-functions/creal.texi (creal): Likewise.
19508         * doc/posix-functions/crealf.texi (crealf): Likewise.
19509         * doc/posix-functions/csin.texi (csin): Likewise.
19510         * doc/posix-functions/csinf.texi (csinf): Likewise.
19511         * doc/posix-functions/csinh.texi (csinh): Likewise.
19512         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
19513         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
19514         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
19515         * doc/posix-functions/ctan.texi (ctan): Likewise.
19516         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
19517         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
19518         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
19519         * doc/posix-headers/complex.texi (complex.h): Likewise.
19520
19521 2010-10-07  Jim Meyering  <meyering@redhat.com>
19522
19523         parse-datetime: avoid compilation failure on OpenBSD 4.7
19524         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
19525         This works around a compilation failure on OpenBSD 4.7:
19526         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
19527
19528 2010-10-07  Eric Blake  <eblake@redhat.com>
19529
19530         docs: update cygwin progress
19531         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
19532         1.7.6.
19533         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
19534         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
19535         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
19536         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
19537         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
19538         Likewise.
19539         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
19540         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
19541         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
19542         Likewise.
19543         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
19544         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
19545         Likewise.
19546         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
19547         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
19548         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
19549         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
19550         Likewise.
19551         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
19552         Likewise.
19553         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
19554
19555         docs: update parse-datetime history
19556         * doc/parse-datetime.texi (Authors of parse_datetime): Better
19557         documentation of this function's history and alternatives.
19558
19559         cygwin: use more robust version check
19560         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
19561         exclude an eventual cygwin 1.9.1.
19562         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19563         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
19564         (gl_FUNC_STRCASESTR): Likewise.
19565         Reported by Bruno Haible.
19566
19567 2010-10-06  Bruno Haible  <bruno@clisp.org>
19568
19569         string, sys_select: Avoid #including large headers unless necessary.
19570         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
19571         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
19572         OSF/1, BeOS, Haiku.
19573         Reported by Jim Meyering.
19574
19575 2010-10-05  Eric Blake  <eblake@redhat.com>
19576
19577         memmem, strstr, strcasestr: fix bug with long periodic needle
19578         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
19579         periodic needle having false positive.
19580         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
19581         and cygwin 1.7.7.
19582         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
19583         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
19584         (gl_FUNC_STRCASESTR): Likewise.
19585         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19586         * tests/test-memmem.c (main): Expose the bug.
19587         * tests/test-strcasestr.c (main): Likewise.
19588         * tests/test-strstr.c (main): Likewise.
19589         * tests/test-c-strcasestr.c (main): Likewise.
19590         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
19591         * doc/posix-functions/strstr.texi (strstr): Likewise.
19592         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19593         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
19594
19595 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19596
19597         parse-datetime: do some more renaming
19598         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
19599         parse_datetime, not get_date.  Mention the renaming.
19600         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
19601         in comments.
19602         * m4/bison.m4: Likewise.
19603
19604 2010-10-05  Eric Blake  <eblake@redhat.com>
19605
19606         parse-datetime: better name than get_date
19607         * NEWS: Reword the deprecation notice.
19608         * modules/get_date: Rename to modules/parse-datetime.
19609         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
19610         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
19611         * lib/get_date.y: Rename to lib/parse-datetime.y.
19612         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
19613         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
19614         * doc/getdate.texi: Provide fallback wrapper.
19615         * lib/getdate.h: Move guts, and wrap...
19616         * lib/parse-datetime.h: ...new file.
19617         * lib/parse-datetime.y (get_date): Rename...
19618         (parse_datetime): ...to this.
19619         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
19620         (gl_PARSE_DATETIME): ...to this.
19621         * doc/posix-functions/getdate.texi (get_date): Provide fallback
19622         documentation.
19623         * modules/getdate (Files): Provide fallback docs and header.
19624         (Notice, Depends-on): Update references.
19625         * tests/test-parse-datetime.c: Likewise.
19626         * DEPENDENCIES: Likewise.
19627         * MODULES.html.sh (Date and time <time.h>): Likewise.
19628         * doc/parse-datetime.texi (Date input formats)
19629         (Authors of parse_datetime): Likewise.
19630         * modules/parse-datetime (Files, configure.ac, Makefile.am)
19631         (Include): Likewise.
19632         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
19633         * gnulib-tool: Likewise.
19634         * m4/bison.m4 (gl_BISON): Likewise.
19635         Suggested by Bruno Haible.
19636
19637 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19638
19639         more ports to Solaris tr, which needs [] around ranges
19640         * gnulib-tool: Solaris tr needs [] around ranges.
19641         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
19642         * tests/test-pipe-filter-gi1.c (main): Likewise.
19643         * tests/test-pipe-filter-ii1.c (main): Likewise.
19644
19645 2010-10-05  Eric Blake  <eblake@redhat.com>
19646
19647         bootstrap: fix Solaris regression
19648         * build-aux/bootstrap (check_versions): Solaris tr still needs []
19649         around ranges.
19650         Reported by Pádraig Brady.
19651
19652         bootstrap: work with pkg-config
19653         * build-aux/bootstrap (check_versions): Also transliterate - in
19654         prerequisite name.
19655         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
19656         prerequisites that were already found, to avoid confusion.
19657         Reported by Justin Clift.
19658
19659         faccessat: remove unused wrappers
19660         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
19661         presence of these wrappers dragged in -lgen on Solaris.
19662         Reported by Clemens Brogi; fix suggested by Paul Eggert.
19663
19664 2010-10-05  Jim Meyering  <meyering@redhat.com>
19665
19666         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
19667         * Makefile (sc_pragma_columns): New syntax-check rule.
19668
19669 2010-10-04  Bruno Haible  <bruno@clisp.org>
19670
19671         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
19672         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
19673         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
19674         Reported by Bruce Korb and Eric Blake.
19675
19676 2010-10-04  Bruno Haible  <bruno@clisp.org>
19677
19678         threadlib: Make option --with-libpth-prefix work.
19679         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
19680         use $LIBPTH, not just -lpth.
19681
19682 2010-10-04  Bruno Haible  <bruno@clisp.org>
19683
19684         Avoid line length limitation from HP NonStop system header files.
19685         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
19686         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
19687         * lib/ctype.in.h: Likewise.
19688         * lib/dirent.in.h: Likewise.
19689         * lib/errno.in.h: Likewise.
19690         * lib/fcntl.in.h: Likewise.
19691         * lib/float.in.h: Likewise.
19692         * lib/getopt.in.h: Likewise.
19693         * lib/iconv.in.h: Likewise.
19694         * lib/inttypes.in.h: Likewise.
19695         * lib/langinfo.in.h: Likewise.
19696         * lib/locale.in.h: Likewise.
19697         * lib/math.in.h: Likewise.
19698         * lib/netdb.in.h: Likewise.
19699         * lib/netinet_in.in.h: Likewise.
19700         * lib/poll.in.h: Likewise.
19701         * lib/pthread.in.h: Likewise.
19702         * lib/pty.in.h: Likewise.
19703         * lib/sched.in.h: Likewise.
19704         * lib/se-selinux.in.h: Likewise.
19705         * lib/search.in.h: Likewise.
19706         * lib/signal.in.h: Likewise.
19707         * lib/spawn.in.h: Likewise.
19708         * lib/stdarg.in.h: Likewise.
19709         * lib/stddef.in.h: Likewise.
19710         * lib/stdint.in.h: Likewise.
19711         * lib/stdio.in.h: Likewise.
19712         * lib/stdlib.in.h: Likewise.
19713         * lib/string.in.h: Likewise.
19714         * lib/strings.in.h: Likewise.
19715         * lib/sys_file.in.h: Likewise.
19716         * lib/sys_ioctl.in.h: Likewise.
19717         * lib/sys_select.in.h: Likewise.
19718         * lib/sys_socket.in.h: Likewise.
19719         * lib/sys_stat.in.h: Likewise.
19720         * lib/sys_time.in.h: Likewise.
19721         * lib/sys_times.in.h: Likewise.
19722         * lib/sys_utsname.in.h: Likewise.
19723         * lib/sys_wait.in.h: Likewise.
19724         * lib/sysexits.in.h: Likewise.
19725         * lib/termios.in.h: Likewise.
19726         * lib/time.in.h: Likewise.
19727         * lib/unistd.in.h: Likewise.
19728         * lib/wchar.in.h: Likewise.
19729         * lib/wctype.in.h: Likewise.
19730         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
19731         * modules/ctype (Makefile.am): Likewise.
19732         * modules/dirent (Makefile.am): Likewise.
19733         * modules/errno (Makefile.am): Likewise.
19734         * modules/fcntl-h (Makefile.am): Likewise.
19735         * modules/float (Makefile.am): Likewise.
19736         * modules/getopt-posix (Makefile.am): Likewise.
19737         * modules/iconv-h (Makefile.am): Likewise.
19738         * modules/inttypes (Makefile.am): Likewise.
19739         * modules/langinfo (Makefile.am): Likewise.
19740         * modules/locale (Makefile.am): Likewise.
19741         * modules/math (Makefile.am): Likewise.
19742         * modules/netdb (Makefile.am): Likewise.
19743         * modules/netinet_in (Makefile.am): Likewise.
19744         * modules/poll-h (Makefile.am): Likewise.
19745         * modules/pthread (Makefile.am): Likewise.
19746         * modules/pty (Makefile.am): Likewise.
19747         * modules/sched (Makefile.am): Likewise.
19748         * modules/search (Makefile.am): Likewise.
19749         * modules/selinux-h (Makefile.am): Likewise.
19750         * modules/signal (Makefile.am): Likewise.
19751         * modules/spawn (Makefile.am): Likewise.
19752         * modules/stdarg (Makefile.am): Likewise.
19753         * modules/stddef (Makefile.am): Likewise.
19754         * modules/stdint (Makefile.am): Likewise.
19755         * modules/stdio (Makefile.am): Likewise.
19756         * modules/stdlib (Makefile.am): Likewise.
19757         * modules/string (Makefile.am): Likewise.
19758         * modules/strings (Makefile.am): Likewise.
19759         * modules/sys_file (Makefile.am): Likewise.
19760         * modules/sys_ioctl (Makefile.am): Likewise.
19761         * modules/sys_select (Makefile.am): Likewise.
19762         * modules/sys_socket (Makefile.am): Likewise.
19763         * modules/sys_stat (Makefile.am): Likewise.
19764         * modules/sys_time (Makefile.am): Likewise.
19765         * modules/sys_times (Makefile.am): Likewise.
19766         * modules/sys_utsname (Makefile.am): Likewise.
19767         * modules/sys_wait (Makefile.am): Likewise.
19768         * modules/sysexits (Makefile.am): Likewise.
19769         * modules/termios (Makefile.am): Likewise.
19770         * modules/time (Makefile.am): Likewise.
19771         * modules/unistd (Makefile.am): Likewise.
19772         * modules/wchar (Makefile.am): Likewise.
19773         * modules/wctype (Makefile.am): Likewise.
19774
19775 2010-10-04  Bruno Haible  <bruno@clisp.org>
19776
19777         read-file tests: Avoid a test failure on NonStop Kernel.
19778         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
19779         a regular file.
19780         Reported by Joachim Schmitz <schmitz@hp.com>.
19781
19782 2010-10-03  Bruno Haible  <bruno@clisp.org>
19783
19784         gnulib-tool: Fixes for --create-testdir with --libtool.
19785         * gnulib-tool (func_get_automake_snippet): Don't augment
19786         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
19787         an executable.
19788         (func_create_testdir): Handle module 'alloca' like func_import.
19789         Reported by Bruce Korb <bruce.korb@gmail.com>.
19790
19791 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19792
19793         Avoid some lines longer than 80 characters.
19794         * lib/stdint.in.h: Break long comment lines.
19795         * lib/math.in.h: Likewise.
19796         (_GL_NUM_UINT_WORDS): New macro, for readability.
19797         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
19798         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
19799         * lib/stdlib.in.h: Likewise.
19800         * lib/spawn.in.h: Likewise.
19801         * lib/sys_socket.in.h: Update an URL.
19802         * lib/sys_stat.in.h: Break long line.
19803
19804 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
19805
19806         Improve pmccabe2html.
19807         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
19808         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
19809         when the sources change. Remove the line in the HTML about "Used
19810         ranges" (which implied that there might be other unused ranges),
19811         rename "Resume" to "Summary" (easier to understand for more users).
19812         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
19813         styles, and some unnecessary blank lines.
19814
19815 2010-10-03  Bruno Haible  <bruno@clisp.org>
19816             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
19817
19818         acl: Add support for ACLs on NonStop Kernel.
19819         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
19820         Check whether the function aclsort() exists.
19821         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
19822         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
19823         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19824         (acl_nontrivial [HAVE_ACLSORT]: New function.
19825         (file_has_acl): Implement for NonStop Kernel.
19826         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19827         (qset_acl): Implement for NonStop Kernel.
19828         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
19829         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19830         (main): Implement for NonStop Kernel.
19831         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
19832         Kernel. Handle this flavor.
19833         * tests/test-set-mode-acl.sh: Likewise.
19834         * tests/test-copy-acl.sh: Likewise.
19835         * tests/test-copy-file.sh: Likewise.
19836
19837 2010-10-03  Bruno Haible  <bruno@clisp.org>
19838
19839         Info about ACLs on NonStop Kernel.
19840         * doc/acl-resources.txt: Add info about NonStop Kernel.
19841         References by Joachim Schmitz <schmitz@hp.com>.
19842
19843 2010-10-02  Bruno Haible  <bruno@clisp.org>
19844
19845         Define missing EDQUOT on NonStop Kernel.
19846         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19847         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19848         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19849         missing.
19850         * doc/posix-headers/errno.texi: Mention the NSK bug.
19851         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19852         Reported by Joachim Schmitz <schmitz@hp.com>.
19853
19854 2010-10-02  Bruno Haible  <bruno@clisp.org>
19855
19856         Update doc for POSIX:2008.
19857         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19858         Update URL of POSIX specification.
19859
19860 2010-10-02  Bruno Haible  <bruno@clisp.org>
19861
19862         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19863         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19864         from gnulib, not from Automake.
19865
19866 2010-10-02  Bruno Haible  <bruno@clisp.org>
19867
19868         New module 'system-posix'.
19869         * modules/system-posix: New file.
19870         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19871         module is present.
19872         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19873         GNULIB_SYSTEM_POSIX.
19874         * modules/stdlib (Depends-on): Remove sys_wait.
19875         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19876         * doc/posix-functions/system.texi: Mention the new module.
19877         * doc/posix-headers/stdlib.texi: Likewise.
19878         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19879         define test_sys_wait_macros to a no-op.
19880         Reported by Sam Steingold <sds@gnu.org>.
19881
19882 2010-09-30  Bruno Haible  <bruno@clisp.org>
19883
19884         More renaming from 'getdate' to 'get_date'.
19885         * doc/get_date.texi: Renamed from doc/getdate.texi.
19886         * modules/get_date (Files): Update.
19887         * MODULES.html.sh (Date and time <time.h>): Update.
19888         * DEPENDENCIES: Update.
19889         * gnulib-tool: Update comment.
19890         * m4/bison.m4 (gl_BISON): Likewise.
19891         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19892
19893 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19894
19895         bootstrap: support ACLOCAL_FLAGS during aclocal
19896         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19897         can add additional -I dir for third-party .m4 files.
19898
19899 2010-09-30  Eric Blake  <eblake@redhat.com>
19900
19901         bootstrap: use glibtoolize on MacOS
19902         * build-aux/bootstrap (check_versions): Convert libtool into
19903         libtoolize.
19904         (tool search): Move libtool check earlier, and look for
19905         glibtoolize for MacOS.
19906         (gnulib_tool_options): Auto-add --libtool when appropriate.
19907         Reported by Justin Clift.
19908
19909         poll: fix typo that broke test on MacOS
19910         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19911         Reported by Justin Clift.
19912
19913         getdate: rename to get_date
19914         Note: getdate.h is not renamed, to minimize client impact.
19915         * modules/getdate: Mark obsolete.  Move old contents...
19916         * modules/get_date: ...to new module name.
19917         * modules/getdate-tests: Move...
19918         * modules/get_date-tests: ...here.
19919         * m4/getdate.m4: Move...
19920         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19921         * lib/getdate.y: Move...
19922         * lib/get_date.y: ...here.
19923         * tests/test-getdate.c: Move...
19924         * tests/test-get_date.c: ...here.
19925         * doc/posix-functions/getdate.texi (getdate): Update name.
19926         * NEWS: Mention the change.
19927
19928 2010-09-29  Bruno Haible  <bruno@clisp.org>
19929
19930         Separate the module 'waitpid' from the module 'sys_wait'.
19931         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19932         present.
19933         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19934         gl_MODULE_INDICATOR_FOR_TESTS.
19935         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19936         * modules/sys_wait (Depends-on): Remove waitpid.
19937         (Makefile.am): Substitute GNULIB_WAITPID.
19938         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19939         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19940         signature only if the 'waitpid' module is present.
19941         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19942         * NEWS: Mention the change.
19943         * modules/grantpt (Depends-on): Add waitpid.
19944         * modules/wait-process (Depends-on): Likewise.
19945
19946 2010-09-29  Bruno Haible  <bruno@clisp.org>
19947
19948         More tests for module 'sys_wait'.
19949         * modules/sys_wait-c++-tests: New file.
19950         * tests/test-sys_wait-c++.cc: New file.
19951         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19952         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19953
19954 2010-09-29  Bruno Haible  <bruno@clisp.org>
19955
19956         New module 'waitpid'.
19957         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19958         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19959         Don't include <process.h>.
19960         (waitpid): Declare only, using modern idiom.
19961         * m4/waitpid.m4: New file.
19962         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19963         * modules/waitpid: New file.
19964         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19965         (Makefile.am): Update.
19966         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19967
19968 2010-09-28  Bruno Haible  <bruno@clisp.org>
19969
19970         poll: Assume ANSI C.
19971         * lib/poll.c (poll): Use an ANSI C declaration.
19972
19973 2010-09-28  Bruno Haible  <bruno@clisp.org>
19974
19975         poll-h: Create poll.h on all platforms.
19976         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19977         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19978         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19979         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19980         (gl_REPLACE_POLL_H): Don't set POLL_H.
19981         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19982         * modules/poll-h (Depends-on): Add include_next.
19983         (Makefile.am): Create poll.h unconditionally. Substitute also
19984         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19985
19986 2010-09-28  Bruno Haible  <bruno@clisp.org>
19987
19988         Tests for module 'poll-h'.
19989         * modules/poll-h-c++-tests: New file.
19990         * tests/test-poll-h-c++.cc: New file.
19991
19992         Tests for module 'poll-h'.
19993         * modules/poll-h-tests: New file.
19994         * tests/test-poll-h.c: New file.
19995
19996 2010-09-28  Bruno Haible  <bruno@clisp.org>
19997
19998         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19999         * modules/poll-h (Depends-on): Add 'extensions'.
20000
20001 2010-09-28  Bruno Haible  <bruno@clisp.org>
20002
20003         New module 'poll-h'.
20004         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
20005         (poll): Use modern idiom.
20006         * modules/poll-h: New file.
20007         * modules/poll (Files): Remove lib/poll.in.h.
20008         (Depends-on): Add poll-h.
20009         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
20010         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
20011         * m4/poll_h.m4: New file.
20012         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
20013         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
20014         and invoke gl_REPLACE_POLL_H.
20015         * lib/poll.c: Use common idiom.
20016         * tests/test-poll.c: Likewise.
20017         * doc/posix-headers/poll.texi: Mention the poll-h module.
20018         Suggested by Eric Blake.
20019
20020 2010-09-26  Bruno Haible  <bruno@clisp.org>
20021
20022         sys_wait: Implement WSTOPSIG.
20023         * lib/sys_wait.in.h (WSTOPSIG): New macro.
20024         Reported by Simon Josefsson.
20025
20026 2010-09-26  Simon Josefsson  <simon@josefsson.org>
20027
20028         stdlib, sys_wait: Avoid compilation error on mingw.
20029         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
20030
20031 2010-09-26  Bruno Haible  <bruno@clisp.org>
20032
20033         stdlib tests: Avoid code duplication.
20034         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
20035         * modules/sys_wait-tests (Files): Likewise.
20036         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
20037         * tests/test-stdlib.c: Include test-sys_wait.h.
20038         (main): Invoke test_sys_wait_macros.
20039         * tests/test-sys_wait.c: Include test-sys_wait.h.
20040         (main): Invoke test_sys_wait_macros.
20041
20042 2010-09-25  Simon Josefsson  <simon@josefsson.org>
20043
20044         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
20045         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
20046         sure Windows sockets are working before calling getaddrinfo.
20047         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
20048         * doc/gnulib.texi (Windows sockets): Fix typo.
20049
20050 2010-09-25  Bruno Haible  <bruno@clisp.org>
20051
20052         Tests for module 'regex-quote'.
20053         * modules/regex-quote-tests: New file.
20054         * tests/test-regex-quote.c: New file.
20055
20056         New module 'regex-quote'.
20057         * lib/regex-quote.h: New file.
20058         * lib/regex-quote.c: New file.
20059         * modules/regex-quote: New file.
20060         Suggested by Reuben Thomas <rrt@sc3d.org>.
20061
20062 2010-09-24  Bruno Haible  <bruno@clisp.org>
20063
20064         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
20065         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
20066
20067 2010-09-23  Bruno Haible  <bruno@clisp.org>
20068
20069         setenv: Relax license.
20070         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
20071         Blake.
20072         Requested by Eric Blake.
20073
20074 2010-09-22  Bruno Haible  <bruno@clisp.org>
20075
20076         termios: Relax license.
20077         * modules/termios (License): Change to LGPLv2+.
20078         Requested by Eric Blake.
20079
20080 2010-09-22  Bruno Haible  <bruno@clisp.org>
20081
20082         threadlib: Allow the package to change the default to 'no'.
20083         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
20084         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
20085         Reported by Paul Eggert.
20086
20087 2010-09-22  Pádraig Brady  <P@draigbrady.com>
20088             Bruno Haible  <bruno@clisp.org>
20089
20090         Fix endless loop in mbmemcasecoll.
20091         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
20092         byte.
20093         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
20094
20095 2010-09-22  Bruno Haible  <bruno@clisp.org>
20096
20097         Tests for module 'memcoll'.
20098         * modules/memcoll-tests: New file.
20099         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
20100
20101         memcoll, xmemcoll: Clarify size vs. length.
20102         * modules/memcoll.c (memcoll0): Clarify specification.
20103         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
20104         passed to collate_error.
20105
20106 2010-09-22  Bruno Haible  <bruno@clisp.org>
20107
20108         Tests for module 'memcasecmp'.
20109         * modules/memcasecmp-tests: New file.
20110         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
20111
20112 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20113
20114         * lib/pthread.in.h: Add split double-inclusion guard, and include
20115         system <pthread.h> if there is one.  Use @@-style as in other
20116         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
20117         pthread.h doesn't.
20118         (pthread_mutexattr_destroy, pthread_mutexattr_init):
20119         (pthread_mutexattr_settype, pthread_mutex_trylock):
20120         New static inline functions, if there's no system <pthread.h>.
20121         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
20122         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
20123         Approximate with mutexes if the system lacks spinlocks, as in
20124         MacOS.
20125         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
20126         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
20127         @@-style.  Check for spinlocks separately.
20128         (gl_PTHREAD_DEFAULTS): New macro.
20129         * modules/pthread: Redo to use a more typical style for in.h files.
20130
20131 2010-09-21  Eric Blake  <eblake@redhat.com>
20132
20133         net_if: enhance tests
20134         * tests/test-net_if.c (main): Move signature checks earlier.
20135         Print failures to stderr.
20136         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
20137         Document the bug that we do not yet fix.
20138
20139 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
20140
20141         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
20142         about gnulib, not GSS.
20143
20144 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
20145
20146         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
20147         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
20148         for Emacs.
20149         * build-aux/pmccabe2html: Make Makefile.am example code more
20150         cut-and-paste friendly.
20151
20152 2010-09-21  Simon Josefsson  <simon@josefsson.org>
20153
20154         * tests/test-net_if.c: New file.
20155         * modules/net_if-tests: New file.
20156
20157 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
20158
20159         pthread: add pthread_spin_destroy
20160         * lib/pthread.in.h (pthread_spin_destroy): New function.
20161
20162 2010-09-19  Bruno Haible  <bruno@clisp.org>
20163
20164         gnulib-tool: Fix --help output.
20165         * gnulib-tool (func_usage): Fix help message.
20166         Reported by Reuben Thomas <rrt@sc3d.org>.
20167
20168 2010-09-18  Jim Meyering  <meyering@redhat.com>
20169
20170         maint.mk: avoid unexpanded \n in two diagnostics
20171         * top/maint.mk (sc_prohibit_always_true_header_tests):
20172         Don't use a literal \n in a halt=... assignment.  It would not be
20173         expanded, and the two \n bytes would appear in the diagnostic output
20174         rather than the desired newline.  Use halt=$$(printf ... instead.
20175         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
20176
20177 2010-09-18  Bruno Haible  <bruno@clisp.org>
20178
20179         netinet_in: Doc tweak.
20180         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
20181         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20182
20183 2010-09-18  Jim Meyering  <meyering@redhat.com>
20184
20185         init.sh: correct an outdated comment
20186         * tests/init.sh (create_exe_shims_):  s/function/alias/
20187
20188         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
20189         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
20190         a file named "*.exe" is removed between the glob expansion and the
20191         processing of that oddly named file.
20192
20193 2010-09-17  Eric Blake  <eblake@redhat.com>
20194
20195         mirbsd: add some more support
20196         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
20197         in BSD family.
20198         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
20199         devices as OpenBSD.
20200         * m4/host-os.m4 (mirbsd): Add MirBSD.
20201
20202         tests: fix unportable assumption on sys/wait.h
20203         * tests/test-sys_wait.c (main): Relax test.
20204         * tests/test-stdlib.c (main): Likewise.
20205
20206         init.sh: accomodate directory with no .exes
20207         * tests/init.sh: Accomodate directory containing only scripts.
20208
20209         tests: avoid compiler warning
20210         * tests/test-stdlib.c (main): Use the variable.
20211
20212         fdutimens, fdutimensat: update signature, again
20213         * lib/utimens.h (gl_futimens): Delete, and move signature...
20214         (fdutimens): ...here.
20215         (fdutimensat): Rearrange signature.
20216         (lutimensat): Rename variable for clarity.
20217         * lib/fdutimensat.c (fdutimensat): Update signature.
20218         * lib/utimens.c (fdutimens): Likewise.
20219         (gl_futimens): Delete.
20220         (utimens, lutimens): Update callers.
20221         * lib/futimens.c (futimens): Likewise.
20222         * tests/test-fdutimensat.c: Likewise.
20223         * tests/test-utimens.c: Likewise.
20224         * tests/test-futimens.h: Update comment.
20225         * NEWS: Mention this.
20226         Suggested by Paul Eggert.
20227
20228 2010-09-17  Bruno Haible  <bruno@clisp.org>
20229
20230         Take over the maintenance of some older macros from Autoconf.
20231         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
20232         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
20233         GNU Autoconf.
20234         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
20235         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
20236
20237 2010-09-17  Eric Blake  <eblake@redhat.com>
20238
20239         fdutimensat: drop atflag validation
20240         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
20241         with valid fd, to close a race scenario where futimens is
20242         unsupported and FILE was replaced by a symlink.
20243         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
20244         accordingly.
20245         Suggested by Paul Eggert.
20246
20247 2010-09-16  Bruno Haible  <bruno@clisp.org>
20248
20249         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
20250         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
20251
20252 2010-09-16  Bruno Haible  <bruno@clisp.org>
20253
20254         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
20255         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
20256         login_tty exists.
20257         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20258
20259 2010-09-16  Bruno Haible  <bruno@clisp.org>
20260
20261         login_tty: Make the replacement code work on BSD systems.
20262         * lib/login_tty.c: Include <sys/ioctl.h>.
20263         (login_tty): Use ioctl TIOCSCTTY when available.
20264         * modules/login_tty (Depends-on): Add sys_ioctl.
20265         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20266
20267 2010-09-16  Bruno Haible  <bruno@clisp.org>
20268
20269         login_tty: Stricter unit test.
20270         * modules/login_tty-tests (Depends-on): Add tcgetsid.
20271         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
20272         and tcgetsid() after login_tty.
20273         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20274
20275 2010-09-16  Bruno Haible  <bruno@clisp.org>
20276
20277         New module 'tcgetsid'.
20278         * lib/tcgetsid.c: New file.
20279         * m4/tcgetsid.m4: New file.
20280         * modules/tcgetsid: New file.
20281         * modules/termios (Depends-on): Add c++defs, warn-on-use.
20282         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
20283         GNULIB_TCGETSID, HAVE_TCGETSID.
20284         * lib/termios.in.h: Include <sys/types.h>.
20285         (tcgetsid): New declaration.
20286         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
20287         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
20288         * doc/posix-functions/tcgetsid.texi: Mention the new module.
20289         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
20290
20291 2010-09-16  Bruno Haible  <bruno@clisp.org>
20292
20293         Tests for module 'termios'.
20294         * modules/termios-c++-tests: New file.
20295         * modules/termios-tests: New file.
20296         * tests/test-termios-c++.cc: New file.
20297         * tests/test-termios.c: New file.
20298
20299         New module 'termios'.
20300         * modules/termios: New file.
20301         * lib/termios.in.h: New file.
20302         * m4/termios_h.m4: New file.
20303         * doc/posix-headers/termios.texi: Mention the new module.
20304
20305 2010-09-16  Eric Blake  <eblake@redhat.com>
20306
20307         fdutimensat: add an atflag parameter
20308         * lib/fdutimensat.c (fdutimensat): Add new parameter.
20309         * lib/utimens.h (fdutimensat): Update prototype.
20310         * tests/test-fdutimensat.c: Adjust test to match.
20311         * NEWS: Document the change.
20312         Suggested by Paul Eggert.
20313
20314 2010-09-16  Bruno Haible  <bruno@clisp.org>
20315
20316         Fix typos in comments.
20317         * lib/striconveh.h: Fix typo in comment.
20318         * lib/login_tty.c (login_tty): Likewise.
20319
20320 2010-09-15  Bruno Haible  <bruno@clisp.org>
20321
20322         stdlib: clarify MirBSD WEXITSTATUS bug
20323         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
20324         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
20325
20326 2010-09-15  Eric Blake  <eblake@redhat.com>
20327
20328         stdlib: work around MirBSD WEXITSTATUS bug
20329         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
20330         * modules/stdlib (Depends-on): Add sys_wait.
20331         * tests/test-sys_wait.c (main): Enhance test.
20332         * tests/test-stdlib.c (main): Likewise.
20333         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
20334
20335         docs: mention MacOS issue with WEXITSTATUS(constant)
20336         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
20337         issue.
20338         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
20339
20340         strnlen: add tests
20341         * modules/strnlen-tests: New file.
20342         * tests/test-strnlen.c: Likewise.
20343
20344 2010-09-14  Bruno Haible  <bruno@clisp.org>
20345
20346         unistr/base: Avoid link errors when module 'libunistring' is also used.
20347         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
20348         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
20349         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
20350         Declare also when HAVE_LIBUNISTRING is set.
20351         Reported by Pádraig Brady <P@draigbrady.com>.
20352
20353 2010-09-14  Eric Blake  <eblake@redhat.com>
20354
20355         test-rawmemchr: make more robust
20356         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
20357         (Depends-on, configure.ac): Add needed prerequisites to use it.
20358         * modules/memchr-tests (Files, Depends-on, configure.ac):
20359         Likewise, to avoid implicit reliance on memchr module prereqs.
20360         * tests/test-memchr.c (main): Ensure proper masking.
20361         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
20362         reads.
20363
20364         memchr: detect glibc Alpha bug
20365         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
20366         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
20367         Alpha.
20368         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
20369         * tests/test-memchr.c (main): Enhance test.
20370         Reported by Nelson H. F. Beebe.
20371
20372 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
20373
20374         fts, getcwd, glob: audit for dirfd returning -1
20375         * lib/fts.c (opendir): Remove #define; no longer used.
20376         (opendirat): New arg PDIR_FD.  All callers changed.
20377         (fts_build, _opendir2): Use new opendirat to avoid the need for
20378         dirfd, or for checking whether dirfd returns a negative value.
20379         Don't use opendir; always use openat followed by fdopendir.
20380         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
20381         it.
20382         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
20383         returns -1 here.
20384         * modules/fts (Depends-on): Remove dirfd.
20385         * modules/getcwd (Depends-on): Likewise.
20386
20387 2010-09-13  Eric Blake  <eblake@redhat.com>
20388
20389         float: fix broken MirBSD header
20390         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
20391         * doc/posix-headers/float.texi (float.h): Document it.
20392
20393 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
20394
20395         fts: use O_NOFOLLOW to avoid race condition when opening a directory
20396         * lib/fts.c (opendirat): New arg extra_flags.
20397         (__opendir2): Use it to avoid following symlinks when opening
20398         a directory, if symlinks are not supposed to be followed.  See
20399         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
20400
20401         fdopendir: preserve argument fd before returning
20402         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
20403         (fdopendir_with_dup, fd_clone_opendir): New static functions.
20404         (fdopendir): Use them, arranging for FD to be open to the same
20405         directory that it was when it started.  (It might be temporarily
20406         closed while fdopendir is running, so this not thread- or
20407         signal-safe.)  Be careful to do the right thing even when file
20408         descriptors are scarce and dup fails with errno == EMFILE.  See
20409         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
20410
20411 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
20412
20413         regex: Pass the system regex if its only problem is 32-bit regoff_t.
20414         * NEWS: Document change.
20415         * m4/regex.m4: Disable test for regoff_t size.
20416
20417 2010-09-13  Jim Meyering  <meyering@redhat.com>
20418
20419         fts: don't operate on an invalid file descriptor after failed dup
20420         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
20421         negative file descriptor.
20422
20423 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
20424
20425         savedir: add streamsavedir, deprecate fdsavedir
20426         * NEWS: Mention deprecation of fdsavedir.
20427         * lib/savedir.c (streamsavedir): New extern function, whose name
20428         ends in "savedir" to be consistent with the others.  This differs
20429         from savedirstream in that it doesn't close its argument.  The
20430         next version of GNU tar will use this instead of fdsavedir, to
20431         avoid some race conditions and conserve file descriptors.
20432         (savedirstream): Reimplement as a wrapper around streamsavedir.
20433         (fdsavedir): Add a comment deprecating this function.  As far as
20434         I know, only GNU tar used it, and GNU tar doesn't need it any more.
20435         * lib/savedir.h (streamsavedir): New decl.
20436         (fdsavedir): Add a comment deprecating this.
20437
20438 2010-09-10  Bruno Haible  <bruno@clisp.org>
20439
20440         langinfo: Fix last commit.
20441         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
20442         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
20443         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20444
20445 2010-09-10  Bruno Haible  <bruno@clisp.org>
20446
20447         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
20448         * lib/progreloc.c (O_EXEC): Define fallback.
20449
20450 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20451
20452         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
20453         * NEWS: Document recent changes to fcntl-h.
20454         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
20455         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
20456         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
20457         Similarly for O_SEARCH; this last was already true, but not documented.
20458         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
20459         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
20460         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
20461         Likewise.
20462         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
20463         is zero, not whether it is defined.
20464         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
20465         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
20466         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
20467
20468 2010-09-10  Bruno Haible  <bruno@clisp.org>
20469
20470         langinfo, nl_langinfo: Fix for IRIX 5.3.
20471         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
20472         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
20473         HAVE_LANGINFO_YESEXPR.
20474         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
20475         HAVE_LANGINFO_YESEXPR.
20476         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
20477         HAVE_LANGINFO_T_FMT_AMPM is 0.
20478         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
20479         HAVE_LANGINFO_YESEXPR is 0.
20480         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
20481         NOEXPR.
20482         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
20483         * doc/posix-functions/nl_langinfo.texi: Likewise.
20484         Reported by Eric Blake.
20485
20486 2010-09-10  Bruno Haible  <bruno@clisp.org>
20487
20488         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
20489         * doc/glibc-functions/login_tty.texi: Mention the include file problem
20490         on FreeBSD 8.0 and OpenBSD 4.6.
20491         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
20492         * m4/pty_h.m4 (gl_PTY_H): Likewise.
20493         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
20494         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
20495         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
20496         ac_includes_default.
20497         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20498
20499 2010-09-09  Eric Blake  <eblake@redhat.com>
20500
20501         strsignal: work around NetBSD bug
20502         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
20503         * lib/string.in.h (includes): Likewise.
20504         * doc/posix-functions/strsignal.texi (strsignal): Document the
20505         bug.
20506         Reported by Nelson H. F. Beebe.
20507
20508         gnulib-tool: work with NetBSD /bin/sh
20509         * gnulib-tool (func_cache_var, func_cache_lookup_module)
20510         (func_get_description, func_get_comment, func_get_status)
20511         (func_get_notice, func_get_applicability, func_get_filelist)
20512         (func_get_dependencies, func_get_autoconf_early_snippet)
20513         (func_get_autoconf_snippet, func_get_automake_snippet)
20514         (func_get_include_directive, func_get_link_directive)
20515         (func_get_license, func_get_maintainer, func_import): Avoid
20516         shell syntax errors from parsing syntax extensions.
20517
20518 2010-09-09  Bruno Haible  <bruno@clisp.org>
20519
20520         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
20521         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
20522         a reliable way to determine whether the 'alias' command works.
20523
20524 2010-09-08  Jim Meyering  <meyering@redhat.com>
20525
20526         init.sh: penalize a set-x-impaired shell; don't disqualify it
20527         * tests/init.sh: Too many shells corrupt application stderr when
20528         you set -x, so we can't afford to disqualify them, since at least
20529         on Irix-6.5, that would disqualify all bourne shells.
20530         Instead, use a two-pass approach.
20531         On the first pass, try to find a shell that meets the stricter
20532         condition that set -x does not corrupt stderr.
20533         If no shell meets the stricter condition, retest each candidate
20534         shell, but without that extra condition.  Finally, when
20535         VERBOSE=yes is requested and set -x might cause trouble, simply
20536         issue a warning and refrain from enabling debug output.
20537
20538 2010-09-08  Eric Blake  <eblake@redhat.com>
20539
20540         unsetenv: fix OpenBSD bug
20541         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
20542         * doc/posix-functions/unsetenv.texi (unsetenv): Update
20543         documentation.
20544         Reported by Jim Meyering.
20545
20546         strtod: work around IRIX 6.5 bug
20547         * lib/strtod.c (strtod): Reparse number on shorter string if
20548         exponent parse was invalid.
20549         * tests/test-strtod.c (main): Add check for "0x1p 2".
20550         Reported by Tom G. Christensen.
20551
20552         getopt: optimize previous patch
20553         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
20554         empty variable.  Speed up awk script.
20555         Reported by Paolo Bonzini.
20556
20557 2010-09-08  Jim Meyering  <meyering@redhat.com>
20558
20559         test.sh: disqualify shells for which set -x corrupts stderr
20560         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
20561         and OpenBSD 4.7.  They make it so with "set -x", environment settings
20562         appear in stderr output.  For example, this command:
20563             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
20564         prints "P=1" on those two systems:
20565
20566 2010-09-08  Bruno Haible  <bruno@clisp.org>
20567
20568         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
20569         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
20570         commands, because some shells ignore redirections when there is an
20571         error in the command lookup.
20572         Reported by Eric Blake.
20573
20574 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
20575
20576         * lib/regex.h: Fix a mention of `regex_compile' (should be
20577         `re_compile_pattern').
20578         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
20579         (re_set_registers): Correct name of parameter in comment.
20580
20581         * doc/regex.texi: Add documentation for missing syntax flags.
20582         Remove commented-out documentation of defunct syntax option
20583         RE_NO_EMPTY_ALTS.
20584         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
20585         Add documentation of re_set_registers.
20586         Document trick to re-use a pattern buffer by setting fastmap manually.
20587         Update documentation of struct re_pattern_buffer per public members.
20588         Uncomment documentation of equivalence class operators and
20589         collating symbol operators, since they are now implemented,
20590         Explain leftmost-longest matching in relation to alternatives.
20591         Tidy documentation of substring matching.
20592         Remove POSIX documentation, which is done better in
20593         glibc, and refer the reader there. Keep BSD API documentation, as
20594         that is not readily available elsewhere.
20595
20596 2010-09-07  Eric Blake  <eblake@redhat.com>
20597
20598         getopt: handle POSIXLY_CORRECT set but not exported
20599         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
20600         export state of POSIXLY_CORRECT, due to bash set -o posix.
20601         Reported by Dustin J. Mitchell.
20602
20603 2010-09-05  Bruno Haible  <bruno@clisp.org>
20604
20605         gnulib-tool: Highlight the changed options.
20606         * gnulib-tool (func_usage): Display the --import, --add-import,
20607         --remove-import explanations in bold font.
20608
20609 2010-09-06  Karl Berry  <karl@gnu.org>
20610
20611         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
20612
20613 2010-09-05  Bruno Haible  <bruno@clisp.org>
20614
20615         uniwidth/width: Update comment.
20616         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
20617         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
20618
20619 2010-09-05  Bruno Haible  <bruno@clisp.org>
20620
20621         isinf, isnan: Relax license.
20622         * modules/isinf (License): Change from GPL to LGPL, with consent from
20623         Ben Pfaff.
20624         * modules/isnan (License): Likewise.
20625         Requested by Ludovic Courtès.
20626
20627 2010-09-04  Bruno Haible  <bruno@clisp.org>
20628
20629         gnulib-tool: Help migration from --import to --add-import or --update.
20630         * gnulib-tool: Emit a verbose error message when --import is used
20631         without any module name.
20632
20633 2010-09-04  Bruno Haible  <bruno@clisp.org>
20634
20635         Update doc about gnulib-tool.
20636         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
20637         'gnulib-tool --update' in more detail.
20638         Reported by Eric Blake.
20639
20640 2010-09-04  Bruno Haible  <bruno@clisp.org>
20641
20642         gnulib-tool: Change --import. New options --add/remove-import.
20643         * gnulib-tool: New options --add-import, --remove-import.
20644         (func_usage): Document them.
20645         (have_associative): Define always.
20646         (func_import): In import mode, don't merge the specified settings with
20647         the cached settings. Implement remove-import mode.
20648         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
20649         Explain when to use them versus --import.
20650         (Simple update): Use --add-import instead of --import.
20651         * NEWS: Mention the change.
20652
20653 2010-09-04  Bruno Haible  <bruno@clisp.org>
20654
20655         * doc/gnulib-tool.texi (Initial import): Update paragraph about
20656         separate gnulib.mk.
20657
20658 2010-09-04  Bruno Haible  <bruno@clisp.org>
20659
20660         gnulib-tool: Don't talk about CVS any more.
20661         * gnulib-tool (func_usage, func_import): Write "version control"
20662         instead of CVS.
20663
20664 2010-09-04  Jim Meyering  <meyering@redhat.com>
20665
20666         maint.mk: avoid obscure sc_copyright_check failure in coreutils
20667         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
20668         false positives (whose names may be ill-chosen) when searching
20669         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
20670         would cause a false-positive.
20671
20672         avoid coreutils "make distcheck" failure
20673         Coreutils tests with an absolute build directory name that contains
20674         a space.  Not quoting this directory name caused a failure.
20675         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
20676         * tests/test-vc-list-files-cvs.sh: Likewise.
20677
20678 2010-09-04  Bruno Haible  <bruno@clisp.org>
20679
20680         gnulib-tool: Avoid error when run in a package without Makefile.am.
20681         * gnulib-tool: When collecting the m4dirs in a package that does not
20682         have a Makefile.am, eliminate those directories that contain no
20683         gnulib-cache.m4. Fix expression that counts these directories.
20684
20685 2010-09-04  Bruno Haible  <bruno@clisp.org>
20686
20687         update-copyright test: Improve output when perl is missing or too old.
20688         * tests/test-update-copyright.sh: Move test of Perl version down after
20689         the test whether Perl exists. Provide an explanation relating Perl's
20690         error message to Automake's SKIP: message.
20691
20692 2010-09-04  Bruno Haible  <bruno@clisp.org>
20693
20694         Don't augment PATH in TESTS_ENVIRONMENT.
20695         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
20696         set abs_aux_dir instead of augmenting PATH.
20697         * modules/vc-list-files-tests (Makefile.am): Likewise.
20698         * tests/test-update-copyright.sh: Augment PATH here.
20699         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
20700         path_prepend_.
20701         * tests/test-vc-list-files-git.sh: Likewise.
20702
20703 2010-09-04  Jim Meyering  <meyering@redhat.com>
20704
20705         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
20706         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
20707
20708 2010-09-04  Bruno Haible  <bruno@clisp.org>
20709
20710         strdup: Fix compilation error in C++ mode.
20711         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
20712         the macro.
20713
20714 2010-09-04  Bruno Haible  <bruno@clisp.org>
20715
20716         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
20717         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
20718         macro into a function.
20719         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20720
20721 2010-09-04  Bruno Haible  <bruno@clisp.org>
20722
20723         Set PATH_SEPARATOR the same way autoconf does.
20724         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
20725         the value of PATH_SEPARATOR the same way autoconf-generated configure
20726         scripts do.
20727         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
20728         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20729
20730 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20731
20732         Set PATH_SEPARATOR the same way autoconf does.
20733         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
20734         the same way autoconf-generated configure scripts do.
20735         * posix-modules: Likewise.
20736
20737 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20738
20739         hash: fix safe_hasher const typo
20740         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
20741         const; otherwise, there is a type error later.
20742
20743 2010-09-02  Jim Meyering  <meyering@redhat.com>
20744
20745         test-update-copyright.sh: require perl 5.8.0
20746         * tests/test-update-copyright.sh: Require 5.8.0,
20747         which Tom G. Christensen has confirmed is adequate,
20748         while 5.6.1 is not.
20749
20750 2010-09-02  Eric Blake  <eblake@redhat.com>
20751
20752         tests: init.sh improvements for re-exec'ing with zsh
20753         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
20754         -vx through shell re-exec.
20755         Reported by Tom G. Christensen.
20756
20757         wctype: fix typo in previous commit
20758         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
20759         Reported by Ludovic Courtès.
20760
20761 2010-09-02  Jim Meyering  <meyering@redhat.com>
20762
20763         test-update-copyright.sh: skip test if Perl is too old
20764         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
20765         Reported by Tom G. Christensen.
20766
20767 2010-09-02  Bruno Haible  <bruno@clisp.org>
20768
20769         wctype: Avoid compilation error on IRIX 6.5.30.
20770         * lib/wctype.in.h (iswblank): Declare with a replacement if
20771         REPLACE_ISWBLANK is set.
20772         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
20773         declared. Set REPLACE_ISWBLANK.
20774         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
20775         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
20776         * doc/posix-headers/wctype.texi: Likewise.
20777         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20778
20779 2010-09-01  Bruno Haible  <bruno@clisp.org>
20780
20781         New module 'socketlib'.
20782         * modules/socketlib: New file.
20783         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
20784         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
20785         * modules/sockets (Depends-on): Add socketlib.
20786         Suggested by Sam Steingold <sds@gnu.org>.
20787
20788 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20789
20790         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
20791
20792         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
20793         when one needs search access to a directory but not read access.
20794         On systems where it is available, it works in some cases where
20795         O_RDONLY does not, namely on directories that are searchable but
20796         not readable, and which need only to be searchable.  If O_SEARCH
20797         is not available, fall back to the traditional method of using
20798         O_RDONLY.
20799
20800         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
20801         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
20802         when opening a directory that needs only to be searchable.
20803         * lib/chdir-safer.c (chdir_no_follow): Likewise.
20804         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
20805         * lib/openat-proc.c (openat_proc_name): Likewise.
20806         * lib/openat.c (openat_needs_fchdir): Likewise.
20807         * lib/save-cwd.c (save_cwd): Likewise.
20808         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
20809
20810 2010-08-28  Bruno Haible  <bruno@clisp.org>
20811
20812         New module 'host-cpu-c-abi'.
20813         * modules/host-cpu-c-abi: New file.
20814         * m4/host-cpu-c-abi.m4: New file, based on part of
20815         clisp/src/m4/general.m4.
20816         Requested by Sam Steingold <sds@gnu.org>.
20817
20818 2010-08-31  Eric Blake  <eblake@redhat.com>
20819         and Jim Meyering  <meyering@redhat.com>
20820
20821         hash: factor, and guard against misbehaving hasher function
20822         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
20823         of table->hasher's return value.  Also protect against a hash value
20824         so large that adding it to table->bucket results in a NULL pointer.
20825         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
20826         Use it in place of open-coded check-and-abort.
20827
20828 2010-08-30  Bruno Haible  <bruno@clisp.org>
20829
20830         hash: silence spurious clang warning
20831         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
20832         Reported by Eric Blake.
20833
20834 2010-08-30  Eric Blake  <eblake@redhat.com>
20835
20836         strstr, memmem, strcasestr: avoid leaked shell message
20837         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20838         FreeBSD.
20839         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20840         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20841
20842         tests: silence clang warning
20843         * tests/test-malloca.c (do_allocation): Avoid dead store.
20844
20845 2010-08-29  Bruno Haible  <bruno@clisp.org>
20846
20847         gettext: Fix recent mistake.
20848         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20849
20850 2010-08-29  Bruno Haible  <bruno@clisp.org>
20851
20852         selinux-h: Offer a --without-selinux option.
20853         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20854         --without-selinux was specified, skip all tests and define
20855         HAVE_SELINUX_SELINUX_H to 0.
20856         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20857         set LIB_SELINUX to empty.
20858         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20859         gl_LIBSELINUX. If --without-selinux was specified, replace
20860         selinux/context.h.
20861         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20862
20863 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20864             Bruno Haible  <bruno@clisp.org>
20865
20866         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20867         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20868         of HAVE_REALLOC.
20869         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20870         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20871         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20872         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20873
20874 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20875             Bruno Haible  <bruno@clisp.org>
20876
20877         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20878         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20879         HAVE_CALLOC.
20880         * lib/xmalloc.c: Update accordingly.
20881         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20882         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20883         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20884
20885 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20886             Bruno Haible  <bruno@clisp.org>
20887
20888         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20889         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20890         HAVE_MALLOC.
20891         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20892         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20893         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20894
20895 2010-08-29  Bruno Haible  <bruno@clisp.org>
20896
20897         Update modules list.
20898         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20899         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20900         (String handling <string.h>): Add astrxfrm.
20901         (File system functions): Add readlinkat.
20902
20903 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20904
20905         Tests for module 'realloc-gnu'.
20906         * modules/realloc-gnu-tests: New file.
20907         * tests/test-realloc-gnu.c: New file.
20908
20909         Tests for module 'calloc-gnu'.
20910         * modules/calloc-gnu-tests: New file.
20911         * tests/test-calloc-gnu.c: New file.
20912
20913         Tests for module 'malloc-gnu'.
20914         * modules/malloc-gnu-tests: New file.
20915         * tests/test-malloc-gnu.c: New file.
20916
20917 2010-08-28  Bruno Haible  <bruno@clisp.org>
20918
20919         Rename module 'realloc' -> 'realloc-gnu'.
20920         * modules/realloc-gnu: New file, copied from modules/realloc.
20921         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20922         obsolete.
20923         * modules/mgetgroups (Depends-on): Update.
20924         * doc/posix-functions/realloc.texi: Update.
20925         * NEWS: Mention the change.
20926
20927         Rename module 'calloc' -> 'calloc-gnu'.
20928         * modules/calloc-gnu: New file, copied from modules/calloc.
20929         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20930         obsolete.
20931         * doc/posix-functions/calloc.texi: Update.
20932         * NEWS: Mention the change.
20933
20934         Rename module 'malloc' -> 'malloc-gnu'.
20935         * modules/malloc-gnu: New file, copied from modules/malloc.
20936         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20937         obsolete.
20938         * modules/argp (Depends-on): Update.
20939         * modules/regex (Depends-on): Update.
20940         * doc/posix-functions/malloc.texi: Update.
20941         * NEWS: Mention the change.
20942
20943 2010-08-28  Eric Blake  <eblake@redhat.com>
20944
20945         pread, pwrite: add missing dependency
20946         * modules/pread (Depends-on): Add extensions.
20947         * modules/pwrite (Depends-on): Likewise.
20948
20949 2010-08-28  Bruno Haible  <bruno@clisp.org>
20950
20951         unistr/u*-strchr: Fix tests dependencies.
20952         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20953         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20954         Reported by Ian Beckwith <ianb@erislabs.net>.
20955
20956 2010-08-28  Bruno Haible  <bruno@clisp.org>
20957
20958         read-file: Don't occupy too much unused memory.
20959         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20960
20961 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20962             Eric Blake  <eblake@redhat.com>
20963             Bruno Haible  <bruno@clisp.org>
20964
20965         read-file: Avoid memory reallocations with regular files.
20966         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20967         (fread_file): With regular files, use the remaining length as the
20968         initial buffer size.  Check against overflow.
20969         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20970         sys_stat.
20971
20972 2010-08-28  Bruno Haible  <bruno@clisp.org>
20973
20974         ftello: Relax license.
20975         * modules/ftello (License): Relax to LGPLv2+.
20976         Reported by Eric Blake.
20977
20978 2010-08-28  Bruno Haible  <bruno@clisp.org>
20979
20980         Avoid relocwrapper link errors due to gnulib replacement functions.
20981         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20982         function.
20983         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20984
20985 2010-08-28  Bruno Haible  <bruno@clisp.org>
20986
20987         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20988         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20989         defined.
20990         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20991         Suggested by Eric Blake.
20992
20993 2010-08-28  Bruno Haible  <bruno@clisp.org>
20994
20995         sys_socket, netdb: Ensure socklen_t gets defined.
20996         * modules/sys_socket (Depends-on): Add socklen.
20997         * modules/netdb (Depends-on): Likewise.
20998         * modules/getaddrinfo (Depends-on): Remove socklen.
20999         * modules/getsockopt (Depends-on): Likewise.
21000         * modules/setsockopt (Depends-on): Likewise.
21001         * tests/test-sys_socket.c: Check that socklen_t is defined.
21002         * tests/test-netdb.c: Likewise.
21003         * m4/socklen.m4: Update comments.
21004         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21005
21006 2010-08-27  Eric Blake  <eblake@redhat.com>
21007
21008         login_tty: add missing dependency
21009         * modules/login_tty (Depends-on): Add pty.
21010
21011 2010-08-26  Eric Blake  <eblake@redhat.com>
21012
21013         lib-symbol-versions: fix m4 quoting
21014         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
21015         format for AC_LINK_IFELSE.
21016
21017         glob: fix compile test
21018         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
21019
21020         btowc: fix missing file
21021         * modules/btowc (Files): Also ship locale-fr.m4.
21022
21023         lseek: fix link test
21024         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
21025         AC_LINK_IFELSE.
21026
21027         include_next: silence autoconf 2.68 warning
21028         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
21029         AC_COMPILE_IFELSE as special.
21030         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
21031         autoconf < 2.68.
21032
21033         acl: fix compilation test
21034         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
21035         AC_COMPILE_IFELSE.
21036
21037 2010-08-26  Bruno Haible  <bruno@clisp.org>
21038
21039         Modernize AC_TRY_RUN invocations.
21040         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
21041         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
21042         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
21043         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
21044         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
21045         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
21046         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21047         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
21048         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21049         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21050         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
21051         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21052         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
21053         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21054         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
21055         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21056         gl_MBRLEN_NUL_RETVAL): Likewise.
21057         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21058         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
21059         Likewise.
21060         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21061         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21062         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21063         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21064         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
21065         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
21066         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
21067         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
21068         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
21069         Likewise.
21070         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
21071         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
21072         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
21073         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
21074         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
21075         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
21076         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21077         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
21078         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
21080
21081 2010-08-26  Bruno Haible  <bruno@clisp.org>
21082
21083         Modernize AC_TRY_LINK invocations.
21084         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
21085         AC_TRY_LINK.
21086         * m4/argp.m4 (gl_ARGP): Likewise.
21087         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
21088         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
21089         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
21090         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
21091         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
21092         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
21093         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
21094         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
21095         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
21096         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
21097         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
21098         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
21099         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
21100         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21101         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
21102         * m4/hostent.m4 (gl_HOSTENT): Likewise.
21103         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21104         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
21105         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
21106         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
21107         Likewise.
21108         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
21109         Likewise.
21110         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
21111         Likewise.
21112         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
21113         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
21114         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
21115         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
21116         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
21117         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21118         * m4/servent.m4 (gl_SERVENT): Likewise.
21119         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
21120         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
21121         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
21122         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
21123         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
21124         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
21125         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
21126         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
21127         * modules/tsearch-tests (configure.ac): Likewise.
21128
21129 2010-08-26  Bruno Haible  <bruno@clisp.org>
21130
21131         Modernize AC_TRY_COMPILE invocations.
21132         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
21133         AC_TRY_COMPILE.
21134         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
21135         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
21136         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
21137         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
21138         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
21139         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
21140         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
21141         * m4/lock.m4 (gl_LOCK): Likewise.
21142         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
21143         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
21144         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
21145         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
21146         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
21147         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
21148         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
21149         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
21150         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
21151         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
21152         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
21153         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
21154         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
21155         extraneous semicolon.
21156
21157 2010-08-26  Jim Meyering  <meyering@redhat.com>
21158
21159         stat-time: relax license LGPL
21160         * modules/stat-time (License): Change from GPL to LGPL,
21161         with consent from all contributors, for use in libguile.
21162         Requested by Ludovic Courtès.
21163
21164 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
21165
21166         poll: return immediately on POLLHUP.
21167         * lib/poll.c (poll): Always set timeout before wait_timeout is
21168         computed.
21169
21170 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21171
21172         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
21173         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
21174         rmdir ("dir/.//"), unlinkat.
21175
21176 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21177
21178         stdbool: avoid spurious failure with modern xlc
21179         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
21180
21181 2010-08-24  Bruno Haible  <bruno@clisp.org>
21182
21183         getloadavg: simplify code
21184         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
21185         gl_have_func. Update comments.
21186
21187 2010-08-24  Eric Blake  <eblake@redhat.com>
21188
21189         getloadavg: don't define SVR4 on cygwin
21190         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
21191         only define SVR4 when -lkvm is required.
21192         Reported by Yaakov Selkowitz.
21193
21194 2010-08-24  Bruno Haible  <bruno@clisp.org>
21195
21196         priv-set: fix comment
21197         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
21198
21199 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
21200
21201         priv-set: fix comments
21202         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
21203         to match code, as suggested by David Bartley in:
21204         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
21205
21206 2010-08-23  Eric Blake  <eblake@redhat.com>
21207
21208         stdbool: avoid rejecting clang
21209         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
21210         * tests/test-stdbool.c: Enable more tests if using the system
21211         <stdbool.h> instead of the gnulib replacement.
21212         (main): Move xlc bug test to a runtime test for all compilers.
21213         Reported by Anders Kaseorg.
21214
21215         argz: fix shell quoting issue
21216         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
21217         Reported by Charles Wilson.
21218
21219 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
21220             Erik Faye-Lund <kusmabite@gmail.com>
21221
21222         poll, select: handle ERROR_BROKEN_PIPE.
21223         * lib/poll.c (win32_compute_revents): Return POLLHUP when
21224         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
21225         * lib/select.c (win32_compute_revents): Do not mark a pipe
21226         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
21227
21228 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
21229
21230         fts: allow compilation with C++
21231         * lib/fts_.h: Specify extern "C" linkage with C++.
21232
21233 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21234
21235         Fix gnulib-tool sed script de-commentation for AIX sed.
21236         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
21237         sed.
21238
21239 2010-08-17  Eric Blake  <eblake@redhat.com>
21240
21241         test-stddef: test for (some) offsetof bugs
21242         * tests/test-stddef.c: Enhance test to ensure correct type of
21243         offsetof.
21244         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
21245         that we are not fixing at this time.
21246
21247 2010-08-15  Bruno Haible  <bruno@clisp.org>
21248
21249         stpncpy: Allow stpncpy to be defined as a macro.
21250         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
21251         if it's already correctly declared.
21252         * lib/string.in.h (stpncpy): Undefine before redefining.
21253         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
21254
21255 2010-08-14  Bruno Haible  <bruno@clisp.org>
21256
21257         Rename module 'memxfrm' to 'amemxfrm'.
21258         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
21259         (amemxfrm): Renamed from memxfrm.
21260         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
21261         (amemxfrm): Renamed from memxfrm.
21262         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
21263         * NEWS: Mention the change.
21264         * MODULES.html.sh (String handling <string.h>): Update.
21265         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
21266         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
21267         * lib/unicase/u16-casexfrm.c: Likewise.
21268         * lib/unicase/u32-casexfrm.c: Likewise.
21269         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
21270         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
21271         * lib/uninorm/u16-normxfrm.c: Likewise.
21272         * lib/uninorm/u32-normxfrm.c: Likewise.
21273         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
21274         memxfrm.
21275         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
21276         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
21277         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
21278         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
21279         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
21280         Suggested by Paul Eggert.
21281
21282 2010-08-14  Bruno Haible  <bruno@clisp.org>
21283
21284         Tests for module 'astrxfrm'.
21285         * modules/astrxfrm-tests: New file.
21286         * tests/test-astrxfrm.c: New file.
21287
21288         New module 'astrxfrm'.
21289         * lib/astrxfrm.h: New file.
21290         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
21291         * modules/astrxfrm: New file.
21292
21293 2010-08-14  Reuben Thomas <rrt@sc3d.org>
21294
21295         regex: Tweak doc.
21296         * doc/regex.texi (Overview): Don't mention regex.c.
21297         (GNU Regular Expression Compiling): Likewise.
21298         (Match-end-of-line Operator): Mention 'not_eol'.
21299
21300 2010-08-14  Brian Gough  <bjg@gnu.org>
21301             Bruno Haible  <bruno@clisp.org>
21302
21303         git-merge-changelog: add doc relating to use with bzr and hg.
21304         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
21305
21306 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
21307
21308         pthread: fix pthread.h creation for srcdir != builddir
21309         * modules/pthread (Makefile.am): Fix the rule to work also in a
21310         non-srcdir build.
21311
21312 2010-08-13  Karl Berry  <karl@gnu.org>
21313
21314         * doc/regex.texi (Predefined Syntaxes): @smallexample.
21315         * doc/posix-*/*: force line break before @url of POSIX
21316         specifications.
21317         Suggested by Werner Lemberg.
21318
21319 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
21320
21321         strtod: fix const diagnostic
21322         * lib/strtod.c (strtod): Don't assign const char * to char *,
21323         as this elicits a warning from GCC when warnings are enabled.
21324
21325 2010-08-10  Pádraig Brady <P@draigbrady.com>
21326         and Eric Blake  <eblake@redhat.com>
21327
21328         copy-acl: ignore ENOTSUP on HP-UX
21329         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
21330         so that it is available for HP-UX.
21331         * lib/copy-acl.c (qcopy_acl): Use it.
21332         Reported by Patrick M. Callahan.
21333
21334 2010-08-10  Eric Blake  <eblake@redhat.com>
21335
21336         open, chown: relax license
21337         * modules/open (License): Change to LGPLv2+, with consent by all
21338         authors, for use in augeas.
21339         * modules/chown (License): Likewise.
21340         * modules/lchown (Likewise): Likewise.
21341         Requested by Adam Stokes.
21342
21343 2010-08-09  Karl Berry  <karl@gnu.org>
21344
21345         * build-aux/ar-lib: new file, import from Automake.
21346         * config/srclist.txt: autocheck for updates.
21347
21348 2010-08-09  Eric Blake  <eblake@redhat.com>
21349
21350         readlinkat: adjust client modules
21351         * modules/areadlinkat (Depends-on): Use readlinkat, not
21352         symlinkat.
21353         * modules/areadlinkat-with-size (Depends-on): Likewise.
21354
21355         mknod: be more vocal about danger of running tests as root
21356         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
21357         root, since that is just asking for problems.
21358         Suggested by Bruno Haible, based on a report by Rainer Tammer.
21359
21360         readlinkat: split into its own module
21361         * modules/symlinkat: Split readlinkat...
21362         * modules/readlinkat: ...into separate module.
21363         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
21364         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
21365         * lib/symlinkat.c (readlinkat): Move...
21366         * lib/readlinkat.c: ...into new file.
21367         * modules/symlinkat-tests: Split readlinkat test...
21368         * modules/readlinkat-tests: ...into separate module.
21369         * tests/test-symlinkat.c: Split...
21370         * tests/test-readlinkat.c: ...into new file.
21371         * NEWS: Document the split.
21372         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
21373         * lib/unistd.in.h (readlinkat): Likewise.
21374         Suggested by Bruno Haible.
21375
21376 2010-08-08  Bruno Haible  <bruno@clisp.org>
21377
21378         memxfrm: Speed up.
21379         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
21380         that usually only one call to strxfrm is necessary for each string
21381         part.
21382         Reported by Paul Eggert <eggert@cs.ucla.edu>.
21383
21384 2010-08-07  Karl Berry  <karl@gnu.org>
21385
21386         * doc/posix-headers/limits.texi,
21387         * doc/posix-functions/malloc.texi,
21388         * doc/posix-functions/strsignal.texi: missing @item.
21389         * doc/ld-version-script.texi: spurious leading i.
21390         * doc/regex.texi (Interval Operators): no commas inside @var.
21391
21392 2010-08-01  Bruno Haible  <bruno@clisp.org>
21393
21394         Integrate the regex documentation.
21395         * doc/gnulib.texi: Define 'cn' index.
21396         (Regular expressions): New a chapter that includes regex.texi and
21397         regexprops-generic.texi.
21398         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
21399         syntax.
21400
21401         Whitespace cleanup.
21402         * doc/regex.texi: Remove trailing spaces.
21403
21404         Add regex documentation.
21405         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
21406         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
21407         Written by Kathy A. Hargreaves and Karl Berry.
21408
21409 2010-08-01  Bruno Haible  <bruno@clisp.org>
21410
21411         link: Update documentation.
21412         * doc/posix-functions/link.texi: Update regarding Solaris.
21413
21414 2010-07-31  Bruno Haible  <bruno@clisp.org>
21415
21416         Update modules list.
21417         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
21418         (String handling <string.h>): Add memcmp2, memxfrm.
21419         (Container data structures): Add xlist, xsublist, xoset.
21420         (Core language properties): Add alignof, unused-parameter.
21421         (Process control, Numeric conversion functions <stdlib.h>): Renamed
21422         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
21423         (Unibyte characters <ctype.h>): New section.
21424         (String handling <string.h>): New section.
21425         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
21426         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
21427         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
21428         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
21429         tan, tanh, tanl, y0, y1, yn.
21430         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
21431         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
21432         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
21433         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
21434         unlockpt, vdprintf, vdprintf-posix.
21435         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
21436         (File system functions): Add concat-filename, sys_file, sys_ioctl,
21437         xconcat-filename.
21438         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
21439         getdtablesize, pipe2, pipe2-safer.
21440         (Security): New section.
21441         (Networking functions): Add accept4.
21442         (Signal handling): Add sigpipe.
21443         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
21444         mbmemcasecoll.
21445         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
21446         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
21447         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
21448         pipe-filter-ii.
21449         (Misc): Add argp-version-etc, login_tty, parse-duration.
21450
21451 2010-07-31  Bruno Haible  <bruno@clisp.org>
21452
21453         Improve doc in MODULES.html.
21454         * modules/linkat (Description): Add the word "function".
21455         * modules/mkfifo (Description): Likewise.
21456         * modules/mknod (Description): Likewise.
21457         * modules/remove (Description): Likewise.
21458         * modules/renameat (Description): Likewise.
21459         * modules/stat (Description): Likewise.
21460         * modules/symlink (Description): Likewise.
21461         * modules/unlink (Description): Likewise.
21462
21463 2010-07-31  Bruno Haible  <bruno@clisp.org>
21464
21465         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
21466         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
21467         option --enable/disable-c++ instead of --enable/disable-cxx.
21468         * NEWS: Mention the change.
21469
21470 2010-07-31  Bruno Haible  <bruno@clisp.org>
21471
21472         readlink, areadlink: Relax test a bit.
21473         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
21474         alternative to ENOTDIR.
21475         * tests/test-areadlink.h (test_areadlink): Likewise.
21476         Reported by Rainer Tammer.
21477
21478 2010-07-31  Bruno Haible  <bruno@clisp.org>
21479
21480         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
21481         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
21482         character, perform the search using U_STRCHR.
21483         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
21484         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
21485         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
21486         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
21487         Suggested by Paolo Bonzini.
21488
21489 2010-07-31  Bruno Haible  <bruno@clisp.org>
21490
21491         unistr/u*-strstr: Fix dependencies.
21492         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
21493         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
21494         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
21495
21496 2010-07-31  Bruno Haible  <bruno@clisp.org>
21497
21498         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
21499         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
21500         the beginning of the loop.
21501         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
21502         cases in 'switch' statement.
21503
21504         unistr/u8-strchr: Fix several bugs.
21505         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
21506         the string. When not found, return NULL, not a pointer near the end.
21507
21508         More tests for unistr/u8-strchr.
21509         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
21510         that the function does not read past the first occurrence of the byte
21511         being searched.
21512         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
21513         * tests/unistr/test-u16-strchr.c (main): New function.
21514         * tests/unistr/test-u32-strchr.c (main): New function.
21515
21516 2010-07-31  Bruno Haible  <bruno@clisp.org>
21517
21518         posix-modules: Ignore backup files of documentation files.
21519         * posix-modules: grep only through files named *.texi.
21520
21521 2010-07-31  Bruno Haible  <bruno@clisp.org>
21522
21523         symlinkat: Fix documentation.
21524         * doc/posix-functions/readlinkat.texi: Fix module name.
21525
21526 2010-07-31  Bruno Haible  <bruno@clisp.org>
21527
21528         fchownat: Replace also when chown has the trailing slash bug.
21529         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
21530         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
21531         introduced on 2010-04-10.
21532         Reported by Rainer Tammer.
21533
21534 2010-07-31  Bruno Haible  <bruno@clisp.org>
21535
21536         linkat: Work around AIX 7.1 bug.
21537         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
21538         whether linkat handles trailing slash correctly. If not, replace linkat
21539         and define LINKAT_TRAILING_SLASH_BUG.
21540         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
21541         check whether (fd1,file1) points to a directory if file1 or file2 ends
21542         in a slash. Code taken from lib/link.c.
21543         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
21544         Reported by Rainer Tammer.
21545
21546 2010-07-31  Bruno Haible  <bruno@clisp.org>
21547
21548         Correctly determine whether pow is available in libc on AIX 7 with xlc.
21549         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
21550         This disables an xlc optimization that was causing wrong test results.
21551         Reported by Rainer Tammer.
21552
21553 2010-07-31  Bruno Haible  <bruno@clisp.org>
21554
21555         iconv: Work around AIX 6.1..7.1 bug.
21556         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
21557         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
21558         cross-compiling, guess no on all versions of AIX.
21559         Reported by Rainer Tammer.
21560
21561 2010-07-31  Bruno Haible  <bruno@clisp.org>
21562
21563         readlink: Relax test a bit.
21564         * tests/test-readlink.h (test_readlink): Allow different errno value
21565         when readlink is called with a file name that ends in / and refers to
21566         a file.
21567         Suggested by Eric Blake.
21568         Reported by Rainer Tammer.
21569
21570 2010-07-31  Bruno Haible  <bruno@clisp.org>
21571
21572         copysign: Does not require -lm on glibc systems.
21573         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
21574         gl_COMMON_DOUBLE_MATHFUNC.
21575         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
21576
21577 2010-07-31  Bruno Haible  <bruno@clisp.org>
21578
21579         duplocale: Work around AIX 7.1 bug.
21580         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
21581         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
21582         * lib/duplocale.c (rpl_duplocale): Update comment.
21583         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
21584         Reported by Rainer Tammer.
21585
21586 2010-07-30  Bruno Haible  <bruno@clisp.org>
21587
21588         dirfd: Avoid link error on AIX 7.1.
21589         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
21590         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
21591         exist, set REPLACE_DIRFD.
21592         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
21593         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
21594         * doc/posix-functions/dirfd.texi: Update.
21595         Reported by Rainer Tammer.
21596
21597 2010-07-30  Eric Blake  <eblake@redhat.com>
21598
21599         strtod: next round of AIX fixes
21600         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
21601         exponent.
21602         * tests/test-strtod.c (main): Enhance tests.
21603         * doc/posix-functions/strtod.texi (strtod): Document next bug.
21604         Reported by Rainer Tammer.
21605
21606         futimens: fix configure check
21607         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
21608         Reported by Bruno Haible.
21609
21610 2010-07-30  Bruno Haible  <bruno@clisp.org>
21611
21612         getline: Update regarding AIX.
21613         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
21614         Reported by Rainer Tammer.
21615
21616 2010-07-30  Bruno Haible  <bruno@clisp.org>
21617
21618         wcwidth: Drop replacement on AIX 7.
21619         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
21620         AIX 7.
21621         Reported by Rainer Tammer.
21622
21623 2010-07-30  Bruno Haible  <bruno@clisp.org>
21624
21625         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
21626         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
21627         a 'char *'.
21628         Reported by Rainer Tammer.
21629
21630 2010-07-30  Bruno Haible  <bruno@clisp.org>
21631
21632         unlink: Update regarding AIX.
21633         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
21634         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
21635         Reported by Rainer Tammer.
21636
21637 2010-07-30  Bruno Haible  <bruno@clisp.org>
21638
21639         symlink: Update regarding AIX.
21640         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
21641         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
21642         Reported by Rainer Tammer.
21643
21644 2010-07-30  Bruno Haible  <bruno@clisp.org>
21645
21646         strndup: Update regarding AIX.
21647         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
21648         AIX 7.
21649         Reported by Rainer Tammer.
21650
21651 2010-07-30  Bruno Haible  <bruno@clisp.org>
21652
21653         stat: Update regarding AIX.
21654         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
21655         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
21656         Reported by Rainer Tammer.
21657
21658 2010-07-30  Bruno Haible  <bruno@clisp.org>
21659
21660         truncl: Fix autoconf test.
21661         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
21662         whether truncl works.
21663         Reported by Rainer Tammer.
21664
21665 2010-07-30  Bruno Haible  <bruno@clisp.org>
21666
21667         round: Update regarding AIX.
21668         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
21669         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
21670         Reported by Rainer Tammer.
21671
21672 2010-07-30  Bruno Haible  <bruno@clisp.org>
21673
21674         rename: Update regarding AIX.
21675         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
21676         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
21677         Reported by Rainer Tammer.
21678
21679 2010-07-30  Bruno Haible  <bruno@clisp.org>
21680
21681         printf.m4: Update regarding AIX.
21682         * m4/printf.m4: Update comments regarding AIX.
21683         Reported by Rainer Tammer.
21684
21685 2010-07-30  Bruno Haible  <bruno@clisp.org>
21686
21687         iconv: Update regarding AIX.
21688         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
21689         AIX 7.
21690         Reported by Rainer Tammer.
21691
21692 2010-07-30  Bruno Haible  <bruno@clisp.org>
21693
21694         getopt: Update regarding AIX.
21695         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
21696         no on AIX.
21697         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
21698         Reported by Rainer Tammer.
21699
21700 2010-07-30  Bruno Haible  <bruno@clisp.org>
21701
21702         ldexpl; Update regarding AIX.
21703         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
21704         on AIX 7.
21705         Reported by Rainer Tammer.
21706
21707 2010-07-30  Bruno Haible  <bruno@clisp.org>
21708
21709         frexpl: Update regarding AIX.
21710         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
21711         on AIX 7.
21712         Reported by Rainer Tammer.
21713
21714 2010-07-30  Bruno Haible  <bruno@clisp.org>
21715
21716         open, fopen: Update regarding AIX.
21717         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
21718         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
21719         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
21720         * doc/posix-functions/fopen.texi: Likewise.
21721         Reported by Rainer Tammer.
21722
21723 2010-07-30  Bruno Haible  <bruno@clisp.org>
21724
21725         chown: Update doc regarding AIX.
21726         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
21727         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
21728         Reported by Rainer Tammer.
21729
21730 2010-07-30  Eric Blake  <eblake@redhat.com>
21731
21732         strtod: fix bug in replacement function on AIX
21733         * lib/strtod.c (strtod): Special case broken "0x" parse in
21734         underlying strtod.
21735         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
21736         * doc/posix-functions/strtod.texi (strtod): Likewise.
21737         Reported by Rainer Tammer.
21738
21739 2010-07-30  Bruno Haible  <bruno@clisp.org>
21740
21741         mbrlen: Fix cross-compilation guess for AIX.
21742         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
21743         guess. Leftover from 2008-12-22.
21744
21745 2010-07-30  Bruno Haible  <bruno@clisp.org>
21746
21747         mbrtowc: Fix cross-compilation guess for AIX.
21748         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
21749         guess. Leftover from 2008-12-21.
21750
21751 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
21752
21753         init.sh: work around trap limitation of some shells
21754         * tests/init.sh (setup_): Move exit trap outside of shell function.
21755
21756 2010-07-29  Eric Blake  <eblake@redhat.com>
21757
21758         strtod: aid debugging
21759         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
21760         understanding why strtod is rejected.
21761
21762 2010-07-28  Bruno Haible  <bruno@clisp.org>
21763
21764         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
21765         * lib/unistr/u8-chr.c: Include <string.h>.
21766         * tests/unistr/test-u8-chr.c: Likewise.
21767         * tests/unistr/test-u16-chr.c: Likewise.
21768         * tests/unistr/test-u32-chr.c: Likewise.
21769         * tests/unistr/test-u8-strchr.c: Likewise.
21770         * tests/unistr/test-u16-strchr.c: Likewise.
21771         * tests/unistr/test-u32-strchr.c: Likewise.
21772         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
21773         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
21774         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
21775         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
21776
21777 2010-07-28  Bruno Haible  <bruno@clisp.org>
21778
21779         Use spaces for indentation, not tabs.
21780         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21781
21782 2010-07-27  Bruno Haible  <bruno@clisp.org>
21783
21784         mbspcasecmp: Fix function specification.
21785         * lib/string.in.h (mbspcasecmp): Fix specification comment.
21786         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
21787         Reported by Eric Blake <eblake@redhat.com>.
21788
21789 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
21790
21791         timespec: use cast and not conditional, as truncation isn't possible
21792         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
21793         instead of a conditional.  Comment about the situation in more detail.
21794         This undoes most of the 2009-10-29 patch.
21795
21796 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
21797
21798         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
21799         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
21800         * lib/unistr/u8-strchr.c: Likewise.
21801         * modules/unistr/u8-chr: Depend on memchr.
21802
21803         unistr/u*-strchr: add tests
21804         * modules/unistr/u8-strchr-tests: New file.
21805         * modules/unistr/u16-strchr-tests: New file.
21806         * modules/unistr/u32-strchr-tests: New file.
21807         * tests/unistr/test-strchr.h: New file.
21808         * tests/unistr/test-u8-strchr.c: New file.
21809         * tests/unistr/test-u16-strchr.c: New file.
21810         * tests/unistr/test-u32-strchr.c: New file.
21811
21812         unistr/u*-chr: test multibyte sequences more
21813         * tests/unistr/test-chr.h: Do complete testing of the characters in the
21814         test vector.
21815         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
21816         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
21817         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
21818
21819         unistr/u*-chr: test multibyte sequences
21820         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
21821
21822         unistr/u*-chr: prepare for multibyte tests
21823         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
21824         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
21825         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
21826         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
21827         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
21828         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
21829
21830 2010-07-18  Bruno Haible  <bruno@clisp.org>
21831
21832         unistr/u8-strchr: Optimize non-ASCII argument case.
21833         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
21834         because the first byte often matches anyway.
21835         Reported by Pádraig Brady <P@draigbrady.com>.
21836
21837 2010-07-15  Karl Berry  <karl@gnu.org>
21838
21839         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21840
21841 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21842
21843         getcwd: on Solaris, work better if ancestors are inaccessible
21844         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21845         buffer and size, try again with a large buffer.  This works better
21846         on Solaris, since its getcwd succeeds even if the path to the root
21847         is inaccessible, and this is helpful in common cases such as .zfs
21848         hidden directories.  Problem reported by J Chapman Flack in
21849         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21850         Use system getcwd if it's declared, not merely if it's partly
21851         working; use the partly-working test only to avoid needless effort
21852         if the system getcwd fails.
21853         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21854         comment that was already obsolete and is now even more obsolete.
21855         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21856         now might call strdup.
21857
21858 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21859
21860         pthread: Add enough so that coreutils/src/sort.c compiles.
21861         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21862         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21863         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21864         Include <sys/types.h>, in case it defines pthread_t.
21865         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21866         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21867         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21868         (pthread_rwlockattr_t, pthread_spinlock_t):
21869         New typedefs, if HAVE_PTHREAD_T is not defined.
21870         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21871         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21872         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21873         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21874         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21875         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21876         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21877         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21878         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21879         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21880         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21881         New macros.
21882         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21883         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21884         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21885         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21886         (pthread_spin_unlock): New dummy functions.
21887         (pthread_create): Return EAGAIN; don't set errno.
21888         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21889         require AC_C_INLINE.
21890         * modules/pthread (Depends-on): Add sched, time.
21891         (pthread.h): Use AM_V_GEN.
21892
21893 2010-07-13  Bruno Haible  <bruno@clisp.org>
21894
21895         striconveh: Don't malloc memory if the result buffer is sufficient.
21896         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21897         buffer if its size is sufficient.
21898         Reported by Ludovic Courtès <ludo@gnu.org>.
21899
21900 2010-07-13  Bruno Haible  <bruno@clisp.org>
21901
21902         strtod: Add safety check.
21903         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21904
21905 2010-07-12  Bruno Haible  <bruno@clisp.org>
21906
21907         Unify tests that set gl_cv_func_ldexpl_no_libm.
21908         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21909         gl_FUNC_LDEXPL.
21910         (gl_FUNC_LDEXPL): Invoke it.
21911         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21912
21913 2010-07-12  Bruno Haible  <bruno@clisp.org>
21914
21915         Unify tests that set gl_cv_func_ldexp_no_libm.
21916         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21917         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21918         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21919         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21920         * modules/strtod (Files): Add m4/ldexp.m4.
21921
21922 2010-07-12  Bruno Haible  <bruno@clisp.org>
21923
21924         Unify tests that set gl_cv_func_frexpl_no_libm.
21925         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21926         gl_FUNC_FREXPL_NO_LIBM.
21927         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21928         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21929
21930 2010-07-12  Bruno Haible  <bruno@clisp.org>
21931
21932         Unify tests that set gl_cv_func_frexp_no_libm.
21933         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21934         gl_FUNC_FREXP_NO_LIBM.
21935         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21936         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21937
21938 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21939
21940         memcoll: clarify sizes versus lengths, document better, and tweak perf
21941         * lib/memcoll.c (strcoll_loop, memcoll0):
21942         Improve quality of descriptive comments.  Name variables
21943         consistently as to whether they are lengths (which do not include
21944         terminating null) versus sizes (which do).
21945         * lib/xmemcoll.c (xmemcoll0): Likewise.
21946         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21947         returned when s1size == 0; this is easier to compile and saves
21948         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21949
21950 2010-07-12  Bruno Haible  <bruno@clisp.org>
21951
21952         Tests for module '_Exit'.
21953         * modules/_Exit-tests: New file.
21954         * tests/test-_Exit.sh: New file.
21955         * tests/test-_Exit.c: New file.
21956
21957         New module '_Exit'.
21958         * lib/stdlib.in.h (__attribute__): New macro.
21959         (_Exit): New declaration.
21960         * lib/_Exit.c: New file.
21961         * m4/_Exit.m4: New file.
21962         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21963         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21964         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21965         * modules/_Exit: New file.
21966         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21967         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21968
21969 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21970
21971         strtod: make it more-accurate typically, and don't require libm
21972         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21973         Include limits.h.  Don't include string.h.
21974         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21975         (locale_isspace): New function, so that no casts are needed to
21976         check whether *s is a space.
21977         (ldexp): Provide an unused dummy if not available.
21978         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21979         (strtod): Use them.  This implementation prefers to use the
21980         underlying strtod if available, falling back on our own code
21981         only to fix known bugs.  This is more likely to produce an
21982         accurate result.  Also, it avoids the use of libm functions.
21983         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21984         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21985         was absent, but it caused a test failure with coreutils.
21986         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21987         with libm.
21988         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21989         * modules/strtod-tests (Makefile.am): Likewise.
21990
21991 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21992             Bruno Haible  <bruno@clisp.org>
21993
21994         unistr/u8-strchr: Optimize ASCII argument case.
21995         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21996
21997 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21998
21999         (x)memcoll: minor tweaks
22000         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
22001         is after the type that it qualifies.
22002         (memcoll0): Likewise.
22003         * lib/memcoll.h (memcoll0): Likewise.
22004         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
22005         * lib/xmemcoll.h (xmemcoll0): Likewise.
22006         * lib/memcoll.c (memcoll0): Correct the comment.  This function
22007         differs from memcoll in that the NUL byte is part of the argument.
22008         Omit the abort-checks, as performance is a real issue here.  Plus,
22009         the checks were wrong anyway (an off-by-one error).  Omit local
22010         variable 'diff', as it's a bit clearer that way.
22011         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
22012         no longer needed.
22013
22014 2010-07-08  Chen Guo <chenguo4@yahoo.com>
22015
22016         (x)memcoll: speedup when input is known to be NUL delimited
22017         * lib/memcoll.c: Include stdlib.
22018         (memcoll0): New function.
22019         (strcoll_loop): New function, refactored for use in both memcoll
22020         and memcoll0.
22021         * lib/memcoll.h (memcoll0): Add prototype.
22022         * lib/xmemcoll.c (xmemcoll0): New function.
22023         (collate_error): New function, refactored for use in both xmemcoll
22024         and xmemcoll0.
22025         * lib/xmemcoll.h (xmemcoll0): Add prototype.
22026         * m4/memcoll.m4: add inline invocation.
22027
22028 2010-07-06  Pádraig Brady  <P@draigBrady.com>
22029
22030         * build-aux/bootstrap: Remove any local translations
22031         from the translation project synchronization directory,
22032         so that local only translations are not distributed.
22033
22034 2010-07-04  Bruno Haible  <bruno@clisp.org>
22035
22036         fsusage: Clarify which code applies to which platforms.
22037         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
22038         platform.
22039         * lib/fsusage.c (get_fs_usage): Likewise.
22040
22041 2010-07-04  Bruno Haible  <bruno@clisp.org>
22042
22043         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
22044         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
22045         Reported by Martin Lambers <marlam@marlam.de>.
22046
22047 2010-07-04  Jim Meyering  <meyering@redhat.com>
22048
22049         hash: once again explicitly disallow insertion of NULL
22050         * lib/hash.c (hash_insert0): Reinstate just-removed test:
22051         inserting a NULL pointer cannot work with these functions.
22052         Add a comment with details.
22053         This reverts part of the 2010-07-01 commit, 5bef1a35
22054         "hash: extend module to deal with non-pointer keys".
22055
22056 2010-07-01  Bruno Haible  <bruno@clisp.org>
22057
22058         stdbool: Update doc.
22059         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
22060         Info from Christian Weisgerber <naddy@mips.inka.de>.
22061
22062 2010-07-01  Jim Meyering  <meyering@redhat.com>
22063
22064         hash: extend module to deal with non-pointer keys
22065         * lib/hash.c (hash_insert0): New interface, much like hash_insert
22066         but that allows insertion of non-pointer entries.
22067         Do not disallow an ENTRY value of NULL.
22068         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
22069         * lib/hash.h (hash_insert0): Declare.
22070
22071 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22072
22073         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
22074         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
22075         not present (i.e. with autoconf 2.59 and when using gettextize, not
22076         gnulib), require AC_GNU_SOURCE instead.
22077
22078 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
22079
22080         idpriv-drop: Fix tests.
22081         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
22082         not to the test-idpriv-droptemp program.
22083
22084 2010-06-29  Bruno Haible  <bruno@clisp.org>
22085
22086         string: Fix syntax error with g++ 2.96.
22087         * lib/string.in.h (__pure__): Remove definition.
22088         (_GL_ATTRIBUTE_PURE): New macro.
22089         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
22090         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
22091         Reported by Christian Weisgerber <naddy@mips.inka.de>.
22092
22093 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
22094
22095         unitypes: Fix bug introduced on 2010-05-18.
22096         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
22097
22098 2010-06-22  Eric Blake  <eblake@redhat.com>
22099
22100         memmem: slight optimization
22101         * lib/str-two-way.h (critical_factorization): Update comments.
22102         Reduce work during factorization phase.
22103         Reported by Carlos Bueno <carlos@bueno.org>.
22104
22105 2010-06-21  Bruno Haible  <bruno@clisp.org>
22106
22107         Fix HAVE_CALLOC_POSIX misnomer.
22108         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
22109         !HAVE_CALLOC_POSIX.
22110         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
22111         HAVE_CALLOC_POSIX.
22112         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
22113         instead of HAVE_CALLOC_POSIX.
22114         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
22115         HAVE_CALLOC_POSIX.
22116
22117         Use modern idiom for calloc() replacement.
22118         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
22119         AC_FUNC_CALLOC.
22120         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
22121         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
22122         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
22123         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
22124         (gl_REPLACE_CALLOC): New macro.
22125
22126 2010-06-21  Bruno Haible  <bruno@clisp.org>
22127
22128         Fix HAVE_REALLOC_POSIX misnomer.
22129         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
22130         !HAVE_REALLOC_POSIX.
22131         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
22132         HAVE_REALLOC_POSIX.
22133         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
22134         instead of HAVE_REALLOC_POSIX.
22135         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
22136         HAVE_REALLOC_POSIX.
22137
22138         Use modern idiom for realloc() replacement.
22139         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
22140         AC_FUNC_REALLOC.
22141         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
22142         Autoconf's AC_FUNC_REALLOC.
22143         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
22144         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
22145         (gl_REPLACE_REALLOC): New macro.
22146         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
22147
22148 2010-06-21  Bruno Haible  <bruno@clisp.org>
22149
22150         Fix HAVE_MALLOC_POSIX misnomer.
22151         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
22152         !HAVE_MALLOC_POSIX.
22153         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
22154         HAVE_MALLOC_POSIX.
22155         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
22156         instead of HAVE_MALLOC_POSIX.
22157         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
22158         HAVE_MALLOC_POSIX.
22159
22160         Use modern idiom for malloc() replacement.
22161         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
22162         AC_FUNC_MALLOC.
22163         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
22164         Autoconf's AC_FUNC_MALLOC.
22165         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
22166         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
22167         (gl_REPLACE_MALLOC): New macro.
22168         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
22169
22170 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
22171
22172         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
22173         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
22174         This macro takes 3 arguments, not 4.
22175
22176 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
22177
22178         ipv6: fix detection under mingw
22179         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
22180         in6_addr.
22181
22182 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
22183
22184         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
22185         that strtod() works when cross-compiling to a glibc version known
22186         to work.
22187
22188 2010-06-15  Bruno Haible  <bruno@clisp.org>
22189
22190         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
22191
22192 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
22193
22194         select: Correct timeout.
22195         * lib/select.c (rpl_select): Compute wait_timeout correctly.
22196
22197 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22198
22199         git-version-gen: init shell var to avoid env var influence
22200         * build-aux/git-version-gen (v): Init shell var to empty.
22201
22202 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
22203
22204         priv-set: Don't assume that priv.h exists merely because getppriv does.
22205         See Jan Andersen's bug report about AIX 5L in
22206         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
22207         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
22208         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
22209         * lib/priv-set.h: Likewise.
22210         * tests/test-priv-set.c: Likewise.
22211
22212 2010-06-13  Bruno Haible  <bruno@clisp.org>
22213
22214         relocatable: Make it easier to test whether to install wrappers.
22215         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
22216         RELOCATABLE_VIA_WRAPPER.
22217
22218 2010-06-13  Bruno Haible  <bruno@clisp.org>
22219
22220         gnulib-tool: Display specified modules and dependencies differently.
22221         * gnulib-tool (func_show_module_list): New function.
22222         (func_import, func_create_testdir): Invoke it.
22223         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
22224
22225 2010-06-13  Bruno Haible  <bruno@clisp.org>
22226
22227         gnulib-tool: Align code of func_import and func_create_testdir.
22228         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
22229         specified_modules.
22230
22231 2010-06-12  Jim Meyering  <meyering@redhat.com>
22232
22233         test-inttostr: avoid spurious failure on Solaris 9
22234         * tests/test-inttostr.c (main): Skip the test when snprintf fails
22235         to accept "%ju".  Reported by Bruno Haible.
22236
22237 2010-06-11  Jim Meyering  <meyering@redhat.com>
22238
22239         test-sys_socket: mark variables as used more readably
22240         * tests/test-sys_socket.c (main): Mark otherwise unused variables
22241         as "used" explicitly via (void) statement casts.  This is more
22242         readable than using them in an artificial return expression.
22243         Suggestion from Bruno Haible.
22244
22245 2010-06-11  Bruno Haible  <bruno@clisp.org>
22246
22247         Avoid some more warnings from "gcc -Wwrite-strings".
22248         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
22249         to 'const char *'.
22250         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
22251         * tests/test-c-strcasestr.c (main): Likewise.
22252         * tests/test-mbscasestr1.c (main): Likewise.
22253         * tests/test-mbscasestr2.c (main): Likewise.
22254         * tests/test-memmem.c (main): Likewise.
22255         * tests/test-strstr.c (main): Likewise.
22256         * tests/test-strcasestr.c (main): Likewise.
22257
22258 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22259
22260         init.sh: change framework_failure_ to fail with status 99, not 1
22261         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
22262         automake's parallel-tests rule that this is an unexpected failure,
22263         even if the test is listed in XFAIL_TESTS.
22264
22265 2010-06-11  Jim Meyering  <meyering@redhat.com>
22266
22267         test-inttostr: avoid warnings about 4-6KB literal strings
22268         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
22269         Include "macros.h", for its definition of ASSERT.
22270         (CK): s/assert/ASSERT/
22271         * modules/inttostr-tests (Files): Add macros.h.
22272
22273         init.sh: don't use $ME_ or skip_ before they are defined
22274         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
22275         their first uses.  Also hoist their companions: warn_, fail_,
22276         framework_failure_, $stderr_fileno.  Prompted by a patch from
22277         Stefano Lattarini.
22278
22279         test-sys_socket: avoid set-but-not-used warnings from gcc
22280         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
22281         avoid warning about set-but-not-used variables.
22282
22283         test-xvasprintf: avoid 'const' discard warnings
22284         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
22285         "const" when assigning from literal strings.
22286         (test_xasprintf): Add "void" in function argument list to placate
22287         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
22288
22289         tests: avoid compilation warnings in argmatch and exclude tests...
22290         in packages that define ARGMATCH_DIE_DECL, like coreutils.
22291         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
22292         Since it always exits, declare with the "noreturn" attribute.
22293         * tests/test-argmatch.c: Likewise.
22294
22295         tests: avoid 'const' discard warnings in mbsstr tests
22296         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
22297         * tests/test-mbsstr2.c (main): Likewise.
22298
22299         test-verify: avoid warning from gcc's -Wmissing-declarations
22300         * tests/test-verify.c (function): Declare to be static.
22301
22302         test-inttostr.c: include <string.h> for use of strcmp
22303         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
22304
22305         test-linkat: avoid failed assertion on "other" architectures
22306         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
22307         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
22308         sparc: https://bugs.launchpad.net/bugs/591968
22309
22310 2010-06-11  Jim Meyering  <meyering@redhat.com>
22311
22312         printf.m4: avoid autoconf's "Expanded Before Required" warning
22313         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
22314         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
22315         autoconf warning.
22316
22317 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
22318
22319         Replacement header templates are now named with ".in", not "_".
22320         * doc/gnulib-intro.texi: Correct.
22321
22322 2010-06-10  Jim Meyering  <meyering@redhat.com>
22323
22324         inttostr-tests: depend on snprintf, not snprintf-posix
22325         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
22326         snprintf-posix, to avoid this aclocal failure:
22327           missing file gnulib-tests/vasnprintf.c
22328           configure.ac:45: error: expected source file, required through \
22329           AC_LIBSOURCES, not found
22330
22331 2010-06-10  Jim Meyering  <meyering@redhat.com>
22332
22333         inttostr: add a new function, inttostr, and tests
22334         The namesake function was not available.  The existence of the
22335         template file, inttostr.c makes its addition nontrivial.
22336         * lib/anytostr.c: Rename from inttostr.c.
22337         (anytostr): Rename from inttostr.
22338         * lib/inttostr.c: New file.
22339         * modules/inttostr (Files): Add anytostr.c.
22340         (Makefile.am): Set lib_SOURCES instead of ...
22341         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
22342         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
22343         * lib/offtostr.c: Likewise.
22344         * lib/uinttostr.c: Likewise.
22345         * lib/umaxtostr.c: Likewise.
22346         * modules/inttostr-tests: New file.
22347         * tests/test-inttostr.c: New file.  Test these functions.
22348
22349 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
22350             Bruno Haible  <bruno@clisp.org>
22351
22352         Add "Extending Gnulib" chapter to manual.
22353         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
22354         chapter.
22355         (Extending Gnulib): New chapter.
22356         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
22357         chapter.
22358
22359 2010-06-09  Bruno Haible  <bruno@clisp.org>
22360
22361         Avoid relocwrapper link errors due to gnulib replacement functions.
22362         * lib/areadlink.c: Use the system's malloc, realloc functions.
22363         (areadlink): Set errno to ENOMEM explicitly.
22364         * modules/areadlink (Depends-on): Remove malloc-posix.
22365         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22366
22367 2010-06-09  Bruno Haible  <bruno@clisp.org>
22368
22369         Avoid relocwrapper link errors due to gnulib replacement functions.
22370         * lib/canonicalize-lgpl.c: Use the system's malloc function.
22371         * lib/malloca.c: Likewise.
22372         * lib/relocatable.c: Likewise.
22373         * lib/progreloc.c: Use the system's malloc, sprintf functions.
22374         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
22375         * lib/setenv.c: Use the system's malloc, realloc functions.
22376         * lib/strerror.c: Use the system's sprintf function.
22377         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22378
22379 2010-06-04  Bruno Haible  <bruno@clisp.org>
22380
22381         Prefer documented low-level autoconf macro names.
22382         * m4/lib-link.m4: Use m4_translit instead of translit.
22383         * m4/environ.m4: Likewise.
22384         * m4/mathfunc.m4: Likewise.
22385         * m4/onceonly.m4: Likewise.
22386         * m4/stdint.m4: Likewise.
22387         Suggested by Eric Blake.
22388
22389 2010-06-04  Martin Lambers  <marlam@marlam.de>
22390             Bruno Haible  <bruno@clisp.org>
22391
22392         havelib: Allow library names with '+' characters.
22393         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
22394         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
22395
22396 2010-06-09  Bruno Haible  <bruno@clisp.org>
22397
22398         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
22399         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
22400         realloc failed.
22401
22402 2010-06-08  Peter Simons  <simons@cryp.to>
22403
22404         maint.mk: make the news-check rule more configurable
22405         * top/maint.mk (news-check-lines-spec): New variable.
22406         (news-check): Use "sed -n 1,10p" in place of "head".
22407
22408 2010-06-07  Jim Meyering  <meyering@redhat.com>
22409
22410         do-release-commit-and-tag: fix typo in --help
22411         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
22412
22413         regex: avoid new dead-code warning with gcc-4.6.0
22414         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
22415         if-block containing a while-loop.  It's been unused for at least
22416         5 years.
22417
22418 2010-06-05  Bruno Haible  <bruno@clisp.org>
22419
22420         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
22421         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
22422
22423 2010-06-04  Bruno Haible  <bruno@clisp.org>
22424
22425         Update to GNU gettext 0.18.1.
22426         * modules/gettext (configure.ac): Require gettext infrastructure from
22427         version 0.18.1.
22428
22429 2010-06-03  Bruno Haible  <bruno@clisp.org>
22430
22431         Don't use AC_LIBOBJ with file names in subdirectories.
22432         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
22433         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
22434         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
22435         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
22436         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
22437         gl_LIBUNISTRING_LIBSOURCE.
22438         (Makefile.am): Augment lib_SOURCES here, conditionally.
22439         * NEWS: Drop requirement for Automake option 'subdir-objects'.
22440
22441 2010-06-03  Bruno Haible  <bruno@clisp.org>
22442
22443         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
22444         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
22445         expansion does not end with a newline.
22446         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
22447         unnecessary newline.
22448
22449 2010-06-03  Bruno Haible  <bruno@clisp.org>
22450
22451         Reduce dependencies.
22452         * tests/test-quotearg.h: New file, extracted from
22453         tests/test-quotearg.c.
22454         * tests/test-quotearg-simple.c: New file, extracted from
22455         tests/test-quotearg.c.
22456         * tests/test-quotearg.c: Don't include <ctype.h>.
22457         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
22458         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
22459         use_quote_double_quotes, use_quotearg_colon): Moved to
22460         tests/test-quotearg.h.
22461         (results_g, flag_results, custom_quotes, custom_results): Moved
22462         to tests/test-quotearg-simple.c.
22463         (main): Moved the part that does not depend on gettext to
22464         tests/test-quotearg-simple.c. Return 77 if the test cannot be
22465         performed.
22466         * modules/quotearg-simple: New file.
22467         * modules/quotearg-simple-tests: New file.
22468         * modules/quotearg (Depends-on): Add quotearg-simple.
22469         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
22470         (Files): Add tests/test-quotearg.h.
22471         Reported by Paolo Bonzini.
22472
22473 2010-06-03  Bruno Haible  <bruno@clisp.org>
22474
22475         Reduce dependencies.
22476         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
22477
22478 2010-06-03  Bruno Haible  <bruno@clisp.org>
22479
22480         time: Undefine more broken macros.
22481         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
22482         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
22483         Reported by Eric Blake.
22484
22485 2010-06-03  Bruno Haible  <bruno@clisp.org>
22486
22487         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
22488         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
22489         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
22490         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
22491         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
22492         Reported by Ludovic Courtès <ludo@gnu.org>.
22493
22494 2010-06-02  Eric Blake  <eblake@redhat.com>
22495
22496         time: work with mingw + pthreads-win32 library
22497         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
22498         if timespec is defined only in pthread.h.
22499         * modules/time (Makefile.am): Substitute it.
22500         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
22501         <pthread.h>, when needed.
22502         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
22503         from the library.
22504
22505 2010-05-31  Bruno Haible  <bruno@clisp.org>
22506
22507         Avoid expanding two macros in the wrong order.
22508         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
22509         gl_LIBUNISTRING if it is defined.
22510         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
22511         autoconf >= 2.64.
22512         Reported by Ludovic Courtès <ludo@gnu.org>.
22513
22514 2010-05-27  Jim Meyering  <meyering@redhat.com>
22515
22516         maint.mk: also prohibit "#undef" of always-defined symbols
22517         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
22518         Allow more than one space before the symbol name.
22519         (sc_prohibit_always-defined_macros): Use grep's -E, now that
22520         the regexp uses alternation.
22521
22522 2010-05-26  Eric Blake  <eblake@redhat.com>
22523
22524         maint.mk: avoid echo -e
22525         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
22526         Convert all uses of echo -* to printf.
22527         Reported by Matthias Bolte.
22528
22529 2010-05-25  Bruno Haible  <bruno@clisp.org>
22530
22531         Update to GNU gettext 0.18, part 2.
22532         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
22533         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
22534
22535 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22536
22537         Add missing include in test-pwrite.c.
22538         * tests/test-pwrite.c: Include string.h, for strcmp.
22539
22540 2010-05-24  Bruno Haible  <bruno@clisp.org>
22541
22542         * NEWS: Mention requirement for Automake option 'subdir-objects'.
22543
22544 2010-05-24  Bruno Haible  <bruno@clisp.org>
22545
22546         Don't use conversion with transliteration in u{8,16,32}_strcoll.
22547         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
22548         iconveh_error argument.
22549         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
22550         U_STRCONV_TO_LOCALE.
22551         * lib/unistr/u16-strcoll.c: Likewise.
22552         * lib/unistr/u32-strcoll.c: Likewise.
22553         * modules/unistr/u8-strcoll (Depends-on): Add
22554         uniconv/u8-strconv-to-enc, localcharset. Remove
22555         uniconv/u8-strconv-to-locale.
22556         (configure.ac): Bump version number.
22557         * modules/unistr/u16-strcoll (Depends-on): Add
22558         uniconv/u16-strconv-to-enc, localcharset. Remove
22559         uniconv/u16-strconv-to-locale.
22560         (configure.ac): Bump version number.
22561         * modules/unistr/u32-strcoll (Depends-on): Add
22562         uniconv/u32-strconv-to-enc, localcharset. Remove
22563         uniconv/u32-strconv-to-locale.
22564         (configure.ac): Bump version number.
22565
22566 2010-05-24  Bruno Haible  <bruno@clisp.org>
22567
22568         Avoid a test failure on NetBSD 5.0.
22569         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
22570         an iconv() bug.
22571
22572 2010-05-24  Bruno Haible  <bruno@clisp.org>
22573
22574         Adjust #include directive style.
22575         * modules/regex (Includes): Recommend to write <regex.h>.
22576
22577 2010-05-24  Bruno Haible  <bruno@clisp.org>
22578
22579         regex: Don't require alloca.
22580         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
22581         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
22582         only inside if (0).
22583
22584 2010-05-23  Jim Meyering  <meyering@redhat.com>
22585
22586         test-renameat.c: include <sys/stat.h>
22587         * tests/test-renameat.c: Include <sys/stat.h>; required for
22588         definition of S_IS* macros.
22589
22590 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
22591
22592         Update maintainer documentation for 'relocatable-prog' module.
22593         * doc/relocatable-maint.texi: Update.
22594         Comments by Bruno Haible.
22595
22596 2010-05-23  Bruno Haible  <bruno@clisp.org>
22597
22598         git-merge-changelog: Enable --split-merged-entry by default.
22599         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
22600         (usage): Don't mention this option any more.
22601         Reported by Ralf Wildenhues.
22602
22603 2010-05-23  Jim Meyering  <meyering@redhat.com>
22604
22605         test-pwrite: do not leave behind a test file named "out"
22606         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
22607         The trivial-looking use of init.sh is really necessary.
22608         It ensures that the temporary file, "out", is created in
22609         a temporary directory, and removed upon termination.
22610         * tests/test-pwrite.sh: Re-add file.
22611         * modules/pwrite-tests: Reference it.
22612
22613 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22614
22615         Fix output redirection buglet in init.sh.
22616         * tests/init.sh: Fix redirection of stderr.
22617
22618 2010-05-20  Simon Josefsson  <simon@josefsson.org>
22619
22620         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
22621
22622 2010-05-17  Simon Josefsson  <simon@josefsson.org>
22623
22624         * modules/valgrind-tests: New file.
22625         * m4/valgrind-tests.m4: New file.
22626         * doc/valgrind-tests.texi: New file.
22627         * doc/gnulib.texi (Running self-tests under valgrind): New
22628         section.
22629
22630 2010-05-19  Bruno Haible  <bruno@clisp.org>
22631
22632         Clean up dead code in recent commit.
22633         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
22634         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
22635         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
22636         Suggested by Paolo Bonzini.
22637
22638 2010-05-19  Bruno Haible  <bruno@clisp.org>
22639
22640         Avoid valgrind error reports from libunistring.
22641         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
22642         * modules/libunistring (Files): Add it.
22643         * modules/libunistring-optional (Files): Likewise.
22644
22645 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
22646             Bruno Haible  <bruno@clisp.org>
22647
22648         New module 'libunistring-optional'.
22649         * modules/libunistring-optional: New file.
22650         * m4/libunistring-base.m4: New file.
22651         * m4/libunistring-optional.m4: New file.
22652         * lib/unicase.in.h: Renamed from lib/unicase.h.
22653         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
22654         * lib/unictype.in.h: Renamed from lib/unictype.h.
22655         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
22656         * lib/uniname.in.h: Renamed from lib/uniname.h.
22657         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
22658         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
22659         * lib/unistr.in.h: Renamed from lib/unistr.h.
22660         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
22661         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
22662         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
22663         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
22664         gl_LIBUNISTRING. If the library was found, determine the installed
22665         version and set LIBUNISTRING_VERSION.
22666         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
22667         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
22668         handle a configuration option --with-included-libunistring.
22669         * modules/libunistring (Files): Add m4/absolute-header.m4.
22670         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
22671         Add m4/libunistring-base.m4.
22672         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22673         (Makefile.am): Build unicase.h from unicase.in.h.
22674         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
22675         Add m4/libunistring-base.m4.
22676         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22677         (Makefile.am): Build uniconv.h from uniconv.in.h.
22678         * modules/unictype/base (Files): Use unictype.in.h instead of
22679         unictype.h. Add m4/libunistring-base.m4.
22680         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22681         (Makefile.am): Build unictype.h from unictype.in.h.
22682         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
22683         Add m4/libunistring-base.m4.
22684         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22685         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
22686         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
22687         Add m4/libunistring-base.m4.
22688         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22689         (Makefile.am): Build uniname.h from uniname.in.h.
22690         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
22691         Add m4/libunistring-base.m4.
22692         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22693         (Makefile.am): Build uninorm.h from uninorm.in.h.
22694         * modules/unistdio/base (Files): Use unistdio.in.h instead of
22695         unistdio.h. Add m4/libunistring-base.m4.
22696         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22697         (Makefile.am): Build unistdio.h from unistdio.in.h.
22698         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
22699         Add m4/libunistring-base.m4.
22700         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22701         (Makefile.am): Build unistr.h from unistr.in.h.
22702         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
22703         Add m4/libunistring-base.m4.
22704         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22705         (Makefile.am): Build unitypes.h from unitypes.in.h.
22706         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
22707         Add m4/libunistring-base.m4.
22708         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22709         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
22710         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
22711         uniwidth.h. Add m4/libunistring-base.m4.
22712         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22713         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
22714         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
22715         instead of augmenting lib_SOURCES.
22716         * modules/unicase/empty-suffix-context: Likewise.
22717         * modules/unicase/locale-language: Likewise.
22718         * modules/unicase/tolower: Likewise.
22719         * modules/unicase/totitle: Likewise.
22720         * modules/unicase/toupper: Likewise.
22721         * modules/unicase/u8-casecmp: Likewise.
22722         * modules/unicase/u8-casecoll: Likewise.
22723         * modules/unicase/u8-casefold: Likewise.
22724         * modules/unicase/u8-casexfrm: Likewise.
22725         * modules/unicase/u8-ct-casefold: Likewise.
22726         * modules/unicase/u8-ct-tolower: Likewise.
22727         * modules/unicase/u8-ct-totitle: Likewise.
22728         * modules/unicase/u8-ct-toupper: Likewise.
22729         * modules/unicase/u8-is-cased: Likewise.
22730         * modules/unicase/u8-is-casefolded: Likewise.
22731         * modules/unicase/u8-is-lowercase: Likewise.
22732         * modules/unicase/u8-is-titlecase: Likewise.
22733         * modules/unicase/u8-is-uppercase: Likewise.
22734         * modules/unicase/u8-prefix-context: Likewise.
22735         * modules/unicase/u8-suffix-context: Likewise.
22736         * modules/unicase/u8-tolower: Likewise.
22737         * modules/unicase/u8-totitle: Likewise.
22738         * modules/unicase/u8-toupper: Likewise.
22739         * modules/unicase/u16-casecmp: Likewise.
22740         * modules/unicase/u16-casecoll: Likewise.
22741         * modules/unicase/u16-casefold: Likewise.
22742         * modules/unicase/u16-casexfrm: Likewise.
22743         * modules/unicase/u16-ct-casefold: Likewise.
22744         * modules/unicase/u16-ct-tolower: Likewise.
22745         * modules/unicase/u16-ct-totitle: Likewise.
22746         * modules/unicase/u16-ct-toupper: Likewise.
22747         * modules/unicase/u16-is-cased: Likewise.
22748         * modules/unicase/u16-is-casefolded: Likewise.
22749         * modules/unicase/u16-is-lowercase: Likewise.
22750         * modules/unicase/u16-is-titlecase: Likewise.
22751         * modules/unicase/u16-is-uppercase: Likewise.
22752         * modules/unicase/u16-prefix-context: Likewise.
22753         * modules/unicase/u16-suffix-context: Likewise.
22754         * modules/unicase/u16-tolower: Likewise.
22755         * modules/unicase/u16-totitle: Likewise.
22756         * modules/unicase/u16-toupper: Likewise.
22757         * modules/unicase/u32-casecmp: Likewise.
22758         * modules/unicase/u32-casecoll: Likewise.
22759         * modules/unicase/u32-casefold: Likewise.
22760         * modules/unicase/u32-casexfrm: Likewise.
22761         * modules/unicase/u32-ct-casefold: Likewise.
22762         * modules/unicase/u32-ct-tolower: Likewise.
22763         * modules/unicase/u32-ct-totitle: Likewise.
22764         * modules/unicase/u32-ct-toupper: Likewise.
22765         * modules/unicase/u32-is-cased: Likewise.
22766         * modules/unicase/u32-is-casefolded: Likewise.
22767         * modules/unicase/u32-is-lowercase: Likewise.
22768         * modules/unicase/u32-is-titlecase: Likewise.
22769         * modules/unicase/u32-is-uppercase: Likewise.
22770         * modules/unicase/u32-prefix-context: Likewise.
22771         * modules/unicase/u32-suffix-context: Likewise.
22772         * modules/unicase/u32-tolower: Likewise.
22773         * modules/unicase/u32-totitle: Likewise.
22774         * modules/unicase/u32-toupper: Likewise.
22775         * modules/unicase/ulc-casecmp: Likewise.
22776         * modules/unicase/ulc-casecoll: Likewise.
22777         * modules/unicase/ulc-casexfrm: Likewise.
22778         * modules/uniconv/u8-conv-from-enc: Likewise.
22779         * modules/uniconv/u8-conv-to-enc: Likewise.
22780         * modules/uniconv/u8-strconv-from-enc: Likewise.
22781         * modules/uniconv/u8-strconv-from-locale: Likewise.
22782         * modules/uniconv/u8-strconv-to-enc: Likewise.
22783         * modules/uniconv/u8-strconv-to-locale: Likewise.
22784         * modules/uniconv/u16-conv-from-enc: Likewise.
22785         * modules/uniconv/u16-conv-to-enc: Likewise.
22786         * modules/uniconv/u16-strconv-from-enc: Likewise.
22787         * modules/uniconv/u16-strconv-from-locale: Likewise.
22788         * modules/uniconv/u16-strconv-to-enc: Likewise.
22789         * modules/uniconv/u16-strconv-to-locale: Likewise.
22790         * modules/uniconv/u32-conv-from-enc: Likewise.
22791         * modules/uniconv/u32-conv-to-enc: Likewise.
22792         * modules/uniconv/u32-strconv-from-enc: Likewise.
22793         * modules/uniconv/u32-strconv-from-locale: Likewise.
22794         * modules/uniconv/u32-strconv-to-enc: Likewise.
22795         * modules/uniconv/u32-strconv-to-locale: Likewise.
22796         * modules/unictype/bidicategory-byname: Likewise.
22797         * modules/unictype/bidicategory-name: Likewise.
22798         * modules/unictype/bidicategory-of: Likewise.
22799         * modules/unictype/bidicategory-test: Likewise.
22800         * modules/unictype/block-list: Likewise.
22801         * modules/unictype/block-test: Likewise.
22802         * modules/unictype/category-C: Likewise.
22803         * modules/unictype/category-Cc: Likewise.
22804         * modules/unictype/category-Cf: Likewise.
22805         * modules/unictype/category-Cn: Likewise.
22806         * modules/unictype/category-Co: Likewise.
22807         * modules/unictype/category-Cs: Likewise.
22808         * modules/unictype/category-L: Likewise.
22809         * modules/unictype/category-Ll: Likewise.
22810         * modules/unictype/category-Lm: Likewise.
22811         * modules/unictype/category-Lo: Likewise.
22812         * modules/unictype/category-Lt: Likewise.
22813         * modules/unictype/category-Lu: Likewise.
22814         * modules/unictype/category-M: Likewise.
22815         * modules/unictype/category-Mc: Likewise.
22816         * modules/unictype/category-Me: Likewise.
22817         * modules/unictype/category-Mn: Likewise.
22818         * modules/unictype/category-N: Likewise.
22819         * modules/unictype/category-Nd: Likewise.
22820         * modules/unictype/category-Nl: Likewise.
22821         * modules/unictype/category-No: Likewise.
22822         * modules/unictype/category-P: Likewise.
22823         * modules/unictype/category-Pc: Likewise.
22824         * modules/unictype/category-Pd: Likewise.
22825         * modules/unictype/category-Pe: Likewise.
22826         * modules/unictype/category-Pf: Likewise.
22827         * modules/unictype/category-Pi: Likewise.
22828         * modules/unictype/category-Po: Likewise.
22829         * modules/unictype/category-Ps: Likewise.
22830         * modules/unictype/category-S: Likewise.
22831         * modules/unictype/category-Sc: Likewise.
22832         * modules/unictype/category-Sk: Likewise.
22833         * modules/unictype/category-Sm: Likewise.
22834         * modules/unictype/category-So: Likewise.
22835         * modules/unictype/category-Z: Likewise.
22836         * modules/unictype/category-Zl: Likewise.
22837         * modules/unictype/category-Zp: Likewise.
22838         * modules/unictype/category-Zs: Likewise.
22839         * modules/unictype/category-and: Likewise.
22840         * modules/unictype/category-and-not: Likewise.
22841         * modules/unictype/category-byname: Likewise.
22842         * modules/unictype/category-name: Likewise.
22843         * modules/unictype/category-none: Likewise.
22844         * modules/unictype/category-of: Likewise.
22845         * modules/unictype/category-or: Likewise.
22846         * modules/unictype/category-test: Likewise.
22847         * modules/unictype/combining-class: Likewise.
22848         * modules/unictype/ctype-alnum: Likewise.
22849         * modules/unictype/ctype-alpha: Likewise.
22850         * modules/unictype/ctype-blank: Likewise.
22851         * modules/unictype/ctype-cntrl: Likewise.
22852         * modules/unictype/ctype-digit: Likewise.
22853         * modules/unictype/ctype-graph: Likewise.
22854         * modules/unictype/ctype-lower: Likewise.
22855         * modules/unictype/ctype-print: Likewise.
22856         * modules/unictype/ctype-punct: Likewise.
22857         * modules/unictype/ctype-space: Likewise.
22858         * modules/unictype/ctype-upper: Likewise.
22859         * modules/unictype/ctype-xdigit: Likewise.
22860         * modules/unictype/decimal-digit: Likewise.
22861         * modules/unictype/digit: Likewise.
22862         * modules/unictype/mirror: Likewise.
22863         * modules/unictype/numeric: Likewise.
22864         * modules/unictype/property-alphabetic: Likewise.
22865         * modules/unictype/property-ascii-hex-digit: Likewise.
22866         * modules/unictype/property-bidi-arabic-digit: Likewise.
22867         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22868         * modules/unictype/property-bidi-block-separator: Likewise.
22869         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22870         * modules/unictype/property-bidi-common-separator: Likewise.
22871         * modules/unictype/property-bidi-control: Likewise.
22872         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22873         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22874         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22875         * modules/unictype/property-bidi-european-digit: Likewise.
22876         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22877         * modules/unictype/property-bidi-left-to-right: Likewise.
22878         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22879         * modules/unictype/property-bidi-other-neutral: Likewise.
22880         * modules/unictype/property-bidi-pdf: Likewise.
22881         * modules/unictype/property-bidi-segment-separator: Likewise.
22882         * modules/unictype/property-bidi-whitespace: Likewise.
22883         * modules/unictype/property-byname: Likewise.
22884         * modules/unictype/property-combining: Likewise.
22885         * modules/unictype/property-composite: Likewise.
22886         * modules/unictype/property-currency-symbol: Likewise.
22887         * modules/unictype/property-dash: Likewise.
22888         * modules/unictype/property-decimal-digit: Likewise.
22889         * modules/unictype/property-default-ignorable-code-point: Likewise.
22890         * modules/unictype/property-deprecated: Likewise.
22891         * modules/unictype/property-diacritic: Likewise.
22892         * modules/unictype/property-extender: Likewise.
22893         * modules/unictype/property-format-control: Likewise.
22894         * modules/unictype/property-grapheme-base: Likewise.
22895         * modules/unictype/property-grapheme-extend: Likewise.
22896         * modules/unictype/property-grapheme-link: Likewise.
22897         * modules/unictype/property-hex-digit: Likewise.
22898         * modules/unictype/property-hyphen: Likewise.
22899         * modules/unictype/property-id-continue: Likewise.
22900         * modules/unictype/property-id-start: Likewise.
22901         * modules/unictype/property-ideographic: Likewise.
22902         * modules/unictype/property-ids-binary-operator: Likewise.
22903         * modules/unictype/property-ids-trinary-operator: Likewise.
22904         * modules/unictype/property-ignorable-control: Likewise.
22905         * modules/unictype/property-iso-control: Likewise.
22906         * modules/unictype/property-join-control: Likewise.
22907         * modules/unictype/property-left-of-pair: Likewise.
22908         * modules/unictype/property-line-separator: Likewise.
22909         * modules/unictype/property-logical-order-exception: Likewise.
22910         * modules/unictype/property-lowercase: Likewise.
22911         * modules/unictype/property-math: Likewise.
22912         * modules/unictype/property-non-break: Likewise.
22913         * modules/unictype/property-not-a-character: Likewise.
22914         * modules/unictype/property-numeric: Likewise.
22915         * modules/unictype/property-other-alphabetic: Likewise.
22916         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22917         * modules/unictype/property-other-grapheme-extend: Likewise.
22918         * modules/unictype/property-other-id-continue: Likewise.
22919         * modules/unictype/property-other-id-start: Likewise.
22920         * modules/unictype/property-other-lowercase: Likewise.
22921         * modules/unictype/property-other-math: Likewise.
22922         * modules/unictype/property-other-uppercase: Likewise.
22923         * modules/unictype/property-paired-punctuation: Likewise.
22924         * modules/unictype/property-paragraph-separator: Likewise.
22925         * modules/unictype/property-pattern-syntax: Likewise.
22926         * modules/unictype/property-pattern-white-space: Likewise.
22927         * modules/unictype/property-private-use: Likewise.
22928         * modules/unictype/property-punctuation: Likewise.
22929         * modules/unictype/property-quotation-mark: Likewise.
22930         * modules/unictype/property-radical: Likewise.
22931         * modules/unictype/property-sentence-terminal: Likewise.
22932         * modules/unictype/property-soft-dotted: Likewise.
22933         * modules/unictype/property-space: Likewise.
22934         * modules/unictype/property-terminal-punctuation: Likewise.
22935         * modules/unictype/property-test: Likewise.
22936         * modules/unictype/property-titlecase: Likewise.
22937         * modules/unictype/property-unassigned-code-value: Likewise.
22938         * modules/unictype/property-unified-ideograph: Likewise.
22939         * modules/unictype/property-uppercase: Likewise.
22940         * modules/unictype/property-variation-selector: Likewise.
22941         * modules/unictype/property-white-space: Likewise.
22942         * modules/unictype/property-xid-continue: Likewise.
22943         * modules/unictype/property-xid-start: Likewise.
22944         * modules/unictype/property-zero-width: Likewise.
22945         * modules/unictype/scripts: Likewise.
22946         * modules/unictype/syntax-c-ident: Likewise.
22947         * modules/unictype/syntax-c-whitespace: Likewise.
22948         * modules/unictype/syntax-java-ident: Likewise.
22949         * modules/unictype/syntax-java-whitespace: Likewise.
22950         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22951         * modules/unilbrk/u8-width-linebreaks: Likewise.
22952         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22953         * modules/unilbrk/u16-width-linebreaks: Likewise.
22954         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22955         * modules/unilbrk/u32-width-linebreaks: Likewise.
22956         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22957         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22958         * modules/uniname/uniname: Likewise.
22959         * modules/uninorm/canonical-decomposition: Likewise.
22960         * modules/uninorm/composition: Likewise.
22961         * modules/uninorm/decomposing-form: Likewise.
22962         * modules/uninorm/decomposition: Likewise.
22963         * modules/uninorm/filter: Likewise.
22964         * modules/uninorm/nfc: Likewise.
22965         * modules/uninorm/nfd: Likewise.
22966         * modules/uninorm/nfkc: Likewise.
22967         * modules/uninorm/nfkd: Likewise.
22968         * modules/uninorm/u8-normalize: Likewise.
22969         * modules/uninorm/u8-normcmp: Likewise.
22970         * modules/uninorm/u8-normcoll: Likewise.
22971         * modules/uninorm/u8-normxfrm: Likewise.
22972         * modules/uninorm/u16-normalize: Likewise.
22973         * modules/uninorm/u16-normcmp: Likewise.
22974         * modules/uninorm/u16-normcoll: Likewise.
22975         * modules/uninorm/u16-normxfrm: Likewise.
22976         * modules/uninorm/u32-normalize: Likewise.
22977         * modules/uninorm/u32-normcmp: Likewise.
22978         * modules/uninorm/u32-normcoll: Likewise.
22979         * modules/uninorm/u32-normxfrm: Likewise.
22980         * modules/unistdio/u8-asnprintf: Likewise.
22981         * modules/unistdio/u8-asprintf: Likewise.
22982         * modules/unistdio/u8-snprintf: Likewise.
22983         * modules/unistdio/u8-sprintf: Likewise.
22984         * modules/unistdio/u8-u8-asnprintf: Likewise.
22985         * modules/unistdio/u8-u8-asprintf: Likewise.
22986         * modules/unistdio/u8-u8-snprintf: Likewise.
22987         * modules/unistdio/u8-u8-sprintf: Likewise.
22988         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22989         * modules/unistdio/u8-u8-vasprintf: Likewise.
22990         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22991         * modules/unistdio/u8-u8-vsprintf: Likewise.
22992         * modules/unistdio/u8-vasnprintf: Likewise.
22993         * modules/unistdio/u8-vasprintf: Likewise.
22994         * modules/unistdio/u8-vsnprintf: Likewise.
22995         * modules/unistdio/u8-vsprintf: Likewise.
22996         * modules/unistdio/u16-asnprintf: Likewise.
22997         * modules/unistdio/u16-asprintf: Likewise.
22998         * modules/unistdio/u16-snprintf: Likewise.
22999         * modules/unistdio/u16-sprintf: Likewise.
23000         * modules/unistdio/u16-u16-asnprintf: Likewise.
23001         * modules/unistdio/u16-u16-asprintf: Likewise.
23002         * modules/unistdio/u16-u16-snprintf: Likewise.
23003         * modules/unistdio/u16-u16-sprintf: Likewise.
23004         * modules/unistdio/u16-u16-vasnprintf: Likewise.
23005         * modules/unistdio/u16-u16-vasprintf: Likewise.
23006         * modules/unistdio/u16-u16-vsnprintf: Likewise.
23007         * modules/unistdio/u16-u16-vsprintf: Likewise.
23008         * modules/unistdio/u16-vasnprintf: Likewise.
23009         * modules/unistdio/u16-vasprintf: Likewise.
23010         * modules/unistdio/u16-vsnprintf: Likewise.
23011         * modules/unistdio/u16-vsprintf: Likewise.
23012         * modules/unistdio/u32-asnprintf: Likewise.
23013         * modules/unistdio/u32-asprintf: Likewise.
23014         * modules/unistdio/u32-snprintf: Likewise.
23015         * modules/unistdio/u32-sprintf: Likewise.
23016         * modules/unistdio/u32-u32-asnprintf: Likewise.
23017         * modules/unistdio/u32-u32-asprintf: Likewise.
23018         * modules/unistdio/u32-u32-snprintf: Likewise.
23019         * modules/unistdio/u32-u32-sprintf: Likewise.
23020         * modules/unistdio/u32-u32-vasnprintf: Likewise.
23021         * modules/unistdio/u32-u32-vasprintf: Likewise.
23022         * modules/unistdio/u32-u32-vsnprintf: Likewise.
23023         * modules/unistdio/u32-u32-vsprintf: Likewise.
23024         * modules/unistdio/u32-vasnprintf: Likewise.
23025         * modules/unistdio/u32-vasprintf: Likewise.
23026         * modules/unistdio/u32-vsnprintf: Likewise.
23027         * modules/unistdio/u32-vsprintf: Likewise.
23028         * modules/unistdio/ulc-asnprintf: Likewise.
23029         * modules/unistdio/ulc-asprintf: Likewise.
23030         * modules/unistdio/ulc-fprintf: Likewise.
23031         * modules/unistdio/ulc-snprintf: Likewise.
23032         * modules/unistdio/ulc-sprintf: Likewise.
23033         * modules/unistdio/ulc-vasnprintf: Likewise.
23034         * modules/unistdio/ulc-vasprintf: Likewise.
23035         * modules/unistdio/ulc-vfprintf: Likewise.
23036         * modules/unistdio/ulc-vsnprintf: Likewise.
23037         * modules/unistdio/ulc-vsprintf: Likewise.
23038         * modules/unistr/u8-check: Likewise.
23039         * modules/unistr/u8-chr: Likewise.
23040         * modules/unistr/u8-cmp: Likewise.
23041         * modules/unistr/u8-cmp2: Likewise.
23042         * modules/unistr/u8-cpy: Likewise.
23043         * modules/unistr/u8-cpy-alloc: Likewise.
23044         * modules/unistr/u8-endswith: Likewise.
23045         * modules/unistr/u8-mblen: Likewise.
23046         * modules/unistr/u8-mbsnlen: Likewise.
23047         * modules/unistr/u8-mbtouc: Likewise.
23048         * modules/unistr/u8-mbtouc-unsafe: Likewise.
23049         * modules/unistr/u8-mbtoucr: Likewise.
23050         * modules/unistr/u8-move: Likewise.
23051         * modules/unistr/u8-next: Likewise.
23052         * modules/unistr/u8-prev: Likewise.
23053         * modules/unistr/u8-set: Likewise.
23054         * modules/unistr/u8-startswith: Likewise.
23055         * modules/unistr/u8-stpcpy: Likewise.
23056         * modules/unistr/u8-stpncpy: Likewise.
23057         * modules/unistr/u8-strcat: Likewise.
23058         * modules/unistr/u8-strchr: Likewise.
23059         * modules/unistr/u8-strcmp: Likewise.
23060         * modules/unistr/u8-strcoll: Likewise.
23061         * modules/unistr/u8-strcpy: Likewise.
23062         * modules/unistr/u8-strcspn: Likewise.
23063         * modules/unistr/u8-strdup: Likewise.
23064         * modules/unistr/u8-strlen: Likewise.
23065         * modules/unistr/u8-strmblen: Likewise.
23066         * modules/unistr/u8-strmbtouc: Likewise.
23067         * modules/unistr/u8-strncat: Likewise.
23068         * modules/unistr/u8-strncmp: Likewise.
23069         * modules/unistr/u8-strncpy: Likewise.
23070         * modules/unistr/u8-strnlen: Likewise.
23071         * modules/unistr/u8-strpbrk: Likewise.
23072         * modules/unistr/u8-strrchr: Likewise.
23073         * modules/unistr/u8-strspn: Likewise.
23074         * modules/unistr/u8-strstr: Likewise.
23075         * modules/unistr/u8-strtok: Likewise.
23076         * modules/unistr/u8-to-u16: Likewise.
23077         * modules/unistr/u8-to-u32: Likewise.
23078         * modules/unistr/u8-uctomb: Likewise.
23079         * modules/unistr/u16-check: Likewise.
23080         * modules/unistr/u16-chr: Likewise.
23081         * modules/unistr/u16-cmp: Likewise.
23082         * modules/unistr/u16-cmp2: Likewise.
23083         * modules/unistr/u16-cpy: Likewise.
23084         * modules/unistr/u16-cpy-alloc: Likewise.
23085         * modules/unistr/u16-endswith: Likewise.
23086         * modules/unistr/u16-mblen: Likewise.
23087         * modules/unistr/u16-mbsnlen: Likewise.
23088         * modules/unistr/u16-mbtouc: Likewise.
23089         * modules/unistr/u16-mbtouc-unsafe: Likewise.
23090         * modules/unistr/u16-mbtoucr: Likewise.
23091         * modules/unistr/u16-move: Likewise.
23092         * modules/unistr/u16-next: Likewise.
23093         * modules/unistr/u16-prev: Likewise.
23094         * modules/unistr/u16-set: Likewise.
23095         * modules/unistr/u16-startswith: Likewise.
23096         * modules/unistr/u16-stpcpy: Likewise.
23097         * modules/unistr/u16-stpncpy: Likewise.
23098         * modules/unistr/u16-strcat: Likewise.
23099         * modules/unistr/u16-strchr: Likewise.
23100         * modules/unistr/u16-strcmp: Likewise.
23101         * modules/unistr/u16-strcoll: Likewise.
23102         * modules/unistr/u16-strcpy: Likewise.
23103         * modules/unistr/u16-strcspn: Likewise.
23104         * modules/unistr/u16-strdup: Likewise.
23105         * modules/unistr/u16-strlen: Likewise.
23106         * modules/unistr/u16-strmblen: Likewise.
23107         * modules/unistr/u16-strmbtouc: Likewise.
23108         * modules/unistr/u16-strncat: Likewise.
23109         * modules/unistr/u16-strncmp: Likewise.
23110         * modules/unistr/u16-strncpy: Likewise.
23111         * modules/unistr/u16-strnlen: Likewise.
23112         * modules/unistr/u16-strpbrk: Likewise.
23113         * modules/unistr/u16-strrchr: Likewise.
23114         * modules/unistr/u16-strspn: Likewise.
23115         * modules/unistr/u16-strstr: Likewise.
23116         * modules/unistr/u16-strtok: Likewise.
23117         * modules/unistr/u16-to-u32: Likewise.
23118         * modules/unistr/u16-to-u8: Likewise.
23119         * modules/unistr/u16-uctomb: Likewise.
23120         * modules/unistr/u32-check: Likewise.
23121         * modules/unistr/u32-chr: Likewise.
23122         * modules/unistr/u32-cmp: Likewise.
23123         * modules/unistr/u32-cmp2: Likewise.
23124         * modules/unistr/u32-cpy: Likewise.
23125         * modules/unistr/u32-cpy-alloc: Likewise.
23126         * modules/unistr/u32-endswith: Likewise.
23127         * modules/unistr/u32-mblen: Likewise.
23128         * modules/unistr/u32-mbsnlen: Likewise.
23129         * modules/unistr/u32-mbtouc: Likewise.
23130         * modules/unistr/u32-mbtouc-unsafe: Likewise.
23131         * modules/unistr/u32-mbtoucr: Likewise.
23132         * modules/unistr/u32-move: Likewise.
23133         * modules/unistr/u32-next: Likewise.
23134         * modules/unistr/u32-prev: Likewise.
23135         * modules/unistr/u32-set: Likewise.
23136         * modules/unistr/u32-startswith: Likewise.
23137         * modules/unistr/u32-stpcpy: Likewise.
23138         * modules/unistr/u32-stpncpy: Likewise.
23139         * modules/unistr/u32-strcat: Likewise.
23140         * modules/unistr/u32-strchr: Likewise.
23141         * modules/unistr/u32-strcmp: Likewise.
23142         * modules/unistr/u32-strcoll: Likewise.
23143         * modules/unistr/u32-strcpy: Likewise.
23144         * modules/unistr/u32-strcspn: Likewise.
23145         * modules/unistr/u32-strdup: Likewise.
23146         * modules/unistr/u32-strlen: Likewise.
23147         * modules/unistr/u32-strmblen: Likewise.
23148         * modules/unistr/u32-strmbtouc: Likewise.
23149         * modules/unistr/u32-strncat: Likewise.
23150         * modules/unistr/u32-strncmp: Likewise.
23151         * modules/unistr/u32-strncpy: Likewise.
23152         * modules/unistr/u32-strnlen: Likewise.
23153         * modules/unistr/u32-strpbrk: Likewise.
23154         * modules/unistr/u32-strrchr: Likewise.
23155         * modules/unistr/u32-strspn: Likewise.
23156         * modules/unistr/u32-strstr: Likewise.
23157         * modules/unistr/u32-strtok: Likewise.
23158         * modules/unistr/u32-to-u16: Likewise.
23159         * modules/unistr/u32-to-u8: Likewise.
23160         * modules/unistr/u32-uctomb: Likewise.
23161         * modules/uniwbrk/u8-wordbreaks: Likewise.
23162         * modules/uniwbrk/u16-wordbreaks: Likewise.
23163         * modules/uniwbrk/u32-wordbreaks: Likewise.
23164         * modules/uniwbrk/ulc-wordbreaks: Likewise.
23165         * modules/uniwbrk/wordbreak-property: Likewise.
23166         * modules/uniwidth/u8-strwidth: Likewise.
23167         * modules/uniwidth/u8-width: Likewise.
23168         * modules/uniwidth/u16-strwidth: Likewise.
23169         * modules/uniwidth/u16-width: Likewise.
23170         * modules/uniwidth/u32-strwidth: Likewise.
23171         * modules/uniwidth/u32-width: Likewise.
23172         * modules/uniwidth/width: Likewise.
23173         * modules/unicase/cased-tests (Makefile.am): Link all test programs
23174         with $(LIBUNISTRING).
23175         * modules/unicase/ignorable-tests: Likewise.
23176         * modules/unicase/locale-language-tests: Likewise.
23177         * modules/unicase/tolower-tests: Likewise.
23178         * modules/unicase/totitle-tests: Likewise.
23179         * modules/unicase/toupper-tests: Likewise.
23180         * modules/unicase/u8-casecmp-tests: Likewise.
23181         * modules/unicase/u8-casecoll-tests: Likewise.
23182         * modules/unicase/u8-casefold-tests: Likewise.
23183         * modules/unicase/u8-is-cased-tests: Likewise.
23184         * modules/unicase/u8-is-casefolded-tests: Likewise.
23185         * modules/unicase/u8-is-lowercase-tests: Likewise.
23186         * modules/unicase/u8-is-titlecase-tests: Likewise.
23187         * modules/unicase/u8-is-uppercase-tests: Likewise.
23188         * modules/unicase/u8-tolower-tests: Likewise.
23189         * modules/unicase/u8-totitle-tests: Likewise.
23190         * modules/unicase/u8-toupper-tests: Likewise.
23191         * modules/unicase/u16-casecmp-tests: Likewise.
23192         * modules/unicase/u16-casecoll-tests: Likewise.
23193         * modules/unicase/u16-casefold-tests: Likewise.
23194         * modules/unicase/u16-is-cased-tests: Likewise.
23195         * modules/unicase/u16-is-casefolded-tests: Likewise.
23196         * modules/unicase/u16-is-lowercase-tests: Likewise.
23197         * modules/unicase/u16-is-titlecase-tests: Likewise.
23198         * modules/unicase/u16-is-uppercase-tests: Likewise.
23199         * modules/unicase/u16-tolower-tests: Likewise.
23200         * modules/unicase/u16-totitle-tests: Likewise.
23201         * modules/unicase/u16-toupper-tests: Likewise.
23202         * modules/unicase/u32-casecmp-tests: Likewise.
23203         * modules/unicase/u32-casecoll-tests: Likewise.
23204         * modules/unicase/u32-casefold-tests: Likewise.
23205         * modules/unicase/u32-is-cased-tests: Likewise.
23206         * modules/unicase/u32-is-casefolded-tests: Likewise.
23207         * modules/unicase/u32-is-lowercase-tests: Likewise.
23208         * modules/unicase/u32-is-titlecase-tests: Likewise.
23209         * modules/unicase/u32-is-uppercase-tests: Likewise.
23210         * modules/unicase/u32-tolower-tests: Likewise.
23211         * modules/unicase/u32-totitle-tests: Likewise.
23212         * modules/unicase/u32-toupper-tests: Likewise.
23213         * modules/unicase/ulc-casecmp-tests: Likewise.
23214         * modules/unicase/ulc-casecoll-tests: Likewise.
23215         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
23216         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
23217         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
23218         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
23219         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
23220         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
23221         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
23222         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
23223         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
23224         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
23225         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
23226         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
23227         * modules/unictype/bidicategory-byname-tests: Likewise.
23228         * modules/unictype/bidicategory-name-tests: Likewise.
23229         * modules/unictype/bidicategory-of-tests: Likewise.
23230         * modules/unictype/bidicategory-test-tests: Likewise.
23231         * modules/unictype/block-list-tests: Likewise.
23232         * modules/unictype/block-of-tests: Likewise.
23233         * modules/unictype/block-test-tests: Likewise.
23234         * modules/unictype/category-C-tests: Likewise.
23235         * modules/unictype/category-Cc-tests: Likewise.
23236         * modules/unictype/category-Cf-tests: Likewise.
23237         * modules/unictype/category-Cn-tests: Likewise.
23238         * modules/unictype/category-Co-tests: Likewise.
23239         * modules/unictype/category-Cs-tests: Likewise.
23240         * modules/unictype/category-L-tests: Likewise.
23241         * modules/unictype/category-Ll-tests: Likewise.
23242         * modules/unictype/category-Lm-tests: Likewise.
23243         * modules/unictype/category-Lo-tests: Likewise.
23244         * modules/unictype/category-Lt-tests: Likewise.
23245         * modules/unictype/category-Lu-tests: Likewise.
23246         * modules/unictype/category-M-tests: Likewise.
23247         * modules/unictype/category-Mc-tests: Likewise.
23248         * modules/unictype/category-Me-tests: Likewise.
23249         * modules/unictype/category-Mn-tests: Likewise.
23250         * modules/unictype/category-N-tests: Likewise.
23251         * modules/unictype/category-Nd-tests: Likewise.
23252         * modules/unictype/category-Nl-tests: Likewise.
23253         * modules/unictype/category-No-tests: Likewise.
23254         * modules/unictype/category-P-tests: Likewise.
23255         * modules/unictype/category-Pc-tests: Likewise.
23256         * modules/unictype/category-Pd-tests: Likewise.
23257         * modules/unictype/category-Pe-tests: Likewise.
23258         * modules/unictype/category-Pf-tests: Likewise.
23259         * modules/unictype/category-Pi-tests: Likewise.
23260         * modules/unictype/category-Po-tests: Likewise.
23261         * modules/unictype/category-Ps-tests: Likewise.
23262         * modules/unictype/category-S-tests: Likewise.
23263         * modules/unictype/category-Sc-tests: Likewise.
23264         * modules/unictype/category-Sk-tests: Likewise.
23265         * modules/unictype/category-Sm-tests: Likewise.
23266         * modules/unictype/category-So-tests: Likewise.
23267         * modules/unictype/category-Z-tests: Likewise.
23268         * modules/unictype/category-Zl-tests: Likewise.
23269         * modules/unictype/category-Zp-tests: Likewise.
23270         * modules/unictype/category-Zs-tests: Likewise.
23271         * modules/unictype/category-and-not-tests: Likewise.
23272         * modules/unictype/category-and-tests: Likewise.
23273         * modules/unictype/category-byname-tests: Likewise.
23274         * modules/unictype/category-name-tests: Likewise.
23275         * modules/unictype/category-none-tests: Likewise.
23276         * modules/unictype/category-of-tests: Likewise.
23277         * modules/unictype/category-or-tests: Likewise.
23278         * modules/unictype/category-test-withtable-tests: Likewise.
23279         * modules/unictype/combining-class-tests: Likewise.
23280         * modules/unictype/ctype-alnum-tests: Likewise.
23281         * modules/unictype/ctype-alpha-tests: Likewise.
23282         * modules/unictype/ctype-blank-tests: Likewise.
23283         * modules/unictype/ctype-cntrl-tests: Likewise.
23284         * modules/unictype/ctype-digit-tests: Likewise.
23285         * modules/unictype/ctype-graph-tests: Likewise.
23286         * modules/unictype/ctype-lower-tests: Likewise.
23287         * modules/unictype/ctype-print-tests: Likewise.
23288         * modules/unictype/ctype-punct-tests: Likewise.
23289         * modules/unictype/ctype-space-tests: Likewise.
23290         * modules/unictype/ctype-upper-tests: Likewise.
23291         * modules/unictype/ctype-xdigit-tests: Likewise.
23292         * modules/unictype/decimal-digit-tests: Likewise.
23293         * modules/unictype/digit-tests: Likewise.
23294         * modules/unictype/mirror-tests: Likewise.
23295         * modules/unictype/numeric-tests: Likewise.
23296         * modules/unictype/property-alphabetic-tests: Likewise.
23297         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
23298         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
23299         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
23300         * modules/unictype/property-bidi-block-separator-tests: Likewise.
23301         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
23302         * modules/unictype/property-bidi-common-separator-tests: Likewise.
23303         * modules/unictype/property-bidi-control-tests: Likewise.
23304         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
23305         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
23306         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
23307         * modules/unictype/property-bidi-european-digit-tests: Likewise.
23308         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
23309         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
23310         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
23311         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
23312         * modules/unictype/property-bidi-pdf-tests: Likewise.
23313         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
23314         * modules/unictype/property-bidi-whitespace-tests: Likewise.
23315         * modules/unictype/property-byname-tests: Likewise.
23316         * modules/unictype/property-combining-tests: Likewise.
23317         * modules/unictype/property-composite-tests: Likewise.
23318         * modules/unictype/property-currency-symbol-tests: Likewise.
23319         * modules/unictype/property-dash-tests: Likewise.
23320         * modules/unictype/property-decimal-digit-tests: Likewise.
23321         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
23322         * modules/unictype/property-deprecated-tests: Likewise.
23323         * modules/unictype/property-diacritic-tests: Likewise.
23324         * modules/unictype/property-extender-tests: Likewise.
23325         * modules/unictype/property-format-control-tests: Likewise.
23326         * modules/unictype/property-grapheme-base-tests: Likewise.
23327         * modules/unictype/property-grapheme-extend-tests: Likewise.
23328         * modules/unictype/property-grapheme-link-tests: Likewise.
23329         * modules/unictype/property-hex-digit-tests: Likewise.
23330         * modules/unictype/property-hyphen-tests: Likewise.
23331         * modules/unictype/property-id-continue-tests: Likewise.
23332         * modules/unictype/property-id-start-tests: Likewise.
23333         * modules/unictype/property-ideographic-tests: Likewise.
23334         * modules/unictype/property-ids-binary-operator-tests: Likewise.
23335         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
23336         * modules/unictype/property-ignorable-control-tests: Likewise.
23337         * modules/unictype/property-iso-control-tests: Likewise.
23338         * modules/unictype/property-join-control-tests: Likewise.
23339         * modules/unictype/property-left-of-pair-tests: Likewise.
23340         * modules/unictype/property-line-separator-tests: Likewise.
23341         * modules/unictype/property-logical-order-exception-tests: Likewise.
23342         * modules/unictype/property-lowercase-tests: Likewise.
23343         * modules/unictype/property-math-tests: Likewise.
23344         * modules/unictype/property-non-break-tests: Likewise.
23345         * modules/unictype/property-not-a-character-tests: Likewise.
23346         * modules/unictype/property-numeric-tests: Likewise.
23347         * modules/unictype/property-other-alphabetic-tests: Likewise.
23348         * modules/unictype/property-other-default-ignorable-code-point-tests:
23349         Likewise.
23350         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
23351         * modules/unictype/property-other-id-continue-tests: Likewise.
23352         * modules/unictype/property-other-id-start-tests: Likewise.
23353         * modules/unictype/property-other-lowercase-tests: Likewise.
23354         * modules/unictype/property-other-math-tests: Likewise.
23355         * modules/unictype/property-other-uppercase-tests: Likewise.
23356         * modules/unictype/property-paired-punctuation-tests: Likewise.
23357         * modules/unictype/property-paragraph-separator-tests: Likewise.
23358         * modules/unictype/property-pattern-syntax-tests: Likewise.
23359         * modules/unictype/property-pattern-white-space-tests: Likewise.
23360         * modules/unictype/property-private-use-tests: Likewise.
23361         * modules/unictype/property-punctuation-tests: Likewise.
23362         * modules/unictype/property-quotation-mark-tests: Likewise.
23363         * modules/unictype/property-radical-tests: Likewise.
23364         * modules/unictype/property-sentence-terminal-tests: Likewise.
23365         * modules/unictype/property-soft-dotted-tests: Likewise.
23366         * modules/unictype/property-space-tests: Likewise.
23367         * modules/unictype/property-terminal-punctuation-tests: Likewise.
23368         * modules/unictype/property-test-tests: Likewise.
23369         * modules/unictype/property-titlecase-tests: Likewise.
23370         * modules/unictype/property-unassigned-code-value-tests: Likewise.
23371         * modules/unictype/property-unified-ideograph-tests: Likewise.
23372         * modules/unictype/property-uppercase-tests: Likewise.
23373         * modules/unictype/property-variation-selector-tests: Likewise.
23374         * modules/unictype/property-white-space-tests: Likewise.
23375         * modules/unictype/property-xid-continue-tests: Likewise.
23376         * modules/unictype/property-xid-start-tests: Likewise.
23377         * modules/unictype/property-zero-width-tests: Likewise.
23378         * modules/unictype/scripts-tests: Likewise.
23379         * modules/unictype/syntax-c-ident-tests: Likewise.
23380         * modules/unictype/syntax-c-whitespace-tests: Likewise.
23381         * modules/unictype/syntax-java-ident-tests: Likewise.
23382         * modules/unictype/syntax-java-whitespace-tests: Likewise.
23383         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
23384         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
23385         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
23386         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
23387         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
23388         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
23389         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
23390         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
23391         * modules/uniname/uniname-tests: Likewise.
23392         * modules/uninorm/canonical-decomposition-tests: Likewise.
23393         * modules/uninorm/compat-decomposition-tests: Likewise.
23394         * modules/uninorm/composition-tests: Likewise.
23395         * modules/uninorm/decomposing-form-tests: Likewise.
23396         * modules/uninorm/decomposition-tests: Likewise.
23397         * modules/uninorm/filter-tests: Likewise.
23398         * modules/uninorm/nfc-tests: Likewise.
23399         * modules/uninorm/nfd-tests: Likewise.
23400         * modules/uninorm/nfkc-tests: Likewise.
23401         * modules/uninorm/nfkd-tests: Likewise.
23402         * modules/uninorm/u8-normcmp-tests: Likewise.
23403         * modules/uninorm/u8-normcoll-tests: Likewise.
23404         * modules/uninorm/u16-normcmp-tests: Likewise.
23405         * modules/uninorm/u16-normcoll-tests: Likewise.
23406         * modules/uninorm/u32-normcmp-tests: Likewise.
23407         * modules/uninorm/u32-normcoll-tests: Likewise.
23408         * modules/unistdio/u8-asnprintf-tests: Likewise.
23409         * modules/unistdio/u8-vasnprintf-tests: Likewise.
23410         * modules/unistdio/u8-vasprintf-tests: Likewise.
23411         * modules/unistdio/u8-vsnprintf-tests: Likewise.
23412         * modules/unistdio/u8-vsprintf-tests: Likewise.
23413         * modules/unistdio/u16-asnprintf-tests: Likewise.
23414         * modules/unistdio/u16-vasnprintf-tests: Likewise.
23415         * modules/unistdio/u16-vasprintf-tests: Likewise.
23416         * modules/unistdio/u16-vsnprintf-tests: Likewise.
23417         * modules/unistdio/u16-vsprintf-tests: Likewise.
23418         * modules/unistdio/u32-asnprintf-tests: Likewise.
23419         * modules/unistdio/u32-vasnprintf-tests: Likewise.
23420         * modules/unistdio/u32-vasprintf-tests: Likewise.
23421         * modules/unistdio/u32-vsnprintf-tests: Likewise.
23422         * modules/unistdio/u32-vsprintf-tests: Likewise.
23423         * modules/unistdio/ulc-asnprintf-tests: Likewise.
23424         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
23425         * modules/unistdio/ulc-vasprintf-tests: Likewise.
23426         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
23427         * modules/unistdio/ulc-vsprintf-tests: Likewise.
23428         * modules/unistr/u8-check-tests: Likewise.
23429         * modules/unistr/u8-chr-tests: Likewise.
23430         * modules/unistr/u8-cmp-tests: Likewise.
23431         * modules/unistr/u8-cmp2-tests: Likewise.
23432         * modules/unistr/u8-cpy-alloc-tests: Likewise.
23433         * modules/unistr/u8-cpy-tests: Likewise.
23434         * modules/unistr/u8-mblen-tests: Likewise.
23435         * modules/unistr/u8-mbsnlen-tests: Likewise.
23436         * modules/unistr/u8-mbtouc-tests: Likewise.
23437         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
23438         * modules/unistr/u8-mbtoucr-tests: Likewise.
23439         * modules/unistr/u8-move-tests: Likewise.
23440         * modules/unistr/u8-next-tests: Likewise.
23441         * modules/unistr/u8-prev-tests: Likewise.
23442         * modules/unistr/u8-set-tests: Likewise.
23443         * modules/unistr/u8-stpcpy-tests: Likewise.
23444         * modules/unistr/u8-stpncpy-tests: Likewise.
23445         * modules/unistr/u8-strcat-tests: Likewise.
23446         * modules/unistr/u8-strcmp-tests: Likewise.
23447         * modules/unistr/u8-strcoll-tests: Likewise.
23448         * modules/unistr/u8-strcpy-tests: Likewise.
23449         * modules/unistr/u8-strdup-tests: Likewise.
23450         * modules/unistr/u8-strlen-tests: Likewise.
23451         * modules/unistr/u8-strmblen-tests: Likewise.
23452         * modules/unistr/u8-strmbtouc-tests: Likewise.
23453         * modules/unistr/u8-strncat-tests: Likewise.
23454         * modules/unistr/u8-strncmp-tests: Likewise.
23455         * modules/unistr/u8-strncpy-tests: Likewise.
23456         * modules/unistr/u8-strnlen-tests: Likewise.
23457         * modules/unistr/u8-to-u16-tests: Likewise.
23458         * modules/unistr/u8-to-u32-tests: Likewise.
23459         * modules/unistr/u8-uctomb-tests: Likewise.
23460         * modules/unistr/u16-check-tests: Likewise.
23461         * modules/unistr/u16-chr-tests: Likewise.
23462         * modules/unistr/u16-cmp-tests: Likewise.
23463         * modules/unistr/u16-cmp2-tests: Likewise.
23464         * modules/unistr/u16-cpy-alloc-tests: Likewise.
23465         * modules/unistr/u16-cpy-tests: Likewise.
23466         * modules/unistr/u16-mblen-tests: Likewise.
23467         * modules/unistr/u16-mbsnlen-tests: Likewise.
23468         * modules/unistr/u16-mbtouc-tests: Likewise.
23469         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
23470         * modules/unistr/u16-mbtoucr-tests: Likewise.
23471         * modules/unistr/u16-move-tests: Likewise.
23472         * modules/unistr/u16-next-tests: Likewise.
23473         * modules/unistr/u16-prev-tests: Likewise.
23474         * modules/unistr/u16-set-tests: Likewise.
23475         * modules/unistr/u16-stpcpy-tests: Likewise.
23476         * modules/unistr/u16-stpncpy-tests: Likewise.
23477         * modules/unistr/u16-strcat-tests: Likewise.
23478         * modules/unistr/u16-strcmp-tests: Likewise.
23479         * modules/unistr/u16-strcoll-tests: Likewise.
23480         * modules/unistr/u16-strcpy-tests: Likewise.
23481         * modules/unistr/u16-strdup-tests: Likewise.
23482         * modules/unistr/u16-strlen-tests: Likewise.
23483         * modules/unistr/u16-strmblen-tests: Likewise.
23484         * modules/unistr/u16-strmbtouc-tests: Likewise.
23485         * modules/unistr/u16-strncat-tests: Likewise.
23486         * modules/unistr/u16-strncmp-tests: Likewise.
23487         * modules/unistr/u16-strncpy-tests: Likewise.
23488         * modules/unistr/u16-strnlen-tests: Likewise.
23489         * modules/unistr/u16-to-u32-tests: Likewise.
23490         * modules/unistr/u16-to-u8-tests: Likewise.
23491         * modules/unistr/u16-uctomb-tests: Likewise.
23492         * modules/unistr/u32-check-tests: Likewise.
23493         * modules/unistr/u32-chr-tests: Likewise.
23494         * modules/unistr/u32-cmp-tests: Likewise.
23495         * modules/unistr/u32-cmp2-tests: Likewise.
23496         * modules/unistr/u32-cpy-alloc-tests: Likewise.
23497         * modules/unistr/u32-cpy-tests: Likewise.
23498         * modules/unistr/u32-mblen-tests: Likewise.
23499         * modules/unistr/u32-mbsnlen-tests: Likewise.
23500         * modules/unistr/u32-mbtouc-tests: Likewise.
23501         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
23502         * modules/unistr/u32-mbtoucr-tests: Likewise.
23503         * modules/unistr/u32-move-tests: Likewise.
23504         * modules/unistr/u32-next-tests: Likewise.
23505         * modules/unistr/u32-prev-tests: Likewise.
23506         * modules/unistr/u32-set-tests: Likewise.
23507         * modules/unistr/u32-stpcpy-tests: Likewise.
23508         * modules/unistr/u32-stpncpy-tests: Likewise.
23509         * modules/unistr/u32-strcat-tests: Likewise.
23510         * modules/unistr/u32-strcmp-tests: Likewise.
23511         * modules/unistr/u32-strcoll-tests: Likewise.
23512         * modules/unistr/u32-strcpy-tests: Likewise.
23513         * modules/unistr/u32-strdup-tests: Likewise.
23514         * modules/unistr/u32-strlen-tests: Likewise.
23515         * modules/unistr/u32-strmblen-tests: Likewise.
23516         * modules/unistr/u32-strmbtouc-tests: Likewise.
23517         * modules/unistr/u32-strncat-tests: Likewise.
23518         * modules/unistr/u32-strncmp-tests: Likewise.
23519         * modules/unistr/u32-strncpy-tests: Likewise.
23520         * modules/unistr/u32-strnlen-tests: Likewise.
23521         * modules/unistr/u32-to-u16-tests: Likewise.
23522         * modules/unistr/u32-to-u8-tests: Likewise.
23523         * modules/unistr/u32-uctomb-tests: Likewise.
23524         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
23525         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
23526         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
23527         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
23528         * modules/uniwidth/u8-strwidth-tests: Likewise.
23529         * modules/uniwidth/u8-width-tests: Likewise.
23530         * modules/uniwidth/u16-strwidth-tests: Likewise.
23531         * modules/uniwidth/u16-width-tests: Likewise.
23532         * modules/uniwidth/u32-strwidth-tests: Likewise.
23533         * modules/uniwidth/u32-width-tests: Likewise.
23534         * modules/uniwidth/width-tests: Likewise.
23535
23536 2010-05-18  Richard Jones  <rjones@redhat.com>
23537
23538         doc: users.txt: list hivex
23539         * users.txt: Add hivex.
23540
23541 2010-05-18  Richard Jones  <rjones@redhat.com>
23542
23543         doc: users.txt: list febootstrap
23544         * users.txt: Add febootstrap.
23545
23546 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
23547
23548         bootstrap: fix an error when gnulib is not used as a git submodule
23549         * build-aux/bootstrap (gnulib_path): If its length is zero then
23550         assign "gnulib" to it.
23551         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
23552
23553 2010-05-16  Bruno Haible  <bruno@clisp.org>
23554
23555         Avoid autoconf warnings about AM_ICONV.
23556         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
23557         2.64.
23558
23559 2010-05-16  Bruno Haible  <bruno@clisp.org>
23560
23561         absolute-header: Make the macro usable in more situations.
23562         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
23563         from gl_ABSOLUTE_HEADER.
23564         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
23565
23566 2010-05-16  James Youngman  <jay@gnu.org>
23567
23568         doc: update users.txt
23569         * users.txt: Add CSSC.
23570
23571 2010-05-16  Jim Meyering  <meyering@redhat.com>
23572
23573         init.sh: fix an error in the previous change; add more comments
23574         * tests/init.sh: Compare exit code in loop against 9, not 2.
23575         Patch by Bruno Haible.
23576         Make the two tests more similar by adding an empty "then" clause.
23577         Add comments.
23578
23579         init.sh: avoid unnecessary shell re-exec
23580         * tests/init.sh: Improve the re-exec-required check to first test the
23581         current shell.  If it passes the test, do not search for a shell that
23582         does pass, and do not re-exec.  This test is particularly contorted to
23583         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
23584         of $(...) evokes a syntax error and causes immediate shell exit with
23585         status 2.  Bruno Haible reported that the re-exec made it impossible
23586         to single-step through any init.sh-using script.
23587
23588 2010-05-16  Bruno Haible  <bruno@clisp.org>
23589
23590         Fix collision between gnulib's and libintl's printf replacements.
23591         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
23592         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
23593         (printf): When using GNU C, map the __printf__ function to rpl_printf
23594         via __asm__. When not using GNU C, define rpl_printf instead of
23595         __printf__.
23596         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
23597         commit.
23598         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
23599         commit.
23600         * m4/asm-underscore.m4: New file.
23601         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
23602         * modules/stdio (Files): Add m4/asm-underscore.m4.
23603         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
23604         Reported by Ben Pfaff.
23605
23606 2010-05-16  Bruno Haible  <bruno@clisp.org>
23607
23608         verify: Avoid skipping the test on openSUSE 11.0.
23609         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
23610
23611 2010-05-13  Bruno Haible  <bruno@clisp.org>
23612
23613         Avoid useless warnings from G++.
23614         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
23615         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
23616         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23617
23618 2010-05-11  Jim Meyering  <meyering@redhat.com>
23619
23620         maint.mk: tweak preceding change
23621         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
23622         regexps tighter by anchoring at EOL, and make the new group "shy"
23623         for slightly decreased overhead.
23624
23625 2010-05-11  Eric Blake  <eblake@redhat.com>
23626
23627         maint.mk: gnulib doesn't guarantee NSIG
23628         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
23629
23630 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23631
23632         test-pwrite.c: Remove unused variable declaration.
23633         * tests/test-pwrite.c (main): Remove read_buf declaration.
23634
23635         Remove useless test-pwrite.sh file.
23636         * tests/test-pwrite.sh: Delete file.
23637         * modules/pwrite-tests: Remove references.
23638         Reported by Bruno Haible.
23639
23640 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23641
23642         init.sh: fix a typo
23643         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
23644
23645 2010-05-10  Jim Meyering  <meyering@redhat.com>
23646
23647         maint.mk: avoid using a temporary file in the always-defined-macros check
23648         * top/maint.mk (.re-defmac): Remove rule.
23649         (gl_trap_): Remove definition.
23650         (sc_prohibit_always-defined_macros): Rewrite not to create and
23651         depend on a temporary file.  Instead, depend on GNU grep's ability
23652         to read a list of regular expressions from stdin when given "-f -".
23653
23654 2010-05-09  Bruno Haible  <bruno@clisp.org>
23655
23656         Update to GNU gettext 0.18, part 1.
23657         * m4/gettext.m4: Update to GNU gettext 0.18.
23658         * m4/intl.m4: Likewise.
23659         * m4/po.m4: Likewise.
23660         * modules/gettext (Files): Add m4/fcntl-o.m4.
23661         (configure.ac): Require gettext infrastructure from version 0.18.
23662
23663 2010-05-09  Jim Meyering  <meyering@redhat.com>
23664
23665         init.sh: enable MALLOC_PERTURB_
23666         * tests/init.sh: Enable glibc's malloc-perturbing option.
23667
23668         maint.mk: improve sc_cross_check_PATH_usage_in_tests
23669         With my recent change in init.sh from the two-line form:
23670             -#   : ${srcdir=.}
23671             -#   . "$srcdir/init.sh"; path_prepend_ .
23672             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
23673         I noticed that using the one-line form would cause this test
23674         to fail with a false-positive, or to stop working altogether,
23675         depending on whether help-version changed or all the tests did.
23676         * top/maint.mk (_hv_regex): Remove this definition.
23677         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
23678         (_hv_regex_strong): Use a stronger regex to check for conformance.
23679         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
23680         Give a separate diagnostic for lack of conforming use.
23681
23682         maint.mk: prohibit definition of symbols defined by gnulib
23683         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
23684         definition of symbols defined by gnulib.
23685
23686 2010-05-09  Bruno Haible  <bruno@clisp.org>
23687
23688         acl: Avoid test failure on Cygwin-hosted mingw.
23689         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
23690
23691 2010-05-09  Bruno Haible  <bruno@clisp.org>
23692
23693         error: Use system's fcntl function.
23694         * lib/error.c (fcntl): Undefine.
23695
23696 2010-05-09  Jim Meyering  <meyering@redhat.com>
23697
23698         verify: adjust formatting to be more consistent
23699         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
23700         argument-list '('s, and after one comma.
23701
23702 2010-05-09  Bruno Haible  <bruno@clisp.org>
23703
23704         error: More reliable output on mingw.
23705         * lib/error.c: Include <windows.h>.
23706         (is_open): New function.
23707         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
23708         defined.
23709
23710 2010-05-09  Bruno Haible  <bruno@clisp.org>
23711
23712         vasnprintf: Fix syntax errors in libintl build on mingw.
23713         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
23714         pad_ourselves and prec_ourselves after use.
23715
23716 2010-05-08  Bruno Haible  <bruno@clisp.org>
23717
23718         * lib/config.charset: Update comments for Cygwin 1.7.
23719         * lib/localcharset.c: Likewise.
23720
23721 2010-05-07  Jim Meyering  <meyering@redhat.com>
23722
23723         init.sh: improve comments
23724         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
23725         . "${srcdir=.}/init.sh"; path_prepend_ .
23726         Add a note about path_prepend_ and the alternative of using
23727         TESTS_ENVIRONMENT.
23728
23729 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23730
23731         exclude: Unescape hashed patterns in wildcard mode.
23732         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
23733         to the hash list.
23734         * tests/test-exclude8.sh: New test case.
23735         * modules/exclude-tests: Add new test.
23736
23737 2010-05-05  Eric Blake  <eblake@redhat.com>
23738
23739         verify: automate tests
23740         * modules/verify-tests: New module.
23741         * tests/test-verify.sh: New file.
23742         * tests/test-verify.c: Guard each negative test with a unique id.
23743         Also avoid warning about unused left hand of comma expressions.
23744
23745 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
23746
23747         Further improvements to verify.h, suggested by Eric Blake.
23748         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
23749         the GL_* versions, to avoid collision with OpenGL.
23750         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
23751         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
23752         than testing merely whether it's defined.
23753
23754         Modify verify.h to pacify gcc -Wredundant_decls.
23755         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
23756         These use the prefix "GL_" since they're likely to be useful elsewhere.
23757         We may need to break them out into a different .h file.
23758         (__COUNTER__): Define to 0 if the compiler doesn't support it.
23759         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
23760         of verify_function__.
23761
23762 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23763
23764         Tests for module pwrite.
23765         * modules/pwrite-tests: New file.
23766         * tests/test-pwrite.sh: New file.
23767         * tests/test-pwrite.c: New file.
23768
23769         New module pwrite.
23770         * lib/unistd.in.h (pwrite): New declaration.
23771         * lib/pwrite.c: New file, from glibc with modifications.
23772         * m4/pwrite.m4: New file.
23773         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
23774         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
23775         REPLACE_PWRITE.
23776         * modules/pwrite: New file.
23777         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
23778         REPLACE_PWRITE.
23779         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
23780         * doc/posix-functions/pwrite.texi: Mention the new module.
23781
23782 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23783
23784         pread: Update documentation.
23785         * doc/posix-functions/pread.texi: Mention the 'pread' module.
23786
23787 2010-05-04  Eric Blake  <eblake@redhat.com>
23788
23789         docs: update cygwin progress
23790         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
23791         this bug.
23792         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
23793         Added in cygwin 1.7.2.
23794         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
23795         Likewise.
23796         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
23797         Likewise.
23798         * doc/glibc-functions/dup3.texi (dup3): Likewise.
23799         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
23800         * doc/glibc-functions/accept4.texi (accept4): Likewise.
23801         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
23802         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
23803         Mention nproc module.
23804         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
23805         bug in cygwin 1.7.5 addition.
23806         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
23807         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
23808         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
23809         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
23810         1.7.5.
23811         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
23812         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
23813         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
23814         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
23815         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
23816         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
23817         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
23818         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
23819         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
23820         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
23821         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
23822         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
23823         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
23824         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
23825         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
23826         Likewise.
23827         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
23828         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
23829         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
23830         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
23831         Likewise.
23832         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
23833         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
23834         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
23835         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
23836         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
23837         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23838         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23839         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23840         Likewise.
23841         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23842         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23843         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23844         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23845         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23846         Likewise.
23847         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23848         Likewise.
23849         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23850         Likewise.
23851         * doc/glibc-functions/xdrrec_endofrecord.texi
23852         (xdrrec_endofrecord): Likewise.
23853         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23854         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23855         Likewise.
23856         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23857         Likewise.
23858
23859 2010-05-04  Jim Meyering  <meyering@redhat.com>
23860
23861         gendocs.sh: make its "-s FILE" option more useful
23862         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23863         $PACKAGE to reflect the probably-different basename of "FILE".
23864
23865 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23866
23867         bootstrap: don't ignore download_po_files failure
23868         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23869         failure.
23870
23871 2010-05-03  Jim Meyering  <meyering@redhat.com>
23872
23873         maint.mk: allow to pass options to gendocs.sh
23874         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23875         (gendocs_options_): New overridable variable.
23876
23877         gnu-web-doc-update: don't ignore configure or build failure
23878         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23879
23880         announce-gen: backslash-escape '@'s in --help output
23881         * build-aux/announce-gen: Fix syntax errors.
23882
23883         maint.mk, announce-gen: allow project-specific announcement mail headers
23884         * top/maint.mk (translation_project_): Define default.
23885         (announcement_Cc_, announcement_mail_headers_): Likewise.
23886         (announcement): Invoke announce-gen with new --mail-headers option.
23887         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23888
23889         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23890         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23891         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23892         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23893         line in the "err2" output file when running "make check" in verbose
23894         mode (i.e., with set -x enabled).
23895
23896 2010-05-03  Bruno Haible  <bruno@clisp.org>
23897
23898         wctob: Fix for weird platforms.
23899         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23900         argument value.
23901
23902 2010-05-03  Jim Meyering  <meyering@redhat.com>
23903
23904         maint.mk: prohibit unwarranted use of <strings.h>
23905         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23906         strings.h in a file that does not also use strcasecmp, strncasecmp,
23907         ffs or ffsll.
23908
23909         maint.mk: remove obsolete comments
23910         * top/maint.mk: Remove stale, commented-out rules.
23911
23912 2010-05-02  Bruno Haible  <bruno@clisp.org>
23913
23914         wcwidth: Declare also when it's aliased.
23915         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23916         macro.
23917
23918 2010-05-02  Bruno Haible  <bruno@clisp.org>
23919
23920         Fix regression from 2010-04-25.
23921         * gnulib-tool (func_modules_transitive_closure): Check the status of
23922         all modules, not only of the tests that are of the form foo-tests where
23923         foo is a module.
23924
23925 2010-05-02  Bruno Haible  <bruno@clisp.org>
23926
23927         wctob: Work around nasty Cygwin 1.7.2 bug.
23928         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23929         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23930
23931 2010-05-01  Bruno Haible  <bruno@clisp.org>
23932
23933         fpurge: Sharper test.
23934         * tests/test-fpurge.c (main): Add one more ftell check.
23935         * modules/fpurge-tests (Depends-on): Add ftell.
23936         Suggested by Eric Blake.
23937
23938 2010-05-01  Bruno Haible  <bruno@clisp.org>
23939
23940         ftello: Another test.
23941         * tests/test-ftello3.c: New file.
23942         * modules/ftello-tests (Files): Add it.
23943         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23944         MOSTLYCLEANFILES.
23945
23946         ftell: Another test.
23947         * tests/test-ftell3.c: New file.
23948         * modules/ftell-tests (Files): Add it.
23949         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23950         MOSTLYCLEANFILES.
23951
23952 2010-05-01  Bruno Haible  <bruno@clisp.org>
23953
23954         ftell, ftello: Work around Solaris bug.
23955         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23956         * lib/ftello.c: Include stdio-impl.h.
23957         (ftello): On Solaris, when _IOWRT is set, compute the result without
23958         looking at _IOREAD.
23959         * modules/ftello (Files): Add lib/stdio-impl.h.
23960         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23961         * doc/posix-functions/ftello.texi: Likewise.
23962         Reported by Eric Blake.
23963
23964 2010-05-01  Bruno Haible  <bruno@clisp.org>
23965
23966         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23967         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23968         the _IOWRT flag is also set.
23969
23970 2010-05-01  Bruno Haible  <bruno@clisp.org>
23971
23972         Fix doc about a HP-UX stdio bug.
23973         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23974         * doc/posix-functions/ftello.texi: Likewise.
23975
23976 2010-05-01  Bruno Haible  <bruno@clisp.org>
23977
23978         lseek test: Fix failure on Solaris.
23979         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23980         output.
23981
23982 2010-04-30  Jim Meyering  <meyering@redhat.com>
23983
23984         bootstrap: don't ignore failure to generate po*/Makevars
23985         * build-aux/bootstrap (with_gettext): Don't ignore failure
23986         to create po/Makevars or runtime-po/Makevars.
23987
23988 2010-04-29  Eric Blake  <eblake@redhat.com>
23989
23990         headers: relax license to LGPLv2+
23991         * modules/fcntl-h (License): Relax license.
23992         * modules/getopt-posix (License): Likewise.
23993         * modules/locale (License): Likewise.
23994         * modules/math (License): Likewise.
23995         * modules/pty (License): Likewise.
23996         * modules/sched (License): Likewise.
23997         * modules/search (License): Likewise.
23998         * modules/spawn (License): Likewise.
23999         * modules/stdarg (License): Likewise.
24000         * modules/sysexits (License): Likewise.
24001
24002 2010-04-29  Jim Meyering  <meyering@redhat.com>
24003
24004         inttypes: relax license to LGPLv2+
24005         * modules/inttypes (License): Relax license.
24006
24007 2010-04-29  Simon Josefsson  <simon@josefsson.org>
24008
24009         * top/maint.mk (indent): Run twice to produce idempotent results.
24010
24011 2010-04-28  Bruno Haible  <bruno@clisp.org>
24012
24013         getdate: Generate getdate.c in the source directory.
24014         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
24015         MOSTLYCLEANFILES.
24016         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
24017
24018 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
24019
24020         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
24021         is not declared as a const *; avoid warnings in that case.
24022
24023 2010-04-28  Eric Blake  <eblake@redhat.com>
24024
24025         canonicalize-lgpl: avoid compiler warning
24026         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
24027         declaration' / 'extraneous semicolon' warning with some compilers.
24028         Reported by Andreas Gruenbacher.
24029
24030 2010-04-28  Jim Meyering  <meyering@redhat.com>
24031
24032         init.sh: ensure a more reliable exit status when exiting via trap
24033         * tests/init.sh (setup_): Don't rely on $? in signal handler.
24034         Inspired by patches from Dmitry V. Levin.
24035         Also trap on signal 3 (SIGQUIT).
24036
24037 2010-04-27  Bruno Haible  <bruno@clisp.org>
24038
24039         Update doc about utimes().
24040         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
24041         'utimens' module.
24042         Reported by Andreas Gruenbacher <agruen@suse.de>.
24043
24044 2010-04-27  Eric Blake  <eblake@redhat.com>
24045
24046         full-read, full-write: relax license
24047         * modules/full-read (License): Drop to LGPLv2+.
24048         * modules/full-write (License): Likewise.
24049         * modules/safe-read (License): Likewise.
24050         * modules/safe-write (License): Likewise.
24051
24052         pthread: mention library for linking
24053         * modules/pthread (Link): Mention $(LIB_PTHREAD).
24054
24055 2010-04-27  Jim Meyering  <meyering@redhat.com>
24056
24057         maint.mk: fix a bug introduced in last change
24058         * top/maint.mk (gl_assured_headers_): Now that all names are on
24059         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
24060         is not anchored to end of word, it should be adequate.
24061
24062         maint.mk: avoid side-effect in latest syntax-check
24063         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
24064         to run commands via $(shell...), and hence to incur cost only when
24065         the new rule is actually run.
24066
24067         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
24068         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
24069         and use that to create a regexp used to detect all #if HAVE_..._H uses.
24070         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
24071         (gl_assured_headers_, az_, AZ_): Define.
24072         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
24073
24074 2010-04-26  Jim Meyering  <jim@meyering.net>
24075             Bruno Haible  <bruno@clisp.org>
24076
24077         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
24078         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
24079         Prompted by an exchange with Gilles Espinasse.
24080
24081 2010-04-26  Jim Meyering  <meyering@redhat.com>
24082
24083         git-version-gen: aesthetic tweak
24084         * build-aux/git-version-gen: Use "$nl" rather than a literal,
24085         so that the command remains on a single line.
24086
24087 2010-04-26  Eric Blake  <eblake@redhat.com>
24088
24089         git-version-gen: allow use on EBCDIC hosts
24090         * build-aux/git-version-gen (dirty): Use literal rather than tying
24091         ourselves to ascii.
24092         Reported by Steve Goetze.
24093
24094 2010-04-25  Bruno Haible  <bruno@clisp.org>
24095
24096         netdb: Add support for GNULIB_POSIXCHECK.
24097         * lib/netdb.in.h: Include warn-on-use.h.
24098         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
24099         functions are used when GNULIB_POSIXCHECK is defined and the
24100         getaddrinfo module is not in use.
24101         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
24102         freeaddrinfo, gai_strerror, getnameinfo are declared.
24103         * modules/netdb (Depends-on): Add warn-on-use.
24104         (Makefile.am): Include warn-on-use.h in netdb.h.
24105
24106 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
24107
24108         build: avoid "make check" failure without .git/ directory
24109         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
24110         there is no .git/ directory.
24111
24112 2010-04-25  Bruno Haible  <bruno@clisp.org>
24113
24114         ptsname: Fix misuse of ttyname_r.
24115         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
24116         of errno.
24117
24118 2010-04-25  Bruno Haible  <bruno@clisp.org>
24119
24120         ttyname_r: Make it work on Solaris 10.
24121         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
24122         if the system function has the POSIX declaration. Test whether the
24123         function fails if the buffer is less than 128 bytes large.
24124         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
24125         system's ttyname_r function. Provide a reasonably large buffer.
24126         * modules/ttyname_r (Depends-on): Add extensions.
24127         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
24128
24129 2010-04-25  Bruno Haible  <bruno@clisp.org>
24130
24131         Use the 'extensions' module for some more functions on Solaris.
24132         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
24133         module.
24134         * doc/posix-functions/ctime_r.texi: Likewise.
24135         * doc/posix-functions/getgrgid_r.texi: Likewise.
24136         * doc/posix-functions/getgrnam_r.texi: Likewise.
24137         * doc/posix-functions/getpwnam_r.texi: Likewise.
24138         * doc/posix-functions/getpwuid_r.texi: Likewise.
24139         * doc/posix-functions/readdir_r.texi: Likewise.
24140         * doc/posix-functions/sigwait.texi: Likewise.
24141         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
24142         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
24143
24144 2010-04-25  Bruno Haible  <bruno@clisp.org>
24145
24146         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
24147         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
24148         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
24149         * lib/ttyname_r.c: Include <limits.h>.
24150         (ttyname_r): Define using the system's ttyname_r function, if it exists
24151         and not on Solaris.
24152         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
24153         set.
24154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
24155         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
24156         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
24157         Reported by Simon Josefsson.
24158
24159 2010-04-25  Bruno Haible  <bruno@clisp.org>
24160
24161         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
24162         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
24163         * doc/posix-functions/ctime_r.texi: Likewise.
24164         * doc/posix-functions/getgrgid_r.texi: Likewise.
24165         * doc/posix-functions/getgrnam_r.texi: Likewise.
24166         * doc/posix-functions/getlogin_r.texi: Likewise.
24167         * doc/posix-functions/getpwnam_r.texi: Likewise.
24168         * doc/posix-functions/getpwuid_r.texi: Likewise.
24169         * doc/posix-functions/readdir_r.texi: Likewise.
24170         * doc/posix-functions/sigwait.texi: Likewise.
24171         * doc/posix-functions/ttyname_r.texi: Likewise.
24172         Reported by Simon Josefsson.
24173
24174 2010-04-25  Bruno Haible  <bruno@clisp.org>
24175
24176         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
24177         * gnulib-tool (func_usage): Document that --with-*-tests options apply
24178         also to --create-testdir.
24179         (func_acceptable): Don't consider the status of *-tests modules here.
24180         (func_modules_transitive_closure): Consider it here, before including a
24181         test module.
24182         (func_import, func_create_testdir): Set inc_all_direct_tests,
24183         inc_all_indirect_tests.
24184         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
24185         --create-testdir and --create-megatestdir.
24186
24187 2010-04-25  Bruno Haible  <bruno@clisp.org>
24188
24189         gnulib-tool: Add --without-*-tests options.
24190         * gnulib-tool (func_usage): Document the --without-*-tests options.
24191         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
24192         excl_unportable_tests): New variables.
24193         Fail if they are specified with --import or --update.
24194         (func_acceptable): Respect the excl_*_tests variables.
24195         (func_import): Set the excl_*_tests variables to empty.
24196
24197 2010-04-25  Simon Josefsson  <simon@josefsson.org>
24198             Bruno Haible  <bruno@clisp.org>
24199
24200         Work around a MacOS X 10.4 bug with openpty.
24201         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
24202         * tests/test-openpty.c (main): Close the master side explicitly.
24203
24204 2010-04-25  Bruno Haible  <bruno@clisp.org>
24205
24206         strnlen: Fix a C++ test error on MacOS X and Solaris.
24207         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
24208         the function is not declared.
24209         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
24210         Simon Josefsson.
24211
24212 2010-04-24  Bruno Haible  <bruno@clisp.org>
24213
24214         Avoid a gcc warning.
24215         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
24216         of correct type for %08lx directive.
24217         Reported by Eric Blake.
24218
24219 2010-04-24  Bruno Haible  <bruno@clisp.org>
24220
24221         vasnprintf: Correct errno value in case of out-of-memory.
24222         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
24223         or sprintf. Use the errno value from SNPRINTF or sprintf.
24224         Reported by Ian Beckwith <ianb@erislabs.net>.
24225
24226 2010-04-24  Bruno Haible  <bruno@clisp.org>
24227
24228         ansi-c++-opt: Find correct compiler when cross-compiling.
24229         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
24230         AC_CHECK_PROGS.
24231         Reported by Simon Josefsson.
24232
24233 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
24234
24235         vc-list-files: Add support for subversion
24236         * build-aux/vc-list-files: Use "svn list" to generate the list of
24237         files controlled by subversion.
24238
24239 2010-04-23  Jim Meyering  <meyering@redhat.com>
24240
24241         vc-list-files tests: convert to use init.sh
24242         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
24243         path_prepend_.
24244         Use Exit, not exit.
24245         Use skip_ rather than open coding it.
24246         Remove trap set-up and compare definitions.
24247         * tests/test-vc-list-files-git.sh: Likewise.
24248         * modules/vc-list-files-tests (Files): Add tests/init.sh.
24249
24250 2010-04-22  Simon Josefsson  <simon@josefsson.org>
24251
24252         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
24253         backup files.
24254
24255 2010-04-21  Simon Josefsson  <simon@josefsson.org>
24256
24257         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
24258
24259 2010-04-20  Eric Blake  <eblake@redhat.com>
24260
24261         tests: be robust to ignored SIGPIPE
24262         * tests/test-select-in.sh: Consume all output.
24263         * tests/test-lseek.sh: Check correct exit status, while avoiding
24264         EPIPE.
24265
24266 2010-04-20  Simon Josefsson  <simon@josefsson.org>
24267             Bruno Haible  <bruno@clisp.org>
24268
24269         visibility: Don't use -fvisibility if it leads to a warning.
24270         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
24271         yes, don't pretend that visibility works if it leads to a warning.
24272         Reported by Mike Gran <spk121@yahoo.com>.
24273
24274 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
24275
24276         * build-aux/bootstrap: Use "git -h" for testing for supported options
24277         instead of "git --help".  The short-form option only shows a summary,
24278         and doesn't layout the full man page.  Grep for the full option name
24279         in the summary, too.
24280
24281 2010-04-19  Bruno Haible  <bruno@clisp.org>
24282
24283         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
24284         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
24285         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
24286         mention of RELOCATABLE_STRIP.
24287         Reported by Sylvain Beucler <beuc@beuc.net>.
24288
24289 2010-04-19  Bruno Haible  <bruno@clisp.org>
24290
24291         * lib/diffseq.h: Fix typo in comment.
24292         Reported by Eric Blake.
24293
24294 2010-04-19  Bruno Haible  <bruno@clisp.org>
24295
24296         ioctl: Move autoconf macro to a .m4 file.
24297         * m4/ioctl.m4: New file, extracted from modules/ioctl.
24298         * modules/ioctl (Files): Add it.
24299         (configure.ac): Simply invoke gl_FUNC_IOCTL.
24300         Reported by Ian Beckwith <ianb@erislabs.net>.
24301
24302 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
24303             Bruno Haible  <bruno@clisp.org>
24304
24305         diffseq: Accommodate use-case with abstract arrays.
24306         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
24307         is not defined.
24308         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
24309         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
24310
24311 2010-04-18  Bruno Haible  <bruno@clisp.org>
24312
24313         * doc/posix-headers/stdbool.texi: More precise wording.
24314
24315 2010-04-17  Jim Meyering  <meyering@redhat.com>
24316
24317         maint.mk: use gnu-style indentation in an embedded perl script
24318         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
24319         Rename variable: s/two/last_two_bytes/
24320
24321 2010-04-16  Eric Blake  <eblake@redhat.com>
24322
24323         test-stdbool: skip test that fails with Solaris CC
24324         * tests/test-stdbool.c (f): Skip test that causes compilation
24325         error under buggy C++ compiler.
24326         * lib/stdbool.in.h: Document the limitation.
24327         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
24328
24329         setenv: allow compilation with C++
24330         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
24331         register keyword.
24332
24333         stdint: allow test to pass with C++
24334         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
24335
24336         getopt: allow compilation with C++
24337         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
24338         struct.
24339         * lib/getopt.c (_getopt_internal_r): Use correct type.
24340         Reported by Dagobert Michelson, via Joel E. Denny.
24341
24342 2010-04-16  Bruno Haible  <bruno@clisp.org>
24343
24344         Override netdb.h always.
24345         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
24346         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
24347         Reported by Ludovic Courtès <ludo@gnu.org>.
24348
24349 2010-04-15  Bruno Haible  <bruno@clisp.org>
24350
24351         openpty: Fix mistake from 2010-03-21.
24352         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
24353         Reported by Simon Josefsson.
24354
24355 2010-04-15  Eric Blake  <eblake@redhat.com>
24356
24357         test-forkpty: fix expected signature
24358         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
24359         Reported by Simon Josefsson.
24360
24361 2010-04-15  Jim Meyering  <meyering@redhat.com>
24362
24363         maint.mk: texinfo_suffix_re_: correct the default regexp
24364         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
24365
24366         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
24367         make it configurable via texinfo_suffix_re_.
24368
24369 2010-04-14  Eric Blake  <eblake@redhat.com>
24370
24371         strtok_r: relax license to LGPLv2+
24372         * modules/strtok_r (License): Relax license.
24373         Reported by Matthias Bolte.
24374
24375 2010-04-14  Simon Josefsson  <simon@josefsson.org>
24376
24377         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
24378         version 1.4.4 by default instead of requiring the libgcrypt
24379         version used during build.  This makes it possible to use the
24380         application with older but still binary compatible libgcrypt
24381         versions.
24382
24383 2010-04-13  Eric Blake  <eblake@redhat.com>
24384
24385         getopt-gnu: match recent glibc fixes and posix ruling
24386         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
24387         '+' handling, when requesting extensions.
24388         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
24389         'W;' handling.
24390         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
24391         * doc/posix-functions/getopt.texi (getopt): Document this.
24392         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
24393         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24394         Likewise.
24395
24396         getopt: merge bug fixes from glibc
24397         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
24398         diagnostics.  Honor '+:' correctly.  Reject ';'.
24399
24400         getopt-posix: detect MacOS bug
24401         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
24402         optind when missing a required argument.
24403         * doc/posix-functions/getopt.texi (getopt): Document the bug.
24404         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
24405         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24406         Likewise.
24407
24408         getopt-posix: avoid spurious failure on Solaris
24409         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
24410         an indicator that setting optind=1 is sufficient for reset.
24411
24412         getopt-posix: avoid spurious failure on FreeBSD
24413         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
24414         in POSIX mode, since the m4 test uses it.
24415
24416         gnulib-tool: silence warning on BSD sh
24417         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
24418
24419 2010-04-13  Jim Meyering  <meyering@redhat.com>
24420
24421         doc: users.txt: GNU patch now uses gnulib
24422         * users.txt: Add patch.
24423
24424 2010-04-12  Jim Meyering  <meyering@redhat.com>
24425
24426         maint.mk: generate more concise timing data for syntax-check rules
24427         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
24428         " done" from each line that reports a syntax-check test duration.
24429
24430 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
24431
24432         git-version-gen: use "git update-index..." rather than "git status"
24433         * build-aux/git-version-gen: Use git update-index --refresh, not
24434         "git status".  With some versions of git, "git status" would fail
24435         to update the index and result in an unwarranted "-dirty" suffix.
24436
24437 2010-04-11  Jim Meyering  <meyering@redhat.com>
24438
24439         openat: correct formatting (no semantic change)
24440         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
24441         Suggested by Bruno Haible.
24442
24443 2010-04-11  Bruno Haible  <bruno@clisp.org>
24444
24445         Stricter declaration checking in testdirs.
24446         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
24447         If for_tests is true, augment AM_CPPFLAGS to define
24448         GNULIB_STRICT_CHECKING.
24449         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
24450         GNULIB_STRICT_CHECKING is defined, verify that the function is
24451         declared.
24452
24453 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
24454             Bruno Haible  <bruno@clisp.org>
24455
24456         libunistring: Improve configure output.
24457         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
24458         Don't say "consider installing GNU libunistring" when checking again
24459         with libiconv.
24460
24461 2010-04-11  Bruno Haible  <bruno@clisp.org>
24462
24463         libunistring: Correct value of $LTLIBUNISTRING.
24464         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
24465         correct the value of $LTLIBUNISTRING.
24466
24467 2010-04-11  Bruno Haible  <bruno@clisp.org>
24468
24469         havelib: Add static libraries to LIBS in the right order.
24470         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
24471         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
24472
24473 2010-04-11  Bruno Haible  <bruno@clisp.org>
24474
24475         libunistring: Detect libunistring also when it depends on libiconv.
24476         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
24477         the second AC_LIB_HAVE_LINKFLAGS invocation.
24478
24479 2010-04-11  James Youngman  <jay@gnu.org>
24480
24481         close-stream: declare local scalars to be "const"
24482         * lib/close-stream.c (close_stream): Make boolean variables const
24483         to document the fact that we set but do not change them.
24484
24485 2010-04-11  Bruno Haible  <bruno@clisp.org>
24486
24487         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
24488
24489 2010-04-11  Jim Meyering  <meyering@redhat.com>
24490
24491         maint.mk: don't include dist-check.mk
24492         * top/maint.mk: Remove bogus include directive.
24493
24494         maint.mk: improve empty-line-at-EOF check
24495         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
24496         solution, rather than tail+Perl-based one.  The latter would read
24497         a few kilobytes from the end of each file, and did not handle empty
24498         files properly.
24499
24500         maint.mk: print the elapsed time for each syntax-check rule
24501         * top/maint.mk (sc_m_rules_): Save start time in a file.
24502         (sc_z_rules_): New rules: remove temp file and print elapsed time.
24503         (local-check): Interpose the .z rules
24504
24505 2010-04-11  Jim Meyering  <meyering@redhat.com>
24506
24507         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
24508         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
24509         empty file with one that ends in an empty line.
24510
24511 2010-04-10  Bruno Haible  <bruno@clisp.org>
24512
24513         mkdir: Make it work on mingw64.
24514         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
24515         * lib/mkdir.c: Update comment.
24516         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
24517
24518 2010-04-10  Bruno Haible  <bruno@clisp.org>
24519
24520         Don't override improved macro from newer autoconf.
24521         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
24522         autoconf >= 2.62.
24523         Reported by Joel E. Denny <jdenny@clemson.edu>.
24524
24525 2010-04-10  Jim Meyering  <meyering@redhat.com>
24526
24527         maint.mk: new syntax-check rule: prohibit empty lines at end of file
24528         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
24529
24530         maint.mk: correct a diagnostic
24531         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
24532         in diagnostic; now use $prohibit.
24533
24534 2010-04-10  Bruno Haible  <address@hidden>
24535
24536         fchownat: Fix a C++ test error on Solaris 8.
24537         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
24538         the function does not exist.
24539
24540 2010-04-10  Bruno Haible  <bruno@clisp.org>
24541
24542         vasnprintf: Add more tests.
24543         * tests/test-vasnprintf-posix.c: Include <errno.h>.
24544         (test_function): Test converting an invalid wide string.
24545
24546         vasnprintf: Correct handling of unconvertible wide string arguments.
24547         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
24548         VASNPRINTF.
24549         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
24550         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
24551         smaller than the expected maximum need for the directive. Set errno to
24552         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
24553         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
24554         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
24555         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
24556         * modules/vasnprintf (Files): Add m4/printf.m4.
24557         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24558
24559 2010-04-10  Bruno Haible  <bruno@clisp.org>
24560
24561         vasnprintf: Fix crash in %ls directive.
24562         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
24563         string is passed as argument to %ls, with no precision and no width.
24564         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24565
24566 2010-04-10  Bruno Haible  <bruno@clisp.org>
24567
24568         vasnprintf: Fix multiple test failures on mingw.
24569         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
24570         _snprintf, or snwprintf, not _snwprintf.
24571
24572 2010-04-10  Bruno Haible  <bruno@clisp.org>
24573
24574         write: Fix a C++ test error on mingw.
24575         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
24576
24577 2010-04-10  Bruno Haible  <bruno@clisp.org>
24578
24579         vasnprintf test: Reduce code duplication.
24580         * tests/test-vasnprintf.c (test_function): New function, extracted from
24581         test_vasnprintf.
24582         (test_vasnprintf, test_asnprintf): Invoke it.
24583
24584 2010-04-10  Bruno Haible  <bruno@clisp.org>
24585
24586         strnlen: Fix warning in C++ mode on MacOS X.
24587         * lib/string.in.h (strnlen): Use the modern idiom.
24588         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
24589         defining strnlen as a macro already in <config.h>.
24590         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24591         REPLACE_STRNLEN.
24592         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
24593         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24594
24595 2010-04-08  James Youngman  <jay@gnu.org>
24596
24597         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
24598         the example.
24599
24600 2010-04-09  Jim Meyering  <meyering@redhat.com>
24601
24602         maint.mk: print better diagnostic when there is no $(_hv_file)
24603         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
24604         announce that when $(_hv_file) (aka help-version) does not exist.
24605
24606         init.sh: run tr in the "C" locale to avoid multibyte interpretation
24607         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
24608         not try to interpret its random input bytes.  Jarno Rajahalme reported
24609         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
24610         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
24611         (mktempd_): Likewise, just in case.
24612
24613         ftruncate: add two years to projected module removal date: 2012
24614         * m4/ftruncate.m4: Adjust comments.
24615
24616         ftruncate: mark module as obsolete; even MinGW provides it, now
24617         * modules/ftruncate (Status): Obsolete.
24618         (Notice): Say that.
24619         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
24620         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
24621
24622 2010-04-08  Bruno Haible  <bruno@clisp.org>
24623
24624         Fix side effects from tests-related modules.
24625         * modules/dprintf-posix (Comment): New section.
24626         * modules/fprintf-posix (Comment): Likewise.
24627         * modules/obstack-printf-posix (Comment): Likewise.
24628         * modules/printf-posix (Comment): Likewise.
24629         * modules/snprintf-posix (Comment): Likewise.
24630         * modules/sprintf-posix (Comment): Likewise.
24631         * modules/vasnprintf-posix (Comment): Likewise.
24632         * modules/vasprintf-posix (Comment): Likewise.
24633         * modules/vdprintf-posix (Comment): Likewise.
24634         * modules/vfprintf-posix (Comment): Likewise.
24635         * modules/vprintf-posix (Comment): Likewise.
24636         * modules/vsnprintf-posix (Comment): Likewise.
24637         * modules/vsprintf-posix (Comment): Likewise.
24638         * modules/xprintf-posix (Comment): Likewise.
24639         * modules/xvasprintf-posix (Comment): Likewise.
24640         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
24641         * modules/floorf-tests (Depends-on): Likewise.
24642         * modules/round-tests (Depends-on): Likewise.
24643         * modules/roundf-tests (Depends-on): Likewise.
24644         * modules/trunc-tests (Depends-on): Likewise.
24645         * modules/truncf-tests (Depends-on): Likewise.
24646         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
24647         'fprintf-posix' module is not present.
24648         * tests/test-floorf2.c (check): Likewise.
24649         * tests/test-trunc2.c (check): Likewise.
24650         * tests/test-truncf2.c (check): Likewise.
24651         * tests/test-round2.c (equal): Likewise.
24652         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24653
24654 2010-04-07  Karl Berry  <karl@gnu.org>
24655
24656         * config/srclist.txt,
24657         * config/srclistvars.sh,
24658         * config/srclist-update: doc fixes.
24659
24660 2010-04-07  Jim Meyering  <meyering@redhat.com>
24661
24662         maint.mk: add a PATH crosschecking syntax-check rule
24663         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
24664         Useful if you use a test like the one in help-version (coreutils,
24665         diffutils, grep, gzip) that ensures $(VERSION) matches what is
24666         printed by prog --version.
24667
24668 2010-04-06  Bruno Haible  <bruno@clisp.org>
24669
24670         Fix link error on mingw.
24671         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
24672         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
24673
24674 2010-04-06  Bruno Haible  <bruno@clisp.org>
24675
24676         Assume rmdir exists.
24677         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
24678
24679 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
24680
24681         doc: update users.txt
24682         * users.txt: Add gcal.
24683
24684 2010-04-06  Jim Meyering  <meyering@redhat.com>
24685
24686         init.sh: simply unset TMPDIR rather than risking env -i
24687         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
24688         although it probably works fine on all Unix-based systems, some
24689         systems (Cygwin?) cannot tolerate a totally cleared environment.
24690         Suggestion from Eric Blake.
24691
24692 2010-04-06  Jim Meyering  <meyering@redhat.com>
24693
24694         init.sh: portability fix: use env's POSIX-specified -i option not -u
24695         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
24696         than unportable env -u.  Solaris 5.11's env lacks support for -u.
24697
24698 2010-04-05  Bruno Haible  <bruno@clisp.org>
24699
24700         btowc: Work around Cygwin 1.7.2 bug.
24701         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
24702         does not map NUL to 0.
24703         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
24704
24705 2010-04-05  Bruno Haible  <bruno@clisp.org>
24706
24707         Make the multithread modules work on Cygwin 1.7.2.
24708         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
24709         imported symbols can be declared weak, so that it returns "no" on
24710         Cygwin 1.7.2.
24711
24712 2010-04-05  Bruno Haible  <bruno@clisp.org>
24713
24714         Use the module 'strncat'.
24715         * modules/unistr/u8-strncat (Depends-on): Add strncat.
24716
24717         Tests for module 'strncat'.
24718         * modules/strncat-tests: New file.
24719         * tests/test-strncat.c: New file.
24720
24721         New module 'strncat'.
24722         * lib/string.in.h (strncat): New declaration.
24723         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
24724         * m4/strncat.m4: New file, based on m4/memchr.m4.
24725         * modules/strncat: New file.
24726         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
24727         is declared.
24728         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
24729         REPLACE_STRNCAT.
24730         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
24731         REPLACE_STRNCAT.
24732         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
24733         module.
24734         * tests/test-string-c++.cc: Check signature of strncat.
24735
24736 2010-04-05  Jim Meyering  <meyering@redhat.com>
24737
24738         xstrtoumax-tests: convert to use init.sh
24739         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
24740         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24741         Use Exit, not exit.
24742         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24743
24744         xstrtoimax-tests: convert to use init.sh
24745         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
24746         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24747         Use Exit, not exit.
24748         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24749
24750 2010-04-05  Bruno Haible  <bruno@clisp.org>
24751
24752         sys_socket: Avoid #define replacements in C++ mode.
24753         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
24754         warning to the function if possible, rather than #defining the symbol
24755         to a dysfunctional alias.
24756
24757 2010-04-05  Bruno Haible  <bruno@clisp.org>
24758
24759         fseeko: Fix C++ test error on mingw.
24760         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
24761         gl_FUNC_FSEEKO.
24762         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
24763         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
24764         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
24765         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
24766
24767 2010-04-05  Bruno Haible  <bruno@clisp.org>
24768
24769         duplocale: Improve test output.
24770         * tests/test-duplocale.c (main): Print reason for skipped test.
24771
24772 2010-04-05  Bruno Haible  <bruno@clisp.org>
24773
24774         Assume rmdir exists.
24775         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
24776         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
24777
24778 2010-04-05  Bruno Haible  <bruno@clisp.org>
24779
24780         Fix link error on Solaris 8 with cc.
24781         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
24782
24783 2010-04-05  Bruno Haible  <bruno@clisp.org>
24784
24785         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24786         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
24787
24788 2010-04-05  Bruno Haible  <bruno@clisp.org>
24789
24790         vasprintf: Update documentation.
24791         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
24792
24793 2010-04-05  Bruno Haible  <bruno@clisp.org>
24794
24795         ptsname: Improve test.
24796         * tests/test-ptsname.c (main): Also try the various master names of BSD
24797         systems.
24798
24799 2010-04-05  Bruno Haible  <bruno@clisp.org>
24800
24801         memchr: Avoid a possible C++ test error.
24802         * lib/string.in.h (memchr): Provide declaration if function is missing.
24803         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
24804         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
24805         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
24806         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
24807
24808 2010-04-05  Bruno Haible  <bruno@clisp.org>
24809
24810         strtok_r: Improve idiom.
24811         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
24812         AC_LIBOBJ is used.
24813
24814 2010-04-05  Bruno Haible  <bruno@clisp.org>
24815
24816         strdup: Improve idiom.
24817         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
24818         AC_LIBOBJ is used.
24819         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
24820         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
24821         when AC_LIBOBJ is used.
24822
24823 2010-04-05  Bruno Haible  <bruno@clisp.org>
24824
24825         mbsinit, mbrtowc, wcrtomb: Improve idioms.
24826         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
24827         don't set REPLACE_MBSINIT to 1.
24828         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
24829         don't set REPLACE_MBRTOWC to 1.
24830         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
24831         exist, don't set REPLACE_MBSRTOWCS to 1.
24832         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
24833         exist, don't set REPLACE_MBSNRTOWCS to 1.
24834         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
24835         don't set REPLACE_WCRTOMB to 1.
24836         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
24837         exist, don't set REPLACE_WCSRTOMBS to 1.
24838         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24839         exist, don't set REPLACE_WCSNRTOMBS to 1.
24840
24841 2010-04-05  Bruno Haible  <bruno@clisp.org>
24842
24843         ldexpl: Improve idiom.
24844         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24845         make sure to set HAVE_DECL_LDEXPL to 0.
24846
24847 2010-04-05  Jim Meyering  <meyering@redhat.com>
24848
24849         xstrtol-tests: convert to use init.sh
24850         * modules/xstrtol-tests (Files): Add tests/init.sh.
24851         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24852         Use Exit, not exit.
24853         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24854
24855         atexit-tests: convert to use init.sh
24856         * modules/atexit-tests (Files): Add tests/init.sh.
24857         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24858         Use Exit, not exit.
24859         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24860
24861         init.sh: fix typo
24862         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24863
24864         init.sh: make it easier for a test script to write to the tty, ...
24865         when using automake's parallel-tests mode.
24866         * tests/init.sh (stderr_fileno_): Define overridable variable.
24867         (warn_): New function, to use it.
24868         (fail_, skip_, framework_failure_): Use warn_.
24869
24870 2010-04-04  Bruno Haible  <bruno@clisp.org>
24871
24872         btowc: Avoid warning.
24873         * lib/btowc.c: Include <stdlib.h>.
24874         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24875
24876 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24877             Bruno Haible  <bruno@clisp.org>
24878
24879         wchar: Port to NetBSD 1.5.
24880         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24881         * lib/wctype.in.h (WEOF): Likewise.
24882
24883 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24884             Bruno Haible  <bruno@clisp.org>
24885
24886         Port extended stdio to NetBSD 1.5.
24887         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24888         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24889         older.
24890
24891 2010-04-04  Bruno Haible  <bruno@clisp.org>
24892
24893         string: Remove unused substitution.
24894         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24895         HAVE_DECL_STRERROR.
24896         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24897
24898 2010-04-04  Bruno Haible  <bruno@clisp.org>
24899
24900         strtod: Avoid a possible C++ test error.
24901         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24902         set REPLACE_STRTOD.
24903
24904 2010-04-04  Bruno Haible  <bruno@clisp.org>
24905
24906         strerror: Update documentation.
24907         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24908
24909 2010-04-04  Bruno Haible  <bruno@clisp.org>
24910
24911         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24912         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24913         _GL_CXXALIAS_SYS_CAST.
24914
24915 2010-04-04  Bruno Haible  <bruno@clisp.org>
24916
24917         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24918         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24919         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24920         REPLACE_FREXPL to 1.
24921         * doc/posix-functions/frexpl.texi: Update documentation.
24922
24923 2010-04-04  Bruno Haible  <bruno@clisp.org>
24924
24925         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24926         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24927
24928 2010-04-04  Bruno Haible  <bruno@clisp.org>
24929
24930         Implement nanosleep for native Windows.
24931         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24932
24933 2010-04-04  Bruno Haible  <bruno@clisp.org>
24934
24935         math: Fix some C++ test errors on Solaris 8.
24936         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24937
24938 2010-04-04  Bruno Haible  <bruno@clisp.org>
24939
24940         math: Fix some C++ test errors on Cygwin.
24941         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24942         truncl): Provide declaration if the system does not have it.
24943         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24944         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24945         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24946         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24947         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24948         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24949         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24950         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24951         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24952         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24953         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24954         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24955         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24956         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24957         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24958         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24959         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24960         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24961         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24962         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24963         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24964         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24965
24966 2010-04-04  Bruno Haible  <bruno@clisp.org>
24967
24968         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24969         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24970         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24971         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24972         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24973         * m4/isinf.m4 (gl_ISINF): Likewise.
24974         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24975
24976 2010-04-04  Bruno Haible  <bruno@clisp.org>
24977
24978         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24979         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24980
24981 2010-04-04  Bruno Haible  <bruno@clisp.org>
24982
24983         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24984         * modules/tmpfile (configure.ac): Update.
24985
24986         tmpfile: Fix C++ test error on mingw.
24987         * lib/stdio.in.h (tmpfile): New declaration.
24988         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24989         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24990         * modules/tmpfile (Depends-on): Add stdio.
24991         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24992         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24993         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24994         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24995         REPLACE_TMPFILE.
24996         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24997
24998 2010-04-04  Bruno Haible  <bruno@clisp.org>
24999
25000         ioctl: Fix C++ test error on mingw.
25001         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
25002         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
25003         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
25004
25005 2010-04-03  Bruno Haible  <bruno@clisp.org>
25006
25007         wcwidth: Fix C++ test error on mingw.
25008         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
25009         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
25010         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
25011
25012 2010-04-03  Bruno Haible  <bruno@clisp.org>
25013
25014         nanosleep: Fix C++ test error on mingw.
25015         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
25016         * lib/time.in.h (nanosleep): Use modern idiom.
25017         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
25018         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
25019         REPLACE_NANOSLEEP to 1.
25020         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
25021         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
25022
25023 2010-04-03  Bruno Haible  <bruno@clisp.org>
25024
25025         strptime: Fix C++ test error on mingw.
25026         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
25027         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
25028         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
25029         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
25030         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
25031         not REPLACE_STRPTIME.
25032         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
25033         REPLACE_STRPTIME.
25034
25035 2010-04-03  Bruno Haible  <bruno@clisp.org>
25036
25037         timegm: Fix C++ test error on mingw.
25038         * lib/time.in.h (timegm): Use modern idiom.
25039         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
25040         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
25041         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
25042         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
25043
25044 2010-04-03  Bruno Haible  <bruno@clisp.org>
25045
25046         timegm: Assume declaration if function exists.
25047         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
25048         if it exists. Don't clobber ac_cv_func_timegm.
25049
25050 2010-04-03  Bruno Haible  <bruno@clisp.org>
25051
25052         time_r: Fix C++ test error on mingw.
25053         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
25054         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
25055         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
25056         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
25057         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
25058
25059 2010-04-03  Bruno Haible  <bruno@clisp.org>
25060
25061         time_r: Minor updates.
25062         * modules/time_r (Description): Mention the provided functions.
25063         * lib/time_r.c: Don't include <string.h>.
25064         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
25065         * doc/posix-functions/localtime_r.texi: Likewise.
25066
25067 2010-04-03  Bruno Haible  <bruno@clisp.org>
25068
25069         time: Fix regression introduced on 2010-03-08.
25070         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
25071         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
25072
25073 2010-04-03  Jim Meyering  <meyering@redhat.com>
25074
25075         maint.mk: don't silently disable project-specific syntax-check rules
25076         * top/maint.mk (_prohibit_regexp): Define, to help people realize
25077         that they need to convert their project-specific syntax-check rules
25078         to use the new _sc_search_regexp.
25079
25080 2010-04-03  Bruno Haible  <bruno@clisp.org>
25081
25082         fchdir: Fix regression introduced on 2010-03-08.
25083         * lib/unistd.in.h (fchdir): Fix declaration.
25084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
25085         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
25086         REPLACE_FCHDIR.
25087         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
25088         REPLACE_FCHDIR.
25089
25090 2010-04-03  Bruno Haible  <bruno@clisp.org>
25091
25092         getpagesize: Fix C++ test error on mingw.
25093         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
25094         system does not declare the function.
25095         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
25096         declared.
25097         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25098         HAVE_DECL_GETPAGESIZE.
25099         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
25100
25101 2010-04-03  Bruno Haible  <bruno@clisp.org>
25102
25103         stdio: Make C++ tests work on mingw.
25104         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
25105         does not declare the function.
25106
25107 2010-04-03  Bruno Haible  <bruno@clisp.org>
25108
25109         ftello: Fix C++ test error on mingw.
25110         * lib/stdio.in.h (ftello): Use modern idiom.
25111         * lib/ftello.c (ftello): Renamed from rpl_ftello.
25112         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
25113         is missing and that it needs to be replaced.
25114         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
25115         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
25116         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
25117
25118 2010-04-03  Bruno Haible  <bruno@clisp.org>
25119
25120         fseeko: Fix C++ test error on mingw.
25121         * lib/stdio.in.h (fseeko): Use modern idiom.
25122         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
25123         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
25124         is missing and that it needs to be replaced.
25125         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
25126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
25127         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
25128
25129 2010-04-03  Bruno Haible  <bruno@clisp.org>
25130
25131         mkstemp: Fix C++ test error on mingw.
25132         * lib/stdlib.in.h (mkstemp): Use modern idiom.
25133         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
25134         function is missing and that it needs to be replaced.
25135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
25136         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
25137
25138 2010-04-03  Bruno Haible  <bruno@clisp.org>
25139
25140         stpncpy: Fix C++ test error on mingw.
25141         * lib/string.in.h (stpncpy): Use modern idiom.
25142         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
25143         function is missing and that it needs to be replaced.
25144         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25145         REPLACE_STPNCPY.
25146         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
25147
25148 2010-04-03  Bruno Haible  <bruno@clisp.org>
25149
25150         sys_stat: Fix C++ test error on mingw.
25151         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
25152         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
25153
25154 2010-04-03  Bruno Haible  <bruno@clisp.org>
25155
25156         pty: Update doc.
25157         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
25158
25159 2010-04-03  Bruno Haible  <bruno@clisp.org>
25160
25161         unistd: Fix C++ test error on mingw.
25162         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
25163
25164 2010-04-03  Bruno Haible  <bruno@clisp.org>
25165
25166         Update doc regarding mingw.
25167         * doc/glibc-functions/openpty.texi: Update regarding mingw.
25168         * doc/glibc-functions/login_tty.texi: Likewise.
25169         * doc/glibc-functions/forkpty.texi: Likewise.
25170
25171 2010-04-03  Bruno Haible  <bruno@clisp.org>
25172
25173         stdlib: Avoid compilation failure of c-strtold on mingw.
25174         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
25175
25176 2010-04-03  Bruno Haible  <bruno@clisp.org>
25177
25178         locale: Make C++ tests work on Cygwin and mingw.
25179         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
25180         cannot provide the function.
25181         Reported by Simon Josefsson.
25182
25183 2010-04-03  Bruno Haible  <bruno@clisp.org>
25184
25185         localename: Port to MacOS X 10.6.
25186         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
25187         memory layout of the locales in MacOS X 10.6 as well.
25188         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
25189
25190 2010-04-02  Bruno Haible  <bruno@clisp.org>
25191
25192         gnulib-tool: Ensure that long-running tests are executed last.
25193         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
25194         running tests after the one for the other tests.
25195
25196 2010-04-02  Bruno Haible  <bruno@clisp.org>
25197
25198         gnulib-tool: Ensure the tests in the main directory are executed first.
25199         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
25200         start with the current directory.
25201
25202 2010-04-02  Bruno Haible  <bruno@clisp.org>
25203
25204         Tests for module 'havelib', moved here from GNU gettext.
25205         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
25206         modifications.
25207         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
25208         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
25209         with modifications.
25210         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
25211         modifications.
25212         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
25213         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
25214         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
25215         with modifications.
25216         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
25217         with modifications.
25218         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
25219         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
25220         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
25221         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
25222         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
25223         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
25224         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
25225         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
25226         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
25227         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
25228         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
25229         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
25230         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
25231         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
25232         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
25233         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
25234         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
25235         with modifications.
25236         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
25237         with modifications.
25238         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
25239         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
25240         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
25241         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
25242         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
25243         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
25244         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
25245         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
25246         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
25247         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
25248         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
25249         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
25250         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
25251         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
25252         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
25253         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
25254         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
25255         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
25256         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
25257         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
25258         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
25259         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
25260         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
25261         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
25262         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
25263         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
25264         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
25265         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
25266         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
25267         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
25268         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
25269         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
25270         * tests/havelib/rpathx/rpathx.c: New file, from
25271         gettext/autoconf-lib-link.
25272         * tests/havelib/rpathx/Makefile.am: New file, from
25273         gettext/autoconf-lib-link.
25274         * tests/havelib/rpathx/configure.ac: New file, from
25275         gettext/autoconf-lib-link with modifications.
25276         * tests/havelib/rpathy/rpathy.c: New file, from
25277         gettext/autoconf-lib-link.
25278         * tests/havelib/rpathy/Makefile.am: New file, from
25279         gettext/autoconf-lib-link.
25280         * tests/havelib/rpathy/configure.ac: New file, from
25281         gettext/autoconf-lib-link with modifications.
25282         * tests/havelib/rpathz/rpathz.c: New file, from
25283         gettext/autoconf-lib-link.
25284         * tests/havelib/rpathz/Makefile.am: New file, from
25285         gettext/autoconf-lib-link.
25286         * tests/havelib/rpathz/configure.ac: New file, from
25287         gettext/autoconf-lib-link with modifications.
25288         * tests/havelib/rpathlx/usex.c: New file, from
25289         gettext/autoconf-lib-link.
25290         * tests/havelib/rpathlx/Makefile.am: New file, from
25291         gettext/autoconf-lib-link.
25292         * tests/havelib/rpathlx/configure.ac: New file, from
25293         gettext/autoconf-lib-link with modifications.
25294         * tests/havelib/rpathly/usey.c: New file, from
25295         gettext/autoconf-lib-link.
25296         * tests/havelib/rpathly/Makefile.am: New file, from
25297         gettext/autoconf-lib-link.
25298         * tests/havelib/rpathly/configure.ac: New file, from
25299         gettext/autoconf-lib-link with modifications.
25300         * tests/havelib/rpathlz/usez.c: New file, from
25301         gettext/autoconf-lib-link.
25302         * tests/havelib/rpathlz/Makefile.am: New file, from
25303         gettext/autoconf-lib-link.
25304         * tests/havelib/rpathlz/configure.ac: New file, from
25305         gettext/autoconf-lib-link with modifications.
25306         * tests/havelib/rpathlyx/usey.c: New file, from
25307         gettext/autoconf-lib-link.
25308         * tests/havelib/rpathlyx/Makefile.am: New file, from
25309         gettext/autoconf-lib-link.
25310         * tests/havelib/rpathlyx/configure.ac: New file, from
25311         gettext/autoconf-lib-link with modifications.
25312         * tests/havelib/rpathlzyx/usez.c: New file, from
25313         gettext/autoconf-lib-link.
25314         * tests/havelib/rpathlzyx/Makefile.am: New file, from
25315         gettext/autoconf-lib-link.
25316         * tests/havelib/rpathlzyx/configure.ac: New file, from
25317         gettext/autoconf-lib-link with modifications.
25318         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
25319         with modifications.
25320
25321 2010-04-02  Bruno Haible  <bruno@clisp.org>
25322
25323         gnulib-tool: Create distributed built sources also for the tests.
25324         * gnulib-tool (func_create_testdir): Also generate distributed built
25325         sources in the tests directory.
25326
25327 2010-04-02  Bruno Haible  <bruno@clisp.org>
25328
25329         gnulib-tool: Obey user's environment variables.
25330         * gnulib-tool (func_create_testdir): When creating built sources,
25331         respect the environment variables for autoconf, automake, etc. given by
25332         the user.
25333
25334 2010-04-02  Bruno Haible  <bruno@clisp.org>
25335
25336         gnulib-tool: Provide the value of --m4-base to modules.
25337         * gnulib-tool (func_import, func_create_testdir): Emit a definition
25338         of gl_m4_base.
25339
25340 2010-04-02  Eric Blake  <eblake@redhat.com>
25341
25342         maint.mk: fix some fallout
25343         * NEWS: Document the incompatible change, and its effect on cfg.mk.
25344         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
25345
25346 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
25347
25348         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
25349         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
25350         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
25351         (sc_cast_of_x_alloc_return_value): Likewise.
25352         (sc_cast_of_alloca_return_value): Likewise.
25353         (sc_space_tab): Likewise.
25354         (sc_prohibit_atoi_atof): Likewise.
25355         (sc_prohibit_magic_number_exit): Likewise.
25356         (sc_error_exit_success): Likewise.
25357         (sc_file_system): Likewise.
25358         (sc_prohibit_have_config_h): Likewise.
25359         (sc_require_config_h): Likewise.
25360         (sc_prohibit_HAVE_MBRTOWC): Likewise.
25361         (sc_obsolete_symbols): Likewise.
25362         (sc_changelog): Likewise.
25363         (sc_program_name): Likewise.
25364         (sc_the_the): Likewise.
25365         (sc_trailing_blank): Likewise.
25366         (sc_two_space_separator_in_usage): Likewise.
25367         (sc_useless_cpp_parens): Likewise.
25368         (sc_GPL_version): Likewise.
25369         (sc_GFDL_version): Likewise.
25370         (sc_texinfo_acronym): Likewise.
25371         (sc_prohibit_cvs_keyword): Likewise.
25372         (sc_prohibit_stat_st_blocks): Likewise.
25373         (sc_prohibit_S_IS_definition): Likewise.
25374         (sc_redundant_const): Likewise.
25375         (sc_makefile_TAB_only_indentation): Likewise.
25376         (sc_m4_quote_check): Likewise.
25377         (sc_makefile_path_separator_check): Likewise.
25378         (sc_copyright_check): Likewise.
25379         (sc_Wundef_boolean): Likewise.
25380         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25381
25382         maint.mk: match 0 or more whitespace-before-function-call '('
25383         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
25384         that have zero or two-and-more spaces between the function name
25385         and the open parenthesis.
25386         (sc_error_message_warn_fatal): Likewise.
25387         (sc_error_message_uppercase): Likewise.
25388         (sc_error_message_period): Likewise.
25389
25390 2010-03-31  Eric Blake  <eblake@redhat.com>
25391
25392         maint.mk: check for [ as well as test
25393         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
25394         Based on a libvirt report by Matthias Bolte.
25395
25396         gnumakefile: don't squelch _version output
25397         * top/GNUmakefile (_version): Create one-shot dependency rather
25398         than using $(shell) when version must be regenerated.
25399         (_autoreconf): Run verbosely, by default.
25400
25401         sys_time: avoid compiler warnings
25402         * lib/sys_time.in.h (includes): Ensure gcc pragma is
25403         unconditional, fixing regression from 2010-03-29.
25404         Reported by Simon Josefsson.
25405
25406 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
25407
25408         maint.mk: s/_header_without_use/_sc_header_without_use/
25409         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
25410         (sc_prohibit_assert_without_use): Use the new name.
25411         (sc_prohibit_close_stream_without_use): Likewise.
25412         (sc_prohibit_getopt_without_use): Likewise.
25413         (sc_prohibit_quotearg_without_use): Likewise.
25414         (sc_prohibit_quote_without_use): Likewise.
25415         (sc_prohibit_long_options_without_use): Likewise.
25416         (sc_prohibit_inttostr_without_use): Likewise.
25417         (sc_prohibit_ignore_value_without_use): Likewise.
25418         (sc_prohibit_error_without_use): Likewise.
25419         (sc_prohibit_xalloc_without_use): Likewise.
25420         (sc_prohibit_hash_without_use): Likewise.
25421         (sc_prohibit_hash_pjw_without_use): Likewise.
25422         (sc_prohibit_safe_read_without_use): Likewise.
25423         (sc_prohibit_argmatch_without_use): Likewise.
25424         (sc_prohibit_canonicalize_without_use): Likewise.
25425         (sc_prohibit_root_dev_ino_without_use): Likewise.
25426         (sc_prohibit_openat_without_use): Likewise.
25427         (sc_prohibit_c_ctype_without_use): Likewise.
25428         (sc_prohibit_signal_without_use): Likewise.
25429         (sc_prohibit_intprops_without_use): Likewise.
25430
25431 2010-03-30  Eric Blake  <eblake@redhat.com>
25432
25433         maint: improve module indicators
25434         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
25435         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
25436         columns, and avoid extra macro expansion.
25437
25438         fdopendir: work around FreeBSD bug
25439         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
25440         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
25441         * modules/dirent (Makefile.am): Substitute it.
25442         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
25443         declaration.
25444         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
25445         fix.
25446         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25447
25448 2010-03-29  Bruno Haible  <bruno@clisp.org>
25449
25450         Emit #pragma system_header after the inclusion guard, not before.
25451         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
25452         guard that spans the entire file, not before. This enables an
25453         optimization in GCC's preprocessor.
25454         * lib/ctype.in.h: Likewise.
25455         * lib/dirent.in.h: Likewise.
25456         * lib/errno.in.h: Likewise.
25457         * lib/float.in.h: Likewise.
25458         * lib/getopt.in.h: Likewise.
25459         * lib/iconv.in.h: Likewise.
25460         * lib/langinfo.in.h: Likewise.
25461         * lib/locale.in.h: Likewise.
25462         * lib/math.in.h: Likewise.
25463         * lib/netdb.in.h: Likewise.
25464         * lib/netinet_in.in.h: Likewise.
25465         * lib/pty.in.h: Likewise.
25466         * lib/sched.in.h: Likewise.
25467         * lib/se-selinux.in.h: Likewise.
25468         * lib/search.in.h: Likewise.
25469         * lib/spawn.in.h: Likewise.
25470         * lib/stdarg.in.h: Likewise.
25471         * lib/stdint.in.h: Likewise.
25472         * lib/string.in.h: Likewise.
25473         * lib/strings.in.h: Likewise.
25474         * lib/sys_file.in.h: Likewise.
25475         * lib/sys_ioctl.in.h: Likewise.
25476         * lib/sys_time.in.h: Likewise.
25477         * lib/sys_times.in.h: Likewise.
25478         * lib/sys_utsname.in.h: Likewise.
25479         * lib/sys_wait.in.h: Likewise.
25480         * lib/sysexits.in.h: Likewise.
25481         * lib/wctype.in.h: Likewise.
25482
25483 2010-03-28  James Youngman  <jay@gnu.org>
25484
25485         save-cwd: don't leak a file descriptor when the caller execs.
25486         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
25487         saved file descriptor.
25488         * modules/save-cwd (Depends-on): Depend on cloexec.
25489
25490 2010-03-29  Bruno Haible  <bruno@clisp.org>
25491
25492         Remove vestiges of fts-lgpl module.
25493         * lib/fts_.h: Assume GNULIB_FTS is 1.
25494         * lib/fts.c: Likewise.
25495         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
25496
25497 2010-03-28  Bruno Haible  <bruno@clisp.org>
25498
25499         Fix definition of tests witness macro.
25500         * gnulib-tool (func_import): Fix definition of witness macro.
25501
25502 2010-03-28  Bruno Haible  <bruno@clisp.org>
25503
25504         Fix ioctl's protoype on glibc systems.
25505         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
25506         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
25507         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
25508         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
25509         signature. If not, arrange to replace the ioctl function.
25510         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
25511         REPLACE_IOCTL.
25512         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
25513         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
25514         Reported by Ludovic Courtès <ludo@gnu.org>.
25515
25516 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
25517
25518         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
25519         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
25520         made it so grep -r --include=GLOB* ... did not work.
25521
25522 2010-03-26  Jim Meyering  <meyering@redhat.com>
25523             Eric Blake  <eblake@redhat.com>
25524
25525         maint.mk: prohibit use of test's -o and -a operators
25526         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
25527
25528 2010-03-28  Bruno Haible  <bruno@clisp.org>
25529
25530         Remove unused GNULIB_XYZ macro definitions.
25531         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
25532         invocation.
25533
25534 2010-03-28  Bruno Haible  <bruno@clisp.org>
25535
25536         Mark privileged tests modules.
25537         * modules/idpriv-drop-tests (Status): New section.
25538         * modules/idpriv-droptemp-tests (Status): New section.
25539
25540 2010-03-28  Bruno Haible  <bruno@clisp.org>
25541
25542         Split C++ tests into separate tests modules.
25543         * modules/dirent-c++-tests: New file, extracted from
25544         modules/dirent-tests.
25545         * modules/dirent-tests: Depend on it.
25546         * modules/fcntl-h-c++-tests: New file, extracted from
25547         modules/fcntl-h-tests.
25548         * modules/fcntl-h-tests: Depend on it.
25549         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
25550         * modules/glob-tests: Depend on it.
25551         * modules/iconv-h-c++-tests: New file, extracted from
25552         modules/iconv-h-tests.
25553         * modules/iconv-h-tests: Depend on it.
25554         * modules/langinfo-c++-tests: New file, extracted from
25555         modules/langinfo-tests.
25556         * modules/langinfo-tests: Depend on it.
25557         * modules/locale-c++-tests: New file, extracted from
25558         modules/locale-tests.
25559         * modules/locale-tests: Depend on it.
25560         * modules/math-c++-tests: New file, extracted from modules/math-tests.
25561         * modules/math-tests: Depend on it.
25562         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
25563         * modules/pty-tests: Depend on it.
25564         * modules/search-c++-tests: New file, extracted from
25565         modules/search-tests.
25566         * modules/search-tests: Depend on it.
25567         * modules/signal-c++-tests: New file, extracted from
25568         modules/signal-tests.
25569         * modules/signal-tests: Depend on it.
25570         * modules/spawn-c++-tests: New file, extracted from
25571         modules/spawn-tests.
25572         * modules/spawn-tests: Depend on it.
25573         * modules/stdio-c++-tests: New file, extracted from
25574         modules/stdio-tests.
25575         * modules/stdio-tests: Depend on it.
25576         * modules/stdlib-c++-tests: New file, extracted from
25577         modules/stdlib-tests.
25578         * modules/stdlib-tests: Depend on it.
25579         * modules/string-c++-tests: New file, extracted from
25580         modules/string-tests.
25581         * modules/string-tests: Depend on it.
25582         * modules/sys_ioctl-c++-tests: New file, extracted from
25583         modules/sys_ioctl-tests.
25584         * modules/sys_ioctl-tests: Depend on it.
25585         * modules/sys_select-c++-tests: New file, extracted from
25586         modules/sys_select-tests.
25587         * modules/sys_select-tests: Depend on it.
25588         * modules/sys_socket-c++-tests: New file, extracted from
25589         modules/sys_socket-tests.
25590         * modules/sys_socket-tests: Depend on it.
25591         * modules/sys_stat-c++-tests: New file, extracted from
25592         modules/sys_stat-tests.
25593         * modules/sys_stat-tests: Depend on it.
25594         * modules/sys_time-c++-tests: New file, extracted from
25595         modules/sys_time-tests.
25596         * modules/sys_time-tests: Depend on it.
25597         * modules/time-c++-tests: New file, extracted from modules/time-tests.
25598         * modules/time-tests: Depend on it.
25599         * modules/unistd-c++-tests: New file, extracted from
25600         modules/unistd-tests.
25601         * modules/unistd-tests: Depend on it.
25602         * modules/wchar-c++-tests: New file, extracted from
25603         modules/wchar-tests.
25604         * modules/wchar-tests: Depend on it.
25605         * modules/wctype-c++-tests: New file, extracted from
25606         modules/wctype-tests.
25607         * modules/wctype-tests: Depend on it.
25608         Reported by Simon Josefsson.
25609
25610 2010-03-28  Bruno Haible  <bruno@clisp.org>
25611
25612         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
25613         * gnulib-tool (func_exists_module): New function, extracted from
25614         func_verify_module.
25615         (func_verify_module): Use it.
25616         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
25617         'foo' only if 'foo' exists.
25618         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
25619         module.
25620
25621 2010-03-28  Bruno Haible  <bruno@clisp.org>
25622
25623         gnulib-tool: Add support for special categories of tests.
25624         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
25625         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
25626         (func_usage): Document them.
25627         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
25628         inc_unportable_tests, inc_all_tests): New variables.
25629         (func_acceptable): Consider these variables.
25630         (func_modules_transitive_closure): Make it work when the 'Status' field
25631         consists of multiple words.
25632         (func_import): Store and restore the values of inc_cxx_tests,
25633         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
25634         inc_all_tests in gnulib-comp.m4.
25635         (func_create_testdir): Set inc_all_tests to true.
25636         * doc/gnulib.texi (Extra tests modules): New section.
25637         Suggested by Jim Meyering.
25638
25639 2010-03-28  Bruno Haible  <bruno@clisp.org>
25640
25641         ansi-c++-opt: Allow turning off the C++ build by default.
25642         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
25643         gl_CXX_CHOICE_DEFAULT_NO is defined.
25644         Requested by Eric Blake.
25645
25646 2010-03-28  Bruno Haible  <bruno@clisp.org>
25647
25648         unistd: Avoid #define replacements in C++ mode.
25649         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
25650         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
25651         setsockopt, shutdown, select): In C++, attach a warning to the function
25652         if possible, rather than #defining the symbol to a dysfunctional alias.
25653         Reported by John W. Eaton <jwe@gnu.org>.
25654
25655 2010-03-28  Bruno Haible  <bruno@clisp.org>
25656
25657         Fix link errors on mingw.
25658         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
25659         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
25660         $(LIBSOCKET).
25661         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
25662         $(LIBSOCKET).
25663
25664 2010-03-28  Bruno Haible  <bruno@clisp.org>
25665             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25666
25667         lib-ignore: Determine different options for different compilers.
25668         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
25669         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
25670         Add comments.
25671         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
25672         * NEWS: Mention the change.
25673
25674 2010-03-27  Bruno Haible  <bruno@clisp.org>
25675
25676         Remove unused GNULIB_XYZ macro definitions.
25677         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
25678         * modules/fseek (configure.ac): Likewise.
25679         * modules/ioctl (configure.ac): Likewise.
25680         * modules/open (configure.ac): Likewise.
25681         * modules/stdlib-safer (configure.ac): Likewise.
25682
25683 2010-03-27  Bruno Haible  <bruno@clisp.org>
25684
25685         Add a remark about certain modules.
25686         * modules/malloc (Comment): New section.
25687         * modules/realloc (Comment): Likewise.
25688         * modules/sigpipe (Comment): Likewise.
25689
25690 2010-03-27  Bruno Haible  <bruno@clisp.org>
25691
25692         Resolve conflict between the two kinds of module indicators.
25693         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
25694         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
25695         * modules/canonicalize (configure.ac): Invoke
25696         gl_MODULE_INDICATOR_FOR_TESTS.
25697         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
25698         GNULIB_XYZ.
25699         * tests/test-dirent-c++.cc: Likewise.
25700         * tests/test-dirent-safer.c: Likewise.
25701         * tests/test-dup2.c: Likewise.
25702         * tests/test-fchdir.c: Likewise.
25703         * tests/test-fcntl-h-c++.cc: Likewise.
25704         * tests/test-getopt.c: Likewise.
25705         * tests/test-getopt.h: Likewise.
25706         * tests/test-langinfo-c++.cc: Likewise.
25707         * tests/test-locale-c++.cc: Likewise.
25708         * tests/test-math-c++.cc: Likewise.
25709         * tests/test-pty-c++.cc: Likewise.
25710         * tests/test-search-c++.cc: Likewise.
25711         * tests/test-signal-c++.cc: Likewise.
25712         * tests/test-spawn-c++.cc: Likewise.
25713         * tests/test-stdio-c++.cc: Likewise.
25714         * tests/test-stdlib-c++.cc: Likewise.
25715         * tests/test-string-c++.cc: Likewise.
25716         * tests/test-sys_ioctl-c++.cc: Likewise.
25717         * tests/test-sys_select-c++.cc: Likewise.
25718         * tests/test-sys_socket-c++.cc: Likewise.
25719         * tests/test-sys_stat-c++.cc: Likewise.
25720         * tests/test-sys_time-c++.cc: Likewise.
25721         * tests/test-time-c++.cc: Likewise.
25722         * tests/test-unistd-c++.cc: Likewise.
25723         * tests/test-wchar-c++.cc: Likewise.
25724         * tests/uninorm/test-u8-nfc.c: Likewise.
25725         * tests/uninorm/test-u8-nfd.c: Likewise.
25726         * tests/uninorm/test-u8-nfkc.c: Likewise.
25727         * tests/uninorm/test-u8-nfkd.c: Likewise.
25728         * tests/uninorm/test-u16-nfc.c: Likewise.
25729         * tests/uninorm/test-u16-nfd.c: Likewise.
25730         * tests/uninorm/test-u16-nfkc.c: Likewise.
25731         * tests/uninorm/test-u16-nfkd.c: Likewise.
25732         * tests/uninorm/test-u32-nfc.c: Likewise.
25733         * tests/uninorm/test-u32-nfc-big.c: Likewise.
25734         * tests/uninorm/test-u32-nfd.c: Likewise.
25735         * tests/uninorm/test-u32-nfd-big.c: Likewise.
25736         * tests/uninorm/test-u32-nfkc.c: Likewise.
25737         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
25738         * tests/uninorm/test-u32-nfkd.c: Likewise.
25739         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
25740         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25741
25742 2010-03-27  Bruno Haible  <bruno@clisp.org>
25743
25744         Distinguish two kinds of module indicators.
25745         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
25746         gl_MODULE_INDICATOR.
25747         (gl_MODULE_INDICATOR): New macro.
25748         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25749         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
25750         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25751         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25752         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25753         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25754         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25755         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25756         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25757         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25758         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25759         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25760         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25761         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25762         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25763         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25764         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25765         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25766         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25767         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25768         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25769         * modules/cloexec (configure.ac): Likewise.
25770         * modules/getopt-gnu (configure.ac): Likewise.
25771         * modules/uninorm/u8-normalize (configure.ac): Likewise.
25772         * modules/uninorm/u16-normalize (configure.ac): Likewise.
25773         * modules/uninorm/u32-normalize (configure.ac): Likewise.
25774         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
25775
25776 2010-03-27  Bruno Haible  <bruno@clisp.org>
25777
25778         New module description field 'Comment'.
25779         * gnulib-tool: New option --extract-comment.
25780         (func_usage): Document it.
25781         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
25782         (func_get_comment): New function.
25783         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
25784
25785 2010-03-27  Bruno Haible  <bruno@clisp.org>
25786
25787         Addendum to 2010-02-07 commit.
25788         * gnulib-tool (func_usage): Document --extract-applicability option.
25789
25790 2010-03-27  Bruno Haible  <bruno@clisp.org>
25791
25792         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
25793         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
25794         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
25795         rather than link errors.
25796
25797 2010-03-27  Bruno Haible  <bruno@clisp.org>
25798
25799         Avoid side effects from tests-related modules on the compilation of lib.
25800         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
25801         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
25802         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
25803         parameter. Emit into AM_CPPFLAGS a definition of the designated C
25804         macro.
25805         (func_import): Define a witness macro. Assign it a value that depends
25806         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
25807         tests-related modules.
25808         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
25809         Reported by Jim Meyering.
25810
25811 2010-03-27  Bruno Haible  <bruno@clisp.org>
25812
25813         Factorize common .m4 code.
25814         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
25815         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
25816         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
25817         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
25818         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25819         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
25820         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
25821         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25822         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25823         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25824         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
25825         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25826         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25827         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25828         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25829         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
25830         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25831         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25832         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25833         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
25834         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
25835         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25836         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25837         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25838         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25839         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25840         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25841         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25842         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25843         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25844         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25845         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25846
25847 2010-03-27  Bruno Haible  <bruno@clisp.org>
25848
25849         Fix a compilation error on Cygwin with g++ >= 4.3.
25850         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25851         if it is undefined or if we alias it to chmod.
25852         (lstat): Don't warn about the use of this function if it is undefined
25853         or if we alias it to stat.
25854         Reported by Simon Josefsson.
25855
25856 2010-03-27  Bruno Haible  <bruno@clisp.org>
25857
25858         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25859         * modules/getlogin (configure.ac): Update.
25860
25861         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25862         * modules/getlogin_r (configure.ac): Update.
25863
25864         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25865         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25866         * modules/inet_ntop (configure.ac): Update.
25867
25868         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25869         * modules/inet_pton (configure.ac): Update.
25870
25871         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25872         * modules/mbslen (configure.ac): Update.
25873
25874         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25875         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25876         * modules/forkpty (configure.ac): Update.
25877         * modules/openpty (configure.ac): Update.
25878
25879 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25880
25881         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25882         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25883
25884 2010-03-25  Eric Blake  <eblake@redhat.com>
25885
25886         maint: use pragma consistently across replacement headers
25887         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25888         * lib/dirent.in.h (system_header): Likewise.
25889         * lib/errno.in.h (system_header): Likewise.
25890         * lib/float.in.h (system_header): Likewise.
25891         * lib/getopt.in.h (system_header): Likewise.
25892         * lib/iconv.in.h (system_header): Likewise.
25893         * lib/inttypes.in.h (system_header): Likewise.
25894         * lib/langinfo.in.h (system_header): Likewise.
25895         * lib/locale.in.h (system_header): Likewise.
25896         * lib/math.in.h (system_header): Likewise.
25897         * lib/netdb.in.h (system_header): Likewise.
25898         * lib/netinet_in.in.h (system_header): Likewise.
25899         * lib/pty.in.h (system_header): Likewise.
25900         * lib/sched.in.h (system_header): Likewise.
25901         * lib/se-selinux.in.h (system_header): Likewise.
25902         * lib/search.in.h (system_header): Likewise.
25903         * lib/spawn.in.h (system_header): Likewise.
25904         * lib/stdarg.in.h (system_header): Likewise.
25905         * lib/stdint.in.h (system_header): Likewise.
25906         * lib/string.in.h (system_header): Likewise.
25907         * lib/strings.in.h (system_header): Likewise.
25908         * lib/sys_file.in.h (system_header): Likewise.
25909         * lib/sys_ioctl.in.h (system_header): Likewise.
25910         * lib/sys_socket.in.h (system_header): Likewise.
25911         * lib/sys_times.in.h (system_header): Likewise.
25912         * lib/sys_utsname.in.h (system_header): Likewise.
25913         * lib/sys_wait.in.h (system_header): Likewise.
25914         * lib/sysexits.in.h (system_header): Likewise.
25915         * lib/unistd.in.h (system_header): Likewise.
25916         * lib/wctype.in.h (system_header): Likewise.
25917
25918         arpa/inet: fix mingw compilation warning
25919         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25920         Reported by Matthew Bolte.
25921
25922 2010-03-25  Bruno Haible  <bruno@clisp.org>
25923
25924         Avoid collision between gnulib wrapper and libintl wrapper.
25925         * lib/printf.c (printf): Don't define if a printf wrapper is already
25926         defined in intl/printf.c.
25927         Reported by Michel Boaventura <michel@michelboaventura.com>.
25928
25929 2010-03-25  Bruno Haible  <bruno@clisp.org>
25930
25931         Use ANSI C.
25932         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25933
25934 2010-03-25  Bruno Haible  <bruno@clisp.org>
25935
25936         Minor formatting changes.
25937         * lib/acosl.c: Insert space before function argument list.
25938         * lib/argz.c: Likewise.
25939         * lib/asinl.c: Likewise.
25940         * lib/expl.c: Likewise.
25941         * lib/gen-uni-tables.c: Likewise.
25942         * lib/gettext.h: Likewise.
25943         * lib/glthread/lock.h: Likewise.
25944         * lib/tanl.c: Likewise.
25945         * lib/uniname/uniname.c: Likewise.
25946         * tests/test-idpriv-drop.c: Likewise.
25947         * tests/test-idpriv-droptemp.c: Likewise.
25948         * tests/test-lock.c: Likewise.
25949         * tests/test-tls.c: Likewise.
25950         * lib/argp-help.c: Insert space before function-like macro argument
25951         list.
25952         * lib/memcmp.c: Likewise.
25953         * tests/test-base64.c: Likewise.
25954         * lib/localename.c: Insert space before sizeof's argument list.
25955         * lib/safe-alloc.h: Likewise.
25956         * lib/file-set.h: Insert space before macro argument list.
25957         * tests/test-argp.c: Likewise.
25958         * lib/argp-namefrob.h: Insert space before function parameter list.
25959         * lib/getaddrinfo.c: Likewise.
25960         * lib/netdb.in.h: Likewise.
25961         * lib/parse-duration.h: Likewise.
25962         * lib/parse-duration.c: Likewise.
25963         * lib/poll.c: Likewise.
25964         * lib/select.c: Likewise.
25965         * lib/trim.h: Likewise.
25966         * tests/test-usleep.c: Likewise.
25967         * lib/ldexpl.c: Insert space before function parameter list and before
25968         function argument list.
25969         * lib/logl.c: Likewise.
25970         * lib/sqrtl.c: Likewise.
25971         * lib/trim.c: Likewise.
25972         * lib/cosl.c: Use GNU style indentation. Insert space before function
25973         argument list.
25974         * lib/sinl.c: Likewise.
25975         * lib/tsearch.c: Insert space after 'for'.
25976         Reported by Jim Meyering.
25977
25978 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25979
25980         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25981         config header before grepping, as it's not present before
25982         autoreconf/configure are run.  Reported by Simon Josefsson.
25983
25984 2010-03-23  Bruno Haible  <bruno@clisp.org>
25985
25986         pt_chown: Make it work with automake < 1.11.
25987         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25988         Reported by Simon Josefsson.
25989
25990 2010-03-23  Bruno Haible  <bruno@clisp.org>
25991
25992         pt_chown: Don't depend on GPLed modules.
25993         * lib/pt_chown.c: Don't include idpriv.h.
25994         (main): Don't drop privileges.
25995         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25996         Reported by Simon Josefsson.
25997
25998 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25999
26000         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
26001         suggestions from karl@freefriends.org (Karl Berry).
26002
26003 2010-03-22  Eric Blake  <eblake@redhat.com>
26004
26005         gethostname: further tweaks
26006         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
26007         are overriding gethostname.
26008         Suggested by Bruno Haible.
26009
26010 2010-03-21  Bruno Haible  <bruno@clisp.org>
26011
26012         Fix comments.
26013         * lib/forkpty.c (rpl_forkpty): Fix comment.
26014         * lib/openpty.c (rpl_openpty): Likewise.
26015         Reported by Eric Blake.
26016
26017 2010-03-22  Eric Blake  <eblake@redhat.com>
26018
26019         gethostname: fix build on mingw
26020         * lib/unistd.in.h (includes): Work around fact that mingw
26021         <winsock2.h> re-includes <unistd.h>, by avoiding any
26022         redeclarations if we are being included by <winsock2.h>.
26023         Reported by Matthias Bolte.
26024
26025 2010-03-21  Bruno Haible  <bruno@clisp.org>
26026
26027         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
26028         * lib/forkpty.c (forkpty): New replacement function, from glibc with
26029         modifications.
26030         * lib/pty.in.h (forkpty): Update declaration. Add comments.
26031         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
26032         provide the replacement.
26033         * modules/forkpty (Depends-on): Add openpty, login_tty.
26034         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
26035         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
26036         * doc/glibc-functions/forkpty.texi: More supported platforms.
26037         * config/srclist.txt: Add forkpty.c (commented).
26038
26039 2010-03-21  Bruno Haible  <bruno@clisp.org>
26040
26041         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
26042         (Makefile.am): Verify that PTY_LIB is defined.
26043
26044         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
26045
26046 2010-03-21  Bruno Haible  <bruno@clisp.org>
26047
26048         Tests for module 'login_tty'.
26049         * modules/login_tty-tests: New file.
26050         * tests/test-login_tty.c: New file.
26051
26052         New module 'login_tty'.
26053         * lib/login_tty.c: New file.
26054         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
26055         * modules/login_tty: New file.
26056         * doc/glibc-functions/login_tty.texi: Mention the new module.
26057
26058 2010-03-21  Bruno Haible  <bruno@clisp.org>
26059
26060         login_tty: Documentation.
26061         * doc/glibc-functions/login_tty.texi: New file.
26062         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
26063
26064 2010-03-21  Bruno Haible  <bruno@clisp.org>
26065
26066         pty: Consistent macro naming.
26067         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
26068         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
26069         * modules/pty (configure.ac): Update.
26070
26071 2010-03-21  Bruno Haible  <bruno@clisp.org>
26072
26073         Tests for openpty: Make stricter.
26074         * tests/test-openpty.c (main): Add test of canonical processing and
26075         erase.
26076         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
26077
26078         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
26079         * lib/openpty.c (openpty): New replacement function.
26080         * lib/pty.in.h: Include <termios.h>.
26081         (openpty): Update declaration. Add comments.
26082         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
26083         is not declared, arrange to provide the replacement. Check for _getpty
26084         and posix_openpt.
26085         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
26086         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
26087         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
26088         * modules/pty-tests (test_pty_c___LDADD): New variable.
26089         * doc/glibc-functions/openpty.texi: More supported platforms.
26090
26091 2010-03-21  Bruno Haible  <bruno@clisp.org>
26092
26093         setenv: Tweaks.
26094         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
26095         the test program.
26096         * doc/posix-functions/setenv.texi: Update platforms list.
26097
26098 2010-03-21  Bruno Haible  <bruno@clisp.org>
26099
26100         New module 'unlockpt'.
26101         * lib/unlockpt.c: New file, from glibc with modifications.
26102         * m4/unlockpt.m4: New file.
26103         * modules/unlockpt: New file.
26104         * lib/stdlib.in.h (unlockpt): New declaration.
26105         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
26106         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
26107         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
26108         HAVE_UNLOCKPT.
26109         * doc/posix-functions/unlockpt.texi: Mention the new module.
26110         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
26111         * config/srclist.txt: Add unlockpt.c (commented).
26112
26113 2010-03-21  Jim Meyering  <meyering@redhat.com>
26114
26115         maint.mk: prohibit inclusion of "intprops.h" without use
26116         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
26117
26118 2010-03-21  Bruno Haible  <bruno@clisp.org>
26119
26120         New module 'grantpt'.
26121         * lib/grantpt.c: New file, from glibc with modifications.
26122         * m4/grantpt.m4: New file.
26123         * modules/grantpt: New file.
26124         * lib/stdlib.in.h (grantpt): New declaration.
26125         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
26126         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
26127         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
26128         HAVE_GRANTPT.
26129         * doc/posix-functions/grantpt.texi: Mention the new module.
26130         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
26131         * config/srclist.txt: Add grantpt.c (commented).
26132
26133 2010-03-21  Bruno Haible  <bruno@clisp.org>
26134
26135         New module 'pt_chown'.
26136         * lib/pt_chown.c: New file, from glibc with modifications.
26137         * lib/pty-private.h: New file, from glibc with modifications.
26138         * modules/pt_chown: New file.
26139         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
26140
26141 2010-03-21  Bruno Haible  <bruno@clisp.org>
26142
26143         Tests for module 'ptsname'.
26144         * modules/ptsname-tests: New file.
26145         * tests/test-ptsname.c: New file.
26146
26147         New module 'ptsname'.
26148         * lib/ptsname.c: New file, from glibc with modifications.
26149         * m4/ptsname.m4: New file.
26150         * modules/ptsname: New file.
26151         * lib/stdlib.in.h (ptsname): New declaration.
26152         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
26153         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
26154         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
26155         HAVE_PTSNAME.
26156         * doc/posix-functions/ptsname.texi: Mention the new module.
26157         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
26158         * config/srclist.txt: Add ptsname.c (commented).
26159
26160 2010-03-21  Bruno Haible  <bruno@clisp.org>
26161
26162         Tests for module 'ttyname_r'.
26163         * modules/ttyname_r-tests: New file.
26164         * tests/test-ttyname_r.c: New file.
26165
26166         New module 'ttyname_r'.
26167         * lib/ttyname_r.c: New file.
26168         * m4/ttyname_r.m4: New file.
26169         * modules/ttyname_r: New file.
26170         * lib/unistd.in.h (ttyname_r): New declaration.
26171         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
26172         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
26173         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
26174         HAVE_TTYNAME_R.
26175         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
26176         * doc/posix-functions/ttyname_r.texi: Mention the new module.
26177
26178 2010-03-20  Bruno Haible  <bruno@clisp.org>
26179
26180         signal: Undefine macro definitions in C++ mode.
26181         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
26182         sigfillset): Undefine macro definitions from the system header in C++
26183         mode.
26184         Reported by John W. Eaton <jwe@gnu.org>.
26185
26186 2010-03-20  Bruno Haible  <bruno@clisp.org>
26187
26188         Ensure no #include statements inside extern "C" { ... }.
26189         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
26190         contain #include statements.
26191         * lib/time.in.h: Likewise.
26192
26193 2010-03-20  Bruno Haible  <bruno@clisp.org>
26194
26195         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
26196         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
26197         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
26198         Reported by John W. Eaton <jwe@gnu.org>.
26199
26200 2010-03-20  Bruno Haible  <bruno@clisp.org>
26201
26202         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
26203         Reported by Jim Meyering.
26204
26205 2010-03-20  Bruno Haible  <bruno@clisp.org>
26206
26207         pipe: Set errno upon failure.
26208         * lib/pipe.h: Specify that when -1 is returned, errno is set.
26209         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
26210         errno value in error message.
26211
26212 2010-03-20  Bruno Haible  <bruno@clisp.org>
26213             Jim Meyering  <meyering@redhat.com>
26214
26215         lchown: Avoid "unused variable" warning.
26216         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
26217
26218 2010-03-20  Bruno Haible  <bruno@clisp.org>
26219
26220         Work around unlink() bug on MacOS X 10.5.6.
26221         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
26222         attempting to unlink a parent directory.
26223         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
26224         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
26225         activate for the replacement function.
26226         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
26227
26228 2010-03-20  Bruno Haible  <bruno@clisp.org>
26229
26230         Fix link errors on Solaris 8.
26231         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
26232         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
26233
26234 2010-03-19  Jim Meyering  <meyering@redhat.com>
26235
26236         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
26237         The _LIBC implementation of build_range_exp correctly honors the
26238         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
26239         However, the non-_LIBC implementation would ignore that syntax-bit
26240         flag and return REG_ERANGE unconditionally.
26241         This change makes it honor that flag.
26242         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
26243         Make two pointer parameters "const".
26244         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
26245         (parse_bracket_exp): Update caller.
26246
26247         regex.m4: correct the reversed range endpoint ([b-a]) test
26248         * m4/regex.m4: When requiring that [b-a] evoke failure,
26249         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
26250         test pass once again for x86-based systems.
26251
26252 2010-03-19  Bruno Haible  <bruno@clisp.org>
26253
26254         scandir: Fix link error on Solaris 8.
26255         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
26256         macros.
26257
26258 2010-03-19  Bruno Haible  <bruno@clisp.org>
26259
26260         getusershell: Fix documentation.
26261         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
26262         module.
26263         * doc/glibc-functions/setusershell.texi: Likewise.
26264
26265         getusershell: Provide declaration, missing on Solaris 9.
26266         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
26267         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
26268         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
26269         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
26270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26271         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
26272         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
26273         HAVE_GETUSERSHELL.
26274         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
26275
26276 2010-03-19  Bruno Haible  <bruno@clisp.org>
26277
26278         wctype: Provide iswblank function.
26279         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
26280         exists and is fine.
26281         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
26282         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
26283         * tests/test-wctype.c (main): Re-enable the iswblank tests.
26284         * doc/posix-functions/iswblank.texi: Update.
26285
26286 2010-03-19  Bruno Haible  <bruno@clisp.org>
26287
26288         Tests of module 'pty' in C++ mode.
26289         * modules/pty-tests: New file.
26290         * tests/test-pty-c++.cc: New file.
26291         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26292
26293 2010-03-19  Eric Blake  <eblake@redhat.com>
26294
26295         logb: fix documentation
26296         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
26297         1.5 declaration bug.
26298
26299         forkpty, openpty: prefer glibc's const-safe prototype
26300         * lib/forkpty.c (rpl_forkpty): New file.
26301         * lib/openpty.c (rpl_openpty): Likewise.
26302         * modules/forkpty (Files): Distribute it.
26303         * modules/openpty (Files): Likewise.
26304         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
26305         check...
26306         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
26307         replacement for for non-const BSD signature.
26308         * modules/pty (Makefile.am): Substitute witnesses.
26309         * lib/pty.in.h (forkpty, openpty): Declare replacements.
26310         * tests/test-forkpty.c: Update signature check.
26311         * tests/test-openpty.c: Likewise.
26312         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
26313         * doc/glibc-functions/openpty.texi (openpty): Likewise.
26314
26315         forkpty, openpty: split functions into new modules
26316         * modules/pty (Makefile.am): Substitute new witnesses.
26317         (Libraries): Move library detection...
26318         * modules/forkpty: ...into new module.
26319         * modules/openpty: Another new module.
26320         * modules/pty-tests: Rename and split...
26321         * modules/forkpty-tests: ...to this...
26322         * modules/openpty-tests: ...and this.
26323         * tests/test-pty.c: Rename and split...
26324         * tests/test-forkpty.c: ...to this...
26325         * tests/test-openpty.c: ...and this.
26326         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
26327         (gl_PTY): Split library searching...
26328         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
26329         (gl_FORKPTY, gl_OPENPTY): New macros.
26330         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
26331         * NEWS: Mention the split.
26332         * MODULES.html.sh (Misc): Document the modules.
26333         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
26334         * doc/glibc-functions/openpty.texi (openpty): Likewise.
26335
26336         pty: improve replacement header
26337         * lib/pty.in.h: New file.
26338         * modules/pty (Files): Ship it.
26339         (Makefile.am): Always build replacement.
26340         * m4/pty.m4: Rename...
26341         * m4/pty_h.m4: ...to this.
26342         (gl_PTY): Modernize setting of witness macros; update check of
26343         forkpty to take proper advantage of cache.
26344         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
26345
26346         getopt: avoid compiler warning
26347         * lib/getopt.c (attribute_hidden): Remove unused macro.
26348
26349 2010-03-18  Bruno Haible  <bruno@clisp.org>
26350
26351         Fix link errors on Solaris 8.
26352         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
26353         * modules/search-tests (test_search_c___LDADD): Likewise.
26354         * modules/signal-tests (test_signal_c___LDADD): Likewise.
26355         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
26356         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
26357         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
26358         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
26359         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
26360         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
26361
26362 2010-03-18  Bruno Haible  <bruno@clisp.org>
26363
26364         Fix bug introduced on 2010-03-14.
26365         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
26366         (gl_SPAWN_H): Require it.
26367         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
26368         Reported by Simon Josefsson.
26369
26370 2010-03-18  Bruno Haible  <bruno@clisp.org>
26371
26372         Fix typo introduced on 2009-12-31.
26373         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
26374         posix_spawn_file_actions_adddup2.
26375
26376 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
26377         and Eric Blake  <eblake@redhat.com>
26378
26379         test-vc-list-files-git: make more robust
26380         * tests/test-vc-list-files-git.sh: Unset problematic environment
26381         variables.  Chain commands together.
26382
26383 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
26384
26385         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
26386         `AC_CHECK_DECL' invocation.
26387
26388 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
26389
26390         * lib/inttostr.c (inttostr): Make sure the invocation of verify
26391         appears before executable statements. Suggested by Petr Sumbera
26392         <Petr.Sumbera@Sun.COM>.
26393
26394 2010-03-14  Bruno Haible  <bruno@clisp.org>
26395
26396         * tests/test-flock.c (test_exclusive): Comment out a test that causes
26397         portability problems. Instead use a simpler test.
26398         (main): Check that invalid arguments are rejected only on Linux.
26399
26400 2010-03-14  Bruno Haible  <bruno@clisp.org>
26401
26402         Fix bug introduced on 2009-12-31.
26403         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
26404         gl_PREREQ_SYS_H_WINSOCK2 always.
26405         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
26406         SYS_SOCKET_H variable.
26407         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
26408         Update comments.
26409         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
26410         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
26411         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26412         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
26413         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
26414
26415 2010-03-14  Bruno Haible  <bruno@clisp.org>
26416
26417         Fix values returned by sinl, cosl.
26418         * lib/trigl.h: Add specification comments.
26419         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
26420         that combines the values from the precomputed table with the values of
26421         the Chebyshev polynomials.
26422
26423 2010-03-14  Bruno Haible  <bruno@clisp.org>
26424
26425         Fix compilation error when modules 'posix_spawn[p]' are not used.
26426         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
26427         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
26428
26429 2010-03-14  Bruno Haible  <bruno@clisp.org>
26430
26431         Fix compilation error on mingw when module 'time_r' is not used.
26432         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
26433         is 1.
26434         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
26435         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26436         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
26437         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
26438
26439 2010-03-14  Bruno Haible  <bruno@clisp.org>
26440
26441         Fix compilation error with Sun C.
26442         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
26443         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
26444         instead of GCC specific ULONG_LONG_MAX.
26445         * lib/xstrtoll.c: Likewise.
26446         * lib/xstrtoull.c: Likewise.
26447
26448 2010-03-13  Bruno Haible  <bruno@clisp.org>
26449
26450         Allow the user to disable C++ code and tests.
26451         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
26452         (gl_PROG_ANSI_CXX): Require it.
26453
26454 2010-03-13  Bruno Haible  <bruno@clisp.org>
26455
26456         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
26457         cases.
26458
26459 2010-03-13  Bruno Haible  <bruno@clisp.org>
26460
26461         Test that gnulib does not break the standard C++ headers.
26462         * tests/test-locale-c++2.cc: New file.
26463         * modules/locale-tests (Files): Add it.
26464         (Makefile.am): Compile it for test-locale-c++.
26465         * tests/test-math-c++2.cc: New file.
26466         * modules/math-tests (Files): Add it.
26467         (Makefile.am): Compile it for test-math-c++.
26468         * tests/test-signal-c++2.cc: New file.
26469         * modules/signal-tests (Files): Add it.
26470         (Makefile.am): Compile it for test-signal-c++.
26471         * tests/test-stdio-c++2.cc: New file.
26472         * modules/stdio-tests (Files): Add it.
26473         (Makefile.am): Compile it for test-stdio-c++.
26474         * tests/test-stdlib-c++2.cc: New file.
26475         * modules/stdlib-tests (Files): Add it.
26476         (Makefile.am): Compile it for test-stdlib-c++.
26477         * tests/test-string-c++2.cc: New file.
26478         * modules/string-tests (Files): Add it.
26479         (Makefile.am): Compile it for test-string-c++.
26480         * tests/test-time-c++2.cc: New file.
26481         * modules/time-tests (Files): Add it.
26482         (Makefile.am): Compile it for test-time-c++.
26483         Reported by John W. Eaton <jwe@gnu.org>.
26484
26485 2010-03-13  Bruno Haible  <bruno@clisp.org>
26486
26487         * gnulib-tool (func_usage): Clarify which options are available for
26488         --create-testdir and --create-megatestdir.
26489
26490 2010-03-13  Bruno Haible  <bruno@clisp.org>
26491
26492         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
26493         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
26494         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
26495         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
26496         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
26497         when appropriate.
26498         Reported by Jim Meyering.
26499
26500 2010-03-12  Simon Josefsson  <simon@josefsson.org>
26501
26502         * gnulib-tool (func_import): Explain origin of code.
26503
26504 2010-03-12  Bruno Haible  <bruno@clisp.org>
26505
26506         Fix problem with automake's definition of CXXLINK.
26507         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
26508         Reported by Simon Josefsson and Ludovic Courtès.
26509
26510 2010-03-12  Bruno Haible  <bruno@clisp.org>
26511
26512         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
26513         stable releases.
26514
26515 2010-03-11  Bruno Haible  <bruno@clisp.org>
26516
26517         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
26518         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
26519         whether the system provides one variant or multiple variants of the
26520         function.
26521         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
26522         C++ compilers.
26523         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
26524         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
26525         Reported by Jim Meyering.
26526
26527 2010-03-09  Simon Josefsson  <simon@josefsson.org>
26528
26529         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
26530
26531 2010-03-08  Bruno Haible  <bruno@clisp.org>
26532
26533         gnulib-tool: Add support for --libtool in --create-testdir.
26534         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
26535         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
26536
26537 2010-03-08  Eric Blake  <eblake@redhat.com>
26538
26539         gnulib-tool.texi: mention possibility of git submodule
26540         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
26541         submodules.
26542         * doc/.gitignore: Ignore another generated file.
26543
26544 2010-03-08  Karl Berry  <karl@gnu.org>
26545
26546         * doc/gnulib-tool.texi (VCS Issues): Mention third option
26547         of committing gnulib files while skipping others.
26548
26549 2010-03-07  Bruno Haible  <bruno@clisp.org>
26550
26551         Tests of module 'wctype' in C++ mode.
26552         * tests/test-wctype-c++.cc: New file.
26553         * modules/wctype-tests (Files): Add it and tests/signature.h.
26554         (Depends-on): Add ansi-c++-opt.
26555         (Makefile.am): Arrange to compile and run test-wctype-c++.
26556
26557         Tests of module 'wchar' in C++ mode.
26558         * tests/test-wchar-c++.cc: New file.
26559         * modules/wchar-tests (Files): Add it and tests/signature.h.
26560         (Depends-on): Add ansi-c++-opt.
26561         (Makefile.am): Arrange to compile and run test-wchar-c++.
26562         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
26563         gl_MODULE_INDICATOR.
26564
26565         Tests of module 'unistd' in C++ mode.
26566         * tests/test-unistd-c++.cc: New file.
26567         * modules/unistd-tests (Files): Add it and tests/signature.h.
26568         (Depends-on): Add ansi-c++-opt.
26569         (Makefile.am): Arrange to compile and run test-unistd-c++.
26570         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
26571         gl_MODULE_INDICATOR.
26572
26573         Tests of module 'time' in C++ mode.
26574         * tests/test-time-c++.cc: New file.
26575         * modules/time-tests (Files): Add it and tests/signature.h.
26576         (Depends-on): Add ansi-c++-opt.
26577         (Makefile.am): Arrange to compile and run test-time-c++.
26578         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26579
26580         Tests of module 'sys_time' in C++ mode.
26581         * tests/test-sys_time-c++.cc: New file.
26582         * modules/sys_time-tests (Files): Add it and tests/signature.h.
26583         (Depends-on): Add ansi-c++-opt.
26584         (Makefile.am): Arrange to compile and run test-sys_time-c++.
26585         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
26586         gl_MODULE_INDICATOR.
26587
26588         Tests of module 'sys_stat' in C++ mode.
26589         * tests/test-sys_stat-c++.cc: New file.
26590         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
26591         (Depends-on): Add ansi-c++-opt.
26592         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
26593         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
26594         gl_MODULE_INDICATOR.
26595
26596         Tests of module 'sys_socket' in C++ mode.
26597         * tests/test-sys_socket-c++.cc: New file.
26598         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
26599         (Depends-on): Add ansi-c++-opt.
26600         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
26601         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
26602         gl_MODULE_INDICATOR.
26603
26604         Tests of module 'sys_select' in C++ mode.
26605         * tests/test-sys_select-c++.cc: New file.
26606         * modules/sys_select-tests (Files): Add it and tests/signature.h.
26607         (Depends-on): Add ansi-c++-opt.
26608         (Makefile.am): Arrange to compile and run test-sys_select-c++.
26609         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
26610         gl_MODULE_INDICATOR.
26611
26612         Tests of module 'sys_ioctl' in C++ mode.
26613         * tests/test-sys_ioctl-c++.cc: New file.
26614         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
26615         (Depends-on): Add ansi-c++-opt.
26616         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
26617         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
26618         gl_MODULE_INDICATOR.
26619
26620         Tests of module 'string' in C++ mode.
26621         * tests/test-string-c++.cc: New file.
26622         * modules/string-tests (Files): Add it and tests/signature.h.
26623         (Depends-on): Add ansi-c++-opt.
26624         (Makefile.am): Arrange to compile and run test-string-c++.
26625         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
26626         gl_MODULE_INDICATOR.
26627
26628         Tests of module 'stdlib' in C++ mode.
26629         * tests/test-stdlib-c++.cc: New file.
26630         * modules/stdlib-tests (Files): Add it and tests/signature.h.
26631         (Depends-on): Add ansi-c++-opt.
26632         (Makefile.am): Arrange to compile and run test-stdlib-c++.
26633         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
26634         gl_MODULE_INDICATOR.
26635
26636         Tests of module 'stdio' in C++ mode.
26637         * tests/test-stdio-c++.cc: New file.
26638         * modules/stdio-tests (Files): Add it and tests/signature.h.
26639         (Depends-on): Add ansi-c++-opt.
26640         (Makefile.am): Arrange to compile and run test-stdio-c++.
26641         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
26642         gl_MODULE_INDICATOR.
26643
26644         Tests of module 'spawn' in C++ mode.
26645         * tests/test-spawn-c++.cc: New file.
26646         * modules/spawn-tests (Files): Add it and tests/signature.h.
26647         (Depends-on): Add ansi-c++-opt.
26648         (Makefile.am): Arrange to compile and run test-spawn-c++.
26649         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
26650         gl_MODULE_INDICATOR.
26651
26652         Tests of module 'signal' in C++ mode.
26653         * tests/test-signal-c++.cc: New file.
26654         * modules/signal-tests (Files): Add it and tests/signature.h.
26655         (Depends-on): Add ansi-c++-opt.
26656         (Makefile.am): Arrange to compile and run test-signal-c++.
26657         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
26658         gl_MODULE_INDICATOR.
26659
26660         Tests of module 'search' in C++ mode.
26661         * tests/test-search-c++.cc: New file.
26662         * modules/search-tests (Files): Add it and tests/signature.h.
26663         (Depends-on): Add ansi-c++-opt.
26664         (Makefile.am): Arrange to compile and run test-search-c++.
26665         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
26666         gl_MODULE_INDICATOR.
26667
26668         Tests of module 'math' in C++ mode.
26669         * tests/test-math-c++.cc: New file.
26670         * modules/math-tests (Files): Add it and tests/signature.h.
26671         (Depends-on): Add ansi-c++-opt.
26672         (Makefile.am): Arrange to compile and run test-math-c++.
26673         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26674
26675         Tests of module 'locale' in C++ mode.
26676         * tests/test-locale-c++.cc: New file.
26677         * modules/locale-tests (Files): Add it and tests/signature.h.
26678         (Depends-on): Add ansi-c++-opt.
26679         (Makefile.am): Arrange to compile and run test-locale-c++.
26680         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
26681         gl_MODULE_INDICATOR.
26682
26683         Tests of module 'langinfo' in C++ mode.
26684         * tests/test-langinfo-c++.cc: New file.
26685         * modules/langinfo-tests (Files): Add it and tests/signature.h.
26686         (Depends-on): Add ansi-c++-opt.
26687         (Makefile.am): Arrange to compile and run test-langinfo-c++.
26688         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
26689         gl_MODULE_INDICATOR.
26690
26691         Tests of module 'iconv-h' in C++ mode.
26692         * tests/test-iconv-h-c++.cc: New file.
26693         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
26694         (Depends-on): Add ansi-c++-opt.
26695         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
26696
26697         Tests of module 'glob' in C++ mode.
26698         * tests/test-glob-c++.cc: New file.
26699         * modules/glob-tests (Files): Add it.
26700         (Depends-on): Add ansi-c++-opt.
26701         (Makefile.am): Arrange to compile and run test-glob-c++.
26702
26703         Tests of module 'fcntl-h' in C++ mode.
26704         * tests/test-fcntl-h-c++.cc: New file.
26705         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
26706         (Depends-on): Add ansi-c++-opt.
26707         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
26708         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
26709         gl_MODULE_INDICATOR.
26710
26711         Tests of module 'dirent' in C++ mode.
26712         * tests/test-dirent-c++.cc: New file.
26713         * modules/dirent-tests (Files): Add it and tests/signature.h.
26714         (Depends-on): Add ansi-c++-opt.
26715         (Makefile.am): Arrange to compile and run test-dirent-c++.
26716         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
26717         gl_MODULE_INDICATOR.
26718
26719         New module 'ansi-c++-opt'.
26720         * modules/ansi-c++-opt: New file.
26721         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
26722
26723         Document C++ namespace mode.
26724         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
26725
26726         wctype: Avoid #define replacements in C++ mode.
26727         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
26728         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
26729         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
26730         In C++, define a namespaced alias symbol.
26731         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
26732         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
26733         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
26734         rule.
26735
26736         wchar: Avoid #define replacements in C++ mode.
26737         * lib/wchar.in.h: Include c++defs.h.
26738         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
26739         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
26740         symbol.
26741         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
26742         * modules/wchar (Depends-on): Add c++defs.
26743         (Makefile.am): Update wchar.h rule.
26744
26745         unistd: Avoid #define replacements in C++ mode.
26746         * lib/unistd.in.h: Include c++defs.h.
26747         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
26748         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
26749         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
26750         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
26751         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
26752         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
26753         symbol.
26754         (environ): Update.
26755         * modules/unistd (Depends-on): Add c++defs.
26756         (Makefile.am): Update unistd.h rule.
26757
26758         time: Avoid #define replacements in C++ mode.
26759         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
26760         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
26761         define a namespaced alias symbol.
26762         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
26763         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
26764         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
26765         * modules/time (Depends-on): Add c++defs, warn-on-use.
26766         (Makefile.am): Update time.h rule.
26767         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26768         * modules/nanosleep (configure.ac): Likewise.
26769         * modules/strptime (configure.ac): Likewise.
26770         * modules/timegm (configure.ac): Likewise.
26771
26772         sys_time: Avoid #define replacements in C++ mode.
26773         * lib/sys_time.in.h: Include c++defs.h.
26774         (gettimeofday): In C++, define a namespaced alias symbol.
26775         * modules/sys_time (Depends-on): Add c++defs.
26776         (Makefile.am): Update sys/time.h rule.
26777
26778         sys_stat: Avoid #define replacements in C++ mode.
26779         * lib/sys_stat.in.h: Include c++defs.h.
26780         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
26781         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
26782         namespaced alias symbol.
26783         In C++, define a namespaced alias symbol.
26784         * modules/sys_stat (Depends-on): Add c++defs.
26785         (Makefile.am): Update sys/stat.h rule.
26786
26787         sys_socket: Avoid #define replacements in C++ mode.
26788         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
26789         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
26790         definitions also when the system has a <sys/socket.h>.
26791         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26792         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
26793         In C++, define a namespaced alias symbol.
26794         * modules/sys_socket (Depends-on): Add c++defs.
26795         (Makefile.am): Update sys/socket.h rule.
26796
26797         sys_select: Avoid #define replacements in C++ mode.
26798         * lib/sys_select.in.h: Include c++defs.h. Enable the function
26799         definitions also when the system has a <sys/select.h>.
26800         (select): In C++, define a namespaced alias symbol.
26801         * modules/sys_select (Depends-on): Add c++defs.
26802         (Makefile.am): Update sys/select.h rule.
26803
26804         sys_ioctl: Avoid #define replacements in C++ mode.
26805         * lib/sys_ioctl.in.h: Include c++defs.h.
26806         (ioctl): In C++, define a namespaced alias symbol.
26807         * modules/sys_ioctl (Depends-on): Add c++defs.
26808         (Makefile.am): Update sys/ioctl.h rule.
26809
26810         string: Avoid #define replacements in C++ mode.
26811         * lib/string.in.h: Include c++defs.h.
26812         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
26813         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26814         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26815         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
26816         strsignal, strverscmp): In C++, define a namespaced alias symbol.
26817         * modules/string (Depends-on): Add c++defs.
26818         (Makefile.am): Update string.h rule.
26819
26820         stdlib: Avoid #define replacements in C++ mode.
26821         * lib/stdlib.in.h: Include c++defs.h.
26822         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
26823         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
26824         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
26825         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
26826         symbol.
26827         * modules/stdlib (Depends-on): Add c++defs.
26828         (Makefile.am): Update stdlib.h rule.
26829
26830         stdio: Avoid #define replacements in C++ mode.
26831         * lib/stdio.in.h: Include c++defs.h.
26832         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
26833         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
26834         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
26835         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
26836         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
26837         namespaced alias symbol.
26838         * modules/stdio (Depends-on): Add c++defs.
26839         (Makefile.am): Update stdio.h rule.
26840
26841         spawn: Avoid #define replacements in C++ mode.
26842         * lib/spawn.in.h: Include c++defs.h.
26843         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26844         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26845         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26846         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26847         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26848         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26849         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26850         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26851         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26852         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26853         In C++, define a namespaced alias symbol.
26854         * modules/spawn (Depends-on): Add c++defs.
26855         (Makefile.am): Update spawn.h rule.
26856
26857         signal: Avoid #define replacements in C++ mode.
26858         * lib/signal.in.h: Include c++defs.h.
26859         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26860         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26861         namespaced alias symbol.
26862         * modules/signal (Depends-on): Add c++defs.
26863         (Makefile.am): Update signal.h rule.
26864
26865         search: Avoid #define replacements in C++ mode.
26866         * lib/search.in.h: Include c++defs.h.
26867         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26868         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26869         symbol.
26870         * modules/search (Depends-on): Add c++defs.
26871         (Makefile.am): Update search.h rule.
26872
26873         math: Avoid #define replacements in C++ mode.
26874         * lib/math.in.h: Include c++defs.h.
26875         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26876         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26877         trunc, truncl): In C++, define a namespaced alias symbol.
26878         * modules/math (Depends-on): Add c++defs.
26879         (Makefile.am): Update math.h rule.
26880
26881         locale: Avoid #define replacements in C++ mode.
26882         * lib/locale.in.h: Include c++defs.h.
26883         (duplocale): In C++, define a namespaced alias symbol.
26884         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26885         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26886         * modules/locale (Depends-on): Add c++defs.
26887         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26888
26889         langinfo: Avoid #define replacements in C++ mode.
26890         * lib/langinfo.in.h: Include c++defs.h.
26891         (nl_langinfo): In C++, define a namespaced alias symbol.
26892         * modules/langinfo (Depends-on): Add c++defs.
26893         (Makefile.am): Update langinfo.h rule.
26894
26895         iconv-h: Avoid #define replacements in C++ mode.
26896         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26897         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26898         symbol.
26899         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26900         whenever iconv is present.
26901         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26902         (Makefile.am): Update iconv.h rule.
26903
26904         glob: Avoid #define replacements in C++ mode.
26905         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26906         (_gl_glob_errfunc_fn): New type.
26907         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26908         symbol.
26909         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26910         (Makefile.am): Update glob.h rule.
26911
26912         fcntl-h: Avoid #define replacements in C++ mode.
26913         * lib/fcntl.in.h: Include c++defs.h.
26914         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26915         * modules/fcntl-h (Depends-on): Add c++defs.
26916         (Makefile.am): Update fcntl.h rule.
26917
26918         dirent: Avoid #define replacements in C++ mode.
26919         * lib/dirent.in.h: Include c++defs.h.
26920         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26921         namespaced alias symbol.
26922         (dirfd): Update declaration.
26923         * modules/dirent (Depends-on): Add c++defs.
26924         (Makefile.am): Update dirent.h rule.
26925
26926         ctype: Make it usable in C++ code.
26927         * lib/ctype.in.h: Include c++defs.h.
26928         (isblank): Declare as extern "C".
26929         * modules/ctype (Depends-on): Add c++defs.
26930         (Makefile.am): Update ctype.h rule.
26931
26932         New module 'c++defs'.
26933         * modules/c++defs: New file.
26934         * build-aux/c++defs.h: New file.
26935         Reported by John W. Eaton <jwe@gnu.org>.
26936
26937 2010-03-07  Bruno Haible  <bruno@clisp.org>
26938
26939         logb: Provide missing declaration for Cygwin.
26940         * lib/math.in.h (logb): New declaration.
26941         * m4/logb.m4: New file.
26942         * modules/logb (Files): Add m4/logb.m4.
26943         (Depends-on): Add math.
26944         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26945         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26946         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26947         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26948         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26949
26950 2010-03-07  Bruno Haible  <bruno@clisp.org>
26951
26952         Fix test-cond link error.
26953         * tests/test-cond.c: Include <stdio.h>.
26954
26955 2010-03-07  Bruno Haible  <bruno@clisp.org>
26956
26957         Fix test-dirent-safer link error.
26958         * modules/dirent-safer-tests (Makefile.am): Define
26959         test_dirent_safer_LDADD.
26960
26961 2010-03-07  Bruno Haible  <bruno@clisp.org>
26962
26963         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26964         among default module list.
26965
26966 2010-03-07  Bruno Haible  <bruno@clisp.org>
26967
26968         Fix link error on platforms with GNU libiconv.
26969         * modules/unistr/u8-strcoll-tests (Makefile): Define
26970         test_u8_strcoll_LDADD.
26971         * modules/unistr/u16-strcoll-tests (Makefile): Define
26972         test_u16_strcoll_LDADD.
26973         * modules/unistr/u32-strcoll-tests (Makefile): Define
26974         test_u32_strcoll_LDADD.
26975
26976 2010-03-07  Bruno Haible  <bruno@clisp.org>
26977
26978         Use POSIX declarations for socket functions.
26979         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26980         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26981         rpl_sendto): Change declaration to match POSIX.
26982         * lib/connect.c (rpl_connect): Likewise.
26983         * lib/accept.c (rpl_accept): Likewise.
26984         * lib/bind.c (rpl_bind): Likewise.
26985         * lib/getpeername.c (rpl_getpeername): Likewise.
26986         * lib/getsockname.c (rpl_getsockname): Likewise.
26987         * lib/recv.c (rpl_recv): Likewise.
26988         * lib/send.c (rpl_send): Likewise.
26989         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26990         * lib/sendto.c (rpl_sendto): Likewise.
26991
26992 2010-03-06  Bruno Haible  <bruno@clisp.org>
26993
26994         Clarify access, euidaccess, faccessat.
26995         * doc/posix-functions/faccessat.texi: Mention security problem under
26996         "Other problems", not "Portability problems".
26997         * doc/posix-functions/access.texi: Likewise. Mention a related security
26998         problem.
26999         * doc/glibc-functions/euidaccess.texi: Mention security problems.
27000         * lib/euidaccess.c: Add comments about platforms.
27001         * lib/unistd.in.h (access, euidaccess): Add warnings.
27002
27003 2010-03-07  Bruno Haible  <bruno@clisp.org>
27004
27005         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
27006         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
27007         (POSIX_SPAWN_SETSCHEDULER): Likewise.
27008         (POSIX_SPAWN_USEVFORK): Define in a way that works when
27009         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
27010         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
27011         declare when POSIX_SPAWN_SETSCHEDULER is zero.
27012         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
27013         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
27014         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
27015         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
27016         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
27017         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
27018         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
27019         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
27020         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
27021         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
27022         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
27023         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
27024         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
27025         Likewise.
27026         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
27027         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
27028         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
27029         Likewise.
27030         * tests/test-spawn.c (main): Make it work when
27031         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
27032
27033 2010-03-07  Bruno Haible  <bruno@clisp.org>
27034
27035         Fix incorrect Makefile.am generation in German locale.
27036         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
27037         Execute sed command with character range in C locale.
27038
27039 2010-03-06  Bruno Haible  <bruno@clisp.org>
27040
27041         Tests for module 'iconv-h'.
27042         * modules/iconv-h-tests: New file.
27043         * tests/test-iconv-h.c: New file.
27044
27045         New module 'iconv-h'.
27046         * modules/iconv-h: New file.
27047         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
27048         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
27049         (configure.ac): Remove gl_ICONV_H.
27050         (Makefile.am): Remove rule for iconv.h.
27051
27052 2010-03-06  Bruno Haible  <bruno@clisp.org>
27053
27054         More consistent naming of *.m4 files.
27055         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
27056         * modules/wctype (Files): Update.
27057
27058         More consistent naming of *.m4 files.
27059         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
27060         * modules/wchar (Files): Update.
27061
27062 2010-03-06  Jim Meyering  <meyering@redhat.com>
27063
27064         euidaccess: relax license to LGPLv2+
27065         * modules/euidaccess (License): Relax to LGPLv2+.
27066
27067 2010-03-06  Bruno Haible  <bruno@clisp.org>
27068
27069         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
27070         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
27071         (Makefile.am): Augment lib_SOURCES instead.
27072
27073 2010-03-04  Jim Meyering  <meyering@redhat.com>
27074
27075         utime: remove obsolete module
27076         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
27077         unnecessary for years, and has been marked as obsolete for 10 months.
27078         * modules/utime: Remove file.
27079         * lib/utime.c: Remove file.
27080         * m4/utime.m4: Remove file.
27081         * m4/utimes-null.m4: Remove file.
27082         * doc/posix-functions/utime.texi (utime): Remove reference to
27083         the module.  Move the sole "fixed by gnulib" item into the
27084         "problems not fixed by Gnulib" list.
27085         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
27086
27087 2010-03-05  Simon Josefsson  <simon@josefsson.org>
27088
27089         * modules/exit (License): Relax license to LGPLv2+.
27090         (Status): Mark as obsolete.
27091         * NEWS: Mention deprecated 'exit' module.
27092         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
27093         of now obsolete 'exit'.
27094
27095 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27096
27097         fts-lgpl: remove unused module
27098         * modules/fts-lgpl: Remove.
27099         * MODULES.html.sh (func_all_modules): Adjust.
27100         * check-module (find_included_lib_files): Adjust.
27101         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
27102
27103 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
27104
27105         copy-acl: enhance Solaris ACL error handling
27106         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
27107         * lib/set-mode-acl.c (qset_acl): Likewise.
27108
27109 2010-03-02  Bruno Haible  <bruno@clisp.org>
27110
27111         spawn: Don't override the system defined values on FreeBSD 8.
27112         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
27113         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
27114         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
27115         if HAVE_POSIX_SPAWN is 1.
27116         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
27117
27118 2010-03-01  Bruno Haible  <bruno@clisp.org>
27119
27120         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
27121         regarding Automake.
27122
27123 2010-02-25  Bruno Haible  <bruno@clisp.org>
27124
27125         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
27126         * gnulib-tool: Define 'echo' as a function only before the ksh alias
27127         setting, not afterwards.
27128         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
27129
27130 2010-02-24  Eric Blake  <eblake@redhat.com>
27131
27132         bootstrap, git-version-gen: use timestamp
27133         * build-aux/git-version-gen (scriptversion): Force UTC.
27134         * build-aux/bootstrap (scriptversion): New variable.
27135
27136         bootstrap: allow older git
27137         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
27138         older than 1.6.4.  Requested by the libvirt project.
27139
27140 2010-02-23  Eric Blake  <eblake@redhat.com>
27141
27142         warn-on-use: work with old autoconf
27143         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
27144         AS_VAR semantics of autoconf 2.60.
27145         Reported by Bruno Haible.
27146
27147         bootstrap: improve some comments
27148         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
27149         clarification comments.
27150
27151         gettimeofday: provide correct function
27152         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
27153         when replacement is declared, otherwise provide gettimeofday.
27154         Reported by Michael Goffioul.
27155
27156 2010-02-23  Jim Meyering  <meyering@redhat.com>
27157
27158         lib-ignore: relax license to "unlimited", not LGPLv2+
27159         * modules/lib-ignore (License): Relax to "unlimited".
27160
27161 2010-02-23  Jim Meyering  <meyering@redhat.com>
27162
27163         lib-ignore: relax license to LGPLv2+
27164         * modules/lib-ignore (License): Relax to LGPLv2+.
27165
27166 2010-02-22  Eric Blake  <eblake@redhat.com>
27167
27168         lseek: avoid bash 3.2 broken pipe bug
27169         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
27170         warning from bash 3.2.
27171         Reported by Ben Pfaff, with analysis from Bruno Haible.
27172
27173         bootstrap: support non-FSF copyright holder
27174         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
27175         bootstrap.conf override of COPYRIGHT_HOLDER.
27176         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
27177
27178         bootstrap: interoperate with gettext 0.14.1
27179         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
27180
27181         bootstrap: allow for alternate submodule location
27182         * build-aux/bootstrap (gnulib_path): New variable; use instead of
27183         hardcoding submodule location.
27184         (gnulib_mk): Allow direct use of Makefile.am.
27185
27186         bootstrap: use GNULIB_SRCDIR to reduce disk usage
27187         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
27188         rather than reconfiguring where the submodule points.
27189
27190         gettimeofday: restore support for platforms that lack function
27191         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
27192         replacement if function is missing.
27193         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
27194         * modules/sys_time (Makefile.am): Substitute it.
27195         * lib/sys_time.in.h (gettimeofday): Check it.
27196         Reported by Michael Goffioul.
27197
27198 2010-02-21  Bruno Haible  <bruno@clisp.org>
27199
27200         * lib/stdio.in.h (obstack_printf): Fix typo.
27201
27202 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
27203
27204         vc-list-files: use bzr ls's -R option
27205         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
27206         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
27207
27208 2010-02-21  Jim Meyering  <meyering@redhat.com>
27209
27210         init.sh: fix EXEEXT shims to work also for names like test-prog
27211         * tests/init.sh: Re-exec a better shell, when needed.
27212         If the current shell lacks support for posix $(...), an init.sh-using
27213         test will now try to find a shell that supports that.  If EXEEXT is
27214         nonempty, we also require support for hyphen-in-alias-name and shell
27215         substitutions like ${var#glob}.  Failure to find such a shell results
27216         in a skipped test.
27217
27218 2010-02-21  Bruno Haible  <bruno@clisp.org>
27219
27220         Really work around around "broken pipe" error message from bash 3.2.
27221         * gnulib-tool (func_reset_sigpipe): Remove function.
27222         (echo): In bash 3.2, define to a function that uses printf.
27223         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
27224
27225 2010-02-20  Bruno Haible  <bruno@clisp.org>
27226
27227         Restore support for automake 1.9.6 with autoconf 2.61.
27228         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
27229         Reported by James Youngman <jay@gnu.org>.
27230
27231 2010-02-20  Bruno Haible  <bruno@clisp.org>
27232
27233         Improve *printf warning condition.
27234         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
27235         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
27236         and the function is overridden due to SIGPIPE emulation.
27237
27238 2010-02-20  Bruno Haible  <bruno@clisp.org>
27239
27240         * lib/stdio.in.h: Tweak comments.
27241
27242 2010-02-19  Bruno Haible  <bruno@clisp.org>
27243
27244         Make it easier to find modules. New gnulib-tool option '--find'.
27245         * gnulib-tool: New option --find.
27246         (func_usage): Document it.
27247         (func_sanitize_modulelist): New function, extracted from
27248         func_all_modules.
27249         (func_all_modules): Invoke it.
27250         * doc/gnulib-tool.texi (Which modules?): New node.
27251
27252 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
27253
27254         * lib/sys_select.in.h: Provide select replacement even if
27255         sys/select.h exists on a system, for Interix.
27256
27257 2010-02-18  Jim Meyering  <meyering@redhat.com>
27258
27259         init.sh: don't use $(...) just yet
27260         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
27261         to accommodate e.g., Solaris' /bin/sh.
27262
27263 2010-02-17  Bruno Haible  <bruno@clisp.org>
27264
27265         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
27266         Reported by Ludovic Courtès <ludo@gnu.org>.
27267
27268 2010-02-16  Simon Josefsson  <simon@josefsson.org>
27269
27270         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
27271         linking with -lintl.
27272
27273 2010-02-17  Simon Josefsson  <simon@josefsson.org>
27274
27275         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
27276         if not provided by the system's netdb.h.  Reported by
27277         ludo@gnu.org (Ludovic Courtès).
27278
27279 2010-02-15  Jim Meyering  <meyering@redhat.com>
27280
27281         init.sh: improve portability and efficiency
27282         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
27283         "dummy" in a for loop.
27284         Use '!', not '^' to select the complement of a character set used
27285         in a "case" statement.
27286         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
27287         Suggestions from Eric Blake.
27288
27289         init.sh: automatically accommodate programs with the .exe suffix
27290         Automatically arrange for an invocation of "prog" to execute the
27291         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
27292         may use the simpler "prog", yet still work when built on a system
27293         that requires specifying the added suffix.
27294         Do this by constructing a function named "prog" that invokes
27295         "prog.exe" for each .exe file in selected directories.
27296         * tests/init.sh (find_exe_basenames_): New function.
27297         (create_exe_shim_functions_): New function.
27298         (path_prepend_): Use it.
27299
27300         maint.mk: mark syntax-check sc_*.m rules as .PHONY
27301         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
27302         "make -t syntax-check" doesn't create a ton of sc_*.m files.
27303
27304 2010-02-14  Jim Meyering  <meyering@redhat.com>
27305
27306         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
27307         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
27308         (sc_prohibit_hash_pjw_without_use): New rule.
27309
27310         maint.mk: allow the default upload destination dir to be overridden
27311         * top/maint.mk (upload_dest_dir_): Define with a default that
27312         preserves the status quo.
27313         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
27314         Reported by Peter Simons.
27315
27316         maint.mk: prohibit inclusion of "hash.h" without_use
27317         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
27318
27319 2010-02-10  Jim Meyering  <meyering@redhat.com>
27320
27321         maint.mk: prohibit inclusion of "ignore-value.h" without_use
27322         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
27323
27324 2010-02-09  Eric Blake  <ebb9@byu.net>
27325         and Bruno Haible  <bruno@clisp.org>
27326
27327         obstack-printf-posix: ensure declaration
27328         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
27329         extracted from gl_FUNC_OBSTACK_PRINTF.
27330         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
27331         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
27332         Likewise.
27333         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
27334         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
27335         0.
27336
27337 2010-02-08  Bruno Haible  <bruno@clisp.org>
27338
27339         gnulib-tool: Fix typo in 2010-02-07 commit.
27340         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
27341         Reported by Eric Blake.
27342
27343 2010-02-07  Bruno Haible  <bruno@clisp.org>
27344
27345         gnulib-tool: Fix up caching patches.
27346         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
27347         option --no-cache. Use associative arrays when supported by the shell.
27348         (sed_comments): New variable.
27349         (modcache): Renamed from do_cache.
27350         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
27351         abbreviate unnecessarily.
27352         (have_associative): New variable.
27353         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
27354         way also for ksh and zsh.
27355         (func_init_sed_convert_to_cache_statements): New function, extracted
27356         from func_cache_lookup_module. Add support for associative arrays.
27357         Don't set the c_MODULE_cached variable here. Ignore all lines before
27358         the first field header. Remove only the final newline, not all trailing
27359         newlines. Support empty fields correctly. Limit the use of 'eval' to
27360         assignments.
27361         (func_get_description, func_get_status, func_get_notice,
27362         func_get_applicability, func_get_filelist, func_get_dependencies,
27363         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
27364         func_get_automake_snippet, func_get_include_directive,
27365         func_get_link_directive, func_get_license, func_get_maintainer):
27366         Update documentation. List the unoptimized code first. Add support for
27367         associative arrays. Limit the use of 'eval' to assignments.
27368         (func_get_applicability): Undo stylistic pessimisations.
27369         (func_get_automake_snippet, func_get_include_directive): Reduce code
27370         duplication.
27371         (func_modules_transitive_closure, func_modules_add_dummy,
27372         func_modules_notice, func_modules_to_filelist, func_add_file,
27373         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
27374         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
27375         func_create_testdir, func_create_megatestdir): Update documentation.
27376
27377 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27378
27379         * gnulib-tool (func_cache_lookup_module): Store the module name
27380         belonging to the cache variable; error out if two different
27381         module names map to the same cache variable name.
27382
27383 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27384
27385         gnulib-tool: Make caching optional.
27386         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
27387         Update matching short versions of --no-changelog.
27388         (func_usage): Update.
27389         (sed_extract_cache_prog): Renamed from ...
27390         (sed_extract_prog): ... this; revert to old extraction script.
27391         (func_get_description, func_get_status)
27392         (func_get_notice, func_get_applicability, func_get_filelist)
27393         (func_get_dependencies, func_get_autoconf_early_snippet)
27394         (func_get_autoconf_snippet, func_get_automake_snippet)
27395         (func_get_include_directive, func_get_link_directive)
27396         (func_get_license, func_get_maintainer): If $do_cache is false,
27397         use old, non-caching extraction scripts.
27398         Suggestion by Bruno Haible.
27399
27400 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27401
27402         gnulib-tool: cache module metainformation.
27403         * gnulib-tool (sed_extract_prog): Match newline before each
27404         header, and rewrite header to a shell variable suffix.
27405         (func_cache_var, func_cache_lookup_module): New functions,
27406         to turn a module name into a cache variable prefix, and to
27407         look up and cache module metainformation.
27408         (func_get_description, func_get_status)
27409         (func_get_notice, func_get_applicability, func_get_filelist)
27410         (func_get_dependencies, func_get_autoconf_early_snippet)
27411         (func_get_autoconf_snippet, func_get_automake_snippet)
27412         (func_get_include_directive, func_get_link_directive)
27413         (func_get_license, func_get_maintainer): Use
27414         func_cache_lookup_module.
27415
27416 2010-02-07  Bruno Haible  <bruno@clisp.org>
27417
27418         fnctl: Fix missing dependency.
27419         * modules/fcntl (Depends-on): Add getdtablesize.
27420         Reported by John W. Eaton <jwe@gnu.org>.
27421
27422 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
27423
27424         Argp: fix recognition of short alias options.
27425
27426         * lib/argp-parse.c (convert_options): Fix improper use of
27427         `|' between character values.
27428         * tests/test-argp.c (group1_option): New alias option
27429         --read (-r).
27430         (group1_parser): Special handling for 'r'.
27431         (test15): New test case.
27432         (test_fun): Add test15.
27433         * tests/test-argp-2.sh: Update expected --help and --usage
27434         outputs.
27435
27436 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
27437
27438         * tests/test-argp.c: Fix indentation.
27439
27440 2010-02-04  Eric Blake  <ebb9@byu.net>
27441
27442         gettimeofday: expose type of second argument
27443         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
27444         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
27445         * tests/test-gettimeofday.c: Use it to silence warning.
27446         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
27447         the issue.
27448
27449 2010-02-03  Jim Meyering  <meyering@redhat.com>
27450
27451         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
27452         * lib/regcomp.c (TYPE_SIGNED): Define.
27453         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
27454
27455         regcomp.c: avoid a new -Wshadow warning
27456         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
27457
27458 2010-02-01  Jim Meyering  <meyering@redhat.com>
27459
27460         removing useless parentheses in cpp #define directives
27461         For motivation, see commit c0221df4, "define STREQ(a,b)
27462         consistently, removing useless parentheses"
27463         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
27464         * lib/mountlist.c (MNT_IGNORE): Likewise.
27465         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
27466
27467 2010-02-01  Eric Blake  <ebb9@byu.net>
27468
27469         sys_time: use link-warning
27470         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
27471         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
27472         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
27473         * modules/sys_time (Depends-on): Add warn-on-use.
27474         (Makefile.am): Always build replacement.
27475         (configure.ac): Update substitutions.
27476         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
27477         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
27478         bother with SYS_TIME_H.
27479         * modules/gettimeofday (configure.ac): Declare indicator.
27480         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
27481         in use.
27482
27483         closein-tests: silence compiler warning
27484         * tests/test-closein.c (main): Ignore fread result.
27485         * modules/closein-tests (Depends-on): Add ignore-value.
27486
27487         tests: silence warning about system return
27488         * tests/test-areadlink-with-size.c (main): Ignore system result.
27489         * tests/test-areadlink.c (main): Likewise.
27490         * tests/test-areadlinkat-with-size.c (main): Likewise.
27491         * tests/test-areadlinkat.c (main): Likewise.
27492         * tests/test-canonicalize-lgpl.c (main): Likewise.
27493         * tests/test-canonicalize.c (main): Likewise.
27494         * tests/test-chown.c (main): Likewise.
27495         * tests/test-fchownat.c (main): Likewise.
27496         * tests/test-fdutimensat.c (main): Likewise.
27497         * tests/test-fstatat.c (main): Likewise.
27498         * tests/test-futimens.c (main): Likewise.
27499         * tests/test-lchown.c (main): Likewise.
27500         * tests/test-link.c (main): Likewise.
27501         * tests/test-linkat.c (main): Likewise.
27502         * tests/test-lstat.c (main): Likewise.
27503         * tests/test-mkdir.c (main): Likewise.
27504         * tests/test-mkdirat.c (main): Likewise.
27505         * tests/test-mkfifo.c (main): Likewise.
27506         * tests/test-mkfifoat.c (main): Likewise.
27507         * tests/test-mknod.c (main): Likewise.
27508         * tests/test-readlink.c (main): Likewise.
27509         * tests/test-remove.c (main): Likewise.
27510         * tests/test-rename.c (main): Likewise.
27511         * tests/test-renameat.c (main): Likewise.
27512         * tests/test-rmdir.c (main): Likewise.
27513         * tests/test-symlink.c (main): Likewise.
27514         * tests/test-symlinkat.c (main): Likewise.
27515         * tests/test-unlink.c (main): Likewise.
27516         * tests/test-unlinkat.c (main): Likewise.
27517         * tests/test-utimens.c (main): Likewise.
27518         * tests/test-utimensat.c (main): Likewise.
27519         * modules/areadlink-tests (Depends-on): Add ignore-value.
27520         * modules/areadlink-with-size-tests (Depends-on): Likewise.
27521         * modules/areadlinkat-tests (Depends-on): Likewise.
27522         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
27523         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27524         * modules/canonicalize-tests (Depends-on): Likewise.
27525         * modules/chown-tests (Depends-on): Likewise.
27526         * modules/fdutimensat-tests (Depends-on): Likewise.
27527         * modules/futimens-tests (Depends-on): Likewise.
27528         * modules/lchown-tests (Depends-on): Likewise.
27529         * modules/link-tests (Depends-on): Likewise.
27530         * modules/linkat-tests (Depends-on): Likewise.
27531         * modules/lstat-tests (Depends-on): Likewise.
27532         * modules/mkdir-tests (Depends-on): Likewise.
27533         * modules/mkfifo-tests (Depends-on): Likewise.
27534         * modules/mkfifoat-tests (Depends-on): Likewise.
27535         * modules/mknod-tests (Depends-on): Likewise.
27536         * modules/openat-tests (Depends-on): Likewise.
27537         * modules/readlink-tests (Depends-on): Likewise.
27538         * modules/remove-tests (Depends-on): Likewise.
27539         * modules/rename-tests (Depends-on): Likewise.
27540         * modules/renameat-tests (Depends-on): Likewise.
27541         * modules/rmdir-tests (Depends-on): Likewise.
27542         * modules/symlink-tests (Depends-on): Likewise.
27543         * modules/symlinkat-tests (Depends-on): Likewise.
27544         * modules/unlink-tests (Depends-on): Likewise.
27545         * modules/utimens-tests (Depends-on): Likewise.
27546         * modules/utimensat-tests (Depends-on): Likewise.
27547
27548 2010-01-31  Bruno Haible  <bruno@clisp.org>
27549
27550         Perform the same test for many <math.h> functions.
27551         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
27552         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
27553         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
27554         of gl_MATHFUNC.
27555         * modules/acos (configure.ac): Likewise.
27556         * modules/asin (configure.ac): Likewise.
27557         * modules/atan (configure.ac): Likewise.
27558         * modules/atan2 (configure.ac): Likewise.
27559         * modules/cbrt (configure.ac): Likewise.
27560         * modules/copysign (configure.ac): Likewise.
27561         * modules/cos (configure.ac): Likewise.
27562         * modules/cosh (configure.ac): Likewise.
27563         * modules/erf (configure.ac): Likewise.
27564         * modules/erfc (configure.ac): Likewise.
27565         * modules/exp (configure.ac): Likewise.
27566         * modules/fmod (configure.ac): Likewise.
27567         * modules/hypot (configure.ac): Likewise.
27568         * modules/j0 (configure.ac): Likewise.
27569         * modules/j1 (configure.ac): Likewise.
27570         * modules/jn (configure.ac): Likewise.
27571         * modules/lgamma (configure.ac): Likewise.
27572         * modules/log (configure.ac): Likewise.
27573         * modules/log10 (configure.ac): Likewise.
27574         * modules/log1p (configure.ac): Likewise.
27575         * modules/pow (configure.ac): Likewise.
27576         * modules/remainder (configure.ac): Likewise.
27577         * modules/sin (configure.ac): Likewise.
27578         * modules/sinh (configure.ac): Likewise.
27579         * modules/tan (configure.ac): Likewise.
27580         * modules/tanh (configure.ac): Likewise.
27581         * modules/y0 (configure.ac): Likewise.
27582         * modules/y1 (configure.ac): Likewise.
27583         * modules/yn (configure.ac): Likewise.
27584         Suggested by Paolo Bonzini.
27585
27586 2010-01-31  Bruno Haible  <bruno@clisp.org>
27587
27588         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
27589
27590 2010-01-31  Bruno Haible  <bruno@clisp.org>
27591
27592         Work around getdelim() bug on FreeBSD 8.0.
27593         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
27594         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
27595         not work.
27596         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
27597         is 1.
27598         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
27599         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
27600         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
27601         a non-zero size.
27602         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
27603
27604 2010-01-31  Bruno Haible  <bruno@clisp.org>
27605
27606         Work around getline() bug on FreeBSD 8.0.
27607         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
27608         and a non-zero size.
27609         * tests/test-getline.c (main): Likewise.
27610         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
27611         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
27612
27613 2010-01-28  Eric Blake  <ebb9@byu.net>
27614
27615         regex: fix build failure
27616         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
27617         platforms.
27618
27619 2010-01-28  Jim Meyering  <meyering@redhat.com>
27620
27621         regex: do not ignore memory allocation failure
27622         * lib/regex_internal.c (create_cd_newstate): Detect
27623         re_node_set_init_copy failure.   Extracted from glibc commit
27624         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27625
27626         regex: sync more white-space changes from libc
27627         * lib/regex_internal.c: White-space only changes.
27628         * lib/regexec.c: Likewise.
27629
27630         regex: add many uses of __attribute_warn_unused_result__
27631         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
27632         * lib/regexec.c: Likewise.
27633         Extracted from a messy glibc commit.
27634
27635         regcomp.c: spelling and merge-artifact from glibc
27636         * lib/regcomp.c: Merge remainder of glibc's
27637         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27638
27639         regcomp.c: sync white-space changes from glibc
27640         * lib/regcomp.c: Merge to accommodate white space
27641         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27642
27643         regcomp.c: do not ignore internal return values
27644         * lib/regcomp.c: Do not ignore internal return values.
27645         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
27646         but without its white-space changes and spelling fixes.
27647
27648         regex_internal.h: define __attribute_warn_unused_result__
27649         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
27650
27651         maint: add a syntax-check rule to check for vulnerable Makefile.in
27652         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
27653
27654 2010-01-27  Jim Meyering  <meyering@redhat.com>
27655
27656         ncftpput-ftp: clean up spaces
27657         * build-aux/ncftpput-ftp: Make Copyright line consistent.
27658         Remove trailing blanks.
27659
27660 2010-01-27  Simon Josefsson  <simon@josefsson.org>
27661
27662         * build-aux/git-version-gen: Fix copyright statement.
27663         * build-aux/gnupload: Likewise.
27664         * tests/test-arcfour.c: Likewise.
27665         * tests/test-arctwo.c: Likewise.
27666         * tests/test-count-one-bits.c: Likewise.
27667         * tests/test-crc.c: Likewise.
27668         * tests/test-des.c: Likewise.
27669         * tests/test-gc-arcfour.c: Likewise.
27670         * tests/test-gc-arctwo.c: Likewise.
27671         * tests/test-gc-des.c: Likewise.
27672         * tests/test-gc-hmac-md5.c: Likewise.
27673         * tests/test-gc-hmac-sha1.c: Likewise.
27674         * tests/test-gc-md2.c: Likewise.
27675         * tests/test-gc-md4.c: Likewise.
27676         * tests/test-gc-md5.c: Likewise.
27677         * tests/test-gc-pbkdf2-sha1.c: Likewise.
27678         * tests/test-gc-rijndael.c: Likewise.
27679         * tests/test-gc-sha1.c: Likewise.
27680         * tests/test-gc.c: Likewise.
27681         * tests/test-gethostname.c: Likewise.
27682         * tests/test-gettimeofday.c: Likewise.
27683         * tests/test-hash.c: Likewise.
27684         * tests/test-hmac-md5.c: Likewise.
27685         * tests/test-hmac-sha1.c: Likewise.
27686         * tests/test-md2.c: Likewise.
27687         * tests/test-md4.c: Likewise.
27688         * tests/test-md5.c: Likewise.
27689         * tests/test-memchr.c: Likewise.
27690         * tests/test-memchr2.c: Likewise.
27691         * tests/test-memcmp.c: Likewise.
27692         * tests/test-memmem.c: Likewise.
27693         * tests/test-memrchr.c: Likewise.
27694         * tests/test-rawmemchr.c: Likewise.
27695         * tests/test-read-file.c: Likewise.
27696         * tests/test-rijndael.c: Likewise.
27697         * tests/test-sockets.c: Likewise.
27698         * tests/test-strchrnul.c: Likewise.
27699         * tests/test-strstr.c: Likewise.
27700         * tests/test-strtod.c: Likewise.
27701         * build-aux/ncftpput-ftp: Likewise.
27702
27703 2010-01-26  Eric Blake  <ebb9@byu.net>
27704
27705         ignore-value: update recommended header name
27706         * modules/ignore-value (Include): Only use <> for headers that
27707         exist in glibc.
27708
27709 2010-01-26  Jim Meyering  <meyering@redhat.com>
27710
27711         test-userspec.c: avoid compiler warnings
27712         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
27713         and "initialization discards qualifiers..." warnings.
27714         Put the first "uid" in its own scope, and make char* members "const".
27715
27716 2010-01-25  Bruno Haible  <bruno@clisp.org>
27717
27718         gnulib-tool: Make warning diagnostics consistent.
27719         * gnulib-tool (func_warning): New function.
27720         Use it everywhere where gnulib-tool produces output to stderr and it is
27721         not a fatal error.
27722
27723 2010-01-25  Bruno Haible  <bruno@clisp.org>
27724
27725         Fix test dependencies.
27726         * modules/xstrtol-tests (Depends-on): Add inttypes.
27727         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
27728
27729 2010-01-25 Pádraig Brady <P@draigBrady.com>
27730
27731         syntax-check: detect incorrect boolean macro values in config.h
27732         * modules/maintainer-makefile (configure.ac): Parameterize the location
27733         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
27734         The logic is from Eric Blake and the location indicated by Jim Meyering.
27735         Note the more natural CONFIG_HEADER name is prohibited by automake
27736         for backwards compatibility reasons.
27737         * top/maint.mk (sc_Wundef_boolean): New rule.
27738
27739 2010-01-25  Jim Meyering  <meyering@redhat.com>
27740
27741         bootstrap: detect MacOS 10.6's shasum, too
27742         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
27743         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
27744
27745 2010-01-23  Jim Meyering  <meyering@redhat.com>
27746
27747         xstrtoll: new module
27748         * modules/xstrtoll: New file.
27749         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
27750         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
27751         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
27752         ./configure fails if you use this module and lack "long long".
27753         * modules/xstrtoll-tests: New module.
27754         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
27755         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
27756         new init.sh-based test framework.
27757
27758 2010-01-24  Bruno Haible  <bruno@clisp.org>
27759
27760         Tests for module 'yn'.
27761         * modules/yn-tests: New file.
27762         * tests/test-yn.c: New file.
27763
27764         Tests for module 'y1'.
27765         * modules/y1-tests: New file.
27766         * tests/test-y1.c: New file.
27767
27768         Tests for module 'y0'.
27769         * modules/y0-tests: New file.
27770         * tests/test-y0.c: New file.
27771
27772         Tests for module 'tanh'.
27773         * modules/tanh-tests: New file.
27774         * tests/test-tanh.c: New file.
27775
27776         Tests for module 'tan'.
27777         * modules/tan-tests: New file.
27778         * tests/test-tan.c: New file.
27779
27780         Tests for module 'sqrt'.
27781         * modules/sqrt-tests: New file.
27782         * tests/test-sqrt.c: New file.
27783
27784         Tests for module 'sinh'.
27785         * modules/sinh-tests: New file.
27786         * tests/test-sinh.c: New file.
27787
27788         Tests for module 'sin'.
27789         * modules/sin-tests: New file.
27790         * tests/test-sin.c: New file.
27791
27792         Tests for module 'rint'.
27793         * modules/rint-tests: New file.
27794         * tests/test-rint.c: New file.
27795
27796         Tests for module 'remainder'.
27797         * modules/remainder-tests: New file.
27798         * tests/test-remainder.c: New file.
27799
27800         Tests for module 'pow'.
27801         * modules/pow-tests: New file.
27802         * tests/test-pow.c: New file.
27803
27804         Tests for module 'nextafter'.
27805         * modules/nextafter-tests: New file.
27806         * tests/test-nextafter.c: New file.
27807
27808         Tests for module 'modf'.
27809         * modules/modf-tests: New file.
27810         * tests/test-modf.c: New file.
27811
27812         Tests for module 'logb'.
27813         * modules/logb-tests: New file.
27814         * tests/test-logb.c: New file.
27815
27816         Tests for module 'log1p'.
27817         * modules/log1p-tests: New file.
27818         * tests/test-log1p.c: New file.
27819
27820         Tests for module 'log10'.
27821         * modules/log10-tests: New file.
27822         * tests/test-log10.c: New file.
27823
27824         Tests for module 'log'.
27825         * modules/log-tests: New file.
27826         * tests/test-log.c: New file.
27827
27828         Tests for module 'lgamma'.
27829         * modules/lgamma-tests: New file.
27830         * tests/test-lgamma.c: New file.
27831
27832         Tests for module 'ldexp'.
27833         * modules/ldexp-tests: New file.
27834         * tests/test-ldexp.c: New file.
27835
27836         Tests for module 'jn'.
27837         * modules/jn-tests: New file.
27838         * tests/test-jn.c: New file.
27839
27840         Tests for module 'j1'.
27841         * modules/j1-tests: New file.
27842         * tests/test-j1.c: New file.
27843
27844         Tests for module 'j0'.
27845         * modules/j0-tests: New file.
27846         * tests/test-j0.c: New file.
27847
27848         Tests for module 'hypot'.
27849         * modules/hypot-tests: New file.
27850         * tests/test-hypot.c: New file.
27851
27852         Tests for module 'fmod'.
27853         * modules/fmod-tests: New file.
27854         * tests/test-fmod.c: New file.
27855
27856         Tests for module 'fabs'.
27857         * modules/fabs-tests: New file.
27858         * tests/test-fabs.c: New file.
27859
27860         Tests for module 'exp'.
27861         * modules/exp-tests: New file.
27862         * tests/test-exp.c: New file.
27863
27864         Tests for module 'erfc'.
27865         * modules/erfc-tests: New file.
27866         * tests/test-erfc.c: New file.
27867
27868         Tests for module 'erf'.
27869         * modules/erf-tests: New file.
27870         * tests/test-erf.c: New file.
27871
27872         Tests for module 'cosh'.
27873         * modules/cosh-tests: New file.
27874         * tests/test-cosh.c: New file.
27875
27876         Tests for module 'cos'.
27877         * modules/cos-tests: New file.
27878         * tests/test-cos.c: New file.
27879
27880         Tests for module 'copysign'.
27881         * modules/copysign-tests: New file.
27882         * tests/test-copysign.c: New file.
27883
27884         Tests for module 'cbrt'.
27885         * modules/cbrt-tests: New file.
27886         * tests/test-cbrt.c: New file.
27887
27888         Tests for module 'atan2'.
27889         * modules/atan2-tests: New file.
27890         * tests/test-atan2.c: New file.
27891
27892         Tests for module 'atan'.
27893         * modules/atan-tests: New file.
27894         * tests/test-atan.c: New file.
27895
27896         Tests for module 'asin'.
27897         * modules/asin-tests: New file.
27898         * tests/test-asin.c: New file.
27899
27900         Tests for module 'acos'.
27901         * modules/acos-tests: New file.
27902         * tests/test-acos.c: New file.
27903
27904 2010-01-24  Bruno Haible  <bruno@clisp.org>
27905
27906         Fix tests for common <math.h> functions.
27907         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27908         code snippet that references the function pointer, rather than merely
27909         calling the function. Substitute the FUNC_LIBM variable.
27910         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27911         * modules/acos (configure.ac): Likewise.
27912         * modules/asin (configure.ac): Likewise.
27913         * modules/atan (configure.ac): Likewise.
27914         * modules/atan2 (configure.ac): Likewise.
27915         * modules/cbrt (configure.ac): Likewise.
27916         * modules/copysign (configure.ac): Likewise.
27917         * modules/cos (configure.ac): Likewise.
27918         * modules/cosh (configure.ac): Likewise.
27919         * modules/erf (configure.ac): Likewise.
27920         * modules/erfc (configure.ac): Likewise.
27921         * modules/exp (configure.ac): Likewise.
27922         * modules/fabs (configure.ac): Likewise.
27923         * modules/fmod (configure.ac): Likewise.
27924         * modules/hypot (configure.ac): Likewise.
27925         * modules/j0 (configure.ac): Likewise.
27926         * modules/j1 (configure.ac): Likewise.
27927         * modules/jn (configure.ac): Likewise.
27928         * modules/ldexp (configure.ac): Likewise.
27929         * modules/lgamma (configure.ac): Likewise.
27930         * modules/log (configure.ac): Likewise.
27931         * modules/log10 (configure.ac): Likewise.
27932         * modules/log1p (configure.ac): Likewise.
27933         * modules/logb (configure.ac): Likewise.
27934         * modules/modf (configure.ac): Likewise.
27935         * modules/nextafter (configure.ac): Likewise.
27936         * modules/pow (configure.ac): Likewise.
27937         * modules/remainder (configure.ac): Likewise.
27938         * modules/rint (configure.ac): Likewise.
27939         * modules/sin (configure.ac): Likewise.
27940         * modules/sinh (configure.ac): Likewise.
27941         * modules/tan (configure.ac): Likewise.
27942         * modules/tanh (configure.ac): Likewise.
27943         * modules/y0 (configure.ac): Likewise.
27944         * modules/y1 (configure.ac): Likewise.
27945         * modules/yn (configure.ac): Likewise.
27946
27947 2010-01-24  Bruno Haible  <bruno@clisp.org>
27948
27949         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27950         * tests/test-acosl.c (x): New variable.
27951         (main): Store argument in x and fetch it from x.
27952         * tests/test-asinl.c (x): New variable.
27953         (main): Store argument in x and fetch it from x.
27954         * tests/test-atanl.c (x): New variable.
27955         (main): Store argument in x and fetch it from x.
27956         * tests/test-cosl.c (x): New variable.
27957         (main): Store argument in x and fetch it from x.
27958         * tests/test-expl.c (x): New variable.
27959         (main): Store argument in x and fetch it from x.
27960         * tests/test-logl.c (x): New variable.
27961         (main): Store argument in x and fetch it from x.
27962         * tests/test-sinl.c (x): New variable.
27963         (main): Store argument in x and fetch it from x.
27964         * tests/test-sqrtl.c (x): New variable.
27965         (main): Store argument in x and fetch it from x.
27966         * tests/test-tanl.c (x): New variable.
27967         (main): Store argument in x and fetch it from x.
27968
27969 2010-01-24  Bruno Haible  <bruno@clisp.org>
27970
27971         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27972         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27973         assignments to the initial TESTS_ENVIRONMENT.
27974         * doc/gnulib.texi (Unit test modules): Document it.
27975         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27976         TESTS_ENVIRONMENT.
27977         * modules/btowc-tests (Makefile.am): Likewise.
27978         * modules/c-stack-tests (Makefile.am): Likewise.
27979         * modules/c-strcase-tests (Makefile.am): Likewise.
27980         * modules/copy-file-tests (Makefile.am): Likewise.
27981         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27982         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27983         * modules/mbrtowc-tests (Makefile.am): Likewise.
27984         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27985         * modules/mbscasestr-tests (Makefile.am): Likewise.
27986         * modules/mbschr-tests (Makefile.am): Likewise.
27987         * modules/mbscspn-tests (Makefile.am): Likewise.
27988         * modules/mbsinit-tests (Makefile.am): Likewise.
27989         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27990         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27991         * modules/mbspbrk-tests (Makefile.am): Likewise.
27992         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27993         * modules/mbsrchr-tests (Makefile.am): Likewise.
27994         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27995         * modules/mbsspn-tests (Makefile.am): Likewise.
27996         * modules/mbsstr-tests (Makefile.am): Likewise.
27997         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27998         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27999         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
28000         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
28001         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
28002         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
28003         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
28004         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
28005         * modules/wcrtomb-tests (Makefile.am): Likewise.
28006         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
28007         * modules/wcsrtombs-tests (Makefile.am): Likewise.
28008         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
28009         assignments from TESTS_ENVIRONMENT.
28010         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
28011         augmentation.
28012         * modules/argp-version-etc-tests (Makefile.am): Likewise.
28013         * modules/atexit-tests (Makefile.am): Likewise.
28014         * modules/binary-io-tests (Makefile.am): Likewise.
28015         * modules/closein-tests (Makefile.am): Likewise.
28016         * modules/dprintf-posix-tests (Makefile.am): Likewise.
28017         * modules/exclude-tests (Makefile.am): Likewise.
28018         * modules/fflush-tests (Makefile.am): Likewise.
28019         * modules/fpending-tests (Makefile.am): Likewise.
28020         * modules/fprintf-posix-tests (Makefile.am): Likewise.
28021         * modules/freadahead-tests (Makefile.am): Likewise.
28022         * modules/freadptr-tests (Makefile.am): Likewise.
28023         * modules/freadseek-tests (Makefile.am): Likewise.
28024         * modules/fseek-tests (Makefile.am): Likewise.
28025         * modules/fseeko-tests (Makefile.am): Likewise.
28026         * modules/ftell-tests (Makefile.am): Likewise.
28027         * modules/ftello-tests (Makefile.am): Likewise.
28028         * modules/idpriv-drop-tests (Makefile.am): Likewise.
28029         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
28030         * modules/lseek-tests (Makefile.am): Likewise.
28031         * modules/parse-duration-tests (Makefile.am): Likewise.
28032         * modules/perror-tests (Makefile.am): Likewise.
28033         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
28034         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
28035         * modules/pipe-tests (Makefile.am): Likewise.
28036         * modules/pread-tests (Makefile.am): Likewise.
28037         * modules/printf-posix-tests (Makefile.am): Likewise.
28038         * modules/select-tests (Makefile.am): Likewise.
28039         * modules/sigpipe-tests (Makefile.am): Likewise.
28040         * modules/tsearch-tests (Makefile.am): Likewise.
28041         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
28042         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
28043         * modules/uniname/uniname-tests (Makefile.am): Likewise.
28044         * modules/uniwidth/width-tests (Makefile.am): Likewise.
28045         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
28046         * modules/version-etc-tests (Makefile.am): Likewise.
28047         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
28048         * modules/vprintf-posix-tests (Makefile.am): Likewise.
28049         * modules/xalloc-die-tests (Makefile.am): Likewise.
28050         * modules/xprintf-posix-tests (Makefile.am): Likewise.
28051         * modules/xstrtoimax-tests (Makefile.am): Likewise.
28052         * modules/xstrtol-tests (Makefile.am): Likewise.
28053         * modules/xstrtoumax-tests (Makefile.am): Likewise.
28054         * modules/yesno-tests (Makefile.am): Likewise.
28055         Suggested by Jim Meyering.
28056
28057 2010-01-24  Bruno Haible  <bruno@clisp.org>
28058
28059         More documentation.
28060         * doc/gnulib.texi (Writing modules): New chapter.
28061         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
28062         the new chapter.
28063
28064 2010-01-24  Jim Meyering  <meyering@redhat.com>
28065
28066         maint.mk: do not prepend "./" after filtering
28067         * top/maint.mk (_prepend_srcdir_prefix): New variable
28068         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
28069         "./" when $(srcdir) is ".".
28070
28071         define STREQ(a,b) consistently, removing useless parentheses
28072         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
28073         since the only risk is that "a" or "b" contains an unparenthesized
28074         comma, but if either did that, STREQ would have 3 or more arguments.
28075         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
28076         * lib/fts.c (STREQ): Remove unnecessary parentheses.
28077         * lib/hash-triple.c (STREQ): Likewise.
28078         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
28079         * lib/getugroups.c (STREQ): Likewise.
28080
28081 2010-01-23  Jim Meyering  <meyering@redhat.com>
28082
28083         maint.mk: fix syntax-check in a non-srcdir build directory
28084         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
28085         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
28086
28087 2010-01-22  Jim Meyering  <meyering@redhat.com>
28088
28089         userspec: add unit tests
28090         * tests/test-userspec.c: New file.
28091         * modules/userspec-tests: Likewise.
28092
28093 2010-01-21  Jim Meyering  <meyering@redhat.com>
28094
28095         maint.mk: handle source file names containing "." robustly
28096         * top/maint.mk (_dot_escaped_srcdir): Define.
28097         (VC_LIST): Use it in LHS of sed substitution.
28098
28099 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
28100
28101         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
28102         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
28103         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
28104         from a non-srcdir build.
28105
28106 2010-01-20  Eric Blake  <ebb9@byu.net>
28107
28108         warn-on-use: use instead of link-warning
28109         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
28110         * modules/unistd (Depends-on, Makefile.am): Likewise.
28111         * modules/arpa_inet (Depends-on): Replace link-warning with
28112         warn-on-use.
28113         (Makefile.am): Update rules accordingly.
28114         * modules/ctype (Depends-on, Makefile.am): Likewise.
28115         * modules/dirent (Depends-on, Makefile.am): Likewise.
28116         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
28117         * modules/inttypes (Depends-on, Makefile.am): Likewise.
28118         * modules/langinfo (Depends-on, Makefile.am): Likewise.
28119         * modules/locale (Depends-on, Makefile.am): Likewise.
28120         * modules/math (Depends-on, Makefile.am): Likewise.
28121         * modules/search (Depends-on, Makefile.am): Likewise.
28122         * modules/signal (Depends-on, Makefile.am): Likewise.
28123         * modules/spawn (Depends-on, Makefile.am): Likewise.
28124         * modules/stdlib (Depends-on, Makefile.am): Likewise.
28125         * modules/string (Depends-on, Makefile.am): Likewise.
28126         * modules/strings (Depends-on, Makefile.am): Likewise.
28127         * modules/sys_file (Depends-on, Makefile.am): Likewise.
28128         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
28129         * modules/sys_select (Depends-on, Makefile.am): Likewise.
28130         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
28131         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
28132         * modules/sys_times (Depends-on, Makefile.am): Likewise.
28133         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
28134         * modules/wchar (Depends-on, Makefile.am): Likewise.
28135         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
28136         should be poisoned.
28137         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
28138         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
28139         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
28140         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28141         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28142         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28143         * m4/math_h.m4 (gl_MATH_H): Likewise.
28144         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28145         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
28146         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
28147         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
28148         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
28149         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
28150         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
28151         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
28152         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28153         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28154         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28155         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
28156         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28157         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28158         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28159         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28160         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
28161         GL_LINK_WARNING.
28162         * lib/ctype.in.h: Likewise.
28163         * lib/dirent.in.h: Likewise.
28164         * lib/fcntl.in.h: Likewise.
28165         * lib/inttypes.in.h: Likewise.
28166         * lib/langinfo.in.h: Likewise.
28167         * lib/locale.in.h: Likewise.
28168         * lib/math.in.h: Likewise.
28169         * lib/search.in.h: Likewise.
28170         * lib/signal.in.h: Likewise.
28171         * lib/spawn.in.h: Likewise.
28172         * lib/stdio.in.h: Likewise.
28173         * lib/stdlib.in.h: Likewise.
28174         * lib/string.in.h: Likewise.
28175         * lib/strings.in.h: Likewise.
28176         * lib/sys_file.in.h: Likewise.
28177         * lib/sys_ioctl.in.h: Likewise.
28178         * lib/sys_select.in.h: Likewise.
28179         * lib/sys_socket.in.h: Likewise.
28180         * lib/sys_stat.in.h: Likewise.
28181         * lib/sys_times.in.h: Likewise.
28182         * lib/sys_utsname.in.h: Likewise.
28183         * lib/unistd.in.h: Likewise.
28184         * lib/wchar.in.h: Likewise.
28185
28186 2010-01-20  Bruno Haible  <bruno@clisp.org>
28187
28188         Avoid duplicate -lm.
28189         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
28190         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
28191         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
28192         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
28193         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
28194         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
28195         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
28196         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
28197         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
28198         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
28199         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
28200         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
28201         Reported by Paolo Bonzini.
28202
28203 2010-01-19  Bruno Haible  <bruno@clisp.org>
28204
28205         langinfo, nl_langinfo: Relicense under LGPLv2+.
28206         * modules/langinfo (License): Change to LGPLv2+.
28207         * modules/nl_langinfo (License): Likewise.
28208         Patch by David Lutterkort <lutter@redhat.com>.
28209
28210 2010-01-19  Bruno Haible  <bruno@clisp.org>
28211
28212         Avoid compilation error with cc on OSF/1 5.1.
28213         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
28214         statement, not before.
28215         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28216
28217 2010-01-18  Bruno Haible  <bruno@clisp.org>
28218
28219         Avoid a link error due to the __printf__ symbol.
28220         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
28221         and 2.6.x.
28222         (__format__, __printf__): Remove definitions.
28223         * lib/argp-fmtstream.h: Likewise.
28224         * lib/argp.h: Likewise.
28225         * lib/error.h: Likewise.
28226         * lib/vasnprintf.h: Likewise.
28227         * lib/xprintf.h: Likewise.
28228         * lib/xvasprintf.h: Likewise.
28229         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28230
28231 2010-01-18  Bruno Haible  <bruno@clisp.org>
28232
28233         Tests for module 'tanl'.
28234         * modules/tanl-tests: New file.
28235         * tests/test-tanl.c: New file.
28236
28237         Tests for module 'sqrtl'.
28238         * modules/sqrtl-tests: New file.
28239         * tests/test-sqrtl.c: New file.
28240
28241         Tests for module 'sinl'.
28242         * modules/sinl-tests: New file.
28243         * tests/test-sinl.c: New file.
28244
28245         Tests for module 'logl'.
28246         * modules/logl-tests: New file.
28247         * tests/test-logl.c: New file.
28248
28249         Tests for module 'expl'.
28250         * modules/expl-tests: New file.
28251         * tests/test-expl.c: New file.
28252
28253         Tests for module 'cosl'.
28254         * modules/cosl-tests: New file.
28255         * tests/test-cosl.c: New file.
28256
28257         Tests for module 'atanl'.
28258         * modules/atanl-tests: New file.
28259         * tests/test-atanl.c: New file.
28260
28261         Tests for module 'asinl'.
28262         * modules/asinl-tests: New file.
28263         * tests/test-asinl.c: New file.
28264
28265         Tests for module 'acosl'.
28266         * modules/acosl-tests: New file.
28267         * tests/test-acosl.c: New file.
28268
28269         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
28270         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
28271         tanl): Use the standard gnulib idiom.
28272         * lib/cosl.c: Don't include trigl.c and sincosl.c.
28273         * lib/sinl.c: Likewise.
28274         * lib/tanl.c: Don't include trigl.c.
28275         (kernel_tanl): Make static.
28276         * lib/sincosl.c: Include trigl.h first.
28277         * lib/trigl.c: Likewise.
28278         * m4/acosl.m4: New file.
28279         * m4/asinl.m4: New file.
28280         * m4/atanl.m4: New file.
28281         * m4/cosl.m4: New file.
28282         * m4/expl.m4: New file.
28283         * m4/logl.m4: New file.
28284         * m4/sinl.m4: New file.
28285         * m4/sqrtl.m4: New file.
28286         * m4/tanl.m4: New file.
28287         * m4/mathl.m4: Remove file.
28288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
28289         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
28290         Don't initialize GNULIB_MATHL.
28291         * modules/acosl: New file.
28292         * modules/asinl: New file.
28293         * modules/atanl: New file.
28294         * modules/cosl: New file.
28295         * modules/expl: New file.
28296         * modules/logl: New file.
28297         * modules/sinl: New file.
28298         * modules/sqrtl: New file.
28299         * modules/tanl: New file.
28300         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
28301         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
28302         substitute GNULIB_MATHL.
28303         * modules/mathl: Rewritten.
28304         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
28305         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
28306         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
28307         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
28308         * doc/posix-functions/expl.texi: Mention the 'expl' module.
28309         * doc/posix-functions/logl.texi: Mention the 'logl' module.
28310         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
28311         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
28312         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
28313
28314 2010-01-18  Bruno Haible  <bruno@clisp.org>
28315
28316         sqrt: Make gl_FUNC_SQRT requirable.
28317         * m4/sqrt.m4: New file.
28318         * modules/sqrt (Files): Add it.
28319         (configure.ac): Invoke gl_FUNC_SQRT.
28320
28321 2010-01-18  Bruno Haible  <bruno@clisp.org>
28322
28323         New modules for common <math.h> functions.
28324         * m4/mathfunc.m4: New file.
28325         * modules/acos: New file.
28326         * modules/asin: New file.
28327         * modules/atan: New file.
28328         * modules/atan2: New file.
28329         * modules/cbrt: New file.
28330         * modules/copysign: New file.
28331         * modules/cos: New file.
28332         * modules/cosh: New file.
28333         * modules/erf: New file.
28334         * modules/erfc: New file.
28335         * modules/exp: New file.
28336         * modules/fabs: New file.
28337         * modules/fmod: New file.
28338         * modules/hypot: New file.
28339         * modules/j0: New file.
28340         * modules/j1: New file.
28341         * modules/jn: New file.
28342         * modules/ldexp: New file.
28343         * modules/lgamma: New file.
28344         * modules/log: New file.
28345         * modules/log10: New file.
28346         * modules/log1p: New file.
28347         * modules/logb: New file.
28348         * modules/modf: New file.
28349         * modules/nextafter: New file.
28350         * modules/pow: New file.
28351         * modules/remainder: New file.
28352         * modules/rint: New file.
28353         * modules/sin: New file.
28354         * modules/sinh: New file.
28355         * modules/sqrt: New file.
28356         * modules/tan: New file.
28357         * modules/tanh: New file.
28358         * modules/y0: New file.
28359         * modules/y1: New file.
28360         * modules/yn: New file.
28361         * doc/posix-functions/acos.texi: Mention the 'acos' module.
28362         * doc/posix-functions/asin.texi: Mention the 'asin' module.
28363         * doc/posix-functions/atan.texi: Mention the 'atan' module.
28364         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
28365         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
28366         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
28367         * doc/posix-functions/cos.texi: Mention the 'cos' module.
28368         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
28369         * doc/posix-functions/erf.texi: Mention the 'erf' module.
28370         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
28371         * doc/posix-functions/exp.texi: Mention the 'exp' module.
28372         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
28373         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
28374         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
28375         * doc/posix-functions/j0.texi: Mention the 'j0' module.
28376         * doc/posix-functions/j1.texi: Mention the 'j1' module.
28377         * doc/posix-functions/jn.texi: Mention the 'jn' module.
28378         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
28379         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
28380         * doc/posix-functions/log.texi: Mention the 'log' module.
28381         * doc/posix-functions/log10.texi: Mention the 'log10' module.
28382         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
28383         * doc/posix-functions/logb.texi: Mention the 'logb' module.
28384         * doc/posix-functions/modf.texi: Mention the 'modf' module.
28385         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
28386         * doc/posix-functions/pow.texi: Mention the 'pow' module.
28387         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
28388         * doc/posix-functions/rint.texi: Mention the 'rint' module.
28389         * doc/posix-functions/sin.texi: Mention the 'sin' module.
28390         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
28391         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
28392         * doc/posix-functions/tan.texi: Mention the 'tan' module.
28393         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
28394         * doc/posix-functions/y0.texi: Mention the 'y0' module.
28395         * doc/posix-functions/y1.texi: Mention the 'y1' module.
28396         * doc/posix-functions/yn.texi: Mention the 'yn' module.
28397
28398 2010-01-18  Jim Meyering  <meyering@redhat.com>
28399
28400         ignore-value: relax license to LGPLv2+
28401         * modules/ignore-value (License): Relax to LGPLv2+.
28402
28403         getdate: don't leak when TZ contains two or more '"'s
28404         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
28405         double quote in TZ after the first one.
28406
28407         readtokens: do not leak internal token_lengths buffer
28408         * lib/readtokens.c (readtokens): Free the local, lengths,
28409         when the supplied "token_lengths" parameter is NULL.
28410
28411 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28412
28413         Fix a couple of missing LIBTHREAD link failures on AIX.
28414         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
28415         $(LIBTHREAD).
28416         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
28417
28418         Link test-poll against INET_PTON_LIB.
28419         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
28420         for inet_pton on Solaris 10.
28421
28422 2010-01-17  Bruno Haible  <bruno@clisp.org>
28423
28424         unistdio/*-sprintf: Fix typo in module description.
28425         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
28426         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
28427         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
28428         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
28429         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
28430         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
28431         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
28432         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28433
28434 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28435
28436         gnulib-tool: fix filelist for AIX, HP-UX ksh.
28437         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
28438         variables in shell case patterns, for AIX and HP-UX ksh.
28439
28440         Split large sed scripts, for HP-UX sed.
28441         * modules/stdio: Split sed scripts around 50 sed commands,
28442         to avoid HP-UX limit of 99 commands, in the near future.
28443         * modules/string: Likewise.
28444         * modules/unistd: Likewise.
28445
28446         gnulib-tool: avoid writing in the current directory.
28447         * gnulib-tool (func_emit_lib_Makefile_am)
28448         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
28449         not in the current directory, so concurrent gnulib-tool
28450         instances do not interfere.
28451
28452 2010-01-16  Jim Meyering  <meyering@redhat.com>
28453
28454         doc: update users.txt
28455         * users.txt: Add grep.
28456         (diffutils, gzip): Update URLs.
28457
28458 2010-01-12  Bruno Haible  <bruno@clisp.org>
28459
28460         posix_spawn: Avoid test failure on Cygwin.
28461         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
28462         characters.
28463         Reported by Simon Josefsson.
28464
28465 2010-01-12  Bruno Haible  <bruno@clisp.org>
28466
28467         * tests/test-cond.c (main): When skipping the test, show the reason.
28468
28469 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28470
28471         * lib/striconv.c (str_cd_iconv): Avoid if before free.
28472
28473 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28474
28475         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
28476         VC_LIST_ALWAYS_EXCLUDE_REGEX.
28477
28478 2010-01-12  Eric Blake  <ebb9@byu.net>
28479
28480         build: guarantee AS_VAR_IF
28481         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
28482         (gl_AS_VAR_IF): Move...
28483         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
28484         Reported by Simon Josefsson.
28485
28486 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28487
28488         * lib/stdio.in.h: Fix typo.
28489
28490 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28491
28492         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
28493         libgpg-error.
28494
28495 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28496
28497         * tests/test-xalloc-die.sh: Use $EXEEXT.
28498
28499 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28500             Bruno Haible  <bruno@clisp.org>
28501
28502         getlogin, getlogin_r: Avoid test failure.
28503         * tests/test-getlogin.c: Include <stdio.h>.
28504         (main): Skip the test when the function fails because stdin is not a
28505         tty.
28506         * tests/test-getlogin_r.c: Include <stdio.h>.
28507         (main): Skip the test when the function fails because stdin is not a
28508         tty.
28509
28510 2010-01-11  Eric Blake  <ebb9@byu.net>
28511
28512         tests: avoid more large file warnings
28513         * tests/test-fflush.c: Avoid warning about ftell use.
28514         * tests/test-fseek.c: Avoid warning about fseek use.
28515
28516 2010-01-10  Bruno Haible  <bruno@clisp.org>
28517
28518         nproc: Work better on Linux when /proc and /sys are not mounted.
28519         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
28520         as lower bound when, on glibc/Linux systems,
28521         sysconf (_SC_NPROCESSORS_CONF) returns 1.
28522         Suggested by Pádraig Brady <P@draigbrady.com>.
28523         Reported by Dmitry V. Levin <ldv@altlinux.org>.
28524
28525         nproc: Refactor.
28526         * lib/nproc.c (num_processors_via_affinity_mask): New function,
28527         extracted from num_processors.
28528         (num_processors): Call it.
28529
28530 2010-01-11  Jim Meyering  <meyering@redhat.com>
28531
28532         utimecmp: avoid new warning from upcoming gcc-4.5.0
28533         * lib/utimecmp.c (BILLION): Define using #define rather than an
28534         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
28535
28536 2010-01-11  Eric Blake  <ebb9@byu.net>
28537
28538         math: add portability warnings for classification macros
28539         * modules/math (Depends-on): Add warn-on-use.
28540         (Makefile.am): Provide new substitutions.
28541         * m4/math_h.m4 (gl_MATH_H): Require inline.
28542         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
28543         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
28544         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
28545         implement warnings.
28546
28547         unistd: warn on use of environ without module
28548         * modules/unistd (Depends-on): Add warn-on-use.
28549         (Makefile.am): Provide new substitutions.
28550         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
28551         * lib/unistd.in.h (environ): Wrap with a warning helper function.
28552
28553         stdio: warn on suspicious uses
28554         * modules/stdio (Depends-on): Add warn-on-use.
28555         (Makefile.am): Provide new substitutions.
28556         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
28557         fseeko.
28558         * lib/stdio.in.h (gets): Always warn on use.
28559         (fseek, ftell): Adjust when warnings are issued, and honor
28560         _GL_NO_LARGE_FILES as a way to silence the warning.
28561         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
28562         any warning about large file offsets.
28563         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
28564         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
28565         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
28566         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
28567         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
28568         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
28569         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
28570         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
28571
28572         warn-on-use: new module
28573         * modules/warn-on-use: New file.
28574         * build-aux/warn-on-use.h: Likewise.
28575         * m4/warn-on-use.m4: Likewise.
28576         * MODULES.html.sh (Support for building): Mention it.
28577
28578 2010-01-10  Bruno Haible  <bruno@clisp.org>
28579
28580         Tests for module 'unistr/u32-strdup'.
28581         * modules/unistr/u32-strdup-tests: New file.
28582         * tests/unistr/test-u32-strdup.c: New file.
28583
28584         Tests for module 'unistr/u16-strdup'.
28585         * modules/unistr/u16-strdup-tests: New file.
28586         * tests/unistr/test-u16-strdup.c: New file.
28587
28588         Tests for module 'unistr/u8-strdup'.
28589         * modules/unistr/u8-strdup-tests: New file.
28590         * tests/unistr/test-u8-strdup.c: New file.
28591         * tests/unistr/test-strdup.h: New file.
28592
28593         Tests for module 'unistr/u32-strncmp'.
28594         * modules/unistr/u32-strncmp-tests: New file.
28595         * tests/unistr/test-u32-strncmp.c: New file.
28596
28597         Tests for module 'unistr/u16-strncmp'.
28598         * modules/unistr/u16-strncmp-tests: New file.
28599         * tests/unistr/test-u16-strncmp.c: New file.
28600
28601         Tests for module 'unistr/u8-strncmp'.
28602         * modules/unistr/u8-strncmp-tests: New file.
28603         * tests/unistr/test-u8-strncmp.c: New file.
28604         * tests/unistr/test-strncmp.h: New file.
28605
28606         Tests for module 'unistr/u32-strcoll'.
28607         * modules/unistr/u32-strcoll-tests: New file.
28608         * tests/unistr/test-u32-strcoll.c: New file.
28609
28610         Tests for module 'unistr/u16-strcoll'.
28611         * modules/unistr/u16-strcoll-tests: New file.
28612         * tests/unistr/test-u16-strcoll.c: New file.
28613
28614         Tests for module 'unistr/u8-strcoll'.
28615         * modules/unistr/u8-strcoll-tests: New file.
28616         * tests/unistr/test-u8-strcoll.c: New file.
28617
28618         Tests for module 'unistr/u32-strcmp'.
28619         * modules/unistr/u32-strcmp-tests: New file.
28620         * tests/unistr/test-u32-strcmp.c: New file.
28621         * tests/unistr/test-u32-strcmp.h: New file.
28622
28623         Tests for module 'unistr/u16-strcmp'.
28624         * modules/unistr/u16-strcmp-tests: New file.
28625         * tests/unistr/test-u16-strcmp.c: New file.
28626         * tests/unistr/test-u16-strcmp.h: New file.
28627
28628         Tests for module 'unistr/u8-strcmp'.
28629         * modules/unistr/u8-strcmp-tests: New file.
28630         * tests/unistr/test-u8-strcmp.c: New file.
28631         * tests/unistr/test-u8-strcmp.h: New file.
28632         * tests/unistr/test-strcmp.h: New file.
28633
28634         Tests for module 'unistr/u32-strncat'.
28635         * modules/unistr/u32-strncat-tests: New file.
28636         * tests/unistr/test-u32-strncat.c: New file.
28637
28638         Tests for module 'unistr/u16-strncat'.
28639         * modules/unistr/u16-strncat-tests: New file.
28640         * tests/unistr/test-u16-strncat.c: New file.
28641
28642         Tests for module 'unistr/u8-strncat'.
28643         * modules/unistr/u8-strncat-tests: New file.
28644         * tests/unistr/test-u8-strncat.c: New file.
28645         * tests/unistr/test-strncat.h: New file.
28646
28647         Tests for module 'unistr/u32-strcat'.
28648         * modules/unistr/u32-strcat-tests: New file.
28649         * tests/unistr/test-u32-strcat.c: New file.
28650
28651         Tests for module 'unistr/u16-strcat'.
28652         * modules/unistr/u16-strcat-tests: New file.
28653         * tests/unistr/test-u16-strcat.c: New file.
28654
28655         Tests for module 'unistr/u8-strcat'.
28656         * modules/unistr/u8-strcat-tests: New file.
28657         * tests/unistr/test-u8-strcat.c: New file.
28658         * tests/unistr/test-strcat.h: New file.
28659
28660         Tests for module 'unistr/u32-stpncpy'.
28661         * modules/unistr/u32-stpncpy-tests: New file.
28662         * tests/unistr/test-u32-stpncpy.c: New file.
28663
28664         Tests for module 'unistr/u16-stpncpy'.
28665         * modules/unistr/u16-stpncpy-tests: New file.
28666         * tests/unistr/test-u16-stpncpy.c: New file.
28667
28668         Tests for module 'unistr/u8-stpncpy'.
28669         * modules/unistr/u8-stpncpy-tests: New file.
28670         * tests/unistr/test-u8-stpncpy.c: New file.
28671         * tests/unistr/test-stpncpy.h: New file.
28672
28673         Tests for module 'unistr/u32-strncpy'.
28674         * modules/unistr/u32-strncpy-tests: New file.
28675         * tests/unistr/test-u32-strncpy.c: New file.
28676
28677         Tests for module 'unistr/u16-strncpy'.
28678         * modules/unistr/u16-strncpy-tests: New file.
28679         * tests/unistr/test-u16-strncpy.c: New file.
28680
28681         Tests for module 'unistr/u8-strncpy'.
28682         * modules/unistr/u8-strncpy-tests: New file.
28683         * tests/unistr/test-u8-strncpy.c: New file.
28684         * tests/unistr/test-strncpy.h: New file.
28685
28686         Tests for module 'unistr/u32-stpcpy'.
28687         * modules/unistr/u32-stpcpy-tests: New file.
28688         * tests/unistr/test-u32-stpcpy.c: New file.
28689
28690         Tests for module 'unistr/u16-stpcpy'.
28691         * modules/unistr/u16-stpcpy-tests: New file.
28692         * tests/unistr/test-u16-stpcpy.c: New file.
28693
28694         Tests for module 'unistr/u8-stpcpy'.
28695         * modules/unistr/u8-stpcpy-tests: New file.
28696         * tests/unistr/test-u8-stpcpy.c: New file.
28697         * tests/unistr/test-stpcpy.h: New file.
28698
28699         Tests for module 'unistr/u32-strcpy'.
28700         * modules/unistr/u32-strcpy-tests: New file.
28701         * tests/unistr/test-u32-strcpy.c: New file.
28702
28703         Tests for module 'unistr/u16-strcpy'.
28704         * modules/unistr/u16-strcpy-tests: New file.
28705         * tests/unistr/test-u16-strcpy.c: New file.
28706
28707         Tests for module 'unistr/u8-strcpy'.
28708         * modules/unistr/u8-strcpy-tests: New file.
28709         * tests/unistr/test-u8-strcpy.c: New file.
28710         * tests/unistr/test-strcpy.h: New file.
28711
28712         Tests for module 'unistr/u32-strnlen'.
28713         * modules/unistr/u32-strnlen-tests: New file.
28714         * tests/unistr/test-u32-strnlen.c: New file.
28715
28716         Tests for module 'unistr/u16-strnlen'.
28717         * modules/unistr/u16-strnlen-tests: New file.
28718         * tests/unistr/test-u16-strnlen.c: New file.
28719
28720         Tests for module 'unistr/u8-strnlen'.
28721         * modules/unistr/u8-strnlen-tests: New file.
28722         * tests/unistr/test-u8-strnlen.c: New file.
28723         * tests/unistr/test-strnlen.h: New file.
28724
28725         Tests for module 'unistr/u32-strlen'.
28726         * modules/unistr/u32-strlen-tests: New file.
28727         * tests/unistr/test-u32-strlen.c: New file.
28728
28729         Tests for module 'unistr/u16-strlen'.
28730         * modules/unistr/u16-strlen-tests: New file.
28731         * tests/unistr/test-u16-strlen.c: New file.
28732
28733         Tests for module 'unistr/u8-strlen'.
28734         * modules/unistr/u8-strlen-tests: New file.
28735         * tests/unistr/test-u8-strlen.c: New file.
28736
28737         Tests for module 'unistr/u32-prev'.
28738         * modules/unistr/u32-prev-tests: New file.
28739         * tests/unistr/test-u32-prev.c: New file.
28740
28741         Tests for module 'unistr/u16-prev'.
28742         * modules/unistr/u16-prev-tests: New file.
28743         * tests/unistr/test-u16-prev.c: New file.
28744
28745         Tests for module 'unistr/u8-prev'.
28746         * modules/unistr/u8-prev-tests: New file.
28747         * tests/unistr/test-u8-prev.c: New file.
28748
28749         Tests for module 'unistr/u32-next'.
28750         * modules/unistr/u32-next-tests: New file.
28751         * tests/unistr/test-u32-next.c: New file.
28752
28753         Tests for module 'unistr/u16-next'.
28754         * modules/unistr/u16-next-tests: New file.
28755         * tests/unistr/test-u16-next.c: New file.
28756
28757         Tests for module 'unistr/u8-next'.
28758         * modules/unistr/u8-next-tests: New file.
28759         * tests/unistr/test-u8-next.c: New file.
28760
28761         Tests for module 'unistr/u32-strmbtouc'.
28762         * modules/unistr/u32-strmbtouc-tests: New file.
28763         * tests/unistr/test-u32-strmbtouc.c: New file.
28764
28765         Tests for module 'unistr/u16-strmbtouc'.
28766         * modules/unistr/u16-strmbtouc-tests: New file.
28767         * tests/unistr/test-u16-strmbtouc.c: New file.
28768
28769         Tests for module 'unistr/u8-strmbtouc'.
28770         * modules/unistr/u8-strmbtouc-tests: New file.
28771         * tests/unistr/test-u8-strmbtouc.c: New file.
28772
28773         Tests for module 'unistr/u32-strmblen'.
28774         * modules/unistr/u32-strmblen-tests: New file.
28775         * tests/unistr/test-u32-strmblen.c: New file.
28776
28777         Tests for module 'unistr/u16-strmblen'.
28778         * modules/unistr/u16-strmblen-tests: New file.
28779         * tests/unistr/test-u16-strmblen.c: New file.
28780
28781         Tests for module 'unistr/u8-strmblen'.
28782         * modules/unistr/u8-strmblen-tests: New file.
28783         * tests/unistr/test-u8-strmblen.c: New file.
28784
28785         Tests for module 'unistr/u32-cpy-alloc'.
28786         * modules/unistr/u32-cpy-alloc-tests: New file.
28787         * tests/unistr/test-u32-cpy-alloc.c: New file.
28788
28789         Tests for module 'unistr/u16-cpy-alloc'.
28790         * modules/unistr/u16-cpy-alloc-tests: New file.
28791         * tests/unistr/test-u16-cpy-alloc.c: New file.
28792
28793         Tests for module 'unistr/u8-cpy-alloc'.
28794         * modules/unistr/u8-cpy-alloc-tests: New file.
28795         * tests/unistr/test-u8-cpy-alloc.c: New file.
28796         * tests/unistr/test-cpy-alloc.h: New file.
28797
28798         Tests for module 'unistr/u32-mbsnlen'.
28799         * modules/unistr/u32-mbsnlen-tests: New file.
28800         * tests/unistr/test-u32-mbsnlen.c: New file.
28801
28802         Tests for module 'unistr/u16-mbsnlen'.
28803         * modules/unistr/u16-mbsnlen-tests: New file.
28804         * tests/unistr/test-u16-mbsnlen.c: New file.
28805
28806         Tests for module 'unistr/u8-mbsnlen'.
28807         * modules/unistr/u8-mbsnlen-tests: New file.
28808         * tests/unistr/test-u8-mbsnlen.c: New file.
28809
28810         Tests for module 'unistr/u32-chr'.
28811         * modules/unistr/u32-chr-tests: New file.
28812         * tests/unistr/test-u32-chr.c: New file.
28813
28814         Tests for module 'unistr/u16-chr'.
28815         * modules/unistr/u16-chr-tests: New file.
28816         * tests/unistr/test-u16-chr.c: New file.
28817
28818         Tests for module 'unistr/u8-chr'.
28819         * modules/unistr/u8-chr-tests: New file.
28820         * tests/unistr/test-u8-chr.c: New file.
28821         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
28822
28823         Tests for module 'unistr/u32-cmp2'.
28824         * modules/unistr/u32-cmp2-tests: New file.
28825         * tests/unistr/test-u32-cmp2.c: New file.
28826
28827         Tests for module 'unistr/u16-cmp2'.
28828         * modules/unistr/u16-cmp2-tests: New file.
28829         * tests/unistr/test-u16-cmp2.c: New file.
28830
28831         Tests for module 'unistr/u8-cmp2'.
28832         * modules/unistr/u8-cmp2-tests: New file.
28833         * tests/unistr/test-u8-cmp2.c: New file.
28834         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
28835
28836         Tests for module 'unistr/u32-cmp'.
28837         * modules/unistr/u32-cmp-tests: New file.
28838         * tests/unistr/test-u32-cmp.c: New file.
28839
28840         Tests for module 'unistr/u16-cmp'.
28841         * modules/unistr/u16-cmp-tests: New file.
28842         * tests/unistr/test-u16-cmp.c: New file.
28843
28844         Tests for module 'unistr/u8-cmp'.
28845         * modules/unistr/u8-cmp-tests: New file.
28846         * tests/unistr/test-u8-cmp.c: New file.
28847         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28848
28849         Tests for module 'unistr/u32-set'.
28850         * modules/unistr/u32-set-tests: New file.
28851         * tests/unistr/test-u32-set.c: New file.
28852
28853         Tests for module 'unistr/u16-set'.
28854         * modules/unistr/u16-set-tests: New file.
28855         * tests/unistr/test-u16-set.c: New file.
28856
28857         Tests for module 'unistr/u8-set'.
28858         * modules/unistr/u8-set-tests: New file.
28859         * tests/unistr/test-u8-set.c: New file.
28860         * tests/unistr/test-set.h: New file.
28861
28862         Tests for module 'unistr/u32-move'.
28863         * modules/unistr/u32-move-tests: New file.
28864         * tests/unistr/test-u32-move.c: New file.
28865
28866         Tests for module 'unistr/u16-move'.
28867         * modules/unistr/u16-move-tests: New file.
28868         * tests/unistr/test-u16-move.c: New file.
28869
28870         Tests for module 'unistr/u8-move'.
28871         * modules/unistr/u8-move-tests: New file.
28872         * tests/unistr/test-u8-move.c: New file.
28873         * tests/unistr/test-move.h: New file.
28874
28875         Tests for module 'unistr/u32-cpy'.
28876         * modules/unistr/u32-cpy-tests: New file.
28877         * tests/unistr/test-u32-cpy.c: New file.
28878
28879         Tests for module 'unistr/u16-cpy'.
28880         * modules/unistr/u16-cpy-tests: New file.
28881         * tests/unistr/test-u16-cpy.c: New file.
28882
28883         Tests for module 'unistr/u8-cpy'.
28884         * modules/unistr/u8-cpy-tests: New file.
28885         * tests/unistr/test-u8-cpy.c: New file.
28886         * tests/unistr/test-cpy.h: New file.
28887
28888 2010-01-09  Bruno Haible  <bruno@clisp.org>
28889
28890         Tests for module 'unistr/u32-uctomb'.
28891         * modules/unistr/u32-uctomb-tests: New file.
28892         * tests/unistr/test-u32-uctomb.c: New file.
28893
28894         Tests for module 'unistr/u16-uctomb'.
28895         * modules/unistr/u16-uctomb-tests: New file.
28896         * tests/unistr/test-u16-uctomb.c: New file.
28897
28898         Tests for module 'unistr/u8-uctomb'.
28899         * modules/unistr/u8-uctomb-tests: New file.
28900         * tests/unistr/test-u8-uctomb.c: New file.
28901
28902         Tests for module 'unistr/u32-mbtoucr'.
28903         * modules/unistr/u32-mbtoucr-tests: New file.
28904         * tests/unistr/test-u32-mbtoucr.c: New file.
28905
28906         Tests for module 'unistr/u16-mbtoucr'.
28907         * modules/unistr/u16-mbtoucr-tests: New file.
28908         * tests/unistr/test-u16-mbtoucr.c: New file.
28909
28910         Tests for module 'unistr/u8-mbtoucr'.
28911         * modules/unistr/u8-mbtoucr-tests: New file.
28912         * tests/unistr/test-u8-mbtoucr.c: New file.
28913
28914         Tests for module 'unistr/u32-mbtouc'.
28915         * modules/unistr/u32-mbtouc-tests: New file.
28916         * tests/unistr/test-u32-mbtouc.c: New file.
28917
28918         Tests for module 'unistr/u16-mbtouc'.
28919         * modules/unistr/u16-mbtouc-tests: New file.
28920         * tests/unistr/test-u16-mbtouc.c: New file.
28921
28922         Tests for module 'unistr/u8-mbtouc'.
28923         * modules/unistr/u8-mbtouc-tests: New file.
28924         * tests/unistr/test-u8-mbtouc.c: New file.
28925
28926         Tests for module 'unistr/u32-mbtouc-unsafe'.
28927         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28928         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28929         * tests/unistr/test-u32-mbtouc.h: New file.
28930
28931         Tests for module 'unistr/u16-mbtouc-unsafe'.
28932         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28933         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28934         * tests/unistr/test-u16-mbtouc.h: New file.
28935
28936         Tests for module 'unistr/u8-mbtouc-unsafe'.
28937         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28938         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28939         * tests/unistr/test-u8-mbtouc.h: New file.
28940
28941         Tests for module 'unistr/u32-mblen'.
28942         * modules/unistr/u32-mblen-tests: New file.
28943         * tests/unistr/test-u32-mblen.c: New file.
28944
28945         Tests for module 'unistr/u16-mblen'.
28946         * modules/unistr/u16-mblen-tests: New file.
28947         * tests/unistr/test-u16-mblen.c: New file.
28948
28949         Tests for module 'unistr/u8-mblen'.
28950         * modules/unistr/u8-mblen-tests: New file.
28951         * tests/unistr/test-u8-mblen.c: New file.
28952
28953         Tests for module 'unistr/u32-to-u16'.
28954         * modules/unistr/u32-to-u16-tests: New file.
28955         * tests/unistr/test-u32-to-u16.c: New file.
28956
28957         Tests for module 'unistr/u32-to-u8'.
28958         * modules/unistr/u32-to-u8-tests: New file.
28959         * tests/unistr/test-u32-to-u8.c: New file.
28960
28961         Tests for module 'unistr/u16-to-u32'.
28962         * modules/unistr/u16-to-u32-tests: New file.
28963         * tests/unistr/test-u16-to-u32.c: New file.
28964
28965         Tests for module 'unistr/u16-to-u8'.
28966         * modules/unistr/u16-to-u8-tests: New file.
28967         * tests/unistr/test-u16-to-u8.c: New file.
28968
28969         Tests for module 'unistr/u8-to-u32'.
28970         * modules/unistr/u8-to-u32-tests: New file.
28971         * tests/unistr/test-u8-to-u32.c: New file.
28972
28973         Tests for module 'unistr/u8-to-u16'.
28974         * modules/unistr/u8-to-u16-tests: New file.
28975         * tests/unistr/test-u8-to-u16.c: New file.
28976
28977         Tests for module 'unistr/u32-check'.
28978         * modules/unistr/u32-check-tests: New file.
28979         * tests/unistr/test-u32-check.c: New file.
28980
28981         Tests for module 'unistr/u16-check'.
28982         * modules/unistr/u16-check-tests: New file.
28983         * tests/unistr/test-u16-check.c: New file.
28984
28985         Tests for module 'unistr/u8-check'.
28986         * modules/unistr/u8-check-tests: New file.
28987         * tests/unistr/test-u8-check.c: New file.
28988
28989         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28990         (category_equals): New function.
28991         (main): Add more tests.
28992         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28993
28994         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28995
28996 2010-01-10  Bruno Haible  <bruno@clisp.org>
28997
28998         unistr/u*-strcoll: Try harder to distinguish different strings.
28999         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
29000         compare s1 and s2 to see if they are different.
29001
29002 2010-01-10  Bruno Haible  <bruno@clisp.org>
29003
29004         unistr/u*-stpncpy: Fix the return value.
29005         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
29006         description of the return value consistent with stpncpy in glibc.
29007         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
29008         written non-NUL unit.
29009
29010 2010-01-10  Bruno Haible  <bruno@clisp.org>
29011
29012         unistr/u*-next: Add missing dependencies.
29013         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
29014         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
29015         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
29016
29017 2010-01-10  Bruno Haible  <bruno@clisp.org>
29018
29019         unistr/u8-mbsnlen: Fix return value for incomplete character.
29020         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
29021         u8_mblen.
29022         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
29023         Remove unistr/u8-mblen.
29024         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
29025         u16_mblen.
29026         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
29027         Remove unistr/u16-mblen.
29028
29029 2010-01-10  Bruno Haible  <bruno@clisp.org>
29030
29031         wchar: Fix compilation error when <wchar.h> is used from coreutils.
29032         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
29033         Reported by Brian Gough <bjg@gnu.org> and
29034         Chris Clayton <chris2553@googlemail.com> via
29035         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
29036
29037 2010-01-09  Bruno Haible  <bruno@clisp.org>
29038
29039         unistr/u16-to-u32: Reject invalid input.
29040         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
29041         u16_mbtouc.
29042         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
29043         Remove unistr/u16-mbtouc.
29044
29045         unistr/u16-to-u8: Reject invalid input.
29046         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
29047         u16_mbtouc.
29048         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
29049         Remove unistr/u16-mbtouc.
29050
29051         unistr/u8-to-u32: Reject invalid input.
29052         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
29053         u8_mbtouc.
29054         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
29055         Remove unistr/u8-mbtouc.
29056
29057         unistr/u8-to-u16: Reject invalid input.
29058         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
29059         u8_mbtouc.
29060         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
29061         Remove unistr/u8-mbtouc.
29062
29063 2010-01-09  Bruno Haible  <bruno@clisp.org>
29064
29065         Tests for module 'getlogin'.
29066         * modules/getlogin-tests: New file.
29067         * tests/test-getlogin.c: New file.
29068
29069         New module 'getlogin'.
29070         * lib/unistd.in.h (getlogin): New declaration.
29071         * lib/getlogin.c: New file.
29072         * m4/getlogin.m4: New file.
29073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
29074         HAVE_GETLOGIN.
29075         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
29076         HAVE_GETLOGIN.
29077         * modules/getlogin: New file.
29078         * doc/posix-functions/getlogin.texi: Mention the new module.
29079         Reported by John W. Eaton <jwe@gnu.org>.
29080
29081 2010-01-09  Bruno Haible  <bruno@clisp.org>
29082
29083         getlogin_r: Support for native Windows.
29084         * lib/getlogin_r.c: Include <windows.h>
29085         (getlogin_r): Implement for native Windows.
29086         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
29087         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
29088         via John W. Eaton <jwe@gnu.org>.
29089
29090 2010-01-09  Bruno Haible  <bruno@clisp.org>
29091
29092         getlogin_r: Small fixes.
29093         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
29094         succeeds.
29095         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
29096         before testing whether getlogin_r is declared. No need to set
29097         HAVE_DECL_GETLOGIN_R to 1.
29098         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
29099
29100 2010-01-09  Bruno Haible  <bruno@clisp.org>
29101
29102         * lib/unistd.in.h (getlogin_r): Add comment.
29103
29104 2010-01-09  Bruno Haible  <bruno@clisp.org>
29105
29106         Tests for module 'getlogin_r'.
29107         * modules/getlogin_r-tests: New file.
29108         * tests/test-getlogin_r.c: New file.
29109
29110 2010-01-09  Jim Meyering  <meyering@redhat.com>
29111
29112         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
29113         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
29114         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
29115
29116 2010-01-08  Simon Josefsson  <simon@josefsson.org>
29117
29118         * lib/dup2.c (rpl_dup2): Improve comment.
29119
29120 2010-01-08  Eric Blake  <ebb9@byu.net>
29121
29122         maint.mk: allow packages to add makefile @@ exceptions
29123         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
29124         (sc_makefile_check): Rename...
29125         (sc_makefile_at_at_check): ...to this, and use hook.
29126
29127         dup2: work around mingw bug
29128         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
29129         Reported by Simon Josefsson.
29130
29131 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
29132
29133         glob: Fix C++ compilation.
29134         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
29135         C++.
29136
29137 2010-01-07  Bruno Haible  <bruno@clisp.org>
29138
29139         Fix indentation of wctype.in.h, broken since 2007-01-06.
29140         * lib/wctype.in.h: Fix indentation of preprocessor directives.
29141
29142 2010-01-07  Bruno Haible  <bruno@clisp.org>
29143
29144         mbslen: Avoid collision with system function.
29145         * lib/string.in.h [MirBSD]: Include <wchar.h>.
29146         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
29147         * m4/mbslen.m4: New file.
29148         * modules/mbslen (Files): Add it.
29149         (configure.ac): Invoke gl_MBSLEN.
29150         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
29151         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
29152         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
29153         via Ian Beckwith <ianb@erislabs.net>.
29154
29155 2010-01-07  Bruno Haible  <bruno@clisp.org>
29156
29157         dirent: Document the last fix.
29158         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
29159
29160 2010-01-07  Bruno Haible  <bruno@clisp.org>
29161
29162         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
29163         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
29164         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
29165         va_list are defined.
29166         * doc/posix-headers/stdio.texi: Document the bug of missing types.
29167         Reported by Eric Blake.
29168
29169 2010-01-07  Bruno Haible  <bruno@clisp.org>
29170
29171         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
29172         * modules/xlist (Depends-on): Add 'list',
29173         * modules/xoset (Depends-on): Add 'oset'.
29174         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29175
29176 2010-01-07  Bruno Haible  <bruno@clisp.org>
29177
29178         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
29179         * doc/posix-functions/strncasecmp.texi: Likewise.
29180
29181 2010-01-07  Bruno Haible  <bruno@clisp.org>
29182
29183         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
29184
29185 2010-01-07  John W. Eaton  <jwe@octave.org>
29186
29187         wctype: allow C++ use
29188         * lib/wctype.in.h: Add extern "C" block for C++.
29189
29190 2010-01-06  Eric Blake  <ebb9@byu.net>
29191
29192         maint.mk: detect incorrect GFDL usage
29193         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
29194
29195 2010-01-06  Jim Meyering  <meyering@redhat.com>
29196         and Eric Blake  <ebb9@byu.net>
29197
29198         maint.mk: ignore multi-line copyright in NEWS
29199         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
29200
29201 2010-01-06  Eric Blake  <ebb9@byu.net>
29202
29203         select: add missing dependency
29204         * modules/select-tests (Depends-on): Move sockets dependency...
29205         * modules/select (Depends-on): ...here.
29206         Reported by Ian Beckwith.
29207
29208         doc: regenerate INSTALL
29209         * doc/INSTALL: Reflect recent autoconf update.
29210         * doc/INSTALL.ISO: Likewise.
29211         * doc/INSTALL.UTF-8: Likewise.
29212
29213         pread: fix compilation on glibc
29214         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
29215         Reported by Ralf Wildenhues.
29216
29217         dirent: fix test failure
29218         * lib/dirent.in.h (includes): Guarantee ino_t.
29219         Reported by Ralf Wildenhues.
29220
29221 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
29222
29223         linkat, renameat: avoid bad free
29224         * lib/at-func2.c (at_func2): Fix typo.
29225         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
29226
29227 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29228
29229         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
29230         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
29231         to avoid failure of symlink test later.
29232
29233 2010-01-06  Eric Blake  <ebb9@byu.net>
29234
29235         stdio, unistd: guarantee ssize_t
29236         * lib/unistd.in.h (includes): Ensure that types required by POSIX
29237         2008 are exposed when needed.
29238         * lib/stdio.in.h (includes): Likewise.
29239         Reported by Ralf Wildenhues.
29240
29241 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
29242
29243         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
29244         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
29245         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
29246
29247 2010-01-06  Jim Meyering  <meyering@redhat.com>
29248
29249         readtokens: this module *does* require xalloc.h
29250         It uses only functions that were omitted by the old syntax-check rule.
29251         * lib/readtokens.c: Include "xalloc.h" once again.
29252         * modules/readtokens (Depends-on): Add xalloc.
29253         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
29254
29255 2010-01-05  Eric Blake  <ebb9@byu.net>
29256
29257         maint: support 'make announcement' from a VPATH build
29258         * top/maint.mk (announcement): Look for correct NEWS file.
29259
29260 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
29261
29262         utimens (fdutimens): ignore a negative FD, per contract
29263         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
29264         when we have a valid file descriptor.  Otherwise, using a brand
29265         new glibc (with just-patched futimens that now fails with EBADF)
29266         would cause this function to fail with ENOSYS.
29267         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
29268         See also http://bugzilla.redhat.com/552320.
29269
29270 2010-01-05  Eric Blake  <ebb9@byu.net>
29271
29272         strcase: document what it provides
29273         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
29274         gnulib module.
29275         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
29276         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
29277
29278 2010-01-05  Jim Meyering  <meyering@redhat.com>
29279
29280         maint: remove useless inclusions of "xalloc.h"
29281         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
29282         * lib/readtokens.c: Likewise.
29283         * lib/same.c: Likewise.
29284         * modules/getloadavg (Depends-on): Remove xalloc.
29285         * modules/readtokens: Likewise.
29286         * modules/same: Likewise.
29287
29288         maint.mk: include 4 more function names in alloca.h-checking regexp
29289         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
29290         regexp.  Before, we would give a false-positive (saying alloca.h
29291         is included unnecessarily) when the only uses involved omitted symbols.
29292
29293         xalloc.h: use consistent formatting
29294         * lib/xalloc.h: Move declarations to start in the first column.
29295
29296 2010-01-05  Eric Blake  <ebb9@byu.net>
29297
29298         mkdir: avoid xalloc
29299         * lib/mkdir.c (includes): Drop unused header.
29300         Reported by John W. Eaton.
29301
29302 2010-01-04  Jim Meyering  <meyering@redhat.com>
29303
29304         nl_langinfo: avoid configure-time syntax error
29305         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
29306         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
29307         the empty string.  Don't let that provoke a shell syntax error.
29308
29309         regcomp, regexec, fnmatch: avoid array bounds read error
29310         * lib/regcomp.c (build_equiv_class): From glibc:
29311         Use only the low 24 bits of a findidx return value as an index
29312         into the weights array.  Patch by Ulrich Drepper:
29313         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
29314         * lib/regexec.c (check_node_accept_bytes): Likewise.
29315         * lib/fnmatch_loop.c (FCT): Likewise.
29316
29317         regcomp: skip collseq lookup when there are no rules
29318         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
29319         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
29320
29321         regcomp: recognize ill-formed { } expressions
29322         * lib/regcomp.c (parse_dup_op): From glibc:
29323         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
29324
29325         regcomp: fix typo in comment
29326         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
29327         s/satisfy/satisfies/.
29328
29329         regcomp: sync from glibc: remove dead store
29330         * lib/regcomp.c (duplicate_node_closure): Remove useless
29331         search_duplicated_node call and dead store.
29332
29333         regcomp: sync from glibc; always use nl_langinfo
29334         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
29335         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
29336         * modules/regex (Depends-on): Add nl_langinfo.
29337
29338 2010-01-04  Eric Blake  <ebb9@byu.net>
29339
29340         fdopendir: fix configure test
29341         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
29342
29343 2010-01-01  Bruno Haible  <bruno@clisp.org>
29344
29345         wchar: Remove unused configure check.
29346         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
29347
29348 2010-01-01  Eric Blake  <ebb9@byu.net>
29349
29350         headers: make check of system header explicit
29351         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
29352         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
29353         ourselves.
29354         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
29355         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29356         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
29357         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
29358         internals.
29359         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
29360         missing.
29361         Suggested by Bruno Haible.
29362
29363 2010-01-01  Jim Meyering  <meyering@redhat.com>
29364
29365         ChangeLog: tweak to eliminate unnecessary copyright line
29366         * ChangeLog: Remove a copyright line that was mistakenly updated
29367         by today's update-copyright run.  Reported by Eric Blake.
29368
29369         test-update-copyright: don't let envvar setting cause test failure
29370         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29371
29372 2010-01-01  Bruno Haible  <bruno@clisp.org>
29373
29374         localename: Avoid gcc warning.
29375         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
29376         function if it is not used.
29377
29378 2010-01-01  Jim Meyering  <meyering@redhat.com>
29379
29380         update nearly all FSF copyright year lists to include 2010
29381         Use the same procedure as for 2009, outlined in
29382         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
29383
29384         version-etc: set COPYRIGHT_YEAR to 2010
29385         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
29386
29387 2009-12-31  Eric Blake  <ebb9@byu.net>
29388
29389         doc: correct availability of cygwin 1.5.x getopt
29390         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
29391         variables.
29392         * doc/posix-functions/opterr.texi (opterr): Likewise.
29393         * doc/posix-functions/optind.texi (optind): Likewise.
29394         * doc/posix-functions/optopt.texi (optopt): Likewise.
29395         * doc/posix-functions/tzname.texi (tzname): Likewise.
29396
29397         openat: update maintainer
29398         * modules/openat (Maintainer): Add myself.
29399
29400         utimens: avoid shadowing warning
29401         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
29402         buffers into one, to avoid shadowing, as well as avoiding a
29403         redundant stat.
29404         Reported by Jim Meyering.
29405
29406         test-dup2: avoid compiler warning
29407         * tests/test-dup2.c (is_inheritable): Only define if used.
29408
29409 2010-01-01  Bruno Haible  <bruno@clisp.org>
29410
29411         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
29412         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
29413         defined, use wctomb instead of wcrtomb.
29414
29415 2010-01-01  Bruno Haible  <bruno@clisp.org>
29416
29417         iconv: Reject native Solaris iconv.
29418         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
29419         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
29420
29421 2009-12-31  Bruno Haible  <bruno@clisp.org>
29422
29423         * tests/test-signal.c (main): Remove test of 'SIG'.
29424
29425 2009-12-31  Bruno Haible  <bruno@clisp.org>
29426
29427         spawn: Fix incomplete fix.
29428         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
29429         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
29430         warnings for GNULIB_POSIXCHECK again.
29431         Reported by Eric Blake.
29432
29433 2009-12-31  Bruno Haible  <bruno@clisp.org>
29434
29435         Avoid namespace pollution on glibc systems.
29436         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
29437         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
29438         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
29439         glibc systems.
29440
29441 2009-12-31  Bruno Haible  <bruno@clisp.org>
29442
29443         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
29444         (gl_REPLACE_WCHAR_H): Turn into a no-op.
29445         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
29446         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
29447         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
29448         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
29449         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
29450
29451 2009-12-31  Bruno Haible  <bruno@clisp.org>
29452
29453         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
29454         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
29455         afterwards.
29456
29457 2009-12-31  Bruno Haible  <bruno@clisp.org>
29458
29459         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
29460         SYS_UTSNAME_H.
29461
29462 2009-12-31  Bruno Haible  <bruno@clisp.org>
29463
29464         spawn: Fix misapplied patch.
29465         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
29466         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
29467         warnings for GNULIB_POSIXCHECK.
29468
29469 2009-12-31  Bruno Haible  <bruno@clisp.org>
29470
29471         times: Update after sys_times changed.
29472         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
29473         * modules/times (Files): Add it.
29474         (configure.ac): Invoke gl_FUNC_TIMES.
29475
29476 2009-12-31  Bruno Haible  <bruno@clisp.org>
29477
29478         Use AC_C_INLINE where necessary.
29479         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
29480         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29481         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
29482         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
29483         * m4/mbfile.m4 (gl_MBFILE): Likewise.
29484         * m4/mbiter.m4 (gl_MBITER): Likewise.
29485         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
29486         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
29487         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
29488         * modules/u64 (configure.ac): Likewise.
29489
29490 2009-12-31  Bruno Haible  <bruno@clisp.org>
29491
29492         Use AC_C_INLINE instead of module 'inline' where possible.
29493         * modules/inline (Description): Clarify purpose.
29494         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
29495         * modules/count-one-bits (Depends-on): Remove inline.
29496         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
29497         * modules/openat (Depends-on): Remove inline.
29498         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
29499         instead of depending on module 'inline'.
29500         * modules/filevercmp (Depends-on, configure.ac): Likewise.
29501         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
29502         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
29503         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
29504         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
29505         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
29506         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
29507         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
29508         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
29509         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
29510         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
29511         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
29512         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
29513         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
29514         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
29515         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
29516         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
29517         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
29518         Likewise.
29519         * modules/unictype/property-ascii-hex-digit (Depends-on,
29520         configure.ac): Likewise.
29521         * modules/unictype/property-bidi-arabic-digit (Depends-on,
29522         configure.ac): Likewise.
29523         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
29524         configure.ac): Likewise.
29525         * modules/unictype/property-bidi-block-separator (Depends-on,
29526         configure.ac): Likewise.
29527         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
29528         configure.ac): Likewise.
29529         * modules/unictype/property-bidi-common-separator (Depends-on,
29530         configure.ac): Likewise.
29531         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
29532         Likewise.
29533         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
29534         configure.ac): Likewise.
29535         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
29536         configure.ac): Likewise.
29537         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
29538         configure.ac): Likewise.
29539         * modules/unictype/property-bidi-european-digit (Depends-on,
29540         configure.ac): Likewise.
29541         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
29542         configure.ac): Likewise.
29543         * modules/unictype/property-bidi-left-to-right (Depends-on,
29544         configure.ac): Likewise.
29545         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
29546         configure.ac): Likewise.
29547         * modules/unictype/property-bidi-other-neutral (Depends-on,
29548         configure.ac): Likewise.
29549         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
29550         Likewise.
29551         * modules/unictype/property-bidi-segment-separator (Depends-on,
29552         configure.ac): Likewise.
29553         * modules/unictype/property-bidi-whitespace (Depends-on,
29554         configure.ac): Likewise.
29555         * modules/unictype/property-combining (Depends-on, configure.ac):
29556         Likewise.
29557         * modules/unictype/property-composite (Depends-on, configure.ac):
29558         Likewise.
29559         * modules/unictype/property-currency-symbol (Depends-on,
29560         configure.ac): Likewise.
29561         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
29562         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
29563         Likewise.
29564         * modules/unictype/property-default-ignorable-code-point (Depends-on,
29565         configure.ac): Likewise.
29566         * modules/unictype/property-deprecated (Depends-on, configure.ac):
29567         Likewise.
29568         * modules/unictype/property-diacritic (Depends-on, configure.ac):
29569         Likewise.
29570         * modules/unictype/property-extender (Depends-on, configure.ac):
29571         Likewise.
29572         * modules/unictype/property-format-control (Depends-on, configure.ac):
29573         Likewise.
29574         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
29575         Likewise.
29576         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
29577         Likewise.
29578         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
29579         Likewise.
29580         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
29581         Likewise.
29582         * modules/unictype/property-hyphen (Depends-on, configure.ac):
29583         Likewise.
29584         * modules/unictype/property-id-continue (Depends-on, configure.ac):
29585         Likewise.
29586         * modules/unictype/property-id-start (Depends-on, configure.ac):
29587         Likewise.
29588         * modules/unictype/property-ideographic (Depends-on, configure.ac):
29589         Likewise.
29590         * modules/unictype/property-ids-binary-operator (Depends-on,
29591         configure.ac): Likewise.
29592         * modules/unictype/property-ids-trinary-operator (Depends-on,
29593         configure.ac): Likewise.
29594         * modules/unictype/property-ignorable-control (Depends-on,
29595         configure.ac): Likewise.
29596         * modules/unictype/property-iso-control (Depends-on, configure.ac):
29597         Likewise.
29598         * modules/unictype/property-join-control (Depends-on, configure.ac):
29599         Likewise.
29600         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
29601         Likewise.
29602         * modules/unictype/property-line-separator (Depends-on, configure.ac):
29603         Likewise.
29604         * modules/unictype/property-logical-order-exception (Depends-on,
29605         configure.ac): Likewise.
29606         * modules/unictype/property-lowercase (Depends-on, configure.ac):
29607         Likewise.
29608         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
29609         * modules/unictype/property-non-break (Depends-on, configure.ac):
29610         Likewise.
29611         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
29612         Likewise.
29613         * modules/unictype/property-numeric (Depends-on, configure.ac):
29614         Likewise.
29615         * modules/unictype/property-other-alphabetic (Depends-on,
29616         configure.ac): Likewise.
29617         * modules/unictype/property-other-default-ignorable-code-point
29618         (Depends-on, configure.ac): Likewise.
29619         * modules/unictype/property-other-grapheme-extend (Depends-on,
29620         configure.ac): Likewise.
29621         * modules/unictype/property-other-id-continue (Depends-on,
29622         configure.ac): Likewise.
29623         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
29624         Likewise.
29625         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
29626         Likewise.
29627         * modules/unictype/property-other-math (Depends-on, configure.ac):
29628         Likewise.
29629         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
29630         Likewise.
29631         * modules/unictype/property-paired-punctuation (Depends-on,
29632         configure.ac): Likewise.
29633         * modules/unictype/property-paragraph-separator (Depends-on,
29634         configure.ac): Likewise.
29635         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
29636         Likewise.
29637         * modules/unictype/property-pattern-white-space (Depends-on,
29638         configure.ac): Likewise.
29639         * modules/unictype/property-private-use (Depends-on, configure.ac):
29640         Likewise.
29641         * modules/unictype/property-punctuation (Depends-on, configure.ac):
29642         Likewise.
29643         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
29644         Likewise.
29645         * modules/unictype/property-radical (Depends-on, configure.ac):
29646         Likewise.
29647         * modules/unictype/property-sentence-terminal (Depends-on,
29648         configure.ac): Likewise.
29649         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
29650         Likewise.
29651         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
29652         * modules/unictype/property-terminal-punctuation (Depends-on,
29653         configure.ac): Likewise.
29654         * modules/unictype/property-titlecase (Depends-on, configure.ac):
29655         Likewise.
29656         * modules/unictype/property-unassigned-code-value (Depends-on,
29657         configure.ac): Likewise.
29658         * modules/unictype/property-unified-ideograph (Depends-on,
29659         configure.ac): Likewise.
29660         * modules/unictype/property-uppercase (Depends-on, configure.ac):
29661         Likewise.
29662         * modules/unictype/property-variation-selector (Depends-on,
29663         configure.ac): Likewise.
29664         * modules/unictype/property-white-space (Depends-on, configure.ac):
29665         Likewise.
29666         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
29667         Likewise.
29668         * modules/unictype/property-xid-start (Depends-on, configure.ac):
29669         Likewise.
29670         * modules/unictype/property-zero-width (Depends-on, configure.ac):
29671         Likewise.
29672         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
29673         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
29674         Likewise.
29675
29676 2009-12-31  Bruno Haible  <bruno@clisp.org>
29677
29678         Remove unnecessary AC_C_INLINE invocation.
29679         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
29680         since 2009-08-21.
29681
29682 2009-12-31  Jim Meyering  <meyering@redhat.com>
29683
29684         maint.mk: don't require explicit gpg_key_ID in cfg.mk
29685         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
29686         With this change, we can all remove the gpg_key_ID = ... definition
29687         from our respective cfg.mk files.
29688
29689         maint.mk: create announcement template in ~/, not in /tmp
29690         * top/maint.mk (emit_upload_commands): Adjust.
29691         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
29692         Remove temporary file, .ci-msg.
29693
29694 2009-12-31  Eric Blake  <ebb9@byu.net>
29695
29696         link-warning: always build headers with link warnings
29697         * modules/arpa_inet (Makefile.am): Always build replacement
29698         header.
29699         * modules/ctype (Makefile.am): Likewise.
29700         * modules/dirent (Makefile.am): Likewise.
29701         * modules/inttypes (Makefile.am): Likewise.
29702         * modules/langinfo (Makefile.am): Likewise.
29703         * modules/locale (Makefile.am): Likewise.
29704         * modules/spawn (Makefile.am): Likewise.
29705         * modules/sys_file (Makefile.am): Likewise.
29706         * modules/sys_ioctl (Makefile.am): Likewise.
29707         * modules/sys_select (Makefile.am): Likewise.
29708         * modules/sys_socket (Makefile.am): Likewise.
29709         * modules/sys_times (Makefile.am): Likewise.
29710         * modules/sys_utsname (Makefile.am): Likewise.
29711         * modules/sys_wait (Makefile.am): Likewise.
29712         * modules/wchar (Makefile.am): Likewise.
29713         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
29714         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
29715         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
29716         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
29717         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
29718         Likewise.
29719         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29720         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29721         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
29722         Likewise.
29723         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
29724         Likewise.
29725         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
29726         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
29727         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
29728         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29729         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29730         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29731         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29732         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
29733         (gl_WCHAR_H_DEFAULTS): Likewise.
29734
29735 2009-12-31  Eric Blake  <ebb9@byu.net>
29736
29737         signal, spawn: use link warnings
29738         * lib/signal.in.h (sigset_t): Make unconditional.
29739         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
29740         (sigpending, sigprocmask, sigaction): Add link warnings.
29741         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
29742         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
29743         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
29744         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
29745         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
29746         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
29747         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
29748         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
29749         (posix_spawn_file_actions_destroy)
29750         (posix_spawn_file_actions_addopen)
29751         (posix_spawn_file_actions_addclose)
29752         (posix_spawn_file_actions_adddup2): Likewise.
29753         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
29754         * tests/test-signal.c (main): Enhance test.
29755
29756         spawn: improve wrapper support
29757         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
29758         (gl_SPAWN_H_DEFAULTS): New defaults.
29759         * modules/spawn (Makefile.am): Substitute them.
29760         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
29761         Only declare if missing or broken.
29762
29763         sys_times, sys_utsname: use include_next
29764         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
29765         header.
29766         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
29767         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29768         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29769         * modules/sys_times (Depends-on): Add include_next.
29770         (Makefile.am): Substitute additional values.
29771         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29772         * lib/sys_times.in.h (includes): Include native header, if
29773         available.
29774         * lib/sys_utsname.in.h (includes): Likewise.
29775         * tests/test-sys_times.c (main): Enhance test.
29776
29777         fdutimensat: revert prior patch
29778         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
29779         utimens.h.
29780         Reported by Bruno Haible.
29781
29782 2009-12-30  Eric Blake  <ebb9@byu.net>
29783
29784         sys_wait: drop link-warning dependency
29785         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
29786         link-warning efforts.
29787         * lib/sys_wait.in.h: Likewise.
29788
29789         fdutimensat: remove bogus dependency
29790         * modules/fdutimensat (Depends-on): Drop inline.
29791
29792         unistd: fix typo
29793         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
29794
29795 2009-12-30  Bruno Haible  <bruno@clisp.org>
29796
29797         Fix compilation error with Solaris cc.
29798         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
29799         * lib/unicase/u16-is-invariant.c: Likewise.
29800         * lib/unicase/u32-is-invariant.c: Likewise.
29801         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29802
29803 2009-12-30  Bruno Haible  <bruno@clisp.org>
29804
29805         Fix test crash.
29806         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
29807         locales.
29808         Reported by Simon Josefsson <simon@josefsson.org>.
29809
29810 2009-12-30  Bruno Haible  <bruno@clisp.org>
29811
29812         Fix compilation error on most platforms.
29813         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
29814         Reported by Simon Josefsson <simon@josefsson.org>
29815         and Nelson H. F. Beebe <beebe@math.utah.edu>.
29816
29817 2009-12-30  Eric Blake  <ebb9@byu.net>
29818
29819         futimens, utimensat: work around ntfs-3g bug
29820         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
29821         a ctime bug is present, and expand workaround to cover ntfs-3g.
29822         * lib/utimens.c (fdutimens, lutimens): Likewise.
29823         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
29824         (validate_timespec): Adjust return value.
29825         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
29826         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29827         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
29828
29829 2009-12-29  Eric Blake  <ebb9@byu.net>
29830
29831         link-warning: make usage consistent
29832         * modules/ctype (Depends-on): Add link-warning.
29833         (Makefile.am): Update rules accordingly.
29834         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29835         * modules/locale (Depends-on, Makefile.am): Likewise.
29836         * modules/sys_file (Makefile.am): Likewise.
29837         * modules/getopt-posix (Makefile.am): Delete unused link warning
29838         efforts.
29839         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29840         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29841         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29842         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29843
29844         stdio: remove unused variables
29845         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29846         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29847         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29848
29849         tests: test more substitute headers
29850         * modules/ctype-tests: New file.
29851         * modules/dirent-tests: Likewise.
29852         * modules/spawn-tests: Likewise.
29853         * modules/sys_file-tests: Likewise.
29854         * modules/sys_ioctl-tests: Likewise.
29855         * modules/sys_wait-tests: Likewise.
29856         * tests/test-ctype.c: Likewise.
29857         * tests/test-dirent.c: Likewise.
29858         * tests/test-spawn.c: Likewise.
29859         * tests/test-sys_file.c: Likewise.
29860         * tests/test-sys_ioctl.c: Likewise.
29861         * tests/test-sys_wait.c: Likewise.
29862         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29863         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29864         whether or not flock is in use.
29865
29866         tests: remove License section from module
29867         * modules/arpa_inet-tests: Remove unneeded section.
29868         * modules/byteswap-tests: Likewise.
29869         * modules/ceilf-tests: Likewise.
29870         * modules/ceill-tests: Likewise.
29871         * modules/crypto/des-tests: Likewise.
29872         * modules/crypto/gc-arcfour-tests: Likewise.
29873         * modules/crypto/gc-arctwo-tests: Likewise.
29874         * modules/crypto/gc-des-tests: Likewise.
29875         * modules/crypto/gc-hmac-md5-tests: Likewise.
29876         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29877         * modules/crypto/gc-md2-tests: Likewise.
29878         * modules/crypto/gc-md4-tests: Likewise.
29879         * modules/crypto/gc-md5-tests: Likewise.
29880         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29881         * modules/crypto/gc-rijndael-tests: Likewise.
29882         * modules/crypto/gc-sha1-tests: Likewise.
29883         * modules/crypto/gc-tests: Likewise.
29884         * modules/crypto/md2-tests: Likewise.
29885         * modules/crypto/md4-tests: Likewise.
29886         * modules/fcntl-h-tests: Likewise.
29887         * modules/floorf-tests: Likewise.
29888         * modules/floorl-tests: Likewise.
29889         * modules/frexp-nolibm-tests: Likewise.
29890         * modules/frexp-tests: Likewise.
29891         * modules/frexpl-nolibm-tests: Likewise.
29892         * modules/frexpl-tests: Likewise.
29893         * modules/getaddrinfo-tests: Likewise.
29894         * modules/inttypes-tests: Likewise.
29895         * modules/isfinite-tests: Likewise.
29896         * modules/isinf-tests: Likewise.
29897         * modules/ldexpl-tests: Likewise.
29898         * modules/locale-tests: Likewise.
29899         * modules/math-tests: Likewise.
29900         * modules/netdb-tests: Likewise.
29901         * modules/netinet_in-tests: Likewise.
29902         * modules/printf-frexp-tests: Likewise.
29903         * modules/printf-frexpl-tests: Likewise.
29904         * modules/priv-set-tests: Likewise.
29905         * modules/random_r-tests: Likewise.
29906         * modules/round-tests: Likewise.
29907         * modules/roundf-tests: Likewise.
29908         * modules/roundl-tests: Likewise.
29909         * modules/search-tests: Likewise.
29910         * modules/select-tests: Likewise.
29911         * modules/signal-tests: Likewise.
29912         * modules/stdbool-tests: Likewise.
29913         * modules/stddef-tests: Likewise.
29914         * modules/stdint-tests: Likewise.
29915         * modules/stdio-tests: Likewise.
29916         * modules/stdlib-tests: Likewise.
29917         * modules/string-tests: Likewise.
29918         * modules/strings-tests: Likewise.
29919         * modules/sys_select-tests: Likewise.
29920         * modules/sys_socket-tests: Likewise.
29921         * modules/sys_stat-tests: Likewise.
29922         * modules/sys_time-tests: Likewise.
29923         * modules/sys_utsname-tests: Likewise.
29924         * modules/sysexits-tests: Likewise.
29925         * modules/time-tests: Likewise.
29926         * modules/trunc-tests: Likewise.
29927         * modules/truncf-tests: Likewise.
29928         * modules/truncl-tests: Likewise.
29929         * modules/tsearch-tests: Likewise.
29930         * modules/unistd-tests: Likewise.
29931         * modules/wchar-tests: Likewise.
29932         * modules/wctype-tests: Likewise.
29933
29934         tests: fix license on several tests
29935         * tests/test-des.c: Update to GPLv3+.
29936         * tests/test-flock.c: Likewise.
29937         * tests/test-fsync.c: Likewise.
29938         * tests/test-futimens.h: Likewise.
29939         * tests/test-gc-arcfour.c: Likewise.
29940         * tests/test-gc-arctwo.c: Likewise.
29941         * tests/test-gc-des.c: Likewise.
29942         * tests/test-gc-hmac-md5.c: Likewise.
29943         * tests/test-gc-hmac-sha1.c: Likewise.
29944         * tests/test-gc-md2.c: Likewise.
29945         * tests/test-gc-md4.c: Likewise.
29946         * tests/test-gc-md5.c: Likewise.
29947         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29948         * tests/test-gc-rijndael.c: Likewise.
29949         * tests/test-gc-sha1.c: Likewise.
29950         * tests/test-gc.c: Likewise.
29951         * tests/test-getcwd.c: Likewise.
29952         * tests/test-link.c: Likewise.
29953         * tests/test-link.h: Likewise.
29954         * tests/test-lutimens.h: Likewise.
29955         * tests/test-md2.c: Likewise.
29956         * tests/test-md4.c: Likewise.
29957         * tests/test-mkdir.h: Likewise.
29958         * tests/test-rename.c: Likewise.
29959         * tests/test-rename.h: Likewise.
29960         * tests/test-safe-alloc.c: Likewise.
29961         * tests/test-utimens-common.h: Likewise.
29962         * tests/test-utimens.h: Likewise.
29963
29964         maint: sync license texts
29965         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29966         * doc/gpl-3.0.texi: Revert copyright year update.
29967         * doc/lgpl-3.0.texi: Likewise.
29968
29969 2009-12-29  Jim Meyering  <meyering@redhat.com>
29970
29971         update nearly all FSF copyright year lists to include 2009
29972         The files named by the following are exempted:
29973             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29974               test -f "$dst" && { echo "$dst"; continue; }
29975               test -d "$dst" || continue
29976               echo "$dst"/$(basename "$src")
29977             done > exempt
29978             git ls-files tests/unictype >> exempt
29979         In the remaining files, convert to all-interval notation if
29980         - there is already at least one year interval like 2000-2003
29981         - the file is maintained by me
29982         - the file is in lib/uni*/, where that style already prevails
29983         Otherwise, use update-copyright's default.
29984
29985 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29986         and Eric Blake  <ebb9@byu.net>
29987
29988         tests: don't require debug system() to pass
29989         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29990         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29991         * tests/test-unlink.h (test_unlink_func): Likewise.
29992         * tests/test-fstatat.c (main): ...into callers.
29993         * tests/test-lstat.c (main): Likewise.
29994         * tests/test-rmdir.c (main): Likewise.
29995         * tests/test-unlink.c (main): Likewise.
29996         * tests/test-unlinkat.c (main): Likewise.
29997         * tests/test-areadlink-with-size.c (main): Don't require a
29998         debug-only system call to pass, aiding cross-testing to mingw.
29999         * tests/test-areadlink.c (main): Likewise.
30000         * tests/test-areadlinkat-with-size.c (main): Likewise.
30001         * tests/test-areadlinkat.c (main): Likewise.
30002         * tests/test-canonicalize-lgpl.c (main): Likewise.
30003         * tests/test-canonicalize.c (main): Likewise.
30004         * tests/test-chown.c (main): Likewise.
30005         * tests/test-fchownat.c (main): Likewise.
30006         * tests/test-lchown.c (main): Likewise.
30007         * tests/test-fdutimensat.c (main): Likewise.
30008         * tests/test-futimens.c (main): Likewise.
30009         * tests/test-link.c (main): Likewise.
30010         * tests/test-linkat.c (main): Likewise.
30011         * tests/test-mkdir.c (main): Likewise.
30012         * tests/test-mkdirat.c (main): Likewise.
30013         * tests/test-mkfifo.c (main): Likewise.
30014         * tests/test-mkfifoat.c (main): Likewise.
30015         * tests/test-mknod.c (main): Likewise.
30016         * tests/test-readlink.c (main): Likewise.
30017         * tests/test-remove.c (main): Likewise.
30018         * tests/test-rename.c (main): Likewise.
30019         * tests/test-renameat.c (main): Likewise.
30020         * tests/test-symlink.c (main): Likewise.
30021         * tests/test-symlinkat.c (main): Likewise.
30022         * tests/test-utimens.c (main): Likewise.
30023         * tests/test-utimensat.c (main): Likewise.
30024
30025 2009-12-29  Simon Josefsson  <simon@josefsson.org>
30026
30027         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
30028         on $(UNUSED_PARAMETER_H) to avoid build failure.
30029
30030 2009-12-28  Jim Meyering  <meyering@redhat.com>
30031
30032         update-copyright: you may specify a max. line length other than 72
30033         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
30034
30035         maint: use consistent FSF copyright line syntax
30036         * lib/posixtm.c: Add missing comma in FSF copyright line.
30037         * lib/posixtm.h: Likewise.
30038         * lib/getugroups.c: Add missing ", Inc.".
30039
30040         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
30041         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
30042         FSF copyright line.  Remove trailing blanks.
30043
30044 2009-12-28  Eric Blake  <ebb9@byu.net>
30045
30046         test-dup2: reduce dependencies
30047         * modules/cloexec (Configure.ac): Set witness.
30048         * modules/dup2-tests (Depends-on): Drop cloexec.
30049         * tests/test-dup2.c (main): Skip portion of test if cloexec module
30050         not present.
30051         Suggested by Bruno Haible.
30052
30053 2009-12-26  Bruno Haible  <bruno@clisp.org>
30054
30055         Remove an unneeded dependency.
30056         * modules/fseterr (Depends-on): Remove dup2.
30057
30058 2009-12-26  Eric Blake  <ebb9@byu.net>
30059
30060         tests: use macros.h in more places
30061         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
30062         (ASSERT_STREAM): Provide default of stderr.
30063         * tests/test-dirent-safer.c: Include macros.h, using alternate
30064         stream for assertions.
30065         * tests/test-dup-safer.c: Likewise.
30066         * tests/test-freopen-safer.c: Likewise.
30067         * tests/test-getopt.c: Likewise.
30068         * tests/test-openat-safer.c: Likewise.
30069         * tests/test-pipe.c: Likewise.
30070         * tests/test-popen-safer.c: Likewise.
30071         * modules/dirent-safer-tests (Files): Include macros.h.
30072         * modules/unistd-safer-tests (Files): Likewise.
30073         * modules/freopen-safer-tests (Files): Likewise.
30074         * modules/getopt-posix-tests (Files): Likewise.
30075         * modules/openat-safer-tests (Files): Likewise.
30076         * modules/pipe-tests (Files): Likewise.
30077
30078 2009-12-26  Bruno Haible  <bruno@clisp.org>
30079
30080         javacomp: Portability fix.
30081         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
30082         that it also works on Solaris.
30083
30084 2009-12-26  Bruno Haible  <bruno@clisp.org>
30085
30086         localename: Fix storage allocation of gl_locale_name_thread's result.
30087         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
30088         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
30089         all platforms that have 'uselocale'.
30090         (gl_locale_name_thread_unsafe): New function, extracted from
30091         gl_locale_name_thread.
30092         (gl_locale_name_thread): Call struniq on all platforms that have
30093         'uselocale'.
30094         * tests/test-localename.c (test_locale_name_thread): Check that the
30095         resulting strings are permanently allocated.
30096         * modules/localename-tests (Depends-on): Add strdup.
30097
30098 2009-12-26  Bruno Haible  <bruno@clisp.org>
30099
30100         * tests/test-localename.c (categories): Fill in the strings.
30101
30102 2009-12-26  Jim Meyering  <meyering@redhat.com>
30103
30104         isdir: complete the removal of m4/isdir.m4
30105         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
30106
30107         isdir: clean up, since at least grep still uses it
30108         * lib/isdir.c: Include "isdir.h".
30109         (S_ISDIR): Remove now-unneeded definition.
30110         * modules/isdir (Files): Add lib/isdir.h.
30111         * lib/isdir.h: New file, with declaration.
30112         * m4/isdir.m4: Remove file -- unneeded.
30113
30114 2009-12-25  Bruno Haible  <bruno@clisp.org>
30115
30116         selinux-h: Make generated .h files standalone.
30117         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
30118         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
30119         * lib/se-selinux.in.h: Likewise.
30120         * modules/selinux-h (Depends-on): Add unused-parameter.
30121         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
30122         selinux/selinux.h and selinux/context.h.
30123         Suggested by Eric Blake.
30124
30125 2009-12-25  Bruno Haible  <bruno@clisp.org>
30126
30127         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
30128         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
30129         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
30130         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
30131         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
30132
30133 2009-12-24  Bruno Haible  <bruno@clisp.org>
30134
30135         openat: Fix warning.
30136         * lib/openat-proc.c: Include <unistd.h>.
30137
30138 2009-12-24  Bruno Haible  <bruno@clisp.org>
30139
30140         New module 'unused-parameter'.
30141         * build-aux/unused-parameter.h: New file, extracted from earlier
30142         gnulib-common.m4.
30143         * modules/unused-parameter: New file.
30144         * lib/unistr.h: Include unused-parameter.h.
30145         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
30146         _GL_UNUSED.
30147         * modules/unistr/base (Depends-on): Add unused-parameter.
30148
30149 2009-12-24  Bruno Haible  <bruno@clisp.org>
30150
30151         Add missing dependencies to 'extensions' module.
30152         * m4/extensions.m4: Add comment.
30153         * modules/accept4 (Depends-on): Add extensions.
30154         * modules/dup3 (Depends-on): Likewise.
30155         * modules/fcntl (Depends-on): Likewise.
30156         * modules/futimens (Depends-on): Likewise.
30157         * modules/mknod (Depends-on): Likewise.
30158         * modules/pipe2 (Depends-on): Likewise.
30159         * modules/stat-time (Depends-on): Likewise.
30160         * modules/strcasestr-simple (Depends-on): Likewise.
30161         * modules/strsignal (Depends-on): Likewise.
30162         * modules/utimensat (Depends-on): Likewise.
30163         * modules/localcharset (Depends-on): Likewise. Needed because of
30164         gl_FCNTL_O_FLAGS.
30165         * modules/wcrtomb (Depends-on): Likewise. Needed because of
30166         AC_TYPE_MBSTATE_T.
30167         * modules/wcsnrtombs (Depends-on): Likewise.
30168         * modules/wcsrtombs (Depends-on): Likewise.
30169
30170 2009-12-24  Bruno Haible  <bruno@clisp.org>
30171
30172         binary-io: Avoid gcc warning due to SET_BINARY.
30173         * lib/binary-io.h (SET_BINARY): Cast the result to void.
30174         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
30175
30176 2009-12-24  Bruno Haible  <bruno@clisp.org>
30177
30178         Avoid future namespace pollution on glibc systems.
30179         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
30180         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
30181         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
30182         glibc systems.
30183
30184 2009-12-24  Bruno Haible  <bruno@clisp.org>
30185
30186         Refactor common macros used in tests.
30187         * tests/macros.h: New file.
30188         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
30189         and/or <stdlib.h>, if appropriate.
30190         (ASSERT, SIZEOF): Remove macros.
30191         * tests/test-areadlink-with-size.c: Likewise.
30192         * tests/test-areadlinkat.c: Likewise.
30193         * tests/test-areadlinkat-with-size.c: Likewise.
30194         * tests/test-argmatch.c: Likewise.
30195         * tests/test-argv-iter.c: Likewise.
30196         * tests/test-array-mergesort.c: Likewise.
30197         * tests/test-array_list.c: Likewise.
30198         * tests/test-array_oset.c: Likewise.
30199         * tests/test-avltree_list.c: Likewise.
30200         * tests/test-avltree_oset.c: Likewise.
30201         * tests/test-avltreehash_list.c: Likewise.
30202         * tests/test-base64.c: Likewise.
30203         * tests/test-binary-io.c: Likewise.
30204         * tests/test-bitrotate.c: Likewise.
30205         * tests/test-btowc.c: Likewise.
30206         * tests/test-byteswap.c: Likewise.
30207         * tests/test-c-ctype.c: Likewise.
30208         * tests/test-c-stack.c: Likewise.
30209         * tests/test-c-strcasecmp.c: Likewise.
30210         * tests/test-c-strcasestr.c: Likewise.
30211         * tests/test-c-strncasecmp.c: Likewise.
30212         * tests/test-c-strstr.c: Likewise.
30213         * tests/test-canonicalize-lgpl.c: Likewise.
30214         * tests/test-canonicalize.c: Likewise.
30215         * tests/test-carray_list.c: Likewise.
30216         * tests/test-ceilf1.c: Likewise.
30217         * tests/test-ceilf2.c: Likewise.
30218         * tests/test-ceill.c: Likewise.
30219         * tests/test-chown.c: Likewise.
30220         * tests/test-cloexec.c: Likewise.
30221         * tests/test-copy-acl.c: Likewise.
30222         * tests/test-copy-file.c: Likewise.
30223         * tests/test-count-one-bits.c: Likewise.
30224         * tests/test-dprintf-posix.c: Likewise.
30225         * tests/test-dup2.c: Likewise.
30226         * tests/test-dup3.c: Likewise.
30227         * tests/test-duplocale.c: Likewise.
30228         * tests/test-fbufmode.c: Likewise.
30229         * tests/test-fchdir.c: Likewise.
30230         * tests/test-fchownat.c: Likewise.
30231         * tests/test-fcntl-safer.c: Likewise.
30232         * tests/test-fcntl.c: Likewise.
30233         * tests/test-fdopendir.c: Likewise.
30234         * tests/test-fdutimensat.c: Likewise.
30235         * tests/test-fflush2.c: Likewise.
30236         * tests/test-file-has-acl.c: Likewise.
30237         * tests/test-filevercmp.c: Likewise.
30238         * tests/test-flock.c: Likewise.
30239         * tests/test-floorf1.c: Likewise.
30240         * tests/test-floorf2.c: Likewise.
30241         * tests/test-floorl.c: Likewise.
30242         * tests/test-fnmatch.c: Likewise.
30243         * tests/test-fopen.h: Likewise.
30244         * tests/test-fpending.c: Likewise.
30245         * tests/test-fprintf-posix.c: Likewise.
30246         * tests/test-fpurge.c: Likewise.
30247         * tests/test-freadable.c: Likewise.
30248         * tests/test-freadahead.c: Likewise.
30249         * tests/test-freading.c: Likewise.
30250         * tests/test-freadptr.c: Likewise.
30251         * tests/test-freadptr2.c: Likewise.
30252         * tests/test-freadseek.c: Likewise.
30253         * tests/test-freopen.c: Likewise.
30254         * tests/test-frexp.c: Likewise.
30255         * tests/test-frexpl.c: Likewise.
30256         * tests/test-fseek.c: Likewise.
30257         * tests/test-fseeko.c: Likewise.
30258         * tests/test-fstatat.c: Likewise.
30259         * tests/test-fstrcmp.c: Likewise.
30260         * tests/test-fsync.c: Likewise.
30261         * tests/test-ftell.c: Likewise.
30262         * tests/test-ftello.c: Likewise.
30263         * tests/test-func.c: Likewise.
30264         * tests/test-futimens.c: Likewise.
30265         * tests/test-fwritable.c: Likewise.
30266         * tests/test-fwriting.c: Likewise.
30267         * tests/test-getcwd.c: Likewise.
30268         * tests/test-getdate.c: Likewise.
30269         * tests/test-getdelim.c: Likewise.
30270         * tests/test-getdtablesize.c: Likewise.
30271         * tests/test-getgroups.c: Likewise.
30272         * tests/test-getline.c: Likewise.
30273         * tests/test-getndelim2.c: Likewise.
30274         * tests/test-glob.c: Likewise.
30275         * tests/test-hash.c: Likewise.
30276         * tests/test-i-ring.c: Likewise.
30277         * tests/test-iconv-utf.c: Likewise.
30278         * tests/test-iconv.c: Likewise.
30279         * tests/test-idpriv-drop.c: Likewise.
30280         * tests/test-idpriv-droptemp.c: Likewise.
30281         * tests/test-inet_ntop.c: Likewise.
30282         * tests/test-inet_pton.c: Likewise.
30283         * tests/test-isblank.c: Likewise.
30284         * tests/test-isfinite.c: Likewise.
30285         * tests/test-isinf.c: Likewise.
30286         * tests/test-isnan.c: Likewise.
30287         * tests/test-isnand.h: Likewise.
30288         * tests/test-isnanf.h: Likewise.
30289         * tests/test-isnanl.h: Likewise.
30290         * tests/test-lchown.c: Likewise.
30291         * tests/test-ldexpl.c: Likewise.
30292         * tests/test-link.c: Likewise.
30293         * tests/test-linkat.c: Likewise.
30294         * tests/test-linked_list.c: Likewise.
30295         * tests/test-linkedhash_list.c: Likewise.
30296         * tests/test-localename.c: Likewise.
30297         * tests/test-lseek.c: Likewise.
30298         * tests/test-lstat.c: Likewise.
30299         * tests/test-mbmemcasecmp.c: Likewise.
30300         * tests/test-mbmemcasecoll.c: Likewise.
30301         * tests/test-mbrtowc.c: Likewise.
30302         * tests/test-mbscasecmp.c: Likewise.
30303         * tests/test-mbscasestr1.c: Likewise.
30304         * tests/test-mbscasestr2.c: Likewise.
30305         * tests/test-mbscasestr3.c: Likewise.
30306         * tests/test-mbscasestr4.c: Likewise.
30307         * tests/test-mbschr.c: Likewise.
30308         * tests/test-mbscspn.c: Likewise.
30309         * tests/test-mbsinit.c: Likewise.
30310         * tests/test-mbsncasecmp.c: Likewise.
30311         * tests/test-mbsnrtowcs.c: Likewise.
30312         * tests/test-mbspbrk.c: Likewise.
30313         * tests/test-mbspcasecmp.c: Likewise.
30314         * tests/test-mbsrchr.c: Likewise.
30315         * tests/test-mbsrtowcs.c: Likewise.
30316         * tests/test-mbsspn.c: Likewise.
30317         * tests/test-mbsstr1.c: Likewise.
30318         * tests/test-mbsstr2.c: Likewise.
30319         * tests/test-mbsstr3.c: Likewise.
30320         * tests/test-memchr.c: Likewise.
30321         * tests/test-memchr2.c: Likewise.
30322         * tests/test-memcmp.c: Likewise.
30323         * tests/test-memmem.c: Likewise.
30324         * tests/test-memrchr.c: Likewise.
30325         * tests/test-mkdir.c: Likewise.
30326         * tests/test-mkdirat.c: Likewise.
30327         * tests/test-mkfifo.c: Likewise.
30328         * tests/test-mkfifoat.c: Likewise.
30329         * tests/test-mknod.c: Likewise.
30330         * tests/test-nanosleep.c: Likewise.
30331         * tests/test-nl_langinfo.c: Likewise.
30332         * tests/test-obstack-printf.c: Likewise.
30333         * tests/test-open.c: Likewise.
30334         * tests/test-openat.c: Likewise.
30335         * tests/test-pipe-filter-gi1.c: Likewise.
30336         * tests/test-pipe-filter-gi2-main.c: Likewise.
30337         * tests/test-pipe-filter-ii1.c: Likewise.
30338         * tests/test-pipe-filter-ii2-main.c: Likewise.
30339         * tests/test-pipe2.c: Likewise.
30340         * tests/test-popen.h: Likewise.
30341         * tests/test-posixtm.c: Likewise.
30342         * tests/test-pread.c: Likewise.
30343         * tests/test-printf-frexp.c: Likewise.
30344         * tests/test-printf-frexpl.c: Likewise.
30345         * tests/test-printf-posix.c: Likewise.
30346         * tests/test-priv-set.c: Likewise.
30347         * tests/test-quotearg.c: Likewise.
30348         * tests/test-random_r.c: Likewise.
30349         * tests/test-rawmemchr.c: Likewise.
30350         * tests/test-rbtree_list.c: Likewise.
30351         * tests/test-rbtree_oset.c: Likewise.
30352         * tests/test-rbtreehash_list.c: Likewise.
30353         * tests/test-readlink.c: Likewise.
30354         * tests/test-remove.c: Likewise.
30355         * tests/test-rename.c: Likewise.
30356         * tests/test-renameat.c: Likewise.
30357         * tests/test-rmdir.c: Likewise.
30358         * tests/test-round1.c: Likewise.
30359         * tests/test-roundf1.c: Likewise.
30360         * tests/test-roundl.c: Likewise.
30361         * tests/test-safe-alloc.c: Likewise.
30362         * tests/test-sameacls.c: Likewise.
30363         * tests/test-set-mode-acl.c: Likewise.
30364         * tests/test-setenv.c: Likewise.
30365         * tests/test-sigaction.c: Likewise.
30366         * tests/test-signbit.c: Likewise.
30367         * tests/test-sleep.c: Likewise.
30368         * tests/test-snprintf-posix.c: Likewise.
30369         * tests/test-snprintf.c: Likewise.
30370         * tests/test-sprintf-posix.c: Likewise.
30371         * tests/test-stat-time.c: Likewise.
30372         * tests/test-stat.c: Likewise.
30373         * tests/test-strcasestr.c: Likewise.
30374         * tests/test-strchrnul.c: Likewise.
30375         * tests/test-strerror.c: Likewise.
30376         * tests/test-striconv.c: Likewise.
30377         * tests/test-striconveh.c: Likewise.
30378         * tests/test-striconveha.c: Likewise.
30379         * tests/test-strsignal.c: Likewise.
30380         * tests/test-strstr.c: Likewise.
30381         * tests/test-strtod.c: Likewise.
30382         * tests/test-strverscmp.c: Likewise.
30383         * tests/test-symlink.c: Likewise.
30384         * tests/test-symlinkat.c: Likewise.
30385         * tests/test-trunc1.c: Likewise.
30386         * tests/test-trunc2.c: Likewise.
30387         * tests/test-truncf1.c: Likewise.
30388         * tests/test-truncf2.c: Likewise.
30389         * tests/test-truncl.c: Likewise.
30390         * tests/test-uname.c: Likewise.
30391         * tests/test-unlink.c: Likewise.
30392         * tests/test-unlinkat.c: Likewise.
30393         * tests/test-unsetenv.c: Likewise.
30394         * tests/test-usleep.c: Likewise.
30395         * tests/test-utimens.c: Likewise.
30396         * tests/test-utimensat.c: Likewise.
30397         * tests/test-vasnprintf-posix.c: Likewise.
30398         * tests/test-vasnprintf-posix2.c: Likewise.
30399         * tests/test-vasnprintf.c: Likewise.
30400         * tests/test-vasprintf-posix.c: Likewise.
30401         * tests/test-vasprintf.c: Likewise.
30402         * tests/test-vdprintf-posix.c: Likewise.
30403         * tests/test-vfprintf-posix.c: Likewise.
30404         * tests/test-vprintf-posix.c: Likewise.
30405         * tests/test-vsnprintf-posix.c: Likewise.
30406         * tests/test-vsnprintf.c: Likewise.
30407         * tests/test-vsprintf-posix.c: Likewise.
30408         * tests/test-wcrtomb.c: Likewise.
30409         * tests/test-wcsnrtombs.c: Likewise.
30410         * tests/test-wcsrtombs.c: Likewise.
30411         * tests/test-wctype.c: Likewise.
30412         * tests/test-wcwidth.c: Likewise.
30413         * tests/test-xfprintf-posix.c: Likewise.
30414         * tests/test-xmemdup0.c: Likewise.
30415         * tests/test-xprintf-posix.c: Likewise.
30416         * tests/test-xvasprintf.c: Likewise.
30417         * tests/unicase/test-locale-language.c: Likewise.
30418         * tests/unicase/test-mapping-part1.h: Likewise.
30419         * tests/unicase/test-predicate-part1.h: Likewise.
30420         * tests/unicase/test-u8-casecmp.c: Likewise.
30421         * tests/unicase/test-u8-casecoll.c: Likewise.
30422         * tests/unicase/test-u8-casefold.c: Likewise.
30423         * tests/unicase/test-u8-is-cased.c: Likewise.
30424         * tests/unicase/test-u8-is-casefolded.c: Likewise.
30425         * tests/unicase/test-u8-is-lowercase.c: Likewise.
30426         * tests/unicase/test-u8-is-titlecase.c: Likewise.
30427         * tests/unicase/test-u8-is-uppercase.c: Likewise.
30428         * tests/unicase/test-u8-tolower.c: Likewise.
30429         * tests/unicase/test-u8-totitle.c: Likewise.
30430         * tests/unicase/test-u8-toupper.c: Likewise.
30431         * tests/unicase/test-u16-casecmp.c: Likewise.
30432         * tests/unicase/test-u16-casecoll.c: Likewise.
30433         * tests/unicase/test-u16-casefold.c: Likewise.
30434         * tests/unicase/test-u16-is-cased.c: Likewise.
30435         * tests/unicase/test-u16-is-casefolded.c: Likewise.
30436         * tests/unicase/test-u16-is-lowercase.c: Likewise.
30437         * tests/unicase/test-u16-is-titlecase.c: Likewise.
30438         * tests/unicase/test-u16-is-uppercase.c: Likewise.
30439         * tests/unicase/test-u16-tolower.c: Likewise.
30440         * tests/unicase/test-u16-totitle.c: Likewise.
30441         * tests/unicase/test-u16-toupper.c: Likewise.
30442         * tests/unicase/test-u32-casecmp.c: Likewise.
30443         * tests/unicase/test-u32-casecoll.c: Likewise.
30444         * tests/unicase/test-u32-casefold.c: Likewise.
30445         * tests/unicase/test-u32-is-cased.c: Likewise.
30446         * tests/unicase/test-u32-is-casefolded.c: Likewise.
30447         * tests/unicase/test-u32-is-lowercase.c: Likewise.
30448         * tests/unicase/test-u32-is-titlecase.c: Likewise.
30449         * tests/unicase/test-u32-is-uppercase.c: Likewise.
30450         * tests/unicase/test-u32-tolower.c: Likewise.
30451         * tests/unicase/test-u32-totitle.c: Likewise.
30452         * tests/unicase/test-u32-toupper.c: Likewise.
30453         * tests/unicase/test-ulc-casecmp.c: Likewise.
30454         * tests/unicase/test-ulc-casecoll.c: Likewise.
30455         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
30456         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
30457         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
30458         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
30459         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
30460         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
30461         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
30462         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
30463         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
30464         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
30465         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
30466         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
30467         * tests/unictype/test-bidi_byname.c: Likewise.
30468         * tests/unictype/test-bidi_name.c: Likewise.
30469         * tests/unictype/test-bidi_of.c: Likewise.
30470         * tests/unictype/test-bidi_test.c: Likewise.
30471         * tests/unictype/test-block_list.c: Likewise.
30472         * tests/unictype/test-block_of.c: Likewise.
30473         * tests/unictype/test-block_test.c: Likewise.
30474         * tests/unictype/test-categ_and.c: Likewise.
30475         * tests/unictype/test-categ_and_not.c: Likewise.
30476         * tests/unictype/test-categ_byname.c: Likewise.
30477         * tests/unictype/test-categ_name.c: Likewise.
30478         * tests/unictype/test-categ_none.c: Likewise.
30479         * tests/unictype/test-categ_of.c: Likewise.
30480         * tests/unictype/test-categ_or.c: Likewise.
30481         * tests/unictype/test-categ_test_withtable.c: Likewise.
30482         * tests/unictype/test-combining.c: Likewise.
30483         * tests/unictype/test-decdigit.c: Likewise.
30484         * tests/unictype/test-digit.c: Likewise.
30485         * tests/unictype/test-mirror.c: Likewise.
30486         * tests/unictype/test-numeric.c: Likewise.
30487         * tests/unictype/test-pr_byname.c: Likewise.
30488         * tests/unictype/test-pr_test.c: Likewise.
30489         * tests/unictype/test-predicate-part1.h: Likewise.
30490         * tests/unictype/test-scripts.c: Likewise.
30491         * tests/unictype/test-sy_c_ident.c: Likewise.
30492         * tests/unictype/test-sy_java_ident.c: Likewise.
30493         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
30494         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
30495         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
30496         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
30497         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
30498         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
30499         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
30500         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
30501         * tests/uninorm/test-canonical-decomposition.c: Likewise.
30502         * tests/uninorm/test-compat-decomposition.c: Likewise.
30503         * tests/uninorm/test-composition.c: Likewise.
30504         * tests/uninorm/test-decomposing-form.c: Likewise.
30505         * tests/uninorm/test-decomposition.c: Likewise.
30506         * tests/uninorm/test-u8-nfc.c: Likewise.
30507         * tests/uninorm/test-u8-nfd.c: Likewise.
30508         * tests/uninorm/test-u8-nfkc.c: Likewise.
30509         * tests/uninorm/test-u8-nfkd.c: Likewise.
30510         * tests/uninorm/test-u8-normcmp.c: Likewise.
30511         * tests/uninorm/test-u8-normcoll.c: Likewise.
30512         * tests/uninorm/test-u16-nfc.c: Likewise.
30513         * tests/uninorm/test-u16-nfd.c: Likewise.
30514         * tests/uninorm/test-u16-nfkc.c: Likewise.
30515         * tests/uninorm/test-u16-nfkd.c: Likewise.
30516         * tests/uninorm/test-u16-normcmp.c: Likewise.
30517         * tests/uninorm/test-u16-normcoll.c: Likewise.
30518         * tests/uninorm/test-u32-nfc.c: Likewise.
30519         * tests/uninorm/test-u32-nfd.c: Likewise.
30520         * tests/uninorm/test-u32-nfkc.c: Likewise.
30521         * tests/uninorm/test-u32-nfkd.c: Likewise.
30522         * tests/uninorm/test-u32-normalize-big.c: Likewise.
30523         * tests/uninorm/test-u32-normcmp.c: Likewise.
30524         * tests/uninorm/test-u32-normcoll.c: Likewise.
30525         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
30526         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
30527         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
30528         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
30529         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
30530         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
30531         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
30532         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
30533         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
30534         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
30535         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
30536         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
30537         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
30538         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
30539         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
30540         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
30541         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
30542         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
30543         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
30544         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
30545         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
30546         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
30547         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
30548         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
30549         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
30550         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
30551         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
30552         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
30553         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
30554         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
30555         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
30556         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
30557         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
30558         * tests/uniwidth/test-u8-strwidth.c: Likewise.
30559         * tests/uniwidth/test-u8-width.c: Likewise.
30560         * tests/uniwidth/test-u16-strwidth.c: Likewise.
30561         * tests/uniwidth/test-u16-width.c: Likewise.
30562         * tests/uniwidth/test-u32-strwidth.c: Likewise.
30563         * tests/uniwidth/test-u32-width.c: Likewise.
30564         * tests/uniwidth/test-uc_width.c: Likewise.
30565         * tests/uniwidth/test-uc_width2.c: Likewise.
30566         * modules/acl-tests (Files): Add tests/macros.h.
30567         * modules/areadlink-tests (Files): Likewise.
30568         * modules/areadlink-with-size-tests (Files): Likewise.
30569         * modules/areadlinkat-tests (Files): Likewise.
30570         * modules/areadlinkat-with-size-tests (Files): Likewise.
30571         * modules/argmatch-tests (Files): Likewise.
30572         * modules/argv-iter-tests (Files): Likewise.
30573         * modules/array-list-tests (Files): Likewise.
30574         * modules/array-mergesort-tests (Files): Likewise.
30575         * modules/array-oset-tests (Files): Likewise.
30576         * modules/avltree-list-tests (Files): Likewise.
30577         * modules/avltree-oset-tests (Files): Likewise.
30578         * modules/avltreehash-list-tests (Files): Likewise.
30579         * modules/base64-tests (Files): Likewise.
30580         * modules/binary-io-tests (Files): Likewise.
30581         * modules/bitrotate-tests (Files): Likewise.
30582         * modules/btowc-tests (Files): Likewise.
30583         * modules/byteswap-tests (Files): Likewise.
30584         * modules/c-ctype-tests (Files): Likewise.
30585         * modules/c-stack-tests (Files): Likewise.
30586         * modules/c-strcase-tests (Files): Likewise.
30587         * modules/c-strcasestr-tests (Files): Likewise.
30588         * modules/c-strstr-tests (Files): Likewise.
30589         * modules/canonicalize-lgpl-tests (Files): Likewise.
30590         * modules/canonicalize-tests (Files): Likewise.
30591         * modules/carray-list-tests (Files): Likewise.
30592         * modules/ceilf-tests (Files): Likewise.
30593         * modules/ceill-tests (Files): Likewise.
30594         * modules/chown-tests (Files): Likewise.
30595         * modules/cloexec-tests (Files): Likewise.
30596         * modules/copy-file-tests (Files): Likewise.
30597         * modules/count-one-bits-tests (Files): Likewise.
30598         * modules/dprintf-posix-tests (Files): Likewise.
30599         * modules/dup2-tests (Files): Likewise.
30600         * modules/dup3-tests (Files): Likewise.
30601         * modules/duplocale-tests (Files): Likewise.
30602         * modules/fbufmode-tests (Files): Likewise.
30603         * modules/fchdir-tests (Files): Likewise.
30604         * modules/fcntl-safer-tests (Files): Likewise.
30605         * modules/fcntl-tests (Files): Likewise.
30606         * modules/fdopendir-tests (Files): Likewise.
30607         * modules/fdutimensat-tests (Files): Likewise.
30608         * modules/fflush-tests (Files): Likewise.
30609         * modules/filevercmp-tests (Files): Likewise.
30610         * modules/flock-tests (Files): Likewise.
30611         * modules/floorf-tests (Files): Likewise.
30612         * modules/floorl-tests (Files): Likewise.
30613         * modules/fnmatch-tests (Files): Likewise.
30614         * modules/fopen-safer-tests (Files): Likewise.
30615         * modules/fopen-tests (Files): Likewise.
30616         * modules/fpending-tests (Files): Likewise.
30617         * modules/fprintf-posix-tests (Files): Likewise.
30618         * modules/fpurge-tests (Files): Likewise.
30619         * modules/freadable-tests (Files): Likewise.
30620         * modules/freadahead-tests (Files): Likewise.
30621         * modules/freading-tests (Files): Likewise.
30622         * modules/freadptr-tests (Files): Likewise.
30623         * modules/freadseek-tests (Files): Likewise.
30624         * modules/freopen-tests (Files): Likewise.
30625         * modules/frexp-nolibm-tests (Files): Likewise.
30626         * modules/frexp-tests (Files): Likewise.
30627         * modules/frexpl-nolibm-tests (Files): Likewise.
30628         * modules/frexpl-tests (Files): Likewise.
30629         * modules/fseek-tests (Files): Likewise.
30630         * modules/fseeko-tests (Files): Likewise.
30631         * modules/fstrcmp-tests (Files): Likewise.
30632         * modules/fsync-tests (Files): Likewise.
30633         * modules/ftell-tests (Files): Likewise.
30634         * modules/ftello-tests (Files): Likewise.
30635         * modules/func-tests (Files): Likewise.
30636         * modules/futimens-tests (Files): Likewise.
30637         * modules/fwritable-tests (Files): Likewise.
30638         * modules/fwriting-tests (Files): Likewise.
30639         * modules/getcwd-tests (Files): Likewise.
30640         * modules/getdate-tests (Files): Likewise.
30641         * modules/getdelim-tests (Files): Likewise.
30642         * modules/getdtablesize-tests (Files): Likewise.
30643         * modules/getgroups-tests (Files): Likewise.
30644         * modules/getline-tests (Files): Likewise.
30645         * modules/getndelim2-tests (Files): Likewise.
30646         * modules/glob-tests (Files): Likewise.
30647         * modules/hash-tests (Files): Likewise.
30648         * modules/i-ring-tests (Files): Likewise.
30649         * modules/iconv-tests (Files): Likewise.
30650         * modules/iconv_open-utf-tests (Files): Likewise.
30651         * modules/idpriv-drop-tests (Files): Likewise.
30652         * modules/idpriv-droptemp-tests (Files): Likewise.
30653         * modules/inet_ntop-tests (Files): Likewise.
30654         * modules/inet_pton-tests (Files): Likewise.
30655         * modules/isblank-tests (Files): Likewise.
30656         * modules/isfinite-tests (Files): Likewise.
30657         * modules/isinf-tests (Files): Likewise.
30658         * modules/isnan-tests (Files): Likewise.
30659         * modules/isnand-nolibm-tests (Files): Likewise.
30660         * modules/isnand-tests (Files): Likewise.
30661         * modules/isnanf-nolibm-tests (Files): Likewise.
30662         * modules/isnanf-tests (Files): Likewise.
30663         * modules/isnanl-nolibm-tests (Files): Likewise.
30664         * modules/isnanl-tests (Files): Likewise.
30665         * modules/lchown-tests (Files): Likewise.
30666         * modules/ldexpl-tests (Files): Likewise.
30667         * modules/link-tests (Files): Likewise.
30668         * modules/linkat-tests (Files): Likewise.
30669         * modules/linked-list-tests (Files): Likewise.
30670         * modules/linkedhash-list-tests (Files): Likewise.
30671         * modules/localename-tests (Files): Likewise.
30672         * modules/lseek-tests (Files): Likewise.
30673         * modules/lstat-tests (Files): Likewise.
30674         * modules/mbmemcasecmp-tests (Files): Likewise.
30675         * modules/mbmemcasecoll-tests (Files): Likewise.
30676         * modules/mbrtowc-tests (Files): Likewise.
30677         * modules/mbscasecmp-tests (Files): Likewise.
30678         * modules/mbscasestr-tests (Files): Likewise.
30679         * modules/mbschr-tests (Files): Likewise.
30680         * modules/mbscspn-tests (Files): Likewise.
30681         * modules/mbsinit-tests (Files): Likewise.
30682         * modules/mbsncasecmp-tests (Files): Likewise.
30683         * modules/mbsnrtowcs-tests (Files): Likewise.
30684         * modules/mbspbrk-tests (Files): Likewise.
30685         * modules/mbspcasecmp-tests (Files): Likewise.
30686         * modules/mbsrchr-tests (Files): Likewise.
30687         * modules/mbsrtowcs-tests (Files): Likewise.
30688         * modules/mbsspn-tests (Files): Likewise.
30689         * modules/mbsstr-tests (Files): Likewise.
30690         * modules/memchr-tests (Files): Likewise.
30691         * modules/memchr2-tests (Files): Likewise.
30692         * modules/memcmp-tests (Files): Likewise.
30693         * modules/memmem-tests (Files): Likewise.
30694         * modules/memrchr-tests (Files): Likewise.
30695         * modules/mkdir-tests (Files): Likewise.
30696         * modules/mkfifo-tests (Files): Likewise.
30697         * modules/mkfifoat-tests (Files): Likewise.
30698         * modules/mknod-tests (Files): Likewise.
30699         * modules/nanosleep-tests (Files): Likewise.
30700         * modules/nl_langinfo-tests (Files): Likewise.
30701         * modules/obstack-printf-tests (Files): Likewise.
30702         * modules/open-tests (Files): Likewise.
30703         * modules/openat-tests (Files): Likewise.
30704         * modules/pipe-filter-gi-tests (Files): Likewise.
30705         * modules/pipe-filter-ii-tests (Files): Likewise.
30706         * modules/pipe2-tests (Files): Likewise.
30707         * modules/popen-safer-tests (Files): Likewise.
30708         * modules/popen-tests (Files): Likewise.
30709         * modules/posixtm-tests (Files): Likewise.
30710         * modules/pread-tests (Files): Likewise.
30711         * modules/printf-frexp-tests (Files): Likewise.
30712         * modules/printf-frexpl-tests (Files): Likewise.
30713         * modules/printf-posix-tests (Files): Likewise.
30714         * modules/priv-set-tests (Files): Likewise.
30715         * modules/quotearg-tests (Files): Likewise.
30716         * modules/random_r-tests (Files): Likewise.
30717         * modules/rawmemchr-tests (Files): Likewise.
30718         * modules/rbtree-list-tests (Files): Likewise.
30719         * modules/rbtree-oset-tests (Files): Likewise.
30720         * modules/rbtreehash-list-tests (Files): Likewise.
30721         * modules/readlink-tests (Files): Likewise.
30722         * modules/remove-tests (Files): Likewise.
30723         * modules/rename-tests (Files): Likewise.
30724         * modules/renameat-tests (Files): Likewise.
30725         * modules/rmdir-tests (Files): Likewise.
30726         * modules/round-tests (Files): Likewise.
30727         * modules/roundf-tests (Files): Likewise.
30728         * modules/roundl-tests (Files): Likewise.
30729         * modules/safe-alloc-tests (Files): Likewise.
30730         * modules/setenv-tests (Files): Likewise.
30731         * modules/sigaction-tests (Files): Likewise.
30732         * modules/signbit-tests (Files): Likewise.
30733         * modules/sleep-tests (Files): Likewise.
30734         * modules/snprintf-posix-tests (Files): Likewise.
30735         * modules/snprintf-tests (Files): Likewise.
30736         * modules/sprintf-posix-tests (Files): Likewise.
30737         * modules/stat-tests (Files): Likewise.
30738         * modules/stat-time-tests (Files): Likewise.
30739         * modules/strcasestr-tests (Files): Likewise.
30740         * modules/strchrnul-tests (Files): Likewise.
30741         * modules/strerror-tests (Files): Likewise.
30742         * modules/striconv-tests (Files): Likewise.
30743         * modules/striconveh-tests (Files): Likewise.
30744         * modules/striconveha-tests (Files): Likewise.
30745         * modules/strsignal-tests (Files): Likewise.
30746         * modules/strstr-tests (Files): Likewise.
30747         * modules/strtod-tests (Files): Likewise.
30748         * modules/strverscmp-tests (Files): Likewise.
30749         * modules/symlink-tests (Files): Likewise.
30750         * modules/symlinkat-tests (Files): Likewise.
30751         * modules/trunc-tests (Files): Likewise.
30752         * modules/truncf-tests (Files): Likewise.
30753         * modules/truncl-tests (Files): Likewise.
30754         * modules/uname-tests (Files): Likewise.
30755         * modules/unicase/cased-tests (Files): Likewise.
30756         * modules/unicase/ignorable-tests (Files): Likewise.
30757         * modules/unicase/locale-language-tests (Files): Likewise.
30758         * modules/unicase/tolower-tests (Files): Likewise.
30759         * modules/unicase/totitle-tests (Files): Likewise.
30760         * modules/unicase/toupper-tests (Files): Likewise.
30761         * modules/unicase/u8-casecmp-tests (Files): Likewise.
30762         * modules/unicase/u8-casecoll-tests (Files): Likewise.
30763         * modules/unicase/u8-casefold-tests (Files): Likewise.
30764         * modules/unicase/u8-is-cased-tests (Files): Likewise.
30765         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
30766         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
30767         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
30768         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
30769         * modules/unicase/u8-tolower-tests (Files): Likewise.
30770         * modules/unicase/u8-totitle-tests (Files): Likewise.
30771         * modules/unicase/u8-toupper-tests (Files): Likewise.
30772         * modules/unicase/u16-casecmp-tests (Files): Likewise.
30773         * modules/unicase/u16-casecoll-tests (Files): Likewise.
30774         * modules/unicase/u16-casefold-tests (Files): Likewise.
30775         * modules/unicase/u16-is-cased-tests (Files): Likewise.
30776         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
30777         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
30778         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
30779         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
30780         * modules/unicase/u16-tolower-tests (Files): Likewise.
30781         * modules/unicase/u16-totitle-tests (Files): Likewise.
30782         * modules/unicase/u16-toupper-tests (Files): Likewise.
30783         * modules/unicase/u32-casecmp-tests (Files): Likewise.
30784         * modules/unicase/u32-casecoll-tests (Files): Likewise.
30785         * modules/unicase/u32-casefold-tests (Files): Likewise.
30786         * modules/unicase/u32-is-cased-tests (Files): Likewise.
30787         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
30788         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
30789         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
30790         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
30791         * modules/unicase/u32-tolower-tests (Files): Likewise.
30792         * modules/unicase/u32-totitle-tests (Files): Likewise.
30793         * modules/unicase/u32-toupper-tests (Files): Likewise.
30794         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
30795         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
30796         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
30797         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
30798         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
30799         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
30800         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
30801         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
30802         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
30803         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
30804         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
30805         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
30806         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
30807         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
30808         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
30809         * modules/unictype/bidicategory-name-tests (Files): Likewise.
30810         * modules/unictype/bidicategory-of-tests (Files): Likewise.
30811         * modules/unictype/bidicategory-test-tests (Files): Likewise.
30812         * modules/unictype/block-list-tests (Files): Likewise.
30813         * modules/unictype/block-of-tests (Files): Likewise.
30814         * modules/unictype/block-test-tests (Files): Likewise.
30815         * modules/unictype/category-C-tests (Files): Likewise.
30816         * modules/unictype/category-Cc-tests (Files): Likewise.
30817         * modules/unictype/category-Cf-tests (Files): Likewise.
30818         * modules/unictype/category-Cn-tests (Files): Likewise.
30819         * modules/unictype/category-Co-tests (Files): Likewise.
30820         * modules/unictype/category-Cs-tests (Files): Likewise.
30821         * modules/unictype/category-L-tests (Files): Likewise.
30822         * modules/unictype/category-Ll-tests (Files): Likewise.
30823         * modules/unictype/category-Lm-tests (Files): Likewise.
30824         * modules/unictype/category-Lo-tests (Files): Likewise.
30825         * modules/unictype/category-Lt-tests (Files): Likewise.
30826         * modules/unictype/category-Lu-tests (Files): Likewise.
30827         * modules/unictype/category-M-tests (Files): Likewise.
30828         * modules/unictype/category-Mc-tests (Files): Likewise.
30829         * modules/unictype/category-Me-tests (Files): Likewise.
30830         * modules/unictype/category-Mn-tests (Files): Likewise.
30831         * modules/unictype/category-N-tests (Files): Likewise.
30832         * modules/unictype/category-Nd-tests (Files): Likewise.
30833         * modules/unictype/category-Nl-tests (Files): Likewise.
30834         * modules/unictype/category-No-tests (Files): Likewise.
30835         * modules/unictype/category-P-tests (Files): Likewise.
30836         * modules/unictype/category-Pc-tests (Files): Likewise.
30837         * modules/unictype/category-Pd-tests (Files): Likewise.
30838         * modules/unictype/category-Pe-tests (Files): Likewise.
30839         * modules/unictype/category-Pf-tests (Files): Likewise.
30840         * modules/unictype/category-Pi-tests (Files): Likewise.
30841         * modules/unictype/category-Po-tests (Files): Likewise.
30842         * modules/unictype/category-Ps-tests (Files): Likewise.
30843         * modules/unictype/category-S-tests (Files): Likewise.
30844         * modules/unictype/category-Sc-tests (Files): Likewise.
30845         * modules/unictype/category-Sk-tests (Files): Likewise.
30846         * modules/unictype/category-Sm-tests (Files): Likewise.
30847         * modules/unictype/category-So-tests (Files): Likewise.
30848         * modules/unictype/category-Z-tests (Files): Likewise.
30849         * modules/unictype/category-Zl-tests (Files): Likewise.
30850         * modules/unictype/category-Zp-tests (Files): Likewise.
30851         * modules/unictype/category-Zs-tests (Files): Likewise.
30852         * modules/unictype/category-and-not-tests (Files): Likewise.
30853         * modules/unictype/category-and-tests (Files): Likewise.
30854         * modules/unictype/category-byname-tests (Files): Likewise.
30855         * modules/unictype/category-name-tests (Files): Likewise.
30856         * modules/unictype/category-none-tests (Files): Likewise.
30857         * modules/unictype/category-of-tests (Files): Likewise.
30858         * modules/unictype/category-or-tests (Files): Likewise.
30859         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30860         * modules/unictype/combining-class-tests (Files): Likewise.
30861         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30862         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30863         * modules/unictype/ctype-blank-tests (Files): Likewise.
30864         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30865         * modules/unictype/ctype-digit-tests (Files): Likewise.
30866         * modules/unictype/ctype-graph-tests (Files): Likewise.
30867         * modules/unictype/ctype-lower-tests (Files): Likewise.
30868         * modules/unictype/ctype-print-tests (Files): Likewise.
30869         * modules/unictype/ctype-punct-tests (Files): Likewise.
30870         * modules/unictype/ctype-space-tests (Files): Likewise.
30871         * modules/unictype/ctype-upper-tests (Files): Likewise.
30872         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30873         * modules/unictype/decimal-digit-tests (Files): Likewise.
30874         * modules/unictype/digit-tests (Files): Likewise.
30875         * modules/unictype/mirror-tests (Files): Likewise.
30876         * modules/unictype/numeric-tests (Files): Likewise.
30877         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30878         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30879         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30880         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30881         Likewise.
30882         * modules/unictype/property-bidi-block-separator-tests (Files):
30883         Likewise.
30884         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30885         Likewise.
30886         * modules/unictype/property-bidi-common-separator-tests (Files):
30887         Likewise.
30888         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30889         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30890         Likewise.
30891         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30892         Likewise.
30893         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30894         Likewise.
30895         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30896         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30897         Likewise.
30898         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30899         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30900         Likewise.
30901         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30902         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30903         * modules/unictype/property-bidi-segment-separator-tests (Files):
30904         Likewise.
30905         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30906         * modules/unictype/property-byname-tests (Files): Likewise.
30907         * modules/unictype/property-combining-tests (Files): Likewise.
30908         * modules/unictype/property-composite-tests (Files): Likewise.
30909         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30910         * modules/unictype/property-dash-tests (Files): Likewise.
30911         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30912         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30913         Likewise.
30914         * modules/unictype/property-deprecated-tests (Files): Likewise.
30915         * modules/unictype/property-diacritic-tests (Files): Likewise.
30916         * modules/unictype/property-extender-tests (Files): Likewise.
30917         * modules/unictype/property-format-control-tests (Files): Likewise.
30918         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30919         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30920         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30921         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30922         * modules/unictype/property-hyphen-tests (Files): Likewise.
30923         * modules/unictype/property-id-continue-tests (Files): Likewise.
30924         * modules/unictype/property-id-start-tests (Files): Likewise.
30925         * modules/unictype/property-ideographic-tests (Files): Likewise.
30926         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30927         * modules/unictype/property-ids-trinary-operator-tests (Files):
30928         Likewise.
30929         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30930         * modules/unictype/property-iso-control-tests (Files): Likewise.
30931         * modules/unictype/property-join-control-tests (Files): Likewise.
30932         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30933         * modules/unictype/property-line-separator-tests (Files): Likewise.
30934         * modules/unictype/property-logical-order-exception-tests (Files):
30935         Likewise.
30936         * modules/unictype/property-lowercase-tests (Files): Likewise.
30937         * modules/unictype/property-math-tests (Files): Likewise.
30938         * modules/unictype/property-non-break-tests (Files): Likewise.
30939         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30940         * modules/unictype/property-numeric-tests (Files): Likewise.
30941         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30942         * modules/unictype/property-other-default-ignorable-code-point-tests
30943         (Files): Likewise.
30944         * modules/unictype/property-other-grapheme-extend-tests (Files):
30945         Likewise.
30946         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30947         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30948         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30949         * modules/unictype/property-other-math-tests (Files): Likewise.
30950         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30951         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30952         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30953         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30954         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30955         * modules/unictype/property-private-use-tests (Files): Likewise.
30956         * modules/unictype/property-punctuation-tests (Files): Likewise.
30957         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30958         * modules/unictype/property-radical-tests (Files): Likewise.
30959         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30960         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30961         * modules/unictype/property-space-tests (Files): Likewise.
30962         * modules/unictype/property-terminal-punctuation-tests (Files):
30963         Likewise.
30964         * modules/unictype/property-test-tests (Files): Likewise.
30965         * modules/unictype/property-titlecase-tests (Files): Likewise.
30966         * modules/unictype/property-unassigned-code-value-tests (Files):
30967         Likewise.
30968         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30969         * modules/unictype/property-uppercase-tests (Files): Likewise.
30970         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30971         * modules/unictype/property-white-space-tests (Files): Likewise.
30972         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30973         * modules/unictype/property-xid-start-tests (Files): Likewise.
30974         * modules/unictype/property-zero-width-tests (Files): Likewise.
30975         * modules/unictype/scripts-tests (Files): Likewise.
30976         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30977         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30978         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30979         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30980         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30981         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30982         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30983         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30984         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30985         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30986         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30987         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30988         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30989         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30990         * modules/uninorm/composition-tests (Files): Likewise.
30991         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30992         * modules/uninorm/decomposition-tests (Files): Likewise.
30993         * modules/uninorm/filter-tests (Files): Likewise.
30994         * modules/uninorm/nfc-tests (Files): Likewise.
30995         * modules/uninorm/nfd-tests (Files): Likewise.
30996         * modules/uninorm/nfkc-tests (Files): Likewise.
30997         * modules/uninorm/nfkd-tests (Files): Likewise.
30998         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30999         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
31000         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
31001         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
31002         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
31003         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
31004         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
31005         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
31006         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
31007         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
31008         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
31009         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
31010         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
31011         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
31012         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
31013         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
31014         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
31015         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
31016         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
31017         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
31018         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
31019         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
31020         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
31021         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
31022         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
31023         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
31024         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
31025         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
31026         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
31027         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
31028         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
31029         * modules/uniwidth/u8-width-tests (Files): Likewise.
31030         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
31031         * modules/uniwidth/u16-width-tests (Files): Likewise.
31032         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
31033         * modules/uniwidth/u32-width-tests (Files): Likewise.
31034         * modules/uniwidth/width-tests (Files): Likewise.
31035         * modules/unlink-tests (Files): Likewise.
31036         * modules/unsetenv-tests (Files): Likewise.
31037         * modules/usleep-tests (Files): Likewise.
31038         * modules/utimens-tests (Files): Likewise.
31039         * modules/utimensat-tests (Files): Likewise.
31040         * modules/vasnprintf-posix-tests (Files): Likewise.
31041         * modules/vasnprintf-tests (Files): Likewise.
31042         * modules/vasprintf-posix-tests (Files): Likewise.
31043         * modules/vasprintf-tests (Files): Likewise.
31044         * modules/vdprintf-posix-tests (Files): Likewise.
31045         * modules/vfprintf-posix-tests (Files): Likewise.
31046         * modules/vprintf-posix-tests (Files): Likewise.
31047         * modules/vsnprintf-posix-tests (Files): Likewise.
31048         * modules/vsnprintf-tests (Files): Likewise.
31049         * modules/vsprintf-posix-tests (Files): Likewise.
31050         * modules/wcrtomb-tests (Files): Likewise.
31051         * modules/wcsnrtombs-tests (Files): Likewise.
31052         * modules/wcsrtombs-tests (Files): Likewise.
31053         * modules/wctype-tests (Files): Likewise.
31054         * modules/wcwidth-tests (Files): Likewise.
31055         * modules/xmemdup0-tests (Files): Likewise.
31056         * modules/xprintf-posix-tests (Files): Likewise.
31057         * modules/xvasprintf-tests (Files): Likewise.
31058
31059 2009-12-24  Eric Blake  <ebb9@byu.net>
31060
31061         test-nanosleep: fix typo
31062         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
31063         patch.
31064         Reported by Bruno Haible.
31065
31066 2009-12-24  Bruno Haible  <bruno@clisp.org>
31067
31068         Reduce namespace pollution on glibc systems.
31069         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
31070         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
31071         systems.
31072         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
31073         <getopt.h> on glibc systems.
31074         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
31075         systems.
31076         * lib/fcntl.c: Include <unistd.h> here instead.
31077
31078 2009-12-24  Bruno Haible  <bruno@clisp.org>
31079
31080         * lib/stdlib.in.h (includes): Fix typo in today's commit.
31081
31082 2009-12-24  Eric Blake  <ebb9@byu.net>
31083
31084         tests: add signature checks
31085         * tests/signature.h (SIGNATURE_CHECK): New file.
31086         * modules/atexit-tests (Files): Use it.
31087         * modules/btowc-tests (Files): Likewise.
31088         * modules/canonicalize-lgpl-tests (Files): Likewise.
31089         * modules/ceilf-tests (Files): Likewise.
31090         * modules/ceill-tests (Files): Likewise.
31091         * modules/chown-tests (Files): Likewise.
31092         * modules/dprintf-posix-tests (Files): Likewise.
31093         * modules/dup2-tests (Files): Likewise.
31094         * modules/dup3-tests (Files): Likewise.
31095         * modules/duplocale-tests (Files): Likewise.
31096         * modules/fchdir-tests (Files): Likewise.
31097         * modules/fcntl-tests (Files): Likewise.
31098         * modules/fdopendir-tests (Files): Likewise.
31099         * modules/fflush-tests (Files): Likewise.
31100         * modules/flock-tests (Files): Likewise.
31101         * modules/floorf-tests (Files): Likewise.
31102         * modules/floorl-tests (Files): Likewise.
31103         * modules/fnmatch-tests (Files): Likewise.
31104         * modules/fopen-tests (Files): Likewise.
31105         * modules/fprintf-posix-tests (Files): Likewise.
31106         * modules/freopen-tests (Files): Likewise.
31107         * modules/frexp-nolibm-tests (Files): Likewise.
31108         * modules/frexp-tests (Files): Likewise.
31109         * modules/frexpl-nolibm-tests (Files): Likewise.
31110         * modules/frexpl-tests (Files): Likewise.
31111         * modules/fseek-tests (Files): Likewise.
31112         * modules/fseeko-tests (Files): Likewise.
31113         * modules/fsync-tests (Files): Likewise.
31114         * modules/ftell-tests (Files): Likewise.
31115         * modules/ftello-tests (Files): Likewise.
31116         * modules/futimens-tests (Files): Likewise.
31117         * modules/getaddrinfo-tests (Files): Likewise.
31118         * modules/getcwd-tests (Files): Likewise.
31119         * modules/getdelim-tests (Files): Likewise.
31120         * modules/getdtablesize-tests (Files): Likewise.
31121         * modules/getgroups-tests (Files): Likewise.
31122         * modules/gethostname-tests (Files): Likewise.
31123         * modules/getline-tests (Files): Likewise.
31124         * modules/getopt-posix-tests (Files): Likewise.
31125         * modules/gettimeofday-tests (Files): Likewise.
31126         * modules/glob-tests (Files): Likewise.
31127         * modules/iconv-tests (Files): Likewise.
31128         * modules/inet_ntop-tests (Files): Likewise.
31129         * modules/inet_pton-tests (Files): Likewise.
31130         * modules/isblank-tests (Files): Likewise.
31131         * modules/lchown-tests (Files): Likewise.
31132         * modules/ldexpl-tests (Files): Likewise.
31133         * modules/link-tests (Files): Likewise.
31134         * modules/linkat-tests (Files): Likewise.
31135         * modules/lseek-tests (Files): Likewise.
31136         * modules/lstat-tests (Files): Likewise.
31137         * modules/mbrtowc-tests (Files): Likewise.
31138         * modules/mbsinit-tests (Files): Likewise.
31139         * modules/mbsnrtowcs-tests (Files): Likewise.
31140         * modules/mbsrtowcs-tests (Files): Likewise.
31141         * modules/memchr-tests (Files): Likewise.
31142         * modules/memcmp-tests (Files): Likewise.
31143         * modules/memmem-tests (Files): Likewise.
31144         * modules/memrchr-tests (Files): Likewise.
31145         * modules/mkdir-tests (Files): Likewise.
31146         * modules/mkfifo-tests (Files): Likewise.
31147         * modules/mkfifoat-tests (Files): Likewise.
31148         * modules/mknod-tests (Files): Likewise.
31149         * modules/nanosleep-tests (Files): Likewise.
31150         * modules/nl_langinfo-tests (Files): Likewise.
31151         * modules/obstack-printf-tests (Files): Likewise.
31152         * modules/open-tests (Files): Likewise.
31153         * modules/openat-tests (Files): Likewise.
31154         * modules/perror-tests (Files): Likewise.
31155         * modules/pipe2-tests (Files): Likewise.
31156         * modules/poll-tests (Files): Likewise.
31157         * modules/popen-tests (Files): Likewise.
31158         * modules/posix_spawn-tests (Files): Likewise.
31159         * modules/posix_spawnp-tests (Files): Likewise.
31160         * modules/pread-tests (Files): Likewise.
31161         * modules/printf-posix-tests (Files): Likewise.
31162         * modules/pty-tests (Files): Likewise.
31163         * modules/random_r-tests (Files): Likewise.
31164         * modules/rawmemchr-tests (Files): Likewise.
31165         * modules/readlink-tests (Files): Likewise.
31166         * modules/remove-tests (Files): Likewise.
31167         * modules/rename-tests (Files): Likewise.
31168         * modules/renameat-tests (Files): Likewise.
31169         * modules/rmdir-tests (Files): Likewise.
31170         * modules/round-tests (Files): Likewise.
31171         * modules/roundf-tests (Files): Likewise.
31172         * modules/roundl-tests (Files): Likewise.
31173         * modules/select-tests (Files): Likewise.
31174         * modules/setenv-tests (Files): Likewise.
31175         * modules/sigaction-tests (Files): Likewise.
31176         * modules/sleep-tests (Files): Likewise.
31177         * modules/snprintf-posix-tests (Files): Likewise.
31178         * modules/snprintf-tests (Files): Likewise.
31179         * modules/sprintf-posix-tests (Files): Likewise.
31180         * modules/stat-tests (Files): Likewise.
31181         * modules/strcasestr-tests (Files): Likewise.
31182         * modules/strchrnul-tests (Files): Likewise.
31183         * modules/strerror-tests (Files): Likewise.
31184         * modules/strsignal-tests (Files): Likewise.
31185         * modules/strstr-tests (Files): Likewise.
31186         * modules/strtod-tests (Files): Likewise.
31187         * modules/strverscmp-tests (Files): Likewise.
31188         * modules/symlink-tests (Files): Likewise.
31189         * modules/symlinkat-tests (Files): Likewise.
31190         * modules/times-tests (Files): Likewise.
31191         * modules/trunc-tests (Files): Likewise.
31192         * modules/truncf-tests (Files): Likewise.
31193         * modules/truncl-tests (Files): Likewise.
31194         * modules/tsearch-tests (Files): Likewise.
31195         * modules/uname-tests (Files): Likewise.
31196         * modules/unlink-tests (Files): Likewise.
31197         * modules/unsetenv-tests (Files): Likewise.
31198         * modules/usleep-tests (Files): Likewise.
31199         * modules/utimensat-tests (Files): Likewise.
31200         * modules/vasprintf-tests (Files): Likewise.
31201         * modules/vdprintf-posix-tests (Files): Likewise.
31202         * modules/vfprintf-posix-tests (Files): Likewise.
31203         * modules/vprintf-posix-tests (Files): Likewise.
31204         * modules/vsnprintf-posix-tests (Files): Likewise.
31205         * modules/vsnprintf-tests (Files): Likewise.
31206         * modules/vsprintf-posix-tests (Files): Likewise.
31207         * modules/wcrtomb-tests (Files): Likewise.
31208         * modules/wcsnrtombs-tests (Files): Likewise.
31209         * modules/wcsrtombs-tests (Files): Likewise.
31210         * modules/wcwidth-tests (Files): Likewise.
31211         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
31212         * tests/test-isinf.c (isinf): Likewise.
31213         * tests/test-isnan.c (isnan): Likewise.
31214         * tests/test-signbit.c (signbit): Likewise.
31215         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
31216         declaration, either as macro or with correct signature.
31217         (select): Ensure function under test is declared with correct
31218         signature in correct header.
31219         * tests/test-atexit.c (atexit): Likewise.
31220         * tests/test-btowc.c (btowc): Likewise.
31221         * tests/test-canonicalize-lgpl.c (realpath)
31222         (canonicalize_file_name): Likewise.
31223         * tests/test-ceilf1.c (ceilf): Likewise.
31224         * tests/test-ceill.c (ceill): Likewise.
31225         * tests/test-chown.c (chown): Likewise.
31226         * tests/test-dprintf-posix.c (dprintf): Likewise.
31227         * tests/test-dup2.c (dup2): Likewise.
31228         * tests/test-dup3.c (dup3): Likewise.
31229         * tests/test-duplocale.c (duplocale): Likewise.
31230         * tests/test-fchdir.c (fchdir): Likewise.
31231         * tests/test-fchownat.c (fchownat): Likewise.
31232         * tests/test-fcntl.c (fcntl): Likewise.
31233         * tests/test-fdopendir.c (fdopendir): Likewise.
31234         * tests/test-fflush.c (fflush): Likewise.
31235         * tests/test-flock.c (flock): Likewise.
31236         * tests/test-floorf1.c (floorf): Likewise.
31237         * tests/test-floorl.c (floorl): Likewise.
31238         * tests/test-fnmatch.c (fnmatch): Likewise.
31239         * tests/test-fopen.c (fopen): Likewise.
31240         * tests/test-fprintf-posix.c (fprintf): Likewise.
31241         * tests/test-freopen.c (freopen): Likewise.
31242         * tests/test-frexp.c (frexp): Likewise.
31243         * tests/test-frexpl.c (frexpl): Likewise.
31244         * tests/test-fseek.c (fseek): Likewise.
31245         * tests/test-fseeko.c (fseeko): Likewise.
31246         * tests/test-fstatat.c (fstatat): Likewise.
31247         * tests/test-fsync.c (fsync): Likewise.
31248         * tests/test-ftell.c (ftell): Likewise.
31249         * tests/test-ftello.c (ftello): Likewise.
31250         * tests/test-futimens.c (futimens): Likewise.
31251         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
31252         (gai_strerror): Likewise.
31253         * tests/test-getcwd.c (getcwd): Likewise.
31254         * tests/test-getdelim.c (getdelim): Likewise.
31255         * tests/test-getdtablesize.c (getdtablesize): Likewise.
31256         * tests/test-getgroups.c (getgroups): Likewise.
31257         * tests/test-gethostname.c (gethostname): Likewise.
31258         * tests/test-getline.c (getline): Likewise.
31259         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
31260         Likewise.
31261         * tests/test-gettimeofday.c (gettimeofday): Likewise.
31262         * tests/test-glob.c (glob, globfree): Likewise.
31263         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
31264         * tests/test-inet_ntop.c (inet_ntop): Likewise.
31265         * tests/test-inet_pton.c (inet_pton): Likewise.
31266         * tests/test-isblank.c (isblank): Likewise.
31267         * tests/test-lchown.c (lchown): Likewise.
31268         * tests/test-ldexpl.c (ldexpl): Likewise.
31269         * tests/test-link.c (link): Likewise.
31270         * tests/test-linkat.c (linkat): Likewise.
31271         * tests/test-lseek.c (lseek): Likewise.
31272         * tests/test-lstat.c (lstat): Likewise.
31273         * tests/test-mbrtowc.c (mbrtowc): Likewise.
31274         * tests/test-mbsinit.c (mbsinit): Likewise.
31275         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
31276         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
31277         * tests/test-memchr.c (memchr): Likewise.
31278         * tests/test-memcmp.c (memcmp): Likewise.
31279         * tests/test-memmem.c (memmem): Likewise.
31280         * tests/test-memrchr.c (memrchr): Likewise.
31281         * tests/test-mkdir.c (mkdir): Likewise.
31282         * tests/test-mkdirat.c (mkdirat): Likewise.
31283         * tests/test-mkfifo.c (mkfifo): Likewise.
31284         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
31285         * tests/test-mknod.c (mknod): Likewise.
31286         * tests/test-nanosleep.c (nanosleep): Likewise.
31287         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
31288         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
31289         Likewise.
31290         * tests/test-open.c (open): Likewise.
31291         * tests/test-openat.c (openat): Likewise.
31292         * tests/test-perror.c (perror): Likewise.
31293         * tests/test-pipe2.c (pipe2): Likewise.
31294         * tests/test-poll.c (poll): Likewise.
31295         * tests/test-popen.c (popen, pclose): Likewise.
31296         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
31297         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
31298         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
31299         (posix_spawn_file_actions_destroy)
31300         (posix_spawn_file_actions_addclose)
31301         (posix_spawn_file_actions_addopen)
31302         (posix_spawn_file_actions_adddup2): Likewise.
31303         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
31304         * tests/test-pread.c (pread): Likewise.
31305         * tests/test-printf-posix.c (printf): Likewise.
31306         * tests/test-pty.c (openpty, forkpty): Likewise.
31307         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
31308         (random_r): Likewise.
31309         * tests/test-rawmemchr.c (rawmemchr): Likewise.
31310         * tests/test-readlink.c (readlink): Likewise.
31311         * tests/test-remove.c (remove): Likewise.
31312         * tests/test-rename.c (rename): Likewise.
31313         * tests/test-renameat.c (renameat): Likewise.
31314         * tests/test-rmdir.c (rmdir): Likewise.
31315         * tests/test-round1.c (round): Likewise.
31316         * tests/test-roundf1.c (roundf): Likewise.
31317         * tests/test-roundl.c (roundl): Likewise.
31318         * tests/test-setenv.c (setenv): Likewise.
31319         * tests/test-sigaction.c (sigaction): Likewise.
31320         * tests/test-sleep.c (sleep): Likewise.
31321         * tests/test-snprintf.c (snprintf): Likewise.
31322         * tests/test-sprintf-posix.c (sprintf): Likewise.
31323         * tests/test-stat.c (stat): Likewise.
31324         * tests/test-stpncpy.c (stpncpy): Likewise.
31325         * tests/test-strcasestr.c (strcasestr): Likewise.
31326         * tests/test-strchrnul.c (strchrnul): Likewise.
31327         * tests/test-strerror.c (strerror): Likewise.
31328         * tests/test-strsignal.c (strsignal): Likewise.
31329         * tests/test-strstr.c (strstr): Likewise.
31330         * tests/test-strtod.c (strtod): Likewise.
31331         * tests/test-strverscmp.c (strverscmp): Likewise.
31332         * tests/test-symlink.c (symlink): Likewise.
31333         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
31334         * tests/test-times.c (times): Likewise.
31335         * tests/test-trunc1.c (trunc): Likewise.
31336         * tests/test-truncf1.c (truncf): Likewise.
31337         * tests/test-truncl.c (truncl): Likewise.
31338         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
31339         Likewise.
31340         * tests/test-uname.c (uname): Likewise.
31341         * tests/test-unlink.c (unlink): Likewise.
31342         * tests/test-unlinkat.c (unlinkat): Likewise.
31343         * tests/test-unsetenv.c (unsetenv): Likewise.
31344         * tests/test-usleep.c (usleep): Likewise.
31345         * tests/test-utimensat.c (utimensat): Likewise.
31346         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
31347         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
31348         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
31349         * tests/test-vprintf-posix.c (vprintf): Likewise.
31350         * tests/test-vsnprintf.c (vsnprintf): Likewise.
31351         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
31352         * tests/test-wcrtomb.c (wcrtomb): Likewise.
31353         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
31354         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
31355         * tests/test-wcwidth.c (wcwidth): Likewise.
31356
31357         build: pull in conditional headers during GNULIB_POSIXCHECK
31358         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
31359         definitions from any conditionally-included headers.
31360         * lib/stdlib.in.h (includes): Likewise.
31361         * lib/unistd.in.h (includes): Likewise.
31362
31363 2009-12-24  Bruno Haible  <bruno@clisp.org>
31364
31365         * tests/test-argv-iter.c: Include header file being tested immediately
31366         after config.h.
31367         * tests/test-base64.c: Likewise.
31368         * tests/test-flock.c: Likewise.
31369         * tests/test-fsync.c: Likewise.
31370         * tests/test-getdate.c: Likewise.
31371         * tests/test-getndelim2.c: Likewise.
31372         * tests/test-isfinite.c: Likewise.
31373         * tests/test-isinf.c: Likewise.
31374         * tests/test-strerror.c: Likewise.
31375         * tests/test-strsignal.c: Likewise.
31376
31377 2009-12-23  Eric Blake  <ebb9@byu.net>
31378
31379         unistd: work around cygwin bug
31380         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
31381         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
31382         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
31383
31384 2009-12-23  Bruno Haible  <bruno@clisp.org>
31385
31386         localename: More tests.
31387         * tests/test-localename.c (SIZEOF): New macro.
31388         (categories): New variable.
31389         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
31390         test_locale_name_default): Add test w.r.t. thread locale.
31391         (test_locale_name_thread): New function.
31392         (main): Invoke it.
31393
31394         localename: Make aware of thread locale.
31395         * lib/localename.h (gl_locale_name_thread): New declaration.
31396         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
31397         behaviour with respect to thread locale.
31398         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
31399         <langinfo.h>, glthread/lock.h.
31400         (SIZE_BITS): New macro.
31401         (string_hash): New function.
31402         (struct hash_node): New type.
31403         (HASH_TABLE_SIZE): New macro.
31404         (struniq_hash_table, struniq_lock): New variables.
31405         (struniq): New function.
31406         (gl_locale_name_thread): New function.
31407         (gl_locale_name): Invoke it.
31408         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
31409         * modules/localename (Depends-on): Add lock.
31410         Reported by Mike Gran <spk121@yahoo.com>.
31411
31412 2009-12-23  Eric Blake  <ebb9@byu.net>
31413
31414         va-args: new module
31415         * modules/va-args: New file.
31416         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
31417         * MODULES.html.sh (Core language properties): Mention it.
31418
31419         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
31420         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
31421         named alias for __attribute__((__unused__)).
31422         * lib/chown.c: Update client.
31423         * lib/fchmodat.c: Likewise.
31424         * lib/fts.c: Likewise.
31425         * lib/getdate.y: Likewise.
31426         * lib/getgroups.c: Likewise.
31427         * lib/getopt.c: Likewise.
31428         * lib/getugroups.c: Likewise.
31429         * lib/mkdir.c: Likewise.
31430         * lib/mkfifo.c: Likewise.
31431         * lib/mkfifoat.c: Likewise.
31432         * lib/mknod.c: Likewise.
31433         * lib/mknodat.c: Likewise.
31434         * lib/readlink.c: Likewise.
31435         * lib/se-context.in.h: Likewise.
31436         * lib/se-selinux.in.h: Likewise.
31437         * lib/sockets.c: Likewise.
31438         * lib/symlink.c: Likewise.
31439         * lib/symlinkat.c: Likewise.
31440         * lib/unicodeio.c: Likewise.
31441         * lib/unistr.h: Likewise.
31442         * tests/test-areadlink.c: Likewise.
31443         * tests/test-areadlinkat.c: Likewise.
31444         * tests/test-filenamecat.c: Likewise.
31445         * tests/test-fseeko.c: Likewise.
31446         * tests/test-ftello.c: Likewise.
31447         * tests/test-getdate.c: Likewise.
31448         * tests/test-getgroups.c: Likewise.
31449         * tests/test-gethostname.c: Likewise.
31450         * tests/test-quotearg.c: Likewise.
31451         * tests/test-version-etc.c: Likewise.
31452         * tests/test-xalloc-die.c: Likewise.
31453         * tests/test-xfprintf-posix.c: Likewise.
31454         * tests/test-xprintf-posix.c: Likewise.
31455         * tests/test-xvasprintf.c: Likewise.
31456
31457         tests: avoid compiler warnings
31458         * tests/test-fcntl.c (main): Delete unused parameters.
31459         * tests/test-freopen-safer.c (main): Likewise.
31460         * tests/test-xalloc-die.c (main): Mark unused parameters.
31461         * tests/test-fseeko.c (main): Likewise.
31462         * tests/test-ftello.c (main): Likewise.
31463         * tests/test-nanosleep.c (main): Avoid declaration warning.
31464         * tests/test-sleep.c (main): Likewise.
31465         * tests/test-unsetenv.c (main): Silence warning about string
31466         literal.
31467         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31468
31469 2009-12-23  Bruno Haible  <bruno@clisp.org>
31470
31471         * tests/test-localename.c (test_locale_name): New function, extracted
31472         from main. Also test mixed situations.
31473         (test_locale_name_posix, test_locale_name_environ,
31474         test_locale_name_default): New functions.
31475         (main): Invoke them all.
31476         * modules/localename-tests (configure.ac): Test for newlocale.
31477
31478 2009-12-23  Bruno Haible  <bruno@clisp.org>
31479
31480         unistd: Ensure getcwd gets declared before being overridden.
31481         * lib/unistd.in.h: Conditionally include <io.h>.
31482
31483 2009-12-22  Bruno Haible  <bruno@clisp.org>
31484
31485         wchar: Diagnose broken combination of glibc and gcc versions and flags.
31486         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
31487         (gl_WCHAR_H): Invoke it.
31488         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
31489         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
31490         Reported by Karl Berry <karl@freefriends.org>.
31491
31492 2009-12-22  Eric Blake  <ebb9@byu.net>
31493
31494         math, unistd: avoid redundant includes
31495         * lib/math.in.h (isnan): No need to re-include <math.h>.
31496         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
31497
31498         getsubopt: work around cygwin bug
31499         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
31500         avoid conflicting with system getsubopt.
31501         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
31502         bug.
31503
31504         getopt: synchronize from glibc
31505         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
31506         parameter order.  Adjust all callers.
31507         (_getopt_internal_r, main): Adjust quoting in error messages.
31508         Drop considerations for outdated POSIX 1003.2 error message.
31509         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
31510         callers.
31511         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
31512
31513         test-getopt: test stderr behavior
31514         * modules/getopt-posix-tests (Depends-on): Add dup2.
31515         * tests/test-getopt.c (ASSERT): Avoid stderr.
31516         (main): Move stderr to a temporary file.
31517         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
31518         Instead, add parameter to inform caller if output occurred.
31519         (test_getopt): Adjust all existing tests to expect silence, and
31520         add new tests of leading ":".
31521         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
31522         glibc shortcomings with leading "-:" or "+:" in optstring.
31523         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31524         Likewise.
31525         * doc/posix-functions/getopt.texi (getopt): Likewise.
31526
31527         test-getopt: enhance test
31528         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
31529         supports optind=0.
31530         * tests/test-getopt.c (OPTIND_MIN): Move...
31531         * tests/test-getopt.h (OPTIND_MIN): ...here.
31532         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
31533         Require that optind=0 works, since modern BSD supports it in
31534         addition to optreset, and since coreutils expects it.
31535         (test_getopt_long_only): New test.
31536         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
31537         glibc shortcomings with 'W;', and enforcement of optind=0.
31538         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31539         Likewise.
31540
31541 2009-12-21  Bruno Haible  <bruno@clisp.org>
31542
31543         localename: Improvements for MacOS X and Cygwin.
31544         * lib/localename.h (gl_locale_name_environ): New declaration.
31545         * lib/localename.c (gl_locale_name_environ): New function, extracted from
31546         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
31547         (gl_locale_name_posix): Invoke it.
31548         (gl_locale_name_default): Add comments. Use Windows native API also on
31549         Cygwin.
31550
31551 2009-12-21  Bruno Haible  <bruno@clisp.org>
31552
31553         Update list of Win32 locale ids.
31554         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
31555         (LANG_SAMI): Renamed from LANG_SAAMI.
31556         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
31557         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
31558         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
31559         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
31560         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
31561         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
31562         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
31563         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
31564         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
31565         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
31566         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
31567         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
31568         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
31569         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
31570         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
31571         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
31572         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
31573         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
31574         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
31575         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
31576         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
31577         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
31578         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
31579         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
31580         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
31581         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
31582         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
31583         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
31584         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
31585         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
31586         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
31587         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
31588         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
31589         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
31590         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
31591         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
31592         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
31593         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
31594         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
31595         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
31596         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
31597         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
31598         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
31599         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
31600         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
31601         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
31602         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
31603         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
31604         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
31605         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
31606         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
31607         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
31608         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
31609         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
31610         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
31611         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
31612         Add more languages and countries for Sami, Sorbian. Add more countries
31613         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
31614         for Pashto. Change country for Syriac, Tswana.
31615
31616 2009-12-21  Eric Blake  <ebb9@byu.net>
31617
31618         test-utimens: avoid spurious failure
31619         * tests/test-chown.h (nap): Factor...
31620         * tests/nap.h: ...into new file.
31621         * tests/test-lchown.h (nap): Avoid duplication.
31622         * tests/test-utimens-common.h (nap): Use shared implementation,
31623         necessary on file systems with 1-second resolution.
31624         * modules/chown-tests (Files): Include new file.
31625         * modules/fdutimensat-tests (Files): Likewise.
31626         * modules/futimens-tests (Files): Likewise.
31627         * modules/lchown-tests (Files): Likewise.
31628         * modules/openat-tests (Files): Likewise.
31629         * modules/utimens-tests (Files): Likewise.
31630         * modules/utimensat-tests (Files): Likewise.
31631
31632 2009-12-19  Eric Blake  <ebb9@byu.net>
31633
31634         futimens, utimensat: work around Linux bug
31635         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
31636         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31637         * lib/utimensat.c (rpl_utimensat): Work around it.
31638         * lib/futimens.c (rpl_futimens): Adjust comment.
31639
31640         utimens: work around Linux ctime bug
31641         * lib/utimens.c (detect_ctime_bug): New helper function.
31642         (update_timespec): Differentiate between workaround needed for
31643         this bug vs. what is needed for systems that lack utimensat.
31644         (fdutimens, lutimens): Work around bug.
31645
31646         utimens: check for ctime update
31647         * tests/test-utimens-common.h (check_ctime): Define.
31648         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
31649         * tests/test-futimens.h (test_futimens): Likewise.
31650         * tests/test-lutimens.h (test_lutimens): Likewise.
31651         * doc/posix-functions/futimens.texi (futimens): Document the bug.
31652         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31653
31654 2009-12-19  Bruno Haible  <bruno@clisp.org>
31655
31656         dprintf-posix: Check against memory leak fixed on 2009-12-15.
31657         * tests/test-dprintf-posix2.sh: New file.
31658         * tests/test-dprintf-posix2.c: New file.
31659         * modules/dprintf-posix-tests (Files): Add them.
31660         (configure.ac): Check for getrlimit and setrlimit.
31661         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31662
31663 2009-12-19  Bruno Haible  <bruno@clisp.org>
31664
31665         fprintf-posix: Check against memory leak fixed on 2009-12-15.
31666         * tests/test-fprintf-posix3.sh: New file.
31667         * tests/test-fprintf-posix3.c: New file.
31668         * modules/fprintf-posix-tests (Files): Add them.
31669         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31670
31671 2009-12-19  Eric Blake  <ebb9@byu.net>
31672
31673         dirfd: fix prototype
31674         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
31675         * lib/dirfd.c (dirfd): Likewise.
31676
31677         canonicalize: reduce memory usage
31678         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
31679         allocation to size.
31680         Reported by Solar Designer <solar@openwall.com>.
31681
31682 2009-12-19  Bruno Haible  <bruno@clisp.org>
31683
31684         New module attribute 'Applicability'.
31685         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
31686         * gnulib-tool: New option --extract-applicability.
31687         (func_usage): Document it.
31688         (sed_extract_prog): Recognize it.
31689         (func_get_applicability): New function.
31690         (func_import): Generalize handling of 'link-warning' module.
31691         * modules/link-warning (Applicability): New section.
31692         * modules/arg-nonnull (Applicability): New section.
31693         Repoted by Simon Josefsson <simon@josefsson.org>.
31694
31695 2009-12-19  Bruno Haible  <bruno@clisp.org>
31696
31697         fflush: tweak
31698         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
31699         * lib/fseeko.c (rpl_fseeko): Likewise.
31700
31701 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
31702
31703         * lib/gl_list.h: Fix typo in comment.
31704
31705 2009-12-16  Eric Blake  <ebb9@byu.net>
31706
31707         fcntl: use to simplify other modules
31708         * modules/cloexec (Depends-on): Add fcntl.
31709         * modules/fchdir (Depends-on): Likewise.
31710         * modules/fd-safer-flag (Depends-on): Likewise.
31711         * modules/unistd-safer (Depends-on): Likewise.
31712         * modules/dup3 (configure.ac): Set module indicator.
31713         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
31714         missing.
31715         * lib/fchdir.c (_gl_register_dup): Fix comment.
31716         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
31717         * lib/dup-safer.c (dup_safer): Likewise.
31718         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
31719         * lib/dup3.c (dup3): Likewise.
31720         * tests/test-fchdir.c (main): Enhance test.
31721         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
31722
31723         fcntl: port portions of fcntl to mingw
31724         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
31725         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
31726         replacement for mingw.
31727         * modules/fcntl (Description): Update.
31728         (Depends-on): Add dup2.
31729         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
31730         * modules/fcntl-h (Makefile.am): Substitute it.
31731         * lib/fcntl.in.h (fcntl): Update declaration.
31732         (F_DUPFD, F_GETFD): New macros, when needed.
31733         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31734         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
31735         * tests/test-fcntl.c (check_flags, main): Enhance test for items
31736         we now guarantee.
31737
31738         fcntl: work around cygwin bug in F_DUPFD
31739         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
31740         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
31741         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
31742         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
31743         * doc/posix-functions/fcntl.texi (fcntl): Document it.
31744
31745         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
31746         * modules/fcntl (Files): List new files.
31747         (configure.ac): Run a test.
31748         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
31749         * lib/fcntl.c (rpl_fcntl): Likewise.
31750         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
31751         (gl_FCNTL_H): Always replace fcntl.h.
31752         * modules/fcntl-h (Makefile.am): Substitute witnesses.
31753         * lib/fcntl.in.h (fcntl): Declare replacement.
31754         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
31755         needed, plus a witness.
31756         * doc/posix-functions/fcntl.texi (fcntl): Document this.
31757         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31758         * tests/test-fcntl.c: New file.
31759         * modules/fcntl-tests: Likewise.
31760
31761         binary-io: avoid potential compilation warning
31762         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
31763         directives.
31764
31765         fflush: avoid compilation error on NetBSD
31766         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
31767         between off_t and fpos_t, since the latter is sometimes a struct.
31768         * lib/fseeko.c (rpl_fseeko): Likewise.
31769         Reported by Alexander Nasonov <alnsn@yandex.ru>.
31770
31771 2009-12-15  Eric Blake  <ebb9@byu.net>
31772
31773         fcntl-h, stdio, sys_ioctl: fix declarations
31774         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
31775         function must not take arguments.
31776         * lib/sys_ioctl.in.h (ioctl): Likewise.
31777         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
31778         (open): Add a link warning.
31779
31780 2009-12-15  Jim Meyering  <meyering@redhat.com>
31781
31782         areadlink, areadlink-with-size: relax license to LGPLv2+
31783         * modules/areadlink (License): Relax to LGPLv2+.
31784         * modules/areadlink-with-size (License): Likewise.
31785
31786 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
31787             Bruno Haible  <bruno@clisp.org>
31788
31789         *printf: Fix memory leak.
31790         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
31791         * lib/vfprintf.c (vfprintf): Likewise.
31792         * lib/dprintf.c (dprintf): Likewise.
31793         * lib/vdprintf.c (vdprintf): Likewise.
31794
31795 2009-12-14  Eric Blake  <ebb9@byu.net>
31796
31797         accept4: adjust module dependencies
31798         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
31799
31800         utimens: one more try at avoiding compiler warning
31801         * lib/utimens.c (lutimens): Lower scope of result.
31802
31803 2009-12-13  Bruno Haible  <bruno@clisp.org>
31804
31805         Move the malloc checking from module 'list' to new module 'xlist'.
31806         * modules/xlist: New file.
31807         * lib/gl_xlist.h: New file.
31808         * lib/gl_xlist.c: New file.
31809         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
31810         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
31811         gl_list_add_last, gl_list_add_before, gl_list_add_after,
31812         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
31813         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
31814         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
31815         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
31816         gl_sortedlist_nx_add): New declarations.
31817         (struct gl_list_implementation): Rename and change methods accordingly.
31818         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
31819         (gl_list_nx_create): Renamed from gl_list_create.
31820         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31821         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31822         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31823         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31824         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31825         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31826         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31827         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31828         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
31829         gl_list_create_empty.
31830         (gl_list_nx_create): Renamed from gl_list_create.
31831         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31832         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31833         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31834         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31835         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31836         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31837         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31838         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31839         * lib/gl_array_list.c: Don't include xalloc.h.
31840         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31841         NULL upon out-of-memory.
31842         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31843         out-of-memory.
31844         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31845         Change return type to 'int'.
31846         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31847         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31848         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31849         upon out-of-memory.
31850         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31851         upon out-of-memory.
31852         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31853         upon out-of-memory.
31854         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31855         upon out-of-memory.
31856         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31857         out-of-memory.
31858         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31859         Update.
31860         (gl_array_list_implementation): Update.
31861         * lib/gl_carray_list.c: Don't include xalloc.h.
31862         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31863         Return NULL upon out-of-memory.
31864         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31865         out-of-memory.
31866         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31867         Change return type to 'int'.
31868         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31869         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31870         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31871         upon out-of-memory.
31872         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31873         upon out-of-memory.
31874         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31875         out-of-memory.
31876         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31877         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31878         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31879         Update.
31880         (gl_carray_list_implementation): Update.
31881         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31882         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31883         gl_linked_create_empty. Return NULL upon out-of-memory.
31884         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31885         out-of-memory.
31886         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31887         Change return type to 'int'. Return -1 upon out-of-memory.
31888         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31889         out-of-memory.
31890         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31891         upon out-of-memory.
31892         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31893         upon out-of-memory.
31894         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31895         NULL upon out-of-memory.
31896         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31897         upon out-of-memory.
31898         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31899         out-of-memory.
31900         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31901         Update.
31902         * lib/gl_linked_list.c: Don't include xalloc.h.
31903         (gl_linked_list_implementation): Update.
31904         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31905         (add_to_bucket): Change return type to 'int'.
31906         (gl_linkedhash_list_implementation): Update.
31907         * lib/gl_anytree_list1.h (free_subtree): New function.
31908         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31909         gl_tree_create_empty. Return NULL upon out-of-memory.
31910         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31911         Change return type to 'int'. Return -1 upon out-of-memory.
31912         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31913         out-of-memory.
31914         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31915         (gl_tree_remove_node): New function, moved here from
31916         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31917         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31918         Update.
31919         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31920         malloc, not xmalloc. Return NULL upon out-of-memory.
31921         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31922         out-of-memory.
31923         (gl_tree_remove_node_from_tree): New function, extracted from
31924         gl_tree_remove_node.
31925         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31926         upon out-of-memory.
31927         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31928         out-of-memory.
31929         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31930         upon out-of-memory.
31931         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31932         upon out-of-memory.
31933         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31934         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31935         not xmalloc. Return NULL upon out-of-memory.
31936         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31937         out-of-memory.
31938         (gl_tree_remove_node_from_tree): New function, extracted from
31939         gl_tree_remove_node.
31940         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31941         upon out-of-memory.
31942         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31943         out-of-memory.
31944         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31945         upon out-of-memory.
31946         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31947         upon out-of-memory.
31948         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31949         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31950         gl_anytree_list1.h before gl_anyavltree_list2.h.
31951         (gl_avltree_list_implementation): Update.
31952         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31953         gl_anytree_list1.h before gl_anyavltree_list2.h.
31954         (gl_rbtree_list_implementation): Update.
31955         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31956         Change return type to 'int'. Return -1 upon out-of-memory. Use
31957         __builtin_expect.
31958         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31959         (gl_avltreehash_list_implementation): Update.
31960         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31961         (gl_rbtreehash_list_implementation): Update.
31962         * modules/array-list (Depends-on): Remove xalloc.
31963         * modules/carray-list (Depends-on): Likewise.
31964         * modules/linked-list (Depends-on): Likewise.
31965         * modules/linkedhash-list (Depends-on): Likewise.
31966         * modules/avltree-list (Depends-on): Likewise.
31967         * modules/rbtree-list (Depends-on): Likewise.
31968         * modules/avltreehash-list (Depends-on): Likewise.
31969         * modules/rbtreehash-list (Depends-on): Likewise.
31970
31971         * modules/xsublist: New file.
31972         * lib/gl_xsublist.h: New file.
31973         * lib/gl_xsublist.c: New file.
31974         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31975         (gl_sublist_nx_create): New declaration.
31976         * lib/gl_sublist.c: Don't include xalloc.h.
31977         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31978         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31979         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31980         Change return type to 'int'. Return -1 upon out-of-memory.
31981         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31982         upon out-of-memory.
31983         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31984         NULL upon out-of-memory.
31985         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31986         upon out-of-memory.
31987         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31988         NULL upon out-of-memory.
31989         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31990         NULL upon out-of-memory.
31991         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31992         upon out-of-memory.
31993         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31994         (gl_sublist_list_implementation): Update.
31995         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31996         upon out-of-memory.
31997         * modules/sublist (Depends-on): Remove xalloc.
31998
31999         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
32000         * tests/test-carray_list.c: Likewise.
32001         * tests/test-linked_list.c: Likewise.
32002         * tests/test-linkedhash_list.c: Likewise.
32003         * tests/test-avltree_list.c: Likewise.
32004         * tests/test-rbtree_list.c: Likewise.
32005         * tests/test-avltreehash_list.c: Likewise.
32006         * tests/test-rbtreehash_list.c: Likewise.
32007         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
32008         * modules/carray-list-tests (Makefile.am): Likewise.
32009         * modules/linked-list-tests (Makefile.am): Likewise.
32010         * modules/linkedhash-list-tests (Makefile.am): Likewise.
32011         * modules/avltree-list-tests (Makefile.am): Likewise.
32012         * modules/rbtree-list-tests (Makefile.am): Likewise.
32013         * modules/avltreehash-list-tests (Makefile.am): Likewise.
32014         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
32015
32016         * NEWS: Mention the changes.
32017
32018         * lib/clean-temp.c: Include gl_xlist.h.
32019         * modules/clean-temp (Depends-on): Add xlist.
32020
32021         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
32022         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
32023
32024         * tests/test-array_oset.c: Include gl_xlist.h.
32025         * modules/array-oset-tests (Depends-on): Add xlist.
32026
32027         Reported by José E. Marchesi <jemarch@gnu.org>.
32028
32029 2009-12-13  Bruno Haible  <bruno@clisp.org>
32030
32031         Move the malloc checking from module 'oset' to new module 'xoset'.
32032         * modules/xoset: New file.
32033         * lib/gl_xoset.h: New file.
32034         * lib/gl_xoset.c: New file.
32035         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
32036         declarations.
32037         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
32038         (struct gl_oset_implementation): Rename and change methods accordingly.
32039         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
32040         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
32041         'int'. Mark as __warn_unused_result__.
32042         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
32043         gl_oset_create_empty.
32044         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
32045         'int'.
32046         * lib/gl_array_oset.c: Don't include xalloc.h.
32047         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
32048         malloc, not xmalloc.
32049         (grow): Change return type to 'int'. Don't call xalloc_die.
32050         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
32051         to 'int'.
32052         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
32053         'int'.
32054         (gl_array_oset_implementation): Update.
32055         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
32056         gl_tree_create_empty.
32057         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
32058         'int'.
32059         * lib/gl_avltree_oset.c: Don't include xalloc.h.
32060         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
32061         xmalloc.
32062         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
32063         not xmalloc.
32064         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
32065         xmalloc.
32066         (gl_avltree_oset_implementation): Update.
32067         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
32068         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
32069         xmalloc.
32070         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
32071         not xmalloc.
32072         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
32073         xmalloc.
32074         (gl_rbtree_oset_implementation): Update.
32075         * modules/array-oset (Depends-on): Remove xalloc.
32076         * modules/avltree-oset (Depends-on): Likewise.
32077         * modules/rbtree-oset (Depends-on): Likewise.
32078         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
32079         * tests/test-avltree_oset.c: Likewise.
32080         * tests/test-rbtree_oset.c: Likewise.
32081         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
32082         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
32083         * modules/rbtree-oset-tests (Makefile.am): Likewise.
32084         * NEWS: Mention the change.
32085
32086 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
32087
32088         maint.mk: allow a project to override release-prep commands
32089         * top/maint.mk (alpha, beta, stable): Move release-preparatory
32090         commands into a new rule.
32091         (release-prep): New rule.
32092         (release-prep-hook): New overridable variable.
32093
32094 2009-12-13  Bruno Haible  <bruno@clisp.org>
32095
32096         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
32097
32098 2009-12-13  Jim Meyering  <meyering@redhat.com>
32099
32100         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
32101         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
32102
32103 2009-12-12  Bruno Haible  <bruno@clisp.org>
32104
32105         duplocale: Tweak.
32106         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
32107
32108 2009-12-12  Karl Berry  <karl@gnu.org>
32109
32110         * config/srclist.txt (strtoll.c): tab changes, no more sync.
32111
32112 2009-12-12  Bruno Haible  <bruno@clisp.org>
32113
32114         * m4/po.m4: Undo incorrect untabification.
32115
32116 2009-12-12  Bruno Haible  <bruno@clisp.org>
32117
32118         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
32119         * modules/c-strtod (Depends-on): Add locale.
32120         * modules/c-strtold (Depends-on): Likewise.
32121
32122 2009-12-12  Bruno Haible  <bruno@clisp.org>
32123
32124         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
32125
32126 2009-12-11  Eric Blake  <ebb9@byu.net>
32127
32128         setenv: relax requirement in light of POSIX ruling
32129         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
32130         not NULL.
32131         * tests/test-setenv.c (main): Relax test.
32132         * tests/test-unsetenv.c (main): Likewise.
32133         * doc/posix-functions/setenv.texi (setenv): Document this.
32134         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32135
32136 2009-12-11  Bruno Haible  <bruno@clisp.org>
32137
32138         New module 'fd-safer-flag'.
32139         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
32140         * lib/dup-safer.c (dup_safer_flag): Remove function.
32141         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
32142         * lib/fd-safer.c (fd_safer_flag): Remove function.
32143         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
32144         * modules/cloexec (configure.ac): Drop indicator macro.
32145         * modules/fd-safer-flag: New file.
32146         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
32147         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
32148         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
32149
32150 2009-12-11  Bruno Haible  <bruno@clisp.org>
32151
32152         Tests for module 'nl_langinfo'.
32153         * modules/nl_langinfo-tests: New file.
32154         * tests/test-nl_langinfo.sh: New file.
32155         * tests/test-nl_langinfo.c: New file.
32156
32157         New module 'nl_langinfo'.
32158         * lib/nl_langinfo.c: New file.
32159         * m4/nl_langinfo.m4: New file.
32160         * modules/nl_langinfo: New file.
32161         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
32162
32163 2009-12-11  Bruno Haible  <bruno@clisp.org>
32164
32165         Tests for module 'langinfo'.
32166         * modules/langinfo-tests: New file.
32167         * tests/test-langinfo.c: New file.
32168
32169         New module 'langinfo'.
32170         * lib/langinfo.in.h: New file.
32171         * m4/langinfo_h.m4: New file.
32172         * modules/langinfo: New file.
32173         * doc/posix-headers/langinfo.texi: Mention the new module.
32174
32175 2009-12-11  Bruno Haible  <bruno@clisp.org>
32176
32177         * lib/config.charset: Untabify.
32178
32179 2009-12-11  Bruno Haible  <bruno@clisp.org>
32180
32181         * modules/unistd-safer (configure.ac): Drop indicator macro.
32182
32183 2009-12-11  Bruno Haible  <bruno@clisp.org>
32184
32185         Move pipe2-safer code to its own file.
32186         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
32187         * lib/pipe-safer.c (pipe2_safer): Remove function.
32188         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
32189         (Makefile.am): Add it to lib_SOURCES.
32190
32191 2009-12-10  Bruno Haible  <bruno@clisp.org>
32192
32193         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
32194
32195 2009-12-10  Bruno Haible  <bruno@clisp.org>
32196
32197         Declare which arguments expect non-NULL values, for GCC and clang.
32198         * build-aux/arg-nonnull.h: New file.
32199         * modules/arg-nonnull: New file.
32200         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
32201         (inet_ntop, inet_pton): Use it.
32202         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
32203         (closedir, dirfd, opendir, scandir, alphasort): Use it.
32204         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
32205         (open, openat): Use it.
32206         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
32207         (fnmatch): Use it.
32208         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
32209         (getopt, getopt_long, getopt_long_only): Use it.
32210         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
32211         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
32212         Use it.
32213         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
32214         (iconv_open): Use it.
32215         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
32216         (strtoimax, strtoumax): Use it.
32217         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
32218         (duplocale): Use it.
32219         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
32220         (frexp, frexpl): Use it.
32221         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
32222         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
32223         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
32224         (tsearch, tfind, tdelete, twalk): Use it.
32225         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
32226         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
32227         sigpending): Use it.
32228         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
32229         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32230         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32231         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32232         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32233         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32234         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32235         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32236         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32237         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32238         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32239         Use it.
32240         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
32241         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
32242         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
32243         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
32244         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
32245         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
32246         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
32247         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
32248         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
32249         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
32250         strtoull, unsetenv): Use it.
32251         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
32252         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32253         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32254         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
32255         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
32256         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
32257         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
32258         (strcasecmp, strncasecmp): Use it.
32259         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
32260         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
32261         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
32262         rpl_setsockopt): Use it.
32263         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
32264         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
32265         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
32266         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
32267         (gettimeofday): Use it.
32268         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
32269         (times): Use it.
32270         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
32271         (uname): Use it.
32272         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
32273         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
32274         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
32275         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
32276         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
32277         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
32278         unlinkat, write): Use it.
32279         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
32280         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
32281         * lib/argv-iter.h: Include arg-nonnull.h.
32282         (_ATTRIBUTE_NONNULL_): Remove macro.
32283         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
32284         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
32285         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
32286         optimization.
32287         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
32288         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
32289         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
32290         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
32291         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
32292         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
32293         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
32294         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
32295         * modules/arpa_inet (Depends-on): Add arg-nonnull.
32296         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
32297         * modules/dirent (Depends-on): Add arg-nonnull.
32298         (Makefile.am): Insert arg-nonnull.h into dirent.h.
32299         * modules/fcntl-h (Depends-on): Add arg-nonnull.
32300         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
32301         * modules/fnmatch (Depends-on): Add arg-nonnull.
32302         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
32303         * modules/getopt-posix (Depends-on): Add arg-nonnull.
32304         (Makefile.am): Insert arg-nonnull.h into getopt.h.
32305         * modules/glob (Depends-on): Add arg-nonnull.
32306         (Makefile.am): Insert arg-nonnull.h into glob.h.
32307         * modules/iconv_open (Depends-on): Add arg-nonnull.
32308         (Makefile.am): Insert arg-nonnull.h into iconv.h.
32309         * modules/inttypes (Depends-on): Add arg-nonnull.
32310         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
32311         * modules/locale (Depends-on): Add arg-nonnull.
32312         (Makefile.am): Insert arg-nonnull.h into locale.h.
32313         * modules/math (Depends-on): Add arg-nonnull.
32314         (Makefile.am): Insert arg-nonnull.h into math.h.
32315         * modules/netdb (Depends-on): Add arg-nonnull.
32316         (Makefile.am): Insert arg-nonnull.h into netdb.h.
32317         * modules/search (Depends-on): Add arg-nonnull.
32318         (Makefile.am): Insert arg-nonnull.h into search.h.
32319         * modules/signal (Depends-on): Add arg-nonnull.
32320         (Makefile.am): Insert arg-nonnull.h into signal.h.
32321         * modules/spawn (Depends-on): Add arg-nonnull.
32322         (Makefile.am): Insert arg-nonnull.h into spawn.h.
32323         * modules/stdio (Depends-on): Add arg-nonnull.
32324         (Makefile.am): Insert arg-nonnull.h into stdio.h.
32325         * modules/stdlib (Depends-on): Add arg-nonnull.
32326         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
32327         * modules/string (Depends-on): Add arg-nonnull.
32328         (Makefile.am): Insert arg-nonnull.h into string.h.
32329         * modules/strings (Depends-on): Add arg-nonnull.
32330         (Makefile.am): Insert arg-nonnull.h into strings.h.
32331         * modules/sys_socket (Depends-on): Add arg-nonnull.
32332         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
32333         * modules/sys_stat (Depends-on): Add arg-nonnull.
32334         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
32335         * modules/sys_time (Depends-on): Add arg-nonnull.
32336         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
32337         * modules/sys_times (Depends-on): Add arg-nonnull.
32338         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
32339         * modules/sys_utsname (Depends-on): Add arg-nonnull.
32340         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
32341         * modules/time (Depends-on): Add arg-nonnull.
32342         (Makefile.am): Insert arg-nonnull.h into time.h.
32343         * modules/unistd (Depends-on): Add arg-nonnull.
32344         (Makefile.am): Insert arg-nonnull.h into unistd.h.
32345         * modules/wchar (Depends-on): Add arg-nonnull.
32346         (Makefile.am): Insert arg-nonnull.h into wchar.h.
32347         * modules/argv-iter (Depends-on): Add arg-nonnull.
32348         * tests/test-canonicalize.c (null_ptr): New function.
32349         (main): Use it.
32350         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
32351         (main): Use it.
32352         * tests/test-memmem.c (null_ptr): New function.
32353         (main): Use it.
32354         Reported by Jim Meyering.
32355
32356 2009-12-10  Bruno Haible  <bruno@clisp.org>
32357
32358         Use spaces for indentation, not tabs.
32359         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
32360         * m4/*.m4: Untabify.
32361         * build-aux/*.h: Untabify.
32362         * tests/**/*.[hc]: Untabify.
32363         * README: New section "Indent with spaces, not TABs", based on
32364         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
32365         * NEWS: Mention the change.
32366
32367 2009-12-10  Bruno Haible  <bruno@clisp.org>
32368
32369         pty test: Fix link error.
32370         * modules/pty-tests (Makefile.am): Add the default LDADD value to
32371         test_pty_LDADD.
32372
32373 2009-12-07  Simon Josefsson  <simon@josefsson.org>
32374
32375         * modules/pty: New file.
32376         * modules/pty-tests: New file.
32377         * m4/pty.m4: New file.
32378         * tests/test-pty.c: New file.
32379         * doc/glibc-headers/pty.texi: Modified.
32380         * doc/glibc-functions/forkpty.texi: Modified.
32381         * doc/glibc-functions/openpty.texi: Modified.
32382
32383 2009-12-10  Bruno Haible  <bruno@clisp.org>
32384
32385         Avoid syntax error in C++ mode.
32386         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
32387
32388 2009-12-10  Bruno Haible  <bruno@clisp.org>
32389
32390         Use sed with option -e.
32391         * gnulib-tool (func_version, func_emit_copyright_notice,
32392         func_emit_initmacro_end, func_import, func_create_testdir): Pass
32393         option -e to sed.
32394         * modules/link-warning (Makefile.am): Likewise.
32395
32396 2009-12-10  Jim Meyering  <meyering@redhat.com>
32397
32398         mgetgroups: do not write bytes beyond end of malloc'd buffer
32399         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
32400         username, we call getgroups with a one-element-shorter buffer,
32401         but still told it the length was original, max_n_groups.
32402
32403 2009-12-09  Eric Blake  <ebb9@byu.net>
32404
32405         cloexec: relax license
32406         * modules/cloexec (Maintainer): Add myself.
32407         (License): Use LGPL, not GPL.
32408
32409         link-warning: optimize generation
32410         * modules/link-warning (Makefile.am): Reduce process usage.
32411
32412 2009-12-09  Bruno Haible  <bruno@clisp.org>
32413
32414         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
32415         workaround was added on 2009-11-17.
32416
32417 2009-12-09  Jim Meyering  <meyering@redhat.com>
32418             Bruno Haible  <bruno@clisp.org>
32419
32420         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
32421         * modules/link-warning (Makefile.am): Make the comment-removing sed
32422         command more robust in the face of bootstrap-prepended comment lines.
32423
32424 2009-12-09  Bruno Haible  <bruno@clisp.org>
32425
32426         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
32427         most one group.
32428
32429 2009-12-09  Simon Josefsson <simon@josefsson.org>
32430             Bruno Haible  <bruno@clisp.org>
32431
32432         * build-aux/link-warning.h: Add copyright notice.
32433         * modules/link-warning (Makefile.am): Generate link-warning.h from
32434         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
32435         * NEWS: Mention change in link-warning module.
32436         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
32437         * modules/dirent (Makefile.am): Add dependency to dirent.h.
32438         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
32439         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
32440         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
32441         * modules/math (Makefile.am): Add dependency to math.h.
32442         * modules/search (Makefile.am): Add dependency to search.h.
32443         * modules/signal (Makefile.am): Add dependency to signal.h.
32444         * modules/spawn (Makefile.am): Add dependency to spawn.h.
32445         * modules/stdio (Makefile.am): Add dependency to stdio.h.
32446         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
32447         * modules/string (Makefile.am): Add dependency to string.h.
32448         * modules/strings (Makefile.am): Add dependency to strings.h.
32449         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
32450         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
32451         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
32452         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
32453         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
32454         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
32455         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
32456         * modules/unistd (Makefile.am): Add dependency to unistd.h.
32457         * modules/wchar (Makefile.am): Add dependency to wchar.h.
32458
32459 2009-12-09  Bruno Haible  <bruno@clisp.org>
32460
32461         fchdir: Optimize away rpl_fstat when possible.
32462         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
32463         REPLACE_OPEN_DIRECTORY.
32464         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
32465
32466 2009-12-09  Bruno Haible  <bruno@clisp.org>
32467
32468         * lib/fchdir.c: Update comment.
32469
32470 2009-12-09  Bruno Haible  <bruno@clisp.org>
32471
32472         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
32473
32474 2009-12-08  Eric Blake  <ebb9@byu.net>
32475
32476         fchdir: avoid memory leak on re-registration.
32477         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
32478
32479 2009-12-08  Jim Meyering  <meyering@redhat.com>
32480
32481         init.sh: avoid Solaris 10 /bin/sh portability problem
32482         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
32483         sourced script:
32484           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
32485           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
32486           bar
32487         tests/init.sh relied on that, accepting a --set-path=DIR argument,
32488         and two tests used that idiom.
32489         * tests/init.sh: Update suggested usage comments.
32490         (path_prepend_): New function, to be used in place
32491         of the --src-path=DIR option.
32492         (setup_): Move PATH-prepending code into path_prepend_.
32493         * tests/test-pread.sh: Adapt to new usage.
32494         * tests/test-xalloc-die.sh: Likewise.
32495
32496 2009-12-08  Simon Josefsson  <simon@josefsson.org>
32497
32498         * doc/gnulib.texi (Glibc pty.h): Add.
32499         * doc/glibc-functions/forkpty.texi: Add.
32500         * doc/glibc-functions/openpty.texi: Add.
32501         Suggested by Bruno Haible.
32502
32503 2009-12-08  Eric Blake  <ebb9@byu.net>
32504
32505         fchdir: fix logic bugs
32506         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
32507         * tests/test-fchdir.c (main): Enhance test.
32508         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
32509         is in use.
32510
32511         dup2: fix logic bugs
32512         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
32513         REPLACE_DUP2 to decide when rpl_dup2 is needed.
32514         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
32515         exists.
32516         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
32517
32518 2009-12-07  Eric Blake  <ebb9@byu.net>
32519
32520         unlink: fix m4 detection
32521         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
32522
32523         unistd-safer: add unit test
32524         * modules/unistd-safer-tests: New file.
32525         * tests/test-dup-safer.c: Likewise.
32526         * tests/test-cloexec.c (setmode): Avoid compiler warning.
32527         * tests/test-dup2.c (setmode): Likewise.
32528         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
32529
32530         cloexec: preserve text vs. binary across dup_cloexec
32531         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
32532         mode.
32533         * modules/dup2-tests (Depends-on): Add binary-io.
32534         * modules/cloexec-tests (Depends-on): Likewise.
32535         * tests/test-dup2.c (setmode, is_mode): New helpers.
32536         (main): Add tests that translation mode is preserved.
32537         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
32538         Reported by Bruno Haible.
32539
32540         mgetgroups: reduce duplicate listings
32541         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
32542         resulting array.
32543         * tests/test-chown.h (test_chown): Simplify client.
32544         * tests/test-lchown.h (test_lchown): Likewise.
32545
32546 2009-12-06  Bruno Haible  <bruno@clisp.org>
32547
32548         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
32549         value.
32550
32551 2009-12-06  Bruno Haible  <bruno@clisp.org>
32552
32553         * lib/progname.c: Include stdio.h, stdlib.h.
32554         (set_program_name): Reject a NULL argument.
32555
32556 2009-12-05  Eric Blake  <ebb9@byu.net>
32557
32558         pipe2-safer: new module
32559         * modules/pipe2-safer: New file.
32560         * lib/unistd-safer.h (pipe2_safer): New prototype.
32561         * lib/unistd--.h (pipe2): New wrapper.
32562         * lib/pipe-safer.c (pipe2_safer): New function.
32563         * modules/pipe (Depends-on): Add pipe2-safer.
32564         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
32565
32566         stdlib-safer: preserve cloexec flag for mkostemp[s]
32567         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
32568         fd_safer_flag.
32569
32570         unistd-safer: allow preservation of cloexec status via flag
32571         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
32572         prototypes.
32573         * lib/dup-safer.c (dup_safer_flag): New function.
32574         * lib/fd-safer.c (fd_safer_flag): Likewise.
32575         * modules/cloexec (configure.ac): Set witness.
32576
32577         test-dup2: enhance test
32578         * modules/dup2-tests (Depends-on): Add cloexec.
32579         * tests/test-dup2.c (main): Enhance test.
32580
32581         cloexec: add dup_cloexec
32582         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
32583         header and comments.
32584         * lib/cloexec.c (set_cloexec_flag): Add comments.
32585         (dup_cloexec): New function, with mingw implementation borrowed
32586         from...
32587         * lib/w32spawn.h (dup_noinherit): ...here.
32588         * modules/execute (Depends-on): Add cloexec.
32589         * modules/pipe (Depends-on): Likewise.
32590         * modules/cloexec (Depends-on): Add dup2.
32591         * modules/cloexec-tests (Files): New file.
32592         * tests/test-cloexec.c: Likewise.
32593
32594         test-xalloc-die: fix test for mingw
32595         * modules/xalloc-die-tests (Files): Add tests/init.sh.
32596         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
32597         directory and .exe suffix off argv[0] output.
32598
32599         test-fseeko: fix test for mingw
32600         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
32601         than undefining fseek, so test will pass on mingw.
32602
32603 2009-12-05  Bruno Haible  <bruno@clisp.org>
32604
32605         * lib/progname.h (set_program_name): Clarify specification.
32606         * lib/progname.c (set_program_name): Likewise.
32607         Reported by Jim Meyering.
32608
32609 2009-12-05  Jim Meyering  <meyering@redhat.com>
32610
32611         maint.mk: backslash-escape parens in default regexp
32612         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
32613         backslash-escape the literal parentheses.
32614
32615         maint.mk: news-date-check: use grep -E
32616         * top/maint.mk (today): Define a Make variable, not a...
32617         (news-date-check): ...shell variable.
32618         (news-date-regexp): Use the Make variable.
32619         Use grep's -E option.  Change the failing diagnostic to mention
32620         the variable, $(news-date-regexp).
32621
32622 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
32623
32624         maintainer-makefile: allow customization of NEWS entry format
32625         * top/maint.mk (news-date-regexp): New overridable variable.
32626         (news-date-check): Use it.
32627
32628 2009-12-04  Eric Blake  <ebb9@byu.net>
32629
32630         mgetgroups: add xgetgroups, and avoid ENOSYS failures
32631         * lib/mgetgroups.h (xgetgroups): New prototype.
32632         * lib/mgetgroups.c (xgetgroups): New wrapper.
32633         (mgetgroups): Handle ENOSYS.
32634         * modules/mgetgroups (Depends-on): Add realloc.
32635         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
32636
32637         mgetgroups: avoid argument promotion issues with -1
32638         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
32639         for invalid gid_t.
32640         * tests/test-chown.h (getegid, test_chown): Likewise.
32641         * tests/test-lchown.h (getegid, test_lchown): Likewise.
32642
32643 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
32644
32645         exclude: Fix header file problems.
32646         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
32647
32648 2009-12-01  Jim Meyering  <meyering@redhat.com>
32649
32650         fts: fts_open: do not let an empty string cause immediate failure
32651         This is required in support of GNU rm, for which the command
32652         "rm A '' B" must process and remove both A and B, in spite of
32653         the empty string argument.
32654         * lib/fts.c (fts_open): Do not let the presence of an empty string
32655         cause fts_open to fail immediately.  Most fts-using tools must be
32656         able to process all arguments, in order, and can be expected to
32657         diagnose such arguments themselves.
32658
32659 2009-11-30  Eric Blake  <ebb9@byu.net>
32660
32661         utimens: fix compilation error
32662         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
32663         Declare variable at right scope.
32664
32665 2009-11-29  Jim Meyering  <meyering@redhat.com>
32666
32667         bootstrap: handle perl-5.11's changed --version output
32668         * build-aux/bootstrap (get_version): Handle perl separately,
32669         since perl-5.11's --version output is different.
32670
32671 2009-11-28  Jim Meyering  <meyering@redhat.com>
32672
32673         userspec: depend on the inttostr module, too
32674         * modules/userspec (Depends-on): Add inttostr.
32675
32676         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
32677         * lib/userspec.c (parse_with_separator): Do not accept a user ID
32678         number of MAXUID when it evaluates to (uid_t) -1.
32679         Likewise for group ID.  Reported by Matt McCutchen in
32680         <http://savannah.gnu.org/bugs/?28113>
32681
32682         userspec: reformat to use spaces, not TABs
32683         * lib/userspec.c: Expand TABs to spaces.
32684         Add Emacs' "indent-tabs-mode: nil" hint.
32685
32686 2009-11-27  Eric Blake  <ebb9@byu.net>
32687
32688         getopt-gnu: flush out another BSD bug
32689         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
32690         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
32691         flush out BSD bug.
32692         * tests/test-getopt.h (test_getopt): End lists with NULL.
32693         * tests/test-getopt_long.h (test_getopt_long): Likewise.
32694         (test_getopt_long_posix): Enhance test.
32695         * modules/getopt-posix-tests (Depends-on): Add stdbool.
32696         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
32697         getopt-gnu.
32698         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32699         Likewise.
32700
32701 2009-11-27  Simon Josefsson  <simon@josefsson.org>
32702
32703         * modules/idpriv-droptemp-tests (Notice): Fix text.
32704
32705 2009-11-27  Jim Meyering  <meyering@redhat.com>
32706
32707         test-xalloc-die: avoid spurious failure due to libtool argv difference
32708         In a libtool-enabled project, this test would fail due to a difference
32709         in the emitted program name, e.g.,
32710         -test-xalloc-die: memory exhausted
32711         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
32712         Use program to avoid that.
32713         * modules/xalloc-die-tests (Depends-on): Add progname.
32714         * tests/test-xalloc-die.c: Include progname.h".
32715         (program_name): Remove decl.
32716         (main): Call set_program_name.
32717         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
32718
32719 2009-11-26  Richard Jones  <rjones@redhat.com>
32720
32721         w32sock: leave win32 error in place.
32722         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
32723
32724 2009-11-26  Eric Blake  <ebb9@byu.net>
32725
32726         init.sh: suggest to use skip_ and fail_ functions in comments
32727         * tests/init.sh: Add a sentence.
32728
32729 2009-11-25  Bruno Haible  <bruno@clisp.org>
32730
32731         init.sh: add documentation in comments
32732         * tests/init.sh: Add some developer and user documentation.
32733
32734 2009-11-26  Jim Meyering  <meyering@redhat.com>
32735
32736         init.sh: accommodate even those who specify bogus srcdir manually
32737         * tests/init.sh: Normally, srcdir is guaranteed by automake and
32738         configure-time tests to be sanitized, so that there is no need to
32739         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
32740         (with no double quotes) suffices.  However, since tests may be
32741         invoked manually, and since you may explicitly set srcdir to the
32742         name of a directory containing spaces, do quote its uses here.
32743         * tests/test-pread.sh: Likewise.
32744         Suggested by Bruno Haible.
32745
32746         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
32747         * tests/test-pread.sh: Write no data into the pipe, because
32748         test-pread actually reads none.  This avoids a diagnostic,
32749         "bash: echo: write error: Broken pipe", that arises in the unusual
32750         event something is ignoring SIGPIPE, and might be interpreted
32751         as some sort of failure.  Reported by Bruno Haible.
32752
32753 2009-11-25  Jim Meyering  <meyering@redhat.com>
32754
32755         test-pread: cover failure with ESPIPE and EINVAL
32756         * tests/test-pread.c (main): Test for failure, too.
32757         * tests/test-pread.sh: Invoke with stdin on a pipe.
32758         Suggested by Eric Blake.
32759
32760         pread: improvement and fix
32761         * modules/pread (Depends-on): Depend on lseek, for portability to
32762         e.g., mingw.  Suggested by Eric Blake.
32763         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
32764
32765         unistd.in.h: correct declaration of pread
32766         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
32767         Reported by Richard W.M. Jones.
32768
32769         test-pread.sh: distribute the test script
32770         * modules/pread-tests (Files): Include test-pread.sh.
32771
32772         test-pread.sh: clean up
32773         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
32774         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
32775         That is unnecessary, since it's always ".".
32776         Suggestion from Eric Blake.
32777
32778         test-pread.sh: make executable
32779         * tests/test-pread.sh: Set executable bit.
32780         Reported by Eric Blake.
32781
32782         correct typo in test-pread.sh
32783         * tests/test-pread.sh: Add #! line.
32784
32785         test pread
32786         * tests/test-pread.c: New file.
32787         * tests/test-pread.sh: Likewise.
32788         * modules/pread-tests: Likewise.
32789
32790         pread: new module
32791         * modules/pread: New file.
32792         * lib/unistd.in.h (pread): Define/declare.
32793         * lib/pread.c (pread): New file.
32794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
32795         * modules/unistd (Makefile.am): Substitute witnesses.
32796         * doc/posix-functions/pread.texi (pread): Update.
32797         * MODULES.html.sh: Add pread.
32798
32799 2009-11-25  Jim Meyering  <meyering@redhat.com>
32800
32801         tests/init.sh: new file to be used via most *.sh tests
32802         * tests/init.sh: New file.
32803
32804 2009-11-25  Eric Blake  <ebb9@byu.net>
32805
32806         utimens: work around older Linux failure with symlinks
32807         * lib/utimens.c (lutimensat_works_really): New variable.
32808         (fdutimens, lutimens): Use it to manage kernels that support
32809         nanosecond times on files, but not on symlinks.
32810         Reported by OndÅ™ej Vašík.
32811
32812         utimes: fix configure grammar
32813         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
32814
32815 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
32816
32817         regex: Fix fastmap for multibyte character ranges.
32818         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
32819         characters when a multibyte character range is included.
32820
32821 2009-11-22  Andy Wingo  <wingo@pobox.com>
32822
32823         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
32824         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
32825
32826 2009-11-24  Bruno Haible  <bruno@clisp.org>
32827
32828         doc: Most *_l functions exist in MacOS X 10.5.
32829         * doc/posix-functions/duplocale.texi: Update platforms list.
32830         * doc/posix-functions/freelocale.texi: Likewise.
32831         * doc/posix-functions/newlocale.texi: Likewise.
32832         * doc/posix-functions/uselocale.texi: Likewise.
32833         * doc/posix-functions/isalnum_l.texi: Likewise.
32834         * doc/posix-functions/isalpha_l.texi: Likewise.
32835         * doc/posix-functions/isblank_l.texi: Likewise.
32836         * doc/posix-functions/iscntrl_l.texi: Likewise.
32837         * doc/posix-functions/isdigit_l.texi: Likewise.
32838         * doc/posix-functions/isgraph_l.texi: Likewise.
32839         * doc/posix-functions/islower_l.texi: Likewise.
32840         * doc/posix-functions/isprint_l.texi: Likewise.
32841         * doc/posix-functions/ispunct_l.texi: Likewise.
32842         * doc/posix-functions/isspace_l.texi: Likewise.
32843         * doc/posix-functions/isupper_l.texi: Likewise.
32844         * doc/posix-functions/iswalnum_l.texi: Likewise.
32845         * doc/posix-functions/iswalpha_l.texi: Likewise.
32846         * doc/posix-functions/iswblank_l.texi: Likewise.
32847         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32848         * doc/posix-functions/iswctype_l.texi: Likewise.
32849         * doc/posix-functions/iswdigit_l.texi: Likewise.
32850         * doc/posix-functions/iswgraph_l.texi: Likewise.
32851         * doc/posix-functions/iswlower_l.texi: Likewise.
32852         * doc/posix-functions/iswprint_l.texi: Likewise.
32853         * doc/posix-functions/iswpunct_l.texi: Likewise.
32854         * doc/posix-functions/iswspace_l.texi: Likewise.
32855         * doc/posix-functions/iswupper_l.texi: Likewise.
32856         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32857         * doc/posix-functions/isxdigit_l.texi: Likewise.
32858         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32859         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32860         * doc/posix-functions/strcoll_l.texi: Likewise.
32861         * doc/posix-functions/strfmon_l.texi: Likewise.
32862         * doc/posix-functions/strftime_l.texi: Likewise.
32863         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32864         * doc/posix-functions/strxfrm_l.texi: Likewise.
32865         * doc/posix-functions/tolower_l.texi: Likewise.
32866         * doc/posix-functions/toupper_l.texi: Likewise.
32867         * doc/posix-functions/towctrans_l.texi: Likewise.
32868         * doc/posix-functions/towlower_l.texi: Likewise.
32869         * doc/posix-functions/towupper_l.texi: Likewise.
32870         * doc/posix-functions/wcscoll_l.texi: Likewise.
32871         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32872         * doc/posix-functions/wctrans_l.texi: Likewise.
32873         * doc/posix-functions/wctype_l.texi: Likewise.
32874         * doc/glibc-functions/strptime_l.texi: Likewise.
32875         * doc/glibc-functions/strtod_l.texi: Likewise.
32876         * doc/glibc-functions/strtof_l.texi: Likewise.
32877         * doc/glibc-functions/strtol_l.texi: Likewise.
32878         * doc/glibc-functions/strtold_l.texi: Likewise.
32879         * doc/glibc-functions/strtoll_l.texi: Likewise.
32880         * doc/glibc-functions/strtoul_l.texi: Likewise.
32881         * doc/glibc-functions/strtoull_l.texi: Likewise.
32882         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32883         * doc/glibc-functions/wcstod_l.texi: Likewise.
32884         * doc/glibc-functions/wcstof_l.texi: Likewise.
32885         * doc/glibc-functions/wcstol_l.texi: Likewise.
32886         * doc/glibc-functions/wcstold_l.texi: Likewise.
32887         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32888         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32889         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32890
32891 2009-11-24  Bruno Haible  <bruno@clisp.org>
32892
32893         duplocale: Fix logic bug.
32894         * lib/duplocale.c: Don't include <langinfo.h>.
32895         (_NL_LOCALE_NAME): Remove macro.
32896         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32897         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32898
32899 2009-11-23  Jim Meyering  <meyering@redhat.com>
32900
32901         test-update-copyright: don't hard-code /usr/bin/perl
32902         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32903         perl to print the current year.  Gilles Espinasse reported that
32904         the replaced use of perl was hard-coded as /usr/bin/perl.
32905
32906 2009-11-23  Bruno Haible  <bruno@clisp.org>
32907
32908         duplocale: Add support for glibc 2.3.x.
32909         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32910
32911 2009-11-22  Bruno Haible  <bruno@clisp.org>
32912
32913         vasnprintf: Tiny optimization.
32914         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32915         MacOS X.
32916
32917 2009-11-22  Bruno Haible  <bruno@clisp.org>
32918
32919         Tests for module 'duplocale'.
32920         * modules/duplocale-tests: New file.
32921         * tests/test-duplocale.c: New file.
32922
32923         New module 'duplocale'.
32924         * m4/duplocale.m4: New file.
32925         * lib/locale.in.h (duplocale): New declaration.
32926         * lib/duplocale.c: New file.
32927         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32928         gl_LOCALE_H_DEFAULTS): New macros.
32929         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32930         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32931         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32932         REPLACE_DUPLOCALE.
32933         * modules/duplocale: New file.
32934         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32935
32936 2009-11-22  Bruno Haible  <bruno@clisp.org>
32937
32938         * modules/locale-tests (configure.ac): Test for newlocale function.
32939         * tests/test-locale.c: When the system has extended locale functions,
32940         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32941
32942         locale: Make locale_t available when possible.
32943         * lib/locale.in.h: Include <xlocale.h> when it exists.
32944         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32945         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32946         * modules/locale (Depends-on): Add extensions.
32947         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32948         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32949
32950 2009-11-22  Bruno Haible  <bruno@clisp.org>
32951
32952         Add comments.
32953         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32954         invocation.
32955         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32956         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32957         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32958
32959 2009-11-22  Bruno Haible  <bruno@clisp.org>
32960
32961         error: account for the possibility of freopen (stdout).
32962         * lib/error.c: Include <unistd.h>.
32963         (flush_stdout): New function, extracted from error and error_at_line.
32964         Determine stdout's fd dynamically.
32965         (error, error_at_line): Invoke flush_stdout.
32966         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32967         * modules/error (Depends-on): Add unistd.
32968
32969 2009-11-22  Bruno Haible  <bruno@clisp.org>
32970
32971         diffseq: Add comment.
32972         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32973
32974 2009-11-22  Jim Meyering  <meyering@redhat.com>
32975
32976         c-stack: avoid defining an unused static function
32977         * lib/c-stack.c (find_stack_direction): Do not define this function
32978         when it will not be used.
32979
32980         diffseq: avoid spurious gcc warnings
32981         * lib/diffseq.h (IF_LINT2): Define.
32982         (compareseq): Use it to initialize two members of "part".
32983         This avoids two used-uninitialized warnings.
32984
32985 2009-11-21  Jim Meyering  <meyering@redhat.com>
32986
32987         c-stack: avoid "ignoring return value of `write'" warning
32988         * lib/c-stack.c: Include "ignore-value.h".
32989         (die): Explicitly ignore each write return value.
32990         * modules/c-stack (Depends-on): Add ignore-value.
32991
32992 2009-11-21  Bruno Haible  <bruno@clisp.org>
32993
32994         diffseq: reduce scope of variable 'best'.
32995         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32996         variable, earlier used for two different purposes.
32997
32998 2009-11-21  Jim Meyering  <meyering@redhat.com>
32999
33000         diffseq: remove useless assignment to "best"
33001         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
33002         assignment.  At that point "best" is already guaranteed to be zero.
33003
33004 2009-11-20  Eric Blake  <ebb9@byu.net>
33005
33006         build: mention ftp redirector in release announcements
33007         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
33008         values that used to come from cfg.mk; mention FTP redirect URL.
33009         * build-aux/announce-gen: Mention the mirror list.
33010         Suggested by Karl Berry.
33011
33012         nanosleep: improve port to mingw
33013         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
33014         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
33015         LIB_NANOSLEEP, but only when needed.
33016         * modules/select (Link): Document LIBSOCKET.
33017         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
33018         enough.
33019
33020         nanosleep: work around cygwin bug
33021         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
33022         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
33023         bug.
33024         (getnow): Delete, not needed.
33025         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
33026         LIB_CLOCK_GETTIME.
33027         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
33028         clock-time, gettime.
33029         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
33030         bug.
33031         * modules/nanosleep-tests: New test.
33032         * tests/test-nanosleep.c: New file.
33033
33034         sleep: work around cygwin bug
33035         * lib/sleep.c (rpl_sleep): Work around the bug.
33036         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
33037         (gl_PREREQ_SLEEP): Delete unused macro.
33038         * modules/sleep (Depends-on): Add verify.
33039         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
33040         * modules/unistd (Makefile.am): Substitute witness.
33041         * lib/unistd.in.h (sleep): Update prototype.
33042         * doc/posix-functions/sleep.texi (sleep): Document the bug.
33043         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
33044         * modules/sleep-tests (Depends-on): Check for alarm.
33045
33046 2009-11-20  Jim Meyering  <meyering@redhat.com>
33047
33048         maint.mk: improve sc_prohibit_magic_number_exit
33049         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
33050         so it does not match uses like System.exit(1).
33051         Add comments showing how to correct all offenders.
33052
33053 2009-11-19  Eric Blake  <ebb9@byu.net>
33054
33055         xalloc-die-tests: add missing library
33056         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
33057
33058         test-xvasprintf: silence compiler warnings
33059         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
33060         empty string from gcc.
33061
33062 2009-11-19  Jim Meyering  <meyering@redhat.com>
33063
33064         xfreopen: new module, from coreutils
33065         * modules/xfreopen: New module.
33066         * lib/xfreopen.c: New file.
33067         * lib/xfreopen.h: New file.
33068         * MODULES.html.sh (File stream based Input/Output"): Add it.
33069
33070 2009-11-19  Eric Blake  <ebb9@byu.net>
33071
33072         manywarnings: depend on warnings
33073         * modules/manywarnings (Depends-on): Add warnings.
33074
33075         build: avoid compiler warnings
33076         * lib/select.c (rpl_select): Delete unused variable.
33077         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
33078
33079 2009-11-18  Eric Blake  <ebb9@byu.net>
33080
33081         tests: avoid false negative with --with-packager
33082         * tests/test-version-etc.sh: Discard packager information.
33083         * tests/test-argp-version-etc-1.sh: Likewise.
33084         Reported by Mike Frysinger.
33085
33086         utimens: fix regression on Solaris
33087         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
33088         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
33089         can only change fd timestamps via futimesat.  Instead, use an
33090         additional witness macro to avoid BSD bug.
33091         Reported by Jim Meyering.
33092
33093 2009-11-17  Eric Blake  <ebb9@byu.net>
33094
33095         usleep: use it to simplify tests
33096         * modules/stat-time-tests (Depends-on): Add usleep.
33097         (configure.ac): Drop usleep check.
33098         * modules/chown-tests (Depends-on, configure.ac): Likewise.
33099         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
33100         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
33101         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
33102         * modules/openat-tests (Depends-on, configure.ac): Likewise.
33103         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
33104         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
33105         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
33106         Likewise.
33107         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
33108         * tests/test-lchown.h (nap): Likewise.
33109         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
33110         * tests/test-stat-time.c (nap): Likewise.
33111         * tests/test-utimens-common.h (nap): Update comments.
33112
33113         usleep: new module
33114         * modules/usleep: New file.
33115         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
33116         * lib/usleep.c (usleep): Likewise.
33117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
33118         * modules/unistd (Makefile.am): Substitute witnesses.
33119         * lib/unistd.in.h (usleep): Add declaration.
33120         * doc/pastposix-functions/usleep.texi (usleep): Document this.
33121         * MODULES.html.sh (Date and time): Likewise.
33122         * modules/usleep-tests (Depends-on): New test.
33123         * tests/test-usleep.c: New file.
33124
33125         chown: work around OpenBSD bug
33126         * lib/chown.c (rpl_chown): Work around the bug.
33127         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
33128         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
33129         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
33130         * modules/chown (Depends-on): Add stdbool.
33131         * modules/lchown (Depends-on): Likewise.
33132         * doc/posix-functions/chown.texi (chown): Document the bug.
33133         * doc/posix-functions/lchown.texi (lchown): Likewise.
33134         * tests/test-lchown.h (test_chown): Relax test.
33135
33136         mkstemp: avoid conflict with C++ keyword template
33137         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
33138         * lib/mkostemp.c (mkostemp): Likewise.
33139         * lib/mkostemps.c (mkostemps): Likewise.
33140         * lib/mkstemp.c (mkstemp): Likewise.
33141         * lib/mkstemps.c (mkstemps): Likewise.
33142
33143         xalloc-die-tests: optimize
33144         * tests/test-xalloc-die.sh: Reduce number of processes.
33145
33146 2009-11-17  Simon Josefsson  <simon@josefsson.org>
33147
33148         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
33149         patch from ludo@gnu.org (Ludovic Courtès).
33150
33151 2009-11-17  Jim Meyering  <meyering@redhat.com>
33152
33153         version-etc: use proper license string
33154         * modules/version-etc (License): Use LGPL, not LGPLv3+.
33155         * modules/version-etc-fsf: Likewise.
33156
33157 2009-11-17  Simon Josefsson  <simon@josefsson.org>
33158
33159         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
33160         printed to stdout.  Deal with EOL differences.
33161
33162 2009-11-17  Eric Blake  <ebb9@byu.net>
33163
33164         unsetenv: work around Solaris bug
33165         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
33166         * lib/unsetenv.c (rpl_unsetenv): Work around it.
33167         Reported by Jim Meyering.
33168
33169         vasnprintf: avoid compiler warnings
33170         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
33171         variables.
33172         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
33173
33174 2009-11-17  Simon Josefsson  <simon@josefsson.org>
33175
33176         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
33177         settings since xalloc-die is no longer the self test,
33178         xalloc-die.sh is.
33179
33180 2009-11-17  Jim Meyering  <meyering@redhat.com>
33181
33182         test-xalloc-die.sh: make the code agree with the commit log
33183         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
33184         at the end, just in case you happen to have a test-xalloc-die
33185         program in some other PATH directory.
33186
33187         test-xalloc-die.sh: fix a portability bug
33188         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
33189         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
33190         Otherwise, argv[0] (as often seen in diagnostics) would be too
33191         system-dependent, sometimes with, and sometimes without the leading "./".
33192
33193         version-etc-fsf: relax license to LGPLv3+
33194         * modules/version-etc-fsf (License): Relax license.
33195
33196 2009-11-16  Eric Blake  <ebb9@byu.net>
33197
33198         xalloc-die-tests: avoid printing null pointer
33199         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
33200         shell script.
33201         * tests/test-xalloc-die.c (program_name): Declare.
33202         * tests/test-xalloc-die.sh (tmpfiles): New file.
33203
33204         setenv, unsetenv: work around various bugs
33205         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
33206         (setenv) [HAVE_SETENV]: Work around bugs.
33207         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
33208         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
33209         for bugs.
33210         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
33211         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
33212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
33213         * modules/stdlib (Makefile.am): Update substitutions.
33214         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
33215         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
33216         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
33217         * modules/setenv-tests: New test.
33218         * modules/unsetenv-tests: Likewise.
33219         * tests/test-setenv.c: New file.
33220         * tests/test-unsetenv.c: Likewise.
33221
33222 2009-11-16  Jim Meyering  <meyering@redhat.com>
33223
33224         version-etc: relax license to LGPLv3+
33225         * modules/version-etc (License): Relax license.
33226
33227         better AC_REQUIRE expanded-before-required-warning avoidance
33228         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
33229         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
33230         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
33231         which is no longer needed.
33232
33233 2009-11-16  Eric Blake  <ebb9@byu.net>
33234
33235         test-freading: clean up temporary file
33236         * tests/test-freading.c (main): Remove file on success, and use
33237         ASSERT more liberally.
33238         Reported by Jim Meyering.
33239
33240 2009-11-16  Jim Meyering  <meyering@redhat.com>
33241
33242         avoid new AC_REQUIRE expanded-before-required warnings
33243         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
33244         merely using it.
33245         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
33246         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
33247
33248 2009-11-15  Simon Josefsson  <simon@josefsson.org>
33249
33250         * tests/test-xalloc-die.c: New file.
33251         * modules/xalloc-die-tests: New file.
33252         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
33253         XFAIL_TESTS so it can be appended by modules.
33254
33255 2009-11-15  Simon Josefsson  <simon@josefsson.org>
33256
33257         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
33258         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
33259
33260 2009-11-14  Eric Blake  <ebb9@byu.net>
33261
33262         fnmatch: avoid compiler warning
33263         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
33264         to silence compiler warning about mismatch signedness in ?:.
33265         Reported by Robert Millan.
33266
33267         intprops: add double-inclusion guard
33268         * lib/intprops.h: Allow idempotent includes.
33269         Suggested by Bruce Korb.
33270
33271         openat: detect Solaris fchownat bug
33272         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
33273         penalizing glibc chownat when only lchownat is broken.
33274         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
33275         trailing slash bugs.
33276         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
33277         * modules/openat-tests (Files): Include more files.
33278         (Depends-on): Add mgetgroups, sleep, stat-time.
33279         (configure.ac): Add additional checks.
33280         (Makefile.am): Build new test.
33281         * tests/test-fchownat.c: New file.
33282
33283         lchown: detect Solaris and FreeBSD bug
33284         * lib/lchown.c (rpl_lchown): Work around bug.
33285         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
33286         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33287         * modules/unistd (Makefile.am): Populate it.
33288         * lib/unistd.in.h (lchown): Update declaration.
33289         * doc/posix-functions/lchown.texi (lchown): Document the bug.
33290         * modules/lchown-tests: New file.
33291         * tests/test-lchown.h (test_lchown): Likewise.
33292         * tests/test-lchown.c (main): Likewise.
33293
33294         chown: detect Solaris and FreeBSD bug
33295         * lib/chown.c (rpl_chown): Work around bug.
33296         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
33297         (gl_PREREQ_CHOWN): Delete.
33298         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33299         * modules/unistd (Makefile.am): Populate it.
33300         * lib/unistd.in.h (chown): Update declaration.
33301         * lib/lchown.c (chown): Update client.
33302         * modules/lchown (Depends-on): Add lstat.
33303         * doc/posix-functions/chown.texi (chown): Document the bug.
33304         * doc/posix-functions/getgroups.texi (getgroups): Document
33305         getgroups pitfall.
33306         * modules/chown-tests: New file.
33307         * tests/test-chown.h (test_chown): Likewise.
33308         * tests/test-chown.c (main): Likewise.
33309
33310 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
33311
33312         gnulib-tool: correctly detect absence of m4 directories
33313         * gnulib-tool: Avoid extra newline on data passed to wc -l.
33314
33315 2009-11-14  Jim Meyering  <meyering@redhat.com>
33316
33317         maint.mk: Prohibit inclusion of "xalloc.h" without use.
33318         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
33319
33320 2009-11-14  John W. Eaton  <jwe@gnu.org>
33321
33322         strftime.h: wrap funtion declaration in extern "C" block
33323         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
33324
33325 2009-11-13  Eric Blake  <ebb9@byu.net>
33326
33327         getgroups: avoid compiler warning
33328         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
33329
33330         getgroups: work around FreeBSD bug
33331         * lib/getgroups.c (rpl_getgroups): Work around the bug.
33332         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
33333         * doc/posix-functions/getgroups.texi (getgroups): Document it.
33334         * tests/test-getgroups.c (main): Fix buffer overrun.
33335
33336         getgroups: avoid compilation failure
33337         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
33338         * modules/getgroups (Depends-on): Add stdint.
33339
33340 2009-11-13  Jim Meyering  <meyering@redhat.com>
33341
33342         test-getgroups: avoid compilation failure
33343         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
33344
33345 2009-11-13  Eric Blake  <ebb9@byu.net>
33346
33347         mgetgroups: new module, taken from coreutils
33348         * modules/mgetgroups: New file.
33349         * lib/mgetgroups.h: Likewise.
33350         * lib/mgetgroups.c (mgetgroups): Likewise.
33351         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
33352         * MODULES.html.sh (Users and groups): Mention it.
33353
33354         getgroups: don't expose GETGROUPS_T to user
33355         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
33356         an element at a time if GETGROUPS_T is wrong size.
33357         * lib/getugroups.h (getugroups): Change signature.
33358         * lib/unistd.in.h (getgroups): Likewise.
33359         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
33360         signature needs fixing.
33361         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
33362         AC_TYPE_GETGROUPS.
33363         * modules/group-member (Depends-on): Add getgroups.
33364         * lib/group-member.c (group_info, get_group_info): Use gid_t.
33365         (group_member): Rely on getgroups replacement.
33366         * lib/getugroups.c (getugroups): Use gid_t.
33367         * tests/test-getgroups.c (main): Likewise.
33368         * NEWS: Mention the signature change.
33369         * doc/posix-functions/getgroups.texi (getgroups): Mention the
33370         problem with signature.
33371         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
33372         GETGROUPS_T is still useful for setgroups.
33373
33374         getgroups, getugroups: provide stubs for mingw
33375         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
33376         * lib/getugroups.c (getugroups): Likewise.
33377         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
33378         function.  Modernize replacement scheme.
33379         (gl_PREREQ_GETGROUPS): Delete.
33380         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
33381         * modules/getgroups (configure.ac): Declare witness.
33382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
33383         * modules/unistd (Depends-on): Substitute witness.
33384         * lib/unistd.in.h (getgroups): Declare replacement.
33385
33386         getgroups: avoid calling exit
33387         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
33388         drop xalloc.
33389         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
33390         dependencies.
33391         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
33392         exiting, in the rare case of malloc failure.
33393
33394         getgroups: fix logic error
33395         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
33396         has more than 20 groups.
33397         * modules/getgroups-tests: New test.
33398         * tests/test-getgroups.c: New file.
33399
33400 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33401
33402         * tests/test-base64.c: Improve.
33403
33404 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33405
33406         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
33407         Blake <ebb9@byu.net>.
33408
33409 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33410
33411         * tests/test-xvasprintf.c: Add %s%s related checks.
33412
33413 2009-11-12  Eric Blake  <ebb9@byu.net>
33414
33415         version-etc: match standards.texi style
33416         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
33417         and use <> only for URLs.
33418
33419 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
33420
33421         fts: do not fail on a submount during traversal
33422         * lib/fts.c (fts_build): Read the stat info again after opening
33423         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
33424         Original report at http://bugzilla.redhat.com/501848.
33425
33426 2009-11-12  Jim Meyering  <meyering@redhat.com>
33427
33428         bootstrap: sync from coreutils
33429         * build-aux/bootstrap (bootstrap_epilogue): New function.
33430         Use git_modules_config in one more place.  This make bootstrap's
33431         --gnulib-srcdir option more useful for testing.
33432
33433         bootstrap: generalize autoheader check
33434         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
33435         AC_CONFIG_HEADERS.
33436
33437 2009-11-11  Eric Blake  <ebb9@byu.net>
33438
33439         mkfifoat: use new modules for Solaris and BSD bugs
33440         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
33441         * lib/mkfifoat.c (mknodat): Split...
33442         * lib/mknodat.c (mknodat): ...into new file.
33443         * modules/mkfifoat (Files): Ship new file.
33444         (Depends-on): Add mkfifo, mknod.
33445         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
33446         (Depends-on): Add symlink.
33447         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
33448         redundant with test_mkfifo.h.
33449         (do_mkfifoat, do_mknodat): New helpers.
33450
33451         mknod: new module
33452         * modules/mknod: New file.
33453         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
33454         * lib/mknod.c (mknod): Likewise.
33455         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
33456         defaults.
33457         * modules/sys_stat (Makefile.am): Substitute them.
33458         * lib/sys_stat.in.h (mknod): Declare replacement.
33459         * MODULES.html.sh (Support for systems lacking POSIX:2008):
33460         Document it.
33461         * doc/posix-functions/mknod.texi (mknod): Likewise.
33462         * modules/mknod-tests: New test.
33463         * tests/test-mknod.c: Likewise.
33464
33465         mkfifo: new module
33466         * modules/mkfifo: New file.
33467         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
33468         * lib/mkfifo.c (mkfifo): Likewise.
33469         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
33470         defaults.
33471         * modules/sys_stat (Makefile.am): Substitute them.
33472         * lib/sys_stat.in.h (mkfifo): Declare replacement.
33473         * MODULES.html.sh (Support for systems lacking POSIX:2008):
33474         Document it.
33475         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
33476         * modules/mkfifo-tests: New test.
33477         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
33478         from test-mkfifoat.c.
33479         * tests/test-mkfifo.c: New file.
33480
33481         readlink: detect FreeBSD bug
33482         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
33483         slash on symlink.
33484         * doc/posix-functions/readlink.texi (readlink): Document the bug.
33485         * tests/test-readlink.h (test_readlink): Enhance test.
33486
33487         symlink: detect FreeBSD bug
33488         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
33489         slash on symlink.
33490         * doc/posix-functions/symlink.texi (symlink): Document the bug.
33491         * tests/test-symlink.h (test_symlink): Enhance test.
33492
33493 2009-11-10  Eric Blake  <ebb9@byu.net>
33494
33495         link: detect FreeBSD bug
33496         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
33497         symlink.
33498         * doc/posix-functions/link.texi (link): Document the bug.
33499         * tests/test-link.h (test_link): Enhance test.
33500         * tests/test-linkat.c (main): Update caller.
33501
33502         unlink, remove: detect FreeBSD bug
33503         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
33504         slash on symlink.
33505         * doc/posix-functions/unlink.texi (unlink): Document the bug.
33506         * doc/posix-functions/remove.texi (remove): Likewise.
33507         * tests/test-unlink.h (test_unlink): Enhance test.
33508         * tests/test-remove.c (main): Likewise.
33509
33510 2009-11-09  Eric Blake  <ebb9@byu.net>
33511
33512         rename: detect FreeBSD bug
33513         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
33514         slash on symlink.
33515         * modules/renameat-tests (Depends-on): Add filenamecat.
33516         * tests/test-rename.h (test_rename): Allow one more errno.
33517         * tests/test-renameat.c (main): Likewise.
33518         * doc/posix-functions/rename.texi (rename): Document the bug.
33519
33520         open: detect FreeBSD bug
33521         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
33522         symlink.
33523         * doc/posix-functions/open.texi (open): Document the bug.
33524         * doc/posix-functions/utimes.texi (utimes): Likewise.
33525         * tests/test-open.h (test_open): Add parameters, and test symlink
33526         handling.
33527         * tests/test-open.c (main): Adjust caller.
33528         * tests/test-fcntl-safer.c (main): Likewise.
33529         * modules/open-tests (Depends-on): Add stdbool, symlink.
33530         * modules/fcntl-safer-tests (Depends-on): Likewise.
33531         * tests/test-openat.c (main): Add test-open tests.
33532
33533         stat: detect FreeBSD bug
33534         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
33535         symlink.
33536         * doc/posix-functions/stat.texi (stat): Document the bug.
33537         * tests/test-stat.h (test_stat_func): Add argument.
33538         * tests/test-stat.c (main): Adjust caller.
33539         * tests/test-fstatat.c (main): Likewise.
33540         * modules/stat-tests (Depends-on): Add stdbool, symlink.
33541         Reported by Jim Meyering.
33542
33543 2009-11-09  James Youngman  <jay@gnu.org>
33544
33545         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
33546         * lib/strftime.c: Correct placement of #include "ignore-value.h".
33547
33548 2009-11-08  Jim Meyering  <meyering@redhat.com>
33549
33550         utimens: remove invalid futimesat call
33551         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
33552         It used the file descriptor of the target file as the DIR_FD
33553         parameter and NULL as the file name.  That caused failure with
33554         errno == EFAULT on FreeBSD-8.0-rc2
33555
33556 2009-11-07  Eric Blake  <ebb9@byu.net>
33557
33558         fflush, freadseek: use fseeko, not fseek
33559         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
33560         (clear_ungetc_buffer): Avoid potential problems on large files.
33561         * lib/freadseek.c (freadseek): Likewise.
33562         * modules/freadseek (Depends-on): Add fseeko.
33563         * modules/fseek (configure.ac): Set a witness.
33564         * tests/test-fflush.c (main): Use fseeko.
33565         * tests/test-fpurge.c (fseek): Disable link warning.
33566         * tests/test-freadable.c (fseek): Likewise.
33567         * tests/test-freading.c (fseek): Likewise.
33568         * tests/test-fseeko.c (fseek): Likewise.
33569         * tests/test-ftell.c (fseek): Likewise.
33570         * tests/test-ftello.c (fseek): Likewise.
33571         * tests/test-fwritable.c (fseek): Likewise.
33572         * tests/test-fwriting.c (fseek): Likewise.
33573
33574 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33575
33576         * modules/memchr (Depends-on): Drop getpagesize dependency.
33577
33578 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33579
33580         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
33581         Reported by Ludovic Courtès.
33582         * build-aux/pmccabe2html: Improve example usage.
33583         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
33584
33585 2009-11-06  Jim Meyering  <meyering@redhat.com>
33586
33587         do-release-commit-and-tag: New module.
33588         Automate the release-commit and tag process.
33589         * build-aux/do-release-commit-and-tag: New script, from coreutils.
33590         * modules/do-release-commit-and-tag: New file.
33591         * MODULES.html.sh (Support for maintaining and releasing): Add it.
33592
33593 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33594
33595         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
33596         because test-select.c uses inet_pton.
33597
33598 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33599
33600         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
33601         GETADDRINFO_LIB.  Bump serial number.
33602         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
33603         Suggested by Eric Blake <ebb9@byu.net>.
33604
33605 2009-11-05  Eric Blake  <ebb9@byu.net>
33606
33607         strtod: detect darwin bug
33608         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
33609         Reported by Leo Davis.
33610
33611         freopen-safer: new module
33612         * modules/freopen-safer: New module.
33613         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
33614         * lib/freopen-safer.c (freopen_safer): New file.
33615         * lib/stdio-safer.h (freopen_safer): New declaration.
33616         * lib/stdio--.h (freopen): New override.
33617         * MODULES.html.sh (File stream based Input/Output): Mention it.
33618         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
33619         freopen-safer module.
33620         * doc/posix-functions/stderr.texi (stderr): Likewise.
33621         * doc/posix-functions/stdin.texi (stdin): Likewise.
33622         * doc/posix-functions/stdout.texi (stdout): Likewise.
33623         * modules/freopen-safer-tests: New test.
33624         * tests/test-reopen-safer.c: New file.
33625
33626 2009-11-05  Jim Meyering  <meyering@redhat.com>
33627
33628         maint.mk: Prohibit inclusion of "close-stream.h" without use.
33629         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
33630
33631 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33632
33633         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
33634
33635 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33636
33637         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
33638
33639 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33640
33641         Fix link error.
33642         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33643         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33644
33645 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33646
33647         * tests/test-func.c: Also test value of __func__.
33648
33649 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33650
33651         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
33652         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
33653
33654 2009-11-05  Bruno Haible  <bruno@clisp.org>
33655
33656         Fix link error.
33657         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33658         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33659         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
33660
33661 2009-11-05  Bruno Haible  <bruno@clisp.org>
33662
33663         Tests for module 'inet_pton'.
33664         * modules/inet_pton-tests: New file.
33665         * tests/test-inet_pton.c: New file.
33666
33667 2009-11-05  Bruno Haible  <bruno@clisp.org>
33668
33669         Tests for module 'inet_ntop'.
33670         * modules/inet_ntop-tests: New file.
33671         * tests/test-inet_ntop.c: New file.
33672
33673 2009-11-04  Eric Blake  <ebb9@byu.net>
33674
33675         stdlib-safer: wrap all mkstemp variants
33676         * modules/mkostemp (configure.ac): Set witness.
33677         * modules/mkostemps (configure.ac): Likewise.
33678         * modules/mkstemps (configure.ac): Likewise.
33679         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
33680         (mkstemps_safer): Wrap more functions.
33681         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
33682         wrapping.
33683         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
33684         (mkstemps_safer): Implement the wrappers.
33685
33686         mkstemps, mkostemps: new modules
33687         * modules/mkostemps: New module.
33688         * modules/mkstemps: Likewise.
33689         * lib/mkostemps.c (mkostemps): New file.
33690         * lib/mkstemps.c (mkstemps): Likewise.
33691         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
33692         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
33693         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
33694         * modules/stdlib (Makefile.am): Substitute them.
33695         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
33696         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
33697         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
33698         * doc/gnulib.texi (Glibc stdlib.h): Include them.
33699         * MODULES.html.sh (File system functions): Mention them.
33700
33701         tempname: resync from glibc
33702         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
33703         same values for __GT_FILE as glibc.  Abort even when assertions
33704         are disabled.
33705         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
33706         match its value otherwise.  Allow idempotent inclusion.
33707         * lib/mkdtemp.c (mkdtemp): Adjust caller.
33708         * lib/mkostemp.c (mkostemp): Likewise.
33709         * lib/mkstemp.c (mkstemp): Likewise.
33710         * lib/tmpfile.c (tmpfile): Likewise.
33711         * NEWS: Document this.
33712
33713         utimens: fix use of futimens on older Linux
33714         * lib/utimens.c (fdutimens): Use updated, rather than original,
33715         timespec to avoid bug in older Linux kernel.
33716         Reported by Simon Josefsson.
33717
33718 2009-11-04  Bruno Haible  <bruno@clisp.org>
33719
33720         Make num_processors more flexible and consistent.
33721         * lib/nproc.h (enum nproc_query): New type.
33722         (num_processors): Add a 'query' argument.
33723         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
33724         (num_processors): Add a 'query' argument. Test the value of the
33725         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
33726         mingw, count the number of CPUs available for the current process.
33727         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
33728         Check for sched_getaffinity and sched_getaffinity_np.
33729         * modules/nproc (Depends-on): Add c-ctype, extensions.
33730         * NEWS: Mention the change.
33731
33732 2009-11-03  Bruno Haible  <bruno@clisp.org>
33733
33734         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
33735
33736 2009-11-03  Jim Meyering  <meyering@redhat.com>
33737
33738         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
33739         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
33740         if it is defined.
33741
33742 2009-11-02  Eric Blake  <ebb9@byu.net>
33743
33744         mktime, timegm: share common declaration
33745         * lib/mktime-internal.h: New file.
33746         * lib/mktime.c: Use it rather than open-coding a declaration.
33747         * lib/timegm.c: Likewise.
33748         * modules/mktime (Files): Ship it.
33749         * modules/timegm (Files): Likewise.
33750         Suggested by Bruno Haible.
33751
33752         test-update-copyright: update test to match script changes
33753         * tests/test-update-copyright.sh: Avoid hard-coding perl
33754         location.  Don't update *.bak created by earlier runs.
33755
33756 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
33757             Simon Josefsson  <simon@josefsson.org>
33758             Bruno Haible  <bruno@clisp.org>
33759
33760         Fix link error on Solaris 8.
33761         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
33762         also in libnsl. Define also INET_PTON_LIB.
33763         * modules/inet_pton (Link): New section.
33764
33765 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33766             Bruno Haible  <bruno@clisp.org>
33767
33768         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
33769         * modules/inet_ntop (Link): New section.
33770         Reported by Boyan Kasarov <bkasarov@gmail.com>.
33771
33772 2009-11-02  Eric Blake  <ebb9@byu.net>
33773
33774         maint: avoid compiler warnings in m4 macros
33775         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
33776         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
33777
33778 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33779
33780         * m4/pmccabe2html.m4: Remove file.
33781         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
33782         function.  Change maintainer.
33783         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
33784         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
33785         Courtès).
33786
33787 2009-10-31  Eric Blake  <ebb9@byu.net>
33788
33789         fseeko: fix m4 regression
33790         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
33791         regression from 2009-10-27.
33792         Reported by Ralf Wildenhues.
33793
33794 2009-10-31  Jim Meyering  <meyering@redhat.com>
33795
33796         inttostr: aesthetics and improved (compile-time) safety
33797         Define inttype_is_signed rather than inttype_is_unsigned,
33798         since the sole use is via "#if inttype_is_signed".
33799         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
33800         inttype_is_unsigned.
33801         * lib/offtostr.c (inttype_is_signed): Likewise.
33802         * lib/uinttostr.c (inttype_is_signed): Likewise.
33803         * lib/umaxtostr.c (inttype_is_signed): Likewise.
33804         * lib/inttostr.c (inttostr): Use verify to cross-check the
33805         inttype_is_signed value and the signedness of the actual type.
33806         * modules/inttostr (Depends-on): Add verify.
33807
33808 2009-10-30  Eric Blake  <ebb9@byu.net>
33809
33810         build: avoid compiler warnings
33811         * lib/fchmodat.c (lchmod): Mark unused variables.
33812         * lib/getopt.c (_getopt_initialize): Likewise.
33813         * lib/mktime.c (__mktime_internal): Provide prototype.
33814         * lib/inttostr.c (inttostr): Avoid compiler warning even with
33815         older gcc that do not understand #pragma GCC diagnostic.
33816         * lib/uinttostr.c (inttype_is_unsigned): Define.
33817         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
33818
33819 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33820
33821         stat: fix compilation on AIX
33822         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
33823         only see struct stat64.
33824
33825 2009-10-30  Eric Blake  <ebb9@byu.net>
33826
33827         exclude: make more robust
33828         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
33829         rather than masking a coding bug.
33830         Suggested by Bruno Haible.
33831
33832 2009-10-30  Jim Meyering  <meyering@redhat.com>
33833
33834         perl scripts: remove #!/usr/bin/perl in favor of more portable...
33835         Rather than putting #!/usr/bin/perl on the first line,
33836         start with a variant of what's recommended by "man perlrun" that
33837         invokes the first "perl" program from your shell's search path.
33838         * build-aux/gitlog-to-changelog: Replace #!... as above.
33839         Add a "Local Variables" perl mode setting.
33840         Prompted by a patch from Ludovic Courtès.
33841         Improved by Eric Blake.
33842         * build-aux/useless-if-before-free: Likewise.
33843         * build-aux/announce-gen: Likewise.
33844         * build-aux/update-copyright: Likewise.
33845
33846 2009-10-29  Eric Blake  <ebb9@byu.net>
33847
33848         filenamecat-lgpl: adjust clients
33849         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33850         filenamecat.
33851         * modules/renameat (Depends-on): Likewise.
33852
33853         filenamecat: split into filenamecat-lgpl
33854         * modules/filenamecat-lgpl: New module.
33855         * modules/filenamecat (Files): Move library-safe files into
33856         filenamecat-lgpl.
33857         (Depends-on): Add filenamecat-lgpl.
33858         (configure.ac): Declare witness.
33859         * lib/filenamecat.h (file_name_concat): Only declare when using
33860         GPL module.
33861         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33862         Move...
33863         * lib/filenamecat-lgpl.c: ...into new file.
33864         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33865         (gl_FILE_NAME_CONCAT): Use it.
33866         * MODULES.html.sh (File system functions): Mention new module.
33867
33868         argp: avoid memory leak
33869         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33870         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33871         base_name, since the latter malloc()s and can call exit().
33872         Leak introduced 2006-07-03.
33873
33874         dirname-lgpl: adjust clients that don't need full dirname
33875         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33876         * modules/filenamecat (Depends-on): Likewise.
33877         * modules/linkat (Depends-on): Likewise.
33878         * modules/mkancesdirs (Depends-on): Likewise.
33879         * modules/mkdir (Depends-on): Likewise.
33880         * modules/openat (Depends-on): Likewise.
33881         * modules/savewd (Depends-on): Likewise.
33882         * modules/rename (Depends-on): Likewise.
33883         (License): Relax license.
33884         * modules/mkdir-tests (Depends-on): Drop progname.
33885         (Makefile.am): Delete unneeded LDADD.
33886         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33887
33888         dirname: split into dirname-lgpl
33889         * modules/dirname-lgpl: New module.
33890         * modules/dirname (Files): Move library-safe files into
33891         dirname-lgpl.
33892         (Depends-on): Add dirname-lgpl.
33893         (configure.ac): Declare witness.
33894         * modules/double-slash-root (License): Relax license.
33895         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33896         module.
33897         * lib/dirname.c (dir_len, mdir_name): Move...
33898         * lib/dirname-lgpl.c: ...into new file.
33899         * lib/basename.c (last_component, base_len): Move...
33900         * lib/basename-lgpl.c: ...into new file.
33901         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33902         (gl_DIRNAME): Use it.
33903         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33904         Mention new module.
33905         * modules/dirname-tests (Depends-on): Add progname.
33906         * tests/test-dirname.c (program_name): Delete.
33907
33908         mkdir: make safe for libraries
33909         * modules/mkdir (Depends-on): Drop xalloc.
33910         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33911         exit.
33912
33913         tests: avoid some compiler warnings
33914         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33915         literals.
33916         * tests/test-memchr.c (main): Avoid type mismatch.
33917         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33918         * tests/test-base64.c (main): Likewise.
33919         * tests/test-getdelim.c (main): Likewise.
33920         * tests/test-gethostname.c (main): Likewise.
33921         * tests/test-getline.c (main): Likewise.
33922         * tests/test-netinet_in.c (main): Likewise.
33923         * tests/test-select.c (open_server_socket, main): Likewise.
33924         * tests/test-select-stdin.c (main): Likewise.
33925         * tests/test-sockets.c (main): Likewise.
33926         * tests/test-strsignal.c (main): Likewise.
33927         * tests/test-sys_select.c (main): Likewise.
33928         * tests/test-sys_socket.c (main): Likewise.
33929         * tests/test-u64.c (main): Likewise.
33930         * tests/test-xfprintf-posix.c (main): Likewise.
33931         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33932
33933         sockets: avoid compiler warning
33934         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33935
33936         maint: detect usage(1) and other suspicious exits
33937         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33938
33939 2009-10-29  Jim Meyering  <meyering@redhat.com>
33940
33941         timespec: long-to-int truncation could make timespec_cmp malfunction
33942         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33943         a multiple of 2^32 nanoseconds as no difference.
33944
33945 2009-10-28  Jim Meyering  <meyering@redhat.com>
33946
33947         fprintftime: wrap macro code argument in "do {...} while(0)"
33948         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33949         cpy macro must be a statement that can be followed by a semicolon.
33950         Now that the else clause contains a comment and is hence longer
33951         than one line, I require curly braces.  That in turn requires
33952         that we wrap this code block in the standard do...while(0).
33953
33954         fprintftime: remove stray semicolon from previous change
33955         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33956
33957         fprintftime: avoid a warning about ignored fwrite return value
33958         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33959         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33960         that is unsafe.
33961         * modules/fprintftime (Depends-on): Add ignore-value.
33962
33963         exclude: avoid an unwarranted warning
33964         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33965
33966 2009-10-27  Eric Blake  <ebb9@byu.net>
33967
33968         fseek: avoid compilation failure when fflush is replaced
33969         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33970         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33971         module is in use.
33972         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33973         module is not in use; since REPLACE_FSEEK worked otherwise.
33974         (GNULIB_FTELLO): Likewise for ftell.
33975         Reported by Ian Beckwith and others.
33976
33977 2009-10-27  Bruno Haible  <bruno@clisp.org>
33978
33979         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33980         Reported by Jim Meyering.
33981
33982 2009-10-27  Jim Meyering  <jim@meyering.net>
33983             Bruno Haible  <bruno@clisp.org>
33984
33985         Avoid warning despite dropping the return value of fwrite.
33986         * lib/unicodeio.c: Include ignore-value.h.
33987         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33988         * modules/unicodeio (Depends-on): Add ignore-value.
33989
33990 2009-10-26  Eric Blake  <ebb9@byu.net>
33991
33992         areadlinkat: fix fallback path
33993         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33994         pointer and zero.
33995
33996 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33997
33998         Use a better IO block size for modern systems
33999         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
34000         * lib/md2.c: Likewise.
34001         * lib/md4.c: Likewise.
34002         * lib/md5.c: Likewise.
34003         * lib/sha1.c: Likewise.
34004         * lib/sha256.c: Likewise.
34005         * lib/sha512.c: Likewise.
34006
34007 2009-10-22  Eric Blake  <ebb9@byu.net>
34008
34009         tests: avoid several compiler warnings
34010         * tests/test-getcwd.c (main): Avoid buffer underflow.
34011         * tests/test-getdate.c (main): String literals are not safe with
34012         putenv, so use setenv.  Declare unused argument.
34013         * modules/getdate-tests (Depends-on): Add setenv.
34014         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
34015         problems with string literals in char *.
34016         * tests/test-hash.c (main): Avoid shadowing declaration.
34017         (insert_new): Treat string literals as char const *.
34018         * tests/test-getopt.h (test_getopt): Likewise.
34019         (getopt_loop): Alter types to minimize casting elsewhere.
34020         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
34021         (test_getopt_long_posix): Likewise.
34022         (do_getopt_long): Add wrapper to minimize casting.
34023         * tests/test-atexit.c (clear_temp_file): Use void.
34024         * tests/test-areadlink-with-size.c (main): Declare unused
34025         arguments.
34026         * tests/test-areadlink.c (main): Likewise.
34027         * tests/test-areadlinkat-with-size.c (main): Likewise.
34028         * tests/test-areadlinkat.c (main): Likewise.
34029         * tests/test-canonicalize-lgpl.c (main): Likewise.
34030         * tests/test-canonicalize.c (main): Likewise.
34031         * tests/test-dirent-safer.c (main): Likewise.
34032         * tests/test-dirname.c (main): Likewise.
34033         * tests/test-dup2.c (main): Likewise.
34034         * tests/test-fchdir.c (main): Likewise.
34035         * tests/test-fcntl-h.c (main): Likewise.
34036         * tests/test-fcntl-safer.c (main): Likewise.
34037         * tests/test-fdopendir.c (main): Likewise.
34038         * tests/test-fdutimensat.c (main): Likewise.
34039         * tests/test-fflush.c (main): Likewise.
34040         * tests/test-filenamecat.c (main): Likewise.
34041         * tests/test-filevercmp.c (main): Likewise.
34042         * tests/test-fopen-safer.c (main): Likewise.
34043         * tests/test-fopen.c (main): Likewise.
34044         * tests/test-fpending.c (main): Likewise.
34045         * tests/test-fpurge.c (main): Likewise.
34046         * tests/test-freading.c (main): Likewise.
34047         * tests/test-fstatat.c (main): Likewise.
34048         * tests/test-fsync.c (main): Likewise.
34049         * tests/test-futimens.c (main): Likewise.
34050         * tests/test-getndelim2.c (main): Likewise.
34051         * tests/test-gettimeofday.c (main): Likewise.
34052         * tests/test-getopt.c (main): Likewise.
34053         * tests/test-i-ring.c (main): Likewise.
34054         * tests/test-inttypes.c (main): Likewise.
34055         * tests/test-link.c (main): Likewise.
34056         * tests/test-lstat.c (main): Likewise.
34057         * tests/test-math.c (main): Likewise.
34058         * tests/test-md5.c (main): Likewise.
34059         * tests/test-memchr2.c (main): Likewise.
34060         * tests/test-memrchr.c (main): Likewise.
34061         * tests/test-mkdir.c (main): Likewise.
34062         * tests/test-mkdirat.c (main): Likewise.
34063         * tests/test-mkfifoat.c (main): Likewise.
34064         * tests/test-open.c (main): Likewise.
34065         * tests/test-openat-safer.c (main): Likewise.
34066         * tests/test-openat.c (main): Likewise.
34067         * tests/test-quotearg.c (main): Likewise.
34068         * tests/test-rawmemchr.c (main): Likewise.
34069         * tests/test-readlink.c (main): Likewise.
34070         * tests/test-remove.c (main): Likewise.
34071         * tests/test-rename.c (main): Likewise.
34072         * tests/test-renameat.c (main): Likewise.
34073         * tests/test-rmdir.c (main): Likewise.
34074         * tests/test-sha1.c (main): Likewise.
34075         * tests/test-signal.c (main): Likewise.
34076         * tests/test-sigaction.c (main): Likewise.
34077         * tests/test-stat.c (main): Likewise.
34078         * tests/test-stat-time.c (main): Likewise.
34079         * tests/test-stddef.c (main): Likewise.
34080         * tests/test-stdint.c (main): Likewise.
34081         * tests/test-stdio.c (main): Likewise.
34082         * tests/test-stdlib.c (main): Likewise.
34083         * tests/test-strchrnul.c (main): Likewise.
34084         * tests/test-strerror.c (main): Likewise.
34085         * tests/test-string.c (main): Likewise.
34086         * tests/test-strtod.c (main): Likewise.
34087         * tests/test-strverscmp.c (main): Likewise.
34088         * tests/test-symlink.c (main): Likewise.
34089         * tests/test-symlinkat.c (main): Likewise.
34090         * tests/test-sys_stat.c (main): Likewise.
34091         * tests/test-sys_time.c (main): Likewise.
34092         * tests/test-time.c (main): Likewise.
34093         * tests/test-unistd.c (main): Likewise.
34094         * tests/test-unlink.c (main): Likewise.
34095         * tests/test-unlinkat.c (main): Likewise.
34096         * tests/test-utimens.c (main): Likewise.
34097         * tests/test-utimensat.c (main): Likewise.
34098         * tests/test-version-etc.c (main): Likewise.
34099         * tests/test-wchar.c (main): Likewise.
34100         * tests/test-wctype.c (main): Likewise.
34101         * tests/test-xprintf-posix.c (main): Likewise.
34102         * tests/test-posixtm.c (main): Likewise.
34103         (STREQ): Delete unused macro.
34104         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
34105         shadowed variables.
34106         * tests/test-memchr.c (main): Likewise.
34107
34108 2009-10-21  Eric Blake  <ebb9@byu.net>
34109
34110         areadlinkat: avoid failure on older glibc
34111         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
34112         rather than mis-comparing 0 against FUNC_RESULT of char*.
34113
34114 2009-10-21  Bruno Haible  <bruno@clisp.org>
34115
34116         * modules/stpncpy (License): Relicense under LGPLv2+.
34117         Reported by David Lutterkort <lutter@redhat.com>.
34118
34119 2009-10-20  Eric Blake  <ebb9@byu.net>
34120
34121         utimensat: work around Solaris 9 bug
34122         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
34123         has trailing slash bugs.
34124         * tests/test-lutimens.h (test_lutimens): Enhance test.
34125         * tests/test-utimens.h (test_utimens): Likewise.
34126         * doc/posix-functions/utime.texi (utime): Enhance documentation.
34127         * doc/posix-functions/utimes.texi (utimes): Likewise.
34128         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34129         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
34130         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
34131         * doc/posix-functions/futimens.texi (futimens): Likewise.
34132
34133         fdutimensat: new module
34134         * modules/fdutimensat: New file.
34135         * lib/fdutimensat.c (fdutimensat): Likewise.
34136         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
34137         * MODULES.html.sh (File system functions): Mention module.
34138         * modules/fdutimensat-tests: New test.
34139         * tests/test-fdutimensat.c: Likewise.
34140
34141         doc: regenerate INSTALL
34142         * doc/INSTALL: Reflect recent autoconf update.
34143         * doc/INSTALL.ISO: Likewise.
34144         * doc/INSTALL.UTF-8: Likewise.
34145
34146 2009-10-20  Pádraig Brady  <P@draigBrady.com>
34147
34148         acl: warn if ACL support is not detected
34149         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
34150
34151 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
34152
34153         * lib/nproc.h: Add extern "C" block for C++.
34154
34155 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
34156             Bruno Haible  <bruno@clisp.org>
34157
34158         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
34159         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
34160         * doc/posix-functions/isalpha.texi: Likewise.
34161         * doc/posix-functions/isblank.texi: Likewise.
34162         * doc/posix-functions/iscntrl.texi: Likewise.
34163         * doc/posix-functions/isdigit.texi: Likewise.
34164         * doc/posix-functions/isgraph.texi: Likewise.
34165         * doc/posix-functions/islower.texi: Likewise.
34166         * doc/posix-functions/isprint.texi: Likewise.
34167         * doc/posix-functions/ispunct.texi: Likewise.
34168         * doc/posix-functions/isspace.texi: Likewise.
34169         * doc/posix-functions/isupper.texi: Likewise.
34170         * doc/posix-functions/isxdigit.texi: Likewise.
34171
34172 2009-10-18  Bruno Haible  <bruno@clisp.org>
34173
34174         Tests for module 'isblank'.
34175         * modules/isblank-tests: New file.
34176         * tests/test-isblank.c: New file.
34177
34178         New module 'isblank'.
34179         * lib/isblank.c: New file.
34180         * m4/isblank.m4: New file.
34181         * modules/isblank: New file.
34182         * doc/posix-functions/isblank.texi: Mention the new module.
34183
34184 2009-10-18  Bruno Haible  <bruno@clisp.org>
34185
34186         New module 'ctype'.
34187         * lib/ctype.in.h: New file.
34188         * m4/ctype.m4: New file.
34189         * modules/ctype: New file.
34190         * doc/posix-headers/ctype.texi: Mention the new module.
34191
34192 2009-10-18  Jim Meyering  <meyering@redhat.com>
34193
34194         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
34195         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
34196         right after its initialization, rather than farther down.
34197         Keeping these in close proximity makes it easier to ensure
34198         that each such variable is initialized.  E.g.,
34199
34200             LIB_CLOCK_GETTIME=
34201             AC_SUBST([LIB_CLOCK_GETTIME])
34202
34203         This change also increments these serial numbers.
34204         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
34205         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
34206         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
34207
34208 2009-10-18  Bruno Haible  <bruno@clisp.org>
34209
34210         Don't let environment variables perturb build.
34211         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
34212         (gl_PREREQ_GETHRXTIME): ... not here.
34213
34214 2009-10-18  Bruno Haible  <bruno@clisp.org>
34215
34216         Avoid symlink attack in localcharset module.
34217         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
34218         (O_NOFOLLOW): Define fallback.
34219         (get_charset_aliases): Don't open the file if it is a symbolic link.
34220         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
34221         gl_FCNTL_H.
34222         (gl_FCNTL_H): Require it.
34223         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
34224         * modules/localcharset (Files): Add m4/fcntl_h.m4.
34225         Reported by Fergal Glynn <fglynn@veracode.com>.
34226
34227 2009-10-18  Bruno Haible  <bruno@clisp.org>
34228
34229         Implement nproc for mingw.
34230         * lib/nproc.c: Include <windows.h>
34231         (num_processors): On native Windows platforms, try GetSystemInfo.
34232
34233 2009-10-18  Bruno Haible  <bruno@clisp.org>
34234
34235         Implement nproc for IRIX.
34236         * lib/nproc.c: Include <sys/sysmp.h>.
34237         (num_processors): On IRIX systems, try sysmp.
34238         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
34239
34240 2009-10-18  Bruno Haible  <bruno@clisp.org>
34241
34242         Implement nproc for HP-UX.
34243         * lib/nproc.c: Include <sys/pstat.h>
34244         (num_processors): On HP-UX systems, try pstat_getdynamic.
34245         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
34246         pstat_getdynamic.
34247
34248 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
34249             Bruno Haible  <bruno@clisp.org>
34250
34251         Implement nproc for NetBSD, OpenBSD.
34252         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
34253         (ARRAY_SIZE): New macro.
34254         (num_processors): On BSD systems, try sysctl of HW_NCPU.
34255         * m4/nproc.m4: New file.
34256         * modules/nproc (Files): Add m4/nproc.m4.
34257         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
34258         (Makefile.am): Instead, augment lib_SOURCES.
34259
34260 2009-10-18  Bruno Haible  <bruno@clisp.org>
34261
34262         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
34263         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
34264         sys/param.h.
34265
34266 2009-10-16  Eric Blake  <ebb9@byu.net>
34267
34268         utimensat: new module
34269         * modules/utimensat: New file.
34270         * lib/utimensat.c (utimensat): Likewise.
34271         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34272         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
34273         so we can work around Linux bugs.
34274         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34275         * modules/sys_stat (Makefile.am): Substitute them.
34276         * lib/sys_stat.in.h (utimensat): Declare it.
34277         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34278         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34279         * modules/utimensat-tests: New test.
34280         * tests/test-utimensat.c: Likewise.
34281
34282         utimens: let lutimens work on non-symlinks
34283         * lib/utimens.c (lutimens): Fall back to utimens rather than
34284         failing with ENOSYS, when file is not a symlink.
34285         (utimens): Reduce redirection.
34286         * tests/test-lutimens.h (test_lutimens): Update test to cover
34287         non-symlinks.
34288         * tests/test-utimens.h (test_utimens): Update test to cover
34289         symlinks.
34290         * tests/test-utimens.c (main): Update caller.
34291
34292         utimens: cache whether utimensat syscall works
34293         * lib/utimens.c (utimensat_works_really): New cache variable.
34294         (fdutimens, lutimens): Use it to avoid failing syscall.
34295
34296         test-stat-time, test-utimens: improve portability
34297         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
34298         ext4 on alpha, and for cygwin.
34299         * tests/test-utimens-common.h: New file.
34300         (nap): Factor delays into single function.
34301         * tests/test-lutimens.h (test_lutimens): Use new header.
34302         * tests/test-futimens.h (test_futimens): Likewise.
34303         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
34304         timestamps to occur from same machine, as was done previously for
34305         test_utimens.
34306         * modules/utimens-tests (Files): Ship new file.
34307         * modules/futimens-tests (Files): Likewise.
34308         Reported in part by Jim Meyering.
34309
34310         sys_stat: sort replacement declarations
34311         * lib/sys_stat.in.h: Sort declarations.
34312         * lib/futimens.c (futimens): Fix typo.
34313
34314 2009-10-15  Jim Meyering  <meyering@redhat.com>
34315
34316         don't let environment settings perturb build
34317         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
34318         could cause a configure-time and/or build-time malfunction.
34319         Typically, a configure-time function-in-library test is performed
34320         via code like this:
34321
34322           LIB_VAR=
34323           AC_SUBST([LIB_VAR])
34324           prefix_saved_LIBS=$LIBS
34325             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
34326                        [test "$ac_cv_search_FUNC" = "none required" ||
34327                         LIB_VAR=$ac_cv_search_FUNC])
34328           LIBS=$prefix_saved_LIBS
34329
34330         However, in each of the files affected by this change, the LIB_VAR=
34331         initialization was omitted.  Thus, when set in the environment, its
34332         value would propagate into generated Makefiles when FUNC is not found
34333         in LIB_NAME.
34334         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
34335         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
34336         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
34337
34338 2009-10-14  Eric Blake  <ebb9@byu.net>
34339
34340         fchdir: avoid infinite recursion in mingw
34341         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
34342         recursing.
34343
34344         test-stat-time: port to mingw
34345         * tests/test-stat-time.c (force_unlink): Return a value.
34346         (test_ctime) [W32]: Fix compilation error.
34347         (nap): Don't call usleep with too large an argument.  Use
34348         force_unlink.
34349         * doc/pastposix-functions/usleep.texi (usleep): Document the
34350         portability issue.
34351
34352 2009-10-13  Jim Meyering  <meyering@redhat.com>
34353
34354         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
34355         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
34356         * modules/pipe-filter-ii: Likewise.
34357         * modules/sys_socket-tests: Likewise.
34358         * modules/tsearch-tests: Likewise.
34359         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
34360         (check): Depend on it.
34361
34362 2009-10-12  Eric Blake  <ebb9@byu.net>
34363
34364         utimens-tests: port to NFS file systems
34365         * tests/test-utimens.h (test_utimens): Refactor utimecmp
34366         comparisons to avoid spurious failures from timestamp drift
34367         between NFS machines.
34368
34369 2009-10-12  Eric Blake  <ebb9@byu.net>
34370
34371         stat-time-tests: minor cleanups
34372         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
34373         * tests/test-stat-time.c (nap): Separate assignment from call.
34374         Suggested by Paolo Bonzini and Bruno Haible.
34375
34376         sys_stat: guarantee struct timespec
34377         * lib/sys_stat.in.h (includes): Always include <time.h>
34378         * modules/sys_stat (Depends-on): Add time.
34379         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
34380         mode_t permission values.
34381         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
34382         get at subsecond timestamps.
34383
34384 2009-10-10  Eric Blake  <ebb9@byu.net>
34385
34386         futimens: new module
34387         * modules/futimens: New file.
34388         * lib/futimens.c (futimens): Likewise.
34389         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
34390         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
34391         we can work around Linux bugs.
34392         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34393         * modules/sys_stat (Makefile.am): Substitute them.
34394         * lib/sys_stat.in.h (futimens): Declare it.
34395         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34396         * doc/posix-functions/futimens.texi (futimens): Likewise.
34397         * modules/futimens-tests: New test.
34398         * tests/test-futimens.c: Likewise.
34399
34400         utimens: introduce fdutimens
34401         * lib/utimens.h (fdutimens): New prototype.
34402         * lib/utimens.c (gl_futimens): Move guts...
34403         (fdutimens): ...to new interface.
34404         * tests/test-utimens.c (do_fdutimens): Use it.
34405
34406         utimens: add UTIME_NOW and UTIME_OMIT support
34407         * lib/utimens.c (validate_timespec, update_timespec): New helper
34408         functions.
34409         (gl_futimens, lutimens): Use them.
34410         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
34411         stdbool, sys_stat.
34412         (Link): Mention resulting library dependency.
34413         * modules/utimecmp (Link): Likewise.
34414         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
34415         (Makefile.am): Pick up library dependency.
34416         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
34417         definition.
34418         * tests/test-sys_stat.c: Test the definitions.
34419         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
34420         * NEWS: Document library dependency.
34421
34422         utimecmp: support symlink timestamps
34423         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
34424         hashing when possible.  Use pathconf when available.
34425         (SYSCALL_RESOLUTION): Recognize tighter resolution.
34426         * modules/utimecmp (Depends-on): Add lstat.
34427
34428         utimens: add lutimens interface
34429         * lib/utimens.c (lutimens): New function.
34430         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
34431         * lib/utimens.h (lutimens): Declare new interface.
34432         * tests/test-utimens.c (main): Enhance test.
34433         * tests/test-lutimens.h (test_lutimens): New file.
34434         * modules/utimens-tests (Files): Distribute it.
34435         (Depends-on): Add symlink.
34436         (configure.ac): Check for usleep.
34437
34438         utimens: validate futimens usage
34439         * lib/utimens.c (gl_futimens): Require valid fd up front, using
34440         fewer syscalls on failure later on.  Avoid compiler warning on
34441         mingw.
34442         * modules/utimens (Depends-on): Add dup2.
34443
34444         utimens: add test
34445         * modules/utimens-tests: New test.
34446         * tests/test-utimens.h: New file.
34447         * tests/test-futimens.h: Likewise.
34448         * tests/test-utimens.c: Likewise.
34449
34450         doc: mention timestamp portability issues
34451         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
34452         instead.
34453         * doc/posix-functions/utime.texi (utime): Likewise.
34454         * doc/posix-functions/utimes.texi (utimes): Likewise.
34455         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
34456         instead.
34457         * doc/posix-functions/futimens.texi (futimens): Mention utimens
34458         module.
34459         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34460         Mention weakness with symlink timestamps.
34461         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
34462         to utimensat/futimens instead.
34463         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
34464
34465         test-dup2: enhance test
34466         * tests/test-dup2.c (main): Also check AT_FDCWD.
34467
34468         test-stat-time: avoid more spurious failures
34469         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
34470         xfs; and avoid race if the two timestamps cross quantization edge.
34471
34472         relocatable: prefer 'file system' over 'filesystem'
34473         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
34474         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
34475         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
34476         * doc/relocatable.texi (Enabling Relocatability): Likewise.
34477         * lib/relocatable.c (compute_curr_prefix): Likewise.
34478
34479 2009-10-10  Jim Meyering  <meyering@redhat.com>
34480
34481         stat-time-tests: check for the usleep function
34482         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
34483
34484 2009-10-10  Bruno Haible  <bruno@clisp.org>
34485
34486         * modules/xnanosleep: Put the Link section after the Include section.
34487
34488 2009-10-09  Eric Blake  <ebb9@byu.net>
34489
34490         dup2: work around FreeBSD 6.1 bug
34491         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
34492         * doc/posix-functions/dup2.texi (dup2): Document it.
34493         Reported by Nelson H. F. Beebe and Jim Meyering.
34494
34495         test-stat-time: port to buggy NFS clients
34496         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
34497         (test_ctime): Also skip test if mtime and ctime are skewed.
34498
34499         maint: prefer 'file system' over 'filesystem'
34500         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34501         * doc/posix-functions/lstat.texi (lstat): Likewise.
34502         * lib/file-has-acl.c (file_has_acl): Likewise.
34503         * lib/fwriteerror.c [TEST]: Likewise.
34504         * tests/test-areadlink.h (test_areadlink): Likewise.
34505         * tests/test-areadlinkat-with-size.c (main): Likewise.
34506         * tests/test-areadlinkat.c (main): Likewise.
34507         * tests/test-canonicalize-lgpl.c (main): Likewise.
34508         * tests/test-canonicalize.c (main): Likewise.
34509         * tests/test-fstatat.c (main): Likewise.
34510         * tests/test-linkat.c (main): Likewise.
34511         * tests/test-lstat.h (test_lstat_func): Likewise.
34512         * tests/test-mkdir.h (test_mkdir): Likewise.
34513         * tests/test-readlink.h (test_readlink): Likewise.
34514         * tests/test-remove.c (main): Likewise.
34515         * tests/test-rename.h (test_rename): Likewise.
34516         * tests/test-renameat.c (main): Likewise.
34517         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34518         * tests/test-symlink.h (test_symlink): Likewise.
34519         * tests/test-symlinkat.c (main): Likewise.
34520         * tests/test-unlink.h (test_unlink_func): Likewise.
34521         * tests/test-unlinkat.c (main): Likewise.
34522
34523         maint: make realtime library usage explicit
34524         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
34525         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
34526         * modules/settime (Link): Likewise.
34527         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
34528
34529         test-stat-time: speed up execution
34530         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
34531         warning on mingw.
34532         (nap): New helper function.
34533         (prepare_test): Use it to reduce sleep time.
34534         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
34535         execution.
34536         * modules/stat-time-tests (configure.ac): Check for usleep.
34537
34538 2009-10-09  Jim Meyering  <meyering@redhat.com>
34539
34540         selinux-h: always use getfilecon wrappers
34541         * lib/getfilecon.c: New file.
34542         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
34543         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
34544         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
34545         (fgetfilecon): Provide a stub.
34546         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
34547         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
34548         file unconditionally.
34549         When <selinux/selinux.h> is found, arrange to use wrappers.
34550         * modules/selinux-h (Files): Add getfilecon.c.
34551         (Makefile.am): Substitute include-next-related bits
34552         into the now-always-generated selinux/selinux.h file.
34553         * doc/glibc-functions/lgetfilecon.texi: New file.
34554         * doc/glibc-functions/fgetfilecon.texi: New file.
34555         * doc/glibc-functions/getfilecon.texi: New file.
34556         * doc/glibc-functions/getfilecon-desc.texi: New file.
34557         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
34558         which to pull in the new files.
34559         * MODULES.html.sh (Misc): Add selinux-h.
34560
34561 2009-10-08  Jim Meyering  <meyering@redhat.com>
34562
34563         unistd: fix comment typo
34564         * lib/unistd.in.h (euidaccess): Fix a comment typo.
34565
34566 2009-10-08  Eric Blake  <ebb9@byu.net>
34567
34568         areadlink: use SIZE_MAX consistently
34569         * modules/areadlink (Depends-on): Add stdint.
34570         * modules/areadlink-with-size (Depends-on): Likewise.
34571         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
34572         gives NULL; drop sys/types, since unistd gives size_t; and add
34573         stdint for SIZE_MAX.
34574         (SIZE_MAX): Rely on headers.
34575         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
34576         and add stdint.
34577         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
34578         (SIZE_MAX): Likewise.
34579         (INITIAL_BUF_SIZE): Turn into enum.
34580         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
34581
34582 2009-10-08  Jim Meyering  <meyering@redhat.com>
34583
34584         areadlinkat: avoid compilation failure
34585         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
34586         Fix typo in comment.
34587
34588 2009-10-07  Eric Blake  <ebb9@byu.net>
34589
34590         areadlinkat-with-size: new module
34591         * modules/areadlinkat-with-size: New module.
34592         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
34593         * lib/areadlink.h (areadlinkat): Declare it.
34594         * MODULES.html.sh (File system functions): Mention it.
34595         * modules/areadlinkat-with-size-tests: New test.
34596         * tests/test-areadlinkat-with-size.c: New file.
34597
34598         xreadlinkat: new module
34599         * modules/xreadlinkat: New module.
34600         * lib/xreadlinkat.c (xreadlinkat): New file.
34601         * lib/xreadlink.h (xreadlinkat): Declare it.
34602         * MODULES.html.sh (File system functions): Mention it.
34603
34604         areadlinkat: new module
34605         * lib/at-func.c (FUNC_FAIL): New define.
34606         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
34607         * modules/areadlinkat: New module.
34608         * lib/linkat.c (areadlinkat): Move...
34609         * lib/areadlinkat.c (areadlinkat): ...to new file.
34610         * lib/areadlink.h (areadlinkat): Declare it.
34611         * modules/linkat (Depends-on): Add areadlinkat.
34612         * MODULES.html.sh (File system functions): Mention it.
34613         * modules/areadlinkat-tests: New test.
34614         * tests/test-areadlinkat.c: New file.
34615
34616         areadlink, areadlink-with-size: add tests
34617         * modules/areadlink-tests: New test.
34618         * modules/areadlink-with-size-tests: Likewise.
34619         * tests/test-areadlink.h: New file.
34620         * tests/test-areadlink.c: Likewise.
34621         * tests/test-areadlink-with-size.c: Likewise.
34622
34623         maint: minor cleanups
34624         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
34625         _UNUSED_PARAMETER_ instead.
34626         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
34627         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
34628         * modules/linkat-tests (Files): Distribute test-link.h.
34629
34630         openat, utimens: whitespace cleanup
34631         * lib/openat.c: Prefer space throughout, rather than mix of 8
34632         spaces vs. tabs.
34633         * lib/at-func.c: Likewise.
34634         * lib/utimens.c: Likewise.
34635
34636         openat: avoid using wrong fd
34637         * lib/openat.c (openat_permissive): Reject user's fd if saving the
34638         working directory chooses same fd.
34639         * lib/at-func.c (AT_FUNC_NAME): Likewise.
34640
34641         mkdir, mkdirat: fix cygwin 1.5.x bug
34642         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
34643         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
34644         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
34645         bug.
34646         (gl_PREREQ_MKDIR): Delete unused macro.
34647         * modules/mkdir (Files): Track file rename.
34648         (configure.ac): Update macro name.
34649         * modules/openat (Depends-on): Add mkdir.
34650         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
34651
34652         mkdir, mkdirat: add tests
34653         * modules/mkdir-tests: New test.
34654         * tests/test-mkdir.h: New file.
34655         * tests/test-mkdir.c: Likewise.
34656         * tests/test-mkdirat.c: Likewise.
34657         * modules/openat-tests (Files): Add new files.
34658         (Makefile.am): Run new test.
34659
34660 2009-10-06  Eric Blake  <ebb9@byu.net>
34661
34662         doc: tweak *at function documentation
34663         * doc/posix-functions/faccessat.texi (faccessat): Mention
34664         known issue with replacement.
34665         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
34666         * doc/posix-functions/linkat.texi (linkat): Likewise.
34667         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
34668         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
34669         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34670         * doc/posix-functions/renameat.texi (renameat): Likewise.
34671         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34672
34673         openat: fix GNU/Hurd bug in unlinkat
34674         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
34675         broken.
34676         * doc/posix-functions/unlink.texi (unlink): Document this.
34677         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
34678
34679         fdopendir: fix GNU/Hurd bug
34680         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
34681         allowing non-directory fds.
34682         * lib/fdopendir.c (rpl_fdopendir): Work around it.
34683         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34684         * modules/dirent (Makefile.am): Substitute it.
34685         * lib/dirent.in.h (fdopendir): Declare replacement.
34686         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
34687         * tests/test-fdopendir.c (main): Test something other than
34688         /dev/null, since on Hurd that behaves like a directory.
34689
34690         test-symlink: port to GNU/Hurd
34691         * tests/test-symlink.h (test_symlink): Relax expected errno.
34692
34693         doc: tweak more cygwin information
34694         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
34695         now compatible with glibc.
34696         * doc/posix-functions/getopt.texi (getopt): Likewise.
34697
34698         getopt-gnu: add another test
34699         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
34700         guarantee behavior relied on by m4.
34701         * tests/test-getopt.c (main): Use it.
34702         * modules/getopt-posix-tests (Depends-on): Add setenv.
34703         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
34704
34705         getopt: fix compilation on darwin
34706         * lib/getopt.in.h (includes): Leave breadcrumbs during system
34707         include.
34708         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
34709         Reported by Ludovic Courtès.
34710
34711 2009-10-06  Bruno Haible  <bruno@clisp.org>
34712
34713         * modules/size_max (Description): Discourage its use.
34714         Reported by Simon Josefsson.
34715
34716 2009-10-06  Jim Meyering  <meyering@redhat.com>
34717
34718         linkat: avoid compilation failure
34719         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
34720
34721 2009-10-05  Eric Blake  <ebb9@byu.net>
34722
34723         linkat: support Linux 2.6.17
34724         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
34725         linkat on Linux, but allow cache variable override.
34726         * lib/linkat.c (rpl_linkat): Define override.
34727         * modules/linkat (Depends-on): Add symlinkat.
34728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
34729         * modules/unistd (Makefile.am): Substitute it.
34730         * lib/unistd.in.h (linkat): Declare replacement.
34731         Reported by Pádraig Brady.
34732
34733         quotearg: port test to systems with C.UTF-8 locale
34734         * tests/test-quotearg.c (struct result_strings): Add another
34735         member, differentiating between C.ASCII and C.UTF-8 handling.
34736         (compare_strings): Add parameter.
34737         (main): Adjust all callers.
34738
34739         getopt: avoid clash with FreeBSD _getopt_internal
34740         * lib/getopt.in.h (_getopt_internal): Override the name.
34741         * lib/getopt_int.h (includes): Pick up any overrides.
34742         Reported by Reuben Thomas.
34743
34744         hash: allow C89 compilation
34745         * lib/hash.c (check_tuning): Move declaration before statement.
34746         Reported by Reuben Thomas.
34747
34748 2009-10-05  Karl Berry  <karl@gnu.org>
34749
34750         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
34751
34752 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
34753             Bruno Haible  <bruno@clisp.org>
34754
34755         * lib/uname.c (uname): Use a table-driven algorithm to compute
34756         Windows NT versions.
34757
34758 2009-10-04  Bruno Haible  <bruno@clisp.org>
34759
34760         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
34761         program_invocation_short_name.
34762         * modules/progname (configure.ac): Test for presence of
34763         program_invocation_short_name.
34764         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34765
34766 2009-10-04  Bruno Haible  <bruno@clisp.org>
34767
34768         * lib/progname.c (set_program_name): Fix comment.
34769         Reported by Jim Meyering.
34770
34771 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34772             Bruno Haible  <bruno@clisp.org>
34773
34774         * lib/uname.c: Include <string.h>.
34775         (uname): Do only one call to GetVersionEx in the common case.
34776
34777 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34778             Bruno Haible  <bruno@clisp.org>
34779
34780         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
34781         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
34782         (uname): Add support for Windows CE and various non-x86 CPU types.
34783
34784 2009-10-03  Bruno Haible  <bruno@clisp.org>
34785
34786         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
34787         invocation to tests/configure.ac.
34788         Reported by Ian Beckwith <ianb@erislabs.net>.
34789
34790 2009-10-02  Eric Blake  <ebb9@byu.net>
34791
34792         fchdir: avoid compiler warning
34793         * lib/fchdir.c (canonicalize_file_name)
34794         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
34795
34796         test-open: support mingw errno values
34797         * tests/test-open.h (test_open): Relax test.
34798         * tests/test-fopen.h (test_fopen): Likewise.
34799         * tests/test-openat-safer.c (main): Likewise.
34800
34801         open: fix opening directory on mingw
34802         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
34803
34804         test-open: on GNU/Hurd, /dev/null is a directory
34805         * tests/test-fopen.h (main): Rename...
34806         (test_fopen): ...to this.  Use a guaranteed non-directory when
34807         confirming open behavior on trailing slash.
34808         * tests/test-openat-safer.c (main): Likewise.
34809         * tests/test-open.h (main): Likewise....
34810         (test_open): ...to this.
34811         * tests/test-fopen.c (main): Adjust caller.
34812         * tests/test-fopen-safer.c (main): Likewise.
34813         * tests/test-open.c (main): Likewise.
34814         * tests/test-fcntl-safer.c (main): Likewise.
34815         Reported by Samuel Thibault.
34816
34817         rename, fchdir: don't ignore chdir failure
34818         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
34819         * lib/rename.c (rpl_rename) [W32]: Likewise.
34820         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
34821         an empty destination directory if source cannot be renamed,
34822         although there is still possibility for failure.
34823         * doc/posix-functions/rename.texi (rename): Document the race.
34824         Reported by Jim Meyering.
34825
34826         maint: cleanup whitespace in recent commits
34827         * lib/rename.c (rpl_rename): Remove tabs.
34828         * tests/test-link.h (test_link): Likewise.
34829         * lib/fchdir.c (get_name): Likewise.
34830         Reported by Jim Meyering.
34831
34832 2009-10-02  Ben Pfaff  <blp@gnu.org>
34833
34834         relocatable-prog-wrapper: Add missing dependency on
34835         double-slash-root.
34836         * modules/relocatable-prog-wrapper: Add dependency.
34837         Reported by Ian Beckwith <ianb@erislabs.net>.
34838
34839 2009-10-02  Eric Blake  <ebb9@byu.net>
34840
34841         renameat: fix Solaris bugs
34842         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34843         needed fixing.
34844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34845         * modules/stdio (Makefile.am): Substitute it.
34846         * lib/stdio.in.h (renameat): Declare replacement.
34847         * lib/renameat.c (rpl_renameat): Implement fix.
34848
34849         renameat: new module
34850         * modules/renameat: New file.
34851         * lib/renameat.c (renameat): Likewise.
34852         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34853         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34854         * modules/stdio (Makefile.am): Substitute them.
34855         * lib/stdio.in.h (renameat): Declare it.
34856         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34857         * doc/posix-functions/renameat.texi (renameat): Likewise.
34858         * modules/renameat-tests: New test.
34859         * tests/test-renameat.c: Likewise.
34860
34861         rename: fix mingw bugs
34862         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34863         directory overwrite bugs.
34864
34865         rename: fix another cygwin 1.5 bug
34866         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34867         checks.
34868         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34869         unnecessary cygwin workarounds.  Also work around bug with moving
34870         full directory onto an empty one.
34871         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34872
34873         rename-dest-slash: merge into rename module
34874         * modules/rename-dest-slash (Status): Mark obsolete.
34875         (Depends-on): Add rename.
34876         (Files): Let rename do it all.
34877         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34878         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34879         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34880         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34881         * lib/rename.c (rpl_rename): Update comments.
34882
34883         rename: fix cygwin 1.5.x bugs
34884         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34885         * lib/rename.c (rpl_rename): Work around them.
34886         * modules/rename (Depends-on): Add same-inode.
34887
34888         rename: fix Solaris 10 bug
34889         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34890         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34891         was the only bug.
34892
34893         rename: fix Solaris 9 bug
34894         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34895         on non-directory.  Avoid calling exit.
34896         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34897         strdup.
34898         * modules/rename-tests (Depends-on): Drop lstat.
34899         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34900         (gl_PREREQ_RENAME): Delete unused macro.
34901
34902         rename-dest-slash: fix NetBSD bug
34903         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34904         links.
34905         * modules/rename-dest-slash (Depends-on): Add same-inode.
34906
34907         rename-tests: new test, exposes several platform bugs
34908         * modules/rename-tests: New file.
34909         * tests/test-rename.h: Likewise.
34910         * tests/test-rename.c: Likewise.
34911         * doc/posix-functions/rename.texi (rename): Improve documentation,
34912         including bugs that will eventually be fixed in gnulib.
34913
34914 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34915
34916         * lib/uname.c: Include <stdlib.h>
34917         (uname): Assume version info is available.
34918
34919 2009-10-02  Jim Meyering  <meyering@redhat.com>
34920
34921         gnu-web-doc-update: correct --help output
34922         * build-aux/gnu-web-doc-update: Make --help output relevant.
34923
34924         gnu-web-doc-update: add standard options
34925         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34926
34927         gnu-web-doc-update: New module.
34928         Use this script to automatically update the on-line web documentation
34929         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34930         * modules/gnu-web-doc-update: New file, from coreutils.
34931         * build-aux/gnu-web-doc-update: New script.
34932
34933 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34934
34935         link: LoadLibrary is not needed.
34936         * lib/link.c: Use GetModuleHandle.
34937
34938 2009-10-01  Eric Blake  <ebb9@byu.net>
34939
34940         getopt: bump serial number
34941         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34942         change.
34943
34944         tests: tighten link, rmdir, and remove tests
34945         * tests/test-link.h (includes): No need to use <config.h> here.
34946         Clean up if directory hard link was created, otherwise test for
34947         trailing '.'.
34948         * tests/test-linkat.c (main): Simplify.
34949         * tests/test-remove.c (main): Enhance test for trailing '.'.
34950         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34951
34952 2009-10-01  Jim Meyering  <meyering@redhat.com>
34953
34954         maint.mk: requiring "make major" was annoying, for a "minor" release.
34955         What is intended is "stable", to contrast with alpha and beta,
34956         so require "make stable", not "make major".
34957         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34958         (get_tool_versions): Likewise.
34959         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34960
34961 2009-09-30  Ben Pfaff  <blp@gnu.org>
34962
34963         Fix broken build of replacement for Windows tmpfile().
34964         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34965         flags argument added along with the 'mkostemp' module.
34966
34967 2009-09-28  Bruno Haible  <bruno@clisp.org>
34968
34969         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34970         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34971         to 'remove_elt'.
34972         (gl_list_remove): Update.
34973         * lib/gl_list.c (gl_list_remove): Update.
34974         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34975         to 'remove_elt'.
34976         (gl_oset_remove): Update.
34977         * lib/gl_list.c (gl_oset_remove): Update.
34978         Reported by Eric Blake.
34979
34980 2009-09-28  Eric Blake  <ebb9@byu.net>
34981
34982         doc: mention yet more cygwin 1.7 status
34983         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34984         cygwin.
34985         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34986         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34987
34988         argp: fix test failure
34989         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34990         that are not upper-case.  Pass correct range to tolower.
34991
34992 2009-09-27  Jim Meyering  <meyering@redhat.com>
34993
34994         test-yesno: work around sparc-dash here-document infelicity
34995         Without this change, the literal \177 byte in a here document
34996         would make dash 0.5.5.1-3 access uninitialized memory.
34997         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34998         Instead, use a marker, "@", and filter through tr to create the desired
34999         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
35000
35001 2009-09-27  Bruno Haible  <bruno@clisp.org>
35002
35003         Disable untested support for new flavours of ACLs on AIX.
35004         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
35005         progress.
35006         * lib/set-mode-acl.c (qset_acl): Likewise.
35007
35008 2008-12-07  Bruno Haible  <bruno@clisp.org>
35009
35010         Add support for new flavours of ACLs on AIX. (Untested.)
35011         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
35012         (file_has_acl): Add support for newer AIX.
35013         * lib/set-mode-acl.c (qset_acl): Likewise.
35014         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
35015         Rainer Tammer <tammer@tammer.net>.
35016
35017 2009-09-26  Eric Blake  <ebb9@byu.net>
35018
35019         argp: fix compilation of getopt
35020         * lib/getopt.in.h (includes): Use different guard than glibc.
35021         Reported by Sergey Poznyakoff.
35022
35023         doc: mention more cygwin 1.7 status
35024         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
35025         bug.
35026         * doc/posix-functions/execl.texi (execl): Likewise.
35027         * doc/posix-functions/execle.texi (execle): Likewise.
35028         * doc/posix-functions/execlp.texi (execlp): Likewise.
35029         * doc/posix-functions/execv.texi (execv): Likewise.
35030         * doc/posix-functions/execve.texi (execve): Likewise.
35031         * doc/posix-functions/execvp.texi (execvp): Likewise.
35032         * doc/glibc-functions/canonicalize_file_name.texi
35033         (canonicalize_file_name): Cygwin 1.7 now provides this.
35034         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
35035         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
35036         on AT_SYMLINK_NOFOLLOW.
35037
35038 2009-09-24  Eric Blake  <ebb9@byu.net>
35039
35040         test-linkat: make test more robust
35041         * tests/test-linkat.c (main): Avoid collision with EEXIST.
35042
35043         getopt: fix inclusion guards for cygwin
35044         * modules/getopt-posix (Depends-on): Add include-next.
35045         (Makefile.am): Substitute more items in replacement header.
35046         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
35047         <getopt.h>.
35048         * lib/getopt.in.h (includes): Use split inclusion guard, and
35049         prefer <getopt.h> over include <unistd.h> when one is present.
35050         (option): Also override name of 'struct option'.
35051
35052         same-inode: revert prior change; it is not yet ready
35053         * NEWS: Undo mention of this change.
35054         * lib/same-inode.h (same-inode.h): Undo tri-state change.
35055         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
35056         * lib/cycle-check.c (cycle_check): Likewise.
35057         * lib/same.c (same_name): Likewise.
35058         * lib/at-func2.c (at_func2): Likewise.
35059
35060 2009-09-23  Eric Blake  <ebb9@byu.net>
35061
35062         linkat: new module
35063         * modules/linkat: New file.
35064         * lib/at-func2.c (at_func2): Likewise.
35065         * lib/linkat.c (linkat): Likewise.
35066         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
35067         * lib/openat-priv.h (at_func2): Add declaration.
35068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35069         * modules/unistd (Makefile.am): Substitute them.
35070         * lib/unistd.in.h (linkat): Declare it.
35071         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35072         * doc/posix-functions/linkat.texi (linkat): Likewise.
35073         * doc/posix-functions/link.texi (link): Tweak wording.
35074         * tests/test-link.c (main): Move guts...
35075         * tests/test-link.h (test_link): ...into new file.
35076         * modules/linkat-tests: New test.
35077         * tests/test-linkat.c: Likewise.
35078         * modules/link-tests (Files): Ship new file.
35079         (Depends-on): Add stdbool.
35080
35081         dirname: add library-safe mdir_name
35082         * lib/dirname.h (mdir_name): New prototype.
35083         * lib/dirname.c (dir_name): Move guts...
35084         (mdir_name): ...to new function that avoids xalloc_die.
35085
35086         fchdir: another mingw fix
35087         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
35088         * lib/fchdir.c (get_name): New helper method; skips canonicalize
35089         on mingw (where it has not yet been ported), and make it optional
35090         elsewhere.
35091         (_gl_register_fd): Use it.
35092
35093         same-inode: make SAME_INODE tri-state, to port to mingw
35094         * NEWS: Mention this change.
35095         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
35096         st_ino always being 0.
35097         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
35098         * lib/cycle-check.c (cycle_check): Likewise.
35099         * lib/same.c (same_name): Likewise.
35100
35101         lstat: avoid mingw compilation error
35102         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
35103         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
35104         lstat ourselves.
35105         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
35106         was adequate.
35107         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
35108         the checks for lstat.
35109         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
35110
35111         link: fix test failure on Solaris 9
35112         * lib/link.c (rpl_link): Don't assume link will catch bogus
35113         trailing slash on source.
35114
35115         test-symlinkat: enhance test
35116         * tests/test-readlink.c (main): Move guts...
35117         * tests/test-readlink.h (test_readlink): ...into new file.
35118         * tests/test-symlink.c (main): Move guts...
35119         * tests/test-symlink.h (test_symlink): ...into new file.
35120         * tests/test-symlinkat.c (main): Use new files for further
35121         coverage.
35122         (do_symlink, do_readlink): New helper functions.
35123         * modules/symlink-tests (Files): Ship new file.
35124         (Depends-on): Add stdbool.
35125         * modules/readlink-tests (Files): Ship new file.
35126         (Depends-on): Add stdbool.
35127         * modules/symlinkat-tests (Files): Use new files.
35128
35129 2009-09-23  Eric Blake  <ebb9@byu.net>
35130
35131         readlink: document portability issue with symlink length
35132         * doc/posix-functions/lstat.texi (lstat): Mention that some file
35133         systems have bogus st_size on symlinks, and mention the
35134         areadlink-with-size module.
35135         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
35136         * doc/posix-functions/readlink.texi (readlink): Mention the
35137         areadlink module, and ERANGE failure.
35138         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35139         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
35140
35141         readlink: fix Solaris 9 bug with trailing slash
35142         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
35143         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
35144         * doc/posix-functions/readlink.texi (readlink): Document this.
35145         * modules/readlink-tests: New test.
35146         * tests/test-readlink.c: Likewise.
35147
35148         readlink: fix cygwin 1.5.x bug with return type
35149         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
35150         * lib/unistd.in.h (readlink): Use ssize_t.
35151         * lib/readlink.c (readlink): Likewise.
35152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35153         * modules/unistd (Makefile.am): Substitute it.
35154         * lib/unistd.in.h (readlink): Declare replacement.
35155         * doc/posix-functions/readlink.texi (readlink): Document this.
35156
35157         symlink: use throughout gnulib
35158         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
35159         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
35160         symlink is not used.
35161         * modules/symlinkat (Depends-on): Add symlink.
35162         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
35163         * modules/canonicalize-tests (Depends-on): Likewise.
35164         * modules/lstat-tests (Depends-on): Likewise.
35165         * modules/openat-tests (Depends-on): Likewise.
35166         * modules/remove-tests (Depends-on): Likewise.
35167         * modules/rmdir-tests (Depends-on): Likewise.
35168         * modules/unlink-tests (Depends-on): Likewise.
35169         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
35170         * tests/test-canonicalize.c (symlink): Likewise.
35171         * tests/test-fstatat.c (symlink): Likewise.
35172         * tests/test-lstat.c (symlink): Likewise.
35173         * tests/test-remove.c (symlink): Likewise.
35174         * tests/test-rmdir.c (symlink): Likewise.
35175         * tests/test-unlink.c (symlink): Likewise.
35176         * tests/test-unlinkat.c (symlink): Likewise.
35177
35178         symlink: new module, for Solaris 9 bug
35179         * modules/symlink: New file.
35180         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
35181         * lib/symlink.c: Likewise.
35182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
35183         * modules/unistd (Makefile.am): Substitute them.
35184         * lib/unistd.in.h (symlink): Declare replacement.
35185         * MODULES.html.sh (File system functions): Mention it.
35186         * doc/posix-functions/symlink.texi (symlink): Likewise.
35187         * modules/symlink-tests: New test.
35188         * tests/test-symlink.c: Likewise.
35189
35190 2009-09-23  Bruno Haible  <bruno@clisp.org>
35191
35192         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
35193         when needed.
35194         Test case: gnulib-tool --import --with-tests atexit inttypes.
35195         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
35196
35197 2009-09-23  Bruno Haible  <bruno@clisp.org>
35198
35199         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
35200         subcommand, not in a subshell.
35201
35202 2009-09-22  Eric Blake  <ebb9@byu.net>
35203
35204         unistd: sort replacement declarations
35205         * lib/unistd.in.h: Sort declarations.
35206
35207         open, openat: minor optimization
35208         * lib/open.c (open): If open succeeded, len is non-zero.
35209         * lib/openat.c (rpl_openat): Likewise.
35210
35211         link-follow: ensure correct result
35212         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
35213         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
35214         distinguish between possible failures.
35215
35216 2009-09-21  Eric Blake  <ebb9@byu.net>
35217
35218         fts: avoid compiler warning
35219         * lib/fts.c (dirent_inode_sort_may_be_useful)
35220         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
35221
35222 2009-09-19  Bruno Haible  <bruno@clisp.org>
35223
35224         * lib/progreloc.c (canonicalize_file_name): New declaration.
35225
35226 2009-09-19  Eric Blake  <ebb9@byu.net>
35227
35228         link: fix quoting
35229         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
35230
35231         openat: fix openat bugs on Solaris 9
35232         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
35233         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
35234         * modules/openat (Depends-on): Add open.
35235         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
35236         * modules/fcntl-h (Makefile.am): Substitute it.
35237         * lib/fcntl.in.h (openat): Declare replacement.
35238         * doc/posix-functions/openat.texi (openat): Document this.
35239
35240         openat: move fstatat and unlinkat into correct files
35241         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
35242         compiled.
35243         * lib/openat.c (fstatat, unlinkat): Move...
35244         * lib/fstatat.c (fstatat): ...into correct files.
35245         * lib/unlinkat.c (unlinkat): Likewise.
35246
35247         openat: fix unlinkat bugs on Solaris 9
35248         * lib/unlinkat.c (unlinkat): New file.
35249         * modules/openat (Depends-on): Add unlink.
35250         (Files): Distribute it.
35251         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
35252         trailing slash behavior is broken.
35253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35254         * modules/unistd (Makefile.am): Substitute it.
35255         * lib/unistd.in.h (unlinkat): Declare replacement.
35256         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
35257
35258         openat: fix fstatat bugs on Solaris 9
35259         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
35260         stat.
35261         * doc/posix-functions/fstatat.texi (fstatat): Document this.
35262
35263         test-unlinkat: enhance test, to expose Solaris 9 bug
35264         * tests/test-unlink.c (main): Factor guts...
35265         * tests/test-unlink.h (test_rmdir_func): ...into new file.
35266         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
35267         * tests/test-rmdir.c (main): Adjust caller.
35268         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
35269         (unlinker): New helper function.
35270         (rmdirat): Enhance check.
35271         * modules/rmdir-tests (Depends-on): Add stdbool.
35272         * modules/unlink-tests (Depends-on): Likewise.
35273         (Files): Add test-unlink.h.
35274         * modules/openat-tests (Files): Likewise.
35275         (Depends-on): Add unlinkdir.
35276
35277         test-fstatat: new test, to expose Solaris 9 bugs
35278         * tests/test-stat.c (main): Factor guts...
35279         * tests/test-stat.h (test_stat_func): ...into new file.
35280         * tests/test-lstat.c (main): Factor guts...
35281         * tests/test-lstat.h (test_lstat_func): ...into new file.
35282         * tests/test-fstatat.c: New file.
35283         * modules/stat-tests (Files): Add test-stat.h.
35284         * modules/lstat-tests (Files): Add test-lstat.h.
35285         (Depends-on): Add stdbool.
35286         * modules/openat-tests (Depends-on): Add pathmax.
35287         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
35288         (Makefile.am): Run new test.
35289
35290         remove: new module, for mingw and Solaris 9 bugs
35291         * modules/remove: New file.
35292         * lib/remove.c: Likewise.
35293         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
35294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
35295         * modules/stdio (Makefile.am): Use them.
35296         * lib/stdio.in.h (remove): Declare replacement.
35297         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35298         * doc/posix-functions/remove.texi (remove): Likewise.
35299         * modules/remove-tests: New test.
35300         * tests/test-remove.c: Likewise.
35301
35302         unlink: new module, for Solaris 9 bug
35303         * modules/unlink: New file.
35304         * lib/unlink.c: Likewise.
35305         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
35306         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35307         * modules/unistd (Makefile.am): Use them.
35308         * lib/unistd.in.h (stat): Declare replacement.
35309         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35310         * doc/posix-functions/unlink.texi (unlink): Likewise.
35311         * modules/unlink-tests: New test.
35312         * tests/test-unlink.c: Likewise.
35313
35314         lstat: fix Solaris 9 bug
35315         * lib/lstat.c (lstat): Also check for trailing slash on
35316         non-symlink, non-directories.  Use stat module to simplify logic.
35317         * doc/posix-functions/lstat.texi (lstat): Document it.
35318         * modules/lstat-tests (Depends-on): Add errno, same-inode.
35319         (configure.ac): Check for symlink.
35320         * tests/test-lstat.c (main): Add more tests.
35321
35322         stat: add as dependency to other modules
35323         * modules/chown (Depends-on): Add stat.
35324         * modules/euidaccess (Depends-on): Likewise.
35325         * modules/fchdir (Depends-on): Likewise.
35326         * modules/isdir (Depends-on): Likewise.
35327         * modules/link (Depends-on): Likewise.
35328         * modules/lstat (Depends-on): Likewise.
35329         * modules/mkdir-p (Depends-on): Likewise.
35330         * modules/modechange (Depends-on): Likewise.
35331         * modules/open (Depends-on): Likewise.
35332         * modules/readlink (Depends-on): Likewise.
35333         * modules/same (Depends-on): Likewise.
35334
35335         stat: fix Solaris 9 bug
35336         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
35337         slash.
35338         * lib/stat.c (rpl_stat): Work around it.
35339         * doc/posix-functions/stat.texi (stat): Update documentation.
35340
35341         stat: new module, for mingw bug
35342         * modules/stat: New file.
35343         * lib/stat.c: Likewise.
35344         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35345         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35346         * modules/sys_stat (Makefile.am): Use them.
35347         * lib/sys_stat.in.h (stat): Declare replacement.
35348         * lib/openat.c (fstatat): Deal with lstat and stat being function
35349         macros.
35350         * modules/openat (Depends-on): Add inline.
35351         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35352         * doc/posix-functions/stat.texi (stat): Likewise.
35353         * modules/stat-tests: New test.
35354         * tests/test-stat.c: Likewise.
35355
35356 2009-09-19  Jim Meyering  <meyering@redhat.com>
35357
35358         syntax-check: detect unnecessary inclusion of canonicalize.h
35359         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
35360
35361 2009-09-19  Eric Blake  <ebb9@byu.net>
35362
35363         canonicalize-lgpl: adjust clients to use correct header
35364         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
35365         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
35366         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
35367         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
35368         * lib/progreloc.c (includes): Likewise.
35369
35370 2009-09-19  Jim Meyering  <meyering@redhat.com>
35371
35372         test-posixtm.c: correct a comment
35373         * tests/test-posixtm.c: Correct first-line comment.
35374         Spotted by Eric Blake.
35375
35376 2009-09-16  Jim Meyering  <meyering@redhat.com>
35377
35378         posixtm-tests: make T const-correct; add a test case
35379         * tests/test-posixtm.c (T): Declare const.
35380         Add a test for -(2^31+1).
35381         Remove useless can-succeed-only-in-2002 test.
35382
35383         posixtm-tests: adjust the sole failing test
35384         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
35385         expected output matches what mktime now produces.  Cross-checked via
35386         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
35387
35388         posixtm: move #ifdef'd tests into a new module
35389         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
35390         * tests/test-posixtm.c: ... this new file.
35391         * modules/posixtm-tests: New module.
35392
35393 2009-09-19  Eric Blake  <ebb9@byu.net>
35394
35395         openat: simplify use of at-func.c
35396         * lib/at-func.c (includes): Include prerequisites here, to
35397         simplify requirements on client files.
35398         * lib/openat-priv.h: Add double-inclusion guard.
35399         * lib/faccessat.c (includes): Simplify.
35400         * lib/fchmodat.c (includes): Likewise.
35401         * lib/fchownat.c (includes): Likewise.
35402         * lib/mkdirat.c (includes): Likewise.
35403         * lib/mkfifoat.c (includes): Likewise.
35404         * lib/symlinkat.c (includes): Likewise.
35405
35406         openat: allow return of fd 0
35407         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
35408         * modules/save-cwd (Depends-on): Replace fcntl-safer with
35409         unistd-safer.
35410         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
35411         <fcntl.h>; this module does not leak fds.
35412         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
35413         must be allowed to return 0, leaving openat_safer to add the
35414         safety.
35415         (openat_permissive): Avoid writing to just-opened fd 2 if
35416         restoring the current directory fails.
35417         * lib/openat-die.c (openat_restore_fail): Add comment.
35418         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
35419         (save_cwd): Guarantee safe fd, but without use of open_safer.
35420         * tests/test-openat.c: New test.
35421         * modules/openat-tests (Files, Makefile.am): Distribute and build
35422         new file.
35423
35424         relocatable-prog-wrapper: fix build
35425         * modules/relocatable-prog-wrapper (Files): Update name of
35426         canonicalize m4 file, broken on 2009-09-17.
35427         Reported by emad hajjar <aleppos@hotmail.com>.
35428
35429 2009-09-19  Bruno Haible  <bruno@clisp.org>
35430
35431         * lib/safe-alloc.h: Use the standard header with GPL copyright.
35432         * lib/safe-alloc.c: Likewise.
35433         Reported by Ian Beckwith <ianb@erislabs.net>.
35434
35435 2009-09-18  Bruno Haible  <bruno@clisp.org>
35436
35437         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
35438         Reported by <erobles@sensacd.com.mx>.
35439
35440 2009-09-17  Eric Blake  <ebb9@byu.net>
35441
35442         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
35443         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
35444         slashes when checking if last component is missing.
35445         * tests/test-canonicalize.c (main): Test this.
35446
35447         canonicalize, canonicalize-lgpl: honor // if distinct from /
35448         * modules/canonicalize (Files): Add double-slash-root.m4.
35449         * modules/canonicalize-lgpl (Files): Likewise.
35450         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
35451         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
35452         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
35453         fallback definition.
35454         (canonicalize_filename_mode): Use it to protect //.
35455         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
35456         (__realpath): Likewise.
35457         * tests/test-canonicalize.c (main): Test this.
35458         * tests/test-canonicalize-lgpl.c (main): Likewise.
35459         * modules/canonicalize-tests (Depends-on): Add same-inode.
35460         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
35461
35462         canonicalize-lgpl: fix glibc bug with trailing slash
35463         * m4/canonicalize-lgpl.m4: Move contents...
35464         * m4/canonicalize.m4: ...here.
35465         (gl_CANONICALIZE_LGPL): Factor realpath check...
35466         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
35467         glibc 2.3.5 bug, fixed 2005-04-27.
35468         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
35469         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
35470         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
35471         * modules/canonicalize-lgpl (Files): Manage file rename.
35472         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
35473         * modules/stdlib (Makefile.am): Substitute witness.
35474         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
35475         is needed.
35476         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
35477         replacement is required.
35478         * lib/canonicalize.c (canonicalize_file_name): Likewise.
35479         * doc/glibc-functions/canonicalize_file_name.texi
35480         (canonicalize_file_name): Document this.
35481         * doc/posix-functions/realpath.texi (realpath): Likewise.
35482
35483         canonicalize-lgpl: reject non-directory with trailing slash
35484         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
35485         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
35486         catches failures in glibc 2.3.5.
35487         * tests/test-canonicalize.c (main): Likewise.
35488
35489         canonicalize-lgpl: use native realpath if it works
35490         * lib/canonicalize-lgpl.c (realpath): Guard with
35491         FUNC_REALPATH_WORKS.
35492         * lib/stdlib.in.h (realpath): Make declaration optional based on
35493         HAVE_REALPATH.
35494         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
35495         native realpath works.
35496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
35497         * modules/stdlib (Makefile.am): Substitute witness.
35498
35499         canonicalize, canonicalize-lgpl: use <stdlib.h>
35500         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
35501         (Include): Mention <stdlib.h>.
35502         (configure.ac): Mention functions we provide.
35503         * modules/canonicalize (configure.ac): Likewise.
35504         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
35505         realpath if canonicalize_file_name is missing.
35506         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
35507         * modules/stdlib (Makefile.am): Substitute witnesses.
35508         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
35509         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
35510         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
35511         * NEWS: Document this.
35512         * doc/glibc-functions/canonicalize_file_name.texi
35513         (canonicalize_file_name): Likewise.
35514         * doc/posix-functions/realpath.texi (realpath): Likewise.
35515         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
35516
35517         test-canonicalize: consolidate into single C program
35518         * tests/test-canonicalize.sh: Delete; move setup into...
35519         * tests/test-canonicalize.c (main): ...the program, making it
35520         easier to run in debugger.  Add some tests.
35521         * modules/canonicalize-tests (Files): Remove unused file.
35522         (Depends-on): Add progname.
35523         (configure.ac, Makefile.am): Simplify.
35524
35525         test-canonicalize-lgpl: consolidate into single C program
35526         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
35527         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
35528         easier to run in debugger.  Add some tests.
35529         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
35530         (configure.ac, Makefile.am): Simplify.
35531
35532         canonicalize: avoid resolvepath
35533         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
35534         unnecessary checks.
35535         * lib/canonicalize.c (includes): Simplify.
35536         (canonicalize_file_name): Drop resolvepath implementation.
35537         * modules/canonicalize (Depends-on): Drop filenamecat.
35538
35539         canonicalize: don't lose errno
35540         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
35541         over calls to free.
35542
35543         canonicalize: simplify errno handling
35544         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
35545         assignment.
35546
35547         canonicalize, canonicalize-lgpl: update module dependencies
35548         * modules/canonicalize (Depends-on): Add extensions, lstat,
35549         pathmax, stdlib.
35550         (Files): Drop pathmax.h.
35551         (configure.ac): Adjust macro name.
35552         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
35553         lstat, stdlib, sys_stat.
35554         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
35555         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
35556         extensions.
35557         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
35558         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
35559         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
35560         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
35561         declaration, if available.
35562         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
35563         we can rely on the readlink module.
35564         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
35565         (includes): Use <unistd.h> unconditionally.
35566
35567 2009-09-17  Eric Blake  <ebb9@byu.net>
35568
35569         maint: make Include sections of modules consistent
35570         * modules/alloca: Use only header name; no need to list #include.
35571         * modules/alloca-opt: Likewise.
35572         * modules/arpa_inet: Likewise.
35573         * modules/canon-host: Likewise.
35574         * modules/configmake: Likewise.
35575         * modules/dirent: Likewise.
35576         * modules/eealloc: Likewise.
35577         * modules/environ: Likewise.
35578         * modules/fchdir: Likewise.
35579         * modules/fcntl: Likewise.
35580         * modules/fcntl-h: Likewise.
35581         * modules/gethrxtime: Likewise.
35582         * modules/gettime: Likewise.
35583         * modules/ignore-value: Likewise.
35584         * modules/inet_ntop: Likewise.
35585         * modules/inet_pton: Likewise.
35586         * modules/inttypes: Likewise.
35587         * modules/isnand-nolibm: Likewise.
35588         * modules/isnanf-nolibm: Likewise.
35589         * modules/mbchar: Likewise.
35590         * modules/mbfile: Likewise.
35591         * modules/mbiter: Likewise.
35592         * modules/mbuiter: Likewise.
35593         * modules/netdb: Likewise.
35594         * modules/netinet_in: Likewise.
35595         * modules/nproc: Likewise.
35596         * modules/pagealign_alloc: Likewise.
35597         * modules/poll: Likewise.
35598         * modules/printf-frexp: Likewise.
35599         * modules/pthread: Likewise.
35600         * modules/putenv: Likewise.
35601         * modules/random_r: Likewise.
35602         * modules/relocatable-prog: Likewise.
35603         * modules/search: Likewise.
35604         * modules/select: Likewise.
35605         * modules/selinux-h: Likewise.
35606         * modules/settime: Likewise.
35607         * modules/signal: Likewise.
35608         * modules/size_max: Likewise.
35609         * modules/socklen: Likewise.
35610         * modules/ssize_t: Likewise.
35611         * modules/stdarg: Likewise.
35612         * modules/stdbool: Likewise.
35613         * modules/stddef: Likewise.
35614         * modules/stdint: Likewise.
35615         * modules/stdio: Likewise.
35616         * modules/stdlib: Likewise.
35617         * modules/string: Likewise.
35618         * modules/strings: Likewise.
35619         * modules/sys_file: Likewise.
35620         * modules/sys_ioctl: Likewise.
35621         * modules/sys_select: Likewise.
35622         * modules/sys_socket: Likewise.
35623         * modules/sys_stat: Likewise.
35624         * modules/sys_time: Likewise.
35625         * modules/sys_times: Likewise.
35626         * modules/sys_utsname: Likewise.
35627         * modules/sys_wait: Likewise.
35628         * modules/sysexits: Likewise.
35629         * modules/time: Likewise.
35630         * modules/times: Likewise.
35631         * modules/tmpfile: Likewise.
35632         * modules/trim: Likewise.
35633         * modules/unistd: Likewise.
35634         * modules/wchar: Likewise.
35635         * modules/wctype: Likewise.
35636
35637 2009-09-17  Bruno Haible  <bruno@clisp.org>
35638
35639         Make getdate.y compile on QNX and NetBSD 5 / i386.
35640         * m4/getdate.m4 (gl_GETDATE): Conditionally define
35641         TIME_T_FITS_IN_LONG_INT.
35642         * lib/getdate.y (long_time_t): New type.
35643         (relative_time): Change type of 'seconds' field to long_time_t.
35644         (get_date): Update types of local variables. Check against overflow
35645         during conversion from long_time_t to time_t.
35646         Reported by Matt Kraai <kraai@ftbfs.org>
35647         and Hasso Tepper <hasso@netbsd.org>.
35648
35649 2009-09-17  Bruno Haible  <bruno@clisp.org>
35650
35651         * modules/COPYING: Update copyright years.
35652         * modules/README: Likeiwse.
35653         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
35654         Reported by Ian Beckwith <ianb@erislabs.net>.
35655
35656 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35657
35658         * users.txt: Update references for gnuit package.
35659
35660 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35661
35662         * m4/getdelim.m4: Fix typo in copyright line.
35663
35664 2009-09-17  Bruno Haible  <bruno@clisp.org>
35665
35666         * lib/atoll.c: Use the standard header with GPL copyright.
35667         * lib/argz.in.h: Likewise.
35668         * lib/glob.c: Likewise.
35669         * lib/glob-libc.h: Likewise.
35670         * lib/random_r.c: Likewise.
35671         * lib/siglist.h: Likewise.
35672         * lib/strsignal.c: Likewise.
35673         Reported by Ian Beckwith <ianb@erislabs.net>.
35674
35675 2009-09-17  Eric Blake  <ebb9@byu.net>
35676
35677         rmdir: ensure correct dependency order
35678         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
35679
35680 2009-09-17  Bruno Haible  <bruno@clisp.org>
35681
35682         Disable assertion that fails on NetBSD 5 / i386.
35683         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
35684         Reported by Sam Steingold <sds@gnu.org>
35685         and Hasso Tepper <hasso@netbsd.org>.
35686
35687 2009-09-16  Eric Blake  <ebb9@byu.net>
35688
35689         unlinkdir: port to mingw
35690         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
35691         on which no one can unlink a directory.
35692
35693         stdlib: sort witness names
35694         * modules/stdlib (Makefile.am): Sort replacements.
35695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
35696         * lib/stdlib.in.h: Likewise.
35697
35698         parse-duration-tests: avoid link failure
35699         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
35700         LIBINTL.
35701         Reported by Tom G. Christensen.
35702
35703         openat-tests: ensure unlinkat behaves like rmdir
35704         * tests/test-rmdir.c (main): Factor guts...
35705         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
35706         * modules/rmdir-tests (Files): Ship new file.
35707         * modules/openat-tests: New test.
35708         * tests/test-unlinkat.c: Likewise.
35709
35710         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
35711         * modules/rmdir-errno (Status, Notice): Now obsolete.
35712
35713         rmdir: work around cygwin 1.5.x and mingw bugs
35714         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
35715         * lib/rmdir.c (rmdir): Work around it.
35716         * modules/rmdir (Status, Notice): No longer obsolete.
35717         (Files): Add dos.m4.
35718         (Depends-on): Add unistd.
35719         (configure.ac): Set witnesses.
35720         (License): Relax to LGPLv2+.
35721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
35722         * modules/unistd (Makefile.am): Substitute witnesses.
35723         * lib/unistd.in.h (rmdir): Declare replacement.
35724         * doc/posix-functions/rmdir.texi (rmdir): Document this.
35725         * modules/rmdir-tests: New tests.
35726         * tests/test-rmdir.c: Likewise.
35727
35728 2009-09-15  Eric Blake  <ebb9@byu.net>
35729
35730         fchdir: improve use of replacement functions
35731         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
35732         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
35733         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
35734         REPLACE_CLOSEDIR.
35735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
35736         * modules/sys_stat (Makefile.am): Substitute correct witness.
35737         * modules/dirent (Makefile.am): Likewise.
35738         * modules/unistd (Makefile.am): Likewise.
35739         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
35740         * lib/unistd.in.h (dup): Likewise.
35741         * lib/sys_stat.in.h (fstat): Likewise.
35742
35743         maint: ignore gnulib-tool temp files
35744         * .gitignore: Ignore files created during gnulib-tool --test.
35745
35746 2009-09-13  Jim Meyering  <meyering@redhat.com>
35747
35748         posixtm: don't reject a time that specify "60" as the number of seconds
35749         * lib/posixtm.c (posixtime): The code to reject invalid dates
35750         would also reject a time specified with the .60 suffix.
35751         But POSIX allows that, in order to accommodate leap seconds.
35752         So don't reject it.
35753         (main): Adjust tests accordingly.
35754         * modules/posixtm (Depends-on): Add stpcpy.
35755
35756 2009-09-11  Jim Meyering  <meyering@redhat.com>
35757
35758         announce-gen: include [$release_type] in emitted Subject:
35759         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
35760         e.g., [stable] in the emitted Subject: line.
35761
35762 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35763
35764         Remove obsolete macros from several modules.
35765         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
35766         obsolete Autoconf macros with their modern counterparts.
35767         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
35768         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
35769         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
35770         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35771         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
35772         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35773         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35774         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35775         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
35776         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
35777         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35778         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35779         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
35780         * m4/sockets.m4 (gl_SOCKETS): Likewise.
35781         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
35782         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
35783         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35784         * m4/time_r.m4 (gl_TIME_R): Likewise.
35785         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35786         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
35787         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35788
35789         Fix copyright header in build-aux scripts.
35790         * build-aux/git-version-gen: Fix copyright header to match GPLv3
35791         recommendation.
35792         * build-aux/ncftpput-ftp: Likewise.
35793         * build-aux/update-copyright: Likewise.
35794
35795 2009-09-09  Eric Blake  <ebb9@byu.net>
35796
35797         test-link: allow Linux choice of errno
35798         * tests/test-link.c (main): Relax test for alternate error.
35799
35800         strndup: fix improper m4 caching
35801         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
35802         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
35803         (gl_PREREQ_STRNDUP): Delete.
35804         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
35805         * modules/string (Makefile.am): Substitute it.
35806         * lib/string.in.h (strndup): Modernize prototype.
35807
35808         getcwd: port to mingw
35809         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
35810         different from the POSIX assumptions made throughout the getcwd
35811         module; fortunately, the mingw getcwd does not need replacement.
35812         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
35813         * modules/getcwd-tests: New test.
35814         * tests/test-getcwd.c: Likewise.
35815
35816         link: fix platform bugs
35817         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
35818         * lib/link.c (link): Work around them.  Fix related mingw bug.
35819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
35820         * modules/unistd (Makefile.am): Substitute it.
35821         * lib/unistd.in.h (link): Declare replacement.
35822         * doc/posix-functions/link.texi (link): Document this.
35823         * modules/link (Depends-on): Add strdup-posix, sys_stat.
35824
35825         test-link: consolidate into single C program, test more cases
35826         * tests/test-link.sh: Delete.
35827         * tests/test-link.c: Test more error conditions.  Exposes bugs on
35828         at least Cygwin and Solaris.
35829         * modules/link-tests (Files): Remove unused file.
35830         (Depends-on): Add errno, sys_stat.
35831         (Makefile.am): Simplify.
35832
35833 2009-09-08  Bruno Haible  <bruno@clisp.org>
35834
35835         Work around towlower, towupper bug on mingw.
35836         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
35837         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35838         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35839         * doc/posix-functions/towupper.texi: Likewise.
35840         Reported by Eric Blake.
35841
35842 2009-09-08  Jim Meyering  <meyering@redhat.com>
35843
35844         build: don't try to run autoheader if we don't use it
35845         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35846         is not used in configure.ac.
35847
35848 2009-09-08  Eric Blake  <ebb9@byu.net>
35849
35850         euidaccess: fix compilation error
35851         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35852
35853         rawmemchr: relax license
35854         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35855         okay.
35856         Reported by Jim Meyering.
35857
35858         mkfifoat: new module
35859         * modules/mkfifoat: New file.
35860         * lib/mkfifoat.c: Likewise.
35861         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35862         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35863         * modules/sys_stat (Makefile.am): Use them.
35864         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35865         * MODULES.html.sh (File system functions): Mention module.
35866         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35867         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35868         * modules/mkfifoat-tests: New test.
35869         * tests/test-mkfifoat.c: Likewise.
35870
35871         strchrnul: relax license
35872         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35873         okay.
35874         Reported by Jim Meyering.
35875
35876 2009-09-08  Eric Blake  <ebb9@byu.net>
35877
35878         fstatat: fix compilation on Solaris
35879         * lib/fstatat.c (includes): Add fcntl.h.
35880         Reported by Pádraig Brady.
35881
35882 2009-09-07  Eric Blake  <ebb9@byu.net>
35883
35884         rename: modernize replacement
35885         * modules/rename (Depends-on): Add stdio.
35886         (configure.ac): Declare witness.
35887         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35888         stdio take care of replacement.
35889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35890         * modules/stdio (Makefile.am): Substitute them.
35891         * lib/stdio.in.h (rename): Declare replacement.
35892         * lib/rename.c (includes): Allow cross-compilation to non-windows
35893         machines.
35894         * doc/posix-functions/rename.texi (rename): Improve
35895         documentation.
35896
35897         stdio: sort witness names
35898         * modules/stdio (Makefile.am): Sort replacements.
35899         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35900         * lib/stdio.in.h: Likewise.
35901
35902         getcwd: minor cleanups
35903         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35904         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35905
35906         openat: provide more convenience names
35907         * modules/faccessat (configure.ac): Add C witness.
35908         * lib/unistd.in.h (readlinkat): Fix typo.
35909         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35910         convenience wrappers.
35911         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35912         wrappers in syntax checks.
35913
35914 2009-09-06  Eric Blake  <ebb9@byu.net>
35915
35916         doc: fix comments in recent patches
35917         * lib/faccessat.c: Mention correct function.
35918         * lib/fchmodat.c: Likewise.
35919         * lib/fchownat.c: Likewise.
35920         * lib/symlinkat.c: Likewise.
35921         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35922         constants.
35923
35924         faccessat, symlinkat: continue cleanup of previous patch
35925         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35926         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35927         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35929         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35930         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35931         set.
35932
35933 2009-09-06  Bruno Haible  <bruno@clisp.org>
35934
35935         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35936         (fstatat): Declare if GNULIB_FSTATAT is set.
35937         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35938         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35939         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35940         * modules/fcntl-h (Files): Remove m4/openat.m4.
35941         * modules/sys_stat (Files): Remove m4/openat.m4.
35942         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35943         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35944         * modules/unistd (Files): Remove m4/openat.m4.
35945         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35946         GNULIB_OPENAT.
35947         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35948         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35949         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35950         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35951         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35952         gl_OPENAT_DEFAULTS.
35953         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35954         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35955         Don't require gl_OPENAT_DEFAULTS.
35956         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35957         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35958         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35959         (gl_OPENAT_DEFAULTS): Remove macro.
35960
35961 2009-09-06  Bruno Haible  <bruno@clisp.org>
35962
35963         * modules/openat (configure.ac): Remove unneeded witness.
35964
35965 2009-09-06  Bruno Haible  <bruno@clisp.org>
35966
35967         Set errno to ENOSYS when a function is entirely unsupported.
35968         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35969         EOPNOTSUPP.
35970         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35971         * modules/chown (Depends-on): Remove errno.
35972
35973 2009-09-06  Bruno Haible  <bruno@clisp.org>
35974
35975         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35976
35977 2009-09-06  Bruno Haible  <bruno@clisp.org>
35978
35979         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35980
35981 2009-09-06  Ben Pfaff  <blp@gnu.org>
35982             Bruno Haible  <bruno@clisp.org>
35983
35984         Work around a glibc bug in strtok_r.
35985         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35986         Undefine if UNDEFINE_STRTOK_R is set.
35987         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35988         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35989         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35990         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35991         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35992         UNDEFINE_STRTOK_R.
35993         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35994
35995 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35996
35997         exclude: minor fix
35998         * lib/exclude.c: Include wctype.h
35999
36000 2009-09-06  Akim Demaille  <demaille@gostai.com>
36001
36002         bootstrap: improve error message
36003         * build-aux/bootstrap (find_tool): Upon failure, report the list
36004         of candidates.
36005         Honor the initial value of the envvar.
36006
36007 2009-09-05  Eric Blake  <ebb9@byu.net>
36008
36009         symlinkat: new module
36010         * modules/symlinkat: New file.
36011         * lib/symlinkat.c: Likewise.
36012         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
36013         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
36014         * modules/unistd (Makefile.am): Use them.
36015         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
36016         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
36017         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
36018         * MODULES.html.sh (File system functions): Mention module.
36019         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36020         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36021         * modules/symlinkat-tests: New test.
36022         * tests/test-symlinkat.c: Likewise.
36023
36024         test-openat-safer: add more checks
36025         * tests/test-openat-safer.c (main): Check more code paths.
36026
36027 2009-09-05  Jim Meyering  <meyering@redhat.com>
36028
36029         syntax-check: detect unnecessary inclusion of openat.h
36030         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
36031
36032 2009-09-05  Bruno Haible  <bruno@clisp.org>
36033
36034         Support towlower, towupper.
36035         * doc/posix-functions/towlower.texi: Mention module wctype.
36036         * doc/posix-functions/towupper.texi: Likewise.
36037         * lib/wctype.in.h (towlower, towupper): New functions.
36038         * tests/test-wctype.c: Include stdio.h, stdlib.h.
36039         (ASSERT): New macro.
36040         (e): New variable.
36041         (main): Test also towlower, towupper. Test WEOF argument.
36042         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36043
36044 2009-09-05  Bruno Haible  <bruno@clisp.org>
36045
36046         Fix conversion behaviour when the input is invalid.
36047         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
36048         mark occurring in first pass of indirect conversion.
36049         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
36050         input.
36051         Found by clang's static analyzer.
36052
36053 2009-09-05  Bruno Haible  <bruno@clisp.org>
36054
36055         * tests/test-striconveh.c (main): Test indirect conversion on platforms
36056         where direct conversion is possible.
36057
36058 2009-09-04  Eric Blake  <ebb9@byu.net>
36059
36060         openat: fail with ENOENT on empty name
36061         * lib/openat-proc.c (openat_proc_name): Special-case the empty
36062         buffer.
36063
36064         link-follow: fix logic bug in prior patch
36065         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
36066         reversed sense of yes and no in prior patch.  Avoid confusing
36067         compilation failure with desired semantics.
36068
36069         link-follow: accomodate mingw and cross-compilation
36070         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
36071         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
36072         cross-compilation results to -1, to make linkat easier to
36073         implement when cross-compiling.  Trivially support mingw.
36074         * modules/link-follow (configure.ac): Call new name.
36075         * NEWS: Mention this.
36076
36077 2009-09-03  Eric Blake  <ebb9@byu.net>
36078
36079         faccessat: compile replacement
36080         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
36081         needed.
36082
36083         fts: fix compilation error
36084         * lib/fts.c (includes): Re-add "openat.h", for
36085         openat_needs_fchdir.
36086
36087         faccessat: new module
36088         * modules/faccessat: New file.
36089         * lib/faccessat.c: Likewise.
36090         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
36091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36092         * modules/unistd (Makefile.am): Use it.
36093         * lib/unistd.in.h (faccessat): Declare it.
36094         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
36095         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
36096         * MODULES.html.sh (File system functions): Mention it.
36097         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
36098         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
36099
36100         euidaccess: prefer POSIX over non-standard implementation
36101         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
36102         * lib/euidaccess.c (euidaccess): Use it if available.
36103
36104         openat: make template easier to use
36105         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
36106         AT_FUNC_F2 to be undefined.
36107         (VALIDATE_FLAG): New macro; use it to reject bad flags.
36108         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
36109         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
36110         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
36111         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
36112         Likewise.
36113         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
36114         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
36115         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
36116         Likewise.
36117
36118         openat: declare in POSIX headers
36119         * NEWS: Mention this.
36120         * modules/openat (configure.ac): Declare witnesses.
36121         (Depends-on): Add fcntl-h, sys_stat, unistd.
36122         (Include): Mention correct headers.
36123         * modules/fcntl-h (Depends-on): Add link-warning.
36124         (Files): Add openat.m4.
36125         (Makefile.am): Substitute witnesses.
36126         * modules/sys_stat (Files, Makefile.am): Likewise.
36127         * modules/unistd (Files, Makefile.am): Likewise.
36128         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
36129         (gl_OPENAT_DEFAULTS): New macro.
36130         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
36131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
36132         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
36133         (SYS_STAT_H): Remove unused variable.
36134         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
36135         * lib/fcntl--.h (includes): Remove unneeded header.
36136         * lib/openat-safer.c (includes): Likewise.
36137         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
36138         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
36139         appropriate headers.
36140         (__OPENAT_PREFIX): Delete.
36141         * lib/fcntl.in.h (openat): Provide declaration.
36142         (AT_FDCWD): Fix Solaris bug.
36143         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
36144         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
36145         * lib/fchmodat.c (includes):  Adjust to find declaration.
36146         * lib/fchownat.c (includes): Likewise.
36147         * lib/mkdirat.c (includes): Likewise.
36148         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
36149         still visible.
36150
36151 2009-09-02  Eric Blake  <ebb9@byu.net>
36152
36153         errno: use consistently
36154         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
36155         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
36156         * lib/canonicalize.c (ELOOP): Likewise.
36157         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
36158         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
36159         * lib/lchown.c (EOPNOTSUPP): Likewise.
36160         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
36161         * lib/savewd.c (ESTALE): Likewise.
36162         * lib/settime.c (ENOSYS): Likewise.
36163         * lib/utimens.c (ENOSYS): Likewise.
36164         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
36165         * lib/chdir-safer.c (ELOOP): Likewise.
36166         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
36167         * modules/c-stack (Depends-on): Add errno.
36168         * modules/canonicalize (Depends-on): Likewise.
36169         * modules/chdir-safer (Depends-on): Likewise.
36170         * modules/fdopendir (Depends-on): Likewise.
36171         * modules/inet_ntop (Depends-on): Likewise.
36172         * modules/inet_pton (Depends-on): Likewise.
36173         * modules/lchown (Depends-on): Likewise.
36174         * modules/openat (Depends-on): Likewise.
36175         * modules/savewd (Depends-on): Likewise.
36176         * modules/settime (Depends-on): Likewise.
36177         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
36178
36179         fts: avoid leaking fds
36180         * modules/fts (Depends-on): Add cloexec.
36181         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
36182         flag.
36183
36184         fts: make directory fds more robust
36185         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
36186         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
36187
36188         backupfile, chdir-long, fts, savedir: make safer
36189         * lib/backupfile.c (includes): Use "dirent--.h", since
36190         numbered_backup can write to stderr during readdir.
36191         * lib/savedir.c (includes): Likewise.
36192         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
36193         emulation can write to stderr on failure.
36194         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
36195         * lib/getcwd.c: Document why opendir_safer is unused.
36196         * lib/glob.c: Likewise.
36197         * lib/scandir.c: Likewise.
36198         * lib/openat-proc.c: Likewise, for open_safer.
36199         * modules/backupfile (Depends-on): Add dirent-safer.
36200         * modules/savedir (Depends-on): Likewise.
36201         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
36202         * modules/chdir-long (Depends-on): Add openat-safer.
36203
36204         openat-safer: new module
36205         * modules/openat-safer: New file.
36206         * lib/openat-safer.c: Likewise.
36207         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
36208         * lib/fcntl-safer.h (openat_safer): Declare.
36209         * lib/fcntl--.h (openat): Override.
36210         * MODULES.html.sh (File descriptor based I/O): Mention it.
36211         * lib/openat.h: Add double-inclusion guards.
36212         * lib/openat.c (includes): Only include "fcntl-safer.h", not
36213         "fcntl--.h", so we can implement openat.
36214         * modules/openat-safer-tests: New test.
36215         * tests/test-openat-safer.c: New file.
36216
36217         dirent-safer: new module
36218         * modules/dirent-safer: New file.
36219         * lib/dirent--.h: Likewise.
36220         * lib/dirent-safer.h: Likewise.
36221         * lib/opendir-safer.c: Likewise.
36222         * m4/dirent-safer.m4: Likewise.
36223         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
36224         * modules/dirent-safer-tests: New test.
36225         * tests/test-dirent-safer.c: New file.
36226         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
36227
36228         fdopendir: optimize on mingw
36229         * lib/unistd.in.h (_gl_directory_name): New prototype.
36230         * lib/fchdir.c (_gl_directory_name): Implement it.
36231         (fchdir): Use it to simplify implementation.
36232         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
36233         fchdir, when available, to avoid calling [f]chdir().
36234
36235         fdopendir: split into its own module
36236         * lib/openat.c (fdopendir): Move...
36237         * lib/fdopendir.c: ...into new file.
36238         * modules/fdopendir: New module.
36239         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
36240         * modules/openat (Depends-on): Add fdopendir.
36241         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
36242         fdopendir here.
36243         * modules/savedir (Depends-on): Only need fdopendir, not full
36244         openat.
36245         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
36246         * lib/openat.h (fdopendir): Drop prototype.
36247         * lib/dirent.in.h (fdopendir): Provide prototype.
36248         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
36249         * modules/dirent (Makefile.am): Substitute them.
36250         * MODULES.html.sh (File system functions): Mention it.
36251         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
36252         * modules/fdopendir-tests: New file.
36253         * tests/test-fdopendir.c: Likewise.
36254
36255         fchdir: use more consistent macro convention
36256         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
36257         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
36258         REPLACE_FCHDIR, rather than relying on config.h macros.
36259         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
36260         inside a single make-time REPLACE_FCHDIR block, rather than using
36261         the config.h FCHDIR_REPLACEMENT.
36262         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
36263         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
36264         Manage fstat replacement.
36265         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
36266         REPLACE_FCHDIR.
36267         * modules/sys_stat (Files): Add m4/unistd_h.m4.
36268         (Makefile.am): Substitute REPLACE_FCHDIR.
36269         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
36270         FCHDIR_REPLACEMENT.
36271         * lib/dup-safer.c (dup_safer): Likewise.
36272         * lib/dup2.c (rpl_dup2): Likewise.
36273         * lib/dup3.c (rpl_dup3): Likewise.
36274         * lib/open.c (rpl_open): Likewise.
36275
36276         fchdir: simplify error handling, and support dup3
36277         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
36278         stdbool, malloc-posix, realloc-posix.
36279         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
36280         (ensure_dirs_slot): Return false on allocation failure.
36281         (rpl_dup2): Delete.
36282         (_gl_register_dup): New function.
36283         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
36284         (_gl_register_fd): Close fd on allocation failure.
36285         * lib/fcntl.in.h (_gl_register_fd): Update signature.
36286         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
36287         prototype.
36288         (rpl_dup2_fchdir): Delete prototype.
36289         * lib/open.c (open): Update caller.
36290         * lib/dup2.c (dup2): Track fchdir metadata.
36291         * lib/dup3.c (dup3): Likewise.
36292         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
36293         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
36294
36295 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36296
36297         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
36298         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
36299         don't pass arguments to AC_OUTPUT.
36300
36301 2009-09-02  Bruno Haible  <bruno@clisp.org>
36302
36303         * modules/mkdtemp (License): Relicense under LGPLv2+.
36304         Reported by Paolo Bonzini.
36305
36306 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36307
36308         Replace uses of obsolete autoconf macros in Jim's modules.
36309         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
36310         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
36311         can evoke a warning from autoconf when run with -Wobsolete
36312         enabled.  They were declared obsolete for good reasons (see
36313         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
36314         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
36315         should not continue using the deprecated macros.
36316         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
36317         obsolete Autoconf macros with modern counterparts.
36318         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
36319         * m4/dos.m4 (gl_AC_DOS): Likewise.
36320         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
36321         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
36322         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
36323         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
36324         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
36325         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
36326         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
36327         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
36328         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
36329         Likewise.
36330         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
36331         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
36332         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
36333         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
36334         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
36335         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
36336
36337 2009-09-01  Eric Blake  <ebb9@byu.net>
36338
36339         fchdir: fix off-by-one bug in previous patch
36340         * lib/fchdir.c (rpl_fstat): Use correct bounds.
36341         (_gl_unregister_fd): Delete useless if.
36342
36343 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
36344
36345         maint.mk: sort the list of syntax-check rules
36346         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
36347         easier to get a sense of progress when the rules are run sequentially
36348         and take a long time.
36349
36350 2009-09-01  Simon Josefsson  <simon@josefsson.org>
36351
36352         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
36353         * modules/netinet_in: Likewise.
36354         * modules/sys_file: Likewise.
36355         * modules/sys_ioctl: Likewise.
36356         * modules/sys_select: Likewise.
36357         * modules/sys_socket: Likewise.
36358         * modules/sys_stat: Likewise.
36359         * modules/sys_time: Likewise.
36360         * modules/sys_times: Likewise.
36361         * modules/sys_utsname: Likewise.
36362         * modules/sys_wait: Likewise.
36363
36364 2009-09-01  Jim Meyering  <meyering@redhat.com>
36365
36366         fts: help ensure that return values are not ignored
36367         * lib/fts_.h (__GNUC_PREREQ): Define.
36368         (__attribute_warn_unused_result__): Define.
36369         (fts_children, fts_close, fts_open, fts_read): Declare with
36370         __attribute_warn_unused_result__.
36371
36372         fts: fts_close now fails also when closing a dir file descriptor fails
36373         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
36374         and propagate to caller, along with errno.
36375
36376         announce-gen: correct formatting in --help output
36377         * build-aux/announce-gen (usage): Move the one-line description in
36378         --help output "up", to where it belongs, just after Usage:.
36379
36380 2009-08-31  Eric Blake  <ebb9@byu.net>
36381
36382         fchdir: port to mingw
36383         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
36384         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
36385         opened, then use a substitute.
36386         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
36387         replacement.
36388         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
36389         (_gl_register_fd): No need to check stat if open already filters
36390         all directories.
36391         (fchdir): Fix error condition to match POSIX.
36392         * modules/fchdir (Depends-on): Add sys_stat.
36393         * doc/posix-functions/open.texi (open): Document the limitation.
36394         * modules/fchdir-tests: New file.
36395         * tests/test-fchdir.c: Likewise.
36396
36397         canonicalize: allow cross-testing from cygwin to mingw
36398         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
36399         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
36400         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
36401         Likewise.
36402         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
36403         target does not support symlinks.
36404         * tests/test-canonicalize-lgpl.sh: Likewise.
36405
36406         chown: avoid compilation warning on mingw
36407         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
36408         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
36409         mingw.
36410         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
36411         * modules/chown (Depends-on): Add errno.
36412
36413 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
36414
36415         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
36416         command.
36417
36418 2009-08-31  Jim Meyering  <meyering@redhat.com>
36419
36420         canonicalize: remove useless initialization
36421         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
36422         initialization of local, "end".
36423
36424 2009-08-30  Bruno Haible  <bruno@clisp.org>
36425
36426         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
36427         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
36428         ENOSYS.
36429
36430 2009-08-30  Bruno Haible  <bruno@clisp.org>
36431
36432         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
36433         /usr/xpg4/bin/tr when it exists.
36434         * tests/test-pipe-filter-gi1.sh: Likewise.
36435
36436 2009-08-30  Bruno Haible  <bruno@clisp.org>
36437
36438         Work around deficient /usr/bin/id program on Solaris.
36439         * tests/test-file-has-acl.sh (ID): New variable.
36440         * tests/test-set-mode-acl.sh (ID): Likewise.
36441         * tests/test-copy-acl.sh (ID): Likewise.
36442         * tests/test-copy-file.sh (ID): Likewise.
36443
36444 2009-08-30  Bruno Haible  <bruno@clisp.org>
36445
36446         New module 'xstriconveh'.
36447         * lib/xstriconveh.h: New file.
36448         * lib/xstriconveh.c: New file.
36449         * modules/xstriconveh: New file.
36450
36451 2009-08-30  Bruno Haible  <bruno@clisp.org>
36452
36453         Make it easier to use mem_cd_iconveh.
36454         * lib/striconveh.h (iconveh_t): New type.
36455         (iconveh_open, iconveh_close): New declarations.
36456         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
36457         with a single 'const iconveh_t *' argument.
36458         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
36459         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
36460         with a single 'const iconveh_t *' argument.
36461         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
36462         * tests/test-striconveh.c (main): Update.
36463         * NEWS: Mention the change.
36464
36465 2009-08-30  Bruno Haible  <bruno@clisp.org>
36466
36467         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
36468         problem.
36469
36470 2009-08-30  Bruno Haible  <bruno@clisp.org>
36471
36472         Work around iconv_open problem on Solaris.
36473         * lib/iconv_open-solaris.gperf: New file.
36474         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
36475         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
36476         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
36477         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
36478         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
36479         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
36480
36481 2009-08-29  Jim Meyering  <meyering@redhat.com>
36482
36483         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
36484         * top/maint.mk (cvs-check): Remove target; it was just an alias
36485         to the better-named vc-diff-check.
36486         (maintainer-distcheck): Remove rule.  It was used only from
36487         the (alpha/beta/major) target, and all of its commands but one
36488         were coreutils-specific.
36489         (vc-dist): Remove rule.
36490         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
36491         Run vc-diff-check, not vc-dist.
36492         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
36493
36494 2009-08-27  Bruno Haible  <bruno@clisp.org>
36495
36496         * tests/test-bitrotate.c (main): Remove test that uses a shift count
36497         of 0.
36498
36499 2009-08-27  Bruno Haible  <bruno@clisp.org>
36500
36501         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
36502         compilers.
36503         * doc/func.texi: Document the SunPRO C bug.
36504
36505 2009-08-27  Bruno Haible  <bruno@clisp.org>
36506
36507         Fix link error on Solaris.
36508         * tests/test-parse-duration.c (xstrdup): Remove function.
36509
36510 2009-08-26  Pádraig Brady  <P@draigbrady.com>
36511
36512         ignore-value: handle pointer types, too
36513         * lib/ignore-value.h (__attribute__): Remove definition.
36514         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
36515         of a more concise and more-often effective "(void) i" statement.
36516         (ignore_ptr): New function to suppress warnings from functions that
36517         return pointers, and to make it explicit that one function doesn't
36518         handle all cases.
36519
36520 2009-08-25  Bruno Haible  <bruno@clisp.org>
36521
36522         dup2: work around a Linux bug.
36523         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
36524         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
36525         * doc/posix-functions/dup2.texi: Mention the Linux bug.
36526         Reported by Simon Josefsson.
36527
36528 2009-08-25  Jim Meyering  <meyering@redhat.com>
36529
36530         libguestfs uses gnulib
36531         * users.txt: Add libguestfs.
36532
36533 2009-08-24  Eric Blake  <ebb9@byu.net>
36534
36535         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
36536         * lib/pipe2.c (includes): Add binary-io.h.
36537         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
36538
36539 2009-08-24  Bruno Haible  <bruno@clisp.org>
36540
36541         Tolerate declared but missing accept4 syscall.
36542         * lib/accept4.c (accept4): Invoke original accept4 function first, if
36543         available.
36544         * lib/sys_socket.in.h (accept4): If the function is already present,
36545         override it.
36546         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
36547         * modules/accept4 (Makefile.am): Compile accept4.c always.
36548         Reported by Paolo Bonzini and Eric Blake.
36549
36550 2009-08-23  Bruno Haible  <bruno@clisp.org>
36551
36552         New module 'accept4'.
36553         * lib/sys_socket.in.h (accept4): New declaration.
36554         * lib/accept4.c: New file.
36555         * m4/accept4.m4: New file.
36556         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
36557         GNULIB_ACCEPT4, HAVE_ACCEPT4.
36558         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
36559         HAVE_ACCEPT4.
36560         * modules/accept4: New file.
36561         * doc/glibc-functions/accept4.texi: Mention the new module.
36562
36563 2009-08-24  Jim Meyering  <meyering@redhat.com>
36564
36565         progname: also set global program_invocation_name, when possible
36566         Before this change, a libtool-enabled program that calls glibc's
36567         error function would report the program name as
36568         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
36569         * modules/progname (configure.ac): Check for a declaration of
36570         program_invocation_name.
36571         * lib/progname.c:  Include <errno.h>.
36572         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
36573         Set program_invocation_name.
36574
36575 2009-08-23  Bruno Haible  <bruno@clisp.org>
36576
36577         * lib/dup3.c: Include <string.h>.
36578
36579 2009-08-23  Bruno Haible  <bruno@clisp.org>
36580
36581         * lib/dup3.c (dup3): Test only once whether the system actually exists.
36582         * lib/pipe2.c (pipe2): Likewise.
36583         Suggested by Eric Blake.
36584
36585 2009-08-23  Bruno Haible  <bruno@clisp.org>
36586
36587         Tolerate declared but missing dup3 syscall.
36588         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
36589         * lib/unistd.in.h (dup3): If the function is already present,
36590         override it.
36591         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
36592         * modules/dup3 (Makefile.am): Compile dup3.c always.
36593         Reported by Paolo Bonzini.
36594
36595 2009-08-23  Bruno Haible  <bruno@clisp.org>
36596
36597         Tolerate declared but missing pipe2 syscall.
36598         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
36599         available.
36600         * lib/unistd.in.h (pipe2): If the function is already present,
36601         override it.
36602         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
36603         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
36604         Reported by Paolo Bonzini.
36605
36606 2009-08-23  Bruno Haible  <bruno@clisp.org>
36607
36608         * lib/pipe2.c (pipe2): Move #ifs inside function.
36609
36610 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36611
36612         quotearg: document limitations of quote_these_too
36613         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
36614         those limitations are created.
36615         * lib/quotearg.h (set_char_quoting): Document that digits and
36616         letters that are special after backslash are not permitted.
36617         (quotearg_char): Cross-reference set_char_quoting documentation.
36618
36619 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
36620
36621         quotearg: implement custom_quoting_style
36622         * lib/quotearg.c: (struct quoting_options): Add left_quote and
36623         right_quote fields.
36624         (set_custom_quoting): New public function.
36625         (quotearg_buffer_restyled): Add left_quote and right_quote
36626         arguments, handle them very much like locale quoting, and update
36627         all uses.
36628         (quotearg_n_custom): New public function.
36629         (quotearg_n_custom_mem): New public function.
36630         (quotearg_custom): New public function.
36631         (quotearg_custom_mem): New public function.
36632         * lib/quotearg.h: Prototype and document new public functions.
36633         (enum quoting_style): For escape_quoting_style and
36634         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
36635         ignored even though they're otherwise like c_quoting_style.
36636         Add custom_quoting_style member and document with comparison to
36637         clocale_quoting_style.
36638         * tests/test-quotearg.c (custom_quotes): New array.
36639         (custom_results): New array.
36640         (main): Extend to test custom quoting.
36641
36642 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36643
36644         quotearg: fix right quote escaping when it's in quote_these_too
36645         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
36646         quote, be sure to prepend only one backslash.
36647         * tests/test-quotearg.c (use_quote_double_quotes): New function.
36648         (main): Test it.
36649
36650 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36651
36652         quotearg-tests: test escaping of embedded locale quotes
36653         * tests/test-quotearg.c (struct result_strings): Add member for
36654         new input.
36655         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
36656         (inputs): Add new input.
36657         (results_g): Add expected results.
36658         (flag_results): Likewise.
36659         (locale_results): Likewise.
36660         (compare_strings): Check those.
36661
36662 2009-08-23  Bruno Haible  <bruno@clisp.org>
36663
36664         Tests for module 'dup3'.
36665         * modules/dup3-tests: New file.
36666         * tests/test-dup3.c: New file.
36667
36668         New module 'dup3'.
36669         * lib/unistd.in.h (dup3): New declaration.
36670         * lib/dup3.c: New file.
36671         * m4/dup3.m4: New file.
36672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
36673         HAVE_DUP3.
36674         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
36675         * modules/dup3: New file.
36676         * doc/glibc-functions/dup3.texi: Mention the new module.
36677
36678 2009-08-23  Bruno Haible  <bruno@clisp.org>
36679
36680         Tweak the dup2 test.
36681         * tests/test-dup2.c (main): Create the test file empty. Verify that an
36682         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
36683         the test file is still empty. Fix argument order of lseek.
36684
36685 2009-08-23  Bruno Haible  <bruno@clisp.org>
36686
36687         Avoid test link errors when the modules getopt-gnu, gettext are used.
36688         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
36689         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36690
36691 2009-08-23  Bruno Haible  <bruno@clisp.org>
36692
36693         Fix getdtablesize() on mingw.
36694         * lib/getdtablesize.c (getdtablesize): Implement differently.
36695         * lib/unistd.in.h (getdtablesize): Improve comment.
36696
36697 2009-08-23  Bruno Haible  <bruno@clisp.org>
36698
36699         New module 'mkostemp'.
36700         Based on Ulrich Drepper's 2007-08-10 change in glibc.
36701         * lib/stdlib.in.h (mksotemp): New declaration.
36702         * lib/mkostemp.c: New file, from glibc with modifications.
36703         * lib/tempname.h (GT_FILE): Remove outdated comment.
36704         (gen_tempname): Add flags argument.
36705         * lib/tempname.c (__GT_BIGFILE): Remove macro.
36706         (__GT_FILE): Map to 1.
36707         (small_open, large_open): Remove macros.
36708         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
36709         * lib/mkstemp.c (mkstemp): Update.
36710         * lib/mkdtemp.c (mkdtemp): Likewise.
36711         * m4/mkostemp.m4: New file.
36712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
36713         HAVE_MKOSTEMP.
36714         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
36715         HAVE_MKOSTEMP.
36716         * modules/mkostemp: New file, based on modules/mkstemp.
36717         * doc/glibc-functions/mkostemp.texi: Mention the new module.
36718         * NEWS: Mention the change.
36719
36720 2009-08-23  Bruno Haible  <bruno@clisp.org>
36721
36722         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
36723         Reported by Eric Blake.
36724
36725 2009-08-23  Bruno Haible  <bruno@clisp.org>
36726
36727         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
36728         Reported by Eric Blake.
36729
36730 2009-08-23  Bruno Haible  <bruno@clisp.org>
36731
36732         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
36733         * modules/pipe2 (Depends-on): Likewise.
36734
36735 2009-08-23  Eric Blake  <ebb9@byu.net>
36736
36737         fcntl-h: add O_TTY_INIT support
36738         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
36739         * tests/test-fcntl-h.c (o): Test it.
36740         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36741
36742         fcntl-h: rename from fcntl, in preparation for fcntl(2)
36743         * modules/fcntl: Move <fcntl.h> header replacement...
36744         * modules/fcntl-h: ...to new name, so as not to collide with
36745         like-named function.
36746         * tests/test-fcntl.c: Rename...
36747         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
36748         * modules/fcntl-tests: Rename...
36749         * modules/fcntl-h-tests: ...to this.  Update test file name.
36750         * modules/chdir-long (Depends-on): Update clients.
36751         * modules/chdir-safer (Depends-on): Likewise.
36752         * modules/fcntl-safer (Depends-on): Likewise.
36753         * modules/fts (Depends-on): Likewise.
36754         * modules/mkancesdirs (Depends-on): Likewise.
36755         * modules/mkdir-p (Depends-on): Likewise.
36756         * modules/open (Depends-on): Likewise.
36757         * modules/savewd (Depends-on): Likewise.
36758         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
36759         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36760
36761 2009-08-22  Bruno Haible  <bruno@clisp.org>
36762
36763         * modules/binary-io (License): Relicense under LGPL.
36764         * modules/pipe2 (License): Likewise.
36765
36766 2009-08-22  Bruno Haible  <bruno@clisp.org>
36767
36768         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
36769         return value.
36770         * lib/pipe-filter-gi.c (filter_init): Likewise.
36771         Reported by Eric Blake.
36772
36773 2009-08-22  Bruno Haible  <bruno@clisp.org>
36774
36775         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
36776         * modules/pipe (Depends-on): Add pipe2.
36777
36778 2009-08-22  Bruno Haible  <bruno@clisp.org>
36779
36780         Tests for module 'pipe2'.
36781         * modules/pipe2-tests: New file.
36782         * tests/test-pipe2.c: New file.
36783
36784         New module 'pipe2'.
36785         * lib/unistd.in.h (pipe2): New declaration.
36786         * lib/pipe2.c: New file.
36787         * m4/pipe2.m4: New file.
36788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
36789         HAVE_PIPE2.
36790         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
36791         * modules/pipe2: New file.
36792         * doc/glibc-functions/pipe2.texi: Mention the new module.
36793
36794 2009-08-22  Bruno Haible  <bruno@clisp.org>
36795
36796         Reference some new glibc functions.
36797         * doc/glibc-functions/accept4.texi: New file.
36798         * doc/glibc-functions/dup3.texi: New file.
36799         * doc/glibc-functions/mkostemp.texi: New file.
36800         * doc/glibc-functions/pipe2.texi: New file.
36801         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
36802         (Glibc sys/socket.h): Refer to accept4.
36803         (Glibc unistd.h): Refer to dup3, pipe2.
36804         Reported by Eric Blake.
36805
36806 2009-08-22  Jim Meyering  <meyering@redhat.com>
36807             Bruno Haible  <bruno@clisp.org>
36808
36809         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
36810         This makes it so packages using automake-1.11's silent-rules option
36811         can print e.g., a single "GEN    configmake.h" line, rather than
36812         the 30+ statements that perform the job.  If you want to see the
36813         actual commands, you can still run "make V=1".
36814         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
36815         so that make output is abbreviated when those variables are defined
36816         appropriately.
36817         * modules/argz: Likewise.
36818         * modules/arpa_inet: Likewise.
36819         * modules/byteswap: Likewise.
36820         * modules/configmake: Likewise.
36821         * modules/dirent: Likewise.
36822         * modules/errno: Likewise.
36823         * modules/fcntl: Likewise.
36824         * modules/float: Likewise.
36825         * modules/fnmatch: Likewise.
36826         * modules/getopt-posix: Likewise.
36827         * modules/glob: Likewise.
36828         * modules/iconv_open: Likewise.
36829         * modules/inttypes: Likewise.
36830         * modules/localcharset: Likewise.
36831         * modules/locale: Likewise.
36832         * modules/math: Likewise.
36833         * modules/netdb: Likewise.
36834         * modules/netinet_in: Likewise.
36835         * modules/poll: Likewise.
36836         * modules/posix_spawnp-tests: Likewise.
36837         * modules/sched: Likewise.
36838         * modules/search: Likewise.
36839         * modules/selinux-h: Likewise.
36840         * modules/signal: Likewise.
36841         * modules/spawn: Likewise.
36842         * modules/stdarg: Likewise.
36843         * modules/stdbool: Likewise.
36844         * modules/stddef: Likewise.
36845         * modules/stdint: Likewise.
36846         * modules/stdio: Likewise.
36847         * modules/stdlib: Likewise.
36848         * modules/string: Likewise.
36849         * modules/strings: Likewise.
36850         * modules/sys_file: Likewise.
36851         * modules/sys_ioctl: Likewise.
36852         * modules/sys_select: Likewise.
36853         * modules/sys_socket: Likewise.
36854         * modules/sys_stat: Likewise.
36855         * modules/sys_time: Likewise.
36856         * modules/sys_times: Likewise.
36857         * modules/sys_utsname: Likewise.
36858         * modules/sys_wait: Likewise.
36859         * modules/sysexits: Likewise.
36860         * modules/time: Likewise.
36861         * modules/unistd: Likewise.
36862         * modules/wchar: Likewise.
36863         * modules/wctype: Likewise.
36864
36865 2009-08-22  Jim Meyering  <meyering@redhat.com>
36866
36867         announce-gen: detect write failure
36868         * build-aux/announce-gen: Add Coda at end.
36869         Remove equivalent-but-more-verbose block at top.
36870
36871 2009-08-19  Akim Demaille  <demaille@gostai.com>
36872
36873         bootstrap: --help to stdout.
36874         * bootstrap (usage): Don't send --help to stderr.
36875         Use a here doc instead of a long string.
36876
36877 2009-08-21  Eric Blake  <ebb9@byu.net>
36878
36879         test-popen-safer: split from test-popen
36880         * tests/test-popen.c (main): Move...
36881         * tests/test-popen.h: ...into new file.
36882         * tests/test-popen-safer2.c: New file.
36883         * modules/popen-tests (Files): Add test-popen.h.
36884         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36885         Suggested by Bruno Haible.
36886
36887         test-fcntl-safer: split from test-open
36888         * tests/test-open.c (main): Move...
36889         * tests/test-open.h: ...into new file.
36890         * tests/test-fcntl-safer.c: New file.
36891         * modules/open-tests (Files): Add test-open.h.
36892         * modules/fcntl-safer-tests: New file.
36893         Suggested by Bruno Haible.
36894
36895         test-fopen-safer: split from test-fopen
36896         * tests/test-fopen.c (main): Move...
36897         * tests/test-fopen.h: ...into new file.
36898         * tests/test-fopen-safer.c: New file.
36899         * modules/fopen-tests (Files): Add test-fopen.h.
36900         * modules/fopen-safer-tests: New file.
36901         Suggested by Bruno Haible.
36902
36903 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36904
36905         popen-safer: test O_CLOEXEC at run-time.
36906         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36907
36908 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36909
36910         fcntl: move more flags to the header
36911         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36912         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36913         * lib/fcntl.in.h: Do both things here.
36914
36915 2009-08-21  Jim Meyering  <meyering@redhat.com>
36916
36917         consistently remove $@-t before redirecting to it
36918         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36919         * modules/alloca-opt: Likewise.
36920         * modules/byteswap: Likewise.
36921         * modules/fnmatch: Likewise.
36922         * modules/getopt-posix: Likewise.
36923         * modules/glob: Likewise.
36924         * modules/poll: Likewise.
36925         * modules/posix_spawnp-tests: Likewise.
36926         * modules/sys_socket: Likewise.
36927         * modules/sysexits: Likewise.
36928
36929 2009-08-21  Eric Blake  <ebb9@byu.net>
36930
36931         popen: simplify access to original popen
36932         * lib/popen.c (rpl_popen): No need to worry about popen being a
36933         macro.
36934         Reported by Bruno Haible.
36935
36936 2009-08-20  Eric Blake  <ebb9@byu.net>
36937
36938         build: avoid some compiler warnings
36939         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36940         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36941         type.
36942         (new_exclude_segment, excluded_file_pattern_p)
36943         (excluded_file_name_p): Reduce scope.
36944         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36945         old-style declaration.
36946
36947 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36948
36949         * tests/test-exclude1.sh: Handle Windows EOL.
36950         * tests/test-exclude2.sh: Likewise.
36951         * tests/test-exclude3.sh: Likewise.
36952         * tests/test-exclude4.sh: Likewise.
36953         * tests/test-exclude5.sh: Likewise.
36954         * tests/test-exclude6.sh: Likewise.
36955         * tests/test-exclude7.sh: Likewise.
36956
36957 2009-08-19  Akim Demaille  <demaille@gostai.com>
36958
36959         bootstrap: find sha1sum when named gsha1sum.
36960         * bootstrap (find_tool): New.
36961         ($SHA1SUM): New.
36962         Use it.
36963
36964 2009-08-20  Jim Meyering  <meyering@redhat.com>
36965
36966         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36967         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36968         expression that converts "." in a file name to "\." in the resulting
36969         regexp.  Start with a dummy statement, so that prior shell variable
36970         definitions are expanded portably.  Reported by Simon Josefsson.
36971
36972 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36973
36974         Fix polling for writeability of a screen buffer.
36975         * lib/poll.c: Distinguish input and screen buffers for the
36976         Win32 implementation.
36977         * lib/select.c: Likewise.
36978
36979 2009-08-19  Eric Blake  <ebb9@byu.net>
36980
36981         popen-safer: prevent popen from clobbering std descriptors
36982         * modules/popen-safer: New file.
36983         * lib/popen-safer.c: Likewise.
36984         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36985         * lib/stdio--.h (popen): Provide override.
36986         * lib/stdio-safer.h (popen_safer): Provide declaration.
36987         * tests/test-popen.c (includes): Partially test this.
36988         * modules/popen-safer-tests: New file, for more tests.
36989         * tests/test-popen-safer.c: Likewise.
36990         * MODULES.html.sh (file stream based Input/Output): Mention it.
36991
36992         tests: test some of the *-safer modules
36993         * modules/fopen-safer (Depends-on): Add fopen.
36994         * modules/fcntl-safer (Depends-on): Add fcntl.
36995         * modules/stdlib-safer (Depends-on): Add stdlib.
36996         (configure.ac): Set indicator.
36997         * modules/unistd-safer (configure.ac): Likewise.
36998         * modules/tmpfile-safer (configure.ac): Likewise.
36999         (Depends-on): Add tmpfile.
37000         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
37001         active.
37002         * tests/test-fopen.c (includes): Test safer versions when they are
37003         in use.
37004         * tests/test-open.c (includes): Likewise.
37005
37006         popen: fix cygwin 1.5 bug when stdin closed
37007         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
37008         * modules/popen: New file.
37009         * modules/popen-tests: Likewise.
37010         * tests/test-popen.c: Likewise.
37011         * m4/popen.m4: Likewise.
37012         * lib/popen.c: Likewise.
37013         * lib/stdio.in.h (popen): New declaration.
37014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
37015         * modules/stdio (Makefile.am): Likewise.
37016         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
37017
37018 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
37019
37020         maint.mk: give full control over update-copyright exclusions
37021         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
37022         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
37023         (update-copyright): Don't force inclusion of top-level
37024         ChangeLog.  Don't force exclusion of all COPYING files, but make
37025         them the default exclusion instead.
37026
37027 2009-08-16  Bruno Haible  <bruno@clisp.org>
37028
37029         Fix test failures on Solaris 10.
37030         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
37031         tests when Solaris iconv() is used.
37032         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
37033         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
37034         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
37035         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
37036         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
37037
37038 2009-08-16  Bruno Haible  <bruno@clisp.org>
37039
37040         Fix test failures on Solaris 10.
37041         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
37042         'tr' program and pass it as first argument.
37043         * tests/test-pipe-filter-gi1.sh: Likewise.
37044         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
37045         program as first argument.
37046         * tests/test-pipe-filter-gi1.c (main): Likewise.
37047
37048 2009-08-16  Eric Blake  <ebb9@byu.net>
37049
37050         fpurge: fix previous commits
37051         * modules/fpurge (Makefile.am): Make replacement conditional,
37052         partially reverting 2007-04-29 change; missed in previous
37053         attempt.
37054         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
37055         is missing.
37056
37057 2009-08-16  Bruno Haible  <bruno@clisp.org>
37058
37059         Clarify fpurge's effect on the file position.
37060         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
37061         * tests/test-fpurge.c (main): Make a second pass for checking the file
37062         position.
37063
37064 2009-08-16  Bruno Haible  <bruno@clisp.org>
37065
37066         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
37067         declaration of fpurge is missing.
37068         * tests/test-fpurge.c (main): Check that the file has not more contents
37069         than expected. Close the file before removing it.
37070
37071 2009-08-15  Eric Blake  <ebb9@byu.net>
37072
37073         fpurge: don't wrap working cygwin implementation
37074         * lib/fpurge.c (fpurge): Fix comment typo.
37075         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
37076         1.7 to avoid replacement.
37077         * tests/test-fpurge.c (main): Enhance test.
37078
37079 2009-08-15  Eric Blake  <ebb9@byu.net>
37080         and Jim Meyering  <meyering@redhat.com>
37081
37082         test-update-copyright: skip if perl is insufficient
37083         * tests/test-update-copyright.sh: Failure to run maintainer tool
37084         should not cause testsuite failure on cygwin 1.5.
37085
37086 2009-08-14  Eric Blake  <ebb9@byu.net>
37087
37088         doc: mention more functions added in cygwin 1.7.0
37089         * doc/posix-headers/limits.texi (limits.h): Update for recent
37090         cygwin additions.
37091         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
37092         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37093         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
37094         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
37095         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
37096
37097 2009-08-14  Eric Blake  <ebb9@byu.net>
37098
37099         maint.mk: simplify update-copyright rule
37100         * top/maint.mk (update-copyright-local): Delete, and document how
37101         to do it in cfg.mk instead.
37102         (update-copyright-exclude-regexp): Delete, and document how to do
37103         it in .x-update-copyright instead.
37104         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
37105         exclude ChangeLog.
37106
37107 2009-08-14  Bruno Haible  <bruno@clisp.org>
37108
37109         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
37110
37111 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
37112
37113         maint.mk: support update-copyright-env
37114         * top/maint.mk (update-copyright-env): Define place-holder.
37115         (update-copyright): Expand $(update-copyright-env) before
37116         invoking update-copyright.
37117
37118 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
37119
37120         update-copyright: implement forced reformatting
37121         * build-aux/update-copyright: Implement and document
37122         UPDATE_COPYRIGHT_FORCE.
37123         * tests/test-update-copyright.sh: Test it.
37124
37125 2009-08-14  Eric Blake  <ebb9@byu.net>
37126         and Bruno Haible  <bruno@clisp.org>
37127
37128         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
37129         * tests/test-locale.c: Revert previous patch related to NULL.
37130         * tests/test-stdio.c: Likewise.
37131         * tests/test-stdlib.c: Likewise.
37132         * tests/test-string.c: Likewise.
37133         * tests/test-unistd.c: Likewise.
37134         * modules/time-tests (Depends-on): Add verify.
37135         * modules/wchar-tests (Depends-on): Likewise.
37136         * tests/test-time.c: Test for NULL compliance.
37137         * tests/test-wchar.c: Likewise.
37138         * modules/locale (Depends-on): Add stddef.
37139         * modules/stdio (Depends-on): Likewise.
37140         * modules/stdlib (Depends-on): Likewise.
37141         * modules/string (Depends-on): Likewise.
37142         * modules/time (Depends-on): Likewise.
37143         * modules/unistd (Depends-on): Likewise.
37144         * modules/wchar (Depends-on): Likewise.
37145         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
37146         * lib/stdlib.in.h (includes): Likewise.
37147         * lib/string.in.h (includes): Likewise.
37148         * lib/time.in.h (includes): Likewise.
37149         * lib/unistd.in.h (includes): Likewise.
37150         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
37151         replaced.
37152         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37153         * m4/stddef_h.m4: New file.
37154         * modules/stddef: Likewise.
37155         * lib/stddef.in.h: Likewise.
37156         * modules/stddef-tests: Likewise.
37157         * tests/test-stddef.c: Likewise.
37158         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
37159         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
37160         * doc/posix-headers/locale.texi (locale.h): Likewise.
37161         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
37162         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
37163         * doc/posix-headers/string.texi (string.h): Likewise.
37164         * doc/posix-headers/time.texi (time.h): Likewise.
37165         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
37166         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
37167
37168 2009-08-14  Eric Blake  <ebb9@byu.net>
37169
37170         doc: improve git diff of texinfo files
37171         * .gitattributes: Add rule for *.texi files, with hint on how to
37172         use it.
37173         Copied from m4, and based on a report by Bruno Haible.
37174
37175 2009-08-14  Bruno Haible  <bruno@clisp.org>
37176
37177         Disable multithread support by default on Cygwin 1.5.x for real.
37178         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
37179
37180 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
37181
37182         update-copyright: much ado about intervals
37183         * build-aux/update-copyright: Implement and document
37184         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
37185         of copyright year intervals.
37186         Also, document UPDATE_COPYRIGHT_YEAR.
37187         * tests/test-update-copyright.sh: Test it.
37188
37189         update-copyright: convert 2-digit to 4-digit years
37190         * build-aux/update-copyright: Implement and document.
37191         * tests/test-update-copyright.sh: Update.
37192
37193 2009-08-14  Jim Meyering  <meyering@redhat.com>
37194
37195         test-exclude: avoid coreutils "make check" failure
37196         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
37197         just as in test-argmatch.c.
37198
37199 2009-08-13  Eric Blake  <ebb9@byu.net>
37200
37201         test-dup2: fix bad assumption
37202         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
37203         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
37204
37205         test-version-etc: fix CRLF portability issue
37206         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
37207         recognize \r.
37208         * tests/test-argp-version-etc-1.sh: Likewise.
37209
37210         getopt: update client modules
37211         * modules/argp (Depends-on): Use getopt-gnu.
37212         * modules/git-merge-changelog (Depends-on): Likewise.
37213         * modules/long-options (Depends-on): Likewise.
37214         * modules/xstrtol (Depends-on): Likewise.
37215
37216 2009-08-13  Simon Josefsson  <simon@josefsson.org>
37217
37218         * tests/test-version-etc.sh: Don't fail on different
37219         project/version.  Don't fail on CRLF differences.  Rewrite to use
37220         multiple -e instead of multiple sed forks, suggested by Eric Blake
37221         <ebb9@byu.net>.
37222         * tests/test-argp-version-etc-1.sh: Likewise.
37223
37224 2009-08-13  Simon Josefsson  <simon@josefsson.org>
37225
37226         * tests/test-version-etc.sh: Don't fail on different
37227         project/version.
37228
37229 2009-08-12  Bruno Haible  <bruno@clisp.org>
37230
37231         Tests for modules 'getopt-posix', 'getopt-gnu'.
37232         * modules/getopt-posix-tests: New file.
37233         * tests/test-getopt.c: New file.
37234         * tests/test-getopt.h: New file.
37235         * tests/test-getopt_long.h: New file.
37236
37237         New modules 'getopt-posix', 'getopt-gnu'.
37238         * modules/getopt-gnu: New file, renamed from modules/getopt.
37239         * modules/getopt-posix: New file.
37240         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
37241         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
37242         (gl_GETOPT): Remove macro.
37243         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
37244         Disable the test against BSD systems that declare optreset. Test
37245         against mingw bug. Test against lack of support of optional arguments
37246         on many platforms.
37247         * doc/glibc-headers/getopt.texi: Update module name and list of
37248         relevant platforms.
37249         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
37250         'getopt-gnu' and more portability problems.
37251         * NEWS: Mention the changes.
37252
37253 2009-08-12  Bruno Haible  <bruno@clisp.org>
37254
37255         Ensure that optarg etc. get declared by <unistd.h>.
37256         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
37257         AC_USE_SYSTEM_EXTENSIONS.
37258         * modules/getopt (Depends-on): Add 'extensions'.
37259
37260 2009-08-12  Bruno Haible  <bruno@clisp.org>
37261
37262         Avoid test link errors.
37263         * modules/pipe-filter-ii-tests (Makefile.am): Define
37264         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
37265         * modules/pipe-filter-gi-tests (Makefile.am): Define
37266         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
37267         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37268
37269 2009-08-12  Bruno Haible  <bruno@clisp.org>
37270
37271         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
37272         gl_GETOPT_SUBSTITUTE before.
37273         (gl_GETOPT): Use it.
37274         * m4/argp.m4 (gl_ARGP): Update.
37275         Reported by Sergey Poznyakoff.
37276
37277         * m4/getopt.m4: Reorder macros.
37278         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
37279         (gl_GETOPT_SUBSTITUTE): Remove macro.
37280
37281 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
37282
37283         Minor improvement in gitlog-to-changelog
37284
37285         * build-aux/gitlog-to-changelog: New option `--format' makes
37286         output format string configurable.
37287
37288 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
37289
37290         Optimize exclude: use hash tables for non-wildcard patterns.
37291
37292         * lib/exclude.c: Include hash.h and mbuiter.h
37293         (struct exclude_pattern, exclude_segment): New data types.
37294         (struct exclude): Rewrite.
37295         (fnmatch_pattern_has_wildcards): New function.
37296         (new_exclude_segment, free_exclude_segment): New functions.
37297         (excluded_file_pattern_p, excluded_file_name_p): New functions.
37298         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
37299         * lib/exclude.h (is_fnmatch_pattern): New prototype.
37300         * modules/exclude: Depend on hash and mbuiter.
37301
37302         * modules/exclude-tests: New file.
37303         * tests/test-exclude.c: New file.
37304         * tests/test-exclude1.sh: New file.
37305         * tests/test-exclude2.sh: New file.
37306         * tests/test-exclude3.sh: New file.
37307         * tests/test-exclude4.sh: New file.
37308         * tests/test-exclude5.sh: New file.
37309         * tests/test-exclude6.sh: New file.
37310         * tests/test-exclude7.sh: New file.
37311
37312 2009-08-12  Bruno Haible  <bruno@clisp.org>
37313
37314         Ensure that getopt() gets declared by <unistd.h>.
37315         * lib/unistd.in.h: Conditionally include getopt.h.
37316         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
37317         Set GNULIB_UNISTD_H_GETOPT.
37318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37319         GNULIB_UNISTD_H_GETOPT.
37320         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
37321
37322 2009-08-12  Bruno Haible  <bruno@clisp.org>
37323
37324         Clarify logic.
37325         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
37326         gl_replace_getopt instead of GETOPT_H.
37327
37328 2009-08-12  Bruno Haible  <bruno@clisp.org>
37329
37330         * m4/getopt.m4: Add comments.
37331
37332 2009-08-12  Bruno Haible  <bruno@clisp.org>
37333
37334         Disable multithread support by default on Cygwin 1.5.x.
37335         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
37336         set gl_use_threads=no if not specified otherwise.
37337
37338 2009-08-11  Bruno Haible  <bruno@clisp.org>
37339
37340         Avoid compilation error on NetBSD 5.0.
37341         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
37342         * tests/test-stdio.c: Likewise.
37343         * tests/test-stdlib.c: Likewise.
37344         * tests/test-string.c: Likewise.
37345         * tests/test-unistd.c: Likewise.
37346         Reported by Greg Troxel <gdt@ir.bbn.com>
37347         at <https://savannah.gnu.org/support/?106973>.
37348
37349 2009-08-11  Bruno Haible  <bruno@clisp.org>
37350
37351         * modules/dup2-tests (Depends-on): Remove close.
37352
37353         Undo 2009-07-19 commit.
37354         * modules/acl-tests (Depends-on): Remove close.
37355         * modules/binary-io-tests (Depends-on): Likewise.
37356         * modules/closein-tests (Depends-on): Likewise.
37357         * modules/flock-tests (Depends-on): Likewise.
37358         * modules/fsync-tests (Depends-on): Likewise.
37359         * modules/lseek-tests (Depends-on): Likewise.
37360         * modules/pipe-tests (Depends-on): Likewise.
37361         * modules/posix_spawn-tests (Depends-on): Likewise.
37362         * modules/posix_spawnp-tests (Depends-on): Likewise.
37363         * modules/stat-time-tests (Depends-on): Likewise.
37364         * modules/yesno-tests (Depends-on): Likewise.
37365
37366 2009-08-10  Bruno Haible  <bruno@clisp.org>
37367
37368         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
37369
37370 2009-08-10  Bruno Haible  <bruno@clisp.org>
37371
37372         Fix a gcc warning.
37373         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
37374
37375 2009-08-10  Bruno Haible  <bruno@clisp.org>
37376
37377         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
37378         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
37379         not only the first time.
37380         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
37381         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
37382         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
37383         is 1, not only the the first time.
37384
37385 2009-08-10  Bruno Haible  <bruno@clisp.org>
37386
37387         Make it possible to use module 'gethostname' without module 'close'.
37388         * lib/unistd.in.h (close): Evoke a link error only if
37389         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
37390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37391         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37392         * modules/unistd (Makefile.am): Substitute
37393         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37394         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
37395         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
37396         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
37397         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37398         * modules/sys_ioctl (Makefile.am): Substitute
37399         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37400         * modules/socket (configure.ac): On native Windows, set
37401         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
37402         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37403         Reported by Sam Steingold <sds@gnu.org>.
37404
37405 2009-08-10  Bruno Haible  <bruno@clisp.org>
37406
37407         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
37408         * modules/ioctl (configure.ac): Likewise.
37409
37410 2009-08-10  Bruno Haible  <bruno@clisp.org>
37411
37412         Avoid collision between gnulib wrapper and libintl wrapper.
37413         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
37414         already defined in intl/printf.c.
37415         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
37416         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
37417
37418 2009-08-09  Bruno Haible  <bruno@clisp.org>
37419
37420         Make <sys/select.h> really self-contained, also on Solaris 10.
37421         * lib/sys_select.in.h: Include <string.h>.
37422         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
37423         Solaris 10 problem.
37424         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
37425         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
37426         Reported by Jim Meyering.
37427
37428 2009-08-09  Bruno Haible  <bruno@clisp.org>
37429
37430         Avoid warnings from 'aclocal' that are due to a use of macro name
37431         AM_XGETTEXT_OPTION that is not defined in automake.
37432         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
37433         automake.
37434         * modules/error (configure.ac): Likewise.
37435         * modules/propername (configure.ac): Likewise.
37436         * modules/vasprintf (configure.ac): Likewise.
37437         * modules/verror (configure.ac): Likewise.
37438         * modules/xprintf (configure.ac): Likewise.
37439         * modules/xvasprintf (configure.ac): Likewise.
37440
37441 2009-08-08  Bruno Haible  <bruno@clisp.org>
37442
37443         Avoid compilation error in C++ mode.
37444         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
37445         Reported by Sam Steingold <sds@gnu.org>.
37446
37447 2009-08-08  Bruno Haible  <bruno@clisp.org>
37448
37449         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
37450         for the various Unix platforms.
37451         * doc/posix-headers/limits.texi: Update platforms list regarding
37452         HOST_NAME_MAX.
37453         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37454
37455 2009-08-07  Jim Meyering  <meyering@redhat.com>
37456
37457         selinux-at: fix typo in a comment
37458         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
37459         Spotted by Paolo Bonzini.
37460
37461         selinux-at: remove redundant m4 code, add documentation
37462         * modules/selinux-at (configure.ac): Remove redundant code.
37463         LIB_SELINUX is already set via the dependent module, selinux-h.
37464         (Include): Add quotes around selinux-at.h.
37465         * lib/selinux-at.h: Add documentation.
37466         Reported by Bruno Haible in
37467         http://marc.info/?l=gnulib-bug&m=124958988300749
37468
37469 2009-08-07  Bruno Haible  <bruno@clisp.org>
37470
37471         Avoid link error on MacOS X 10.3 and 10.4.
37472         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
37473         on non-ELF systems.
37474         * lib/argp-pv.c (argp_program_version): Likewise.
37475         Reported by Simon Josefsson.
37476
37477 2009-08-07  Simon Josefsson  <simon@josefsson.org>
37478
37479         * tests/test-version-etc.sh: Use $EXEEXT.
37480
37481 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
37482
37483         update-copyright: update documentation to point to maint.mk
37484         * build-aux/update-copyright: Here.
37485
37486 2009-08-06  Jim Meyering  <meyering@redhat.com>
37487
37488         maint.mk: support update-copyright-local
37489         * top/maint.mk (update-copyright-local): Define place-holder.
37490         (update-copyright): Depend on $(update-copyright-local).
37491
37492 2009-08-06  Jim Meyering  <meyering@redhat.com>
37493
37494         selinux-at: new module
37495         Initially written for coreutils, this module will soon be
37496         used by findutils, too.
37497         * MODULES.html.sh [Misc]: Add selinux-at.
37498         * lib/selinux-at.h: New file, from coreutils.
37499         * lib/selinux-at.c: Likewise.
37500         * modules/selinux-at: Likewise.
37501         (License): Change from LGPL to GPL, since it depends
37502         on the GPL'd openat module.
37503
37504         doc: update README
37505         * README: Remove references to cogito.
37506         Remove cvs-repo-updating instructions from 2007.
37507         Don't imply that CVS is better if you have limited disk space.
37508
37509 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37510
37511         update-copyright: support C-style comments
37512         * build-aux/update-copyright: Implement and document.
37513         * tests/test-update-copyright.sh: Test.
37514
37515 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37516
37517         update-copyright: support omitted "(C)"
37518         * build-aux/update-copyright: Implement and document.  Also,
37519         allow variable whitespace before "(C)".
37520         * tests/test-update-copyright.sh: Test.
37521
37522 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37523
37524         update-copyright: don't trip on non-FSF copyright statements
37525         * build-aux/update-copyright: Fix so that the first correctly
37526         formatted FSF copyright statement is recognized no matter what
37527         appears before it.  Update documentation.
37528         * tests/test-update-copyright.sh: Test that.
37529
37530 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37531
37532         update-copyright: clean up code a little
37533         * build-aux/update-copyright: Append "_re" to the name of any
37534         variable holding a regular expression.
37535         Replace "old" and "new" with "stmt" in variable names.
37536         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
37537         handled correctly.
37538         Format code more consistently.
37539
37540 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37541
37542         update-copyright-tests: improve portability
37543         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
37544         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
37545
37546 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
37547
37548         update-copyright: support @copyright{} and &copy;
37549         * build-aux/update-copyright: Implement and document.
37550         * tests/test-update-copyright.sh: Test.
37551
37552 2009-08-04  Jim Meyering  <meyering@redhat.com>
37553
37554         update-copyright-tests: correctly test EOL=\r\n handling
37555         * tests/test-update-copyright.sh: Put \r at the end of some lines
37556         for the dos-eol tests.  Based on a patch by Joel E. Denny.
37557
37558         maint.mk: make update-copyright exclusion list more configurable
37559         * top/maint.mk (update-copyright): Default to excluding COPYING,
37560         but allow an override, in case someone does want to update that file.
37561
37562         maint.mk: don't update copyright date in COPYING
37563         * top/maint.mk (update-copyright): Exclude COPYING.
37564
37565         maint.mk: add a copyright-updating rule
37566         * top/maint.mk (update-copyright): New rule.
37567         Derived from coreutils/Makefile.am.
37568
37569         update-copyright: rename some variables
37570         * build-aux/update-copyright: Rename a few variables for clarity.
37571         Tweak syntax.  List Joel E. Denny as coauthor.
37572
37573 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
37574
37575         update-copyright: fix bug for 2-digit last year and add tests
37576         * build-aux/update-copyright: Fix bug.
37577         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
37578         specified.
37579         * modules/update-copyright-tests: New
37580         * tests/test-update-copyright.sh: New.
37581
37582 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37583
37584         update-copyright: handle leading tabs in line prefix
37585         * build-aux/update-copyright: Count leading tabs as 8 spaces
37586         when computing margin.  This helps with the formatting of
37587         ChangeLogs, for example.
37588         Fix documentation a little.
37589
37590 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37591
37592         update-copyright: support EOL=\r\n
37593         * build-aux/update-copyright: Implement that.
37594
37595 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37596
37597         update-copyright: automatically format copyright statements
37598         * build-aux/update-copyright: Implement that.
37599         Also, be a little more predictable and safer by always failing
37600         when the full copyright format is not perfectly recognized as an
37601         unbroken whole.  Discussed at
37602         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
37603         Rewrite documentation.
37604
37605 2009-08-03  Bruno Haible  <bruno@clisp.org>
37606
37607         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
37608
37609 2009-08-02  Bruno Haible  <bruno@clisp.org>
37610
37611         Tests for module 'uname'.
37612         * modules/uname-tests: New file.
37613         * tests/test-uname.c: New file.
37614
37615         New module 'uname'.
37616         * lib/uname.c: New file.
37617         * m4/uname.m4: New file.
37618         * modules/uname: New file.
37619         * doc/posix-functions/uname.texi: Mention the new module.
37620
37621 2009-08-02  Bruno Haible  <bruno@clisp.org>
37622
37623         Tests for module 'sys_utsname'.
37624         * modules/sys_utsname-tests: New file.
37625         * tests/test-sys_utsname.c: New file.
37626
37627         New module 'sys_utsname'.
37628         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
37629         * m4/sys_utsname_h.m4: New file.
37630         * modules/sys_utsname: New file.
37631         * doc/posix-headers/sys_utsname.texi: Mention the new module.
37632
37633 2009-08-02  Bruno Haible  <bruno@clisp.org>
37634
37635         Implicitly initialize the sockets library.
37636         * lib/gethostname.c: Include sockets.h.
37637         (rpl_gethostname): Invoke gl_sockets_startup.
37638         * lib/socket.c: Include sockets.h.
37639         (rpl_socket): Invoke gl_sockets_startup.
37640         * modules/gethostname (Depends-on): Add sockets.
37641         * modules/socket (Depends-on): Likewise.
37642         * tests/test-poll.c: Don't include sockets.h.
37643         (main): Don't invoke gl_sockets_startup.
37644         * tests/test-select.c: Don't include sockets.h.
37645         (main): Don't invoke gl_sockets_startup.
37646
37647 2009-08-02  Bruno Haible  <bruno@clisp.org>
37648
37649         Allow multiple calls to gl_sockets_startup.
37650         * lib/sockets.c (initialized_sockets_version): New variable.
37651         (gl_sockets_startup): Do nothing if already called for this or a higher
37652         version.
37653         (gl_sockets_cleanup): Reset initialized_sockets_version.
37654
37655 2009-08-03  Simon Josefsson  <simon@josefsson.org>
37656
37657         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
37658         different project/version.
37659
37660 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
37661             Bruno Haible  <bruno@clisp.org>
37662
37663         Tests for module 'pipe-filter-gi'.
37664         * modules/pipe-filter-gi-tests: New file.
37665         * tests/test-pipe-filter-gi1.sh: New file.
37666         * tests/test-pipe-filter-gi1.c: New file.
37667         * tests/test-pipe-filter-gi2.sh: New file.
37668         * tests/test-pipe-filter-gi2-main.c: New file.
37669         * tests/test-pipe-filter-gi2-child.c: New file.
37670
37671         New module 'pipe-filter-gi'.
37672         * lib/pipe-filter-gi.c: New file.
37673         * modules/pipe-filter-gi: New file.
37674
37675 2009-08-02  Bruno Haible  <bruno@clisp.org>
37676             Paolo Bonzini  <bonzini@gnu.org>
37677
37678         Tests for module 'pipe-filter-ii'.
37679         * modules/pipe-filter-ii-tests: New file.
37680         * tests/test-pipe-filter-ii1.sh: New file.
37681         * tests/test-pipe-filter-ii1.c: New file.
37682         * tests/test-pipe-filter-ii2.sh: New file.
37683         * tests/test-pipe-filter-ii2-main.c: New file.
37684         * tests/test-pipe-filter-ii2-child.c: New file.
37685
37686         New module 'pipe-filter-ii'.
37687         * lib/pipe-filter.h: New file.
37688         * lib/pipe-filter-ii.c: New file.
37689         * lib/pipe-filter-aux.h: New file.
37690         * modules/pipe-filter-ii: New file.
37691
37692 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37693
37694         * lib/gc-libgcrypt.c: Change copyright to FSF.
37695         * lib/gc-gnulib.c: Likewise.
37696
37697 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
37698
37699         * lib/gethostname.c: Include limits.h.
37700
37701 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37702             Bruno Haible  <bruno@clisp.org>
37703
37704         Ensure HOST_NAME_MAX as part of the gethostname module.
37705         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
37706         define also HOST_NAME_MAX.
37707         * tests/test-gethostname.c: Include <limits.h>.
37708         (main): Check also HOST_NAME_MAX.
37709         * doc/posix-headers/limits.texi: Document the mingw problem.
37710
37711 2009-08-02  Bruno Haible  <bruno@clisp.org>
37712
37713         * lib/gethostname.c (gethostname): Fix handling of large len argument.
37714         Add comments.
37715
37716 2009-03-31  Simon Josefsson  <simon@josefsson.org>
37717
37718         * lib/gethostname.c: Add Windows wrapper.
37719         * m4/gethostname.m4: Look for gethostname in -lws2_32.
37720         * modules/gethostname: Depend on sys_socket & errno, for also
37721         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
37722         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
37723
37724 2009-07-31  Jim Meyering  <meyering@redhat.com>
37725
37726         getloadavg: fix symbol name in comment
37727         * lib/getloadavg.c: Correct a typo I introduced when adding
37728         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
37729         Matt Kraai spotted the problem.
37730
37731 2009-07-29  Matt Kraai  <mkraai@beckman.com>
37732
37733         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
37734         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
37735         code also if ! defined N_NAME_POINTER.
37736         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
37737         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
37738         but the n_name member is a 12-byte array.
37739
37740 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
37741
37742         update-copyright: generalize comment handling
37743         * build-aux/update-copyright: Handle copyright statements
37744         within more comment styles.
37745         Document usage.
37746         Report any file with an external copyright holder or parse failure.
37747
37748 2009-07-29  Jim Meyering  <meyering@redhat.com>
37749
37750         mktime: correct setting of REPLACE_MKTIME
37751         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
37752
37753         update-copyright: new module
37754         * modules/update-copyright: New file.
37755         * build-aux/update-copyright: New file.
37756         * MODULES.html.sh (maint+release support): Add update-copyright.
37757
37758 2009-07-27  Bruno Haible  <bruno@clisp.org>
37759
37760         Fix compilation error when <ctime> is used and mktime is replaced.
37761         * lib/time.in.h (mktime): New declaration.
37762         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
37763         REPLACE_MKTIME instead of defining mktime in config.h.
37764         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
37765         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
37766         Reported by Ross McFarland <rwmcfa1@neces.com>.
37767
37768 2009-07-27  Bruno Haible  <bruno@clisp.org>
37769
37770         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
37771         Reported by Matt Kraai <mkraai@beckman.com>.
37772
37773 2009-07-25  Jim Meyering  <meyering@redhat.com>
37774
37775         maint.mk: avoid warnings about missing files
37776         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
37777         diagnostic when .prev-version does not exist.
37778         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
37779         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
37780         nonexistent cfg.mk.
37781         Suggestions from Simon Josefsson.
37782
37783 2009-07-25  Bruno Haible  <bruno@clisp.org>
37784
37785         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
37786         defined as macros. Needed on QNX 6.4.1.
37787         Reported by Matt Kraai <mkraai@beckman.com>.
37788
37789 2009-07-23  Jim Meyering  <meyering@redhat.com>
37790
37791         maint.mk: invoke "make dist" with a working value of XZ_OPT
37792         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
37793
37794 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
37795
37796         Make fseeko.c compile on QNX.
37797         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
37798
37799 2009-07-22  Peter Simons  <simons@cryp.to>
37800
37801         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
37802         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
37803         * lib/md4.h: Likewise.
37804         * lib/md5.h: Likewise.
37805         * lib/sha1.h: Likewise.
37806         * lib/sha256.h: Likewise.
37807         * lib/sha512.h: Likewise.
37808
37809         tests-sha1: don't assign literal string to 'char *' variable
37810         * tests/test-sha1.c (main): Declare locals with "const" to match
37811         attributes of the right hand side.
37812
37813 2009-07-21  Eric Blake  <ebb9@byu.net>
37814
37815         dup2: fix more mingw problems
37816         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
37817         fd to itself.
37818         * doc/posix-functions/dup2.texi (dup2): Document the bug.
37819         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
37820         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
37821         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
37822         care of mingw bugs.
37823
37824 2009-07-21  Jim Meyering  <meyering@redhat.com>
37825
37826         vc-list-files: avoid failure when /bin/sh is dash
37827         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
37828         On some Debian based systems, /bin/sh is a symlink to dash, and running
37829         this command would omit the "/" following each 'tests' prefix:
37830           dash -x build-aux/vc-list-files -C . tests
37831         That is because bash and dash work differently:
37832           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
37833           bash ok
37834           dash odd
37835
37836 2009-07-21  Eric Blake  <ebb9@byu.net>
37837
37838         dup2-tests: test previous patch
37839         * modules/dup2-tests: New file.
37840         * tests/test-dup2.c: Likewise.
37841         * tests/test-open.c (main): Avoid unspecified behavior.
37842         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37843         test.
37844
37845         dup2: work around mingw and cygwin 1.5 bug
37846         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37848         * modules/unistd (Makefile.am): Substitute it.
37849         * lib/unistd.in.h (dup2): Declare the replacement.
37850         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37851         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37852         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37853         * modules/execute (Depends-on): Add dup2.
37854         * modules/fseterr (Depends-on): Likewise.
37855         * modules/pipe (Depends-on): Likewise.
37856         * modules/posix_spawn-internal (Depends-on): Likewise.
37857
37858 2009-07-21  Bruno Haible  <bruno@clisp.org>
37859
37860         * modules/.gitattributes: New file.
37861
37862 2009-07-20  Bruno Haible  <bruno@clisp.org>
37863
37864         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37865         (main): Use it.
37866
37867 2009-07-20  Eric Blake  <ebb9@byu.net>
37868
37869         test-pipe: make a bit more robust.
37870         * tests/test-pipe.c (myerr): Allow error messages regardless of
37871         what we do to stderr.
37872         (test_pipe): Rearrange to avoid deadlock.
37873         (child_main): Try a larger read, to ensure we avoided deadlock.
37874         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37875         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37876         if misused.
37877
37878 2009-07-19  Jim Meyering  <meyering@redhat.com>
37879
37880         fts: avoid false-positive cycle-detection
37881         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37882         for each new command line argument.
37883
37884 2009-07-19  Bruno Haible  <bruno@clisp.org>
37885
37886         Fix build error on mingw with the modules sys_select and unistd.
37887         * modules/acl-tests (Depends-on): Add close.
37888         * modules/binary-io-tests (Depends-on): Likewise.
37889         * modules/closein-tests (Depends-on): Likewise.
37890         * modules/flock-tests (Depends-on): Likewise.
37891         * modules/fsync-tests (Depends-on): Likewise.
37892         * modules/lseek-tests (Depends-on): Likewise.
37893         * modules/pipe-tests (Depends-on): Likewise.
37894         * modules/posix_spawn-tests (Depends-on): Likewise.
37895         * modules/posix_spawnp-tests (Depends-on): Likewise.
37896         * modules/stat-time-tests (Depends-on): Likewise.
37897         * modules/yesno-tests (Depends-on): Likewise.
37898
37899 2009-07-19  Bruno Haible  <bruno@clisp.org>
37900
37901         Unify conditionals.
37902         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37903         macros, not at the compiler macros.
37904         * lib/pipe.c: Likewise.
37905         * lib/execute.c: Likewise.
37906         * lib/spawni.c: Likewise.
37907
37908 2009-07-19  Bruno Haible  <bruno@clisp.org>
37909
37910         Fix handling of closed stdin/stdout/stderr on mingw.
37911         * lib/w32spawn.h: Include unistd.h.
37912         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37913         file descriptor with O_NOINHERIT flag.
37914         (fd_safer_noinherit): New function, based on fd-safer.c.
37915         (dup_safer_noinherit): New function, based on dup-safer.c.
37916         (undup_safer_noinherit): New function.
37917         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37918         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37919         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37920         instead of fd_safer.
37921         * tests/test-pipe.c: Include <windows.h>.
37922         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37923         result.
37924
37925         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37926         from main.
37927         (test_pipe): Pass an extra argument for disambiguation.
37928         (main): Invoke parent_main or child_main.
37929
37930         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37931         consistently.
37932
37933 2009-07-18  Eric Blake  <ebb9@byu.net>
37934
37935         test-pipe: fix mingw build
37936         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37937
37938 2009-07-18  Bruno Haible  <bruno@clisp.org>
37939
37940         * modules/pipe-tests (Makefile.am): Fix typo.
37941
37942 2009-07-18  Eric Blake  <ebb9@byu.net>
37943
37944         error: fix mingw build
37945         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37946         Reported by Bruno Haible.
37947
37948         error: avoid undefined use of stdout
37949         * lib/error.c (error, error_at_line): Check that fd 1 is open
37950         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37951         is handling faults and the close_stdout module wants to report the
37952         detection of closed stdout as an error.
37953
37954 2009-07-17  Eric Blake  <ebb9@byu.net>
37955
37956         pipe: be robust in face of closed fds
37957         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37958         should cause child to misbehave.
37959         * modules/pipe-tests: New module.
37960         * tests/test-pipe.c: New file.
37961         * tests/test-pipe.sh: New file.
37962         Reported by Akim Demaille.
37963
37964 2009-07-14  Bruno Haible  <bruno@clisp.org>
37965
37966         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37967         Reported by anonymous kc.
37968
37969 2009-07-07  Jim Meyering  <meyering@redhat.com>
37970
37971         maint.mk: don't look for translatable strings in *.m4 or *.mk
37972         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37973         when searching for translatable strings.
37974
37975 2009-07-05  Jim Meyering  <meyering@redhat.com>
37976
37977         remove superfluous parentheses in STREQ definition
37978         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37979         * lib/getugroups.c (STREQ): Likewise.
37980         * lib/fnmatch.c (STREQ): Likewise.
37981         Spotted by Bruno Haible.
37982
37983 2009-07-04  Jim Meyering  <meyering@redhat.com>
37984
37985         argv-iter: new module
37986         * MODULES.html.sh: Add argv-iter.
37987         * lib/argv-iter.c, lib/argv-iter.h: New files.
37988         * modules/argv-iter: New file.
37989         * modules/argv-iter-tests: New file.
37990         * tests/test-argv-iter.c: Test it.
37991
37992 2009-07-04  Bruno Haible  <bruno@clisp.org>
37993
37994         Fix assertion.
37995         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37996         contains more exact copies of a given entry than file2, leave the extra
37997         copies unpaired rather than aborting.
37998         Reported by Eric Blake.
37999
38000 2009-07-02  Bruno Haible  <bruno@clisp.org>
38001
38002         Speedup git-merge-changelog for git cherry-pick.
38003         * lib/git-merge-changelog.c (struct entries_mapping): New type.
38004         (entries_mapping_get): New function, extracted from compute_mapping.
38005         (entries_mapping_reverse_get): New function.
38006         (compute_mapping): Add a 'full' argument. Return the result in a
38007         'struct entries_mapping'.
38008         (main): Update. Access the mappings through entries_mapping_get.
38009         Reported by Eric Blake.
38010
38011 2009-07-02  Bruno Haible  <bruno@clisp.org>
38012
38013         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
38014         best_i.
38015
38016 2009-07-02  Bruno Haible  <bruno@clisp.org>
38017
38018         Speed up approximate search for matching ChangeLog entries.
38019         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
38020         argument. Call fstrcmp_bounded instead of fstrcmp.
38021         (compute_mapping, try_split_merged_entry, main): Update callers.
38022
38023 2009-07-02  Bruno Haible  <bruno@clisp.org>
38024
38025         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
38026
38027 2009-06-30  Bruno Haible  <bruno@clisp.org>
38028
38029         Reduce the number of uc_is_cased calls.
38030         * lib/unicase.h (casing_suffix_context_t): Add
38031         'first_char_except_ignorable' field.
38032         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
38033         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
38034         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
38035         Update initializer.
38036         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
38037         case-ignorable characters.
38038         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
38039         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
38040         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
38041         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
38042         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
38043
38044 2009-06-30  Bruno Haible  <bruno@clisp.org>
38045
38046         Tests for module 'unicase/ignorable'.
38047         * modules/unicase/ignorable-tests: New file.
38048         * tests/unicase/test-ignorable.c: New file, generated by
38049         gen-uni-tables.
38050
38051         Tests for module 'unicase/cased'.
38052         * modules/unicase/cased-tests: New file.
38053         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
38054         * tests/unicase/test-predicate-part1.h: New file, derived from
38055         tests/unictype/test-predicate-part1.h.
38056         * tests/unicase/test-predicate-part2.h: New file, same as
38057         tests/unictype/test-predicate-part2.h.
38058
38059         Fix evaluation of "Before C" condition of FINAL_SIGMA.
38060         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
38061         (output_casing_properties): New function.
38062         (main): Call it.
38063         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
38064         * lib/unicase/cased.c: Include unictype/bitmap.h.
38065         (uc_is_cased): Define through a bitmap lookup.
38066         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
38067         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
38068         (uc_is_case_ignorable): Define through a bitmap lookup.
38069         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
38070         lib/unictype/bitmap.h.
38071         (Depends-on): Add inline. Clean up.
38072         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
38073         lib/unictype/bitmap.h.
38074         (Depends-on): Add inline. Clean up.
38075         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
38076         recognition.
38077         * tests/unicase/test-u16-tolower.c (main): Likewise.
38078         * tests/unicase/test-u32-tolower.c (main): Likewise.
38079
38080 2009-06-30  Bruno Haible  <bruno@clisp.org>
38081
38082         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
38083         * lib/unicase/u16-casemap.c: Likewise.
38084         * lib/unicase/u32-casemap.c: Likewise.
38085
38086 2009-06-29  Bruno Haible  <bruno@clisp.org>
38087
38088         Define u32_casefold as a wrapper around u32_ct_casefold.
38089         * lib/unicase/u32-casefold.c: Update.
38090         * modules/unicase/u32-casefold (Depends-on): Add
38091         unicase/u32-ct-casefold, unicase/empty-prefix-context,
38092         unicase/empty-suffix-context. Clean up.
38093
38094         Define u16_casefold as a wrapper around u16_ct_casefold.
38095         * lib/unicase/u16-casefold.c: Update.
38096         * modules/unicase/u16-casefold (Depends-on): Add
38097         unicase/u16-ct-casefold, unicase/empty-prefix-context,
38098         unicase/empty-suffix-context. Clean up.
38099
38100         Define u8_casefold as a wrapper around u8_ct_casefold.
38101         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
38102         * lib/unicase/u8-casefold.c: Update.
38103         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
38104         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
38105
38106         Define u32_totitle as a wrapper around u32_ct_totitle.
38107         * lib/unicase/u32-totitle.c: Update.
38108         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
38109         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
38110
38111         Define u16_totitle as a wrapper around u16_ct_totitle.
38112         * lib/unicase/u16-totitle.c: Update.
38113         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
38114         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
38115
38116         Define u8_totitle as a wrapper around u8_ct_totitle.
38117         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
38118         functions.
38119         (FUNC): Delegate to U_CT_TOTITLE.
38120         * lib/unicase/u8-totitle.c: Update.
38121         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
38122         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
38123
38124         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
38125         invocation.
38126         * modules/unicase/u32-tolower (Depends-on): Add
38127         unicase/empty-prefix-context, unicase/empty-suffix-context.
38128
38129         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
38130         invocation.
38131         * modules/unicase/u16-tolower (Depends-on): Add
38132         unicase/empty-prefix-context, unicase/empty-suffix-context.
38133
38134         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
38135         * modules/unicase/u8-tolower (Depends-on): Add
38136         unicase/empty-prefix-context, unicase/empty-suffix-context.
38137
38138         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
38139         invocation.
38140         * modules/unicase/u32-toupper (Depends-on): Add
38141         unicase/empty-prefix-context, unicase/empty-suffix-context.
38142
38143         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
38144         invocation.
38145         * modules/unicase/u16-toupper (Depends-on): Add
38146         unicase/empty-prefix-context, unicase/empty-suffix-context.
38147
38148         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
38149         * modules/unicase/u8-toupper (Depends-on): Add
38150         unicase/empty-prefix-context, unicase/empty-suffix-context.
38151
38152         New module 'unicase/u32-ct-casefold'.
38153         * lib/unicase/u32-ct-casefold.c: New file.
38154         * modules/unicase/u32-ct-casefold: New file.
38155
38156         New module 'unicase/u16-ct-casefold'.
38157         * lib/unicase/u16-ct-casefold.c: New file.
38158         * modules/unicase/u16-ct-casefold: New file.
38159
38160         New module 'unicase/u8-ct-casefold'.
38161         * lib/unicase/u8-ct-casefold.c: New file.
38162         * lib/unicase/u-ct-casefold.h: New file, derived from
38163         lib/unicase/u-casefold.h.
38164         * modules/unicase/u8-ct-casefold: New file.
38165
38166         New module 'unicase/u32-ct-totitle'.
38167         * lib/unicase/u32-ct-totitle.c: New file.
38168         * modules/unicase/u32-ct-totitle: New file.
38169
38170         New module 'unicase/u16-ct-totitle'.
38171         * lib/unicase/u16-ct-totitle.c: New file.
38172         * modules/unicase/u16-ct-totitle: New file.
38173
38174         New module 'unicase/u8-ct-totitle'.
38175         * lib/unicase/u8-ct-totitle.c: New file.
38176         * lib/unicase/u-ct-totitle.h: New file, derived from
38177         lib/unicase/u-totitle.h.
38178         * modules/unicase/u8-ct-totitle: New file.
38179
38180         New module 'unicase/u32-ct-tolower'.
38181         * lib/unicase/u32-ct-tolower.c: New file.
38182         * modules/unicase/u32-ct-tolower: New file.
38183
38184         New module 'unicase/u16-ct-tolower'.
38185         * lib/unicase/u16-ct-tolower.c: New file.
38186         * modules/unicase/u16-ct-tolower: New file.
38187
38188         New module 'unicase/u8-ct-tolower'.
38189         * lib/unicase/u8-ct-tolower.c: New file.
38190         * modules/unicase/u8-ct-tolower: New file.
38191
38192         New module 'unicase/u32-ct-toupper'.
38193         * lib/unicase/u32-ct-toupper.c: New file.
38194         * modules/unicase/u32-ct-toupper: New file.
38195
38196         New module 'unicase/u16-ct-toupper'.
38197         * lib/unicase/u16-ct-toupper.c: New file.
38198         * modules/unicase/u16-ct-toupper: New file.
38199
38200         New module 'unicase/u8-ct-toupper'.
38201         * lib/unicase/u8-ct-toupper.c: New file.
38202         * modules/unicase/u8-ct-toupper: New file.
38203
38204         Add context arguments to u*_casemap functions.
38205         * lib/unicase/unicasemap.h: Include unicase.h.
38206         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
38207         suffix_context arguments.
38208         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
38209         functions.
38210         (FUNC): Add prefix_context and suffix_context arguments. Use
38211         uc_is_cased and uc_is_case_ignorable.
38212         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
38213         * lib/unicase/u16-casemap.c: Likewise.
38214         * lib/unicase/u32-casemap.c: Likewise.
38215         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
38216         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
38217         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
38218         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
38219         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
38220         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
38221
38222         New module 'unicase/u32-suffix-context'.
38223         * lib/unicase/u32-suffix-context.c: New file.
38224         * modules/unicase/u32-suffix-context: New file.
38225
38226         New module 'unicase/u16-suffix-context'.
38227         * lib/unicase/u16-suffix-context.c: New file.
38228         * modules/unicase/u16-suffix-context: New file.
38229
38230         New module 'unicase/u8-suffix-context'.
38231         * lib/unicase/u8-suffix-context.c: New file.
38232         * lib/unicase/u-suffix-context.h: New file.
38233         * modules/unicase/u8-suffix-context: New file.
38234
38235         New module 'unicase/empty-suffix-context'.
38236         * lib/unicase/empty-suffix-context.c: New file.
38237         * modules/unicase/empty-suffix-context: New file.
38238
38239         New module 'unicase/u32-prefix-context'.
38240         * lib/unicase/u32-prefix-context.c: New file.
38241         * modules/unicase/u32-prefix-context: New file.
38242
38243         New module 'unicase/u16-prefix-context'.
38244         * lib/unicase/u16-prefix-context.c: New file.
38245         * modules/unicase/u16-prefix-context: New file.
38246
38247         New module 'unicase/u8-prefix-context'.
38248         * lib/unicase/u8-prefix-context.c: New file.
38249         * lib/unicase/u-prefix-context.h: New file.
38250         * lib/unicase/context.h: New file.
38251         * modules/unicase/u8-prefix-context: New file.
38252
38253         New module 'unicase/empty-prefix-context'.
38254         * lib/unicase/empty-prefix-context.c: New file.
38255         * modules/unicase/empty-prefix-context: New file.
38256
38257         New module 'unicase/ignorable'.
38258         * lib/unicase/ignorable.c: New file.
38259         * modules/unicase/ignorable: New file.
38260
38261         New module 'unicase/cased'.
38262         * lib/unicase/caseprop.h: New file.
38263         * lib/unicase/cased.c: New file.
38264         * modules/unicase/cased: New file.
38265
38266         New functions for case mapping of substrings.
38267         * lib/unicase.h (casing_prefix_context_t): New type.
38268         (unicase_empty_prefix_context): New variable.
38269         (u8_casing_prefix_context, u16_casing_prefix_context,
38270         u32_casing_prefix_context, u8_casing_prefixes_context,
38271         u16_casing_prefixes_context, u32_casing_prefixes_context): New
38272         declarations.
38273         (casing_suffix_context_t): New type.
38274         (unicase_empty_suffix_context): New variable.
38275         (u8_casing_suffix_context, u16_casing_suffix_context,
38276         u32_casing_suffix_context, u8_casing_suffixes_context,
38277         u16_casing_suffixes_context, u32_casing_suffixes_context,
38278         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
38279         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
38280         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
38281         declarations.
38282
38283 2009-06-28  Jim Meyering  <meyering@redhat.com>
38284
38285         boostrap: indent only with spaces
38286         * build-aux/bootstrap: Indent only with spaces, never TABs.
38287
38288         bootstrap: split long lines
38289         * build-aux/bootstrap: Keep line length < 80.
38290
38291         bootstrap: sync from coreutils
38292         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
38293         just as autoreconf does.  Verify a list of prerequisite
38294         package-name,version-number pairs if defined in bootstrap.conf.
38295         Refer to README-prereq, if prerequisites are not satisfied.
38296
38297 2009-06-27  Eric Blake  <ebb9@byu.net>
38298
38299         tests: add test for bogus NULL definition
38300         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
38301         * tests/test-stdlib.c: Likewise.
38302         * tests/test-string.c: Likewise.
38303         * tests/test-locale.c: Likewise.
38304         * tests/test-unistd.c: Likewise.
38305         * modules/stdio-tests (Depends-on): Add verify.
38306         * modules/stdlib-tests (Depends-on): Likewise.
38307         * modules/string-tests (Depends-on): Likewise.
38308         * modules/locale-tests (Depends-on): Likewise.
38309         * modules/unistd-tests (Depends-on): Likewise.
38310
38311 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
38312
38313         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
38314         self-explaining comment.
38315         * m4/selinux-selinux-h: Update serial.
38316         (gl_LIBSELINUX): New macro, adding a warning for missing development
38317         packages to code extracted from...
38318         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
38319         Add warning for missing development packages here, too.
38320
38321 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
38322
38323         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
38324
38325 2009-06-25  Eric Blake  <ebb9@byu.net>
38326
38327         version-etc: fix regression
38328         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
38329         gcc.
38330         (version_etc): Use it, to catch bugs with trailing NULL.
38331         * lib/version-etc.c (version_etc_arn): Delete unused argument.
38332         (version_etc_va): Fix logic bug.
38333         * modules/version-etc-tests: Add test.
38334         * tests/test-version-etc.c: New file.
38335         * tests/test-version-etc.sh: Likewise.
38336
38337 2009-06-25  Sam Steingold  <sds@gnu.org>
38338
38339         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
38340         mbtowc declaration.
38341
38342 2009-06-25  Eric Blake  <ebb9@byu.net>
38343
38344         fpurge: migrate into <stdio.h>
38345         * lib/fpurge.h: Delete...
38346         * lib/stdio.in.h (fpurge): ...and declare here, instead.
38347         * lib/fpurge.c (fpurge): Change declaring header.
38348         * modules/fpurge (Files): Drop deleted file.
38349         (Depends-on): Add stdio.
38350         (configure.ac): Set witness.
38351         * modules/stdio (Makefile.am): Support fpurge macros.
38352         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38353         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
38354         * lib/fflush.c: Update client.
38355         * tests/test-fpurge.c: Likewise.
38356         * NEWS: Mention the change.
38357
38358 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38359
38360         * lib/argp-version-etc.c (program_authors): Add const
38361         qualifier.
38362         * lib/version-etc.c: Fix typos in the comments.
38363         * modules/argp-version-etc: Depends on version-etc.
38364
38365 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38366
38367         argp-version-etc: new module.
38368
38369         * lib/argp-version-etc.c: New file.
38370         * lib/argp-version-etc.h: New file.
38371         * modules/argp-version-etc: New file.
38372         * modules/argp-version-etc-tests: New file.
38373         * tests/test-argp-version-etc.c: New test.
38374         * tests/test-argp-version-etc-1.sh: New test.
38375
38376 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38377
38378         Provide additional interfaces and documentation for version-etc
38379         module.
38380
38381         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
38382         interfaces.
38383         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
38384         prototypes.
38385
38386 2009-06-24  Bruno Haible  <bruno@clisp.org>
38387
38388         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
38389         HAVE_LIB${NAME} macro.
38390         Reported by Sam Steingold <sds@gnu.org>.
38391
38392 2009-06-23  Simon Josefsson  <simon@josefsson.org>
38393
38394         * modules/hash-tests (test_hash_LDADD): Link to libintl when
38395         needed.
38396
38397 2009-06-21  Bruno Haible  <bruno@clisp.org>
38398
38399         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
38400         work.
38401         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
38402         together with LIB${NAME}, LTLIB${NAME}.
38403         Reported by Sam Steingold <sds@gnu.org>.
38404
38405 2009-06-20  Jim Meyering  <meyering@redhat.com>
38406
38407         tests: make sc_require_test_exit_idiom more generic
38408         * top/maint.mk (Exit_witness_file): New overridable variable.
38409         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
38410         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
38411
38412 2009-06-19  Jim Meyering  <meyering@redhat.com>
38413
38414         hash: reverse order of src/dst parameters in an internal interface
38415         * lib/hash.c (transfer_entries): Reverse order of parameters to
38416         put DST before SRC.  Adjust callers.
38417
38418         tests: test-hash: avoid wholesale duplication
38419         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
38420         Instead, use a loop and add a single conditional.
38421
38422         tests: test-hash: allow seed selection via a command line argument
38423         * tests/test-hash.c (get_seed): New function.
38424         (main): Use it.
38425
38426 2009-06-19  Eric Blake  <ebb9@byu.net>
38427
38428         hash: avoid memory leak on allocation failure
38429         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
38430         failure.  Factor repeated algorithm...
38431         (transfer_entries): ...into new helper routine.
38432         (hash_delete): React to hash_rehash return value.
38433
38434         hash: reduce memory pressure in hash_rehash no-op case
38435         * lib/hash.c (next_prime): Avoid overflow.
38436         (hash_initialize): Factor bucket size computation...
38437         (compute_bucket_size): ...into new helper function.
38438         (hash_rehash): Use new function and open coding to reduce memory
38439         pressure, and avoid a memory leak in USE_OBSTACK code.
38440         Reported by Jim Meyering.
38441
38442 2009-06-18  Eric Blake  <ebb9@byu.net>
38443
38444         hash: make rotation more obvious
38445         * modules/hash (Depends-on): Add bitrotate and stdint.
38446         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
38447         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
38448         (SIZE_MAX): Rely on headers for definition.
38449         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
38450         (raw_hasher): Use rotr_sz.
38451         Suggested by Jim Meyering.
38452
38453         hash: fix memory leak in last patch
38454         * lib/hash.c (hash_rehash): Avoid memory leak.
38455
38456         hash: avoid no-op rehashing
38457         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
38458
38459         hash: provide default callback functions
38460         * lib/hash.c (raw_hasher, raw_comparator): New functions.
38461         (hash_initialize): Use them as defaults.
38462         * tests/test-hash.c (main): Test this.
38463
38464         hash: minor optimization
38465         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
38466         when possible.
38467         (hash_initialize): Document this promise.
38468         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
38469         * tests/test-hash.c (hash_compare_strings): Test this.
38470
38471 2009-06-18  Bruno Haible  <bruno@clisp.org>
38472
38473         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
38474         going to be replaced anyway.
38475
38476 2009-06-18  Bruno Haible  <bruno@clisp.org>
38477
38478         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
38479         in one place.
38480         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
38481         be replaced anyway.
38482
38483 2009-06-18  Eric Blake  <ebb9@byu.net>
38484
38485         hash: check for resize before insertion
38486         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
38487         threshold before insertion, so that a pathological hash_rehash
38488         that fills every bucket can still trigger another rehash.
38489
38490 2009-06-18  Jim Meyering  <meyering@redhat.com>
38491
38492         hash-tests: add a loop around the small tests
38493         * tests/test-hash.c (main): Repeat small tests with selected
38494         small initial table sizes.
38495
38496 2009-06-17  Eric Blake  <ebb9@byu.net>
38497
38498         hash: minor cleanups
38499         * lib/hash.h (hash_entry): Make opaque, by moving...
38500         * lib/hash.c (hash_entry): ...here.
38501         (hash_insert): Clarify restrictions on what can be inserted.
38502         (hash_get_next): Clarify when it is safe to remove an element
38503         during traversal.
38504         (check_tuning): Skip verification when tuning is known safe.
38505         (hash_initialize): Clarify restrictions on tuning.
38506
38507 2009-06-17  Jim Meyering  <jim@meyering.net>
38508         and Eric Blake  <ebb9@byu.net>
38509
38510         hash-tests: new module
38511         * modules/hash-tests: New file.
38512         * tests/test-hash.c: New file.
38513
38514 2009-06-17  Eric Blake  <ebb9@byu.net>
38515
38516         strstr-simple: document new module
38517         * MODULES.html.sh: Document new module.
38518
38519         strstr, strcasestr: replace on platforms with broken memchr
38520         * modules/strstr: Split into...
38521         * modules/strstr-simple: ...new module that does not care about
38522         performance, but does care about glibc bug.
38523         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
38524         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
38525         if platform memchr is broken, per Debian bug 521737.
38526         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
38527         memchr.
38528         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
38529         * doc/posix-functions/strstr.texi (strstr): Document the fix.
38530         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
38531         * modules/mountlist (Depends-on): Add strstr-simple.
38532         * modules/gen-uni-tables (Depends-on): Likewise.
38533         * modules/argz (Depends-on): Add strstr.
38534
38535 2009-06-17  Bruno Haible  <bruno@clisp.org>
38536
38537         * modules/posix_spawn-internal (Depends-on): Add errno.
38538
38539 2009-06-17  Bruno Haible  <bruno@clisp.org>
38540
38541         Define missing ESTALE on Interix 3.5.
38542         * lib/errno.in.h (ESTALE): Assign a value if missing.
38543         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
38544         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
38545         missing.
38546         * doc/posix-headers/errno.texi: Mention the Interix bug.
38547         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
38548
38549 2009-06-15  Eric Blake  <ebb9@byu.net>
38550
38551         memchr, memchr2: add valgrind exception
38552         * lib/memchr.valgrind: New file.
38553         * lib/memchr2.valgrind: New file.
38554         * modules/memchr (Files): Distribute valgrind file.
38555         * modules/memchr2 (Files): Likewise.
38556
38557         docs: memchr is no longer obsolete
38558         * MODULES.html.sh: Move memchr from obsolete to string.h section.
38559         * lib/string.in.h (memchr): Simplify logic.
38560
38561 2009-06-14  Jim Meyering  <meyering@redhat.com>
38562
38563         link-follow: fix the "checking..." message to not mention trailing slash
38564         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
38565         never considered trailing slashes.
38566
38567 2009-06-14  Bruno Haible  <bruno@clisp.org>
38568
38569         * m4/memchr.m4: Mention also the bug on IA-64.
38570         * doc/posix-functions/memchr.texi: Likewise.
38571
38572 2009-06-12  Eric Blake  <ebb9@byu.net>
38573
38574         memchr: detect broken x86_64 and alpha implementations
38575         * modules/memchr-tests (Depends-on): Move mmap detection...
38576         * modules/memchr (Depends-on): ...here.
38577         (configure.ac): Set indicator.
38578         * lib/string.in.h (memchr): Declare replacement.
38579         * modules/string (Makefile.am): Trigger replacement.
38580         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
38581         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
38582         bugs.
38583         * doc/posix-functions/memchr.texi (memchr): Document the bug.
38584         * modules/getpagesize (License): Relax license.
38585
38586 2009-06-11  Bruno Haible  <bruno@clisp.org>
38587
38588         * lib/idpriv.h: Add more references.
38589
38590 2009-06-08  Bruno Haible  <bruno@clisp.org>
38591
38592         Tests for module 'idpriv-droptemp'.
38593         * modules/idpriv-droptemp-tests: New file.
38594         * tests/test-idpriv-droptemp.sh: New file.
38595         * tests/test-idpriv-droptemp.su.sh: New file.
38596         * tests/test-idpriv-droptemp.c: New file.
38597
38598         New module 'idpriv-droptemp'.
38599         * lib/idpriv-droptemp.c: New file.
38600         * modules/idpriv-droptemp: New file.
38601
38602 2009-06-08  Bruno Haible  <bruno@clisp.org>
38603
38604         Tests for module 'idpriv-drop'.
38605         * modules/idpriv-drop-tests: New file.
38606         * tests/test-idpriv-drop.sh: New file.
38607         * tests/test-idpriv-drop.su.sh: New file.
38608         * tests/test-idpriv-drop.c: New file.
38609
38610         New module 'idpriv-drop'.
38611         * lib/idpriv.h: New file.
38612         * lib-idpriv-drop.c: New file.
38613         * m4/idpriv.m4: New file.
38614         * modules/idpriv-drop: New file.
38615
38616 2009-06-08  Bruno Haible  <bruno@clisp.org>
38617
38618         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
38619         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38620         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38621         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38622         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38623         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38624         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38625
38626 2009-06-08  Eric Blake  <ebb9@byu.net>
38627
38628         test-strstr: use memory fence, when possible
38629         * tests/test-strstr.c (main): Use memory fence, in order to be
38630         more likely to trigger Debian bug 521737.
38631         * modules/strstr-tests (Files): Pull in additional files.
38632
38633         memchr: no longer obsolete, for wider field testing
38634         * modules/memchr (Status, Notice): Delete, this module is no
38635         longer obsolete.
38636         * modules/vasnprintf (Depends-on): Add memchr.
38637
38638 2009-06-07  Jim Meyering  <meyering@redhat.com>
38639
38640         hash: declare some functions with the warn_unused_result attribute
38641         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
38642
38643 2009-06-07  Bruno Haible  <bruno@clisp.org>
38644
38645         * tests/test-alignof.c: Don't test int64_t if it does not exist.
38646         Reported by Eric Blake.
38647
38648 2009-06-06  Eric Blake  <ebb9@byu.net>
38649
38650         test-alignof: fix typo with long double
38651         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
38652         compiler error.
38653
38654 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
38655
38656         Escape non-texinfo { and }s.
38657         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
38658         markup error.
38659
38660 2009-06-04  Jim Meyering  <meyering@redhat.com>
38661
38662         gitlog-to-changelog: don't infloop on an empty commit log
38663         * build-aux/gitlog-to-changelog: Warn about an empty log message.
38664         Reported by Boris Petersen <transacid@centerim.org>.
38665
38666 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
38667
38668         version-etc: extend for packagers
38669         Add three new configure options, intended for packagers:
38670           --with-packager="packager name"
38671           --with-packager-version="packager-specific version"
38672           --with-packager-bug-reports="packager bug reporting"
38673         An example with coreutils:
38674           $ ./configure \
38675             --with-packager=Gentoo \
38676             --with-packager-bug-report=http://bugs.gentoo.org/ \
38677             --with-packager-version="patchset 1.6"
38678           $ ./src/ls --version | head -n2
38679           ls (GNU coreutils) 7.1-dirty
38680           Packaged by Gentoo (patchset 1.6)
38681         Note that the bug reporting info via --help doesn't show up because
38682         coreutils uses its own custom emit_bug_reporting_address() implementation
38683         in src/system.h.  If it didn't, it'd look like:
38684           $ ./src/ls --help | tail -n4
38685           Report bugs to <bug-coreutils@gnu.org>.
38686           Report Gentoo bugs to <http://bugs.gentoo.org/>.
38687           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
38688           General help using GNU software: <http://www.gnu.org/gethelp/>.
38689         * lib/version-etc.c: Print new information, if provided.
38690         * m4/version-etc.m4: New file.
38691         * modules/version-etc (Files): Add m4/version-etc.m4.
38692         (configure.ac): Add gl_VERSION_ETC.
38693
38694 2009-05-31  Bruno Haible  <bruno@clisp.org>
38695
38696         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
38697         and 'int64_t'.
38698         * modules/alignof-tests (Dependencies): Add stdint.
38699         Reported by Eric Blake.
38700
38701 2009-05-31  Bruno Haible  <bruno@clisp.org>
38702
38703         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
38704         restriction due to compiler bugs.
38705         Reported by Eric Blake.
38706
38707 2009-05-31  Simon Josefsson  <simon@josefsson.org>
38708             Bruno Haible  <bruno@clisp.org>
38709
38710         Fix test-alignof failure.
38711         * lib/alignof.h (alignof_slot): New macro.
38712         (alignof_type): New macro, with the same semantics as the previous
38713         'alignof'.
38714         (alignof): Alias to alignof_slot.
38715         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
38716         check that the results are usable as constant expressions.
38717
38718 2009-05-31  Bruno Haible  <bruno@clisp.org>
38719
38720         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
38721         * tests/test-memchr.c (main): Check that memchr does not read past the
38722         first occurrence of the byte.
38723         * tests/test-strstr.c (main): Update comment.
38724         Suggested by Eric Blake.
38725
38726 2009-05-30  Bruno Haible  <bruno@clisp.org>
38727
38728         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
38729         detail how to use dumpbin.
38730         Reported by David Byron <dbyron@dbyron.com>.
38731
38732 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38733
38734         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
38735
38736 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38737
38738         * m4/manywarnings.m4: Add GCC 4.4 warnings.
38739
38740 2009-05-28  Bruno Haible  <bruno@clisp.org>
38741
38742         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
38743         build-aux/ files.
38744
38745 2009-05-28  Simon Josefsson  <simon@josefsson.org>
38746
38747         * gnulib-tool (func_import): Transform license on build-aux/ files too.
38748
38749 2009-05-27  Simon Josefsson  <simon@josefsson.org>
38750
38751         * gnulib-tool (sed_transform_main_lib_file)
38752         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
38753         regexps.
38754
38755 2009-05-26  Simon Josefsson  <simon@josefsson.org>
38756
38757         * tests/test-strstr.c: Add another self-test.
38758         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
38759         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
38760
38761 2009-05-23  Bruno Haible  <bruno@clisp.org>
38762
38763         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
38764         change.
38765
38766 2009-05-21  Bruno Haible  <bruno@clisp.org>
38767
38768         Simplify use of mode_t varargs.
38769         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
38770         uses 'mode_t' or 'int'.
38771         * lib/openat.c (openat): Likewise.
38772         * lib/open-safer.c (open_safer): Likewise.
38773         * m4/mode_t.m4: New file.
38774         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
38775         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
38776         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
38777         * modules/open (Files): Add m4/mode_t.m4.
38778         * modules/openat (Files): Likewise.
38779         * modules/fcntl-safer (Files): Likewise.
38780         Suggested by Eric Blake.
38781
38782 2009-05-21  Pádraig Brady  <P@draigbrady.com>
38783
38784         * doc/glibc-functions/fallocate.texi: New file.
38785         * doc/gnulib.texi: Include it.
38786
38787 2009-05-21  Eric Blake  <ebb9@byu.net>
38788             Bruno Haible  <bruno@clisp.org>
38789
38790         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
38791         invocations.
38792         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38793
38794 2009-05-21  Eric Blake  <ebb9@byu.net>
38795             Bruno Haible  <bruno@clisp.org>
38796
38797         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
38798         include_next. Fix of 2008-11-20 commit.
38799         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
38800         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
38801         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
38802         NEXT_MATH_H.
38803         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
38804         instead of NEXT_MATH_H.
38805
38806 2009-05-21  Bruno Haible  <bruno@clisp.org>
38807
38808         Avoid redefinition warnings for SIZE_MAX.
38809         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
38810         Reported by Simon Josefsson.
38811
38812 2009-05-21  Bruno Haible  <bruno@clisp.org>
38813
38814         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
38815         AC_CACHE_VAL.
38816
38817 2009-05-20  Bruno Haible  <bruno@clisp.org>
38818
38819         Make zeroptr.h work on mingw.
38820         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
38821         mprotect.
38822         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
38823         * modules/memchr2-tests (configure.ac): Likewise.
38824         * modules/memcmp-tests (configure.ac): Likewise.
38825         * modules/memmem-tests (configure.ac): Likewise.
38826         * modules/memrchr-tests (configure.ac): Likewise.
38827         Reported by Simon Josefsson.
38828
38829 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38830
38831         * tests/test-glob.c: Include string.h for strcmp prototype.
38832
38833 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38834
38835         * modules/getdelim (Depends-on): Add explicit stdint, although it
38836         was implicitly already pulled in via realloc-posix.
38837         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38838
38839 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38840
38841         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38842         G. Christensen" <tgc@jupiterrise.com>.
38843         * m4/sys_socket_h.m4: Check for sa_family_t.
38844         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38845         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38846         * tests/test-sys_socket.c: Check that sa_family_t works.
38847
38848 2009-05-18  Eric Blake  <ebb9@byu.net>
38849
38850         maint.mk: allow gnulib_dir in VPATH build
38851         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38852
38853 2009-05-15  Jim Meyering  <meyering@redhat.com>
38854
38855         maint.mk: Give gnulib_dir a default definition.
38856         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38857         Thus, most packages no longer need to specify this variable in cfg.mk
38858
38859 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38860
38861         rename.m4: fix typos that would make non-mingw cross-configure fail
38862         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38863
38864 2009-05-13  Eric Blake  <ebb9@byu.net>
38865
38866         mmap-anon: avoid out-of-order autoconf expansion
38867         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38868         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38869         * modules/memchr-tests (Depends-on): Add extensions.
38870         * modules/memchr2-tests (Depends-on): Add extensions.
38871         * modules/memcmp-tests (Depends-on): Add extensions.
38872         * modules/memmem-tests (Depends-on): Add extensions.
38873         * modules/memrchr-tests (Depends-on): Add extensions.
38874
38875 2009-05-13  Bruno Haible  <bruno@clisp.org>
38876
38877         Make some tests ISO C 99 compliant.
38878         * tests/zerosize-ptr.h: New file.
38879         * tests/test-memchr.c: Include zerosize-ptr.h.
38880         (main): Use a zero-size object pointer instead of NULL.
38881         * tests/test-memchr2.c: Include zerosize-ptr.h.
38882         (main): Use a zero-size object pointer instead of NULL.
38883         * tests/test-memcmp.c: Include zerosize-ptr.h.
38884         (main): Use a zero-size object pointer instead of NULL.
38885         * tests/test-memmem.c: Include zerosize-ptr.h.
38886         (main): Use a zero-size object pointer instead of NULL.
38887         * tests/test-memrchr.c: Include zerosize-ptr.h.
38888         (main): Use a zero-size object pointer instead of NULL.
38889         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38890         m4/mmap-anon.m4.
38891         (Depends-on): Add getpagesize.
38892         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38893         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38894         m4/mmap-anon.m4.
38895         (Depends-on): Add getpagesize.
38896         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38897         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38898         m4/mmap-anon.m4.
38899         (Depends-on): Add getpagesize.
38900         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38901         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38902         m4/mmap-anon.m4.
38903         (Depends-on): Add getpagesize.
38904         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38905         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38906         m4/mmap-anon.m4.
38907         (Depends-on): Add getpagesize.
38908         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38909
38910 2009-05-12  Bruno Haible  <bruno@clisp.org>
38911
38912         Tests for module 'alignof'.
38913         * modules/alignof-tests: New file.
38914         * tests/test-alignof.c: New file.
38915
38916 2009-05-12  Bruno Haible  <bruno@clisp.org>
38917
38918         Fix alignof macro.
38919         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38920         vendor compilers that are always correct.
38921
38922 2009-05-12  Bruno Haible  <bruno@clisp.org>
38923
38924         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38925         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38926         not whether its fully works.
38927
38928 2009-05-12  Bruno Haible  <bruno@clisp.org>
38929
38930         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38931
38932 2009-05-12  Jim Meyering  <meyering@redhat.com>
38933
38934         * top/maint.mk: Adjust backslash alignment.
38935
38936 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38937
38938         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38939
38940 2009-05-11  Eric Blake  <ebb9@byu.net>
38941
38942         argp: avoid undefined behavior
38943         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38944         macros.
38945
38946 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38947
38948         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38949         user.name to prevent git commit from complaining.
38950
38951 2009-05-10  Bruno Haible  <bruno@clisp.org>
38952
38953         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38954         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38955         it rewrites every file name only once.
38956         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38957
38958 2009-05-08  Bruno Haible  <bruno@clisp.org>
38959
38960         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38961         instead of 'max'.
38962
38963 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38964
38965         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38966         sockaddr_storage test.
38967
38968 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38969
38970         * modules/sys_socket (Makefile.am): Substitute
38971         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38972         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38973         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38974         * tests/test-sys_socket.c: Check sockaddr_storage.
38975
38976 2009-05-08  Bruno Haible  <bruno@clisp.org>
38977
38978         New module 'alignof'.
38979         * lib/alignof.h: New file.
38980         * modules/alignof: New file.
38981
38982 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38983             Bruno Haible  <bruno@clisp.org>
38984
38985         Fix test-file-has-acl on FreeBSD.
38986         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38987         mask is implicitly added.
38988         * tests/test-file-has-acl.c: Include <signal.h>.
38989         (main): Terminate the test after 5 seconds.
38990         * modules/acl-tests (configure.ac): Check for alarm function.
38991
38992 2009-05-04  Bruno Haible  <bruno@clisp.org>
38993
38994         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38995         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38996         * modules/errno (configure.ac): Drop AC_REQUIRE.
38997         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38998         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38999
39000 2009-05-04  Simon Josefsson  <simon@josefsson.org>
39001
39002         * modules/glob-tests: New module.
39003         * tests/test-glob.c: Add.
39004
39005 2009-05-04  Simon Josefsson  <simon@josefsson.org>
39006
39007         * modules/fnmatch-tests: New module.
39008         * tests/test-fnmatch.c: Add.
39009
39010 2009-05-04  Eric Blake  <ebb9@byu.net>
39011
39012         maint: make the new no-submodule-changes rule VPATH-safe
39013         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
39014
39015 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
39016             Bruno Haible  <bruno@clisp.org>
39017
39018         acl: Fix infinite loop on FreeBSD.
39019         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
39020         of return value from acl_get_entry.
39021         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
39022         Likewise.
39023
39024 2009-05-03  Bruno Haible  <bruno@clisp.org>
39025
39026         * lib/acl-internal.h (acl_entries): Clarify return value.
39027         * lib/acl_entries.c (acl_entries): Likewise.
39028
39029 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
39030
39031         Bug fix in acl module.
39032         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
39033
39034 2009-05-03  Bruno Haible  <bruno@clisp.org>
39035
39036         Create gperf-generated file in the source dir, not in the build dir.
39037         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
39038         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
39039         * modules/unicase/locale-language (unicase/locale-languages.h):
39040         Likewise.
39041         * modules/unicase/special-casing (unicase/special-casing-table.h):
39042         Likewise.
39043         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
39044         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
39045         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
39046         Reported by Ralf Wildenhues.
39047
39048 2009-05-03  Bruno Haible  <bruno@clisp.org>
39049
39050         * modules/fnmatch (Description, configure.ac): Taken from
39051         fnmatch-posix.
39052         * modules/fnmatch-posix: Turn into a symbolic reference to the
39053         'fnmatch' module, and deprecate.
39054         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
39055
39056 2009-05-03  Bruno Haible  <bruno@clisp.org>
39057
39058         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
39059         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
39060         Reported by Ralf Wildenhues.
39061
39062 2009-05-04  Simon Josefsson  <simon@josefsson.org>
39063
39064         * m4/fnmatch.m4: Fix fnmatch re-define.
39065
39066 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
39067
39068         priv-set: new module and tests; adapt write-any-file
39069         * lib/priv-set.c: New file.
39070         * lib/priv-set.h: New file.
39071         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
39072         * lib/write-any-file.c: Simplify by using priv-set module.
39073         * m4/priv-set.m4: New file.
39074         * modules/priv-set: New file.
39075         * modules/unlinkdir: Add dependency on priv-set module.
39076         * modules/write-any-file: Likewise.
39077
39078         Tests for module 'priv-set'.
39079         * modules/priv-set-tests: New file.
39080         * tests/test-priv-set.c: New file.
39081
39082 2009-05-03  Jim Meyering  <meyering@redhat.com>
39083             Bruno Haible  <bruno@clisp.org>
39084
39085         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
39086         use the converted UTF-8 variant of the name instead.
39087
39088 2009-05-03  Jim Meyering  <meyering@redhat.com>
39089
39090         tests: tighten some getdate tests
39091         * tests/test-getdate.c (main): Tighten tests: require equality,
39092         not just greater than.  Set TZ envvar to UTC0.
39093
39094 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
39095
39096         getdate: correctly interpret "next monday" when run on a Monday
39097         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
39098         that e.g., "next tues" (when run on a tuesday) results in a date
39099         that is one week in the future, and not today's date.
39100         I.e., add a week when the wday is the same as the current one.
39101         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
39102         and earlier by Martin Bernreuther and Jan Minář.
39103         * tests/test-getdate.c (main): Check that "next DAY" is always in
39104         the future and that "last DAY" is always in the past.
39105
39106 2009-05-02  Jim Meyering  <meyering@redhat.com>
39107
39108         build: ensure that a release build fails when a submodule is unclean
39109         * top/maint.mk (no-submodule-changes): New rule.
39110         (alpha beta major): Depend on it.
39111
39112 2009-05-02  Bruno Haible  <bruno@clisp.org>
39113
39114         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
39115         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
39116         shell variable gl_fnmatch_required to detect which variant is
39117         requested.
39118         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
39119         gl_FUNC_FNMATCH_POSIX.
39120         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
39121         exclude fnmatch-posix.
39122
39123 2009-05-02  Bruno Haible  <bruno@clisp.org>
39124
39125         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
39126         * modules/mbsrtowcs (License): Change to LGPLv2+.
39127         * modules/strnlen1 (License): Likewise.
39128         Reported by Simon Josefsson.
39129
39130 2009-05-02  Bruno Haible  <bruno@clisp.org>
39131
39132         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
39133         "cross".
39134         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
39135         gnulib-tool was called with option --source-base=lib.
39136
39137 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39138
39139         Use automake *-local hooks without commands, for extensibility.
39140         * modules/localcharset (Makefile.am): Rename install-exec-local
39141         rule to install-exec-localcharset, and make it a prerequisite of
39142         install-exec-local.  Likewise, rename the uninstall-local rule to
39143         uninstall-localcharset, and make it a prerequisite of the former.
39144
39145 2009-05-01  Bruno Haible  <bruno@clisp.org>
39146
39147         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
39148         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
39149         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
39150         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
39151         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
39152         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
39153         m4/locale-zh.m4, m4/codeset.m4.
39154
39155         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
39156         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
39157         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
39158         m4/locale-zh.m4.
39159
39160         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
39161         REPLACE_WCRTOMB if mbstate_t must be replaced.
39162         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
39163         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
39164
39165 2009-05-01  Bruno Haible  <bruno@clisp.org>
39166
39167         Avoid compiler warnings when redefining macros defined by <libintl.h>.
39168         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
39169         dngettext, dcngettext, textdomain, bindtextdomain,
39170         bind_textdomain_codeset): Undefine before redefining.
39171
39172 2009-04-30  Bruno Haible  <bruno@clisp.org>
39173
39174         Fix bug introduced on 2009-04-25.
39175         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
39176         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
39177         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
39178         is defined.
39179         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
39180         is defined.
39181         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
39182         is defined.
39183         Reported by Elbert_Pol <elbert.pol@gmail.com>.
39184
39185 2009-04-28  Bruno Haible  <bruno@clisp.org>
39186
39187         Comment tweaks.
39188         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
39189         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
39190         * lib/unicase.h (u*_casexfrm): Likewise.
39191         Reported by Paolo Bonzini.
39192
39193 2009-04-28  Bruno Haible  <bruno@clisp.org>
39194
39195         Fix a compilation error.
39196         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
39197         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
39198         Reported by Jim Meyering.
39199
39200 2009-04-27  Bruno Haible  <bruno@clisp.org>
39201
39202         New module 'libunistring'.
39203         * modules/libunistring: New file.
39204         * m4/libunistring.m4: New file.
39205         * MODULES.html.sh (Unicode string functions): Add it.
39206
39207 2009-04-27  Eric Blake  <ebb9@byu.net>
39208
39209         maint.mk: allow package-specific header to provide <config.h>
39210         * top/maint.mk (sc_require_config_h): New variable.
39211         (sc_require_config_h, sc_require_config_h_first): Use it.
39212
39213 2009-04-27  Simon Josefsson  <simon@josefsson.org>
39214
39215         * top/maint.mk (sc_avoid_if_before_free): Except
39216         useless-if-before-free script.
39217
39218 2009-04-27  Eric Blake  <ebb9@byu.net>
39219
39220         maintainer-makefile: depend on all required helper scripts
39221         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
39222         useless-if-before-free.
39223         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
39224         version, rather than assuming gnulib checkout is available.
39225         Reported by Simen Josefsson.
39226
39227 2009-04-26  Bruno Haible  <bruno@clisp.org>
39228
39229         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
39230         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
39231         "../" or "..".
39232
39233 2009-04-26  Bruno Haible  <bruno@clisp.org>
39234
39235         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
39236         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
39237         AC_LIB_HAVE_LINKFLAGS.
39238
39239 2009-04-26  Bruno Haible  <bruno@clisp.org>
39240
39241         Simplify calling convention of u*_conv_from_encoding.
39242         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
39243         u32_conv_from_encoding): Expect a resultbuf argument and return the
39244         result directly as a pointer.
39245         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
39246         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
39247         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
39248         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
39249         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
39250         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
39251         Update.
39252         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
39253         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
39254         * lib/vasnprintf.c (VASNPRINTF): Update.
39255         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
39256         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
39257         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
39258         * NEWS: Mention the change.
39259
39260 2009-04-26  Bruno Haible  <bruno@clisp.org>
39261
39262         Simplify calling convention of u*_conv_to_encoding.
39263         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
39264         u32_conv_to_encoding): Expect a resultbuf argument and return the
39265         result directly as a pointer.
39266         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
39267         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
39268         freeing scaled_offsets if mem_iconveha failed.
39269         * lib/unicase/u-casexfrm.h (FUNC): Update.
39270         * lib/uninorm/u-normxfrm.h (FUNC): Update.
39271         * lib/vasnprintf.c (VASNPRINTF): Update.
39272         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
39273         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
39274         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
39275         * NEWS: Mention the change.
39276
39277 2009-04-26  Bruno Haible  <bruno@clisp.org>
39278
39279         Avoid test failures on AIX and OSF/1.
39280         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
39281         malloc(0).
39282         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
39283         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
39284         Likewise.
39285         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
39286         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
39287         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
39288         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
39289         * doc/posix-functions/malloc.texi: Document the portability problem
39290         related to malloc(0).
39291
39292 2009-04-26  Bruno Haible  <bruno@clisp.org>
39293
39294         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
39295         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
39296         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
39297
39298 2009-04-25  Bruno Haible  <bruno@clisp.org>
39299
39300         Avoid link error when creating a namespace clean library.
39301         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
39302         as macro with arguments if already defined as an alias.
39303         * lib/signbitf.c (gl_signbitf): Don't undefine.
39304         * lib/signbitd.c (gl_signbitd): Don't undefine.
39305         * lib/signbitl.c (gl_signbitl): Don't undefine.
39306
39307 2009-04-25  Jim Meyering  <meyering@redhat.com>
39308
39309         vc-list-files: fix another quoting bug
39310         * build-aux/vc-list-files: Avoid sed backslash expansion
39311         of pathological directory names.
39312
39313 2009-04-25  Eric Blake  <ebb9@byu.net>
39314
39315         vc-list-files: fix shell quoting error
39316         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
39317         timestamp.
39318
39319 2009-04-25  Jim Meyering  <meyering@redhat.com>
39320
39321         vc-list-files: restore lost functionality with subdir argument
39322         * build-aux/vc-list-files: When given a non-"." sub-directory
39323         argument, substitute the $dir/ prefix back onto each resulting name.
39324         Otherwise, coreutils' root_tests check would fail.
39325
39326 2009-04-24  Eric Blake  <ebb9@byu.net>
39327
39328         vc-list-files: ignore git symlinks
39329         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
39330         than ls-files, to ignore git symlinks.
39331
39332         maint.mk: import improvements from m4
39333         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
39334         (move_if_change): Delete unused macro.
39335         (news-date-check, vc-diff-check): Support VPATH builds.
39336         (announcement): Likewise.  Split --bootstrap-tools list...
39337         (boostrap-tools): ...into separate list, which can be overridden
39338         in cfg.mk.
39339         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
39340         requiring dependency on useless-if-before-free module.
39341         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
39342         Support VPATH builds.
39343
39344 2009-04-24  Jim Meyering  <meyering@redhat.com>
39345
39346         maint.mk: remove coreutils-specific rules and variables
39347         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
39348         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
39349         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
39350
39351         maint.mk: remove obsolete rule
39352         * top/maint.mk (rel-check): Remove rule.
39353         (WGET, WGETFLAGS): Remove now-unused variables.
39354
39355 2009-04-24  Simon Josefsson  <simon@josefsson.org>
39356
39357         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
39358         consistency.
39359
39360         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
39361         '$(PATH_SEPARATOR)' instead of ':'.
39362
39363 2009-04-24  Simon Josefsson  <simon@josefsson.org>
39364
39365         * lib/getopt1.c (main): Use 'const' for static array.
39366
39367 2009-04-24  Simon Josefsson  <simon@josefsson.org>
39368
39369         * top/maint.mk: Sync with coreutils.
39370         * NEWS: Explain incompatibilities.
39371
39372 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39373             Bruno Haible  <bruno@clisp.org>
39374
39375         Fix cross-compilation results.
39376         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
39377         statement, as third argument of AC_TRY_RUN.
39378         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
39379         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
39380         Likewise.
39381         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
39382         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
39383         Likewise.
39384         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
39385         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
39386         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
39387
39388 2009-04-20  Bruno Haible  <bruno@clisp.org>
39389
39390         Avoid test failure on mingw.
39391         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
39392
39393 2009-04-20  Bruno Haible  <bruno@clisp.org>
39394
39395         Avoid compilation error on mingw.
39396         * modules/localename-tests (Depends-on): Add locale.
39397
39398 2009-04-19  Bruno Haible  <bruno@clisp.org>
39399
39400         Support for building a shared library on Windows platforms.
39401         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
39402         (main): Test the presence of UNINORM_NFC here.
39403         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
39404         (main): Test the presence of UNINORM_NFD here.
39405         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
39406         (main): Test the presence of UNINORM_NFKC here.
39407         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
39408         (main): Test the presence of UNINORM_NFKD here.
39409
39410 2009-04-19  Bruno Haible  <bruno@clisp.org>
39411
39412         Avoid a compiler warning.
39413         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
39414         Change type of variable 'sequence'.
39415
39416 2009-04-19  Bruno Haible  <bruno@clisp.org>
39417
39418         * modules/configmake (Makefile.am): When the contents of configmake.h
39419         does not change, arrange to preserve its modification time.
39420
39421 2009-04-17  Simon Josefsson  <simon@josefsson.org>
39422
39423         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
39424         gettext domain.
39425
39426 2009-04-16  Jim Meyering  <meyering@redhat.com>
39427
39428         useless-if-before-free: improve conversion code
39429         * build-aux/useless-if-before-free: Adjust code-in-comment to match
39430         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
39431
39432 2009-04-14  Bruno Haible  <bruno@clisp.org>
39433
39434         * modules/fcntl (Depends-on): Add extensions.
39435         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
39436
39437 2009-04-12  Ben Pfaff  <blp@gnu.org>
39438
39439         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
39440         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
39441
39442 2009-03-20  Ben Pfaff  <blp@gnu.org>
39443
39444         Make rename replace existing destinations on Windows.
39445         * m4/rename.m4: Add test for Mingw.
39446         * lib/rename.c: Add rename replacement that uses MoveFileEx with
39447         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
39448         * doc/posix-functions/rename.texi: Document.
39449
39450 2009-04-10  Bruno Haible  <bruno@clisp.org>
39451
39452         New include file "iconveh.h".
39453         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
39454         * lib/striconveh.h: Include it.
39455         (enum iconv_ilseq_handler): Remove definition.
39456         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
39457         striconveh.h.
39458         * lib/striconveha.c: Include striconveh.h.
39459         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
39460         * modules/striconveh (Files): Add lib/iconveh.h.
39461         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
39462         lib/striconveh.h.
39463
39464 2009-04-10  Bruno Haible  <bruno@clisp.org>
39465
39466         * lib/uniconv.h: Update comment.
39467
39468 2009-04-10  Bruno Haible  <bruno@clisp.org>
39469
39470         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
39471         always.
39472         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
39473         * lib/unistr/u16-mbtouc-aux.c: Likewise.
39474         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
39475         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
39476         "unistring-notinline.h", so that the function gets defined always.
39477         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
39478         * lib/unistr/u8-uctomb.c: Likewise.
39479         * lib/unistr/u16-mbtouc.c: Likewise.
39480         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
39481         * lib/unistr/u16-uctomb.c: Likewise.
39482         * lib/unistr/u32-mbtouc.c: Likewise.
39483         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
39484         * lib/unistr/u32-uctomb.c: Likewise.
39485
39486 2009-04-10  Bruno Haible  <bruno@clisp.org>
39487
39488         Mark 'utime' obsolete.
39489         * modules/utime (Status, Notice): New sections.
39490         Suggested by Jim Meyering.
39491
39492         Fix cross-compile guess for utime test.
39493         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
39494         autoconf.
39495         * doc/posix-functions/utime.texi: Give more precisions.
39496         Reported by Jan <ipif@ymail.com>.
39497
39498 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
39499
39500         filevercmp: correct today's change
39501         * lib/filevercmp.c: Also handle coreutils' test inputs.
39502         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
39503
39504         Fix regression in 'filevercmp' module. Thanks Sven Joachim
39505         for reporting it.
39506         * lib/filevercmp.c: Special handle for "", "." and "..".
39507         * tests/test-filevercmp.c: Enlarge the set suite.
39508
39509 2009-04-07  Jim Meyering  <meyering@redhat.com>
39510
39511         useless-if-before-free: show how to remove braced useless free, too
39512         * build-aux/useless-if-before-free: still only in a comment, though.
39513
39514 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
39515
39516         maint.mk: import changes to syntax-check macros from coreutils
39517         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
39518         Use them in the relevant macros.
39519
39520 2009-04-06  Bruno Haible  <bruno@clisp.org>
39521
39522         Fix unportable use of bit-fields.
39523         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
39524         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
39525         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
39526
39527 2009-04-06  Bruno Haible  <bruno@clisp.org>
39528
39529         Avoid test failures on AIX and OSF/1.
39530         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
39531         that malloc(0) = NULL.
39532         * tests/unicase/test-u8-tolower.c (check): Likewise.
39533         * tests/unicase/test-u8-totitle.c (check): Likewise.
39534         * tests/unicase/test-u8-toupper.c (check): Likewise.
39535         * tests/unicase/test-u16-casefold.c (check): Likewise.
39536         * tests/unicase/test-u16-tolower.c (check): Likewise.
39537         * tests/unicase/test-u16-totitle.c (check): Likewise.
39538         * tests/unicase/test-u16-toupper.c (check): Likewise.
39539         * tests/unicase/test-u32-casefold.c (check): Likewise.
39540         * tests/unicase/test-u32-tolower.c (check): Likewise.
39541         * tests/unicase/test-u32-totitle.c (check): Likewise.
39542         * tests/unicase/test-u32-toupper.c (check): Likewise.
39543         * tests/uninorm/test-u8-nfc.c (check): Likewise.
39544         * tests/uninorm/test-u8-nfd.c (check): Likewise.
39545         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
39546         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
39547         * tests/uninorm/test-u16-nfc.c (check): Likewise.
39548         * tests/uninorm/test-u16-nfd.c (check): Likewise.
39549         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
39550         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
39551         * tests/uninorm/test-u32-nfc.c (check): Likewise.
39552         * tests/uninorm/test-u32-nfd.c (check): Likewise.
39553         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
39554         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
39555
39556 2009-04-05  Bruno Haible  <bruno@clisp.org>
39557
39558         Work around an autoconf limitation.
39559         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
39560         comment line if it would be longer than 3 KB.
39561
39562 2009-04-05  Bruno Haible  <bruno@clisp.org>
39563
39564         Avoid test failure with libiconv-1.13.
39565         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
39566         of the expected test results.
39567
39568 2009-04-05  Bruno Haible  <bruno@clisp.org>
39569
39570         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
39571         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
39572         that it should be installed.
39573
39574 2009-04-05  Bruno Haible  <bruno@clisp.org>
39575
39576         * gnulib-tool: New option --copy-file.
39577         (func_usage): Document it.
39578         (func_dest_tmpfilename): Moved out of func_import.
39579         (func_add_file, func_update_file): New functions, extracted from
39580         func_import.
39581         (func_import): Update.
39582
39583 2009-04-05  Karl Berry  <karl@gnu.org>
39584
39585         * README: prominently mention gnulib-tool.
39586         Rearrange sections so getting the code is near the top.
39587
39588 2009-04-05  Bruno Haible  <bruno@clisp.org>
39589
39590         * lib/unicase.h: Mention u*_cmp2.
39591         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
39592         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
39593         * lib/unicase/ulc-casecmp.c: Likewise.
39594         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
39595         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
39596         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
39597         unistr/u8-cmp.
39598         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
39599         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
39600         unistr/u16-cmp.
39601         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
39602         unistr/u32-cmp.
39603
39604         * lib/uninorm.h: Mention u*_cmp2.
39605         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
39606         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
39607         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
39608         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
39609         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
39610         unistr/u8-cmp.
39611         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
39612         unistr/u16-cmp.
39613         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
39614         unistr/u32-cmp.
39615
39616         New module 'unistr/u32-cmp2'.
39617         * lib/unistr/u32-cmp2.c: New file.
39618         * modules/unistr/u32-cmp2: New file.
39619
39620         New module 'unistr/u16-cmp2'.
39621         * lib/unistr/u16-cmp2.c: New file.
39622         * modules/unistr/u16-cmp2: New file.
39623
39624         New module 'unistr/u8-cmp2'.
39625         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
39626         * lib/unistr/u8-cmp2.c: New file.
39627         * lib/unistr/u-cmp2.h: New file.
39628         * modules/unistr/u8-cmp2: New file.
39629
39630 2009-04-05  Bruno Haible  <bruno@clisp.org>
39631
39632         * lib/unictype.h (uc_property_is_valid): New macro.
39633         * tests/unictype/test-pr_byname.c (main): Use it.
39634
39635         * lib/unistr.h: Doc fixes.
39636         * lib/uniconv.h: Doc fixes.
39637         * lib/unictype.h: Doc fixes.
39638
39639 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
39640
39641         Port coreutils 7.2 to Solaris 8.
39642
39643         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
39644         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
39645         for Solaris 8.  This is a bit of a hack, as it means it's the
39646         caller's responsibility to add -lnsl if needed, but most likely it
39647         won't be needed since only getaddrinfo uses this and getaddrinfo
39648         isn't needed on Solaris 8.
39649
39650         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
39651         problem to Solaris 8 encountered with coreutils 7.2, which
39652         resulted in a message "fnmatch.c:292: warning: passing argument 4
39653         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
39654         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
39655
39656 2009-04-03  Simon Josefsson  <simon@josefsson.org>
39657
39658         * m4/ld-version-script.m4: Add FIXME comment.
39659
39660 2009-04-02  Simon Josefsson  <simon@josefsson.org>
39661
39662         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
39663         SOVERSION variable.
39664
39665 2009-04-02  Bruno Haible  <bruno@clisp.org>
39666
39667         * Makefile (info, html, dvi, pdf): Combine the rules.
39668         Suggested by Jim Meyering.
39669
39670 2009-04-01  Bruno Haible  <bruno@clisp.org>
39671
39672         * Makefile (info, html, dvi, pdf): New targets.
39673         Reported by Reuben Thomas <rrt@sc3d.org>.
39674
39675 2009-04-01  Bruno Haible  <bruno@clisp.org>
39676
39677         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
39678         can be put into PATH.
39679         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
39680
39681 2009-04-01  Bruno Haible  <bruno@clisp.org>
39682
39683         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
39684
39685 2009-04-01  Bruno Haible  <bruno@clisp.org>
39686
39687         Rename module 'visibility'.
39688         * modules/lib-symbol-visibility: Renamed from modules/visibility.
39689         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
39690         * doc/gnulib.texi: Update.
39691         * MODULES.html.sh (Misc): Update.
39692         * NEWS: Mention the change.
39693
39694 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39695
39696         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
39697         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
39698         Eric Blake <ebb9@byu.net> for review.
39699         * MODULES.html.sh: Add lib-msvc-compat.
39700         * doc/gnulib.texi: Link to new section.
39701         * m4/ld-output-def.m4: New file.
39702         * doc/ld-output-def.texi: New file.
39703
39704 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39705
39706         Rename ld-version-script to lib-symbol-versions.  Suggested by
39707         Bruno Haible <bruno@clisp.org>.
39708         * modules/ld-version-script: Renamed to lib-symbol-versions.
39709         * doc/ld-version-script.texi: Fix module name.
39710         * MODULES.html.sh: Add lib-symbol-versions.
39711
39712 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39713
39714         * modules/u64-tests: New file.
39715         * tests/test-u64.c: New file.
39716
39717 2009-03-04  Simon Josefsson  <simon@josefsson.org>
39718
39719         * MODULES.html.sh: Mention u64.
39720         * modules/u64: New module.
39721         * modules/crypto/sha512: Depend on u64 module instead of providing
39722         u64.h.
39723
39724 2009-03-27  Eric Blake  <ebb9@byu.net>
39725
39726         test-strerror: make debugging EAI_SYSTEM easier
39727         * modules/getaddrinfo-tests (Depends-on): Add strerror.
39728         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
39729         failure was EAI_SYSTEM.
39730
39731 2009-03-25  Bruno Haible  <bruno@clisp.org>
39732
39733         Fix a problem with --enable-relocatable on Solaris 7.
39734         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
39735         since 2008-02-24.
39736
39737 2009-03-25  Eric Blake  <ebb9@byu.net>
39738
39739         test-sockets: avoid gcc warning
39740         * tests/test-sockets.c (main): Silence compiler warning.
39741
39742 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39743
39744         New modules nproc, pthread, contributed by Glen Lenker.
39745
39746         * MODULES.html.sh: Add pthread, nproc.
39747         * lib/nproc.c: New file.
39748         * lib/nproc.h: New file.
39749         * lib/pthread.in.h: New file.
39750         * m4/pthread.m4: New file.
39751         * modules/nproc: New file.
39752         * modules/pthread: New file.
39753
39754 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39755
39756         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
39757         New variable.
39758
39759 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
39760
39761         filevercmp: handle simple~ and numbered.~3~ backup suffixes
39762         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
39763         * tests/test-filevercmp.c: Add tests for backup suffixes.
39764
39765 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39766
39767         * modules/stdlib (Depends-on): Add stdint, needed when defining
39768         struct random_data on, for example, HP-UX 10.20.  Reported by
39769         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39770
39771 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39772
39773         * lib/readline.c (readline): Call fflush on stdout after printing
39774         prompt.
39775
39776 2009-03-20  Bruno Haible  <bruno@clisp.org>
39777
39778         Remove dependency from 'close' module to -lws2_32 on native Windows.
39779         * lib/close-hook.h: New file.
39780         * lib/close-hook.c: New file.
39781         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
39782         w32sock.h.
39783         (_gl_close_fd_maybe_socket): Remove function.
39784         (rpl_close): Invoke execute_all_close_hooks instead of
39785         _gl_close_fd_maybe_socket.
39786         * lib/sockets.c: Include close-hook.h, w32sock.h.
39787         (close_fd_maybe_socket): New function, essentially from lib/close.c.
39788         (close_sockets_hook): New variable.
39789         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
39790         (gl_sockets_cleanup): Unregister it.
39791         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
39792         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
39793         * modules/close-hook: New file.
39794         * modules/close (Files): Remove lib/w32sock.h.
39795         (Depends-on): Add close-hook.
39796         (Link): Remove section.
39797         * modules/sockets (Files): Add lib/w32sock.h.
39798         (Depends-on): Add close-hook.
39799         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
39800         invocation.
39801         * NEWS: Mention that LIB_CLOSE is gone.
39802
39803 2009-03-23  Eric Blake  <ebb9@byu.net>
39804
39805         signal-tests: test previous patch
39806         * tests/test-signal.c: New file.
39807         * modules/signal-tests: Likewise.
39808
39809         signal.h: always support 'volatile sig_atomic_t'
39810         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
39811         (gl_SIGNAL_H_DEFAULTS): Add a default.
39812         * modules/signal (Makefile.am): Substitute if needed.
39813         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
39814         users can blindly add volatile.
39815         * doc/posix-headers/signal.texi (signal.h): Document it.
39816         Reported by Matthew Woehlke.
39817
39818 2009-03-23  Jim Meyering  <meyering@redhat.com>
39819
39820         pathmax: PATH_MAX: use pathconf only when available
39821         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
39822         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
39823         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
39824         This avoids a link failure in a PSP cross-compilation environment
39825         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
39826
39827         * lib/vasnprintf.c (divide): Fix typo in comment.
39828
39829 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39830
39831         * gnulib-tool (func_filter_filelist): Fix comment.
39832
39833 2009-03-20  Bruno Haible  <bruno@clisp.org>
39834
39835         Make sockets.h self-contained.
39836         * lib/sockets.c: Include sockets.h first.
39837         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39838
39839 2009-03-19  Eric Blake  <ebb9@byu.net>
39840
39841         doc: mention more functions added in cygwin 1.7.0
39842         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39843         addition.
39844         * doc/posix-functions/log2f.texi: Likewise.
39845
39846 2009-03-19  Jim Meyering  <meyering@redhat.com>
39847
39848         fsusage: avoid syntax error due to statement-before-declaration
39849         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39850         after all declarations.  Reported by Matthew Woehlke in
39851         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39852
39853 2009-03-18  Eric Blake  <ebb9@byu.net>
39854
39855         build-aux/compile: sync from automake
39856         * build-aux/compile: New file, from automake.
39857         * config/srclist.txt: Mention build-aux/compile.
39858
39859 2009-03-17  Bruno Haible  <bruno@clisp.org>
39860
39861         * lib/git-merge-changelog.c: Fix typo in comment.
39862         Reported by Reuben Thomas <rrt@sc3d.org>.
39863
39864 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39865
39866         * m4/regex.m4: update and improve help for
39867         --without-included-regex.
39868
39869 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39870
39871         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39872         failure on missing include files.
39873
39874 2009-03-17  Eric Blake  <ebb9@byu.net>
39875
39876         doc: mention more functions added in cygwin 1.7.0
39877         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39878         addition.
39879         * doc/posix-functions/fwscanf.texi: Likewise.
39880         * doc/posix-functions/swprintf.texi: Likewise.
39881         * doc/posix-functions/swscanf.texi: Likewise.
39882         * doc/posix-functions/vfwprintf.texi: Likewise.
39883         * doc/posix-functions/vfwscanf.texi: Likewise.
39884         * doc/posix-functions/vswprintf.texi: Likewise.
39885         * doc/posix-functions/vswscanf.texi: Likewise.
39886         * doc/posix-functions/vwprintf.texi: Likewise.
39887         * doc/posix-functions/vwscanf.texi: Likewise.
39888         * doc/posix-functions/wcscasecmp.texi: Likewise.
39889         * doc/posix-functions/wcsdup.texi: Likewise.
39890         * doc/posix-functions/wcsftime.texi: Likewise.
39891         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39892         * doc/posix-functions/wprintf.texi: Likewise.
39893         * doc/posix-functions/wscanf.texi: Likewise.
39894         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39895
39896 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39897
39898         maint.mk: really add $(AM_MAKEFLAGS)
39899         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39900         was inadvertently omitted in the last commit.
39901         Spotted by Bruno Haible.
39902
39903         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39904         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39905         $(AM_MAKEFLAGS)' rather than plain `make'.
39906
39907         gnulib-tool: execute $MAKE not make
39908         * gnulib-tool: Default $MAKE to 'make'.
39909         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39910         than make.  Initialize $MAKE in the do-autobuild script.
39911
39912         gnulib-tool: use $MAKE not make in generated files
39913         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39914         make, in generated files.  Initialize $MAKE in the do-autobuild
39915         script.
39916
39917         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39918
39919         GNUmakefile: disable parallelism only for multiple, recursive targets
39920         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39921         additions in the Makefile.
39922         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39923         by Automake.
39924         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39925         are listed on the command line and at least one of them is
39926         listed in $(ALL_RECURSIVE_TARGETS).
39927
39928 2009-03-14  Bruno Haible  <bruno@clisp.org>
39929
39930         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39931         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39932         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39933         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39934         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39935         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39936         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39937         unistr/u8-uctomb.
39938         * modules/unistr/u8-strchr (Depends-on): Likewise.
39939         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39940         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39941         unistr/u16-uctomb.
39942         * modules/unistr/u16-strchr (Depends-on): Likewise.
39943         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39944
39945 2009-03-12  Bruno Haible  <bruno@clisp.org>
39946
39947         Work around select() bug on Interix 3.5.
39948         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39949         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39950         * m4/select.m4: New file.
39951         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39952         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39953         * modules/select (Files): Add m4/select.m4.
39954         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39955         * modules/nanosleep (Depends-on): Add select.
39956         * modules/poll (Depends-on): Likewise.
39957         * doc/posix-functions/select.texi: Mention the Interix bug.
39958         Reported by Markus Duft <mduft@gentoo.org>.
39959
39960         * lib/select.c: Renamed from lib/winsock-select.c.
39961         * modules/select (Files): Add lib/select.c, remove
39962         lib/winsock-select.c.
39963         (configure.ac): Update.
39964
39965 2009-03-12  Jim Meyering  <meyering@redhat.com>
39966
39967         avoid gcc warnings about unused macro definitions
39968         * lib/readtokens.c (STREQ): Remove unused definition.
39969         * lib/xmalloc.c (SIZE_MAX): Likewise.
39970         * lib/openat-die.c (N_): Likewise.
39971         * lib/mountlist.c (SIZE_MAX): Remove definition.
39972         Instead, include <stdint.h>.
39973         * lib/readutmp.c: Likewise.
39974         * modules/readutmp (Depends-on): Add stdint.
39975         * modules/mountlist (Depends-on): Add stdint.
39976         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39977
39978 2009-03-10  Bruno Haible  <bruno@clisp.org>
39979
39980         Tests for module 'mbmemcasecoll'.
39981         * modules/mbmemcasecoll-tests: New file.
39982         * tests/test-mbmemcasecoll1.sh: New file.
39983         * tests/test-mbmemcasecoll2.sh: New file.
39984         * tests/test-mbmemcasecoll3.sh: New file.
39985         * tests/test-mbmemcasecoll.c: New file.
39986
39987         New module 'mbmemcasecoll'.
39988         * lib/mbmemcasecoll.h: New file.
39989         * lib/mbmemcasecoll.c: New file.
39990         * modules/mbmemcasecoll: New file.
39991
39992         * tests/test-mbmemcasecmp.h: New file, extracted from
39993         tests/test-mbmemcasecmp.c.
39994         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39995         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39996         (main): Update.
39997         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39998
39999 2009-03-09  Bruno Haible  <bruno@clisp.org>
40000
40001         Tests for module 'mbmemcasecmp'.
40002         * modules/mbmemcasecmp-tests: New file.
40003         * tests/test-mbmemcasecmp1.sh: New file.
40004         * tests/test-mbmemcasecmp2.sh: New file.
40005         * tests/test-mbmemcasecmp3.sh: New file.
40006         * tests/test-mbmemcasecmp.c: New file.
40007
40008         New module 'mbmemcasecmp'.
40009         * lib/mbmemcasecmp.h: New file.
40010         * lib/mbmemcasecmp.c: New file.
40011         * modules/mbmemcasecmp: New file.
40012
40013 2009-03-09  Bruno Haible  <bruno@clisp.org>
40014
40015         Tests for module 'unicase/ulc-casecoll'.
40016         * modules/unicase/ulc-casecoll-tests: New file.
40017         * tests/unicase/test-ulc-casecoll1.sh: New file.
40018         * tests/unicase/test-ulc-casecoll2.sh: New file.
40019         * tests/unicase/test-ulc-casecoll.c: New file.
40020
40021         New module 'unicase/ulc-casecoll'.
40022         * lib/unicase.h (ulc_casecoll): New declaration.
40023         * lib/unicase/ulc-casecoll.c: New file.
40024         * modules/unicase/ulc-casecoll: New file.
40025
40026         New module 'unicase/ulc-casexfrm'.
40027         * lib/unicase.h (ulc_casexfrm): New declaration.
40028         * lib/unicase/ulc-casexfrm.c: New file.
40029         * modules/unicase/ulc-casexfrm: New file.
40030
40031 2009-03-09  Bruno Haible  <bruno@clisp.org>
40032
40033         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
40034         invocations.
40035
40036         * m4/mbscasecmp.m4: Remove file.
40037         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
40038         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
40039
40040         * m4/mbscasestr.m4: Remove file.
40041         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
40042         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
40043
40044         * m4/mbschr.m4: Remove file.
40045         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
40046         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
40047
40048         * m4/mbscspn.m4: Remove file.
40049         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
40050         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
40051
40052         * m4/mbslen.m4: Remove file.
40053         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
40054         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
40055
40056         * m4/mbsncasecmp.m4: Remove file.
40057         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
40058         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
40059
40060         * m4/mbsnlen.m4: Remove file.
40061         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
40062         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
40063
40064         * m4/mbspbrk.m4: Remove file.
40065         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
40066         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
40067
40068         * m4/mbspcasecmp.m4: Remove file.
40069         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
40070         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
40071
40072         * m4/mbsrchr.m4: Remove file.
40073         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
40074         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
40075
40076         * m4/mbssep.m4: Remove file.
40077         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
40078         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
40079
40080         * m4/mbsspn.m4: Remove file.
40081         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
40082         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
40083
40084         * m4/mbsstr.m4: Remove file.
40085         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
40086         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
40087
40088         * m4/mbstok_r.m4: Remove file.
40089         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
40090         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
40091
40092         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
40093
40094         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
40095         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
40096
40097         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
40098
40099 2009-03-08  Bruno Haible  <bruno@clisp.org>
40100
40101         Tests for module 'unicase/ulc-casecmp'.
40102         * modules/unicase/ulc-casecmp-tests: New file.
40103         * tests/unicase/test-ulc-casecmp1.sh: New file.
40104         * tests/unicase/test-ulc-casecmp2.sh: New file.
40105         * tests/unicase/test-ulc-casecmp.c: New file.
40106
40107         New module 'unicase/ulc-casecmp'.
40108         * lib/unicase.h (ulc_casecmp): New declaration.
40109         * lib/unicase/ulc-casecmp.c: New file.
40110         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
40111         'const SRC_UNIT *'.
40112         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
40113         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
40114         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
40115         * modules/unicase/ulc-casecmp: New file.
40116
40117         Tests for module 'unicase/u32-is-cased'.
40118         * modules/unicase/u32-is-cased-tests: New file.
40119         * tests/unicase/test-u32-is-cased.c: New file.
40120
40121         Tests for module 'unicase/u16-is-cased'.
40122         * modules/unicase/u16-is-cased-tests: New file.
40123         * tests/unicase/test-u16-is-cased.c: New file.
40124
40125         Tests for module 'unicase/u8-is-cased'.
40126         * modules/unicase/u8-is-cased-tests: New file.
40127         * tests/unicase/test-u8-is-cased.c: New file.
40128         * tests/unicase/test-is-cased.h: New file.
40129
40130         New module 'unicase/u32-is-cased'.
40131         * lib/unicase/u32-is-cased.c: New file.
40132         * modules/unicase/u32-is-cased: New file.
40133
40134         New module 'unicase/u16-is-cased'.
40135         * lib/unicase/u16-is-cased.c: New file.
40136         * modules/unicase/u16-is-cased: New file.
40137
40138         New module 'unicase/u8-is-cased'.
40139         * lib/unicase/u8-is-cased.c: New file.
40140         * lib/unicase/u-is-cased.h: New file.
40141         * modules/unicase/u8-is-cased: New file.
40142
40143         Tests for module 'unicase/u32-is-casefolded'.
40144         * modules/unicase/u32-is-casefolded-tests: New file.
40145         * tests/unicase/test-u32-is-casefolded.c: New file.
40146
40147         Tests for module 'unicase/u16-is-casefolded'.
40148         * modules/unicase/u16-is-casefolded-tests: New file.
40149         * tests/unicase/test-u16-is-casefolded.c: New file.
40150
40151         Tests for module 'unicase/u8-is-casefolded'.
40152         * modules/unicase/u8-is-casefolded-tests: New file.
40153         * tests/unicase/test-u8-is-casefolded.c: New file.
40154         * tests/unicase/test-is-casefolded.h: New file.
40155
40156         New module 'unicase/u32-is-casefolded'.
40157         * lib/unicase/u32-is-casefolded.c: New file.
40158         * modules/unicase/u32-is-casefolded: New file.
40159
40160         New module 'unicase/u16-is-casefolded'.
40161         * lib/unicase/u16-is-casefolded.c: New file.
40162         * modules/unicase/u16-is-casefolded: New file.
40163
40164         New module 'unicase/u8-is-casefolded'.
40165         * lib/unicase/u8-is-casefolded.c: New file.
40166         * modules/unicase/u8-is-casefolded: New file.
40167
40168         Tests for module 'unicase/u32-is-titlecase'.
40169         * modules/unicase/u32-is-titlecase-tests: New file.
40170         * tests/unicase/test-u32-is-titlecase.c: New file.
40171
40172         Tests for module 'unicase/u16-is-titlecase'.
40173         * modules/unicase/u16-is-titlecase-tests: New file.
40174         * tests/unicase/test-u16-is-titlecase.c: New file.
40175
40176         Tests for module 'unicase/u8-is-titlecase'.
40177         * modules/unicase/u8-is-titlecase-tests: New file.
40178         * tests/unicase/test-u8-is-titlecase.c: New file.
40179         * tests/unicase/test-is-titlecase.h: New file.
40180
40181         New module 'unicase/u32-is-titlecase'.
40182         * lib/unicase/u32-is-titlecase.c: New file.
40183         * modules/unicase/u32-is-titlecase: New file.
40184
40185         New module 'unicase/u16-is-titlecase'.
40186         * lib/unicase/u16-is-titlecase.c: New file.
40187         * modules/unicase/u16-is-titlecase: New file.
40188
40189         New module 'unicase/u8-is-titlecase'.
40190         * lib/unicase/u8-is-titlecase.c: New file.
40191         * modules/unicase/u8-is-titlecase: New file.
40192
40193         Tests for module 'unicase/u32-is-lowercase'.
40194         * modules/unicase/u32-is-lowercase-tests: New file.
40195         * tests/unicase/test-u32-is-lowercase.c: New file.
40196
40197         Tests for module 'unicase/u16-is-lowercase'.
40198         * modules/unicase/u16-is-lowercase-tests: New file.
40199         * tests/unicase/test-u16-is-lowercase.c: New file.
40200
40201         Tests for module 'unicase/u8-is-lowercase'.
40202         * modules/unicase/u8-is-lowercase-tests: New file.
40203         * tests/unicase/test-u8-is-lowercase.c: New file.
40204         * tests/unicase/test-is-lowercase.h: New file.
40205
40206         New module 'unicase/u32-is-lowercase'.
40207         * lib/unicase/u32-is-lowercase.c: New file.
40208         * modules/unicase/u32-is-lowercase: New file.
40209
40210         New module 'unicase/u16-is-lowercase'.
40211         * lib/unicase/u16-is-lowercase.c: New file.
40212         * modules/unicase/u16-is-lowercase: New file.
40213
40214         New module 'unicase/u8-is-lowercase'.
40215         * lib/unicase/u8-is-lowercase.c: New file.
40216         * modules/unicase/u8-is-lowercase: New file.
40217
40218         Tests for module 'unicase/u32-is-uppercase'.
40219         * modules/unicase/u32-is-uppercase-tests: New file.
40220         * tests/unicase/test-u32-is-uppercase.c: New file.
40221
40222         Tests for module 'unicase/u16-is-uppercase'.
40223         * modules/unicase/u16-is-uppercase-tests: New file.
40224         * tests/unicase/test-u16-is-uppercase.c: New file.
40225
40226         Tests for module 'unicase/u8-is-uppercase'.
40227         * modules/unicase/u8-is-uppercase-tests: New file.
40228         * tests/unicase/test-u8-is-uppercase.c: New file.
40229         * tests/unicase/test-is-uppercase.h: New file.
40230
40231         New module 'unicase/u32-is-uppercase'.
40232         * lib/unicase/u32-is-uppercase.c: New file.
40233         * modules/unicase/u32-is-uppercase: New file.
40234
40235         New module 'unicase/u16-is-uppercase'.
40236         * lib/unicase/u16-is-uppercase.c: New file.
40237         * modules/unicase/u16-is-uppercase: New file.
40238
40239         New module 'unicase/u8-is-uppercase'.
40240         * lib/unicase/u8-is-uppercase.c: New file.
40241         * modules/unicase/u8-is-uppercase: New file.
40242
40243         New module 'unicase/u32-is-invariant'.
40244         * lib/unicase/u32-is-invariant.c: New file.
40245         * modules/unicase/u32-is-invariant: New file.
40246
40247         New module 'unicase/u16-is-invariant'.
40248         * lib/unicase/u16-is-invariant.c: New file.
40249         * modules/unicase/u16-is-invariant: New file.
40250
40251         New module 'unicase/u8-is-invariant'.
40252         * lib/unicase/u8-is-invariant.c: New file.
40253         * lib/unicase/invariant.h: New file.
40254         * lib/unicase/u-is-invariant.h: New file.
40255         * modules/unicase/u8-is-invariant: New file.
40256
40257         Tests for module 'unicase/u32-casecoll'.
40258         * modules/unicase/u32-casecoll-tests: New file.
40259         * tests/unicase/test-u32-casecoll.c: New file.
40260
40261         Tests for module 'unicase/u16-casecoll'.
40262         * modules/unicase/u16-casecoll-tests: New file.
40263         * tests/unicase/test-u16-casecoll.c: New file.
40264
40265         Tests for module 'unicase/u8-casecoll'.
40266         * modules/unicase/u8-casecoll-tests: New file.
40267         * tests/unicase/test-u8-casecoll.c: New file.
40268
40269         New module 'unicase/u32-casecoll'.
40270         * lib/unicase/u32-casecoll.c: New file.
40271         * modules/unicase/u32-casecoll: New file.
40272
40273         New module 'unicase/u16-casecoll'.
40274         * lib/unicase/u16-casecoll.c: New file.
40275         * modules/unicase/u16-casecoll: New file.
40276
40277         New module 'unicase/u8-casecoll'.
40278         * lib/unicase/u8-casecoll.c: New file.
40279         * lib/unicase/u-casecoll.h: New file.
40280         * modules/unicase/u8-casecoll: New file.
40281
40282         New module 'unicase/u32-casexfrm'.
40283         * lib/unicase/u32-casexfrm.c: New file.
40284         * modules/unicase/u32-casexfrm: New file.
40285
40286         New module 'unicase/u16-casexfrm'.
40287         * lib/unicase/u16-casexfrm.c: New file.
40288         * modules/unicase/u16-casexfrm: New file.
40289
40290         New module 'unicase/u8-casexfrm'.
40291         * lib/unicase/u8-casexfrm.c: New file.
40292         * lib/unicase/u-casexfrm.h: New file.
40293         * modules/unicase/u8-casexfrm: New file.
40294
40295         Tests for module 'unicase/u32-casecmp'.
40296         * modules/unicase/u32-casecmp-tests: New file.
40297         * tests/unicase/test-u32-casecmp.c: New file.
40298
40299         Tests for module 'unicase/u16-casecmp'.
40300         * modules/unicase/u16-casecmp-tests: New file.
40301         * tests/unicase/test-u16-casecmp.c: New file.
40302
40303         Tests for module 'unicase/u8-casecmp'.
40304         * modules/unicase/u8-casecmp-tests: New file.
40305         * tests/unicase/test-u8-casecmp.c: New file.
40306         * tests/unicase/test-casecmp.h: New file.
40307
40308         New module 'unicase/u32-casecmp'.
40309         * lib/unicase/u32-casecmp.c: New file.
40310         * modules/unicase/u32-casecmp: New file.
40311
40312         New module 'unicase/u16-casecmp'.
40313         * lib/unicase/u16-casecmp.c: New file.
40314         * modules/unicase/u16-casecmp: New file.
40315
40316         New module 'unicase/u8-casecmp'.
40317         * lib/unicase/u8-casecmp.c: New file.
40318         * lib/unicase/u-casecmp.h: New file.
40319         * modules/unicase/u8-casecmp: New file.
40320
40321         Tests for module 'unicase/u32-casefold'.
40322         * modules/unicase/u32-casefold-tests: New file.
40323         * tests/unicase/test-u32-casefold.c: New file.
40324
40325         Tests for module 'unicase/u16-casefold'.
40326         * modules/unicase/u16-casefold-tests: New file.
40327         * tests/unicase/test-u16-casefold.c: New file.
40328
40329         Tests for module 'unicase/u8-casefold'.
40330         * modules/unicase/u8-casefold-tests: New file.
40331         * tests/unicase/test-u8-casefold.c: New file.
40332
40333         New module 'unicase/u32-casefold'.
40334         * lib/unicase/u32-casefold.c: New file.
40335         * modules/unicase/u32-casefold: New file.
40336
40337         New module 'unicase/u16-casefold'.
40338         * lib/unicase/u16-casefold.c: New file.
40339         * modules/unicase/u16-casefold: New file.
40340
40341         New module 'unicase/u8-casefold'.
40342         * lib/unicase/u8-casefold.c: New file.
40343         * lib/unicase/u-casefold.h: New file.
40344         * modules/unicase/u8-casefold: New file.
40345
40346         New module 'unicase/tocasefold'.
40347         * lib/unicase/casefold.h: New file.
40348         * lib/unicase/tocasefold.c: New file.
40349         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
40350         * modules/unicase/tocasefold: New file.
40351
40352         Tests for module 'unicase/u32-totitle'.
40353         * modules/unicase/u32-totitle-tests: New file.
40354         * tests/unicase/test-u32-totitle.c: New file.
40355
40356         Tests for module 'unicase/u16-totitle'.
40357         * modules/unicase/u16-totitle-tests: New file.
40358         * tests/unicase/test-u16-totitle.c: New file.
40359
40360         Tests for module 'unicase/u8-totitle'.
40361         * modules/unicase/u8-totitle-tests: New file.
40362         * tests/unicase/test-u8-totitle.c: New file.
40363
40364         New module 'unicase/u32-totitle'.
40365         * lib/unicase/u32-totitle.c: New file.
40366         * modules/unicase/u32-totitle: New file.
40367
40368         New module 'unicase/u16-totitle'.
40369         * lib/unicase/u16-totitle.c: New file.
40370         * modules/unicase/u16-totitle: New file.
40371
40372         New module 'unicase/u8-totitle'.
40373         * lib/unicase/u8-totitle.c: New file.
40374         * lib/unicase/u-totitle.h: New file.
40375         * modules/unicase/u8-totitle: New file.
40376
40377         Tests for module 'unicase/u32-tolower'.
40378         * modules/unicase/u32-tolower-tests: New file.
40379         * tests/unicase/test-u32-tolower.c: New file.
40380
40381         Tests for module 'unicase/u16-tolower'.
40382         * modules/unicase/u16-tolower-tests: New file.
40383         * tests/unicase/test-u16-tolower.c: New file.
40384
40385         Tests for module 'unicase/u8-tolower'.
40386         * modules/unicase/u8-tolower-tests: New file.
40387         * tests/unicase/test-u8-tolower.c: New file.
40388
40389         New module 'unicase/u32-tolower'.
40390         * lib/unicase/u32-tolower.c: New file.
40391         * modules/unicase/u32-tolower: New file.
40392
40393         New module 'unicase/u16-tolower'.
40394         * lib/unicase/u16-tolower.c: New file.
40395         * modules/unicase/u16-tolower: New file.
40396
40397         New module 'unicase/u8-tolower'.
40398         * lib/unicase/u8-tolower.c: New file.
40399         * modules/unicase/u8-tolower: New file.
40400
40401         Tests for module 'unicase/u32-toupper'.
40402         * modules/unicase/u32-toupper-tests: New file.
40403         * tests/unicase/test-u32-toupper.c: New file.
40404
40405         Tests for module 'unicase/u16-toupper'.
40406         * modules/unicase/u16-toupper-tests: New file.
40407         * tests/unicase/test-u16-toupper.c: New file.
40408
40409         Tests for module 'unicase/u8-toupper'.
40410         * modules/unicase/u8-toupper-tests: New file.
40411         * tests/unicase/test-u8-toupper.c: New file.
40412
40413         New module 'unicase/u32-toupper'.
40414         * lib/unicase/u32-toupper.c: New file.
40415         * modules/unicase/u32-toupper: New file.
40416
40417         New module 'unicase/u16-toupper'.
40418         * lib/unicase/u16-toupper.c: New file.
40419         * modules/unicase/u16-toupper: New file.
40420
40421         New module 'unicase/u8-toupper'.
40422         * lib/unicase/u8-toupper.c: New file.
40423         * modules/unicase/u8-toupper: New file.
40424
40425         New module 'unicase/u32-casemap'.
40426         * lib/unicase/u32-casemap.c: New file.
40427         * modules/unicase/u32-casemap: New file.
40428
40429         New module 'unicase/u16-casemap'.
40430         * lib/unicase/u16-casemap.c: New file.
40431         * modules/unicase/u16-casemap: New file.
40432
40433         New module 'unicase/u8-casemap'.
40434         * lib/unicase/unicasemap.h: New file.
40435         * lib/unicase/u8-casemap.c: New file.
40436         * lib/unicase/u-casemap.h: New file.
40437         * modules/unicase/u8-casemap: New file.
40438
40439         New module 'unicase/special-casing'.
40440         * lib/unicase/special-casing.h: New file.
40441         * lib/unicase/special-casing.c: New file.
40442         * lib/unicase/special-casing-table.gperf: New file, generated by
40443         gen-uni-tables.c.
40444         * modules/unicase/special-casing: New file.
40445
40446         Tests for module 'unicase/locale-language'.
40447         * modules/unicase/locale-language-tests: New file.
40448         * tests/unicase/test-locale-language.sh: New file.
40449         * tests/unicase/test-locale-language.c: New file.
40450
40451         New module 'unicase/locale-language'.
40452         * lib/unicase/locale-language.c: New file.
40453         * lib/unicase/locale-languages.gperf: New file.
40454         * modules/unicase/locale-language: New file.
40455
40456         Generate more tables for case conversion and case folding.
40457         * lib/gen-uni-tables.c (SCC_*): New enum items.
40458         (struct special_casing_rule): New type.
40459         (casing_rules, num_casing_rules, allocated_casing_rules): New
40460         variables.
40461         (add_casing_rule, fill_casing_rules): New functions.
40462         (struct casefold_rule): New type.
40463         (casefolding_rules, num_casefolding_rules,
40464         allocated_casefolding_rules): New variables.
40465         (fill_casefolding_rules): New function.
40466         (unicode_casefold): New variable.
40467         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
40468         sort_casing_rules, output_casing_rules): New functions.
40469         (main): Accept to more arguments: SpecialCasing.txt and
40470         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
40471         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
40472         Output mapping for casefolding.
40473
40474         * lib/unicase.h: Include stdbool.h, uninorm.h.
40475         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
40476         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
40477         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
40478         arguments.
40479         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
40480         resultp arguments.
40481         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
40482         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
40483         resultp arguments.
40484         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
40485         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
40486         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
40487         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
40488         declarations.
40489         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
40490
40491 2009-03-08  Bruno Haible  <bruno@clisp.org>
40492
40493         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
40494         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
40495         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
40496         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
40497
40498 2009-03-07  Bruno Haible  <bruno@clisp.org>
40499
40500         Adjust u*_normcmp, u*_normcoll API.
40501         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
40502         u16_normcoll, u32_normcoll): Change failure conventions.
40503         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
40504         errno and return -1.
40505         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
40506
40507 2009-03-07  Bruno Haible  <bruno@clisp.org>
40508
40509         Tests for module 'uninorm/u32-normcoll'.
40510         * modules/uninorm/u32-normcoll-tests: New file.
40511         * tests/uninorm/test-u32-normcoll.c: New file.
40512
40513         Tests for module 'uninorm/u16-normcoll'.
40514         * modules/uninorm/u16-normcoll-tests: New file.
40515         * tests/uninorm/test-u16-normcoll.c: New file.
40516
40517         Tests for module 'uninorm/u8-normcoll'.
40518         * modules/uninorm/u8-normcoll-tests: New file.
40519         * tests/uninorm/test-u8-normcoll.c: New file.
40520
40521 2009-03-07  Bruno Haible  <bruno@clisp.org>
40522
40523         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
40524         tests/uninorm/test-u32-normcmp.c.
40525         * tests/uninorm/test-u32-normcmp.c: Include it.
40526         (test_nonascii): New function, extracted from main. Add some more
40527         tests.
40528         (main): Invoke test_ascii and test_nonascii.
40529         * modules/uninorm/u32-normcmp-tests (Files): Add
40530         tests/uninorm/test-u32-normcmp.h.
40531         (Depends-on): Remove uninorm/u32-normcmp.
40532
40533         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
40534         tests/uninorm/test-u16-normcmp.c.
40535         * tests/uninorm/test-u16-normcmp.c: Include it.
40536         (test_nonascii): New function, extracted from main. Add some more
40537         tests.
40538         (main): Invoke test_ascii and test_nonascii.
40539         * modules/uninorm/u16-normcmp-tests (Files): Add
40540         tests/uninorm/test-u16-normcmp.h.
40541         (Depends-on): Remove uninorm/u16-normcmp.
40542
40543         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
40544         tests/uninorm/test-u8-normcmp.c.
40545         * tests/uninorm/test-u8-normcmp.c: Include it.
40546         (test_nonascii): New function, extracted from main. Add some more
40547         tests.
40548         (main): Invoke test_ascii and test_nonascii.
40549         * modules/uninorm/u8-normcmp-tests (Files): Add
40550         tests/uninorm/test-u8-normcmp.h.
40551         (Depends-on): Remove uninorm/u8-normcmp.
40552
40553 2009-03-07  Bruno Haible  <bruno@clisp.org>
40554
40555         New module 'uninorm/u32-normcoll'.
40556         * lib/uninorm/u32-normcoll.c: New file.
40557         * modules/uninorm/u32-normcoll: New file.
40558
40559         New module 'uninorm/u16-normcoll'.
40560         * lib/uninorm/u16-normcoll.c: New file.
40561         * modules/uninorm/u16-normcoll: New file.
40562
40563         New module 'uninorm/u8-normcoll'.
40564         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
40565         declarations.
40566         * lib/uninorm/u8-normcoll.c: New file.
40567         * lib/uninorm/u-normcoll.h: New file.
40568         * modules/uninorm/u8-normcoll: New file.
40569
40570         New module 'uninorm/u32-normxfrm'.
40571         * lib/uninorm/u32-normxfrm.c: New file.
40572         * modules/uninorm/u32-normxfrm: New file.
40573
40574         New module 'uninorm/u16-normxfrm'.
40575         * lib/uninorm/u16-normxfrm.c: New file.
40576         * modules/uninorm/u16-normxfrm: New file.
40577
40578         New module 'uninorm/u8-normxfrm'.
40579         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
40580         declarations.
40581         * lib/uninorm/u8-normxfrm.c: New file.
40582         * lib/uninorm/u-normxfrm.h: New file.
40583         * modules/uninorm/u8-normxfrm: New file.
40584
40585 2009-03-07  Bruno Haible  <bruno@clisp.org>
40586
40587         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
40588         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
40589         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
40590
40591 2009-03-07  Bruno Haible  <bruno@clisp.org>
40592
40593         New module 'memxfrm'.
40594         * lib/memxfrm.h: New file.
40595         * lib/memxfrm.c: New file.
40596         * modules/memxfrm: New file.
40597
40598 2009-03-07  Bruno Haible  <bruno@clisp.org>
40599
40600         New module 'memcmp2'.
40601         * lib/memcmp2.h: New file.
40602         * lib/memcmp2.c: New file.
40603         * modules/memcmp2: New file.
40604
40605 2009-03-07  Bruno Haible  <bruno@clisp.org>
40606
40607         Tests for module 'uninorm/decomposing-form'.
40608         * modules/uninorm/decomposing-form-tests: New file.
40609         * tests/uninorm/test-decomposing-form.c: New file.
40610
40611         New module 'uninorm/decomposing-form'.
40612         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
40613         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
40614         Add 'decomposing_variant' field.
40615         * lib/uninorm/decomposing-form.c: New file.
40616         * lib/uninorm/nfc.c (uninorm_nfc): Update.
40617         * lib/uninorm/nfd.c (uninorm_nfd): Update.
40618         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
40619         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
40620         * modules/uninorm/decomposing-form: New file.
40621         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
40622         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
40623
40624 2009-03-07  Bruno Haible  <bruno@clisp.org>
40625
40626         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
40627         strings.
40628
40629 2009-03-06  Bruno Haible  <bruno@clisp.org>
40630
40631         Tests for module 'uninorm/u32-normcmp'.
40632         * tests/uninorm/test-u32-normcmp.c: New file.
40633         * modules/uninorm/u32-normcmp-tests: New file.
40634
40635         Tests for module 'uninorm/u16-normcmp'.
40636         * tests/uninorm/test-u16-normcmp.c: New file.
40637         * modules/uninorm/u16-normcmp-tests: New file.
40638
40639         Tests for module 'uninorm/u8-normcmp'.
40640         * tests/uninorm/test-u8-normcmp.c: New file.
40641         * modules/uninorm/u8-normcmp-tests: New file.
40642
40643         New module 'uninorm/u32-normcmp'.
40644         * lib/uninorm/u32-normcmp.c: New file.
40645         * modules/uninorm/u32-normcmp: New file.
40646
40647         New module 'uninorm/u16-normcmp'.
40648         * lib/uninorm/u16-normcmp.c: New file.
40649         * modules/uninorm/u16-normcmp: New file.
40650
40651         New module 'uninorm/u8-normcmp'.
40652         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
40653         declarations.
40654         * lib/uninorm/u8-normcmp.c: New file.
40655         * lib/uninorm/u-normcmp.h: New file.
40656         * modules/uninorm/u8-normcmp: New file.
40657
40658 2009-03-06  Bruno Haible  <bruno@clisp.org>
40659
40660         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
40661         Reported by Eric Blake.
40662
40663 2009-03-06  Eric Blake  <ebb9@byu.net>
40664             Bruno Haible  <bruno@clisp.org>
40665
40666         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
40667         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
40668         condition.
40669         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40670         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
40671         condition.
40672         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40673
40674 2009-03-06  Eric Blake  <ebb9@byu.net>
40675
40676         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
40677         to avoid compiler warnings.
40678         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
40679
40680 2009-03-05  Bruno Haible  <bruno@clisp.org>
40681
40682         * tests/test-ftell.c (main): Disable test beyond end of file on
40683         FreeMiNT.
40684         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40685
40686 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
40687
40688         * lib/filevercmp.c: Move hidden files up in ordering.
40689         * tests/test-filevercmp.c: Add tests for hidden files.
40690
40691 2009-03-04  Bruno Haible  <bruno@clisp.org>
40692
40693         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
40694         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
40695         AM_CFLAGS.
40696         Reported by Simon Josefsson.
40697
40698 2009-03-03  Bruno Haible  <bruno@clisp.org>
40699
40700         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
40701         Reported by Simon Josefsson.
40702
40703         * doc/ld-version-script.texi: Update node reference.
40704
40705 2009-03-03  Bruno Haible  <bruno@clisp.org>
40706
40707         * modules/visibility (License): Change to 'unlimited'.
40708         Suggested by Simon Josefsson.
40709
40710 2009-03-03  Jim Meyering  <meyering@redhat.com>
40711
40712         unlinkdir: cannot_unlink_dir may modify process state
40713         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
40714         it's neither thread-safe nor appropriate for use in a library.
40715
40716 2009-03-03  Eric Blake  <ebb9@byu.net>
40717
40718         test-closein: silence test under Darwin
40719         * tests/test-closein.sh: Ignore stderr from cat, since we don't
40720         care if it dies from EPIPE or EBADF.
40721
40722 2009-03-03  Bruno Haible  <bruno@clisp.org>
40723
40724         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
40725         earlier.
40726         * doc/visibility.texi: Fix @node and @section.
40727
40728 2009-03-03  Simon Josefsson  <simon@josefsson.org>
40729
40730         * doc/gnulib.texi: Link to sections for ld version script and
40731         visibility.
40732         * doc/visibility.texi: Add @node and @section.
40733         * modules/ld-version-script: New module.
40734         * m4/ld-version-script.m4: New file.
40735         * doc/ld-version-script.texi: New file.
40736
40737 2009-03-02  David Lutterkort  <lutter@redhat.com>
40738
40739         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
40740         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40741
40742 2009-03-02  Bruno Haible  <bruno@clisp.org>
40743
40744         * doc/visibility.texi: Mention libtool's -export-symbols option.
40745
40746 2009-03-02  Jim Meyering  <meyering@redhat.com>
40747
40748         announce-gen: new option: --no-print-checksums
40749         * build-aux/announce-gen (usage): Describe it.
40750         (print_checksums): Print a newline here, not in the [*] footnote.
40751         (main): Honor it.
40752
40753 2009-03-01  Bruno Haible  <bruno@clisp.org>
40754
40755         Use socklen_t in the native Windows replacements prototypes.
40756         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
40757         instead of 'int'.
40758         * lib/getsockopt.c (rpl_getsockopt): Likewise.
40759         * lib/setsockopt.c (rpl_setsockopt): Likewise.
40760         * modules/getsockopt (Depends-on): Add socklen.
40761         * modules/setsockopt (Depends-on): Add socklen.
40762
40763 2009-03-01  Bruno Haible  <bruno@clisp.org>
40764
40765         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
40766         least 4.2.
40767
40768 2009-03-01  Eric Blake  <ebb9@byu.net>
40769             Bruno Haible  <bruno@clisp.org>
40770
40771         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
40772         error messages.
40773         * lib/wait-process.c (wait_subprocess): Omit error message about
40774         deadly signal sent to the child of termsigp != NULL.
40775
40776 2009-03-01  Eric Blake  <ebb9@byu.net>
40777
40778         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
40779
40780 2009-03-01  Bruno Haible  <bruno@clisp.org>
40781
40782         Avoid a gcc warning.
40783         * tests/test-sched.c (b): Make global.
40784         Reported by Eric Blake.
40785
40786 2009-01-19  Martin Lambers  <marlam@marlam.de>
40787
40788         Provide POSIX semantics for socket timeout options on W32.
40789         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
40790         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
40791         * modules/setsockopt: Depend on sys_time module for struct timeval.
40792         * modules/getsockopt: Depend on sys_time module for struct timeval.
40793
40794 2009-03-01  Simon Josefsson  <simon@josefsson.org>
40795
40796         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
40797         __USE_GNU, for consistency with netdb.in.h.
40798         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40799
40800 2009-03-01  Bruno Haible  <bruno@clisp.org>
40801
40802         More support for FreeMiNT.
40803         * lib/fseeko.c (rpl_fseeko): Complete last commit.
40804         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40805
40806 2009-03-01  Bruno Haible  <bruno@clisp.org>
40807
40808         More support for FreeMiNT.
40809         * lib/fpurge.c (fpurge): Correct last commit.
40810         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40811
40812 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40813
40814         Fix unportable awk script in vc-list-files.
40815         * build-aux/vc-list-files: In the replacement awk script, use
40816         substr with a second argument of 1, not zero.
40817         Report by Simon Josefsson.
40818
40819 2009-02-28  Bruno Haible  <bruno@clisp.org>
40820
40821         More support for FreeMiNT.
40822         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
40823         to FreeMiNT today.
40824         * lib/fwriting.c (fwriting): Likewise.
40825         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
40826
40827 2009-02-28  Bruno Haible  <bruno@clisp.org>
40828
40829         * tests/test-freadseek.c (main): Disable test beyond end of file on
40830         FreeMiNT.
40831         * tests/test-ftello.c (main): Likewise.
40832         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40833
40834 2009-02-28  Bruno Haible  <bruno@clisp.org>
40835
40836         Add tentative support for FreeMiNT.
40837         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40838         * lib/fpurge.c (fpurge): Likewise.
40839         * lib/freadable.c (freadable): Likewise.
40840         * lib/freading.c (freading): Likewise.
40841         * lib/freadptr.c (freadptr): Likewise.
40842         * lib/freadseek.c (freadptrinc): Likewise.
40843         * lib/fseeko.c (rpl_fseeko): Likewise.
40844         * lib/fseterr.c (fseterr): Likewise.
40845         * lib/fwritable.c (fwritable): Likewise.
40846         * lib/fwriting.c (fwriting): Likewise.
40847         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40848         Hourihane.
40849         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40850
40851 2009-02-28  Bruno Haible  <bruno@clisp.org>
40852
40853         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40854         SIGCHLD.
40855         Reported by Jim Meyering.
40856
40857 2009-02-28  Bruno Haible  <bruno@clisp.org>
40858
40859         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40860         Mention the results of these tests on various platforms.
40861         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40862         order.
40863         * doc/posix-functions/printf.texi: Likewise.
40864         * doc/posix-functions/snprintf.texi: Likewise.
40865         * doc/posix-functions/sprintf.texi: Likewise.
40866         * doc/posix-functions/vfprintf.texi: Likewise.
40867         * doc/posix-functions/vprintf.texi: Likewise.
40868         * doc/posix-functions/vsnprintf.texi: Likewise.
40869         * doc/posix-functions/vsprintf.texi: Likewise.
40870         * doc/glibc-functions/obstack_printf.texi: Likewise.
40871         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40872
40873 2009-02-28  Bruno Haible  <bruno@clisp.org>
40874
40875         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40876         Reported by Loïc Minier <lool@dooz.org>.
40877
40878 2009-02-27  Bruno Haible  <bruno@clisp.org>
40879
40880         * gnulib-tool (func_import): Make the sed expression used to create the
40881         sed script for updating the .gitignore file POSIX compliant.
40882         Reported by Eric Blake.
40883
40884 2009-02-27  Bruno Haible  <bruno@clisp.org>
40885
40886         * gnulib-tool (sed): Don't alias as "sed --posix".
40887         Reported by Eric Blake.
40888
40889 2009-02-27  Bruno Haible  <bruno@clisp.org>
40890
40891         Avoid test link errors.
40892         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40893         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40894         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40895         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40896         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40897
40898 2009-02-27  Bruno Haible  <bruno@clisp.org>
40899
40900         Avoid spurious "(cached)" in configure output.
40901         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40902         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40903         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40904         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40905         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40906         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40907         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40908         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40909         Reported by Eric Blake.
40910
40911 2009-02-27  Eric Blake  <ebb9@byu.net>
40912
40913         printf: fix regression in previous patch
40914         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40915
40916 2009-02-27  Bruno Haible  <bruno@clisp.org>
40917
40918         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40919         value.
40920         * lib/stdint.in.h: Likewise.
40921         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40922
40923 2009-02-27  Eric Blake  <ebb9@byu.net>
40924
40925         doc: mention more functions added in cygwin 1.7.0
40926         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40927         addition.
40928         * doc/posix-functions/open_wmemstream.texi: Likewise.
40929         * doc/posix-functions/wcsnlen.texi: Likewise.
40930         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40931         * doc/posix-functions/wcstod.texi: Likewise.
40932         * doc/posix-functions/wcstof.texi: Likewise.
40933         * doc/posix-functions/wcstoimax.texi: Likewise.
40934         * doc/posix-functions/wcstok.texi: Likewise.
40935         * doc/posix-functions/wcstoumax.texi: Likewise.
40936
40937         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40938         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40939         * doc/posix-functions/fprintf.texi: Update.
40940         * doc/posix-functions/printf.texi: Update.
40941         * doc/posix-functions/snprintf.texi: Update.
40942         * doc/posix-functions/sprintf.texi: Update.
40943         * doc/posix-functions/vfprintf.texi: Update.
40944         * doc/posix-functions/vprintf.texi: Update.
40945         * doc/posix-functions/vsnprintf.texi: Update.
40946         * doc/posix-functions/vsprintf.texi: Update.
40947         * doc/glibc-functions/obstack_printf.texi: Update.
40948         * doc/glibc-functions/obstack_vprintf.texi: Update.
40949
40950 2009-02-26  Eric Blake  <ebb9@byu.net>
40951
40952         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40953         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40954         compilation bug by using runtime conversion.
40955         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40956         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40957         * modules/ceill-tests (Files): Use nan.h.
40958         * modules/floorl-tests (Files): Likewise.
40959         * modules/frexpl-tests (Files): Likewise.
40960         * modules/isnanl-tests (Files): Likewise.
40961         * modules/ldexpl-tests (Files): Likewise.
40962         * modules/roundl-tests (Files): Likewise.
40963         * modules/truncl-tests (Files): Likewise.
40964         * tests/test-ceill.c (main): Use a working NaN.
40965         * tests/test-floorl.c (main): Likewise.
40966         * tests/test-frexpl.c (main): Likewise.
40967         * tests/test-isnan.c (test_long_double): Likewise.
40968         * tests/test-isnanl.h (main): Likewise.
40969         * tests/test-ldexpl.h (main): Likewise.
40970         * tests/test-roundl.h (main): Likewise.
40971         * tests/test-truncl.h (main): Likewise.
40972         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40973
40974 2009-02-26  Eric Blake  <ebb9@byu.net>
40975             Bruno Haible  <bruno@clisp.org>
40976
40977         Work around a *printf bug with %ls on Solaris.
40978         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40979         precision is specified, sprintf stops converting the wide string
40980         argument when the number of bytes that have been produced by this
40981         conversion equals or exceeds the precision.
40982         * doc/posix-functions/fprintf.texi: Update.
40983         * doc/posix-functions/printf.texi: Update.
40984         * doc/posix-functions/snprintf.texi: Update.
40985         * doc/posix-functions/sprintf.texi: Update.
40986         * doc/posix-functions/vfprintf.texi: Update.
40987         * doc/posix-functions/vprintf.texi: Update.
40988         * doc/posix-functions/vsnprintf.texi: Update.
40989         * doc/posix-functions/vsprintf.texi: Update.
40990         * doc/glibc-functions/obstack_printf.texi: Update.
40991         * doc/glibc-functions/obstack_vprintf.texi: Update.
40992
40993 2009-02-26  Eric Blake  <ebb9@byu.net>
40994
40995         stdlib: favor compiler check of random.h
40996         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40997         to avoid an ObjC random.h installed by Swarm.
40998
40999 2009-02-26  Bruno Haible  <bruno@clisp.org>
41000
41001         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
41002         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
41003         Reported by Gary V. Vaughan <gary@gnu.org>.
41004
41005 2009-02-26  Bruno Haible  <bruno@clisp.org>
41006
41007         Fix *printf behaviour regarding the %ls directive.
41008         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
41009         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
41010         NEED_PRINTF_DIRECTIVE_LS.
41011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
41012         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41013         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41014         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
41015         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
41016         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
41017         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
41018         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41019         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41020         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41021         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41022         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
41023         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41024         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41025         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41026         * doc/posix-functions/fprintf.texi: Update.
41027         * doc/posix-functions/printf.texi: Update.
41028         * doc/posix-functions/snprintf.texi: Update.
41029         * doc/posix-functions/sprintf.texi: Update.
41030         * doc/posix-functions/vfprintf.texi: Update.
41031         * doc/posix-functions/vprintf.texi: Update.
41032         * doc/posix-functions/vsnprintf.texi: Update.
41033         * doc/posix-functions/vsprintf.texi: Update.
41034         * doc/glibc-functions/obstack_printf.texi: Update.
41035         * doc/glibc-functions/obstack_vprintf.texi: Update.
41036         Reported by Eric Blake.
41037
41038 2009-02-25  Bruno Haible  <bruno@clisp.org>
41039
41040         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
41041         with known value.
41042         Reported by Gary V. Vaughan <gary@gnu.org>.
41043
41044 2009-02-25  Bruno Haible  <bruno@clisp.org>
41045
41046         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
41047         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
41048         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
41049         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
41050         Reported by Gary V. Vaughan <gary@gnu.org>.
41051
41052 2009-02-25  Bruno Haible  <bruno@clisp.org>
41053
41054         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
41055         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
41056         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
41057         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
41058         Reported by Gary V. Vaughan <gary@gnu.org>.
41059
41060 2009-02-25  Eric Blake  <ebb9@byu.net>
41061
41062         tests: skip fseek/ftell tests if ungetc is broken
41063         * m4/ungetc.m4: New file.
41064         * modules/fseek-tests: Split test, so ungetc dependency is
41065         separate from rest of test.
41066         * modules/fseeko-tests: Likewise.
41067         * modules/ftell-tests: Likewise.
41068         * modules/ftello-tests: Likewise.
41069         * tests/test-fseek.c (main): Isolate ungetc dependency.
41070         * tests/test-fseeko.c (main): Likewise.
41071         * tests/test-ftell.c (main): Likewise.
41072         * tests/test-ftello.c (main): Likewise.
41073         * tests/test-fseek2.sh: New file.
41074         * tests/test-fseeko2.sh: Likewise.
41075         * tests/test-ftell2.sh: Likewise.
41076         * tests/test-ftello2.sh: Likewise.
41077
41078 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
41079
41080         test-getaddrinfo: fix usage of skip return code 77
41081         * tests/test-gettaddrinfo.c: Return skip code 77 only
41082         for first occurance of skip (4x77 is not 77)
41083
41084 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
41085
41086         strtod: avoid C99 decl-after-statement
41087         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
41088
41089 2009-02-24  Eric Blake  <ebb9@byu.net>
41090
41091         strtod: detect HP-UX 11.31 bug
41092         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
41093         Reported by Gary V. Vaughan.
41094
41095 2009-02-23  Bruno Haible  <bruno@clisp.org>
41096
41097         Fix invalid read past end of memory block.
41098         * lib/vasnprintf.c (DCHAR_SET): Define.
41099         (local_wcslen): Define only when needed.
41100         (local_strnlen, local_wcsnlen): New functions.
41101         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
41102         directives that involve a conversion ourselves.
41103         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
41104         wcsnlen, mbrtowc, wcrtomb.
41105         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
41106         * tests/test-vasprintf-posix.c (test_function): Likewise.
41107         * tests/test-snprintf-posix.h (test_function): Likewise.
41108         * tests/test-sprintf-posix.h (test_function): Likewise.
41109         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41110
41111 2009-02-22  Bruno Haible  <bruno@clisp.org>
41112
41113         Implement new clarified decomposition of Hangul syllables.
41114         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
41115         of type LTV, return only a pairwise decomposition.
41116         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
41117         Likewise.
41118         * tests/uninorm/test-decomposition.c (main): Updated expected result.
41119         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
41120         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
41121
41122 2009-02-22  Bruno Haible  <bruno@clisp.org>
41123
41124         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
41125         zero-length results and shrink excess allocated memory.
41126         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
41127         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
41128         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
41129         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
41130         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
41131         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
41132         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
41133         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
41134         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
41135         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
41136         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
41137         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
41138
41139 2009-02-21  Bruno Haible  <bruno@clisp.org>
41140
41141         * doc/gnulib.texi: Include safe-alloc.texi earlier.
41142         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
41143         spaces after a period. Put a space between a macro name and its
41144         argument list. Trivial rewordings.
41145         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
41146         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
41147         (main): Return 0 explicitly.
41148
41149 2009-02-21  Bruno Haible  <bruno@clisp.org>
41150
41151         Tests for module 'uninorm/filter'.
41152         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
41153         * modules/uninorm/filter-tests: New file.
41154
41155         New module 'uninorm/filter'.
41156         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
41157         uninorm_filter_flush, uninorm_filter_free): New declarations.
41158         * lib/uninorm/uninorm-filter.c: New file.
41159         * modules/uninorm/filter: New file.
41160
41161 2009-02-21  Bruno Haible  <bruno@clisp.org>
41162
41163         Tests for module 'uninorm/nfkc'.
41164         * tests/uninorm/test-nfkc.c: New file.
41165         * tests/uninorm/test-u8-nfkc.c: New file.
41166         * tests/uninorm/test-u16-nfkc.c: New file.
41167         * tests/uninorm/test-u32-nfkc.c: New file.
41168         * tests/uninorm/test-u32-nfkc-big.sh: New file.
41169         * tests/uninorm/test-u32-nfkc-big.c: New file.
41170         * modules/uninorm/nfkc-tests: New file.
41171
41172         New module 'uninorm/nfkc'.
41173         * lib/uninorm/nfkc.c: New file.
41174         * modules/uninorm/nfkc: New file.
41175
41176         Tests for module 'uninorm/nfkd'.
41177         * tests/uninorm/test-nfkd.c: New file.
41178         * tests/uninorm/test-u8-nfkd.c: New file.
41179         * tests/uninorm/test-u16-nfkd.c: New file.
41180         * tests/uninorm/test-u32-nfkd.c: New file.
41181         * tests/uninorm/test-u32-nfkd-big.sh: New file.
41182         * tests/uninorm/test-u32-nfkd-big.c: New file.
41183         * modules/uninorm/nfkd-tests: New file.
41184
41185         New module 'uninorm/nfkd'.
41186         * lib/uninorm/nfkd.c: New file.
41187         * modules/uninorm/nfkd: New file.
41188
41189         Tests for module 'uninorm/nfc'.
41190         * tests/uninorm/test-nfc.c: New file.
41191         * tests/uninorm/test-u8-nfc.c: New file.
41192         * tests/uninorm/test-u16-nfc.c: New file.
41193         * tests/uninorm/test-u32-nfc.c: New file.
41194         * tests/uninorm/test-u32-nfc-big.sh: New file.
41195         * tests/uninorm/test-u32-nfc-big.c: New file.
41196         * modules/uninorm/nfc-tests: New file.
41197
41198         New module 'uninorm/nfc'.
41199         * lib/uninorm/nfc.c: New file.
41200         * modules/uninorm/nfc: New file.
41201
41202         Tests for module 'uninorm/nfd'.
41203         * tests/uninorm/test-nfd.c: New file.
41204         * tests/uninorm/test-u8-nfd.c: New file.
41205         * tests/uninorm/test-u16-nfd.c: New file.
41206         * tests/uninorm/test-u32-nfd.c: New file.
41207         * tests/uninorm/test-u32-nfd-big.sh: New file.
41208         * tests/uninorm/test-u32-nfd-big.c: New file.
41209         * tests/uninorm/test-u32-normalize-big.h: New file.
41210         * tests/uninorm/test-u32-normalize-big.c: New file.
41211         * tests/uninorm/NormalizationTest.txt: New file, created from
41212         Unicode 5.1.0 NormalizationTest.txt.
41213         * modules/uninorm/nfd-tests: New file.
41214
41215         New module 'uninorm/nfd'.
41216         * lib/uninorm/nfd.c: New file.
41217         * modules/uninorm/nfd: New file.
41218
41219         New module 'uninorm/u32-normalize'.
41220         * lib/uninorm/u32-normalize.c: New file.
41221         * modules/uninorm/u32-normalize: New file.
41222
41223         New module 'uninorm/u16-normalize'.
41224         * lib/uninorm/u16-normalize.c: New file.
41225         * modules/uninorm/u16-normalize: New file.
41226
41227         New module 'uninorm/u8-normalize'.
41228         * lib/uninorm/u8-normalize.c: New file.
41229         * lib/uninorm/normalize-internal.h: New file.
41230         * lib/uninorm/u-normalize-internal.h: New file.
41231         * modules/uninorm/u8-normalize: New file.
41232
41233         New module 'uninorm/decompose-internal'.
41234         * lib/uninorm/decompose-internal.c: New file.
41235         * modules/uninorm/decompose-internal: New file.
41236
41237         Tests for module 'uninorm/composition'.
41238         * tests/uninorm/test-composition.c: New file.
41239         * modules/uninorm/composition-tests: New file.
41240
41241         New module 'uninorm/composition'.
41242         * lib/uninorm/composition.c: New file.
41243         * lib/uninorm/composition-table.gperf: New file, generated by
41244         gen-uni-tables.
41245         * modules/uninorm/composition: New file.
41246
41247         Tests for module 'uninorm/compat-decomposition'.
41248         * tests/uninorm/test-compat-decomposition.c: New file.
41249         * modules/uninorm/compat-decomposition-tests: New file.
41250
41251         New module 'uninorm/compat-decomposition'.
41252         * lib/uninorm/decompose-internal.h: New file.
41253         * lib/uninorm/compat-decomposition.c: New file.
41254         * modules/uninorm/compat-decomposition: New file.
41255
41256         Tests for module 'uninorm/canonical-decomposition'.
41257         * tests/uninorm/test-canonical-decomposition.c: New file.
41258         * modules/uninorm/canonical-decomposition-tests: New file.
41259
41260         New module 'uninorm/canonical-decomposition'.
41261         * lib/uninorm/canonical-decomposition.c: New file.
41262         * modules/uninorm/canonical-decomposition: New file.
41263
41264         Tests for module 'uninorm/decomposition'.
41265         * tests/uninorm/test-decomposition.c: New file.
41266         * modules/uninorm/decomposition-tests: New file.
41267
41268         New module 'uninorm/decomposition'.
41269         * lib/uninorm/decomposition.c: New file.
41270         * modules/uninorm/decomposition: New file.
41271
41272         New module 'uninorm/decomposition-table'.
41273         * lib/uninorm/decomposition-table.h: New file.
41274         * lib/uninorm/decomposition-table.c: New file.
41275         * lib/uninorm/decomposition-table1.h: New file, generated by
41276         gen-uni-tables.
41277         * lib/uninorm/decomposition-table2.h: New file, generated by
41278         gen-uni-tables.
41279         * modules/uninorm/decomposition-table: New file.
41280
41281         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
41282         (UC_DECOMP_*): New enumeration items.
41283         (get_decomposition): New function.
41284         (struct decomp_table): New type.
41285         (output_decomposition, output_decomposition_tables): New functions.
41286         (unicode_composition_exclusions): New variable.
41287         (fill_composition_exclusions, debug_output_composition_tables): New
41288         functions.
41289         (main): Accept one more argument. Invoke fill_composition_exclusions.
41290         Output decomposition and composition tables.
41291
41292         New module 'uninorm/base'.
41293         * lib/uninorm.h: New file.
41294         * lib/unictype.h: Update comment.
41295         * modules/uninorm/base: New file.
41296
41297 2009-02-21  David Lutterkort  <lutter@redhat.com>
41298
41299         Tests for module 'safe-alloc'.
41300         * tests/test-safe-alloc.c: New file.
41301         * modules/safe-alloc-tests: New file.
41302
41303         New module 'safe-alloc'.
41304         * lib/safe-alloc.h: New file.
41305         * lib/safe-alloc.c: New file.
41306         * m4/safe-alloc.m4: New file.
41307         * modules/safe-alloc: New file.
41308         * doc/safe-alloc.texi: New file.
41309         * doc/gnulib.texi: Include it.
41310         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
41311         safe-alloc.
41312
41313 2009-02-18  Bruno Haible  <bruno@clisp.org>
41314
41315         Fix link error on non-glibc systems.
41316         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
41317         variable.
41318         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41319
41320 2009-02-18  Jim Meyering  <meyering@redhat.com>
41321
41322         fts: avoid used-uninitialized error due to recent change
41323         * lib/fts.c (fts_read): Guard uses of the new member,
41324         parent->fts_n_dirs_remaining, since it's not relevant for
41325         the parent of a directory specified on the command-line.
41326
41327 2009-02-17  James Youngman  <jay@gnu.org>
41328             Bruno Haible  <bruno@clisp.org>
41329
41330         * m4/include_next.m4: Reformulate comment.
41331
41332 2009-02-16  Jim Meyering  <meyering@redhat.com>
41333
41334         fts: add #if guards so that the fts_lgpl module still builds
41335         * lib/fts.c: Guard just-added hash-table-using parts with
41336         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
41337         Reported by Simon Josefsson.
41338
41339 2009-02-15  Bruno Haible  <bruno@clisp.org>
41340
41341         * modules/array-mergesort-tests: New file.
41342         * tests/test-array-mergesort.c: New file.
41343
41344         New module 'array-mergesort'.
41345         * modules/array-mergesort: New file.
41346         * lib/array-mergesort.h: New file.
41347
41348 2009-02-15  Bruno Haible  <bruno@clisp.org>
41349
41350         Fix 2009-02-07 commit.
41351         * lib/gen-uni-tables.c (output_predicate, output_category,
41352         output_combclass, output_bidi_category, output_decimal_digit,
41353         output_digit, output_numeric, output_mirror, output_scripts,
41354         output_ident_category, output_simple_mapping): Fix format directives.
41355         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
41356
41357 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
41358
41359         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
41360         fixes are available from IBM.
41361
41362 2009-02-13  Jim Meyering  <meyering@redhat.com>
41363
41364         fts: arrange not to stat non-directories in more cases
41365         This makes GNU find (when it doesn't need to stat each file)
41366         *much* more efficient at traversing reiserfs file systems.
41367         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
41368         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
41369         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
41370         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
41371         (leaf_optimization_applies): New function.
41372         (LCO_hash, LCO_compare): New helper functions.
41373         (link_count_optimize_ok): New function.
41374         (fts_stat): Initialize new member (if dir).
41375         (fts_read): Decrement parent's fts_n_dirs_remaining count if
41376         we've just stat'ed a directory.  Skip the stat call when possible.
41377         ---
41378         Note this AFS-related exchange:
41379         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
41380         and note find's pioctl call in find/fstype.c.
41381         But that is necessary only if you want to enable the
41382         optimization for AFS, and for now, I don't.
41383
41384         fts: move a function definition "up" (no semantic change)
41385         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
41386         "up" to precede upcoming use of a related function.
41387
41388 2009-02-11  Jim Meyering  <meyering@redhat.com>
41389
41390         fts: correct internal computation of nlinks (optimization-related)
41391         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
41392         whether the current entry is a directory, so don't test it.
41393
41394 2009-02-10  Bruno Haible  <bruno@clisp.org>
41395
41396         Tests for module 'uniwbrk/ulc-wordbreaks'.
41397         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
41398         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
41399         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
41400
41401         Tests for module 'uniwbrk/u32-wordbreaks'.
41402         * modules/uniwbrk/u32-wordbreaks-tests: New file.
41403         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
41404
41405         Tests for module 'uniwbrk/u16-wordbreaks'.
41406         * modules/uniwbrk/u16-wordbreaks-tests: New file.
41407         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
41408
41409         Tests for module 'uniwbrk/u8-wordbreaks'.
41410         * modules/uniwbrk/u8-wordbreaks-tests: New file.
41411         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
41412
41413 2009-02-10  Bruno Haible  <bruno@clisp.org>
41414
41415         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
41416         property.
41417         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
41418         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
41419         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
41420
41421 2009-02-10  Simon Josefsson  <simon@josefsson.org>
41422
41423         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
41424         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
41425
41426 2009-02-10  Bruno Haible  <bruno@clisp.org>
41427
41428         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
41429         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
41430         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
41431         * lib/unilbrk/u8-possible-linebreaks.c: Update.
41432         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
41433         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
41434
41435 2009-02-09  Simon Josefsson  <simon@josefsson.org>
41436
41437         * lib/sockets.h (gl_fd_to_handle): New function.
41438
41439         * tests/test-sockets.c: Call gl_fd_to_handle.
41440
41441 2009-02-09  Bruno Haible  <bruno@clisp.org>
41442
41443         * doc/havelib.texi: Document the conventions on bi-arch systems.
41444
41445 2009-02-08  Bruno Haible  <bruno@clisp.org>
41446
41447         Document the AC_LIB_LINKFLAGS macro.
41448         * doc/havelib.texi: New file, mostly written on 2005-05-24.
41449         * doc/gnulib.texi: Include it.
41450
41451 2009-02-08  Bruno Haible  <bruno@clisp.org>
41452
41453         Fix wrong order of sections, compared to TOC.
41454         * doc/gnulib.texi: Include relocatable-maint.texi after the
41455         "Regular expressions" node, not before.
41456
41457 2009-02-08  Bruno Haible  <bruno@clisp.org>
41458
41459         Tests for module 'unicase/totitle'.
41460         * modules/unicase/totitle-tests: New file.
41461
41462         Tests for module 'unicase/tolower'.
41463         * modules/unicase/tolower-tests: New file.
41464
41465         Tests for module 'unicase/toupper'.
41466         * modules/unicase/toupper-tests: New file.
41467         * tests/unicase/test-mapping-part1.h: New file.
41468         * tests/unicase/test-mapping-part2.h: New file.
41469
41470         New module 'unicase/totitle'.
41471         * modules/unicase/totitle: New file.
41472         * lib/unicase/totitle.c: New file.
41473
41474         New module 'unicase/tolower'.
41475         * modules/unicase/tolower: New file.
41476         * lib/unicase/tolower.c: New file.
41477
41478         New module 'unicase/toupper'.
41479         * modules/unicase/toupper: New file.
41480         * lib/unicase/toupper.c: New file.
41481         * lib/unicase/simple-mapping.h: New file.
41482
41483         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
41484         (mapping_table): New structure.
41485         (output_simple_mapping): New function.
41486         (main): Invoke output_simple_mapping_test and output_simple_mapping.
41487         * modules/gen-uni-tables (Description): Update.
41488         * lib/unicase/toupper.h: New file, automatically generated by
41489         gen-uni-tables.
41490         * lib/unicase/tolower.h: New file, automatically generated by
41491         gen-uni-tables.
41492         * lib/unicase/totitle.h: New file, automatically generated by
41493         gen-uni-tables.
41494         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
41495         gen-uni-tables.
41496         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
41497         gen-uni-tables.
41498         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
41499         gen-uni-tables.
41500
41501         New module 'unicase/base'.
41502         * modules/unicase/base: New file.
41503         * lib/unicase.h: New file.
41504
41505 2009-02-08  Bruno Haible  <bruno@clisp.org>
41506
41507         New module 'uniwbrk/ulc-wordbreaks'.
41508         * modules/uniwbrk/ulc-wordbreaks: New file.
41509         * lib/uniwbrk/ulc-wordbreaks.c: New file.
41510
41511         New module 'uniwbrk/u32-wordbreaks'.
41512         * modules/uniwbrk/u32-wordbreaks: New file.
41513         * lib/uniwbrk/u32-wordbreaks.c: New file.
41514
41515         New module 'uniwbrk/u16-wordbreaks'.
41516         * modules/uniwbrk/u16-wordbreaks: New file.
41517         * lib/uniwbrk/u16-wordbreaks.c: New file.
41518
41519         New module 'uniwbrk/u8-wordbreaks'.
41520         * modules/uniwbrk/u8-wordbreaks: New file.
41521         * lib/uniwbrk/u8-wordbreaks.c: New file.
41522         * lib/uniwbrk/u-wordbreaks.h: New file.
41523
41524         New module 'uniwbrk/table'.
41525         * modules/uniwbrk/table: New file.
41526         * lib/uniwbrk/wbrktable.h: New file.
41527         * lib/uniwbrk/wbrktable.c: New file.
41528
41529         New module 'uniwbrk/wordbreak-property'.
41530         * modules/uniwbrk/wordbreak-property: New file.
41531         * lib/uniwbrk/wordbreak-property.c: New file.
41532
41533         * lib/gen-uni-tables.c (WBP_*): New enum items.
41534         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
41535         (unicode_org_wbp): New variable.
41536         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
41537         New functions.
41538         (wbp_table): New structure.
41539         (output_wbp, output_wbrk_tables): New functions.
41540         (main): Accept additional argument. Invoke fill_org_wbp,
41541         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
41542         output_wbrk_tables.
41543         * modules/gen-uni-tables (Description): Update.
41544         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
41545         gen-uni-tables.
41546
41547         New module 'uniwbrk/base'.
41548         * modules/uniwbrk/base: New file.
41549         * lib/uniwbrk.h: New file.
41550
41551 2009-02-08  Bruno Haible  <bruno@clisp.org>
41552
41553         Update to Unicode 5.1.0.
41554         * lib/gen-uni-tables.c (is_property_alphabetic): Include
41555         U+2185..U+2188.
41556         (is_property_default_ignorable_code_point): Don't include characters
41557         of category Cc or Cs and not-a-characters.
41558         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
41559         U+0D79, U+109E, U+109F, U+A60C.
41560         * lib/unictype/bidi_of.h: Regenerated.
41561         * lib/unictype/blocks.h: Regenerated.
41562         * lib/unictype/categ_C.h: Regenerated.
41563         * lib/unictype/categ_Cf.h: Regenerated.
41564         * lib/unictype/categ_Cn.h: Regenerated.
41565         * lib/unictype/categ_L.h: Regenerated.
41566         * lib/unictype/categ_Ll.h: Regenerated.
41567         * lib/unictype/categ_Lm.h: Regenerated.
41568         * lib/unictype/categ_Lo.h: Regenerated.
41569         * lib/unictype/categ_Lu.h: Regenerated.
41570         * lib/unictype/categ_M.h: Regenerated.
41571         * lib/unictype/categ_Mc.h: Regenerated.
41572         * lib/unictype/categ_Me.h: Regenerated.
41573         * lib/unictype/categ_Mn.h: Regenerated.
41574         * lib/unictype/categ_N.h: Regenerated.
41575         * lib/unictype/categ_Nd.h: Regenerated.
41576         * lib/unictype/categ_Nl.h: Regenerated.
41577         * lib/unictype/categ_No.h: Regenerated.
41578         * lib/unictype/categ_P.h: Regenerated.
41579         * lib/unictype/categ_Pd.h: Regenerated.
41580         * lib/unictype/categ_Pe.h: Regenerated.
41581         * lib/unictype/categ_Pf.h: Regenerated.
41582         * lib/unictype/categ_Pi.h: Regenerated.
41583         * lib/unictype/categ_Po.h: Regenerated.
41584         * lib/unictype/categ_Ps.h: Regenerated.
41585         * lib/unictype/categ_S.h: Regenerated.
41586         * lib/unictype/categ_Sk.h: Regenerated.
41587         * lib/unictype/categ_Sm.h: Regenerated.
41588         * lib/unictype/categ_So.h: Regenerated.
41589         * lib/unictype/categ_of.h: Regenerated.
41590         * lib/unictype/combining.h: Regenerated.
41591         * lib/unictype/ctype_alnum.h: Regenerated.
41592         * lib/unictype/ctype_alpha.h: Regenerated.
41593         * lib/unictype/ctype_graph.h: Regenerated.
41594         * lib/unictype/ctype_lower.h: Regenerated.
41595         * lib/unictype/ctype_print.h: Regenerated.
41596         * lib/unictype/ctype_punct.h: Regenerated.
41597         * lib/unictype/ctype_upper.h: Regenerated.
41598         * lib/unictype/decdigit.h: Regenerated.
41599         * lib/unictype/digit.h: Regenerated.
41600         * lib/unictype/mirror.h: Regenerated.
41601         * lib/unictype/numeric.h: Regenerated.
41602         * lib/unictype/pr_alphabetic.h: Regenerated.
41603         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
41604         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
41605         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
41606         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
41607         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
41608         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
41609         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
41610         * lib/unictype/pr_combining.h: Regenerated.
41611         * lib/unictype/pr_dash.h: Regenerated.
41612         * lib/unictype/pr_decimal_digit.h: Regenerated.
41613         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
41614         * lib/unictype/pr_deprecated.h: Regenerated.
41615         * lib/unictype/pr_diacritic.h: Regenerated.
41616         * lib/unictype/pr_extender.h: Regenerated.
41617         * lib/unictype/pr_format_control.h: Regenerated.
41618         * lib/unictype/pr_grapheme_base.h: Regenerated.
41619         * lib/unictype/pr_grapheme_extend.h: Regenerated.
41620         * lib/unictype/pr_grapheme_link.h: Regenerated.
41621         * lib/unictype/pr_id_continue.h: Regenerated.
41622         * lib/unictype/pr_id_start.h: Regenerated.
41623         * lib/unictype/pr_ideographic.h: Regenerated.
41624         * lib/unictype/pr_ignorable_control.h: Regenerated.
41625         * lib/unictype/pr_lowercase.h: Regenerated.
41626         * lib/unictype/pr_math.h: Regenerated.
41627         * lib/unictype/pr_numeric.h: Regenerated.
41628         * lib/unictype/pr_other_alphabetic.h: Regenerated.
41629         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
41630         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
41631         * lib/unictype/pr_other_id_continue.h: Regenerated.
41632         * lib/unictype/pr_other_lowercase.h: Regenerated.
41633         * lib/unictype/pr_other_math.h: Regenerated.
41634         * lib/unictype/pr_punctuation.h: Regenerated.
41635         * lib/unictype/pr_sentence_terminal.h: Regenerated.
41636         * lib/unictype/pr_soft_dotted.h: Regenerated.
41637         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
41638         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
41639         * lib/unictype/pr_unified_ideograph.h: Regenerated.
41640         * lib/unictype/pr_uppercase.h: Regenerated.
41641         * lib/unictype/pr_xid_continue.h: Regenerated.
41642         * lib/unictype/pr_xid_start.h: Regenerated.
41643         * lib/unictype/pr_zero_width.h: Regenerated.
41644         * lib/unictype/scripts.h: Regenerated.
41645         * lib/unictype/scripts_byname.gperf: Regenerated.
41646         * lib/unictype/sy_java_ident.h: Regenerated.
41647         * lib/unilbrk/lbrkprop1.h: Regenerated.
41648         * lib/unilbrk/lbrkprop2.h: Regenerated.
41649         * tests/unictype/test-categ_C.c: Regenerated.
41650         * tests/unictype/test-categ_Cf.c: Regenerated.
41651         * tests/unictype/test-categ_Cn.c: Regenerated.
41652         * tests/unictype/test-categ_L.c: Regenerated.
41653         * tests/unictype/test-categ_Ll.c: Regenerated.
41654         * tests/unictype/test-categ_Lm.c: Regenerated.
41655         * tests/unictype/test-categ_Lo.c: Regenerated.
41656         * tests/unictype/test-categ_Lu.c: Regenerated.
41657         * tests/unictype/test-categ_M.c: Regenerated.
41658         * tests/unictype/test-categ_Mc.c: Regenerated.
41659         * tests/unictype/test-categ_Me.c: Regenerated.
41660         * tests/unictype/test-categ_Mn.c: Regenerated.
41661         * tests/unictype/test-categ_N.c: Regenerated.
41662         * tests/unictype/test-categ_Nd.c: Regenerated.
41663         * tests/unictype/test-categ_Nl.c: Regenerated.
41664         * tests/unictype/test-categ_No.c: Regenerated.
41665         * tests/unictype/test-categ_P.c: Regenerated.
41666         * tests/unictype/test-categ_Pd.c: Regenerated.
41667         * tests/unictype/test-categ_Pe.c: Regenerated.
41668         * tests/unictype/test-categ_Pf.c: Regenerated.
41669         * tests/unictype/test-categ_Pi.c: Regenerated.
41670         * tests/unictype/test-categ_Po.c: Regenerated.
41671         * tests/unictype/test-categ_Ps.c: Regenerated.
41672         * tests/unictype/test-categ_S.c: Regenerated.
41673         * tests/unictype/test-categ_Sk.c: Regenerated.
41674         * tests/unictype/test-categ_Sm.c: Regenerated.
41675         * tests/unictype/test-categ_So.c: Regenerated.
41676         * tests/unictype/test-ctype_alnum.c: Regenerated.
41677         * tests/unictype/test-ctype_alpha.c: Regenerated.
41678         * tests/unictype/test-ctype_graph.c: Regenerated.
41679         * tests/unictype/test-ctype_lower.c: Regenerated.
41680         * tests/unictype/test-ctype_print.c: Regenerated.
41681         * tests/unictype/test-ctype_punct.c: Regenerated.
41682         * tests/unictype/test-ctype_upper.c: Regenerated.
41683         * tests/unictype/test-decdigit.h: Regenerated.
41684         * tests/unictype/test-digit.h: Regenerated.
41685         * tests/unictype/test-numeric.h: Regenerated.
41686         * tests/unictype/test-pr_alphabetic.c: Regenerated.
41687         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
41688         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
41689         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
41690         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
41691         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
41692         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
41693         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
41694         * tests/unictype/test-pr_combining.c: Regenerated.
41695         * tests/unictype/test-pr_dash.c: Regenerated.
41696         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
41697         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
41698         * tests/unictype/test-pr_deprecated.c: Regenerated.
41699         * tests/unictype/test-pr_diacritic.c: Regenerated.
41700         * tests/unictype/test-pr_extender.c: Regenerated.
41701         * tests/unictype/test-pr_format_control.c: Regenerated.
41702         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
41703         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
41704         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
41705         * tests/unictype/test-pr_id_continue.c: Regenerated.
41706         * tests/unictype/test-pr_id_start.c: Regenerated.
41707         * tests/unictype/test-pr_ideographic.c: Regenerated.
41708         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
41709         * tests/unictype/test-pr_lowercase.c: Regenerated.
41710         * tests/unictype/test-pr_math.c: Regenerated.
41711         * tests/unictype/test-pr_numeric.c: Regenerated.
41712         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
41713         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
41714         Regenerated.
41715         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
41716         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
41717         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
41718         * tests/unictype/test-pr_other_math.c: Regenerated.
41719         * tests/unictype/test-pr_punctuation.c: Regenerated.
41720         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
41721         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
41722         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
41723         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
41724         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
41725         * tests/unictype/test-pr_uppercase.c: Regenerated.
41726         * tests/unictype/test-pr_xid_continue.c: Regenerated.
41727         * tests/unictype/test-pr_xid_start.c: Regenerated.
41728         * tests/unictype/test-pr_zero_width.c: Regenerated.
41729
41730         Update to Unicode 5.1.0.
41731         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
41732         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
41733         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
41734         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
41735         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
41736         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
41737         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
41738         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
41739         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
41740         (nonspacing_table_ind): Update.
41741         * tests/uniwidth/test-uc_width2.sh: Update expected result.
41742
41743         Update to Unicode 5.1.0.
41744         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
41745         code transform.
41746         * lib/uniname/uniname.c (unicode_character_name,
41747         unicode_name_character): Add the range 0x1Fxxx to the code transform.
41748         * lib/uniname/uninames.h: Regenerated.
41749         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
41750
41751 2009-02-07  Bruno Haible  <bruno@clisp.org>
41752
41753         Merge gen-ctype and gen-lbrk into a single program.
41754         * lib/gen-uni-tables.c: New file, incorporating
41755         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
41756         Add directory prefixes to the names of the generated files.
41757         * lib/unictype/gen-ctype.c: Remove file.
41758         * lib/unilbrk/gen-lbrk.c: Remove file.
41759         * modules/gen-uni-tables: New file.
41760         * modules/unictype/gen-ctype: Remove file.
41761         * modules/unilbrk/gen-lbrk: Remove file.
41762
41763 2009-02-07  Bruno Haible  <bruno@clisp.org>
41764
41765         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
41766
41767         New module 'unistr/u32-strcoll'.
41768         * modules/unistr/u32-strcoll: New file.
41769         * lib/unistr/u32-strcoll.c: New file.
41770
41771         New module 'unistr/u16-strcoll'.
41772         * modules/unistr/u16-strcoll: New file.
41773         * lib/unistr/u16-strcoll.c: New file.
41774
41775         New module 'unistr/u8-strcoll'.
41776         * modules/unistr/u8-strcoll: New file.
41777         * lib/unistr/u8-strcoll.c: New file.
41778         * lib/unistr/u-strcoll.h: New file.
41779
41780 2009-02-07  Bruno Haible  <bruno@clisp.org>
41781
41782         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
41783         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41784         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41785         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
41786         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
41787         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
41788
41789 2009-02-07  Bruno Haible  <bruno@clisp.org>
41790
41791         Make 64-bit clean.
41792         * lib/unictype/gen-ctype.c (output_predicate, output_category,
41793         output_combclass, output_bidi_category, output_decimal_digit,
41794         output_digit, output_numeric, output_mirror, output_scripts,
41795         output_ident_category): Use proper width specifier in format strings.
41796
41797 2009-02-07  Bruno Haible  <bruno@clisp.org>
41798
41799         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
41800         failure behaviour.
41801
41802 2009-02-07  Jim Meyering  <meyering@redhat.com>
41803
41804         regex: avoid compilation failure with upcoming gcc-4.4
41805         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
41806         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
41807         "... error: integer overflow in preprocessor expression".
41808
41809 2009-02-05  Ben Pfaff  <blp@gnu.org>
41810
41811         Fix link errors on Windows when close module is used.
41812         * modules/close: Add $(LIB_CLOSE) to Link section.
41813         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
41814         $(LIB_CLOSE) on Windows.
41815
41816 2009-02-05  Jim Meyering  <meyering@redhat.com>
41817
41818         still avoid unused-parameter warnings, but do it cleanly
41819         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
41820         (get_fs_usage): Cast to void instead.
41821         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
41822         (dev_from_mount_options, read_file_system_list): Cast to void.
41823         Prompted by Bruno Haible.
41824
41825 2009-02-04  Jim Meyering  <meyering@redhat.com>
41826
41827         fsusage.c: correct copyright year
41828         * lib/fsusage.c: Reflect year in which the change is pushed into
41829
41830         avoid misc. warnings
41831         * lib/fsusage.c (UNUSED_PARAM): Define.
41832         (get_fs_usage): Mark parameter "disk" as unused.
41833         * lib/getugroups.c (getgrent): Use "void" in prototype.
41834         * lib/mountlist.c: Mark unused parameters.
41835         (read_file_system_list): Declare a local with "const".
41836         * lib/nanosleep.c (getnow): Declare static.
41837         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41838
41839         dirfd: set errno upon failure
41840         * lib/dirfd.c: Include <errno.h>.
41841         Set errno to ENOTSUP when returning -1.
41842         * modules/dirfd (Depends-on): Add errno.
41843         Suggested by John Kodis <kodis@comcast.net>.
41844
41845 2009-02-01  Bruno Haible  <bruno@clisp.org>
41846
41847         Don't assume sizeof (long) >= sizeof (void *).
41848         * lib/memcmp.c: Include stdint.h.
41849         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41850         srcp2 to 'const byte *'.
41851         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41852         types to uintptr_t.
41853         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41854         * modules/memcmp (Depends-on): Add stdint.
41855         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41856
41857 2009-01-30  Eric Blake  <ebb9@byu.net>
41858
41859         fix more require-before-expand issues
41860         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41861         expand, AC_PROG_AWK.
41862         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41863
41864 2009-01-28  Eric Blake  <ebb9@byu.net>
41865
41866         version-etc: use consistent URL formatting
41867         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41868         Improve formatting.  Use fputs for string without %.
41869
41870 2009-01-28  Jim Meyering  <meyering@redhat.com>
41871
41872         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41873         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41874         "underquoted definition of NAME" from autoconf-2.59.
41875
41876 2009-01-28  Bruno Haible  <bruno@clisp.org>
41877
41878         * doc/gnulib.texi: Add "Obsolete modules" to index.
41879
41880 2009-01-28  Jim Meyering  <meyering@redhat.com>
41881
41882         useless-if-before-free: recognize more variants
41883         * build-aux/useless-if-before-free: Also recognize e.g.,
41884         if (NULL != p) free (p);
41885
41886 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41887
41888         test-getaddrinfo: skip (don't fail) this test when there's no network
41889         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41890         on the presumption that it means you lack network access.
41891
41892 2009-01-26  Jim Meyering  <meyering@redhat.com>
41893
41894         fflush: avoid warnings on modern systems
41895         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41896         pos and result, into scopes where they're used.
41897
41898 2009-01-26  Eric Blake  <ebb9@byu.net>
41899
41900         Silence warning reintroduced by recent extensions patch.
41901         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41902         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41903         autoconf.
41904
41905         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41906         * m4/00gnulib.m4: New file.
41907         * gnulib-tool (func_get_filelist): Always use it.
41908         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41909         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41910
41911 2009-01-25  Bruno Haible  <bruno@clisp.org>
41912
41913         Make test-quotearg work on MacOS X and AIX.
41914         * tests/test-quotearg.sh: New file.
41915         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41916         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41917         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41918         include <libintl.h>.
41919         (fake_locale): Remove variable.
41920         (gettext, dgettext, dcgettext): Remove functions.
41921         (main): Instead of setting a fake locale, set a real locale. Call
41922         textdomain and bindtextdomain.
41923         * modules/quotearg-tests (Files): Add the new files.
41924         (Depends-on): Add gettext, setenv, unsetenv.
41925         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41926         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41927         Augment TESTS_ENVIRONMENT.
41928
41929 2009-01-25  Bruno Haible  <bruno@clisp.org>
41930
41931         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41932         fr_FR.ISO8859-1 locale on MacOS X.
41933         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41934         ja_JP.eucJP locale on MacOS X.
41935         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41936         zh_CN.GB18030 locale on MacOS X.
41937
41938 2009-01-25  Bruno Haible  <bruno@clisp.org>
41939
41940         Avoid link errors on MacOS X 10.3.
41941         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41942         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41943
41944 2009-01-25  Bruno Haible  <bruno@clisp.org>
41945
41946         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41947         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41948         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41949         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41950         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41951         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41952         posix_spawnattr_init, posix_spawnattr_setsigmask,
41953         posix_spawnattr_setflags, posix_spawnattr_destroy.
41954
41955         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41956         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41957         * modules/execute (Files): Remove m4/posix_spawn.m4.
41958         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41959         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41960         posix_spawnattr_init, posix_spawnattr_setsigmask,
41961         posix_spawnattr_setflags, posix_spawnattr_destroy.
41962
41963 2009-01-25  Bruno Haible  <bruno@clisp.org>
41964
41965         * lib/glthread/threadlib.c: Include <stdlib.h>.
41966
41967 2009-01-25  Bruno Haible  <bruno@clisp.org>
41968
41969         * lib/glthread/threadlib.c (dummy): New declaration.
41970
41971 2009-01-25  Bruno Haible  <bruno@clisp.org>
41972
41973         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41974         multibyte characters also for the GB18030 encoding. Don't crash when
41975         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41976
41977 2009-01-25  Bruno Haible  <bruno@clisp.org>
41978
41979         Avoid redefining 'struct random_data' on OSF/1 5.1.
41980         * lib/stdlib.in.h: Include <random.h> if it exists.
41981         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41982         HAVE_RANDOM_H. Include <random.h> when testing whether
41983         'struct random_data' exists.
41984         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41985
41986 2009-01-25  Bruno Haible  <bruno@clisp.org>
41987
41988         Don't install charset.alias on MacOS X >= 10.3.
41989         * lib/localcharset.c (DARWIN7): New macro.
41990         (get_charset_aliases): Hardcode the result for Darwin7.
41991         * modules/localcharset (install-exec-local): Don't install
41992         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41993
41994 2009-01-25  Bruno Haible  <bruno@clisp.org>
41995
41996         Don't install charset.alias on mingw and Cygwin.
41997         * modules/localcharset (install-exec-local): Don't install
41998         charset.alias on mingw and Cygwin, if the file does not yet exist.
41999         The result for these platforms is hardcoded in localcharset.c.
42000
42001 2009-01-25  Bruno Haible  <bruno@clisp.org>
42002
42003         Make it possible again to use AC_GNU_SOURCE together with gnulib.
42004         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
42005         before requiring AC_USE_SYSTEM_EXTENSIONS.
42006
42007 2009-01-25  Jim Meyering  <meyering@redhat.com>
42008
42009         c-strtod: avoid warnings
42010         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
42011         "assignment discards qualifiers from pointer target type" warnings.
42012
42013 2009-01-24  Bruno Haible  <bruno@clisp.org>
42014
42015         Add support for non-UTF-8 locales on MacOS X.
42016         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
42017         canonical encodings. For Darwin 7 and newer, don't map traditional
42018         encodings to UTF-8.
42019         Reported by Vincent Lefevre <vincent@vinc17.org>
42020         at <http://savannah.gnu.org/bugs/?25235>.
42021
42022 2009-01-24  Bruno Haible  <bruno@clisp.org>
42023
42024         * doc/gnulib.texi (Obsolete modules): New section.
42025         Reported by Mike Frysinger <vapier@gentoo.org>.
42026
42027 2009-01-24  Bruno Haible  <bruno@clisp.org>
42028
42029         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
42030         (%.dvi): New rule.
42031
42032 2009-01-24  Bruno Haible  <bruno@clisp.org>
42033
42034         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
42035         Reported by Eric Blake.
42036
42037 2009-01-24  Bruno Haible  <bruno@clisp.org>
42038
42039         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
42040         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
42041         Reported by Gary V. Vaughan <gary@gnu.org>.
42042
42043 2009-01-24  Bruno Haible  <bruno@clisp.org>
42044
42045         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
42046
42047 2009-01-23  Bruno Haible  <bruno@clisp.org>
42048
42049         Make c-strtod, c-strtold usable in libraries.
42050         * lib/c-strtod.c: Include string.h instead of xalloc.h.
42051         (C_STRTOD): Call strdup instead of xstrdup.
42052         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
42053         * modules/c-strtold (Depends-on): Likewise.
42054         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
42055         * NEWS: Mention the change.
42056         Reported by Michael Gold <mgold@ncf.ca>.
42057
42058 2009-01-23  Jim Meyering  <meyering@redhat.com>
42059
42060         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
42061         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
42062         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
42063
42064 2009-01-23  Simon Josefsson  <simon@josefsson.org>
42065
42066         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
42067         GNU CoreUtils.
42068         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
42069         * modules/version-etc (Description): Update.
42070
42071 2009-01-22  Bruno Haible  <bruno@clisp.org>
42072
42073         Cache the C locale object.
42074         * lib/c-strtod.c (c_locale_cache): New variable.
42075         (c_locale): New function.
42076         (C_STRTOD): Use it, and don't call freelocale.
42077         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
42078         Suggested by Paolo Bonzini.
42079
42080 2009-01-21  Bruno Haible  <bruno@clisp.org>
42081
42082         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
42083         conditions other than overflow.
42084
42085 2009-01-21  Bruno Haible  <bruno@clisp.org>
42086
42087         * lib/c-strtod.c: Include errno.h.
42088         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
42089         value from STRTOD_L and STRTOD.
42090
42091 2009-01-21  Bruno Haible  <bruno@clisp.org>
42092         and Jim Meyering  <meyering@redhat.com>
42093
42094         nanosleep: skip configure test (fail it) for apple universal builds
42095         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
42096         universal builds, assume that nanosleep does not work.
42097         * modules/nanosleep (Depends-on): Add multiarch.
42098
42099         mktime: skip configure test (fail it) for apple universal builds
42100         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
42101         universal builds, assume that mktime does not work.
42102         * modules/mktime (Depends-on): Add multiarch.
42103
42104 2009-01-21  Eric Blake  <ebb9@byu.net>
42105
42106         multiarch: avoid expand-before-require warning
42107         * modules/multiarch (configure.ac): Require, rather than expand,
42108         gl_MULTIARCH.
42109         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
42110         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
42111         enforce that all clients require it.  Partial reversion of
42112         2008-12-29 patch.
42113
42114         error: avoid expand-before-require warning
42115         * modules/errno (configure.ac): Require, rather than expand,
42116         gl_HEADER_ERRNO_H.
42117         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
42118         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
42119         enforce that all clients require it.
42120
42121         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
42122         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
42123         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
42124         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
42125
42126 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
42127
42128         Revert:
42129         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
42130
42131         regex: do not depend on obsolete modules.
42132         * modules/regex: Remove memcmp and memmove.
42133
42134 2009-01-20  Bruno Haible  <bruno@clisp.org>
42135
42136         Make the 'link' module link on Windows NT 4.
42137         * lib/link.c (_WIN32_WINNT): Don't define.
42138         (CreateHardLinkFuncType): New type.
42139         (CreateHardLinkFunc, initialized): New variables.
42140         (initialize): New function.
42141         (link): Invoke CreateHardLink indirectly through the function pointer.
42142
42143 2009-01-20  Bruno Haible  <bruno@clisp.org>
42144
42145         Fix compilation failure on mingw.
42146         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
42147
42148 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
42149
42150         * doc/c-strtod.texi: Mention a couple of restrictions.
42151
42152 2009-01-20  Jim Meyering  <meyering@redhat.com>
42153
42154         gettimeofday: move more declarations out of functions
42155         * lib/gettimeofday.c: Move extern declarations of tzset and
42156         gmtime out of containing functions.  Prompted by Bruno Haible.
42157
42158 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
42159
42160         regex: do not depend on obsolete modules.
42161         * modules/regex: Remove memcmp and memmove.
42162
42163 2009-01-19  Bruno Haible  <bruno@clisp.org>
42164
42165         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
42166         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
42167         gl_BIGENDIAN, not AC_C_BIGENDIAN.
42168         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
42169         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
42170
42171 2009-01-19  Bruno Haible  <bruno@clisp.org>
42172
42173         * tests/test-link.c: Include <errno.h>.
42174         (main): Exit with code 77 when a hard link cannot be created due to
42175         the file system.
42176         * tests/test-link.sh: Skip test when a hard link cannot be created due
42177         to the file system.
42178         Suggested by Eric Blake.
42179
42180 2009-01-19  Martin Lambers  <marlam@marlam.de>
42181
42182         * modules/link-tests: New file.
42183         * tests/test-link.sh: New file.
42184         * tests/test-link.c: New file.
42185
42186 2009-01-19  Eric Blake  <ebb9@byu.net>
42187
42188         doc: mention another function added in cygwin 1.7.0
42189         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
42190         Another new function in cygwin 1.7.
42191
42192 2009-01-19  Bruno Haible  <bruno@clisp.org>
42193
42194         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
42195         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
42196         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
42197         gl_BIGENDIAN, not AC_C_BIGENDIAN.
42198         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42199         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
42200         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
42201         * m4/md4.m4 (gl_MD4): Likewise.
42202         * m4/md5.m4 (gl_MD5): Likewise.
42203         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
42204         * m4/sha1.m4 (gl_SHA1): Likewise.
42205         * m4/sha256.m4 (gl_SHA256): Likewise.
42206         * m4/sha512.m4 (gl_SHA512): Likewise.
42207
42208 2009-01-19  Bruno Haible  <bruno@clisp.org>
42209
42210         * modules/uniname/uniname-tests (Depends-on): Add progname.
42211         * tests/uniname/test-uninames.c: Include progname.h.
42212         (main): Call set_program_name.
42213
42214         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
42215         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
42216         (main): Call set_program_name.
42217
42218         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
42219         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
42220         (main): Call set_program_name.
42221
42222         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
42223         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
42224         (main): Call set_program_name.
42225
42226         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
42227         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
42228         (main): Call set_program_name.
42229
42230         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
42231         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
42232         (main): Call set_program_name.
42233
42234         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
42235         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
42236         (main): Call set_program_name.
42237
42238         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
42239         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
42240         (main): Call set_program_name.
42241
42242         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
42243         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
42244         (main): Call set_program_name.
42245
42246 2009-01-19  Eric Blake  <ebb9@byu.net>
42247
42248         test-unistd: test previous patch
42249         * tests/test-unistd.c: Test *_FILENO macros.
42250
42251         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
42252         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
42253         Guarantee a definition.
42254         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
42255         * modules/unistd-safer (Depends-on): Add dependency on unistd.
42256         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
42257         * lib/dup-safer.c (STDERR_FILENO): Likewise.
42258         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
42259         Likewise.
42260         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
42261         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
42262         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
42263         Likewise.
42264         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
42265         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
42266         (STDERR_FILENO): Likewise.
42267         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
42268         (STDERR_FILENO): Likewise.
42269         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
42270         (STDERR_FILENO): Likewise.
42271         Reported by Elbert Pol.
42272
42273 2009-01-19  Eric Blake  <ebb9@byu.net>
42274
42275         doc: mention more functions added in cygwin 1.7.0
42276         * doc/posix-functions/abort.texi (abort): Update wording related
42277         to cygwin.
42278         * doc/posix-functions/daylight.texi (daylight): Likewise.
42279         * doc/posix-functions/optarg.texi (optarg): Likewise.
42280         * doc/posix-functions/optarg.texi (opterr): Likewise.
42281         * doc/posix-functions/optarg.texi (optind): Likewise.
42282         * doc/posix-functions/optarg.texi (optopt): Likewise.
42283         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
42284         worked in 1.5.x, and was withdrawn in 1.7.
42285         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
42286         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
42287         cygwin versions.
42288         * doc/posix-functions/perror.texi (perror): Likewise.
42289         * doc/posix-functions/printf.texi (printf): Likewise.
42290         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
42291         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
42292         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
42293         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
42294         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
42295         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
42296         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
42297         Likewise.
42298         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
42299         Likewise.
42300         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
42301         this function.
42302         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
42303         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
42304         Likewise.
42305         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
42306         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
42307         * doc/posix-functions/confstr.texi (confstr): Likewise.
42308         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
42309         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
42310         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
42311         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
42312         * doc/posix-functions/fputws.texi (fputws): Likewise.
42313         * doc/posix-functions/fwide.texi (fwide): Likewise.
42314         * doc/posix-functions/getwc.texi (getwc): Likewise.
42315         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
42316         * doc/posix-functions/putwc.texi (putwc): Likewise.
42317         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
42318         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
42319         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
42320         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
42321         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
42322         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
42323         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
42324         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
42325         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
42326         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
42327         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
42328
42329 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
42330
42331         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
42332         * lib/ioctl.c: Include <sys/ioctl.h>.
42333
42334 2009-01-19  Simon Josefsson  <simon@josefsson.org>
42335
42336         * modules/getdate-tests (Depends-on): Add progname.
42337         * tests/test-getdate.c: Use progname module, to avoid link errors
42338         on non-glibc systems.
42339
42340 2009-01-18  Simon Josefsson  <simon@josefsson.org>
42341
42342         * modules/filenamecat-tests (Depends-on): Add progname.
42343         * modules/fstrcmp-tests (Depends-on): Likewise.
42344
42345         * tests/test-filenamecat.c: Use progname module, to avoid link
42346         errors on non-glibc systems.
42347         * tests/test-fstrcmp.c: Likewise.
42348
42349 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
42350
42351         gettimeofday: avoid warning: nested extern declaration of 'localtime'
42352         * lib/gettimeofday.c: Move extern declaration out of function.
42353
42354 2009-01-18  Bruno Haible  <bruno@clisp.org>
42355
42356         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
42357         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
42358         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
42359
42360 2009-01-18  Bruno Haible  <bruno@clisp.org>
42361
42362         * lib/strftime.c (MEMPCPY): Remove unused macro.
42363         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
42364
42365 2009-01-18  Martin Lambers  <marlam@marlam.de>
42366
42367         New module 'link'.
42368         * lib/unistd.in.h (link): New declaration.
42369         * lib/link.c: New file.
42370         * m4/link.m4: New file.
42371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
42372         HAVE_LINK.
42373         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
42374         * modules/link: New file.
42375         * doc/posix-functions/link.texi: Mention the new module.
42376
42377 2009-01-18  Bruno Haible  <bruno@clisp.org>
42378
42379         * tests/test-avltree_list.c (main): Call set_program_name.
42380         * tests/test-avltree_oset.c (main): Likewise.
42381         * tests/test-obstack-printf.c: Include progname.h.
42382         (main): Call set_program_name.
42383         * tests/test-quotearg.c: Include progname.h.
42384         (main): Call set_program_name.
42385         * tests/test-xmemdup0.c: Include progname.h.
42386         (main): Call set_program_name.
42387
42388 2009-01-18  Bruno Haible  <bruno@clisp.org>
42389
42390         New module 'alphasort'.
42391         * lib/dirent.in.h (alphasort): New declaration.
42392         * lib/alphasort.c: New file, from glibc with modifications.
42393         * m4/alphasort.m4: New file.
42394         * modules/alphasort: New file.
42395         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
42396         HAVE_ALPHASORT.
42397         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
42398         HAVE_ALPHASORT.
42399         * doc/posix-functions/alphasort.texi: Mention the new module and the
42400         portability problems.
42401
42402 2009-01-18  Bruno Haible  <bruno@clisp.org>
42403
42404         New module 'scandir'.
42405         * lib/dirent.in.h (scandir): New declaration.
42406         * lib/scandir.c: New file, from glibc with modifications.
42407         * m4/scandir.m4: New file.
42408         * modules/scandir: New file.
42409         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
42410         HAVE_SCANDIR.
42411         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
42412         HAVE_SCANDIR.
42413         * doc/posix-functions/scandir.texi: Mention the new module and the
42414         portability problems.
42415
42416 2009-01-17  Bruno Haible  <bruno@clisp.org>
42417
42418         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
42419         Update documentation.
42420         (func_remove_suffix): Escape all dots in the suffix. Update
42421         documentation.
42422         (func_filter_filelist): Update documentation.
42423         Reported by Ralf Wildenhues.
42424
42425 2009-01-17  Bruno Haible  <bruno@clisp.org>
42426
42427         * modules/dprintf-posix-tests: New file.
42428         * tests/test-dprintf-posix.sh: New file.
42429         * tests/test-dprintf-posix.c: New file.
42430
42431         New modules 'dprintf', 'dprintf-posix'.
42432         * lib/stdio.in.h (dprintf): New declaration.
42433         * lib/dprintf.c: New file.
42434         * m4/dprintf.m4: New file.
42435         * m4/dprintf-posix.m4: New file.
42436         * modules/dprintf: New file.
42437         * modules/dprintf-posix: New file.
42438         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
42439         HAVE_DPRINTF, REPLACE_DPRINTF.
42440         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
42441         HAVE_DPRINTF, REPLACE_DPRINTF.
42442         * doc/posix-functions/dprintf.texi: Mention the new modules.
42443
42444 2009-01-17  Bruno Haible  <bruno@clisp.org>
42445
42446         * modules/vdprintf-posix-tests: New file.
42447         * tests/test-vdprintf-posix.sh: New file.
42448         * tests/test-vdprintf-posix.c: New file.
42449
42450         New modules 'vdprintf', 'vdprintf-posix'.
42451         * lib/stdio.in.h (vdprintf): New declaration.
42452         * lib/vdprintf.c: New file.
42453         * m4/vdprintf.m4: New file.
42454         * m4/vdprintf-posix.m4: New file.
42455         * modules/vdprintf: New file.
42456         * modules/vdprintf-posix: New file.
42457         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
42458         HAVE_VDPRINTF, REPLACE_VDPRINTF.
42459         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
42460         HAVE_VDPRINTF, REPLACE_VDPRINTF.
42461         * doc/posix-functions/vdprintf.texi: Mention the new modules.
42462
42463 2009-01-17  Bruno Haible  <bruno@clisp.org>
42464
42465         Fix replacement of fopen on mingw.
42466         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
42467         mingw.
42468
42469 2009-01-17  Bruno Haible  <bruno@clisp.org>
42470
42471         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
42472         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
42473
42474 2009-01-17  Bruno Haible  <bruno@clisp.org>
42475
42476         Avoid test-fflush2.sh failure on mingw.
42477         * tests/test-fflush2.c: Include binary-io.h.
42478         (main): Put standard input into binary mode.
42479         * modules/fflush-tests (Depends-on): Add binary-io.
42480
42481 2009-01-17  Bruno Haible  <bruno@clisp.org>
42482
42483         * lib/wchar.in.h: In another particular situation, include only the
42484         system's <wchar.h> file.
42485         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
42486         Reported by Albert Chin-A-Young <china@thewrittenword.com>
42487         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
42488
42489 2009-01-17  Bruno Haible  <bruno@clisp.org>
42490
42491         Support for stripping executables in --enable-relocatable.
42492         * build-aux/install-reloc: Expect one more argument, or an environment
42493         variable RELOC_STRIP_PROG. If set, strip the destination program and
42494         its wrapper.
42495         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
42496         RELOC_STRIP_PROG.
42497         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
42498         to set RELOCATABLE_STRIP.
42499         * NEWS: Mention the new Makefile requirement.
42500
42501 2009-01-17  Bruno Haible  <bruno@clisp.org>
42502
42503         * build-aux/install-reloc: Remove debugging information left over by
42504         C compiler on MacOS X.
42505
42506 2009-01-17  Bruno Haible  <bruno@clisp.org>
42507
42508         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
42509         * lib/progreloc.c (find_executable): Fix type of pointer passed to
42510         _NSGetExecutablePath.
42511
42512 2009-01-16  Jim Meyering  <meyering@redhat.com>
42513
42514         strerror: avoid warnings about discarding "const"
42515         * lib/strerror.c (rpl_strerror): Instead of returning a const
42516         string from each and every "case", use a variable, and add a single
42517         cast after the switch.
42518
42519 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
42520
42521         * lib/arpa_inet.in.h: Add extern "C" block for C++.
42522
42523 2009-01-16  Bruno Haible  <bruno@clisp.org>
42524
42525         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
42526         array initializer syntax that also works in C++ mode.
42527         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42528
42529 2009-01-16  Jim Meyering  <meyering@redhat.com>
42530
42531         poll: suppress a warning
42532         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
42533         to ignore "...unsigned expression < 0 is always false" warnings.
42534
42535 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
42536
42537         poll: remove declarations of unused variables
42538         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
42539         sockbuf and optlen.
42540
42541 2009-01-15  Bruno Haible  <bruno@clisp.org>
42542
42543         Make fflush-after-ungetc POSIX compliant on BSD systems.
42544         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
42545         (clear_ungetc_buffer): Implement also for other systems.
42546         (rpl_fflush): On glibc systems, invoke
42547         clear_ungetc_buffer_preserving_position. Otherwise, invoke
42548         clear_ungetc_buffer after fetching the stream's position, not before.
42549
42550 2009-01-15  Bruno Haible  <bruno@clisp.org>
42551
42552         Make fflush-after-ungetc POSIX compliant on glibc systems.
42553         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
42554         after ungetc.
42555         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
42556         (rpl_fflush): On glibc systems, simply call the system's fflush
42557         function after clearing the ungetc buffer.
42558         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
42559         Instead, lseek only to the end of file, then use the system's fseeko
42560         for the rest. On glibc systems, reset the EOF indicator bit.
42561
42562 2009-01-15  Jim Meyering  <meyering@redhat.com>
42563
42564         openmp.m4: revert quote-adding change, for portability to older autoconf
42565         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
42566         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
42567         Simon Josefsson noticed the problem when using autoconf-2.61.
42568
42569 2009-01-15  Bruno Haible  <bruno@clisp.org>
42570
42571         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
42572         * tests/test-fflush2.c (ASSERT): Always fail.
42573         (main): Add two tests for fflush() after ungetc(), taking into account
42574         the Austin Group's clarification.
42575         Suggested by Eric Blake.
42576
42577 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
42578
42579         mktime.m4: remove K&R-style function prototypes
42580         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
42581         for the Sun C++ compiler.
42582
42583 2009-01-14  Bruno Haible  <bruno@clisp.org>
42584
42585         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
42586         while including <wchar.h>.
42587         * lib/wchar.in.h: In two particular situations on HP-UX, include only
42588         the system's <wchar.h> file.
42589         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42590
42591 2009-01-14  Bruno Haible  <bruno@clisp.org>
42592
42593         * m4/csharp.m4: Don't mention gettext on the serial number line.
42594         * m4/csharpexec.m4: Likewise.
42595         * m4/eaccess.m4: Likewise.
42596         * m4/javaexec.m4: Likewise.
42597         * m4/sig_atomic_t.m4: Likewise.
42598         * m4/tmpdir.m4: Likewise.
42599         * m4/intldir.m4: Bump gettext version.
42600         * m4/lib-ld.m4: Likewise.
42601
42602 2009-01-14  Bruno Haible  <bruno@clisp.org>
42603
42604         * lib/progname.c (set_program_name): Add more comments.
42605         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
42606
42607 2009-01-14  Simon Josefsson  <simon@josefsson.org>
42608
42609         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
42610         were sys/stat.h does not define it.
42611
42612 2009-01-14  Jim Meyering  <meyering@redhat.com>
42613
42614         many *.m4 files: improve m4 quoting
42615         99% of this change was performed by running the following commands:
42616         git ls-files | grep '\.m4$' | xargs perl -pi \
42617           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
42618           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42619           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42620           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
42621         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
42622         The remainder were to add Copyright dates, increment serial numbers,
42623         undo some changes in comments, exclude m4/intl.m4, and add quotes
42624         around the "1" in ",1" where the unusual spacing prohibited the
42625         above regexps from doing the job.  For more details, see
42626         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
42627         * m4/acl.m4: Modified.
42628         * m4/afs.m4: Likewise.
42629         * m4/alloca.m4: Likewise.
42630         * m4/argp.m4: Likewise.
42631         * m4/argz.m4: Likewise.
42632         * m4/atexit.m4: Likewise.
42633         * m4/bison-i18n.m4: Likewise.
42634         * m4/bison.m4: Likewise.
42635         * m4/byteswap.m4: Likewise.
42636         * m4/c-stack.m4: Likewise.
42637         * m4/c-strtod.m4: Likewise.
42638         * m4/calloc.m4: Likewise.
42639         * m4/canonicalize-lgpl.m4: Likewise.
42640         * m4/chown.m4: Likewise.
42641         * m4/clock_time.m4: Likewise.
42642         * m4/codeset.m4: Likewise.
42643         * m4/copy-file.m4: Likewise.
42644         * m4/csharp.m4: Likewise.
42645         * m4/csharpcomp.m4: Likewise.
42646         * m4/csharpexec.m4: Likewise.
42647         * m4/d-ino.m4: Likewise.
42648         * m4/d-type.m4: Likewise.
42649         * m4/dirfd.m4: Likewise.
42650         * m4/double-slash-root.m4: Likewise.
42651         * m4/eaccess.m4: Likewise.
42652         * m4/eealloc.m4: Likewise.
42653         * m4/environ.m4: Likewise.
42654         * m4/errno_h.m4: Likewise.
42655         * m4/euidaccess.m4: Likewise.
42656         * m4/execute.m4: Likewise.
42657         * m4/fatal-signal.m4: Likewise.
42658         * m4/fchdir.m4: Likewise.
42659         * m4/fcntl_h.m4: Likewise.
42660         * m4/fileblocks.m4: Likewise.
42661         * m4/filenamecat.m4: Likewise.
42662         * m4/findprog.m4: Likewise.
42663         * m4/flexmember.m4: Likewise.
42664         * m4/fnmatch.m4: Likewise.
42665         * m4/fopen.m4: Likewise.
42666         * m4/fpending.m4: Likewise.
42667         * m4/fprintf-posix.m4: Likewise.
42668         * m4/free.m4: Likewise.
42669         * m4/frexp.m4: Likewise.
42670         * m4/frexpl.m4: Likewise.
42671         * m4/fsusage.m4: Likewise.
42672         * m4/ftruncate.m4: Likewise.
42673         * m4/gc-camellia.m4: Likewise.
42674         * m4/gc-random.m4: Likewise.
42675         * m4/gc.m4: Likewise.
42676         * m4/getaddrinfo.m4: Likewise.
42677         * m4/getcwd-abort-bug.m4: Likewise.
42678         * m4/getcwd-path-max.m4: Likewise.
42679         * m4/getdate.m4: Likewise.
42680         * m4/getdomainname.m4: Likewise.
42681         * m4/getgroups.m4: Likewise.
42682         * m4/gethostname.m4: Likewise.
42683         * m4/gethrxtime.m4: Likewise.
42684         * m4/getline.m4: Likewise.
42685         * m4/getloadavg.m4: Likewise.
42686         * m4/getndelim2.m4: Likewise.
42687         * m4/getpass.m4: Likewise.
42688         * m4/gettext.m4: Likewise.
42689         * m4/gettime.m4: Likewise.
42690         * m4/gettimeofday.m4: Likewise.
42691         * m4/gnulib-common.m4: Likewise.
42692         * m4/group-member.m4: Likewise.
42693         * m4/host-os.m4: Likewise.
42694         * m4/iconv.m4: Likewise.
42695         * m4/iconv_open.m4: Likewise.
42696         * m4/inet_ntop.m4: Likewise.
42697         * m4/inet_pton.m4: Likewise.
42698         * m4/inline.m4: Likewise.
42699         * m4/intldir.m4: Likewise.
42700         * m4/intlmacosx.m4: Likewise.
42701         * m4/intmax.m4: Likewise.
42702         * m4/intmax_t.m4: Likewise.
42703         * m4/inttypes.m4: Likewise.
42704         * m4/inttypes_h.m4: Likewise.
42705         * m4/inttypes-pri.m4: Likewise.
42706         * m4/isapipe.m4: Likewise.
42707         * m4/isnand.m4: Likewise.
42708         * m4/isnanf.m4: Likewise.
42709         * m4/isnanl.m4: Likewise.
42710         * m4/javacomp.m4: Likewise.
42711         * m4/javaexec.m4: Likewise.
42712         * m4/jm-winsz1.m4: Likewise.
42713         * m4/jm-winsz2.m4: Likewise.
42714         * m4/lchown.m4: Likewise.
42715         * m4/lcmessage.m4: Likewise.
42716         * m4/ldexpl.m4: Likewise.
42717         * m4/lib-ld.m4: Likewise.
42718         * m4/lib-link.m4: Likewise.
42719         * m4/libsigsegv.m4: Likewise.
42720         * m4/link-follow.m4: Likewise.
42721         * m4/localcharset.m4: Likewise.
42722         * m4/locale-fr.m4: Likewise.
42723         * m4/locale-ja.m4: Likewise.
42724         * m4/locale-tr.m4: Likewise.
42725         * m4/locale-zh.m4: Likewise.
42726         * m4/lock.m4: Likewise.
42727         * m4/longlong.m4: Likewise.
42728         * m4/ls-mntd-fs.m4: Likewise.
42729         * m4/lstat.m4: Likewise.
42730         * m4/malloc.m4: Likewise.
42731         * m4/mathl.m4: Likewise.
42732         * m4/mbrtowc.m4: Likewise.
42733         * m4/mbstate_t.m4: Likewise.
42734         * m4/mbswidth.m4: Likewise.
42735         * m4/memchr.m4: Likewise.
42736         * m4/memcmp.m4: Likewise.
42737         * m4/memcpy.m4: Likewise.
42738         * m4/memmem.m4: Likewise.
42739         * m4/memmove.m4: Likewise.
42740         * m4/mempcpy.m4: Likewise.
42741         * m4/memrchr.m4: Likewise.
42742         * m4/memset.m4: Likewise.
42743         * m4/minmax.m4: Likewise.
42744         * m4/mkdir-slash.m4: Likewise.
42745         * m4/mkdtemp.m4: Likewise.
42746         * m4/mktime.m4: Likewise.
42747         * m4/mmap-anon.m4: Likewise.
42748         * m4/mountlist.m4: Likewise.
42749         * m4/nanosleep.m4: Likewise.
42750         * m4/nls.m4: Likewise.
42751         * m4/nocrash.m4: Likewise.
42752         * m4/open.m4: Likewise.
42753         * m4/openat.m4: Likewise.
42754         * m4/openmp.m4: Likewise.
42755         * m4/pathmax.m4: Likewise.
42756         * m4/perl.m4: Likewise.
42757         * m4/physmem.m4: Likewise.
42758         * m4/pipe.m4: Likewise.
42759         * m4/po.m4: Likewise.
42760         * m4/poll.m4: Likewise.
42761         * m4/posixtm.m4: Likewise.
42762         * m4/posixver.m4: Likewise.
42763         * m4/printf-frexp.m4: Likewise.
42764         * m4/printf-frexpl.m4: Likewise.
42765         * m4/printf-posix.m4: Likewise.
42766         * m4/printf-posix-rpl.m4: Likewise.
42767         * m4/printf.m4: Likewise.
42768         * m4/progtest.m4: Likewise.
42769         * m4/putenv.m4: Likewise.
42770         * m4/readline.m4: Likewise.
42771         * m4/readlink.m4: Likewise.
42772         * m4/readutmp.m4: Likewise.
42773         * m4/realloc.m4: Likewise.
42774         * m4/regex.m4: Likewise.
42775         * m4/relocatable.m4: Likewise.
42776         * m4/relocatable-lib.m4: Likewise.
42777         * m4/rename-dest-slash.m4: Likewise.
42778         * m4/rename.m4: Likewise.
42779         * m4/rmdir-errno.m4: Likewise.
42780         * m4/rmdir.m4: Likewise.
42781         * m4/roundf.m4: Likewise.
42782         * m4/roundl.m4: Likewise.
42783         * m4/rpmatch.m4: Likewise.
42784         * m4/save-cwd.m4: Likewise.
42785         * m4/selinux-selinux-h.m4: Likewise.
42786         * m4/setenv.m4: Likewise.
42787         * m4/settime.m4: Likewise.
42788         * m4/sig2str.m4: Likewise.
42789         * m4/sig_atomic_t.m4: Likewise.
42790         * m4/signalblocking.m4: Likewise.
42791         * m4/signbit.m4: Likewise.
42792         * m4/sigpipe.m4: Likewise.
42793         * m4/sockets.m4: Likewise.
42794         * m4/sockpfaf.m4: Likewise.
42795         * m4/st_dm_mode.m4: Likewise.
42796         * m4/stat-time.m4: Likewise.
42797         * m4/stdbool.m4: Likewise.
42798         * m4/stdint.m4: Likewise.
42799         * m4/stdint_h.m4: Likewise.
42800         * m4/stpcpy.m4: Likewise.
42801         * m4/stpncpy.m4: Likewise.
42802         * m4/strcase.m4: Likewise.
42803         * m4/strchrnul.m4: Likewise.
42804         * m4/strcspn.m4: Likewise.
42805         * m4/strdup.m4: Likewise.
42806         * m4/strftime.m4: Likewise.
42807         * m4/strndup.m4: Likewise.
42808         * m4/strnlen.m4: Likewise.
42809         * m4/strpbrk.m4: Likewise.
42810         * m4/strptime.m4: Likewise.
42811         * m4/strsep.m4: Likewise.
42812         * m4/strtod.m4: Likewise.
42813         * m4/strtoimax.m4: Likewise.
42814         * m4/strtok_r.m4: Likewise.
42815         * m4/strtol.m4: Likewise.
42816         * m4/strtoll.m4: Likewise.
42817         * m4/strtoul.m4: Likewise.
42818         * m4/strtoull.m4: Likewise.
42819         * m4/strtoumax.m4: Likewise.
42820         * m4/strverscmp.m4: Likewise.
42821         * m4/threadlib.m4: Likewise.
42822         * m4/timegm.m4: Likewise.
42823         * m4/tm_gmtoff.m4: Likewise.
42824         * m4/tmpdir.m4: Likewise.
42825         * m4/tmpfile.m4: Likewise.
42826         * m4/tzset.m4: Likewise.
42827         * m4/uintmax_t.m4: Likewise.
42828         * m4/unlinkdir.m4: Likewise.
42829         * m4/unlocked-io.m4: Likewise.
42830         * m4/uptime.m4: Likewise.
42831         * m4/userspec.m4: Likewise.
42832         * m4/utimbuf.m4: Likewise.
42833         * m4/utime.m4: Likewise.
42834         * m4/utimes-null.m4: Likewise.
42835         * m4/utimes.m4: Likewise.
42836         * m4/vararrays.m4: Likewise.
42837         * m4/vasnprintf.m4: Likewise.
42838         * m4/vfprintf-posix.m4: Likewise.
42839         * m4/vprintf-posix.m4: Likewise.
42840         * m4/wait-process.m4: Likewise.
42841         * m4/wchar_t.m4: Likewise.
42842         * m4/wint_t.m4: Likewise.
42843         * m4/write-any-file.m4: Likewise.
42844         * m4/yield.m4: Likewise.
42845
42846 2009-01-13  Bruno Haible  <bruno@clisp.org>
42847
42848         Avoid test-copy-file.sh failures when ACL support insufficient.
42849         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42850         TESTS_ENVIRONMENT.
42851         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42852         Reported by Jim Meyering.
42853
42854 2009-01-13  Bruno Haible  <bruno@clisp.org>
42855
42856         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42857         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42858         * modules/unistdio/u8-printf-parse (Files): Likewise.
42859         * modules/unistdio/u32-printf-parse (Files): Likewise.
42860         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42861
42862 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42863
42864         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42865         and m4/inttypes_h.m4 too.
42866
42867 2009-01-12  Eric Blake  <ebb9@byu.net>
42868
42869         tests: IRIX 6.2 cc can't compile -0.0 into .data
42870         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42871         rather than at compile-time.
42872         * tests/test-floorl.c (minus_zero): Likewise.
42873         * tests/test-frexpl.c (minus_zero): Likewise.
42874         * tests/test-isnan.c (minus_zerol): Likewise.
42875         * tests/test-isnanl.h (minus_zero): Likewise.
42876         * tests/test-ldexpl.c (minus_zero): Likewise.
42877         * tests/test-roundl.c (minus_zero): Likewise.
42878         * tests/test-signbit.c (minus_zerol): Likewise.
42879         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42880         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42881         * tests/test-truncl.c (minus_zero): Likewise.
42882         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42883         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42884         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42885
42886 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42887
42888         regex: fix glibc bug 9697
42889         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42890         handling.
42891
42892 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42893
42894         regex: fix glibc bug 697
42895         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42896         being NULL also if there are no backreferences.
42897
42898 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42899
42900         regex: merge glibc changes
42901         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42902         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42903         re_string_skip_chars, re_string_reconstruct): Likewise.
42904         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42905
42906 2009-01-07  Jim Meyering  <meyering@redhat.com>
42907
42908         poll: filter through cppi
42909         * lib/poll.c: Indent cpp directives to reflect nesting.
42910
42911 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42912
42913         poll: don't return uninitialized
42914         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42915
42916 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42917
42918         avoid compile failure on AIX 6.1
42919         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42920         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42921
42922 2009-01-04  Jim Meyering  <meyering@redhat.com>
42923
42924         remove duplicate inclusion of <stdio.h>
42925         * tests/test-fprintf-posix.c: Likewise.
42926         * tests/test-printf-posix.c: Likewise.
42927         * tests/test-snprintf-posix.c: Likewise.
42928         * tests/test-sprintf-posix.c: Likewise.
42929         * tests/test-vasprintf-posix.c: Likewise.
42930         * tests/test-vfprintf-posix.c: Likewise.
42931         * tests/test-vprintf-posix.c: Likewise.
42932         * tests/test-vsnprintf-posix.c: Likewise.
42933         * tests/test-vsprintf-posix.c: Likewise.
42934
42935 2009-01-03  Jim Meyering  <meyering@redhat.com>
42936
42937         gnulib-tool: fix sed-based filtering
42938         * gnulib-tool (func_filter_filelist): Remove extra backslash
42939         in sed_fff_filter definition.
42940
42941 2009-01-02  Jim Meyering  <meyering@redhat.com>
42942
42943         strftime: avoid compilation failure on Solaris 2.6
42944         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42945         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42946         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42947         be available.  Reported by Tom G. Christensen.  Details in
42948         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42949
42950 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42951             Bruno Haible  <bruno@clisp.org>
42952
42953         Speed up gnulib-tool by doing more string processing through shell
42954         built-ins.
42955         * gnulib-tool (fast_func_append): New variable.
42956         (func_remove_prefix, func_remove_suffix): New functions.
42957         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42958         (func_filter_filelist): New function.
42959         (func_get_dependencies): Use func_remove_suffix instead of sed.
42960         (func_get_automake_snippet): Use func_filter_filelist instead of a
42961         subshell and sed invocation.
42962
42963 2009-01-01  Bruno Haible  <bruno@clisp.org>
42964
42965         Fix a security bug.
42966         * gnulib-tool (func_import, import, update): Don't allow the characters
42967         '"', '$', '`', '\' in macro arguments that become part of commands that
42968         are evaluated.
42969
42970 2009-01-01  Bruno Haible  <bruno@clisp.org>
42971
42972         * gnulib-tool (func_reset_sigpipe): Add more comments.
42973
42974 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42975
42976         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42977         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42978         already know the answer.
42979
42980 2009-01-01  Jim Meyering  <meyering@redhat.com>
42981
42982         * lib/version-etc.c (version_etc_va): Update copyright year.
42983
42984 2008-12-30  Bruno Haible  <bruno@clisp.org>
42985
42986         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42987         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42988         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42989
42990 2008-12-29  Eric Blake  <ebb9@byu.net>
42991
42992         multiarch: avoid autoconf AC_REQUIRE bug
42993         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42994         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42995         2.63 and older.
42996         Reported by Bruno Haible, and analyzed in
42997         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42998
42999 2008-12-29  Bruno Haible  <bruno@clisp.org>
43000
43001         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
43002         files in subdirectories correctly.
43003         Reported by Ralf Wildenhues.
43004
43005 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43006
43007         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
43008         rather than 'join FILE -', for Solaris join.
43009
43010 2008-12-29  Bruno Haible  <bruno@clisp.org>
43011
43012         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
43013         quoting.
43014         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
43015         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
43016         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
43017         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
43018         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
43019         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
43020         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
43021         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
43022         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
43023         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
43024         * m4/nls.m4 (AM_NLS): Likewise.
43025         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
43026         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
43027         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
43028         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
43029         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
43030         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
43031         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
43032         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
43033         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
43034         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
43035         * m4/xsize.m4 (gl_XSIZE): Likewise.
43036         Suggested by Jim Meyering.
43037
43038 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43039
43040         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
43041         * lib/parse-duration.c: use a switch instead of cascading if's.
43042
43043 2008-12-29  Eric Blake  <ebb9@byu.net>
43044
43045         wchar.h: supply WEOF on Irix 5.3
43046         * lib/wchar.in.h (wint_t): Also supply WEOF.
43047         * lib/wctype.in.h (wint_t): Likewise.
43048         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
43049         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
43050         Reported by Tom G. Christensen.
43051
43052 2008-12-26  Bruno Haible  <bruno@clisp.org>
43053
43054         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
43055         i486, i586, i686.
43056
43057 2008-12-26  Bruno Haible  <bruno@clisp.org>
43058
43059         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
43060
43061 2008-12-26  Bruno Haible  <bruno@clisp.org>
43062
43063         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
43064         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
43065         not __STDC_CONSTANT_MACROS.
43066         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
43067
43068 2008-12-25  Bruno Haible  <bruno@clisp.org>
43069
43070         Add support for universal builds to vasnprintf.
43071         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
43072         universal builds, guess no.
43073         * modules/vasnprintf-posix (Depends-on): Add multiarch.
43074         * modules/vasprintf-posix (Depends-on): Likewise.
43075         * modules/fprintf-posix (Depends-on): Likewise.
43076         * modules/vfprintf-posix (Depends-on): Likewise.
43077         * modules/snprintf-posix (Depends-on): Likewise.
43078         * modules/vsnprintf-posix (Depends-on): Likewise.
43079         * modules/sprintf-posix (Depends-on): Likewise.
43080         * modules/vsprintf-posix (Depends-on): Likewise.
43081         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43082         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43083         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43084         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43085         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43086         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43087         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43088
43089         Add support for universal builds to <inttypes.h>.
43090         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
43091         _SCNu64_PREFIX): In Apple
43092         universal builds, define directly, using _LP64.
43093         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
43094         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
43095         * modules/inttypes (Depends-on): Add multiarch.
43096         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
43097
43098         Add support for universal builds to <stdint.h>.
43099         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
43100         universal builds, define directly, using _LP64.
43101         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
43102         Apple universal builds, don't test for the size and suffix of ptrdiff_t
43103         and size_t.
43104         * modules/stdint (Depends-on): Add multiarch.
43105         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
43106
43107         New module 'multiarch'.
43108         * modules/multiarch: New file.
43109         * m4/multiarch.m4: New file.
43110
43111 2008-12-25  Bruno Haible  <bruno@clisp.org>
43112
43113         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
43114
43115 2008-12-25  Bruno Haible  <bruno@clisp.org>
43116
43117         * modules/btowc (License): Relicense under LGPLv2+.
43118         * modules/mbsinit (License): Likewise.
43119         * modules/mbrtowc (License): Likewise.
43120         * modules/wcrtomb (License): Likewise.
43121         * modules/streq (License): Likewise.
43122         Reported by David Lutterkort <lutter@redhat.com>.
43123
43124 2008-12-23  Bruno Haible  <bruno@clisp.org>
43125
43126         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
43127
43128 2008-12-23  Bruno Haible  <bruno@clisp.org>
43129
43130         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
43131         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
43132         GETADDRINFO_LIB, not in LIBS.
43133         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
43134         * modules/canon-host (Link): Likewise.
43135         * NEWS: Mention the change.
43136         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
43137         GETADDRINFO_LIB.
43138
43139 2008-12-22  Bruno Haible  <bruno@clisp.org>
43140
43141         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
43142         * doc/posix-functions/iswalpha_l.texi: Likewise.
43143         * doc/posix-functions/iswblank_l.texi: Likewise.
43144         * doc/posix-functions/iswcntrl_l.texi: Likewise.
43145         * doc/posix-functions/iswctype_l.texi: Likewise.
43146         * doc/posix-functions/iswdigit_l.texi: Likewise.
43147         * doc/posix-functions/iswgraph_l.texi: Likewise.
43148         * doc/posix-functions/iswlower_l.texi: Likewise.
43149         * doc/posix-functions/iswprint_l.texi: Likewise.
43150         * doc/posix-functions/iswpunct_l.texi: Likewise.
43151         * doc/posix-functions/iswspace_l.texi: Likewise.
43152         * doc/posix-functions/iswupper_l.texi: Likewise.
43153         * doc/posix-functions/iswxdigit_l.texi: Likewise.
43154         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
43155         * doc/posix-functions/open_wmemstream.texi: Likewise.
43156         * doc/posix-functions/swscanf.texi: Likewise.
43157         * doc/posix-functions/towctrans_l.texi: Likewise.
43158         * doc/posix-functions/towlower.texi: Likewise.
43159         * doc/posix-functions/towlower_l.texi: Likewise.
43160         * doc/posix-functions/towupper.texi: Likewise.
43161         * doc/posix-functions/towupper_l.texi: Likewise.
43162         * doc/posix-functions/vfwprintf.texi: Likewise.
43163         * doc/posix-functions/vfwscanf.texi: Likewise.
43164         * doc/posix-functions/vswscanf.texi: Likewise.
43165         * doc/posix-functions/vwprintf.texi: Likewise.
43166         * doc/posix-functions/vwscanf.texi: Likewise.
43167         * doc/posix-functions/wcpcpy.texi: Likewise.
43168         * doc/posix-functions/wcpncpy.texi: Likewise.
43169         * doc/posix-functions/wcscasecmp.texi: Likewise.
43170         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
43171         * doc/posix-functions/wcscoll_l.texi: Likewise.
43172         * doc/posix-functions/wcsdup.texi: Likewise.
43173         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43174         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
43175         * doc/posix-functions/wcsnlen.texi: Likewise.
43176         * doc/posix-functions/wcsnrtombs.texi: Likewise.
43177         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
43178         * doc/posix-functions/wctrans_l.texi: Likewise.
43179         * doc/posix-functions/wctype_l.texi: Likewise.
43180         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
43181         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
43182         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
43183         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
43184         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
43185         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
43186         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
43187         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
43188         * doc/glibc-functions/wcschrnul.texi: Likewise.
43189         * doc/glibc-functions/wcsftime_l.texi: Likewise.
43190         * doc/glibc-functions/wcstod_l.texi: Likewise.
43191         * doc/glibc-functions/wcstof_l.texi: Likewise.
43192         * doc/glibc-functions/wcstol_l.texi: Likewise.
43193         * doc/glibc-functions/wcstold_l.texi: Likewise.
43194         * doc/glibc-functions/wcstoll_l.texi: Likewise.
43195         * doc/glibc-functions/wcstoq.texi: Likewise.
43196         * doc/glibc-functions/wcstoul_l.texi: Likewise.
43197         * doc/glibc-functions/wcstoull_l.texi: Likewise.
43198         * doc/glibc-functions/wcstouq.texi: Likewise.
43199         * doc/glibc-functions/wmempcpy.texi: Likewise.
43200
43201 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
43202             Eric Blake  <ebb9@byu.net>
43203             Paolo Bonzini  <bonzini@gnu.org>
43204             Bruno Haible  <bruno@clisp.org>
43205
43206         Make c-stack work on Haiku.
43207         * lib/c-stack.c (SA_ONSTACK): Define fallback.
43208         (c_stack_action): Use SA_ONSTACK flag.
43209
43210 2008-12-22  Bruno Haible  <bruno@clisp.org>
43211
43212         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
43213
43214 2008-12-22  Bruno Haible  <bruno@clisp.org>
43215
43216         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
43217         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
43218         being overridden.
43219         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
43220         New macros.
43221         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
43222         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
43223         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
43224         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
43225
43226 2008-12-22  Bruno Haible  <bruno@clisp.org>
43227
43228         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
43229         from test code.
43230
43231 2008-12-22  Eric Blake  <ebb9@byu.net>
43232
43233         Avoid gcc warnings on cygwin.
43234         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
43235         Avoid unused variable.
43236         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
43237         Likewise.
43238
43239 2008-12-22  Bruno Haible  <bruno@clisp.org>
43240
43241         Remove HAVE_MBRTOWC conditionals.
43242         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
43243         (mbscasecmp): Assume mbrtowc function.
43244         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
43245         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
43246         * lib/mbschr.c: Include mbuiter.h unconditionally.
43247         (mbschr): Assume mbrtowc function.
43248         * lib/mbscspn.c: Include mbuiter.h unconditionally.
43249         (mbscspn): Assume mbrtowc function.
43250         * lib/mbslen.c: Include mbuiter.h unconditionally.
43251         (mbslen): Assume mbrtowc function.
43252         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
43253         (mbsncasecmp): Assume mbrtowc function.
43254         * lib/mbsnlen.c: Include mbiter.h unconditionally.
43255         (mbsnlen): Assume mbrtowc function.
43256         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
43257         (mbspbrk): Assume mbrtowc function.
43258         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
43259         (mbspcasecmp): Assume mbrtowc function.
43260         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
43261         (mbsrchr): Assume mbrtowc function.
43262         * lib/mbssep.c: Include mbuiter.h unconditionally.
43263         (mbssep): Assume mbrtowc function.
43264         * lib/mbsspn.c: Include mbuiter.h unconditionally.
43265         (mbsspn): Assume mbrtowc function.
43266         * lib/mbsstr.c: Include mbuiter.h unconditionally.
43267         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
43268         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
43269         (mbstok_r): Assume mbrtowc function.
43270         * lib/propername.c: Include mbuiter.h unconditionally.
43271         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
43272         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
43273         (trim2): Assume mbrtowc function.
43274         * lib/mbswidth.c (mbsinit): Remove fallback definition.
43275         (mbsnwidth): Assume mbrtowc function.
43276         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
43277         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
43278         fallback definitions.
43279         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
43280
43281 2008-12-22  Bruno Haible  <bruno@clisp.org>
43282
43283         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
43284
43285 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
43286
43287         * modules/regex: Request emulations for the mb*/wc* functions we need.
43288         * m4/regex.m4: Don't look for those functions here.
43289         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
43290
43291 2008-12-22  Bruno Haible  <bruno@clisp.org>
43292
43293         * modules/fnmatch (Depends-on): Remove duplicated dependency.
43294
43295 2008-12-21  Bruno Haible  <bruno@clisp.org>
43296
43297         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
43298         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
43299         (Include): Remove conditionalization.
43300         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
43301         (Include): Remove conditionalization.
43302         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
43303         (Include): Remove conditionalization.
43304         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
43305         * m4/mbfile.m4 (gl_MBFILE): Likewise.
43306         * NEWS: Mention the change.
43307         Reported by Alan Hourihane <alanh@fairlite.co.uk>
43308         via Sergey Poznyakoff <gray@gnu.org.ua>.
43309
43310 2008-12-21  Bruno Haible  <bruno@clisp.org>
43311
43312         * MODULES.html.sh (Extended multibyte and wide character utilities
43313         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
43314         wcrtomb, wcsrtombs.
43315         (Support for systems lacking POSIX:2008): Add accept, bind, close,
43316         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
43317         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
43318         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
43319
43320 2008-12-21  Bruno Haible  <bruno@clisp.org>
43321
43322         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
43323
43324 2008-12-21  Bruno Haible  <bruno@clisp.org>
43325
43326         * modules/wcsnrtombs-tests: New file.
43327         * tests/test-wcsnrtombs1.sh: New file.
43328         * tests/test-wcsnrtombs2.sh: New file.
43329         * tests/test-wcsnrtombs3.sh: New file.
43330         * tests/test-wcsnrtombs4.sh: New file.
43331         * tests/test-wcsnrtombs.c: New file.
43332
43333         New module 'wcsnrtombs'.
43334         * lib/wchar.in.h (wcsnrtombs): New declaration.
43335         * lib/wcsnrtombs.c: New file.
43336         * lib/wcsrtombs-state.c: New file.
43337         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
43338         (internal_state): Remove variable.
43339         * m4/wcsnrtombs.m4: New file.
43340         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
43341         compilation units.
43342         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
43343         HAVE_WCSNRTOMBS.
43344         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
43345         HAVE_WCSNRTOMBS.
43346         * modules/wcsnrtombs: New file.
43347         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
43348         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
43349
43350 2008-12-21  Bruno Haible  <bruno@clisp.org>
43351
43352         * modules/wcsrtombs-tests: New file.
43353         * tests/test-wcsrtombs1.sh: New file.
43354         * tests/test-wcsrtombs2.sh: New file.
43355         * tests/test-wcsrtombs3.sh: New file.
43356         * tests/test-wcsrtombs4.sh: New file.
43357         * tests/test-wcsrtombs.c: New file.
43358
43359         New module 'wcsrtombs'.
43360         * lib/wchar.in.h (wcsrtombs): New declaration.
43361         * lib/wcsrtombs.c: New file.
43362         * m4/wcsrtombs.m4: New file.
43363         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
43364         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
43365         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
43366         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
43367         * modules/wcsrtombs: New file.
43368         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
43369         bugs.
43370
43371 2008-12-21  Bruno Haible  <bruno@clisp.org>
43372
43373         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
43374         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
43375         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
43376         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
43377         if not correct.
43378         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
43379         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
43380         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43381         m4/locale-zh.m4, m4/codeset.m4.
43382         * doc/posix-functions/wcrtomb.texi: Document the bug.
43383
43384 2008-12-21  Bruno Haible  <bruno@clisp.org>
43385
43386         Work around a btowc() bug on IRIX 6.5.
43387         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
43388         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
43389         REPLACE_WTOBC if not.
43390         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
43391         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
43392         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
43393
43394 2008-12-21  Bruno Haible  <bruno@clisp.org>
43395
43396         * modules/wcrtomb-tests: New file.
43397         * tests/test-wcrtomb.sh: New file.
43398         * tests/test-wcrtomb.c: New file.
43399
43400         New module 'wcrtomb'.
43401         * lib/wchar.in.h (wcrtomb): New declaration.
43402         * lib/wcrtomb.c: New file.
43403         * m4/wcrtomb.m4: New file.
43404         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
43405         HAVE_WCRTOMB.
43406         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
43407         HAVE_WCRTOMB.
43408         * modules/wcrtomb: New file.
43409         * doc/posix-functions/wcrtomb.texi: Mention the new module.
43410
43411 2008-12-21  Bruno Haible  <bruno@clisp.org>
43412
43413         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
43414         * modules/mbsrtowcs (Files): Likewise.
43415         * modules/wctob (Files): Likewise.
43416         * modules/c-strcase-tests (Files): Likewise.
43417         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
43418         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
43419         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
43420         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
43421         * modules/vasnprintf-posix-tests (Files): Likewise.
43422
43423 2008-12-21  William Pursell  <bill.pursell@gmail.com>
43424
43425         gitlog-to-changelog: pass all command-line arguments to git-log
43426         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
43427         it is sometimes convenient to filter the commits in various ways.
43428         gitlog-to-changelog only allows --since to specify a start date,
43429         but git-log itself supports many other filtering mechanisms.
43430         At the moment, I want to filter by branch name.  Rather than
43431         adding a --branch option to gitlog-to-changelog, it seems more
43432         flexible to simply pass all options directly to git-log and let
43433         git do the work.  Notice that this effectively makes --since a
43434         redundant option for gitlog-to-changelog, but removing it would
43435         require current usage to change since calls would then require
43436         an additional '--'.
43437
43438 2008-12-21  Bruno Haible  <bruno@clisp.org>
43439
43440         * modules/mbsnrtowcs-tests: New file.
43441         * tests/test-mbsnrtowcs1.sh: New file.
43442         * tests/test-mbsnrtowcs2.sh: New file.
43443         * tests/test-mbsnrtowcs3.sh: New file.
43444         * tests/test-mbsnrtowcs4.sh: New file.
43445         * tests/test-mbsnrtowcs.c: New file.
43446
43447         New module 'mbsnrtowcs'.
43448         * lib/wchar.in.h (mbsnrtowcs): New declaration.
43449         * lib/mbsnrtowcs.c: New file.
43450         * lib/mbsrtowcs-state.c: New file.
43451         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
43452         (internal_state): Remove variable.
43453         * m4/mbsnrtowcs.m4: New file.
43454         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
43455         compilation units.
43456         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
43457         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
43458         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
43459         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
43460         * modules/mbsnrtowcs: New file.
43461         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
43462         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
43463         portability problem.
43464
43465 2008-12-21  Bruno Haible  <bruno@clisp.org>
43466
43467         Work around mbsrtowcs bug.
43468         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
43469         (gl_FUNC_MBSRTOWCS): Invoke it.
43470         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43471         m4/locale-zh.m4.
43472         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
43473
43474 2008-12-21  Bruno Haible  <bruno@clisp.org>
43475
43476         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
43477
43478 2008-12-21  Bruno Haible  <bruno@clisp.org>
43479
43480         Update doc for AIX.
43481         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
43482         16-bit wchar_t type.
43483         * doc/posix-functions/btowc.texi: Likewise.
43484         * doc/posix-functions/fgetwc.texi: Likewise.
43485         * doc/posix-functions/fgetws.texi: Likewise.
43486         * doc/posix-functions/fputwc.texi: Likewise.
43487         * doc/posix-functions/fputws.texi: Likewise.
43488         * doc/posix-functions/fwide.texi: Likewise.
43489         * doc/posix-functions/fwprintf.texi: Likewise.
43490         * doc/posix-functions/fwscanf.texi: Likewise.
43491         * doc/posix-functions/getwchar.texi: Likewise.
43492         * doc/posix-functions/getwc.texi: Likewise.
43493         * doc/posix-functions/iswalnum.texi: Likewise.
43494         * doc/posix-functions/iswalpha.texi: Likewise.
43495         * doc/posix-functions/iswblank.texi: Likewise.
43496         * doc/posix-functions/iswcntrl.texi: Likewise.
43497         * doc/posix-functions/iswctype.texi: Likewise.
43498         * doc/posix-functions/iswdigit.texi: Likewise.
43499         * doc/posix-functions/iswgraph.texi: Likewise.
43500         * doc/posix-functions/iswlower.texi: Likewise.
43501         * doc/posix-functions/iswprint.texi: Likewise.
43502         * doc/posix-functions/iswpunct.texi: Likewise.
43503         * doc/posix-functions/iswspace.texi: Likewise.
43504         * doc/posix-functions/iswupper.texi: Likewise.
43505         * doc/posix-functions/iswxdigit.texi: Likewise.
43506         * doc/posix-functions/mbrtowc.texi: Likewise.
43507         * doc/posix-functions/mbsrtowcs.texi: Likewise.
43508         * doc/posix-functions/mbstowcs.texi: Likewise.
43509         * doc/posix-functions/mbtowc.texi: Likewise.
43510         * doc/posix-functions/putwchar.texi: Likewise.
43511         * doc/posix-functions/putwc.texi: Likewise.
43512         * doc/posix-functions/swprintf.texi: Likewise.
43513         * doc/posix-functions/tolower.texi: Likewise.
43514         * doc/posix-functions/toupper.texi: Likewise.
43515         * doc/posix-functions/towctrans.texi: Likewise.
43516         * doc/posix-functions/ungetwc.texi: Likewise.
43517         * doc/posix-functions/vswprintf.texi: Likewise.
43518         * doc/posix-functions/wcrtomb.texi: Likewise.
43519         * doc/posix-functions/wcscat.texi: Likewise.
43520         * doc/posix-functions/wcschr.texi: Likewise.
43521         * doc/posix-functions/wcscmp.texi: Likewise.
43522         * doc/posix-functions/wcscoll.texi: Likewise.
43523         * doc/posix-functions/wcscpy.texi: Likewise.
43524         * doc/posix-functions/wcscspn.texi: Likewise.
43525         * doc/posix-functions/wcsftime.texi: Likewise.
43526         * doc/posix-functions/wcslen.texi: Likewise.
43527         * doc/posix-functions/wcsncat.texi: Likewise.
43528         * doc/posix-functions/wcsncmp.texi: Likewise.
43529         * doc/posix-functions/wcsncpy.texi: Likewise.
43530         * doc/posix-functions/wcspbrk.texi: Likewise.
43531         * doc/posix-functions/wcsrchr.texi: Likewise.
43532         * doc/posix-functions/wcsrtombs.texi: Likewise.
43533         * doc/posix-functions/wcsspn.texi: Likewise.
43534         * doc/posix-functions/wcsstr.texi: Likewise.
43535         * doc/posix-functions/wcstod.texi: Likewise.
43536         * doc/posix-functions/wcstof.texi: Likewise.
43537         * doc/posix-functions/wcstoimax.texi: Likewise.
43538         * doc/posix-functions/wcstok.texi: Likewise.
43539         * doc/posix-functions/wcstold.texi: Likewise.
43540         * doc/posix-functions/wcstoll.texi: Likewise.
43541         * doc/posix-functions/wcstol.texi: Likewise.
43542         * doc/posix-functions/wcstombs.texi: Likewise.
43543         * doc/posix-functions/wcstoull.texi: Likewise.
43544         * doc/posix-functions/wcstoul.texi: Likewise.
43545         * doc/posix-functions/wcstoumax.texi: Likewise.
43546         * doc/posix-functions/wcswidth.texi: Likewise.
43547         * doc/posix-functions/wcsxfrm.texi: Likewise.
43548         * doc/posix-functions/wctob.texi: Likewise.
43549         * doc/posix-functions/wctomb.texi: Likewise.
43550         * doc/posix-functions/wctrans.texi: Likewise.
43551         * doc/posix-functions/wctype.texi: Likewise.
43552         * doc/posix-functions/wcwidth.texi: Likewise.
43553         * doc/posix-functions/wmemchr.texi: Likewise.
43554         * doc/posix-functions/wmemcmp.texi: Likewise.
43555         * doc/posix-functions/wmemcpy.texi: Likewise.
43556         * doc/posix-functions/wmemmove.texi: Likewise.
43557         * doc/posix-functions/wmemset.texi: Likewise.
43558         * doc/posix-functions/wprintf.texi: Likewise.
43559         * doc/posix-functions/wscanf.texi: Likewise.
43560
43561 2008-12-21  Bruno Haible  <bruno@clisp.org>
43562
43563         Update doc for HP-UX 11.11.
43564         * doc/posix-functions/btowc.texi: Clarify that the function is missing
43565         in HP-UX version 11.00, not in all versions of HP-UX 11.
43566         * doc/posix-functions/fwide.texi: Likewise.
43567         * doc/posix-functions/fwprintf.texi: Likewise.
43568         * doc/posix-functions/fwscanf.texi: Likewise.
43569         * doc/posix-functions/inet_ntop.texi: Likewise.
43570         * doc/posix-functions/inet_pton.texi: Likewise.
43571         * doc/posix-functions/mbrlen.texi: Likewise.
43572         * doc/posix-functions/mbrtowc.texi: Likewise.
43573         * doc/posix-functions/mbsinit.texi: Likewise.
43574         * doc/posix-functions/mbsrtowcs.texi: Likewise.
43575         * doc/posix-functions/swprintf.texi: Likewise.
43576         * doc/posix-functions/swscanf.texi: Likewise.
43577         * doc/posix-functions/towctrans.texi: Likewise.
43578         * doc/posix-functions/vfwprintf.texi: Likewise.
43579         * doc/posix-functions/vswprintf.texi: Likewise.
43580         * doc/posix-functions/vwprintf.texi: Likewise.
43581         * doc/posix-functions/wcrtomb.texi: Likewise.
43582         * doc/posix-functions/wcsrtombs.texi: Likewise.
43583         * doc/posix-functions/wcsstr.texi: Likewise.
43584         * doc/posix-functions/wctob.texi: Likewise.
43585         * doc/posix-functions/wctrans.texi: Likewise.
43586         * doc/posix-functions/wmemchr.texi: Likewise.
43587         * doc/posix-functions/wmemcmp.texi: Likewise.
43588         * doc/posix-functions/wmemcpy.texi: Likewise.
43589         * doc/posix-functions/wmemmove.texi: Likewise.
43590         * doc/posix-functions/wmemset.texi: Likewise.
43591         * doc/posix-functions/wprintf.texi: Likewise.
43592         * doc/posix-functions/wscanf.texi: Likewise.
43593
43594 2008-12-21  Bruno Haible  <bruno@clisp.org>
43595
43596         Work around a portability problem.
43597         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
43598         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
43599
43600 2008-12-20  Bruno Haible  <bruno@clisp.org>
43601
43602         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
43603         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
43604         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
43605         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
43606         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
43607
43608         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
43609         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
43610         set.
43611         (GNULIB_defined_mbstate_t): New macro.
43612         (mbsinit): Redefine if REPLACE_MBSINIT is set.
43613         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
43614         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
43615         reuses the system's mbrtowc function but works around the bugs.
43616         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
43617         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
43618         macros.
43619         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
43620         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
43621         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
43622         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
43623         REPLACE_MBSINIT if mbsinit needs to be overridden.
43624         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
43625         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43626         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
43627         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43628         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43629         m4/locale-zh.m4.
43630         (Depends): Add mbsinit.
43631         * modules/mbsinit (Depends): Add mbrtowc.
43632         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
43633
43634 2008-12-20  Bruno Haible  <bruno@clisp.org>
43635
43636         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
43637         so that there are no conversion errors on AIX.
43638         * tests/test-mbsrtowcs.c (main): LIkewise.
43639
43640 2008-12-20  Bruno Haible  <bruno@clisp.org>
43641
43642         Work around wctob bug on Solaris <= 9.
43643         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
43644         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
43645         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
43646         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
43647         * modules/wctob (Files): Add m4/locale-fr.m4.
43648         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
43649
43650 2008-12-20  Bruno Haible  <bruno@clisp.org>
43651
43652         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
43653         /dev/null.
43654         * tests/test-select-in.sh: Likewise.
43655         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43656
43657 2008-12-20  Bruno Haible  <bruno@clisp.org>
43658
43659         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
43660         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
43661         Cygwin 1.5.x.
43662
43663 2008-12-20  Bruno Haible  <bruno@clisp.org>
43664
43665         Ensure mbstate_t is defined on HP-UX 11.11.
43666         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
43667         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
43668         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
43669         AC_USE_SYSTEM_EXTENSIONS.
43670         * modules/fnmatch (Depends-on): Add extensions.
43671         * modules/mbrlen (Depends-on): Likewise.
43672         * modules/mbrtowc (Depends-on): Likewise.
43673         * modules/mbsinit (Depends-on): Likewise.
43674         * modules/mbsrtowcs (Depends-on): Likewise.
43675         * modules/mbswidth (Depends-on): Likewise.
43676         * modules/quotearg (Depends-on): Likewise.
43677         * modules/strftime (Depends-on): Likewise.
43678
43679 2008-12-20  Bruno Haible  <bruno@clisp.org>
43680
43681         Ensure wctob is declared on IRIX 6.5.
43682         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
43683         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
43684         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
43685         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
43686         of HAVE_WCTOB.
43687         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
43688         HAVE_WCTOB.
43689         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
43690
43691 2008-12-19  Bruno Haible  <bruno@clisp.org>
43692
43693         * modules/mbsrtowcs-tests: New file.
43694         * tests/test-mbsrtowcs1.sh: New file.
43695         * tests/test-mbsrtowcs2.sh: New file.
43696         * tests/test-mbsrtowcs3.sh: New file.
43697         * tests/test-mbsrtowcs4.sh: New file.
43698         * tests/test-mbsrtowcs.c: New file.
43699
43700         New module 'mbsrtowcs'.
43701         * lib/wchar.in.h (mbsrtowcs): New declaration.
43702         * lib/mbsrtowcs.c: New file.
43703         * m4/mbsrtowcs.m4: New file.
43704         * modules/mbsrtowcs: New file.
43705         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
43706         HAVE_MBSRTOWCS.
43707         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
43708         HAVE_MBSRTOWCS.
43709         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
43710
43711 2008-12-19  Bruno Haible  <bruno@clisp.org>
43712
43713         New module 'mbrlen'.
43714         * lib/wchar.in.h (mbrlen): New declaration.
43715         * lib/mbrlen.c: New file.
43716         * m4/mbrlen.m4: New file.
43717         * modules/mbrlen: New file.
43718         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
43719         HAVE_MBRLEN.
43720         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
43721         HAVE_MBRLEN.
43722         * doc/posix-functions/mbrlen.texi: Document the new module.
43723
43724 2008-12-19  Bruno Haible  <bruno@clisp.org>
43725
43726         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
43727         * modules/mbrtowc (Depends-on): Add verify.
43728         Suggested by Paul Eggert.
43729
43730 2008-12-18  Bruno Haible  <bruno@clisp.org>
43731
43732         * modules/mbsinit-tests: New file.
43733         * tests/test-mbsinit.sh: New file.
43734         * tests/test-mbsinit.c: New file.
43735
43736 2008-12-18  Bruno Haible  <bruno@clisp.org>
43737
43738         * modules/mbrtowc-tests: New file.
43739         * tests/test-mbrtowc1.sh: New file.
43740         * tests/test-mbrtowc2.sh: New file.
43741         * tests/test-mbrtowc3.sh: New file.
43742         * tests/test-mbrtowc4.sh: New file.
43743         * tests/test-mbrtowc.c: New file.
43744
43745         New module 'mbrtowc'.
43746         * lib/wchar.in.h (mbstate_t): Override when the system does not have
43747         mbsinit and mbrtowc.
43748         (mbrtowc): New declaration.
43749         * lib/mbrtowc.c: New file.
43750         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
43751         * modules/mbrtowc: New file.
43752         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
43753         HAVE_MBRTOWC.
43754         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
43755         HAVE_MBRTOWC.
43756         * doc/posix-functions/mbrtowc.texi: Document the new module.
43757
43758 2008-12-18  Bruno Haible  <bruno@clisp.org>
43759
43760         New module 'wctob'.
43761         * lib/wchar.in.h (wctob): New declaration.
43762         * lib/wctob.c: New file.
43763         * m4/wctob.m4: New file.
43764         * modules/wctob: New file.
43765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
43766         HAVE_WCTOB.
43767         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
43768         * doc/posix-functions/wctob.texi: Document the new module.
43769
43770 2008-12-18  Bruno Haible  <bruno@clisp.org>
43771
43772         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
43773         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
43774
43775 2008-12-18  Simon Josefsson  <simon@josefsson.org>
43776
43777         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
43778         G. Christensen" <tgc@jupiterrise.com>.
43779
43780         * lib/flock.c: Need to include errno.h.  Reported by "Tom
43781         G. Christensen" <tgc@jupiterrise.com>.
43782
43783         * lib/flock.c: Need to include string.h.  Reported by "Tom
43784         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
43785         <ebb9@byu.net>.
43786
43787 2008-12-18  Bruno Haible  <bruno@clisp.org>
43788
43789         * m4/locale-ja.m4: New file, from GNU gettext.
43790
43791 2008-12-17  Bruno Haible  <bruno@clisp.org>
43792
43793         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
43794         Suggested by Eric Blake.
43795
43796 2008-12-17  Bruno Haible  <bruno@clisp.org>
43797
43798         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
43799
43800 2008-12-17  Bruno Haible  <bruno@clisp.org>
43801
43802         * lib/mbsinit.c: Include verify.h. Verify an assumption.
43803         * modules/mbsinit (Depends-on): Add verify.
43804         Suggested by Paul Eggert.
43805
43806 2008-12-17  Bruno Haible  <bruno@clisp.org>
43807
43808         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
43809         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
43810         gl_FUNC_MBRTOWC.
43811         * m4/mbiter.m4 (gl_MBITER): LIkewise.
43812         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
43813         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
43814         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
43815         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
43816         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
43817         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
43818         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
43819         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
43820         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
43821         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
43822         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
43823         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
43824         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
43825         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
43826         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43827         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
43828         * modules/trim (configure.ac): Likewise.
43829
43830 2008-12-17  Bruno Haible  <bruno@clisp.org>
43831
43832         * modules/btowc-tests: New file.
43833         * tests/test-btowc1.sh: New file.
43834         * tests/test-btowc2.sh: New file.
43835         * tests/test-btowc.c: New file.
43836
43837         New module 'btowc'.
43838         * lib/wchar.in.h (btowc): New declaration.
43839         * lib/btowc.c: New file.
43840         * m4/btowc.m4: New file.
43841         * modules/btowc: New file.
43842         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43843         HAVE_BTOWC.
43844         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43845         * doc/posix-functions/btowc.texi: Document the new module.
43846
43847 2008-12-17  Bruno Haible  <bruno@clisp.org>
43848
43849         New module 'mbsinit'.
43850         * lib/wchar.in.h (mbsinit): New declaration.
43851         * lib/mbsinit.c: New file.
43852         * m4/mbsinit.m4: New file.
43853         * modules/mbsinit: New file.
43854         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43855         HAVE_MBSINIT.
43856         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43857         HAVE_MBSINIT.
43858         * doc/posix-functions/mbsinit.texi: Document the new module.
43859
43860 2008-12-16  Bruno Haible  <bruno@clisp.org>
43861
43862         * lib/unistd.in.h: Add comment.
43863         * tests/test-environ.c: Don't include <stdlib.h>.
43864
43865 2008-12-16  Bruno Haible  <bruno@clisp.org>
43866
43867         * lib/parse-duration.h (parse_duration): Document return value
43868         convention.
43869         * lib/parse-duration.c: Include specification header first. Add
43870         comments.
43871         (_): Remove macro.
43872         (parse_year_month_day, parse_hour_minute_second): Move side effects
43873         outside of strchr call.
43874         (parse_non_iso8601): Move side effects outside of isspace call.
43875         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43876         call.
43877
43878 2008-12-16  Bruno Haible  <bruno@clisp.org>
43879
43880         * tests/test-parse-duration.sh: Produce no output when the test
43881         succeeds.
43882
43883 2008-12-16  Bruno Haible  <bruno@clisp.org>
43884
43885         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43886         expressions.
43887
43888 2008-12-15  Bruno Haible  <bruno@clisp.org>
43889
43890         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43891         * doc/glibc-functions/flistxattr.texi: Likewise.
43892         * doc/glibc-functions/fopencookie.texi: Likewise.
43893         * doc/glibc-functions/fremovexattr.texi: Likewise.
43894         * doc/glibc-functions/fsetxattr.texi: Likewise.
43895         * doc/glibc-functions/getxattr.texi: Likewise.
43896         * doc/glibc-functions/lgetxattr.texi: Likewise.
43897         * doc/glibc-functions/listxattr.texi: Likewise.
43898         * doc/glibc-functions/llistxattr.texi: Likewise.
43899         * doc/glibc-functions/lremovexattr.texi: Likewise.
43900         * doc/glibc-functions/lsetxattr.texi: Likewise.
43901         * doc/glibc-functions/removexattr.texi: Likewise.
43902         * doc/glibc-functions/setxattr.texi: Likewise.
43903         * doc/posix-functions/open_memstream.texi: Likewise.
43904
43905 2008-12-15  Eric Blake  <ebb9@byu.net>
43906
43907         Update doc for cygwin 1.7.
43908         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43909         functions.
43910         * doc/posix-functions/fchmodat.texi: Likewise.
43911         * doc/posix-functions/fchownat.texi: Likewise.
43912         * doc/posix-functions/fdopendir.texi: Likewise.
43913         * doc/posix-functions/fmemopen.texi: Likewise.
43914         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43915         * doc/posix-functions/fstatat.texi: Likewise.
43916         * doc/posix-functions/futimens.texi: Likewise.
43917         * doc/posix-functions/gai_strerror.texi: Likewise.
43918         * doc/posix-functions/getaddrinfo.texi: Likewise.
43919         * doc/posix-functions/getnameinfo.texi: Likewise.
43920         * doc/posix-functions/if_freenameindex.texi: Likewise.
43921         * doc/posix-functions/if_indextoname.texi: Likewise.
43922         * doc/posix-functions/if_nameindex.texi: Likewise.
43923         * doc/posix-functions/if_nametoindex.texi: Likewise.
43924         * doc/posix-functions/insque.texi: Likewise.
43925         * doc/posix-functions/linkat.texi: Likewise.
43926         * doc/posix-functions/llrint.texi: Likewise.
43927         * doc/posix-functions/llrintf.texi: Likewise.
43928         * doc/posix-functions/llrintl.texi: Likewise.
43929         * doc/posix-functions/lockf.texi: Likewise.
43930         * doc/posix-functions/lrintl.texi: Likewise.
43931         * doc/posix-functions/mkdirat.texi: Likewise.
43932         * doc/posix-functions/mkfifoat.texi: Likewise.
43933         * doc/posix-functions/mknodat.texi: Likewise.
43934         * doc/posix-functions/mq_close.texi: Likewise.
43935         * doc/posix-functions/mq_getattr.texi: Likewise.
43936         * doc/posix-functions/mq_notify.texi: Likewise.
43937         * doc/posix-functions/mq_open.texi: Likewise.
43938         * doc/posix-functions/mq_receive.texi: Likewise.
43939         * doc/posix-functions/mq_send.texi: Likewise.
43940         * doc/posix-functions/mq_setattr.texi: Likewise.
43941         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43942         * doc/posix-functions/mq_timedsend.texi: Likewise.
43943         * doc/posix-functions/mq_unlink.texi: Likewise.
43944         * doc/posix-functions/open_memstream.texi: Likewise.
43945         * doc/posix-functions/openat.texi: Likewise.
43946         * doc/posix-functions/posix_fadvise.texi: Likewise.
43947         * doc/posix-functions/posix_fallocate.texi: Likewise.
43948         * doc/posix-functions/posix_madvise.texi: Likewise.
43949         * doc/posix-functions/posix_memalign.texi: Likewise.
43950         * doc/posix-functions/posix_openpt.texi: Likewise.
43951         * doc/posix-functions/readlinkat.texi: Likewise.
43952         * doc/posix-functions/remque.texi: Likewise.
43953         * doc/posix-functions/renameat.texi: Likewise.
43954         * doc/posix-functions/rintl.texi: Likewise.
43955         * doc/posix-functions/sem_unlink.texi: Likewise.
43956         * doc/posix-functions/shm_open.texi: Likewise.
43957         * doc/posix-functions/shm_unlink.texi: Likewise.
43958         * doc/posix-functions/signgam.texi: Likewise.
43959         * doc/posix-functions/sigset.texi: Likewise.
43960         * doc/posix-functions/stpcpy.texi: Likewise.
43961         * doc/posix-functions/stpncpy.texi: Likewise.
43962         * doc/posix-functions/strerror.texi: Likewise.
43963         * doc/posix-functions/strtod.texi: Likewise.
43964         * doc/posix-functions/symlinkat.texi: Likewise.
43965         * doc/posix-functions/unlinkat.texi: Likewise.
43966         * doc/posix-functions/utimensat.texi: Likewise.
43967         * doc/glibc-functions/bindresvport.texi: Likewise.
43968         * doc/glibc-functions/dn_expand.texi: Likewise.
43969         * doc/glibc-functions/exp10.texi: Likewise.
43970         * doc/glibc-functions/exp10f.texi: Likewise.
43971         * doc/glibc-functions/fgetxattr.texi: Likewise.
43972         * doc/glibc-functions/flistxattr.texi: Likewise.
43973         * doc/glibc-functions/fopencookie.texi: Likewise.
43974         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43975         * doc/glibc-functions/fremovexattr.texi: Likewise.
43976         * doc/glibc-functions/fsetxattr.texi: Likewise.
43977         * doc/glibc-functions/getifaddrs.texi: Likewise.
43978         * doc/glibc-functions/getxattr.texi: Likewise.
43979         * doc/glibc-functions/lgetxattr.texi: Likewise.
43980         * doc/glibc-functions/listxattr.texi: Likewise.
43981         * doc/glibc-functions/llistxattr.texi: Likewise.
43982         * doc/glibc-functions/lremovexattr.texi: Likewise.
43983         * doc/glibc-functions/lsetxattr.texi: Likewise.
43984         * doc/glibc-functions/pow10.texi: Likewise.
43985         * doc/glibc-functions/pow10f.texi: Likewise.
43986         * doc/glibc-functions/rcmd_af.texi: Likewise.
43987         * doc/glibc-functions/removexattr.texi: Likewise.
43988         * doc/glibc-functions/res_init.texi: Likewise.
43989         * doc/glibc-functions/res_mkquery.texi: Likewise.
43990         * doc/glibc-functions/res_query.texi: Likewise.
43991         * doc/glibc-functions/res_querydomain.texi: Likewise.
43992         * doc/glibc-functions/res_send.texi: Likewise.
43993         * doc/glibc-functions/rresvport_af.texi: Likewise.
43994         * doc/glibc-functions/setxattr.texi: Likewise.
43995         * doc/glibc-functions/strcasestr.texi: Likewise.
43996
43997 2008-12-15  Bruno Haible  <bruno@clisp.org>
43998
43999         Fix compilation error on OSF/1 4.0.
44000         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
44001         <sys/time.h>, simply delegate to the system header.
44002         Reported by Daniel Richard G. <oss@teragram.com>.
44003
44004 2008-12-15  Bruno Haible  <bruno@clisp.org>
44005
44006         * doc/posix-functions/openat.texi: Mention the 'openat' module.
44007         * doc/posix-functions/fchmodat.texi: Likewise.
44008         * doc/posix-functions/fchownat.texi: Likewise.
44009         * doc/posix-functions/fdopendir.texi: Likewise.
44010         * doc/posix-functions/fstatat.texi: Likewise.
44011         * doc/posix-functions/mkdirat.texi: Likewise.
44012         * doc/posix-functions/unlinkat.texi: Likewise.
44013
44014 2008-12-14  Bruno Haible  <bruno@clisp.org>
44015
44016         Update doc for POSIX:2008.
44017         * doc/posix-functions/faccessat.texi: New file.
44018         * doc/posix-functions/fchmodat.texi: New file.
44019         * doc/posix-functions/fchownat.texi: New file.
44020         * doc/posix-functions/fdopendir.texi: New file.
44021         * doc/posix-functions/fstatat.texi: New file.
44022         * doc/posix-functions/futimens.texi: New file.
44023         * doc/posix-functions/linkat.texi: New file.
44024         * doc/posix-functions/mkdirat.texi: New file.
44025         * doc/posix-functions/mkfifoat.texi: New file.
44026         * doc/posix-functions/mknodat.texi: New file.
44027         * doc/posix-functions/open_wmemstream.texi: New file.
44028         * doc/posix-functions/openat.texi: New file.
44029         * doc/posix-functions/psiginfo.texi: New file.
44030         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
44031         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
44032         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
44033         * doc/posix-functions/readlinkat.texi: New file.
44034         * doc/posix-functions/renameat.texi: New file.
44035         * doc/posix-functions/strerror_l.texi: New file.
44036         * doc/posix-functions/symlinkat.texi: New file.
44037         * doc/posix-functions/unlinkat.texi: New file.
44038         * doc/posix-functions/utimensat.texi: New file.
44039         * doc/gnulib.texi (Function Substitutes): Add these subsections.
44040
44041 2008-12-14  Bruno Haible  <bruno@clisp.org>
44042
44043         Update doc for POSIX:2008.
44044         * doc/posix-functions/alphasort.texi: Renamed from
44045         doc/glibc-functions/alphasort.texi.
44046         * doc/posix-functions/dirfd.texi: Renamed from
44047         doc/glibc-functions/dirfd.texi.
44048         * doc/posix-functions/dprintf.texi: Renamed from
44049         doc/glibc-functions/dprintf.texi.
44050         * doc/posix-functions/duplocale.texi: Renamed from
44051         doc/glibc-functions/duplocale.texi.
44052         * doc/posix-functions/fexecve.texi: Renamed from
44053         doc/glibc-functions/fexecve.texi.
44054         * doc/posix-functions/fmemopen.texi: Renamed from
44055         doc/glibc-functions/fmemopen.texi.
44056         * doc/posix-functions/freelocale.texi: Renamed from
44057         doc/glibc-functions/freelocale.texi.
44058         * doc/posix-functions/getdate_err.texi: Renamed from
44059         doc/glibc-functions/getdate_err.texi.
44060         * doc/posix-functions/isalnum_l.texi: Renamed from
44061         doc/glibc-functions/isalnum_l.texi.
44062         * doc/posix-functions/isalpha_l.texi: Renamed from
44063         doc/glibc-functions/isalpha_l.texi.
44064         * doc/posix-functions/isblank_l.texi: Renamed from
44065         doc/glibc-functions/isblank_l.texi.
44066         * doc/posix-functions/iscntrl_l.texi: Renamed from
44067         doc/glibc-functions/iscntrl_l.texi.
44068         * doc/posix-functions/isdigit_l.texi: Renamed from
44069         doc/glibc-functions/isdigit_l.texi.
44070         * doc/posix-functions/isgraph_l.texi: Renamed from
44071         doc/glibc-functions/isgraph_l.texi.
44072         * doc/posix-functions/islower_l.texi: Renamed from
44073         doc/glibc-functions/islower_l.texi.
44074         * doc/posix-functions/isprint_l.texi: Renamed from
44075         doc/glibc-functions/isprint_l.texi.
44076         * doc/posix-functions/ispunct_l.texi: Renamed from
44077         doc/glibc-functions/ispunct_l.texi.
44078         * doc/posix-functions/isspace_l.texi: Renamed from
44079         doc/glibc-functions/isspace_l.texi.
44080         * doc/posix-functions/isupper_l.texi: Renamed from
44081         doc/glibc-functions/isupper_l.texi.
44082         * doc/posix-functions/iswalnum_l.texi: Renamed from
44083         doc/glibc-functions/iswalnum_l.texi.
44084         * doc/posix-functions/iswalpha_l.texi: Renamed from
44085         doc/glibc-functions/iswalpha_l.texi.
44086         * doc/posix-functions/iswblank_l.texi: Renamed from
44087         doc/glibc-functions/iswblank_l.texi.
44088         * doc/posix-functions/iswcntrl_l.texi: Renamed from
44089         doc/glibc-functions/iswcntrl_l.texi.
44090         * doc/posix-functions/iswctype_l.texi: Renamed from
44091         doc/glibc-functions/iswctype_l.texi.
44092         * doc/posix-functions/iswdigit_l.texi: Renamed from
44093         doc/glibc-functions/iswdigit_l.texi.
44094         * doc/posix-functions/iswgraph_l.texi: Renamed from
44095         doc/glibc-functions/iswgraph_l.texi.
44096         * doc/posix-functions/iswlower_l.texi: Renamed from
44097         doc/glibc-functions/iswlower_l.texi.
44098         * doc/posix-functions/iswprint_l.texi: Renamed from
44099         doc/glibc-functions/iswprint_l.texi.
44100         * doc/posix-functions/iswpunct_l.texi: Renamed from
44101         doc/glibc-functions/iswpunct_l.texi.
44102         * doc/posix-functions/iswspace_l.texi: Renamed from
44103         doc/glibc-functions/iswspace_l.texi.
44104         * doc/posix-functions/iswupper_l.texi: Renamed from
44105         doc/glibc-functions/iswupper_l.texi.
44106         * doc/posix-functions/iswxdigit_l.texi: Renamed from
44107         doc/glibc-functions/iswxdigit_l.texi.
44108         * doc/posix-functions/isxdigit_l.texi: Renamed from
44109         doc/glibc-functions/isxdigit_l.texi.
44110         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
44111         doc/glibc-functions/mbsnrtowcs.texi.
44112         * doc/posix-functions/mkdtemp.texi: Renamed from
44113         doc/glibc-functions/mkdtemp.texi.
44114         * doc/posix-functions/newlocale.texi: Renamed from
44115         doc/glibc-functions/newlocale.texi.
44116         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
44117         doc/glibc-functions/nl_langinfo_l.texi.
44118         * doc/posix-functions/open_memstream.texi: Renamed from
44119         doc/glibc-functions/open_memstream.texi.
44120         * doc/posix-functions/opterr.texi: Renamed from
44121         doc/glibc-functions/opterr.texi.
44122         * doc/posix-functions/optind.texi: Renamed from
44123         doc/glibc-functions/optind.texi.
44124         * doc/posix-functions/optopt.texi: Renamed from
44125         doc/glibc-functions/optopt.texi.
44126         * doc/posix-functions/psignal.texi: Renamed from
44127         doc/glibc-functions/psignal.texi.
44128         * doc/posix-functions/scandir.texi: Renamed from
44129         doc/glibc-functions/scandir.texi.
44130         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
44131         doc/glibc-functions/sched_get_priority_min.texi.
44132         * doc/posix-functions/signgam.texi: Renamed from
44133         doc/glibc-functions/signgam.texi.
44134         * doc/posix-functions/stpcpy.texi: Renamed from
44135         doc/glibc-functions/stpcpy.texi.
44136         * doc/posix-functions/stpncpy.texi: Renamed from
44137         doc/glibc-functions/stpncpy.texi.
44138         * doc/posix-functions/strcasecmp_l.texi: Renamed from
44139         doc/glibc-functions/strcasecmp_l.texi.
44140         * doc/posix-functions/strcoll_l.texi: Renamed from
44141         doc/glibc-functions/strcoll_l.texi.
44142         * doc/posix-functions/strfmon_l.texi: Renamed from
44143         doc/glibc-functions/strfmon_l.texi.
44144         * doc/posix-functions/strftime_l.texi: Renamed from
44145         doc/glibc-functions/strftime_l.texi.
44146         * doc/posix-functions/strncasecmp_l.texi: Renamed from
44147         doc/glibc-functions/strncasecmp_l.texi.
44148         * doc/posix-functions/strndup.texi: Renamed from
44149         doc/glibc-functions/strndup.texi.
44150         * doc/posix-functions/strnlen.texi: Renamed from
44151         doc/glibc-functions/strnlen.texi.
44152         * doc/posix-functions/strsignal.texi: Renamed from
44153         doc/glibc-functions/strsignal.texi.
44154         * doc/posix-functions/strxfrm_l.texi: Renamed from
44155         doc/glibc-functions/strxfrm_l.texi.
44156         * doc/posix-functions/timer_gettime.texi: Renamed from
44157         doc/glibc-functions/timer_gettime.texi.
44158         * doc/posix-functions/tolower_l.texi: Renamed from
44159         doc/glibc-functions/tolower_l.texi.
44160         * doc/posix-functions/toupper_l.texi: Renamed from
44161         doc/glibc-functions/toupper_l.texi.
44162         * doc/posix-functions/towctrans_l.texi: Renamed from
44163         doc/glibc-functions/towctrans_l.texi.
44164         * doc/posix-functions/towlower_l.texi: Renamed from
44165         doc/glibc-functions/towlower_l.texi.
44166         * doc/posix-functions/towupper_l.texi: Renamed from
44167         doc/glibc-functions/towupper_l.texi.
44168         * doc/posix-functions/uselocale.texi: Renamed from
44169         doc/glibc-functions/uselocale.texi.
44170         * doc/posix-functions/vdprintf.texi: Renamed from
44171         doc/glibc-functions/vdprintf.texi.
44172         * doc/posix-functions/wcpcpy.texi:
44173         Renamed from doc/glibc-functions/wcpcpy.texi.
44174         * doc/posix-functions/wcpncpy.texi: Renamed from
44175         doc/glibc-functions/wcpncpy.texi.
44176         * doc/posix-functions/wcscasecmp.texi: Renamed from
44177         doc/glibc-functions/wcscasecmp.texi.
44178         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
44179         doc/glibc-functions/wcscasecmp_l.texi.
44180         * doc/posix-functions/wcscoll_l.texi: Renamed from
44181         doc/glibc-functions/wcscoll_l.texi.
44182         * doc/posix-functions/wcsdup.texi: Renamed from
44183         doc/glibc-functions/wcsdup.texi.
44184         * doc/posix-functions/wcsncasecmp.texi: Renamed from
44185         doc/glibc-functions/wcsncasecmp.texi.
44186         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
44187         doc/glibc-functions/wcsncasecmp_l.texi.
44188         * doc/posix-functions/wcsnlen.texi: Renamed from
44189         doc/glibc-functions/wcsnlen.texi.
44190         * doc/posix-functions/wcsnrtombs.texi: Renamed from
44191         doc/glibc-functions/wcsnrtombs.texi.
44192         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
44193         doc/glibc-functions/wcsxfrm_l.texi.
44194         * doc/posix-functions/wctrans_l.texi: Renamed from
44195         doc/glibc-functions/wctrans_l.texi.
44196         * doc/posix-functions/wctype_l.texi: Renamed from
44197         doc/glibc-functions/wctype_l.texi.
44198         * doc/gnulib.texi (Function Substitutes): Add these subsections.
44199         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
44200         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
44201         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
44202         these subsections.
44203         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
44204         Remove sections.
44205
44206 2008-12-14  Bruno Haible  <bruno@clisp.org>
44207
44208         Update doc for POSIX:2008.
44209         * doc/posix-functions/*.texi: Update URL of POSIX specification.
44210
44211 2008-12-14  Bruno Haible  <bruno@clisp.org>
44212
44213         Update doc for POSIX:2008.
44214         * doc/pastposix-functions/bcmp.texi: Renamed from
44215         doc/posix-functions/bcmp.texi.
44216         * doc/pastposix-functions/bcopy.texi: Renamed from
44217         doc/posix-functions/bcopy.texi.
44218         * doc/pastposix-functions/bsd_signal.texi: Renamed from
44219         doc/posix-functions/bsd_signal.texi.
44220         * doc/pastposix-functions/bzero.texi: Renamed from
44221         doc/posix-functions/bzero.texi.
44222         * doc/pastposix-functions/ecvt.texi: Renamed from
44223         doc/posix-functions/ecvt.texi.
44224         * doc/pastposix-functions/fcvt.texi: Renamed from
44225         doc/posix-functions/fcvt.texi.
44226         * doc/pastposix-functions/ftime.texi: Renamed from
44227         doc/posix-functions/ftime.texi.
44228         * doc/pastposix-functions/gcvt.texi: Renamed from
44229         doc/posix-functions/gcvt.texi.
44230         * doc/pastposix-functions/getcontext.texi: Renamed from
44231         doc/posix-functions/getcontext.texi.
44232         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
44233         doc/posix-functions/gethostbyaddr.texi.
44234         * doc/pastposix-functions/gethostbyname.texi: Renamed from
44235         doc/posix-functions/gethostbyname.texi.
44236         * doc/pastposix-functions/getwd.texi: Renamed from
44237         doc/posix-functions/getwd.texi.
44238         * doc/pastposix-functions/h_errno.texi: Renamed from
44239         doc/posix-functions/h_errno.texi.
44240         * doc/pastposix-functions/index.texi: Renamed from
44241         doc/posix-functions/index.texi.
44242         * doc/pastposix-functions/makecontext.texi: Renamed from
44243         doc/posix-functions/makecontext.texi.
44244         * doc/pastposix-functions/mktemp.texi: Renamed from
44245         doc/posix-functions/mktemp.texi.
44246         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
44247         doc/posix-functions/pthread_attr_getstackaddr.texi.
44248         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
44249         doc/posix-functions/pthread_attr_setstackaddr.texi.
44250         * doc/pastposix-functions/rindex.texi: Renamed from
44251         doc/posix-functions/rindex.texi.
44252         * doc/pastposix-functions/scalb.texi: Renamed from
44253         doc/posix-functions/scalb.texi.
44254         * doc/pastposix-functions/setcontext.texi: Renamed from
44255         doc/posix-functions/setcontext.texi.
44256         * doc/pastposix-functions/swapcontext.texi: Renamed from
44257         doc/posix-functions/swapcontext.texi.
44258         * doc/pastposix-functions/ualarm.texi: Renamed from
44259         doc/posix-functions/ualarm.texi.
44260         * doc/pastposix-functions/usleep.texi: Renamed from
44261         doc/posix-functions/usleep.texi.
44262         * doc/pastposix-functions/vfork.texi: Renamed from
44263         doc/posix-functions/vfork.texi.
44264         * doc/pastposix-functions/wcswcs.texi: Renamed from
44265         doc/posix-functions/wcswcs.texi.
44266         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
44267         (Function Substitutes): Update.
44268
44269 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44270
44271         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
44272         m4/strerror.m4.
44273
44274 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44275             Bruno Haible  <bruno@clisp.org>
44276
44277         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
44278
44279 2008-12-13  Bruno Haible  <bruno@clisp.org>
44280
44281         * modules/strtoull (Depends-on): Remove unistd.
44282
44283 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44284
44285         * modules/strtoull (Depends-on): Add stdlib.
44286
44287 2008-12-11  Simon Josefsson  <simon@josefsson.org>
44288
44289         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
44290
44291 2008-12-10  Jim Meyering  <meyering@redhat.com>
44292
44293         gl_ASSERT: don't say assertions are disabled when they're not
44294         * m4/assert.m4 (gl_ASSERT): Do not make configure report
44295         "checking whether to enable assertions... no", when they are in
44296         fact enabled.  This is solely a bug in the output of configure.
44297         In spite of saying "no", NDEBUG was not defined in that case.
44298         Also, as noted by Eric Blake, leave assertions enabled upon
44299         --enable-assert=INVALID.
44300
44301 2008-12-10  Bruno Haible  <bruno@clisp.org>
44302
44303         Change MODULES.html to refer to POSIX:2008 where possible.
44304         * MODULES.html.sh (POSIX2008_URL): New variable.
44305         (posix_headers): Remove sys/timeb, ucontext.
44306         (posix2001_headers): New variable.
44307         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
44308         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
44309         index, makecontext, mktemp, pthread_attr_getstackaddr,
44310         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
44311         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
44312         (posix2001_functions): New variable.
44313         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
44314         otherwise.
44315
44316 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44317
44318         add missing include to parse-duration.c
44319         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
44320         * modules/parse-duration (Depends-on): Add xalloc.
44321
44322         fix sed script reading maint.mk
44323         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
44324         (syntax-check-rules): Use it.
44325
44326 2008-12-09  Bruno Haible  <bruno@clisp.org>
44327
44328         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
44329         MacOS X 10.4/PowerPC.
44330         Reported by Simon Josefsson.
44331
44332 2008-12-08  Jim Meyering  <meyering@redhat.com>
44333
44334         work around mingw's lack of some S_IF definitions
44335         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
44336         Reported by Simon Josefsson.
44337
44338 2008-12-08  Bruno Haible  <bruno@clisp.org>
44339
44340         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
44341         applied to variables. Needed on MacOS X 10.4/PowerPC.
44342         Reported by Simon Josefsson.
44343
44344 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
44345         and Eric Blake  <ebb9@byu.net>
44346
44347         assert: honor --enable-assert
44348         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
44349         order to honor --enable-assert, rather than treating it as a
44350         synonym for --disable-assert.
44351
44352 2008-12-08  Jim Meyering  <meyering@redhat.com>
44353
44354         * lib/posixtm.c: Remove now-useless declaration of mktime.
44355
44356         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
44357
44358 2008-12-07  Bruno Haible  <bruno@clisp.org>
44359
44360         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
44361         test_once): Mark functions as static.
44362         * tests/test-tls.c (test_tls): Likewise.
44363
44364 2008-12-07  Bruno Haible  <bruno@clisp.org>
44365
44366         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
44367         iconv_register_autodetect.
44368
44369 2008-12-07  Jim Meyering  <meyering@redhat.com>
44370
44371         posixtm.c: avoid a warning
44372         * lib/posixtm.c (posixtime): Don't initialize tm0.
44373         It's no longer needed to placate gcc4's -Wuninitialized,
44374         and the attempt to placate would elicit a new warning.
44375
44376         unicodeio.c: mark unused parameters
44377         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
44378         (fallback_failure_callback): Likewise.
44379
44380 2008-12-07  Bruno Haible  <bruno@clisp.org>
44381
44382         * gnulib-tool (func_create_testdir): When building the tests
44383         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
44384         Reported by Simon Josefsson.
44385
44386 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44387
44388         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
44389
44390 2008-12-06  Bruno Haible  <bruno@clisp.org>
44391
44392         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
44393         Suggested by Eric Blake.
44394
44395 2008-12-06  Bruno Haible  <bruno@clisp.org>
44396
44397         Fix a c-stack test failure on MacOS X.
44398         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
44399         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
44400         handler for SIGBUS as well.
44401         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
44402         install a signal handler for SIGBUS as well.
44403         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
44404
44405 2008-12-06  Bruno Haible  <bruno@clisp.org>
44406
44407         Advocacy documentation.
44408         * doc/gnulib-intro.texi (Benefits): New section.
44409         * doc/gnulib.texi: Update.
44410
44411 2008-12-06  Bruno Haible  <bruno@clisp.org>
44412
44413         Document the 'manywarnings' module.
44414         * doc/manywarnings.texi: New file.
44415         * doc/gnulib.texi: Include it.
44416
44417 2008-12-05  Eric Blake  <ebb9@byu.net>
44418
44419         tests: silence some gcc warnings
44420         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
44421         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
44422         type mismatches.
44423
44424 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44425             Bruno Haible  <bruno@clisp.org>
44426
44427         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
44428
44429 2008-11-29  Jim Meyering  <meyering@redhat.com>
44430
44431         unicodeio.c: mark unused parameters
44432         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
44433         (fallback_failure_callback): Likewise.
44434
44435         fts: fix a thinko
44436         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
44437         (set_stat_type): Return S_IF*-valued "type" directly.
44438         Prompted by James Youngman's spotting a related bug.
44439         Confirmed by further testing through find.
44440
44441         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
44442         * lib/fts.c (D_TYPE): Define.
44443         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
44444         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
44445         (s_ifmt_shift_bits): New function.
44446         (set_stat_type): New function.
44447         (fts_build): When not calling fts_stat, call set_stat_type
44448         to propagate dirent.d_type info to fts_read caller.
44449         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
44450         fts_statp->st_mode type information may be valid.
44451
44452 2008-11-28  Simon Josefsson  <simon@josefsson.org>
44453
44454         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
44455         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
44456         <sds@gnu.org>.
44457
44458 2008-11-20  Bruno Haible  <bruno@clisp.org>
44459
44460         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
44461         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
44462         INCLUDE_NEXT.
44463         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
44464         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
44465         * modules/math (Makefile.am): Substitute
44466         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
44467         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44468
44469 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
44470             Bruno Haible  <bruno@clisp.org>
44471
44472         * lib/stdint.in.h: Define all type macros so that their expansion is
44473         a single typedef'ed token. Fixes a compilation failure in Boost which
44474         does "using ::int8_t;".
44475
44476 2008-11-18  Simon Josefsson  <simon@josefsson.org>
44477
44478         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
44479         gl_MANYWARN_ALL_GCC.
44480         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
44481         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
44482         * modules/manywarnings: New file.
44483         * MODULES.html.sh: Mention manywarnings module.
44484
44485 2008-11-18  Bruno Haible  <bruno@clisp.org>
44486
44487         * doc/gnulib-tool.texi (Unit tests): New section.
44488
44489 2008-11-18  Simon Josefsson  <simon@josefsson.org>
44490
44491         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
44492         paths like 'lib/po/foo.po'.
44493
44494 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44495
44496         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
44497         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
44498
44499 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44500
44501         * m4/warnings.m4: Use CPPFLAGS to really check whether the
44502         parameter works.
44503
44504 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44505
44506         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
44507
44508 2008-11-17  Bruce Korb  <bkorb@gnu.org>
44509
44510         * modules/parse-duration-tests: New file.
44511         * tests/test-parse-duration.sh: New file.
44512         * tests/test-parse-duration.c: New file.
44513
44514         New module 'parse-duration'.
44515         * lib/parse-duration.h: New file.
44516         * lib/parse-duration.c: New file.
44517         * modules/parse-duration: New file.
44518
44519 2008-11-17  Bruno Haible  <bruno@clisp.org>
44520
44521         * tests/test-select-out.sh: Comment out the first pipe test.
44522         Reported by Simon Josefsson.
44523
44524 2008-11-17  Bruno Haible  <bruno@clisp.org>
44525
44526         * modules/getaddrinfo (Depends-on): Add servent, hostent.
44527         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
44528         gl_HOSTENT.
44529
44530 2008-11-17  Bruno Haible  <bruno@clisp.org>
44531
44532         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
44533         -lnetwork and -lnet. Needed for Haiku and BeOS.
44534
44535 2008-11-16  Bruno Haible  <bruno@clisp.org>
44536
44537         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
44538
44539 2008-11-16  Bruno Haible  <bruno@clisp.org>
44540
44541         Avoid test failure on Haiku.
44542         * tests/test-fsync.c: Include <errno.h>.
44543         (main): Don't require that fsync (0) fails.
44544
44545 2008-11-15  Bruno Haible  <bruno@clisp.org>
44546
44547         New module 'hostent'.
44548         * modules/hostent: New file.
44549         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
44550
44551 2008-11-15  Bruno Haible  <bruno@clisp.org>
44552
44553         New module 'servent'.
44554         * modules/servent: New file.
44555         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
44556
44557 2008-11-15  Bruno Haible  <bruno@clisp.org>
44558
44559         Avoid generating same test program with two different rules.
44560         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
44561         test-frexp to test-frexp-nolibm.
44562         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
44563         test-frexpl to test-frexpl-nolibm.
44564
44565 2008-11-15  Bruno Haible  <bruno@clisp.org>
44566
44567         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
44568         $(FREXPL_LIBM).
44569
44570 2008-11-15  Bruno Haible  <bruno@clisp.org>
44571
44572         * lib/netdb.in.h: Activate the definitions also when the system's
44573         <netdb.h> has 'struct addrinfo'.
44574         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
44575         EAI_OVERFLOW or AI_NUMERICSERV.
44576         * doc/posix-headers/netdb.texi: Document the problem.
44577
44578 2008-11-15  Bruno Haible  <bruno@clisp.org>
44579
44580         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
44581
44582         Make the 'sched' module work on platforms where <sched.h> exists but
44583         is incomplete (such as Haiku).
44584         * lib/sched.in.h; Include the system's <sched.h> if it exists.
44585         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
44586         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
44587         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
44588         HAVE_STRUCT_SCHED_PARAM.
44589         * modules/sched (Depends-on): Add include_next.
44590         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
44591         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
44592         * doc/posix-headers/sched.texi: Document the issue.
44593
44594 2008-11-13  Jim Meyering  <meyering@redhat.com>
44595
44596         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
44597         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
44598         test would fail due to the difference in the Report bugs to ...
44599         line.  The expected address is empty, "<>", while the actual
44600         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
44601
44602 2008-11-12  Bruno Haible  <bruno@clisp.org>
44603
44604         lstat: don't compile lstat.c on systems lacking lstat
44605         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
44606         which don't have lstat; this is handled by lib/sys_stat.in.h already.
44607         Reported by Daniel P. Berrange via Jim Meyering.
44608
44609 2008-11-12  Jim Meyering  <meyering@redhat.com>
44610
44611         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
44612
44613 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44614
44615         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
44616         instead.
44617
44618 2008-11-12  Bruno Haible  <bruno@clisp.org>
44619
44620         * lib/unicodeio.c: Include unistr.h.
44621         (utf8_wctomb): Remove function.
44622         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
44623
44624 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44625
44626         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
44627         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
44628         <bruno@clisp.org>.
44629         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
44630
44631 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44632
44633         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
44634         * doc/gnulib.texi: Add section for warnings.
44635
44636 2008-11-11  Bruno Haible  <bruno@clisp.org>
44637
44638         * lib/sockets.h: Add a comment.
44639
44640 2008-11-11  Karl Berry  <karl@gnu.org>
44641
44642         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
44643
44644 2008-11-11  Eric Blake  <ebb9@byu.net>
44645
44646         fdl.texi: avoid git symlinks
44647         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
44648
44649 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44650
44651         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
44652
44653 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44654
44655         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
44656         (gl_WARN_ADD): Substitute $2 if literal.
44657
44658 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44659
44660         * m4/warning.m4: Remove.
44661
44662 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44663
44664         * m4/warnings.m4: Almost complete rewrite. :-)
44665
44666 2008-11-10  Simon Josefsson  <simon@josefsson.org>
44667
44668         * modules/warnings: New module.
44669         * m4/warnings.m4: New file.
44670         * MODULES.html.sh: Mention warnings module.
44671         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
44672         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44673
44674 2008-11-10  Eric Blake  <ebb9@byu.net>
44675
44676         fdl.texi: make a symlink to the latest version
44677         * doc/standards.texi: Revert today's earlier change.
44678         * doc/fdl-1.2.texi: Rename from old fdl.texi...
44679         * doc/fdl.texi: ...and replace this with a symlink to the newer
44680         fdl-1.3.texi.
44681
44682 2008-11-10  Bruno Haible  <bruno@clisp.org>
44683
44684         * tests/test-select-fd.c (main): Accept the result file name as fourth
44685         argument.
44686         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
44687         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
44688
44689 2008-11-10  Bruno Haible  <bruno@clisp.org>
44690
44691         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
44692         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
44693         as autoconf-substituted macros.
44694         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
44695         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
44696         gl_NETDB_H_DEFAULTS. Set these variables.
44697         * modules/netdb (Makefile.am): Substitute these variables.
44698
44699 2008-11-10  Eric Blake  <ebb9@byu.net>
44700
44701         standards.texi: include correct file for FDL 1.3
44702         * doc/standards.texi (GNU Free Documentation License): Change
44703         include file to pull in FDL 1.3, not 1.2.
44704
44705         fdl.texi: revert accidental change to license
44706         * doc/fdl.texi: This is FDL 1.2, not 1.3.
44707
44708 2008-11-10  Bruno Haible  <bruno@clisp.org>
44709
44710         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
44711         cross-compiling guesses also when the native compile gives no result.
44712
44713 2008-11-10  Bruno Haible  <bruno@clisp.org>
44714
44715         * lib/spawni.c (__spawni): Force variable into the stack.
44716
44717 2008-11-10  Bruno Haible  <bruno@clisp.org>
44718
44719         Add support for Haiku.
44720         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
44721         glibc and BeOS, but also on Haiku.
44722         * lib/fpurge.c (fpurge): Likewise.
44723         * lib/freadable.c (freadable): Likewise.
44724         * lib/freadahead.c (freadahead): Likewise.
44725         * lib/freading.c (freading): Likewise.
44726         * lib/freadptr.c (freadptr): Likewise.
44727         * lib/freadseek.c (freadptrinc): Likewise.
44728         * lib/fseeko.c (rpl_fseeko): Likewise.
44729         * lib/fseterr.c (fseterr): Likewise.
44730         * lib/fwritable.c (fwritable): Likewise.
44731         * lib/fwriting.c (fwriting): Likewise.
44732         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
44733
44734 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44735
44736         * lib/config.charset: Treat Haiku like BeOS.
44737
44738 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44739
44740         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
44741         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
44742
44743 2008-11-08  Bruno Haible  <bruno@clisp.org>
44744
44745         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
44746         AC_CACHE_CHECK.
44747
44748 2008-11-08  Bruno Haible  <bruno@clisp.org>
44749
44750         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
44751
44752 2008-11-08  Bruno Haible  <bruno@clisp.org>
44753
44754         * tests/test-select-fd.c: New file.
44755         * tests/test-select-in.sh: New file.
44756         * tests/test-select-out.sh: New file.
44757         * tests/test-select-stdin.c: New file.
44758         * modules/select-tests (Files): Add the new files.
44759         (Depends-on): Add gettimeofday.
44760         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
44761         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
44762         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
44763
44764 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
44765             Bruno Haible  <bruno@clisp.org>
44766
44767         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
44768
44769 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
44770
44771         * build-aux/pmccabe2html: Added support for C++ source files.
44772
44773 2008-11-05  Ben Pfaff  <blp@gnu.org>
44774
44775         Fix lib/close.c build on Windows.
44776         * modules/close (Files): Add lib/w32sock.h.
44777
44778 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
44779
44780         Accept Bison's NEWS format.
44781         * build-aux/announce-gen (print_news_deltas): Tweak
44782         $re_prefix.
44783
44784 2008-11-04  Bruno Haible  <bruno@clisp.org>
44785
44786         * modules/random_r (Maintainer): Add glibc.
44787
44788 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44789
44790         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
44791         by karl@freefriends.org (Karl Berry).
44792         * doc/alloca.texi: Likewise.
44793         * doc/c-ctype.texi: Likewise.
44794         * doc/c-strcase.texi: Likewise.
44795         * doc/c-strcaseeq.texi: Likewise.
44796         * doc/c-strcasestr.texi: Likewise.
44797         * doc/c-strstr.texi: Likewise.
44798         * doc/c-strtod.texi: Likewise.
44799         * doc/c-strtold.texi: Likewise.
44800         * doc/ctime.texi: Likewise.
44801         * doc/error.texi: Likewise.
44802         * doc/fdl.texi: Likewise.
44803         * doc/gcd.texi: Likewise.
44804         * doc/getdate.texi: Likewise.
44805         * doc/gnulib-intro.texi: Likewise.
44806         * doc/gnulib-tool.texi: Likewise.
44807         * doc/gnulib.texi: Likewise.
44808         * doc/inet_ntoa.texi: Likewise.
44809         * doc/maintain.texi: Likewise.
44810         * doc/make-stds.texi: Likewise.
44811         * doc/quote.texi: Likewise.
44812         * doc/regexprops-generic.texi: Likewise.
44813         * doc/standards.texi: Likewise.
44814         * doc/verify.texi: Likewise.
44815         * doc/visibility.texi: Likewise.
44816         * doc/gnulib.texi (GNU Free Documentation License): Include
44817         fdl-1.3.texi instead of fdl.texi.
44818
44819 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44820
44821         * doc/fdl-1.3.texi: New file, from
44822         <http://www.gnu.org/licenses/fdl-1.3.texi>.
44823         * modules/fdl-1.3: Add.
44824         * MODULES.html.sh: Add fdl-1.3.
44825
44826 2008-11-03  Bruno Haible  <bruno@clisp.org>
44827
44828         Make determination of absolute name of header file work with AIX xlc.
44829         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
44830         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
44831         preprocessing.
44832         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44833         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44834
44835 2008-11-03  Simon Josefsson  <simon@josefsson.org>
44836
44837         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44838         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44839         <ludo@gnu.org>.
44840
44841 2008-11-02  Bruno Haible  <bruno@clisp.org>
44842
44843         Mark 'strpbrk' obsolete.
44844         * modules/strpbrk (Status, Notice): New sections.
44845         * modules/strtok_r (Depends-on): Add strpbrk.
44846
44847 2008-11-02  Bruno Haible  <bruno@clisp.org>
44848
44849         Mark 'strdup' obsolete.
44850         * modules/strdup (Status, Notice): New sections.
44851         * modules/findprog (Depends-on): Add strdup.
44852         * modules/getaddrinfo (Depends-on): Likewise.
44853         * modules/localename (Depends-on): Likewise.
44854         * modules/relocatable-lib (Depends-on): Likewise.
44855         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44856         * modules/relocatable-prog (Depends-on): Likewise.
44857         * modules/trim (Depends-on): Likewise.
44858         * modules/unictype/gen-ctype (Depends-on): Likewise.
44859         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44860
44861 2008-11-02  Bruno Haible  <bruno@clisp.org>
44862
44863         Mark 'strcspn' obsolete.
44864         * modules/strcspn (Status, Notice): New sections.
44865
44866 2008-11-02  Bruno Haible  <bruno@clisp.org>
44867
44868         Mark 'rmdir' obsolete.
44869         * modules/rmdir (Status, Notice): New sections.
44870         * modules/clean-temp (Depends-on): Add rmdir.
44871         * modules/openat (Depends-on): Likewise.
44872
44873 2008-11-02  Bruno Haible  <bruno@clisp.org>
44874
44875         Mark 'raise' obsolete.
44876         * modules/raise (Status, Notice): New sections.
44877         (Include): Specify <signal.h>.
44878         * modules/stdio (Depends-on): Add raise.
44879         * modules/write (Depends-on): Likewise.
44880
44881 2008-11-02  Bruno Haible  <bruno@clisp.org>
44882
44883         Mark 'memset' obsolete.
44884         * modules/memset (Status, Notice): New sections.
44885
44886 2008-11-02  Bruno Haible  <bruno@clisp.org>
44887
44888         Mark 'memmove' obsolete.
44889         * modules/memmove (Status, Notice): New sections.
44890         * modules/argp (Depends-on): Add memmove.
44891         * modules/argz (Depends-on): Likewise.
44892         * modules/canonicalize (Depends-on): Likewise.
44893         * modules/canonicalize-lgpl (Depends-on): Likewise.
44894         * modules/fts (Depends-on): Likewise.
44895         * modules/getcwd (Depends-on): Likewise.
44896         * modules/human (Depends-on): Likewise.
44897         * modules/regex (Depends-on): Likewise.
44898         * modules/striconveh (Depends-on): Likewise.
44899         * modules/trim (Depends-on): Likewise.
44900         * modules/unistr/u8-move (Depends-on): Likewise.
44901         * modules/unistr/u16-move (Depends-on): Likewise.
44902         * modules/unistr/u32-move (Depends-on): Likewise.
44903
44904 2008-11-02  Bruno Haible  <bruno@clisp.org>
44905
44906         Mark 'memcpy' obsolete.
44907         * modules/memcpy (Status, Notice): New sections.
44908
44909 2008-11-02  Bruno Haible  <bruno@clisp.org>
44910
44911         Mark 'memcmp' obsolete.
44912         * modules/memcmp (Status, Notice): New sections.
44913         * modules/argmatch (Depends-on): Add memchr.
44914         * modules/backupfile (Depends-on): Likewise.
44915         * modules/c-strcasestr (Depends-on): Likewise.
44916         * modules/crypto/des (Depends-on): Likewise.
44917         * modules/csharpcomp (Depends-on): Likewise.
44918         * modules/fnmatch (Depends-on): Likewise.
44919         * modules/git-merge-changelog (Depends-on): Likewise.
44920         * modules/isnand (Depends-on): Likewise.
44921         * modules/isnand-nolibm (Depends-on): Likewise.
44922         * modules/isnanf (Depends-on): Likewise.
44923         * modules/isnanf-nolibm (Depends-on): Likewise.
44924         * modules/isnanl (Depends-on): Likewise.
44925         * modules/isnanl-nolibm (Depends-on): Likewise.
44926         * modules/mbchar (Depends-on): Likewise.
44927         * modules/memcoll (Depends-on): Likewise.
44928         * modules/quotearg (Depends-on): Likewise.
44929         * modules/regex (Depends-on): Likewise.
44930         * modules/relocatable-prog (Depends-on): Likewise.
44931         * modules/same (Depends-on): Likewise.
44932         * modules/signbit (Depends-on): Likewise.
44933         * modules/strcasestr-simple (Depends-on): Likewise.
44934         * modules/unictype/gen-ctype (Depends-on): Likewise.
44935         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44936         * modules/uniname/uniname (Depends-on): Likewise.
44937         * modules/unistr/u8-cmp (Depends-on): Likewise.
44938
44939 2008-11-02  Bruno Haible  <bruno@clisp.org>
44940
44941         Mark 'memchr' obsolete.
44942         * modules/memchr (Status, Notice): New sections.
44943         * modules/argp (Depends-on): Add memchr.
44944         * modules/base64 (Depends-on): Likewise.
44945         * modules/c-strcasestr (Depends-on): Likewise.
44946         * modules/chdir-long (Depends-on): Likewise.
44947         * modules/fnmatch (Depends-on): Likewise.
44948         * modules/getsubopt (Depends-on): Likewise.
44949         * modules/git-merge-changelog (Depends-on): Likewise.
44950         * modules/glob (Depends-on): Likewise.
44951         * modules/strcasestr-simple (Depends-on): Likewise.
44952         * modules/strnlen (Depends-on): Likewise.
44953
44954 2008-11-02  Bruno Haible  <bruno@clisp.org>
44955
44956         Mark 'atexit' obsolete.
44957         * modules/atexit (Status, Notice): New sections.
44958         * modules/chdir-long (Depends-on): Add atexit.
44959         * modules/wait-process (Depends-on): Likewise.
44960
44961 2008-11-02  Bruno Haible  <bruno@clisp.org>
44962
44963         * gnulib-tool: New option --with-obsolete.
44964         (func_usage): Document it.
44965         (func_modules_transitive_closure): Drop obsolete dependencies if
44966         incobsolete is not true.
44967         (func_import): Read and save the incobsolete variable to the cache.
44968
44969 2008-11-02  Bruno Haible  <bruno@clisp.org>
44970
44971         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44972         * gnulib-tool: New option --extract-status.
44973         (func_usage): Document it.
44974         (sed_extract_prog): Recognize it.
44975         (func_get_status): New function.
44976
44977 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44978
44979         * modules/sockets (License): Change from LGPL to LGPLv2+.
44980
44981 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44982
44983         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44984
44985 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44986
44987         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44988         Mention times and sys_times.
44989         * modules/sys_times, modules/sys_times-tests: New modules.
44990         * modules/times, modules/times-tests: Likewise
44991         * m4/sys_times_h.m4: New file.
44992         * lib/sys_times.in.h: Likewise
44993         * lib/times.c: Likewise.
44994         * tests/test-sys_times.c: Likewise.
44995         * tests/test-times.c: Likewise.
44996         * doc/posix-headers/sys_times.texi: Update.
44997         * doc/posix-functions/times.texi: Update.
44998
44999 2008-10-28  Jim Meyering  <meyering@redhat.com>
45000
45001         * modules/tempname (Depends-on): Add lstat.
45002
45003         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
45004
45005 2008-10-28  Simon Josefsson  <simon@josefsson.org>
45006
45007         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
45008         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
45009         using idiom used elsewhere in gnulib.
45010
45011 2008-10-27  Jim Meyering  <meyering@redhat.com>
45012
45013         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
45014
45015 2008-10-27  Simon Josefsson  <simon@josefsson.org>
45016
45017         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
45018         TESTS_ENVIRONMENT, for shell scripts that needs to call built
45019         programs.
45020         * tests/test-argp-2.sh: Use $EXEEXT when needed.
45021
45022 2008-10-27  Simon Josefsson  <simon@josefsson.org>
45023
45024         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
45025
45026 2008-10-27  Bruno Haible  <bruno@clisp.org>
45027
45028         * tests/test-lstat.c: Include <stdio.h>.
45029
45030 2008-10-27  Simon Josefsson  <simon@josefsson.org>
45031
45032         * modules/lstat-tests: New module.
45033         * tests/test-lstat.c: New file.
45034
45035 2008-10-26  Jim Meyering  <meyering@redhat.com>
45036
45037         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
45038
45039 2008-10-26  Simon Josefsson  <simon@josefsson.org>
45040             Bruno Haible  <bruno@clisp.org>
45041
45042         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
45043         * modules/configmake (Include): Add a note that the include must come
45044         after all system headers.
45045         * lib/javaversion.c: Include configmake.h after all other includes.
45046
45047 2008-10-26  Bruno Haible  <bruno@clisp.org>
45048
45049         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
45050         HAVE_STRUCT_RANDOM_DATA to 1.
45051         (gl_STDLIB_H): Simplify.
45052
45053 2008-10-26  Simon Josefsson  <simon@josefsson.org>
45054
45055         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
45056         substitute HAVE_STRUCT_RANDOM_DATA.
45057         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
45058         random_data.
45059         * modules/stdlib (Makefile.am): Substitute
45060         HAVE_STRUCT_RANDOM_DATA.
45061
45062 2008-10-26  Simon Josefsson  <simon@josefsson.org>
45063
45064         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
45065         * doc/gnulib-intro.texi (Copyright): Likewise.
45066
45067 2008-10-26  Simon Josefsson  <simon@josefsson.org>
45068
45069         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
45070         findings.
45071
45072 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
45073             Bruno Haible  <bruno@clisp.org>
45074
45075         * lib/unistd.in.h: Include <winsock2.h>.
45076         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
45077         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
45078         Provide dummy declarations.
45079         (gethostname): Override.
45080         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
45081         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
45082         gl_PREREQ_SYS_H_WINSOCK2.
45083         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
45084         * doc/posix-functions/gethostname.texi: More details.
45085
45086 2008-10-25  Bruno Haible  <bruno@clisp.org>
45087
45088         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45089         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
45090         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
45091
45092         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
45093         here ...
45094         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
45095         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
45096         gl_UNISTD_H_DEFAULTS.
45097
45098 2008-10-25  Eric Blake  <ebb9@byu.net>
45099
45100         signbit: avoid spurious compiler failure
45101         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
45102         declarations inside function.
45103
45104 2008-10-24  Simon Josefsson  <simon@josefsson.org>
45105             Bruno Haible  <bruno@clisp.org>
45106
45107         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
45108         * modules/random_r (Depends-on): Add stdint.
45109
45110 2008-10-24  Bruno Haible  <bruno@clisp.org>
45111
45112         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
45113         Eggert.
45114         * modules/strerror (License): Likewise.
45115
45116 2008-10-24  Jim Meyering  <meyering@redhat.com>
45117
45118         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
45119         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
45120
45121 2008-10-24  Eric Blake  <ebb9@byu.net>
45122
45123         getgroups: fix compilation when getgroups is available
45124         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
45125         but with <config.h> override of getgroups disabled.
45126
45127 2008-10-24  Simon Josefsson  <simon@josefsson.org>
45128
45129         * doc/gnulib.texi (Header files): Add note about C++ problems.
45130         Explained by Bruno Haible <bruno@clisp.org>.
45131
45132 2008-10-23  Bruno Haible  <bruno@clisp.org>
45133
45134         Define a dummy SA_NODEFER macro on Interix.
45135         * lib/signal.in.h (SA_NODEFER): Define fallback.
45136         Reported by Aleksey Cheusov <cheusov@tut.by> via
45137         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
45138
45139 2008-10-23  Bruno Haible  <bruno@clisp.org>
45140
45141         * modules/freadahead (License): Change to LGPLv2+.
45142         Suggested by Simon Josefsson.
45143
45144 2008-10-23  Jim Meyering  <meyering@redhat.com>
45145
45146         random_r: new module
45147         * modules/random_r: New file.
45148         * m4/random_r.m4: New file.
45149         * lib/random_r.c: New file, from glibc.
45150         * modules/random_r-tests: New file.
45151         * tests/test-random_r.c: New file.
45152         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
45153          Declare.
45154         (RAND_MAX): Define.
45155         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
45156         * modules/stdlib: Substitute them, too.
45157         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
45158         * doc/glibc-functions/initstate_r.texi: Mention the new module.
45159         * doc/glibc-functions/random_r.texi: Likewise.
45160         * doc/glibc-functions/setstate_r.texi: Likewise.
45161         * doc/glibc-functions/srandom_r.texi: Likewise.
45162         * config/srclist.txt: Mention it.
45163
45164 2008-10-23  David Lutterkort  <lutter@redhat.com>
45165
45166         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
45167         link requirement
45168
45169 2008-10-23  Jim Meyering  <meyering@redhat.com>
45170
45171         selinux-h: mark parameters of stub functions as intentionally unused
45172         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
45173         * lib/se-context.in.h: Likewise.
45174
45175 2008-10-22  Simon Josefsson  <simon@josefsson.org>
45176
45177         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
45178
45179 2008-10-22  Simon Josefsson  <simon@josefsson.org>
45180
45181         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
45182
45183 2008-10-22  Eric Blake  <ebb9@byu.net>
45184
45185         glthread/thread: avoid compiler warning
45186         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
45187         Add unreachable abort to silence compiler.
45188
45189 2008-10-22  Eric Blake  <ebb9@byu.net>
45190
45191         netdb: also supply struct addrinfo for cygwin 1.5.x
45192         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
45193         older cygwin.
45194         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
45195         cygwin.
45196         * doc/posix-headers/netdb.texi (netdb.h): Document this.
45197
45198 2008-10-22  Bruno Haible  <bruno@clisp.org>
45199
45200         * users.txt: Update entry about pspp.
45201
45202 2008-10-21  Bruno Haible  <bruno@clisp.org>
45203
45204         Simplification.
45205         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
45206         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
45207
45208         Simplification.
45209         * lib/ioctl.c (ioctl): Don't undefine.
45210         * lib/socket.c (socket): Don't undefine.
45211
45212         Remove unused module indicator macros.
45213         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
45214         GNULIB_$1 as a C macro.
45215
45216         * doc/posix-functions/close.texi: Undo last change.
45217         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
45218         Windows platforms.
45219
45220 2008-10-21  Bruno Haible  <bruno@clisp.org>
45221
45222         Add gethostname() declaration to <unistd.h>.
45223         * lib/unistd.in.h (gethostname): New declaration.
45224         * lib/gethostname.c: Include <unistd.h>.
45225         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
45226         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
45227         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
45228         and HAVE_GETHOSTNAME.
45229         * modules/gethostname (Depends-on): Add unistd.
45230         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45231         (Include): Specify <unistd.h>.
45232         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
45233         HAVE_GETHOSTNAME.
45234         * tests/test-gethostname.c: Include <unistd.h> first.
45235
45236 2008-10-21  Bruno Haible  <bruno@clisp.org>
45237
45238         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
45239         * modules/select-tests (Depends-on): Likewise.
45240         Reported by Simon Josefsson.
45241
45242 2008-10-21  Simon Josefsson  <simon@josefsson.org>
45243
45244         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
45245         * lib/accept.c: New file, based on winsock.c.
45246         * lib/bind.c: New file, based on winsock.c.
45247         * lib/connect.c: New file, based on winsock.c.
45248         * lib/getpeername.c: New file, based on winsock.c.
45249         * lib/getsockname.c: New file, based on winsock.c.
45250         * lib/getsockopt.c: New file, based on winsock.c.
45251         * lib/ioctl.c: New file, based on winsock.c.
45252         * lib/listen.c: New file, based on winsock.c.
45253         * lib/recv.c: New file, based on winsock.c.
45254         * lib/recvfrom.c: New file, based on winsock.c.
45255         * lib/send.c: New file, based on winsock.c.
45256         * lib/sendto.c: New file, based on winsock.c.
45257         * lib/setsockopt.c: New file, based on winsock.c.
45258         * lib/shutdown.c: New file, based on winsock.c.
45259         * lib/socket.c: New file, based on winsock.c.
45260         * lib/w32sock.h: New file, based on winsock.c.
45261         * lib/winsock.c: Remove file.
45262         * modules/accept: Likewise.
45263         * modules/bind: Likewise.
45264         * modules/connect: Likewise.
45265         * modules/getpeername: Likewise.
45266         * modules/getsockname: Likewise.
45267         * modules/getsockopt: Likewise.
45268         * modules/ioctl: Likewise.
45269         * modules/listen: Likewise.
45270         * modules/recv: Likewise.
45271         * modules/recvfrom: Likewise.
45272         * modules/send: Likewise.
45273         * modules/sendto: Likewise.
45274         * modules/setsockopt: Likewise.
45275         * modules/shutdown: Likewise.
45276         * modules/socket: Use socket.c instead of winsock.c.
45277         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
45278         * doc/posix-functions/accept.texi: Doc fix.
45279         * doc/posix-functions/bind.texi: Doc fix.
45280         * doc/posix-functions/close.texi: Doc fix.
45281         * doc/posix-functions/connect.texi: Doc fix.
45282         * doc/posix-functions/getpeername.texi: Doc fix.
45283         * doc/posix-functions/getsockname.texi: Doc fix.
45284         * doc/posix-functions/getsockopt.texi: Doc fix.
45285         * doc/posix-functions/ioctl.texi: Doc fix.
45286         * doc/posix-functions/listen.texi: Doc fix.
45287         * doc/posix-functions/recv.texi: Doc fix.
45288         * doc/posix-functions/recvfrom.texi: Doc fix.
45289         * doc/posix-functions/send.texi: Doc fix.
45290         * doc/posix-functions/sendto.texi: Doc fix.
45291         * doc/posix-functions/setsockopt.texi: Doc fix.
45292         * doc/posix-functions/shutdown.texi: Doc fix.
45293         * doc/posix-functions/socket.texi: Doc fix.
45294
45295 2008-10-20  Bruno Haible  <bruno@clisp.org>
45296
45297         Take into account the role of SIGABRT_COMPAT on Windows 2008.
45298         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
45299         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
45300         as an alias for SIGABRT.
45301         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
45302         (sigaction): Map it to SIGABRT.
45303         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
45304
45305 2008-10-20  Bruno Haible  <bruno@clisp.org>
45306
45307         * lib/fts.c: Don't include lstat.h.
45308         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
45309
45310         Move the lstat() declaration to <sys/stat.h>.
45311         * lib/lstat.h: Remove file.
45312         * lib/sys_stat.in.h: Add special invocation convention.
45313         (lstat): New declaration.
45314         * lib/lstat.c (orig_lstat): New function.
45315         (rpl_lstat): Use orig_lstat instead of lstat.
45316         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
45317         AC_C_INLINE. Set REPLACE_LSTAT.
45318         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
45319         and REPLACE_LSTAT.
45320         * modules/lstat (Files): Remove lib/lstat.h.
45321         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
45322         (Include): Specify <sys/stat.h> instead of lstat.h.
45323         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
45324         REPLACE_LSTAT.
45325         * NEWS: Mention the change.
45326
45327 2008-10-20  Bruno Haible  <bruno@clisp.org>
45328
45329         * modules/posix_spawn-tests: New file.
45330         * tests/test-posix_spawn3.c: New file.
45331
45332 2008-10-20  Bruno Haible  <bruno@clisp.org>
45333
45334         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
45335         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
45336         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
45337         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
45338         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
45339
45340 2008-10-20  Bruno Haible  <bruno@clisp.org>
45341
45342         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
45343         of posix_spawn on AIX 5.3.
45344
45345 2008-10-20  Bruno Haible  <bruno@clisp.org>
45346
45347         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
45348
45349 2008-10-20  Bruno Haible  <bruno@clisp.org>
45350
45351         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
45352         of AC_LANG_PROGRAM.
45353
45354 2008-10-20  Simon Josefsson  <simon@josefsson.org>
45355
45356         * lib/netdb.in.h: Don't define GNU specific constants until they
45357         are supported or needed.  Reported by Bruno Haible
45358         <bruno@clisp.org>.
45359
45360 2008-10-20  Simon Josefsson  <simon@josefsson.org>
45361
45362         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
45363
45364 2008-10-20  Simon Josefsson  <simon@josefsson.org>
45365
45366         * lib/getaddrinfo.h: Remove file.
45367         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
45368         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
45369         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
45370         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
45371         * modules/netdb: Substitute GNULIB_GETADDRINFO.
45372         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
45373         * tests/test-getaddrinfo.c: Likewise.
45374         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
45375         * NEWS: Mention change.
45376
45377 2008-10-19  Bruno Haible  <bruno@clisp.org>
45378
45379         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
45380
45381 2008-10-19  Bruno Haible  <bruno@clisp.org>
45382
45383         * lib/wait-process.c: Include simply <sys/wait.h>.
45384         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
45385         WIFSTOPPED): Remove fallback definitions.
45386         * modules/wait-process (Depends-on): Add sys_wait.
45387
45388         New module 'sys_wait'.
45389         * modules/sys_wait: New file.
45390         * lib/sys_wait.in.h: New file, partially copied from
45391         lib/wait-process.c.
45392         * m4/sys_wait_h.m4: New file.
45393         * doc/posix-headers/sys_wait.texi: Mention the new module.
45394
45395 2008-10-19  Bruno Haible  <bruno@clisp.org>
45396
45397         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
45398
45399 2008-10-19  Bruno Haible  <bruno@clisp.org>
45400
45401         Assume that waitpid() fills an 'int' status, not a 'union wait'.
45402         * lib/wait-process.c (WAIT_T): Remove type.
45403         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
45404         (wait_subprocess): Update.
45405
45406 2008-10-19  Bruno Haible  <bruno@clisp.org>
45407
45408         New module 'atoll'.
45409         * modules/atoll: New file.
45410         * lib/stdlib.in.h (atoll): New declaration.
45411         * lib/atoll.c: New file, from glibc with modifications.
45412         * m4/atoll.m4: New file.
45413         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
45414         HAVE_ATOLL.
45415         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
45416         * doc/posix-functions/atoll.texi: Mention the new module.
45417
45418 2008-10-19  Bruno Haible  <bruno@clisp.org>
45419
45420         Add strtoull() declaration to <stdlib.h>.
45421         * lib/stdlib.in.h (strtoull): New declaration.
45422         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
45423         Set HAVE_STRTOULL.
45424         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
45425         HAVE_STRTOULL.
45426         * modules/strtoull (Depends-on): Add stdlib.
45427         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45428         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
45429         HAVE_STRTOULL.
45430
45431 2008-10-19  Bruno Haible  <bruno@clisp.org>
45432
45433         Add strtoll() declaration to <stdlib.h>.
45434         * lib/stdlib.in.h (strtoll): New declaration.
45435         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
45436         Set HAVE_STRTOLL.
45437         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
45438         HAVE_STRTOLL.
45439         * modules/strtoll (Depends-on): Add stdlib.
45440         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45441         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
45442
45443 2008-10-19  Bruno Haible  <bruno@clisp.org>
45444
45445         * modules/bcopy (Depends-on): Add strings.
45446         (Include): Specify <strings.h>.
45447
45448 2008-10-19  Bruno Haible  <bruno@clisp.org>
45449
45450         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
45451
45452 2008-10-19  Bruno Haible  <bruno@clisp.org>
45453
45454         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
45455         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
45456         mingw.
45457
45458 2008-10-19  Bruno Haible  <bruno@clisp.org>
45459
45460         * lib/atanl.c: Don't include isnanl.h.
45461         * lib/cosl.c: Likewise.
45462         * lib/ldexpl.c: Likewise.
45463         * lib/logl.c: Likewise.
45464         * lib/sinl.c: Likewise.
45465         * lib/sqrtl.c: Likewise.
45466         * lib/tanl.c: Likewise.
45467
45468         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
45469         * lib/isnanf.h: Remove file.
45470         * lib/isnand.h: Remove file.
45471         * lib/isnanl.h: Remove file.
45472         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
45473         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
45474         macros.
45475         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
45476         HAVE_ISNANF, don't define it as a C macro.
45477         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
45478         HAVE_ISNAND, don't define it as a C macro.
45479         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
45480         HAVE_ISNANL, don't define it as a C macro.
45481         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
45482         HAVE_ISNAN[FDL].
45483         * modules/isnanf (Files): Remove lib/isnanf.h.
45484         (Depends-on): Add math.
45485         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45486         (Include): Specify <math.h> instead of isnanf.h.
45487         * modules/isnand (Files): Remove lib/isnand.h.
45488         (Depends-on): Add math.
45489         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45490         (Include): Specify <math.h> instead of isnand.h.
45491         * modules/isnanl (Files): Remove lib/isnanl.h.
45492         (Depends-on): Add math.
45493         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45494         (Include): Specify <math.h> instead of isnanl.h.
45495         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
45496         HAVE_ISNAN[FDL].
45497         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
45498         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
45499         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
45500         * NEWS: Mention the change.
45501
45502 2008-10-18  Bruno Haible  <bruno@clisp.org>
45503
45504         Add getusershell(), setusershell(), endusershell() declarations to
45505         <unistd.h>.
45506         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
45507         declarations.
45508         * lib/getusershell.c: Include unistd.h.
45509         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
45510         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
45511         HAVE_GETUSERSHELL.
45512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
45513         and HAVE_GETUSERSHELL.
45514         * modules/getusershell (Depends-on): Add unistd, extensions.
45515         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45516         (Include): Specify <unistd.h>.
45517         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
45518         HAVE_GETUSERSHELL.
45519
45520 2008-10-18  Bruno Haible  <bruno@clisp.org>
45521
45522         Add a getloadavg() declaration to <stdlib.h>.
45523         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
45524         getloadavg declaration.
45525         (getloadavg): New declaration.
45526         * lib/getloadavg.c: Include <stdlib.h> first.
45527         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
45528         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
45529         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
45530         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
45531         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
45532         * modules/getloadavg (Depends-on): Add stdlib, extensions.
45533         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45534         (Include): Specify <stdlib.h>.
45535         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
45536         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
45537
45538 2008-10-18  Bruno Haible  <bruno@clisp.org>
45539
45540         * lib/dirchownmod.c: Don't include lchmod.h.
45541
45542         Move the lchmod() declaration to <sys/stat.h>.
45543         * lib/lchmod.h: Remove file.
45544         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
45545         (lchmod): New declaration, moved here from lib/lchown.h.
45546         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
45547         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
45548         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
45549         and HAVE_LCHMOD.
45550         * modules/lchmod (Files): Remove lib/lchmod.h.
45551         (Depends-on): Add sys_stat, extensions.
45552         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
45553         (Include): Specify <sys/stat.h> instead of lchmod.h.
45554         * modules/sys_stat (Depends-on): Add link-warning.
45555         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
45556         definition of GL_LINK_WARNING.
45557         * NEWS: Mention the change.
45558
45559 2008-10-18  Bruno Haible  <bruno@clisp.org>
45560
45561         * lib/fchdir.c: Don't include dirfd.h.
45562         * lib/fts.c: Likewise.
45563         * lib/getcwd.c: Likewise.
45564         * lib/glob.c: Likewise.
45565
45566         Move the dirfd() declaration to <dirent.h>.
45567         * lib/dirfd.h: Remove file.
45568         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
45569         (dirfd): New declaration.
45570         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
45571         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
45572         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
45573         HAVE_DECL_DIRFD.
45574         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
45575         HAVE_DECL_DIRFD.
45576         * modules/dirfd (Files): Remove lib/dirfd.h.
45577         (Depends-on): Add dirent, extensions.
45578         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
45579         (Include): Specify <dirent.h> instead of dirfd.h.
45580         * modules/dirent (Depends-on): Add link-warning.
45581         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
45582         definition of GL_LINK_WARNING.
45583         * NEWS: Mention the change.
45584
45585 2008-10-18  Bruno Haible  <bruno@clisp.org>
45586
45587         Move the euidaccess() declaration to <unistd.h>.
45588         * lib/euidaccess.h: Remove file.
45589         * lib/unistd.in.h (euidaccess): New declaration.
45590         * lib/euidaccess.c: Don't include euidaccess.h.
45591         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
45592         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
45593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
45594         and HAVE_EUIDACCESS.
45595         * modules/euidaccess (Files): Remove lib/euidaccess.h.
45596         (Depends-on): Add unistd.
45597         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45598         (Include): Specify <unistd.h> instead of euidaccess.h.
45599         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
45600         HAVE_EUIDACCESS.
45601         * NEWS: Mention the change.
45602
45603 2008-10-18  Bruno Haible  <bruno@clisp.org>
45604
45605         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
45606
45607         Move the getdomainname() declaration to <unistd.h>.
45608         * lib/getdomainname.h: Remove file.
45609         * lib/unistd.in.h (getdomainname): New declaration.
45610         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
45611         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
45612         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
45613         HAVE_GETDOMAINNAME.
45614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45615         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
45616         * modules/getdomainname (Files): Remove lib/getdomainname.h.
45617         (Depends-on): Add unistd, extensions.
45618         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45619         (Includes): Specify <unistd.h> instead of getdomainname.h.
45620         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
45621         HAVE_GETDOMAINNAME.
45622         * NEWS: Mention the change.
45623
45624 2008-10-18  Bruno Haible  <bruno@clisp.org>
45625
45626         * modules/dirent: New file.
45627         * m4/dirent_h.m4: New file.
45628         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
45629         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
45630         * modules/fchdir (Files): Remove lib/dirent.in.h.
45631         (Depends-on): Add dirent.
45632         (Makefile.am): Move rules to modules/dirent.
45633         * doc/posix-headers/dirent.texi: Mention the new module.
45634
45635 2008-10-18  Bruno Haible  <bruno@clisp.org>
45636
45637         Avoid -Wunused-parameter warnings in public gnulib header files.
45638         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
45639         macro.
45640         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
45641
45642 2008-10-18  Bruno Haible  <bruno@clisp.org>
45643
45644         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
45645         * doc/glibc-functions/error.texi: Mention the module 'error'.
45646         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
45647         * doc/glibc-functions/getdomainname.texi: Mention the module
45648         'getdomainname'.
45649         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
45650         * doc/glibc-functions/getpagesize.texi: Mention the module
45651         'getpagesize'.
45652         * doc/glibc-functions/getusershell.texi: Mention the module
45653         'getusershell'.
45654         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
45655         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
45656         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
45657         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
45658         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
45659         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
45660         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
45661         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
45662         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
45663         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
45664         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
45665         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
45666         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
45667         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
45668
45669 2008-10-17  Bruno Haible  <bruno@clisp.org>
45670
45671         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
45672         HP-UX and IRIX, use -0.0L.
45673         * tests/test-ceill.c (minus_zero): Likewise.
45674         * tests/test-floorl.c (minus_zero): Likewise.
45675         * tests/test-frexpl.c (minus_zero): Likewise.
45676         * tests/test-isnan.c (minus_zerol): Likewise.
45677         * tests/test-isnanl.h (minus_zero): Likewise.
45678         * tests/test-ldexpl.c (minus_zero): Likewise.
45679         * tests/test-roundl.c (minus_zero): Likewise.
45680         * tests/test-signbit.c (minus_zerol): Likewise.
45681         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45682         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45683         * tests/test-truncl.c (minus_zero): Likewise.
45684         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45685         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45686         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
45687         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45688
45689 2008-10-17  Bruno Haible  <bruno@clisp.org>
45690
45691         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
45692         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
45693         that it gets activated only for gcc >= 3.0.
45694         * lib/dirent.in.h: Likewise.
45695         * lib/errno.in.h: Likewise.
45696         * lib/fcntl.in.h: Likewise.
45697         * lib/float.in.h: Likewise.
45698         * lib/iconv.in.h: Likewise.
45699         * lib/inttypes.in.h: Likewise.
45700         * lib/locale.in.h: Likewise.
45701         * lib/math.in.h: Likewise.
45702         * lib/netdb.in.h: Likewise.
45703         * lib/netinet_in.in.h: Likewise.
45704         * lib/search.in.h: Likewise.
45705         * lib/signal.in.h: Likewise.
45706         * lib/spawn.in.h: Likewise.
45707         * lib/stdarg.in.h: Likewise.
45708         * lib/stdint.in.h: Likewise.
45709         * lib/stdio.in.h: Likewise.
45710         * lib/stdlib.in.h: Likewise.
45711         * lib/string.in.h: Likewise.
45712         * lib/strings.in.h: Likewise.
45713         * lib/sys_file.in.h: Likewise.
45714         * lib/sys_ioctl.in.h: Likewise.
45715         * lib/sys_select.in.h: Likewise.
45716         * lib/sys_socket.in.h: Likewise.
45717         * lib/sys_stat.in.h: Likewise.
45718         * lib/sys_time.in.h: Likewise.
45719         * lib/sysexits.in.h: Likewise.
45720         * lib/time.in.h: Likewise.
45721         * lib/unistd.in.h: Likewise.
45722         * lib/wchar.in.h: Likewise.
45723         * lib/wctype.in.h: Likewise.
45724         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45725
45726 2008-10-17  Jim Meyering  <meyering@redhat.com>
45727
45728         ignore-value: don't depend on inline module
45729         * modules/ignore-value (Depends-on): Remove 'inline'.
45730         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
45731         Suggestion from Bruno Haible.
45732
45733 2008-10-17  Bruno Haible  <bruno@clisp.org>
45734
45735         New implementation of condition variables for Win32.
45736         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
45737         (gl_linked_waitqueue_t): New type.
45738         (gl_cond_t): Use it.
45739         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
45740         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
45741         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
45742         (glthread_cond_init_func, glthread_cond_wait_func,
45743         glthread_cond_timedwait_func, glthread_cond_signal_func,
45744         glthread_cond_broadcast_func, glthread_cond_destroy_func):
45745         Reimplemented on the basis of gl_linked_waitqueue_t.
45746         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
45747         gl_waitqueue_t.
45748         (gl_rwlock_t): Update.
45749         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
45750
45751 2008-10-17  Simon Josefsson  <simon@josefsson.org>
45752
45753         * modules/recvfrom (Depends-on): Add dependency on getpeername.
45754         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45755
45756 2008-10-17  Jim Meyering  <meyering@redhat.com>
45757
45758         ignore-value: new module
45759         * modules/ignore-value: New file.
45760         * lib/ignore-value.h: New file.
45761         * MODULES.html.sh (Compiler warning management): New section,
45762         just for this module.  More to come.
45763
45764 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45765
45766         open-safer.c: avoid 'signed and unsigned in conditional...' warning
45767         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
45768         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
45769
45770 2008-10-16  Jim Meyering  <meyering@redhat.com>
45771
45772         openat-die.c: avoid 'no previous prototype' warning
45773         * lib/openat-die.c: Include "openat.h".
45774         Reported by Reuben Thomas <rrt@sc3d.org>.
45775
45776 2008-10-16  Simon Josefsson  <simon@josefsson.org>
45777
45778         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
45779         * lib/netdb.in.h: Fix typo.
45780         Reported by Bruno Haible  <bruno@clisp.org>
45781
45782         * lib/netdb.in.h: Include sys/socket.h for platforms without
45783         netdb.h, to get structures like hostent on MinGW.
45784         * modules/netdb (Depends-on): Add sys_socket.
45785
45786 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45787
45788         * modules/netdb, modules/netdb-tests: New file.
45789         * m4/netdb_h.m4: New file.
45790         * lib/netdb.in.h: Add, currently just an empty file pending
45791         definitions.
45792         * tests/test-netdb.c: New file.
45793         * doc/posix-headers/netdb.texi: Mention that we replace it if
45794         needed.
45795         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45796         netdb.
45797
45798 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45799
45800         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
45801         with code.
45802
45803 2008-10-13  Bruno Haible  <bruno@clisp.org>
45804
45805         * lib/glthread/cond.c (glthread_cond_wait_func,
45806         glthread_cond_timedwait_func): Add a comment.
45807
45808 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45809
45810         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
45811         * tests/test-select.c: Likewise,
45812
45813 2008-10-13  Bruno Haible  <bruno@clisp.org>
45814
45815         * lib/glthread/cond.c (glthread_cond_wait_func,
45816         glthread_cond_timedwait_func): Fix variable name.
45817         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45818
45819 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
45820
45821         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
45822         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
45823         struct sockaddr.sa_len.
45824         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
45825
45826 2008-10-13  Simon Josefsson  <simon@josefsson.org>
45827
45828         * build-aux/pmccabe2html: Add css and css_url parameters.
45829
45830 2008-10-12  Bruno Haible  <bruno@clisp.org>
45831
45832         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
45833         calling aclx_get.
45834         Reported by Rainer Tammer <tammer@tammer.net>.
45835
45836 2008-10-12  Bruno Haible  <bruno@clisp.org>
45837
45838         Use msvcrt aware primitives for creation/termination of Win32 threads.
45839         * lib/glthread/thread.c: Include <process.h>.
45840         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45841         (wrapper_func): Update signature.
45842         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45843
45844 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45845             Bruno Haible  <bruno@clisp.org>
45846
45847         Provide a Win32 implementation of the 'cond' module.
45848         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45849         * lib/glthread/cond.c (glthread_cond_init_func,
45850         glthread_cond_wait_func, glthread_cond_timedwait_func,
45851         glthread_cond_signal_func, glthread_cond_broadcast_func,
45852         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45853         * modules/cond (Dependencies): Add gettimeofday.
45854
45855 2008-10-11  Bruno Haible  <bruno@clisp.org>
45856
45857         Make sleep work on older versions of mingw.
45858         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45859         only whether it exists.
45860         * doc/posix-functions/sleep.texi: Mention the problem with older
45861         versions of mingw.
45862
45863 2008-10-11  Bruno Haible  <bruno@clisp.org>
45864
45865         New module 'shutdown'.
45866         * modules/shutdown: New file.
45867         * lib/sys_socket.in.h (shutdown): New declaration.
45868         * lib/winsock.c (shutdown): New function.
45869         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45870         GNULIB_SHUTDOWN.
45871         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45872         * doc/posix-functions/shutdown.texi: Document the new module.
45873
45874 2008-10-11  Jim Meyering  <meyering@redhat.com>
45875
45876         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45877
45878 2008-10-11  Bruno Haible  <bruno@clisp.org>
45879
45880         New module 'fclose'.
45881         * modules/fclose: New file.
45882         * lib/stdio.in.h (fclose): New declaration.
45883         * lib/fclose.c: New file.
45884         * m4/fclose.m4: New file.
45885         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45886         REPLACE_FCLOSE.
45887         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45888         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45889         REPLACE_FCLOSE.
45890         * modules/close (Depends-on): fclose.
45891         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45892
45893 2008-10-11  Bruno Haible  <bruno@clisp.org>
45894
45895         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45896         set errno and don't call _close.
45897
45898 2008-10-10  Bruno Haible  <bruno@clisp.org>
45899
45900         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45901         ACL, not afterwards. Fixes test failure on Cygwin.
45902
45903 2008-10-09  Ben Pfaff  <blp@gnu.org>
45904
45905         * build-aux/announce-gen: Fix gnulib version related part of usage
45906         message.  Die with a useful error message if no tarballs are
45907         found.
45908
45909 2008-10-10  Jim Meyering  <meyering@redhat.com>
45910
45911         bootstrap: use git's --depth=N option only if it's supported
45912         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45913         recognize the --depth option.  Reported by Pádraig Brady.
45914
45915 2008-10-09  Bruno Haible  <bruno@clisp.org>
45916
45917         New module 'ioctl'.
45918         * modules/ioctl: New file.
45919         * lib/sys_socket.in.h (ioctl): Remove declaration.
45920         * lib/winsock.c: Include <sys/ioctl.h>.
45921         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45922         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45923         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45924         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45925         * doc/posix-functions/ioctl.texi: Mention the new module.
45926
45927 2008-10-09  Bruno Haible  <bruno@clisp.org>
45928
45929         New module 'sys_ioctl'.
45930         * lib/sys_ioctl.in.h: New file.
45931         * m4/sys_ioctl_h.m4: New file.
45932         * modules/sys_ioctl: New file.
45933         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45934
45935 2008-10-09  Bruno Haible  <bruno@clisp.org>
45936
45937         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45938         * lib/winsock.c: Include <stdarg.h>.
45939         (rpl_ioctl): Change to second argument 'int' and then varargs.
45940
45941 2008-10-09  Bruno Haible  <bruno@clisp.org>
45942
45943         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45944         when the sys_socket module is present and the system has <winsock2.h>.
45945
45946 2008-10-09  Bruno Haible  <bruno@clisp.org>
45947
45948         * doc/posix-functions/close.texi: Mention module 'close' instead of
45949         module 'sys_socket'.
45950
45951 2008-10-09  Bruno Haible  <bruno@clisp.org>
45952
45953         * doc/glibc-headers/sys_ioctl.texi: New file.
45954         * doc/gnulib.texi: Include it.
45955
45956 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45957             Bruno Haible  <bruno@clisp.org>
45958
45959         Combine the two replacements of 'close'.
45960         * lib/sys_socket.in.h (close): Define to a reminder to include
45961         <unistd.h>.
45962         (_gl_close_fd_maybe_socket): New declaration.
45963         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45964         * lib/winsock.c (close): Remove undefinition.
45965         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45966         needed for the gnulib module 'close'.
45967         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45968         define to an error symbol or to a warning, if suitable.
45969         * lib/close.c: Include <sys/socket.h>.
45970         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45971         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45972         UNISTD_H_HAVE_WINSOCK2_H.
45973         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45975         UNISTD_H_HAVE_WINSOCK2_H.
45976         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45977         (configure.ac): Set a module indicator.
45978         (Makefile.am): Substitute GNULIB_CLOSE.
45979         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45980         * modules/poll-tests (Depends-on): Add close.
45981         * modules/select-tests (Depends-on): Likewise.
45982
45983 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45984             Bruno Haible  <bruno@clisp.org>
45985
45986         New module 'close'.
45987         * modules/close: New file.
45988         * lib/unistd.in.h (close): Move declaration out of the
45989         FCHDIR_REPLACEMENT scope.
45990         (_gl_unregister_fd): New declaration.
45991         * lib/close.c: New file.
45992         * lib/fchdir.c (rpl_close): Remove function.
45993         * m4/close.m4: New file.
45994         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45995         close.
45996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45997         REPLACE_CLOSE.
45998         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45999         REPLACE_CLOSE.
46000         * modules/fchdir (Depends-on): Add close.
46001
46002 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46003             Bruno Haible  <bruno@clisp.org>
46004
46005         * lib/fcntl.in.h (open): Simplify conditionals.
46006         (_gl_register_fd): New declaration.
46007         * lib/fchdir.c (rpl_open): Remove function.
46008         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
46009         also.
46010         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
46011         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
46012         open.
46013
46014 2008-10-09  Jim Meyering  <meyering@redhat.com>
46015
46016         GNUmakefile: use the more name-space-friendly "_version"
46017         * top/GNUmakefile (_dummy): Update.
46018         (_version): Rename from "version".
46019
46020 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46021             Bruno Haible  <bruno@clisp.org>
46022
46023         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
46024         rpl_close.
46025         (_gl_register_fd): New function, extracted from rpl_open.
46026         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
46027         (rpl_open, rpl_opendir): Use _gl_register_fd.
46028
46029 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46030
46031         Fix organization of 'open' replacement.
46032         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
46033         (gl_FUNC_OPEN): Use it.
46034         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
46035
46036 2008-10-08  Bruno Haible  <bruno@clisp.org>
46037
46038         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
46039
46040 2008-10-08  Simon Josefsson  <simon@josefsson.org>
46041
46042         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
46043         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
46044         listen).
46045
46046 2008-10-08  Eric Blake  <ebb9@byu.net>
46047
46048         GNUmakefile: add 'make version' target
46049         * top/GNUmakefile (_curr-ver): Split version update rules...
46050         (version): ...into a target.
46051
46052 2008-10-07  Bruno Haible  <bruno@clisp.org>
46053
46054         Use a more portable replacement expression for -0.0L.
46055         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
46056         instead of -0.0L. Fix m4 quotation.
46057
46058         * tests/test-signbit.c: Include <float.h>.
46059         (minus_zero): New variable.
46060         (test_signbitl): Use minus_zero instead of -zero.
46061         * modules/signbit-tests (Depends-on): Add float.
46062
46063         * tests/test-ceill.c: Include <float.h>.
46064         (zero): Remove variable.
46065         (minus_zero): New variable.
46066         (main): Use minus_zero instead of -zero.
46067         * modules/ceill-tests (Depends-on): Add float.
46068
46069         * tests/test-floorl.c: Include <float.h>.
46070         (zero): Remove variable.
46071         (minus_zero): New variable.
46072         (main): Use minus_zero instead of -zero.
46073         * modules/floorl-tests (Depends-on): Add float.
46074
46075         * tests/test-roundl.c: Include <float.h>.
46076         (zero): Remove variable.
46077         (minus_zero): New variable.
46078         (main): Use minus_zero instead of -zero.
46079         * modules/roundl-tests (Depends-on): Add float.
46080
46081         * tests/test-truncl.c: Include <float.h>.
46082         (zero): Remove variable.
46083         (minus_zero): New variable.
46084         (main): Use minus_zero instead of -zero.
46085         * modules/truncl-tests (Depends-on): Add float.
46086
46087         * tests/test-frexpl.c (zero): Remove variable.
46088         (minus_zero): New variable.
46089         (main): Use minus_zero instead of -zero.
46090         * modules/frexpl-tests (Depends-on): Add float.
46091
46092         * tests/test-isnan.c (zerol): Remove variable.
46093         (minus_zerol): New variable.
46094         (test_long_double): Use minus_zerol instead of -zerol.
46095         * modules/isnan-tests (Depends-on): Add float.
46096
46097         * tests/test-isnanl.h (zero): Remove variable.
46098         (minus_zero): New variable.
46099         (main): Use minus_zero instead of -zero.
46100         * modules/isnanl-nolibm-tests (Depends-on): Add float.
46101         * modules/isnanl-tests (Depends-on): Add float.
46102
46103         * tests/test-ldexpl.c (zero): Remove variable.
46104         (minus_zero): New variable.
46105         (main): Use minus_zero instead of -zero.
46106         * modules/ldexpl-tests (Depends-on): Add float.
46107
46108         * tests/test-snprintf-posix.h (zerol): Remove variable.
46109         (minus_zerol): New variable.
46110         (test_function): Use minus_zerol instead of -zerol.
46111         * modules/snprintf-posix-tests (Depends-on): Add float.
46112         * modules/vsnprintf-posix-tests (Depends-on): Add float.
46113
46114         * tests/test-sprintf-posix.h (zerol): Remove variable.
46115         (minus_zerol): New variable.
46116         (test_function): Use minus_zerol instead of -zerol.
46117         * modules/sprintf-posix-tests (Depends-on): Add float.
46118         * modules/vsprintf-posix-tests (Depends-on): Add float.
46119
46120         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
46121         (minus_zerol): New variable.
46122         (test_function): Use minus_zerol instead of -zerol.
46123         * modules/vasnprintf-posix-tests (Depends-on): Add float.
46124
46125         * tests/test-vasprintf-posix.c (zerol): Remove variable.
46126         (minus_zerol): New variable.
46127         (test_function): Use minus_zerol instead of -zerol.
46128         * modules/vasprintf-posix-tests (Depends-on): Add float.
46129
46130 2008-10-07  Simon Josefsson  <simon@josefsson.org>
46131
46132         * MODULES.html.sh (Support for building documentation): Mention
46133         pmccabe2html.  Sort entries.
46134
46135         Add pmccabe2html module, from gnupdf.
46136         * build-aux/pmccabe.css: New file.
46137         * build-aux/pmccabe2html: New file.
46138         * m4/pmccabe2html.m4: New file.
46139         * modules/pmccabe2html: New file.
46140
46141 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
46142
46143         flock: new module
46144         * MODULES.html.sh: Add to list of modules.
46145         * lib/flock.c: flock implementation for Windows and Unix systems
46146         which have fcntl.
46147         * doc/glibc-functions/flock.texi: Update documentation.
46148         * lib/sys_file.in.h: <sys/file.h> header file.
46149         * m4/flock.m4: M4 macros.
46150         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
46151         * modules/flock: flock module.
46152         * modules/flock-tests: flock tests module.
46153         * modules/sys_file: sys/file.h module.
46154         * tests/test-flock.c: test suite for flock.
46155
46156 2008-10-06  Jim Meyering  <meyering@redhat.com>
46157
46158         bootstrap: check for LT_INIT more portably still ;-)
46159         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
46160         Spotted by Bruno Haible.
46161
46162 2008-10-06  Eric Blake  <ebb9@byu.net>
46163
46164         test-signbit: avoid tripping Irix cc bug on -0.0L
46165         * tests/test-signbit.c (minus_zerol): Delete, and replace with
46166         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
46167         entire testsuite consistent and avoids an Irix 6.2 bug.
46168
46169 2008-10-05  Bruno Haible  <bruno@clisp.org>
46170             Jim Meyering  <jim@meyering.net>
46171
46172         Add an option for ignoring EPIPE during close_stdout.
46173         * lib/closeout.h: Include <stdbool.h>.
46174         (close_stdout_set_ignore_EPIPE): New declaration.
46175         * lib/closeout.c: Include <stdbool.h>.
46176         (ignore_EPIPE): New variable.
46177         (close_stdout_set_ignore_EPIPE): New function.
46178         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
46179         * lib/close-stream.c (close_stream): Mention the possible EPIPE
46180         failure.
46181         * modules/closeout (Depends-on): Add stdbool.
46182
46183 2008-10-05  Bruno Haible  <bruno@clisp.org>
46184
46185         * modules/accept: New file.
46186         * modules/bind: New file.
46187         * modules/connect: New file.
46188         * modules/getpeername: New file.
46189         * modules/getsockname: New file.
46190         * modules/getsockopt: New file.
46191         * modules/listen: New file.
46192         * modules/recv: New file.
46193         * modules/recvfrom: New file.
46194         * modules/send: New file.
46195         * modules/sendto: New file.
46196         * modules/setsockopt: New file.
46197         * modules/socket: New file.
46198         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
46199         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
46200         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
46201         the particular module is requested. Add a link warning when the
46202         particular module is not requested.
46203         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
46204         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
46205         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
46206         the particular module is requested.
46207         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
46208         gl_SYS_SOCKET_H_DEFAULTS): New macros.
46209         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
46210         * modules/sys_socket (Depends-on): Add link-warning.
46211         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
46212         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
46213         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
46214         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
46215         GL_LINK_WARNING.
46216         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
46217         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
46218         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
46219         * doc/posix-functions/getpeername.texi: Mention the new module
46220         'getpeername'.
46221         * doc/posix-functions/getsockname.texi: Mention the new module
46222         'getsockname'.
46223         * doc/posix-functions/getsockopt.texi: Mention the new module
46224         'getsockopt'.
46225         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
46226         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
46227         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
46228         * doc/posix-functions/send.texi: Mention the new module 'send'.
46229         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
46230         * doc/posix-functions/setsockopt.texi: Mention the new module
46231         'setsockopt'.
46232         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
46233         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
46234         listen, connect, accept.
46235         * modules/select-tests (Depends-on): Likewise.
46236
46237 2008-10-05  Bruno Haible  <bruno@clisp.org>
46238
46239         * lib/winsock.c (strerror): Remove unused #undef.
46240         (rpl_close): Remove unused local variable.
46241
46242         * modules/sys_socket (Depends-on); Add errno.
46243
46244 2008-10-05  Bruno Haible  <bruno@clisp.org>
46245
46246         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
46247         (select): Add a link warning when the 'select' module is not used.
46248         * modules/sys_select (Depends-on): Add link-warning.
46249         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
46250         Suggested by Paolo Bonzini.
46251
46252 2008-10-05  Jim Meyering  <meyering@redhat.com>
46253
46254         bootstrap: check for LT_INIT more portably
46255         * build-aux/bootstrap: Avoid using grep -E, since it's not
46256         portable enough.  Suggestion from Bruno Haible.
46257
46258 2008-10-05  Bruno Haible  <bruno@clisp.org>
46259
46260         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
46261         as being fixed by gnulib.
46262
46263 2008-10-05  Bruno Haible  <bruno@clisp.org>
46264
46265         * modules/select-tests: New file, mostly copied from
46266         modules/sys_select-tests.
46267         * tests/test-select.c: New file, mostly copied from
46268         tests/test-sys_select.c.
46269         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
46270         * modules/sys_select-tests (Depends-on): Remove all dependencies.
46271         (Makefile.am): Remove test_sys_select_LDADD.
46272
46273         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
46274         to an undefined symbol, for an error message.
46275         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
46276         (gl_SYS_SELECT_H_DEFAULTS): New macro.
46277         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
46278         winsock-select.c here.
46279         * modules/sys_select (Files): Remove lib/winsock-select.c.
46280         (Depends-on): Remove alloca.
46281         (Makefile.am): Substitute GNULIB_SELECT.
46282         * modules/select: New file.
46283         * doc/posix-functions/select.texi: Update.
46284
46285 2008-10-05  Bruno Haible  <bruno@clisp.org>
46286
46287         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
46288         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
46289         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
46290         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
46291         getdtablesize.
46292         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
46293         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
46294
46295 2008-10-05  Bruno Haible  <bruno@clisp.org>
46296
46297         * modules/getdtablesize-tests: New file.
46298         * tests/test-getdtablesize.c: New file.
46299
46300         New module 'getdtablesize'.
46301         * lib/unistd.in.h (getdtablesize): New declaration.
46302         * lib/getdtablesize.c: New file.
46303         * m4/getdtablesize.m4: New file.
46304         * modules/getdtablesize: New file.
46305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46306         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
46307         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
46308         HAVE_GETDTABLESIZE.
46309         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
46310
46311 2008-10-05  Bruno Haible  <bruno@clisp.org>
46312
46313         * modules/sched (Makefile.am): Fix typo.
46314         Reported by Simon Josefsson.
46315
46316 2008-10-05  Jim Meyering  <meyering@redhat.com>
46317
46318         bootstrap: check for LT_INIT, too
46319         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
46320         are deprecated.  Suggestion from Ralf Wildenhues.
46321
46322 2008-10-05  Bruno Haible  <bruno@clisp.org>
46323
46324         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
46325         overriding them by ours.
46326         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
46327
46328 2008-10-05  Jim Meyering  <meyering@redhat.com>
46329
46330         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
46331         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
46332         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
46333
46334 2008-10-04  Bruno Haible  <bruno@clisp.org>
46335
46336         * modules/dup2 (License): Change to LGPLv2+.
46337         * modules/sleep (License): Likewise.
46338         * modules/perror (License): Likewise.
46339         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
46340         Blake.
46341         * modules/signal (License): Likewise.
46342         * modules/sigprocmask (License): Likewise.
46343         * modules/raise (License): Change to LGPLv2+, with approval by Jim
46344         Meyering.
46345
46346 2008-10-04  Bruno Haible  <bruno@clisp.org>
46347
46348         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
46349         Reported by Rainer Tammer <tammer@tammer.net>.
46350
46351 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
46352             Bruno Haible  <bruno@clisp.org>
46353
46354         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
46355         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
46356         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
46357
46358 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
46359
46360         filevercmp: new module
46361         * lib/filevercmp.h: New function filevercmp comparing version strings.
46362         * lib/filevercmp.c: Implementation of filevercmp function.
46363         * modules/filevercmp: Module metadata.
46364         * tests/test-filevercmp.c: Unit test for new module.
46365         * modules/filevercmp-tests: Unit test metadata.
46366         * MODULES.html.sh: Add filevercmp module.
46367
46368 2008-10-03  Bruno Haible  <bruno@clisp.org>
46369
46370         * lib/c-ctype.h: Add comment.
46371         Reported by Jim Meyering.
46372
46373 2008-10-02  Bruno Haible  <bruno@clisp.org>
46374
46375         * modules/posix_spawn-internal (Depends-on): Add 'open'.
46376
46377 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46378
46379         * build-aux/bootstrap: Allow renaming bootstrap, and change the
46380         name of bootstrap.conf accordingly.
46381
46382 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46383
46384         * build-aux/bootstrap: Install git-merge-changelog configuration
46385         items into .gitconfig if needed.
46386
46387 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46388
46389         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
46390         git repository, and initialize/update it accordingly.
46391
46392 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
46393
46394         * modules/fsync-tests: New file.
46395         * tests/test-fsync.c: New file.
46396
46397         New module 'fsync'.
46398         * lib/fsync.c: New file.
46399         * m4/fsync.m4: New file.
46400         * modules/fsync: New file.
46401         * lib/unistd.in.h (fsync): New declaration.
46402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
46403         GNULIB_FSYNC and HAVE_FSYNC.
46404         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
46405         * MODULES.html.sh (posix_functions): Add fsync.
46406         * doc/posix-functions/fsync.texi: Mention the new module.
46407
46408 2008-10-02  Jim Meyering  <meyering@redhat.com>
46409
46410         fts.c: sync with similar code from coreutils' remove.c
46411         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
46412         Guard also with "#if defined __linux__", since for now at least,
46413         this code is Linux-kernel-specific.
46414
46415 2008-10-02  Jim Meyering  <meyering@redhat.com>
46416
46417         fts: bug fixes
46418         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
46419         Include <sys/vfs.h>, not <sys/statfs.h>.
46420
46421         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
46422         Include <sys/vfs.h>, not <sys/statfs.h>.
46423
46424 2008-10-01  Bruno Haible  <bruno@clisp.org>
46425
46426         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
46427         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
46428         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
46429         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
46430         * doc/posix-functions/posix_spawnp.texi: Likewise.
46431         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
46432         whether posix_spawn actually works.
46433         * m4/pipe.m4 (gl_PIPE): Likewise.
46434         * modules/execute (Files): Add m4/posix_spawn.m4.
46435         * modules/pipe (Files): Add m4/posix_spawn.m4.
46436         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
46437
46438 2008-10-01  Jim Meyering  <meyering@redhat.com>
46439
46440         remove trailing spaces
46441         * NEWS: Likewise.
46442         * lib/poll.c (poll): Likewise.
46443         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
46444         * lib/winsock.c (rpl_close): Likewise.
46445         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
46446         * modules/yield: Likewise.
46447         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
46448         * tests/test-sys_select.c (connect_to_socket): Likewise.
46449
46450         fts.c: adjust a new interface to be more generally useful
46451         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
46452         (fts_build): Adjust caller.
46453
46454 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46455
46456         * modules/cond-tests: New file.
46457         * tests/test-cond.c: New file.
46458
46459 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46460             Bruno Haible  <bruno@clisp.org>
46461
46462         * modules/cond (Dependencies): Add errno, time.
46463         * lib/glthread/cond.h: Include <time.h>.
46464         (gl_cond_define, gl_cond_define_initialized): Use the same definition
46465         across platforms.
46466
46467 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46468             Bruno Haible  <bruno@clisp.org>
46469
46470         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
46471
46472 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46473             Bruno Haible  <bruno@clisp.org>
46474
46475         * modules/tls-tests (Depends-on): Add thread, yield.
46476         (configure.ac): Remove all checks.
46477         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
46478         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
46479         gl_thread_self): Remove definitions. Include glthread/thread.h and
46480         glthread/yield.h instead.
46481         (test_tls): Pass an additional NULL argument to gl_thread_join.
46482
46483 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46484             Bruno Haible  <bruno@clisp.org>
46485
46486         * modules/lock-tests (Depends-on): Add thread, yield.
46487         (configure.ac): Remove all checks.
46488         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
46489         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
46490         gl_thread_self): Remove definitions. Include glthread/thread.h and
46491         glthread/yield.h instead.
46492         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
46493         additional NULL argument to gl_thread_join.
46494
46495 2008-09-30  Bruno Haible  <bruno@clisp.org>
46496
46497         Fix the Win32 implementation of the 'thread' module.
46498         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
46499         pointer type.
46500         (gl_thread_self): Invoke gl_thread_self_func.
46501         (gl_thread_self_func): New declaration.
46502         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
46503         (do_init_self_key, init_self_key): New functions.
46504         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
46505         Remove some fields.
46506         (running_threads, running_lock): Remove variables.
46507         (get_current_thread_handle): New function.
46508         (gl_thread_self_func, wrapper_func, glthread_create_func,
46509         glthread_join_func, gl_thread_exit_func): Largely rewritten and
46510         simplified.
46511
46512 2008-09-30  Bruno Haible  <bruno@clisp.org>
46513
46514         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
46515         files.
46516
46517 2008-09-30  Jim Meyering  <meyering@redhat.com>
46518
46519         fts.m4: correct the test for statfs.f_type
46520         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
46521         when checking for statfs.f_type.
46522
46523 2008-09-15  Simon Josefsson  <simon@josefsson.org>
46524
46525         tests: avoid some compiler warnings
46526         * tests/test-memchr.c (main): Pass NULL indirectly.
46527         * tests/test-getdate.c (main): Remove unused variable 'ret'.
46528
46529 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
46530
46531         getdate.y: disallow countable dayshifts like "4 yesterday ago"
46532         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
46533         exactly specified dayshifts.
46534         (dayshift): New rule.
46535         (rel): Add dayshift.
46536         (relative_time_table) [tomorrow, yesterday, today, now]:
46537         Use tDAY_SHIFT in place of tDAY_UNIT.
46538         * tests/test-getdate.c: Add tests for now-disallowed countable
46539         dayshifts, e.g., "4 yesterday ago".
46540
46541 2008-09-29  Bruno Haible  <bruno@clisp.org>
46542
46543         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
46544         * tests/test-posix_spawn1.in.sh: Renamed from
46545         tests/test-posix_spawn.in.sh.
46546         * tests/test-posix_spawn2.c: New file.
46547         * tests/test-posix_spawn2.in.sh: New file.
46548         * modules/posix_spawnp-tests (Files): Update.
46549         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
46550
46551 2008-09-29  Bruno Haible  <bruno@clisp.org>
46552
46553         Propagate effects of putenv/setenv/unsetenv to child processes.
46554         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
46555         * lib/pipe.c (create_pipe): Likewise.
46556
46557 2008-09-29  Bruno Haible  <bruno@clisp.org>
46558
46559         Enable use of shell scripts as executables in mingw.
46560         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
46561         run the program as a shell script.
46562         * lib/pipe.c (create_pipe): Likewise.
46563         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
46564         resulting array.
46565
46566 2008-09-29  Eric Blake  <ebb9@byu.net>
46567
46568         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
46569
46570 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
46571
46572         * doc/posix-functions/accept.texi: Update mingw problems.
46573         * doc/posix-functions/bind.texi: Update mingw problems.
46574         * doc/posix-functions/close.texi: Update mingw problems.
46575         * doc/posix-functions/connect.texi: Update mingw problems.
46576         * doc/posix-functions/getpeername.texi: Update mingw problems.
46577         * doc/posix-functions/getsockname.texi: Update mingw problems.
46578         * doc/posix-functions/getsockopt.texi: Update mingw problems.
46579         * doc/posix-functions/ioctl.texi: Update mingw problems.
46580         * doc/posix-functions/listen.texi: Update mingw problems.
46581         * doc/posix-functions/recv.texi: Update mingw problems.
46582         * doc/posix-functions/recvfrom.texi: Update mingw problems.
46583         * doc/posix-functions/select.texi: Update mingw problems.
46584         * doc/posix-functions/send.texi: Update mingw problems.
46585         * doc/posix-functions/sendto.texi: Update mingw problems.
46586         * doc/posix-functions/setsockopt.texi: Update mingw problems.
46587         * doc/posix-functions/socket.texi: Update mingw problems.
46588
46589 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
46590             Bruno Haible  <bruno@clisp.org>
46591
46592         * lib/sys_select.in.h: Include sys/time.h.
46593         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
46594         * modules/sys_select: Depend on sys_time.
46595         * tests/test-sys_select.c: Test that sys/select.h defines struct
46596         timeval fully.
46597
46598 2008-09-29  Bruno Haible  <bruno@clisp.org>
46599
46600         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
46601         * lib/sys_select.in.h: Likewise.
46602
46603 2008-09-29  Bruno Haible  <bruno@clisp.org>
46604
46605         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
46606
46607 2008-09-29  Bruno Haible  <bruno@clisp.org>
46608
46609         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
46610         Set LIBSOCKET instead of augmenting LIBS.
46611         * modules/sockets (Link): New section.
46612         * modules/sockets-tests (test_sockets_LDADD): New variable.
46613         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
46614         * modules/poll-tests (test_poll_LDADD): New variable.
46615         * NEWS: Document the change.
46616
46617 2008-09-29  Bruno Haible  <bruno@clisp.org>
46618
46619         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
46620         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
46621         ARPA_INET_H directly.
46622         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46623
46624 2008-09-28  Bruno Haible  <bruno@clisp.org>
46625
46626         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
46627         from gl_HEADER_SYS_SOCKET.
46628         (gl_HEADER_SYS_SOCKET): Invoke it.
46629         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46630
46631 2008-09-28  Bruno Haible  <bruno@clisp.org>
46632
46633         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
46634         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
46635         Needed on OSF/1 4.0.
46636
46637 2008-09-28  Bruno Haible  <bruno@clisp.org>
46638
46639         Override open more carefully.
46640         * lib/open.c (orig_open): New function.
46641         (rpl_open): Use orig_open instead of open.
46642         * lib/fcntl.in.h: Add special invocation convention.
46643         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
46644         (gl_FUNC_OPEN): Invoke it.
46645
46646         Override freopen more carefully.
46647         * lib/freopen.c (orig_freopen): New function.
46648         (rpl_freopen): Use orig_freopen instead of freopen.
46649         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
46650         (gl_FUNC_FREOPEN): Invoke it.
46651
46652         Override fopen more carefully.
46653         * lib/fopen.c (orig_fopen): New function.
46654         (rpl_fopen): Use orig_fopen instead of fopen.
46655         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
46656         (gl_FUNC_FOPEN): Invoke it.
46657         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
46658
46659 2008-09-28  Bruno Haible  <bruno@clisp.org>
46660
46661         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
46662         SIGPIPE.
46663
46664 2008-09-28  Bruno Haible  <bruno@clisp.org>
46665
46666         * tests/test-sigaction.c (handler, main): Disable the check whether
46667         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
46668         glibc systems with LinuxThreads.
46669
46670 2008-09-28  Bruno Haible  <bruno@clisp.org>
46671
46672         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
46673
46674         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
46675         with AIX xlc.
46676         * lib/fcntl.in.h (open): Likewise.
46677         Reported by Rainer Tammer <tammer@tammer.net>.
46678
46679 2008-09-28  Bruno Haible  <bruno@clisp.org>
46680
46681         * modules/posix_spawnp-tests: New file.
46682         * tests/test-posix_spawn.c: New file.
46683         * tests/test-posix_spawn.in.sh: New file.
46684
46685         New module 'posix_spawnp'.
46686         * modules/posix_spawnp: New file.
46687         * lib/spawnp.c: New file, from GNU libc with modifications.
46688         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
46689
46690         New module 'posix_spawn'.
46691         * modules/posix_spawn: New file.
46692         * lib/spawn.c: New file, from GNU libc with modifications.
46693         * doc/posix-functions/posix_spawn.texi: Mention the new module.
46694
46695         New module 'posix_spawnattr_destroy'.
46696         * modules/posix_spawnattr_destroy: New file.
46697         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
46698         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
46699         module.
46700
46701         New module 'posix_spawnattr_setsigmask'.
46702         * modules/posix_spawnattr_setsigmask: New file.
46703         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
46704         modifications.
46705         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
46706         new module.
46707
46708         New module 'posix_spawnattr_getsigmask'.
46709         * modules/posix_spawnattr_getsigmask: New file.
46710         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
46711         modifications.
46712         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
46713         new module.
46714
46715         New module 'posix_spawnattr_setsigdefault'.
46716         * modules/posix_spawnattr_setsigdefault: New file.
46717         * lib/spawnattr_setdefault.c: New file, from GNU libc with
46718         modifications.
46719         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
46720         new module.
46721
46722         New module 'posix_spawnattr_getsigdefault'.
46723         * modules/posix_spawnattr_getsigdefault: New file.
46724         * lib/spawnattr_getdefault.c: New file, from GNU libc with
46725         modifications.
46726         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
46727         new module.
46728
46729         New module 'posix_spawnattr_setschedpolicy'.
46730         * modules/posix_spawnattr_setschedpolicy: New file.
46731         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
46732         modifications.
46733         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
46734         new module.
46735
46736         New module 'posix_spawnattr_getschedpolicy'.
46737         * modules/posix_spawnattr_getschedpolicy: New file.
46738         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
46739         modifications.
46740         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
46741         new module.
46742
46743         New module 'posix_spawnattr_setschedparam'.
46744         * modules/posix_spawnattr_setschedparam: New file.
46745         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
46746         modifications.
46747         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
46748         new module.
46749
46750         New module 'posix_spawnattr_getschedparam'.
46751         * modules/posix_spawnattr_getschedparam: New file.
46752         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
46753         modifications.
46754         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
46755         new module.
46756
46757         New module 'posix_spawnattr_setpgroup'.
46758         * modules/posix_spawnattr_setpgroup: New file.
46759         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
46760         modifications.
46761         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
46762         module.
46763
46764         New module 'posix_spawnattr_getpgroup'.
46765         * modules/posix_spawnattr_getpgroup: New file.
46766         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
46767         modifications.
46768         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
46769         module.
46770
46771         New module 'posix_spawnattr_setflags'.
46772         * modules/posix_spawnattr_setflags: New file.
46773         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
46774         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
46775         module.
46776
46777         New module 'posix_spawnattr_getflags'.
46778         * modules/posix_spawnattr_getflags: New file.
46779         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
46780         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
46781         module.
46782
46783         New module 'posix_spawnattr_init'.
46784         * modules/posix_spawnattr_init: New file.
46785         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
46786         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
46787         module.
46788
46789         New module 'posix_spawn_file_actions_destroy'.
46790         * modules/posix_spawn_file_actions_destroy: New file.
46791         * lib/spawn_faction_destroy.c: New file, from GNU libc with
46792         modifications.
46793         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
46794         the new module.
46795
46796         New module 'posix_spawn_file_actions_addopen'.
46797         * modules/posix_spawn_file_actions_addopen: New file.
46798         * lib/spawn_faction_addopen.c: New file, from GNU libc with
46799         modifications.
46800         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
46801         the new module.
46802
46803         New module 'posix_spawn_file_actions_adddup2'.
46804         * modules/posix_spawn_file_actions_adddup2: New file.
46805         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
46806         modifications.
46807         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
46808         the new module.
46809
46810         New module 'posix_spawn_file_actions_addclose'.
46811         * modules/posix_spawn_file_actions_addclose: New file.
46812         * lib/spawn_faction_addclose.c: New file, from GNU libc with
46813         modifications.
46814         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
46815         the new module.
46816
46817         New module 'posix_spawn_file_actions_init'.
46818         * modules/posix_spawn_file_actions_init: New file.
46819         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
46820         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
46821         new module.
46822
46823         New module 'posix_spawn-internal'.
46824         * modules/posix_spawn-internal: New file.
46825         * lib/spawn_int.h: New file, from GNU libc with modifications.
46826         * lib/spawni.c: New file, from GNU libc with modifications.
46827         * m4/posix_spawn.m4: New file.
46828
46829         New module 'spawn'.
46830         * modules/spawn: New file.
46831         * lib/spawn.in.h: New file, from GNU libc with modifications.
46832         * m4/spawn_h.m4: New file.
46833         * doc/posix-headers/spawn.texi: Mention the new module.
46834
46835 2008-09-28  Bruno Haible  <bruno@clisp.org>
46836
46837         * modules/sched-tests: New file.
46838         * tests/test-sched.c: New file.
46839
46840         New module 'sched'.
46841         * modules/sched: New file.
46842         * lib/sched.in.h: New file.
46843         * m4/sched_h.m4: New file.
46844         * doc/posix-headers/sched.texi: Mention the new module.
46845
46846 2008-09-27  Eric Blake  <ebb9@byu.net>
46847
46848         Fix previous patch, and tweak references to $0.
46849         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46850         (func_version, func_gnulib_dir): Don't call this program
46851         gnulib-tool.
46852         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46853         with using $0 in function.
46854         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46855         (func_fatal_error): Reuse the name the user invoked us with.
46856
46857 2008-09-27  Bruno Haible  <bruno@clisp.org>
46858
46859         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46860         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46861         (gl_ICONV_H): Not here.
46862         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46863         instead of assigning ICONV_H directly.
46864
46865         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46866         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46867         WCHAR_H directly.
46868
46869 2008-09-27  Bruno Haible  <bruno@clisp.org>
46870
46871         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46872         * modules/arpa_inet (Depends-on): Add link-warning.
46873         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46874         * modules/unistd (Makefile.am): Likewise.
46875
46876 2008-09-26  Bruno Haible  <bruno@clisp.org>
46877
46878         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46879         variables.
46880         (func_version): Essentially copied from gnulib-tool.
46881         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46882         func_readlink): Copied from gnulib-tool.
46883
46884 2008-09-26  Bruno Haible  <bruno@clisp.org>
46885
46886         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46887         invoking git-version-gen.
46888
46889 2008-09-26  Bruno Haible  <bruno@clisp.org>
46890
46891         * posix-modules: Update to directory names changed on 2008-01-19.
46892         Remove commas in output before splitting into words. No more need to
46893         avoid 'ftruncate' since 2007-02-19.
46894
46895 2008-09-26  Bruno Haible  <bruno@clisp.org>
46896
46897         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46898
46899 2008-09-26  Bruno Haible  <bruno@clisp.org>
46900
46901         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46902         * modules/fwriteerror (Depends-on): Add errno.
46903
46904 2008-09-26  Bruno Haible  <bruno@clisp.org>
46905
46906         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46907         * tests/test-vc-list-files-cvs.sh: Likewise.
46908
46909 2008-09-26  Bruno Haible  <bruno@clisp.org>
46910
46911         * doc/posix-headers/sys_resource.texi: Reorder items.
46912
46913 2008-09-26  Jim Meyering  <meyering@redhat.com>
46914
46915         fts: tweak inode comparison function
46916         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46917         inode numbers, as documented.
46918
46919         fts: sort dirent entries on inode number before traversing
46920         This avoids a quadratic, seek-related performance penalty when
46921         operating on a directory containing many entries (measurable at 10k;
46922         3.5 hours at 2 million entries with a cold cache) on certain types
46923         of file systems, including ext3 and ext4, but not tmpfs.
46924         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46925         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46926         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46927         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46928         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46929         (fts_build): Set the stat.st_ino member from D_INO.
46930         If it is likely to be useful, sort dirent entries on inode number.
46931
46932         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46933         and the struct statfs.f_type member.
46934         * modules/fts (Depends-on): Add d-ino.
46935
46936 2008-09-26  Bruno Haible  <bruno@clisp.org>
46937
46938         * modules/sigpipe-die (Depends-on): Add sigpipe.
46939
46940         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46941         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46942         and GNULIB_STDIO_H_SIGPIPE are set.
46943         * lib/stdio-write.c: New file.
46944         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46945         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46946         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46947         REPLACE_STDIO_WRITE_FUNCS.
46948         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46949         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46950         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46951         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46952         * modules/stdio (Files): Add lib/stdio-write.c.
46953         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
46954         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46955         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46956         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46957         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46958         REPLACE_FPRINTF_POSIX.
46959         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46960         REPLACE_PRINTF_POSIX.
46961         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46962         REPLACE_VFPRINTF_POSIX.
46963         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46964         REPLACE_VPRINTF_POSIX.
46965         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46966         SIGPIPE issue.
46967         * doc/posix-functions/fputc.texi: Likewise.
46968         * doc/posix-functions/fputs.texi: Likewise.
46969         * doc/posix-functions/fwrite.texi: Likewise.
46970         * doc/posix-functions/printf.texi: Likewise.
46971         * doc/posix-functions/putc.texi: Likewise.
46972         * doc/posix-functions/putchar.texi: Likewise.
46973         * doc/posix-functions/puts.texi: Likewise.
46974         * doc/posix-functions/vfprintf.texi: Likewise.
46975         * doc/posix-functions/vprintf.texi: Likewise.
46976
46977         * modules/safe-write (Depends-on): Add write.
46978
46979         * modules/sigpipe-tests: New file.
46980         * tests/test-sigpipe.c: New file.
46981         * tests/test-sigpipe.sh: New file.
46982
46983         * modules/write: New file.
46984         * lib/unistd.in.h: Include <sys/types.h>.
46985         (write): New declaration.
46986         * lib/write.c: New file.
46987         * m4/write.m4: New file.
46988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46989         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46990         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46991         GNULIB_WRITE, REPLACE_WRITE.
46992         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46993         and the SIGPIPE issue.
46994
46995         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46996         (raise): New declaration.
46997         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46998         (ext_signal): New function.
46999         (rpl_raise): New function.
47000         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
47001         GNULIB_SIGNAL_H_SIGPIPE.
47002         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
47003         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
47004
47005         * modules/sigpipe: New file.
47006         * m4/sigpipe.m4: New file.
47007
47008 2008-09-25  Derek Price  <derek@ximbiot.com>
47009             Bruno Haible  <bruno@clisp.org>
47010
47011         * gnulib-tool (func_import): Report all license incompatibilities, not
47012         just the first one.
47013
47014 2008-09-25  Bruno Haible  <bruno@clisp.org>
47015
47016         * gnulib-tool (func_import): When computing the edits, consider not
47017         only the Makefile.ams that exist but also those that will be generated.
47018
47019 2008-09-25  Simon Josefsson  <simon@josefsson.org>
47020
47021         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
47022         fixes gnulib-tool --test warning about duplicate dependency.
47023
47024 2008-09-25  Bruno Haible  <bruno@clisp.org>
47025
47026         * gnulib-tool: Don't ask the user to perform edits in the generated
47027         Makefile.ams.
47028         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
47029         apply to the Makefile.am being generated.
47030         (func_emit_tests_Makefile_am): Execute edits that apply to the
47031         Makefile.am being generated.
47032         (func_import): Setup list of Makefile.am edits before emitting the
47033         Makefile.ams, not at the end.
47034         (func_create_testdir): Update.
47035         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47036
47037 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47038
47039         * gnulib-tool (func_import): Store the --tests-base option in the
47040         comment in gnulib-cache.m4.
47041
47042 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
47043
47044         * NEWS: Document increased portability that sys_select now provides.
47045
47046         * lib/sys_select.in.h: Install select wrapper.
47047         * lib/sys_socket.in.h: Use more descriptive name when there is no
47048         select wrapper.
47049         * lib/winsock-select.c: New.
47050         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
47051         Require gl_HEADER_SYS_SOCKET.
47052         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
47053         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
47054         * tests/test-sys_select.c: Add functional tests.
47055
47056 2008-09-24  Eric Blake  <ebb9@byu.net>
47057
47058         open, fopen: close fd leak in last patch
47059         * lib/open.c (rpl_open): Close fd before returning error.
47060         * lib/fopen.c (rpl_fopen): Close fd before returning error.
47061         * doc/posix-functions/open.texi (open): Document that Irix also
47062         has the bug.
47063         * doc/posix-functions/fopen.texi (fopen): Likewise.
47064         Reported by Paolo Bonzini.
47065
47066 2008-09-24  Bruno Haible  <bruno@clisp.org>
47067
47068         Ensure that a filename ending in a slash cannot be used to access a
47069         non-directory.
47070         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
47071         to check whether it's really a directory.
47072         * lib/fopen.c: Include fcntl.h, unistd.h.
47073         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
47074         and fdopen().
47075         * modules/fopen (Depends-on): Add unistd.
47076         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
47077         * tests/test-fopen.c (main): Likewise.
47078         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
47079         * doc/posix-functions/fopen.texi: Likewise.
47080         Reported by Eric Blake.
47081
47082 2008-09-23  Eric Blake  <ebb9@byu.net>
47083
47084         c-stack: avoid compiler optimizations when provoking overflow
47085         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
47086         recursion harder to optimize, to ensure a stack overflow occurs.
47087         * tests/test-c-stack.c (recurse): Likewise.
47088         Borrowed from libsigsegv.
47089
47090         c-stack: work around Irix sigaltstack bug
47091         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
47092         whether sigaltstack uses wrong end of stack_t (copied in part from
47093         libsigsegv).
47094         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
47095         Irix bug, without requiring an over-allocation.
47096         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
47097         bug.
47098
47099         fopen: document mingw bug on directories
47100         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
47101         not allowing a stream visiting a directory, even though reading
47102         from such a stream is not portable.
47103
47104 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
47105
47106         * lib/poll.c: Rewrite.
47107         * modules/poll: Depend on alloca.
47108
47109 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
47110
47111         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
47112         instead define prototypes for a full set of wrappers.  Ensure
47113         that Cygwin does not use the compatibility code, which is only
47114         for MinGW.
47115         * lib/winsock.c: New.
47116         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
47117         * modules/sys_socket: Add lib/winsock.c.
47118
47119         * modules/poll-tests: Add errno and perror.
47120         * tests/test-poll.c: Use ioctl, not ioctlsocket.
47121
47122 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
47123
47124         * tests/test-poll.c: Downgrade minimum needed Winsock version.
47125
47126 2008-09-23  Bruno Haible  <bruno@clisp.org>
47127
47128         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
47129         * doc/glibc-functions/*: Likewise.
47130
47131 2008-09-23  Simon Josefsson  <simon@josefsson.org>
47132
47133         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
47134         success.
47135
47136 2008-09-22  Eric Blake  <ebb9@byu.net>
47137             Bruno Haible  <bruno@clisp.org>
47138
47139         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
47140         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
47141         supply %A but mishandle pseudo-NaN.
47142         Reported by Simon Josefsson.
47143
47144 2008-09-21  Bruno Haible  <bruno@clisp.org>
47145
47146         * tests/test-lock.c (main): Tweak skip message.
47147         * tests/test-tls.c (main): Likewise.
47148
47149 2008-09-21  Bruno Haible  <bruno@clisp.org>
47150
47151         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
47152         whether 'struct sigaction' has sa_sigaction here...
47153         (gl_PREREQ_SIG_HANDLER_H): ... not here.
47154         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
47155
47156 2008-09-21  Bruno Haible  <bruno@clisp.org>
47157
47158         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
47159         section.
47160         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
47161         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
47162         the new section.
47163         (Support for obsolete systems lacking POSIX:2001): New section.
47164         (String handling <string.h>): Move strdup to the new section.
47165         Suggested by Simon Josefsson and Paolo Bonzini.
47166
47167 2008-09-21  Bruno Haible  <bruno@clisp.org>
47168
47169         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
47170         exponents in %e and %g results on 'long double'. Needed for mingw's
47171         improved *printf functions.
47172         * tests/test-vasprintf-posix.c (test_function): Likewise.
47173         * tests/test-snprintf-posix.h (test_function): Likewise.
47174         * tests/test-sprintf-posix.h (test_function): Likewise.
47175         Reported by Eric Blake.
47176
47177 2008-09-21  Bruno Haible  <bruno@clisp.org>
47178
47179         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
47180         * tests/test-sprintf-posix.h (test_function): Likewise.
47181
47182 2008-09-21  Bruno Haible  <bruno@clisp.org>
47183
47184         * modules/getpass (Depends-on): Add strdup-posix.
47185
47186         New module 'strdup-posix'.
47187         * modules/strdup-posix: New file.
47188         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
47189         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
47190         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47191         REPLACE_STRDUP.
47192         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
47193         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
47194         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47195         strdup-posix.
47196
47197         * modules/strdup (Depends-on): Remove malloc-posix.
47198
47199 2008-09-20  Bruno Haible  <bruno@clisp.org>
47200
47201         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
47202         Wildenhues.
47203
47204 2008-09-20  Bruno Haible  <bruno@clisp.org>
47205
47206         Ensure that wint_t gets defined on IRIX 5.3.
47207         * lib/wchar.in.h (wint_t): Define if not defined by the system.
47208         * lib/wctype.in.h (wint_t): Likewise.
47209         (__wctype_wint_t): Remove type.
47210         (isw*): Use wint_t instead of __wctype_wint_t.
47211         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
47212         * modules/wchar (Files): Add m4/wint_t.m4.
47213         (Makefile.am): Substitute HAVE_WINT_T.
47214         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
47215         * tests/test-wctype.c: Check that wint_t is defined.
47216         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
47217         * doc/posix-headers/wctype.texi: Likewise.
47218         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47219
47220 2008-09-18  Bruno Haible  <bruno@clisp.org>
47221
47222         * gnulib-tool (func_exit): Update comment.
47223
47224 2008-09-18  Simon Josefsson  <simon@josefsson.org>
47225
47226         * modules/getaddrinfo (Depends-on): Remove strdup, this module
47227         assumes strdup exists and does not depend on strdup to return
47228         ENOMEM on out of memory conditions.
47229
47230 2008-09-18  Bruno Haible  <bruno@clisp.org>
47231
47232         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
47233         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
47234         digits for the exponent.
47235
47236 2008-09-18  Jim Meyering  <meyering@redhat.com>
47237             Bruno Haible  <bruno@clisp.org>
47238
47239         * lib/vasnprintf.c (decimal_point_char): Define also if
47240         NEED_PRINTF_INFINITE_LONG_DOUBLE.
47241
47242 2008-09-16  Bruno Haible  <bruno@clisp.org>
47243         and Eric Blake  <ebb9@byu.net>
47244
47245         vasnprintf: support Irix 5.3
47246         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
47247         that mishandle long double infinity.
47248         Reported by Tom G. Christensen.
47249
47250 2008-09-16  Bruno Haible  <bruno@clisp.org>
47251
47252         * doc/glibc-functions/scandir.texi: Mention the function is missing on
47253         Solaris 9.
47254         * doc/glibc-functions/alphasort.texi: Likewise.
47255         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
47256
47257 2008-09-16  Jim Meyering  <meyering@redhat.com>
47258
47259         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
47260         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
47261         a umask modification leak out of a subshell.  Otherwise, the
47262         opensolaris /bin/sh would be accepted and thus cause unwarranted
47263         failures in the coreutils test suite.
47264
47265 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
47266
47267         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
47268         to succeed.
47269
47270 2008-09-16  Jim Meyering  <meyering@redhat.com>
47271
47272         avoid spurious test failure when library is built without ACL support
47273         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
47274         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
47275         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
47276         * tests/test-copy-acl.sh: Likewise.
47277
47278 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47279
47280         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
47281         based on character occurrence counts.
47282
47283 2008-09-15  Eric Blake  <ebb9@byu.net>
47284
47285         tests: avoid some compiler warnings
47286         * tests/test-memchr.c (main): Pass NULL indirectly.
47287         * tests/test-closein.c (main): Avoid unused variable.
47288
47289 2008-09-15  Bruno Haible  <bruno@clisp.org>
47290
47291         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
47292         are missing on OpenBSD 4.0 individually.
47293         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47294
47295 2008-09-15  Bruno Haible  <bruno@clisp.org>
47296
47297         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
47298         * doc/posix-functions/strerror.texi: Mention also Cygwin.
47299         * doc/posix-functions/perror.texi: Likewise.
47300         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
47301         is missing.
47302         Reported by Eric Blake.
47303
47304         * lib/errno.in.h: Use replacement values >= 2000.
47305         Reported by Eric Blake.
47306
47307 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47308
47309         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
47310         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
47311         limit.
47312         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
47313         compareseq was aborted.
47314
47315 2008-09-14  Bruno Haible  <bruno@clisp.org>
47316
47317         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
47318         yvec_edit_count.
47319         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
47320         (fstrcmp_bounded): Simplify result computation accordingly.
47321
47322 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47323
47324         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
47325         (fstrcmp): Define in terms of fstrcmp_bounded.
47326         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
47327         lower_bound argument.
47328         Return quickly if the result is certainly < lower_bound.
47329         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
47330
47331 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47332
47333         * lib/diffseq.h (EARLY_ABORT): New macro.
47334         (compareseq): Change return type to bool. Return true when EARLY_ABORT
47335         evaluates to true.
47336
47337 2008-09-14  Bruno Haible  <bruno@clisp.org>
47338
47339         * modules/perror-tests: New file.
47340         * tests/test-perror.sh: New file.
47341         * tests/test-perror.c: New file.
47342
47343         New module 'perror'.
47344         * lib/stdio.in.h (perror): New declaration.
47345         * lib/perror.c: New file.
47346         * m4/perror.m4: New file.
47347         * modules/perror: New file.
47348         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
47349         * doc/posix-functions/perror.texi: Mention the perror module.
47350         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
47351         REPLACE_PERROR.
47352         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
47353         REPLACE_PERROR.
47354
47355 2008-09-14  Bruno Haible  <bruno@clisp.org>
47356
47357         * modules/stdio (Makefile.am): Reorder to match the order in
47358         lib/stdio.in.h.
47359         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47360
47361 2008-09-13  Bruno Haible  <bruno@clisp.org>
47362
47363         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
47364
47365 2008-09-13  Bruno Haible  <bruno@clisp.org>
47366
47367         Extend strerror to cover the added errno values.
47368         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
47369         (rpl_strerror): Provide error messages for the added errno values and
47370         for the WSA* values.
47371         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
47372         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
47373         strerror.
47374         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
47375         * modules/strerror (Depends-on): Add errno.
47376         * doc/posix-functions/strerror.texi: Document the change.
47377         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
47378         and EOVERFLOW.
47379
47380 2008-09-13  Bruno Haible  <bruno@clisp.org>
47381
47382         * modules/EOVERFLOW: Remove file.
47383         * m4/eoverflow.m4: Remove file.
47384         * modules/EOVERFLOW-tests: Remove file.
47385         * tests/test-EOVERFLOW.c: Remove file.
47386         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
47387         * modules/ftell (Depends-on): Likewise.
47388         * modules/getdelim (Depends-on): Likewise.
47389         * modules/getugroups (Depends-on): Likewise.
47390         * modules/poll (Depends-on): Likewise.
47391         * modules/snprintf (Depends-on): Likewise.
47392         * modules/sprintf-posix (Depends-on): Likewise.
47393         * modules/vasnprintf (Depends-on): Likewise.
47394         * modules/vasprintf (Depends-on): Likewise.
47395         * modules/vfprintf-posix (Depends-on): Likewise.
47396         * modules/vsnprintf (Depends-on): Likewise.
47397         * modules/vsprintf-posix (Depends-on): Likewise.
47398         * modules/xvasprintf (Depends-on): Likewise.
47399         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47400         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
47401         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
47402         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
47403         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47404         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
47405         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
47406         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
47407         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47408         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
47409         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
47410         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
47411         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47412         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
47413         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
47414         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
47415         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47416         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
47417         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
47418         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
47419         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47420         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
47421         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
47422         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
47423         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
47424         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47425         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
47426         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
47427         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
47428         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
47429         * MODULES.html.sh: Remove EOVERFLOW.
47430         * NEWS: Mention the change.
47431
47432 2008-09-13  Bruno Haible  <bruno@clisp.org>
47433
47434         * modules/errno-tests: New file.
47435         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
47436
47437         * lib/errno.in.h: New file.
47438         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
47439         * modules/errno: New file.
47440         * doc/posix-headers/errno.texi: Update documentation.
47441         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
47442
47443 2008-09-13  Bruno Haible  <bruno@clisp.org>
47444
47445         * tests/test-poll.c: Use #if for native Windows, rather than testing
47446         __MSVCRT__.
47447
47448 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47449             Bruno Haible  <bruno@clisp.org>
47450
47451         * lib/glob.c: Don't include <pwd.h> on native Windows.
47452         (WINDOWS32): New macro.
47453         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
47454
47455 2008-09-13  Bruno Haible  <bruno@clisp.org>
47456
47457         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
47458         (ETIMEDOUT): Remove macro.
47459         (glthread_cond_timedwait_multithreaded): New declaration.
47460         (glthread_cond_timedwait): Use it.
47461         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
47462         (glthread_cond_timedwait_multithreaded): New function.
47463
47464 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47465
47466         * modules/poll-tests: Do not check for io.h.
47467         * tests/test-poll.c: Check for __MSVCRT__ instead.
47468
47469 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47470
47471         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
47472         * modules/poll-tests: Add inet_pton, stdbool, sockets.
47473         * tests/test-poll.c: Use them.  Use _pipe on Windows.
47474
47475 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47476
47477         * modules/poll-tests: New.
47478         * tests/test-poll.c: New.
47479
47480 2008-09-12  Eric Blake  <ebb9@byu.net>
47481
47482         frexp: test for NetBSD failure on -0.0
47483         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
47484         not all, bugs from NetBSD 3.0 have been fixed.
47485         * doc/posix-functions/frexp.texi (frexp): Document bug.
47486         Reported by Thomas Klausner.
47487
47488         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
47489         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
47490         literal -0.0.
47491         Reported by Jonathan C. Patschke <jp@centtech.com>.
47492
47493 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47494
47495         * lib/glthread/cond.h: Use dummy implementation also if
47496         USE_WIN32_THREADS.
47497
47498 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47499
47500         * modules/fnmatch-posix (License): Change to LGPLv2+.
47501         * modules/fnmatch-gnu (License): Likewise.
47502
47503 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47504
47505         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
47506
47507 2008-09-11  Jim Meyering  <meyering@redhat.com>
47508
47509         * users.txt: Add gtk-vnc.
47510
47511 2008-09-08  Simon Josefsson  <simon@josefsson.org>
47512
47513         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
47514         rotate amounts.
47515
47516         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
47517         required for 16-bit and 8-bit rotates.
47518         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
47519         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
47520         UINT8_MAX instead of hard-coded constants.
47521         Suggested by Paul Eggert.
47522
47523 2008-09-07  Bruno Haible  <bruno@clisp.org>
47524
47525         * tests/test-striconveh.c (main): Check behaviour when converting from
47526         UTF-7.
47527
47528         Make striconveh work better with stateful encodings.
47529         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
47530         that iconv does not increment the inptr when returning -1/EINVAL.
47531
47532 2008-09-07  Bruno Haible  <bruno@clisp.org>
47533
47534         * build-aux/config.rpath: Update according to libtool-2.2.6.
47535         * build-aux/config.libpath: Likewise.
47536
47537 2008-09-06  Bruno Haible  <bruno@clisp.org>
47538
47539         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
47540         * lib/freadptr.c (freadptr): Likewise.
47541         * lib/freadseek.c (freadptrinc): Likewise.
47542         Reported by Simon Josefsson.
47543
47544 2008-09-06  Bruno Haible  <bruno@clisp.org>
47545
47546         * modules/freadptr (License): Change to LGPLv2+.
47547         * modules/freadseek (License): Likewise.
47548         Suggested by Eric Blake.
47549
47550         * modules/memchr2 (License): Change to LGPLv2+.
47551         Approved by Eric Blake.
47552
47553 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47554             Bruno Haible  <bruno@clisp.org>
47555
47556         Make gnulib-tool work with native 'sed' on AIX.
47557         * gnulib-tool (sed_noop): New variable.
47558         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
47559         func_add_or_update, func_create_testdir): Use it to initialize sed
47560         script variables.
47561         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47562
47563 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
47564             Bruno Haible  <bruno@clisp.org>
47565
47566         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
47567         also works after #include directives.
47568
47569 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
47570
47571         getdate.y: reject an out-of-range timezone value
47572         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
47573         the range [-24...+24].  When specified with only one or two digits,
47574         * tests/test-getdate.c: Tests for the fix.
47575         * doc/getdate.texi: Document this change.
47576
47577 2008-09-03  Bruno Haible  <bruno@clisp.org>
47578
47579         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
47580
47581 2008-09-02  Simon Josefsson  <simon@josefsson.org>
47582
47583         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
47584         <bruce.korb@gmail.com> with ideas from Ben Pfaff
47585         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
47586         Blake <ebb9@byu.net>.
47587
47588         * tests/test-bitrotate.c: Add more test vectors.
47589
47590 2008-09-02  Eric Blake  <ebb9@byu.net>
47591
47592         vasnprintf-posix: handle large precision via %.*d
47593         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
47594         when handling it ourselves.
47595         * tests/test-vasnprintf-posix.c (test_function): Add test.
47596         * tests/test-snprintf-posix.h (test_function): Likewise.
47597         * tests/test-sprintf-posix.h (test_function): Likewise.
47598         * tests/test-vasprintf-posix.c (test_function): Likewise.
47599         Reported by Alain Guibert.
47600
47601 2008-09-01  Eric Blake  <ebb9@byu.net>
47602
47603         c-stack: make configure-time check more robust
47604         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
47605         successful sigaction call.
47606         Reported by Tom G. Christensen.
47607
47608 2008-09-01  Bruno Haible  <bruno@clisp.org>
47609
47610         New module 'findprog-lgpl'.
47611         * modules/findprog-lgpl: New file.
47612         * lib/findprog-lgpl.c: New file.
47613         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
47614         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
47615         to decide whether to use strdup or xstrdup, concatenated_filename or
47616         xconcatenated_filename.
47617
47618 2008-09-01  Bruno Haible  <bruno@clisp.org>
47619
47620         Split module 'concat-filename' into 'concat-filename' (LGPL) and
47621         'xconcat-filename' (GPL).
47622         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
47623         (License): Change to LGPLv2+.
47624         * modules/xconcat-filename: New file.
47625         * lib/concat-filename.h (concatenated_filename): Change specification.
47626         (xconcatenated_filename): New declaration.
47627         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
47628         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
47629         memory situations.
47630         * lib/xconcat-filename.c: New file.
47631         * NEWS: Mention the change.
47632         * lib/findprog.c: Include concat-filename.h, not filename.h.
47633         (find_in_path): Use xconcatenated_filename instead of
47634         concatenated_filename.
47635         * lib/javacomp.c: Include concat-filename.h, not filename.h.
47636         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
47637         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
47638         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
47639         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
47640         instead of concatenated_filename.
47641         * lib/javaexec.c: Include concat-filename.h, not filename.h.
47642         (execute_java_class): Use xconcatenated_filename instead of
47643         concatenated_filename.
47644         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
47645         * modules/javacomp (Depends-on): Likewise.
47646         * modules/javaexec (Depends-on): Likewise.
47647
47648 2008-09-01  Bruno Haible  <bruno@clisp.org>
47649
47650         Split module 'filename' into 'filename' and 'concat-filename'.
47651         * modules/filename: Keep only lib/filename.h.
47652         (License): Change to LGPLv2+.
47653         * modules/concat-filename: New file, extracted from modules/filename.
47654         * lib/filename.h (concatenated_filename): Remove declaration.
47655         * lib/concat-filename.h: New file, extracted from lib/filename.h.
47656         * lib/concat-filename.c: Include concat-filename.h.
47657         * NEWS: Mention the change.
47658
47659 2008-09-01  Simon Josefsson  <simon@josefsson.org>
47660
47661         * lib/bitrotate.h (rotl8, rotr8): Add.
47662
47663         * modules/bitrotate (configure.ac): Need
47664         AC_REQUIRE([AC_C_INLINE]).
47665         (Description): Mention stdint.h.  Reported by Bruno Haible
47666         <bruno@clisp.org>.
47667
47668         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
47669         Paolo Bonzini <bonzini@gnu.org>.
47670
47671 2008-08-31  Bruno Haible  <bruno@clisp.org>
47672
47673         Assume Solaris specific bi-arch conventions on Solaris systems.
47674         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
47675         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
47676         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
47677         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
47678         like acl_libdirstem.
47679         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
47680         acl_libdirstem.
47681         * NEWS: Mention the change.
47682         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
47683
47684 2008-08-31  Jim Meyering  <meyering@redhat.com>
47685
47686         * lib/strftime.h: Add comments describing the two added arguments.
47687
47688         remove duplicate #include directives
47689         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
47690         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
47691
47692 2008-08-31  Bruno Haible  <bruno@clisp.org>
47693
47694         New module 'sigpipe-die'.
47695         * modules/sigpipe-die: New file.
47696         * lib/sigpipe-die.h: New file.
47697         * lib/sigpipe-die.c: New file.
47698         * MODULES.html.sh (Signal handling): Add sigpipe-die.
47699
47700 2008-08-31  Bruno Haible  <bruno@clisp.org>
47701
47702         Don't override previously installed signal handlers.
47703         * lib/fatal-signal.c (saved_sigactions): New variable.
47704         (uninstall_handlers): Reset the signal to the saved handler, not
47705         to SIG_DFL (except when ignored).
47706         (install_handlers): Save the previous handlers.
47707
47708 2008-08-30  Bruno Haible  <bruno@clisp.org>
47709
47710         * gnulib-tool (func_reset_sigpipe): New function.
47711         (func_get_automake_snippet, func_modules_transitive_closure,
47712         func_import): Invoke it before a join command that reads from stdin,
47713         to avoid "echo: write error: Broken pipe" error messages on stderr.
47714         Reported by Sam Steingold <sds@gnu.org>.
47715
47716 2008-08-30  Bruno Haible  <bruno@clisp.org>
47717
47718         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
47719         Code copied from m4/open.m4.
47720         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
47721         access and the filename ends in a slash. Code copied from lib/open.c.
47722         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
47723         * tests/test-fopen.c (main): Check against bug with trailing slash.
47724
47725 2008-08-29  Bruno Haible  <bruno@clisp.org>
47726
47727         Avoid some "gcc -pedantic" warnings.
47728         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
47729         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
47730         * lib/dirent.in.h: Likewise.
47731         * lib/fcntl.in.h: Likewise.
47732         * lib/float.in.h: Likewise.
47733         * lib/iconv.in.h: Likewise.
47734         * lib/inttypes.in.h: Likewise.
47735         * lib/locale.in.h: Likewise.
47736         * lib/math.in.h: Likewise.
47737         * lib/netinet_in.in.h: Likewise.
47738         * lib/search.in.h: Likewise.
47739         * lib/signal.in.h: Likewise.
47740         * lib/stdarg.in.h: Likewise.
47741         * lib/stdint.in.h: Likewise.
47742         * lib/stdio.in.h: Likewise.
47743         * lib/stdlib.in.h: Likewise.
47744         * lib/string.in.h: Likewise.
47745         * lib/strings.in.h: Likewise.
47746         * lib/sys_select.in.h: Likewise.
47747         * lib/sys_socket.in.h: Likewise.
47748         * lib/sys_stat.in.h: Likewise.
47749         * lib/sys_time.in.h: Likewise.
47750         * lib/sysexits.in.h: Likewise.
47751         * lib/time.in.h: Likewise.
47752         * lib/unistd.in.h: Likewise.
47753         * lib/wchar.in.h: Likewise.
47754         * lib/wctype.in.h: Likewise.
47755         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
47756         * modules/fchdir (Makefile.am): Likewise.
47757         * modules/fcntl (Makefile.am): Likewise.
47758         * modules/float (Makefile.am): Likewise.
47759         * modules/iconv_open (Makefile.am): Likewise.
47760         * modules/inttypes (Makefile.am): Likewise.
47761         * modules/locale (Makefile.am): Likewise.
47762         * modules/math (Makefile.am): Likewise.
47763         * modules/netinet_in (Makefile.am): Likewise.
47764         * modules/search (Makefile.am): Likewise.
47765         * modules/signal (Makefile.am): Likewise.
47766         * modules/stdarg (Makefile.am): Likewise.
47767         * modules/stdint (Makefile.am): Likewise.
47768         * modules/stdio (Makefile.am): Likewise.
47769         * modules/stdlib (Makefile.am): Likewise.
47770         * modules/string (Makefile.am): Likewise.
47771         * modules/strings (Makefile.am): Likewise.
47772         * modules/sys_select (Makefile.am): Likewise.
47773         * modules/sys_socket (Makefile.am): Likewise.
47774         * modules/sys_stat (Makefile.am): Likewise.
47775         * modules/sys_time (Makefile.am): Likewise.
47776         * modules/sysexits (Makefile.am): Likewise.
47777         * modules/time (Makefile.am): Likewise.
47778         * modules/unistd (Makefile.am): Likewise.
47779         * modules/wchar (Makefile.am): Likewise.
47780         * modules/wctype (Makefile.am): Likewise.
47781         Reported by Reuben Thomas <rrt@sc3d.org>.
47782
47783 2008-08-29  Bruno Haible  <bruno@clisp.org>
47784
47785         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
47786         any more.
47787
47788 2008-08-29  Simon Josefsson  <simon@josefsson.org>
47789
47790         * MODULES.html.sh (Misc): Add bitrotate.
47791
47792         * modules/bitrotate: New file.
47793
47794         * lib/bitrotate.h: New file.
47795
47796         * modules/bitrotate-tests: New file.
47797
47798         * tests/test-bitrotate.c: New file.
47799
47800         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
47801         on the bitrotate module.
47802
47803         * lib/arctwo.c: Use new bitrotate module.
47804
47805 2008-08-29  Jim Meyering  <meyering@redhat.com>
47806
47807         bootstrap: merge changes from coreutils
47808         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
47809         of copied files.  Remove a kludge, now that this is fixed.
47810         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
47811         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
47812         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
47813
47814 2008-08-29  Bruno Haible  <bruno@clisp.org>
47815
47816         * MODULES.html.sh: Remove --cvs-urls option.
47817
47818 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
47819
47820         maint.mk: adjust to file name change
47821         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
47822
47823 2008-08-28  Jim Meyering  <meyering@redhat.com>
47824
47825         * modules/getndelim2 (License): Relicense to LGPLv2+.
47826         Approved by Richard Stallman for the version of 1995, and by
47827         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
47828
47829 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
47830
47831         * lib/getdelim.c (flockfile, funlockfile): Make all of them
47832         dummy if one is not available.  Do not touch them if
47833         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
47834         (getc_maybe_unlocked): New.
47835         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
47836
47837 2008-08-26  Eric Blake  <ebb9@byu.net>
47838
47839         doc/INSTALL: resync from autoconf
47840         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47841         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47842         moving...
47843         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47844         * INSTALL: Regenerate.
47845         * INSTALL.ISO: New file.
47846         * INSTALL.UTF-8: Likewise.
47847
47848 2008-08-26  Jim Meyering  <meyering@redhat.com>
47849
47850         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47851         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47852         these definitions conditional, so that they may be overridden, too.
47853
47854 2008-08-26  Bruno Haible  <bruno@clisp.org>
47855
47856         Generate INSTALL file variants with prettier quotes.
47857         * doc/Makefile (INSTALL_PRELUDE): New macro.
47858         (INSTALL): Use it.
47859         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47860
47861 2008-08-26  Bruno Haible  <bruno@clisp.org>
47862
47863         Run makeinfo in an English locale.
47864         * doc/Makefile (MAKEINFO): New variable.
47865
47866 2008-08-26  Bruno Haible  <bruno@clisp.org>
47867
47868         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47869         Suggested by Eric Blake.
47870
47871 2008-08-25  Bruno Haible  <bruno@clisp.org>
47872
47873         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47874
47875 2008-08-25  Eric Blake  <ebb9@byu.net>
47876
47877         c-stack: test that stack overflow can be caught
47878         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47879         that platform allows handling stack overflow; at least OS/2 EMX
47880         has sigaltstack, but crashes before transferring control to
47881         handler on stack overflow.
47882         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47883         check for HAVE_STACK_OVERFLOW_HANDLING.
47884         Reported by Elbert Pol.
47885
47886 2008-08-25  Bruno Haible  <bruno@clisp.org>
47887
47888         * doc/posix-functions/strftime.texi: Fix description of strftime
47889         module.
47890
47891 2008-08-24  Bruno Haible  <bruno@clisp.org>
47892
47893         * tests/uniwidth/test-uc_width2.c: New file.
47894         * tests/uniwidth/test-uc_width2.sh: New file.
47895         * modules/uniwidth/width-tests (Files): Add the new files.
47896         (TESTS): Add uniwidth/test-uc_width2.sh.
47897         (TESTS_ENVIRONMENT): New variable.
47898         (check_PROGRAMS): Add test-uc_width2.
47899         (test_uc_width2_SOURCES): New variable.
47900
47901         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47902         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47903         not 0x00AB.
47904         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47905
47906 2008-08-22  Eric Blake  <ebb9@byu.net>
47907
47908         test-lock, test-tls: mention why a test is skipped
47909         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47910         skipped.
47911         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47912
47913         count-one-bits: relax license
47914         * modules/count-one-bits (License): Relicense to LGPLv2+.
47915         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47916
47917 2008-08-22  Andreas Schwab  <schwab@suse.de>
47918
47919         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47920         Remove spurious space in assignment.
47921
47922 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47923
47924         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47925         Paul Eggert <eggert@CS.UCLA.EDU>.
47926
47927 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47928
47929         * modules/gettext: Add m4/threadlib.m4.
47930
47931 2008-08-19  Eric Blake  <ebb9@byu.net>
47932
47933         test-c-stack: fix compilation failure on FreeBSD 5.0
47934         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47935         headers before <sys/resource.h>.
47936         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47937         the bug.
47938         Reported by Nelson H. F. Beebe.
47939
47940         strverscmp: migrate from "strverscmp.h" to <string.h>
47941         * modules/string (Makefile.am): Add new hooks.
47942         * modules/strverscmp (Files): Remove strverscmp.h.
47943         (Depends-on): Add string.
47944         (configure.ac): Add indicator.
47945         (Include): Mention new header.
47946         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47947         defaults.
47948         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47949         results.
47950         * lib/strverscmp.h: Delete.
47951         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47952         * tests/test-strverscmp.c (includes): Adjust client.
47953         * lib/check-version.c (includes): Likewise.
47954         * NEWS: Document the change.
47955
47956         strverscmp: add unit test
47957         * modules/strverscmp-tests: New file.
47958         * tests/test-strverscmp.c: Likewise.
47959
47960 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47961
47962         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47963         regarding Windows crypto stuff, from Mono.
47964
47965 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47966
47967         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47968         if present, for intel RND.  Return error on failures.
47969
47970 2008-08-18  Ben Pfaff  <blp@gnu.org>
47971
47972         gitlog-to-changelog: give better diagnostic for failed pipe-open
47973         * build-aux/gitlog-to-changelog: Improve error message: suggest
47974         that the version of Git may be too old.
47975
47976 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47977
47978         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47979         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47980
47981 2008-08-18  Bruno Haible  <bruno@clisp.org>
47982
47983         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47984         pthread_in_use().
47985
47986 2008-08-18  Bruno Haible  <bruno@clisp.org>
47987
47988         * lib/glthread/threadlib.c: Include <pthread.h>.
47989
47990 2008-08-18  Bruno Haible  <bruno@clisp.org>
47991
47992         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47993         glthread_recursive_lock_* macros.
47994         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47995         Fix syntax error.
47996
47997 2008-08-18  Bruno Haible  <bruno@clisp.org>
47998
47999         * lib/glthread/thread.c: Avoid forcing a context switch right after
48000         thread creation.
48001
48002 2008-08-17  Bruno Haible  <bruno@clisp.org>
48003
48004         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
48005         * lib/glthread/thread.h: Provide Win32 specific implementation.
48006         * modules/thread (Files): Add lib/glthread/thread.c.
48007         (Depends-on): Add lock.
48008         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
48009
48010 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48011
48012         New module 'yield'.
48013         * modules/yield: New file.
48014         * lib/glthread/yield.h: New file.
48015         * m4/yield.m4: New file.
48016         * MODULES.html.sh (Multithreading): Add yield.
48017
48018 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48019
48020         New module 'thread'.
48021         * modules/thread: New file.
48022         * lib/glthread/thread.h: New file.
48023         * m4/thread.m4: New file.
48024         * MODULES.html.sh (Multithreading): Add thread.
48025
48026 2008-08-17  Bruno Haible  <bruno@clisp.org>
48027
48028         * lib/glthread/lock.h: Include <stdlib.h> always.
48029         * lib/glthread/tls.h: Likewise.
48030         * lib/glthread/cond.h: Likewise.
48031
48032 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48033
48034         New module 'cond'.
48035         * modules/cond: New file.
48036         * lib/glthread/cond.h: New file.
48037         * lib/glthread/cond.c: New file.
48038         * m4/cond.m4: New file.
48039         * MODULES.html.sh (Multithreading): Add cond.
48040
48041 2008-08-16  Eric Blake  <ebb9@byu.net>
48042
48043         c-stack: fix regression on Irix 5.3 from 2008-06-21
48044         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
48045         sa_sigaction...
48046         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
48047         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
48048         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
48049         * modules/signal (Makefile.am): Use the value.
48050         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
48051         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
48052         * doc/posix-headers/signal.texi (signal.h): Document this
48053         portability issue.
48054         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
48055         Reported by Tom G. Christensen.
48056
48057 2008-08-17  Bruno Haible  <bruno@clisp.org>
48058
48059         New module 'threadlib'.
48060         * modules/threadlib: New file.
48061         * lib/glthread/threadlib.c: New file, extracted from
48062         lib/glthread/lock.c.
48063         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
48064         functions.
48065         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
48066         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
48067         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
48068         macros.
48069         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
48070         (gl_DISABLE_THREADS): Remove macro.
48071         * modules/lock (Files): Remove build-aux/config.rpath.
48072         (Depends-on): Remove havelib. Add threadlib.
48073         (configure.ac-early): Remove section.
48074         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
48075         * modules/tls (Depends-on): Remove lock. Add threadlib.
48076         (Link): New section, copied from threadlib.
48077         * MODULES.html.sh (Multithreading): Add threadlib.
48078
48079 2008-08-14  Bruno Haible  <bruno@clisp.org>
48080
48081         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
48082         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
48083         glthread_rwlock_unlock, glthread_rwlock_destroy,
48084         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
48085         glthread_recursive_lock_destroy): Define as macros always.
48086         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
48087         glthread_lock_lock.
48088         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
48089         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
48090         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
48091         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
48092         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
48093         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
48094         (glthread_recursive_lock_lock_func): Renamed from
48095         glthread_recursive_lock_lock.
48096         (glthread_recursive_lock_unlock_func): Renamed from
48097         glthread_recursive_lock_unlock.
48098         (glthread_recursive_lock_destroy_func): Renamed from
48099         glthread_recursive_lock_destroy.
48100
48101 2008-08-14  Bruno Haible  <bruno@clisp.org>
48102
48103         * lib/glthread/lock.h: Renamed from lib/lock.h.
48104         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
48105         * lib/glthread/tls.h: Renamed from lib/tls.h.
48106         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
48107         * lib/fstrcmp.c: Update includes.
48108         * lib/strsignal.c: Update includes.
48109         * modules/lock (Files, Makefile.am): Update.
48110         (Include): Change to "glthread/lock.h".
48111         * modules/tls (Files, Makefile.am): Update.
48112         (Include): Change to "glthread/tls.h".
48113         * tests/test-lock.c: Update includes.
48114         * tests/test-tls.c: Update includes.
48115         * NEWS: Mention the renamed header files.
48116
48117 2008-08-11  Jim Meyering  <meyering@redhat.com>
48118
48119         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
48120
48121 2008-08-11  Eric Blake  <ebb9@byu.net>
48122
48123         test-c-stack: avoid C99-ism
48124         * tests/test-c-stack.c (main): Fix whitespace, move declaration
48125         before statement.
48126         Reported by Alain Guibert.
48127
48128 2008-08-10  Jim Meyering  <meyering@redhat.com>
48129
48130         ensure that return value of uinttostr et al are not ignored
48131         * lib/inttostr.h (__GNUC_PREREQ): Define.
48132         (__attribute_warn_unused_result__): Define.
48133         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
48134
48135 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
48136
48137         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
48138         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
48139
48140 2008-08-07  Jim Meyering  <meyering@redhat.com>
48141
48142         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
48143
48144         * modules/mkstemp (License): Relicense under LGPLv2+.
48145         * modules/tempname (License): Likewise.
48146
48147 2008-08-06  Bruno Haible  <bruno@clisp.org>
48148
48149         * lib/poll.c (poll): Further micro-optimization.
48150
48151 2008-08-06  Jim Meyering  <meyering@redhat.com>
48152
48153         inet_pton.c: use locale-independent tolower
48154         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
48155         (inet_pton6): Use c_tolower rather than tolower.
48156         * modules/inet_pton (Depends-on): Add c-ctype.
48157
48158 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
48159
48160         * lib/poll.c (poll): Avoid division when timeout is 0, cache
48161         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
48162
48163 2008-08-06  Jim Meyering  <meyering@redhat.com>
48164
48165         * modules/inet_pton (License): Relicense under LGPLv2+.
48166
48167 2008-08-03  Bruno Haible  <bruno@clisp.org>
48168
48169         Additional non-aborting API for lock and tls.
48170         * lib/lock.h: Include <errno.h>.
48171         (glthread_lock_init): New macro/function.
48172         (gl_lock_init): Define as wrapper around glthread_lock_init.
48173         (glthread_lock_lock): New macro/function.
48174         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
48175         (glthread_lock_unlock): New macro/function.
48176         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
48177         (glthread_lock_destroy): New macro/function.
48178         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
48179         (glthread_rwlock_init): New macro/function.
48180         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
48181         (glthread_rwlock_rdlock): New macro/function.
48182         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
48183         (glthread_rwlock_wrlock): New macro/function.
48184         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
48185         (glthread_rwlock_unlock): New macro/function.
48186         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
48187         (glthread_rwlock_destroy): New macro/function.
48188         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
48189         (glthread_recursive_lock_init): New macro/function.
48190         (gl_recursive_lock_init): Define as wrapper around
48191         glthread_recursive_lock_init.
48192         (glthread_recursive_lock_lock): New macro/function.
48193         (gl_recursive_lock_lock): Define as wrapper around
48194         glthread_recursive_lock_lock.
48195         (glthread_recursive_lock_unlock): New macro/function.
48196         (gl_recursive_lock_unlock): Define as wrapper around
48197         glthread_recursive_lock_unlock.
48198         (glthread_recursive_lock_destroy): New macro/function.
48199         (gl_recursive_lock_destroy): Define as wrapper around
48200         glthread_recursive_lock_destroy.
48201         (glthread_once): New macro/function.
48202         (gl_once): Define as wrapper around glthread_once.
48203         Update function declarations.
48204         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
48205         glthread_rwlock_init. Return error code.
48206         (glthread_rwlock_rdlock_multithreaded): Renamed from
48207         glthread_rwlock_rdlock. Return error code.
48208         (glthread_rwlock_wrlock_multithreaded): Renamed from
48209         glthread_rwlock_wrlock. Return error code.
48210         (glthread_rwlock_unlock_multithreaded): Renamed from
48211         glthread_rwlock_unlock. Return error code.
48212         (glthread_rwlock_destroy_multithreaded): Renamed from
48213         glthread_rwlock_destroy. Return error code.
48214         (glthread_recursive_lock_init_multithreaded): Renamed from
48215         glthread_recursive_lock_init. Return error code.
48216         (glthread_recursive_lock_lock_multithreaded): Renamed from
48217         glthread_recursive_lock_lock. Return error code.
48218         (glthread_recursive_lock_unlock_multithreaded): Renamed from
48219         glthread_recursive_lock_unlock. Return error code.
48220         (glthread_recursive_lock_destroy_multithreaded): Renamed from
48221         glthread_recursive_lock_destroy. Return error code.
48222         (glthread_once_call): Make static.
48223         (glthread_once_multithreaded): Renamed from glthread_once.
48224         * lib/tls.h: Include <errno.h>.
48225         (glthread_tls_key_init): New macro/function.
48226         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
48227         (glthread_tls_set): New macro/function.
48228         (gl_tls_set): Define as wrapper around glthread_tls_set.
48229         (glthread_tls_key_destroy): New macro/function.
48230         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
48231         Update function declarations.
48232         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
48233         glthread_tls_get.
48234         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48235
48236 2008-08-04  Eric Blake  <ebb9@byu.net>
48237
48238         gnumakefile: use space, not TAB, outside of targets
48239         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
48240
48241 2008-08-02  Jim Meyering  <meyering@redhat.com>
48242
48243         getdate.y: avoid locale-dependent date parsing failure
48244         In Turkish locales, getdate would fail to recognize keywords
48245         containing a lowercase "i".  The solution is not to rely on
48246         locale-sensitive case-conversion.
48247         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
48248         (lookup_word): Use c_toupper in place of toupper.
48249         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
48250         Reported by Vefa Bicakci <bicave@superonline.com> in
48251         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
48252         * modules/getdate (Depends-on): Add c-ctype.
48253
48254 2008-08-02  Bruno Haible  <bruno@clisp.org>
48255
48256         * gnulib-tool (func_import): When updating or creating a .gitignore
48257         file, prepend each added line with a slash, and ignore leading slashes
48258         from the existing lines.
48259         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
48260
48261 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48262
48263         Portability fix for GNU make 3.79.1.
48264         * top/GNUmakefile: Avoid 'else COND', which older GNU make
48265         versions do not understand.
48266
48267 2008-08-01  Bruno Haible  <bruno@clisp.org>
48268
48269         Work around bug of HP-UX 10.20 cc with -0.0 literal.
48270         * tests/test-isnanf.h (zero): New variable.
48271         (main): Avoid literal -0.0f.
48272         * tests/test-isnand.h (zero): New variable.
48273         (main): Avoid literal -0.0.
48274         * tests/test-isnanl.h (zero): New variable.
48275         (main): Avoid literal -0.0L.
48276         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
48277         (test_float, test_double, test_long_double): Avoid literals -0.0f,
48278         -0.0, -0.0L.
48279         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
48280         (test_signbitd): Avoid literal -0.0.
48281         (test_signbitl): Avoid literal -0.0L.
48282         * tests/test-ceilf1.c (zero): New variable.
48283         (main): Avoid literal -0.0f.
48284         * tests/test-ceill.c (zero): New variable.
48285         (main): Avoid literal -0.0L.
48286         * tests/test-floorf1.c (zero): New variable.
48287         (main): Avoid literal -0.0f.
48288         * tests/test-floorl.c (zero): New variable.
48289         (main): Avoid literal -0.0L.
48290         * tests/test-roundf1.c (zero): New variable.
48291         (main): Avoid literal -0.0f.
48292         * tests/test-round1.c (zero): New variable.
48293         (main): Avoid literal -0.0.
48294         * tests/test-roundl.c (zero): New variable.
48295         (main): Avoid literal -0.0L.
48296         * tests/test-truncf1.c (zero): New variable.
48297         (main): Avoid literal -0.0f.
48298         * tests/test-trunc1.c (zero): New variable.
48299         (main): Avoid literal -0.0.
48300         * tests/test-truncl.c (zero): New variable.
48301         (main): Avoid literal -0.0L.
48302         * tests/test-frexp.c (zero): New variable.
48303         (main): Avoid literal -0.0.
48304         * tests/test-frexpl.c (zero): New variable.
48305         (main): Avoid literal -0.0L.
48306         * tests/test-ldexpl.c (zero): New variable.
48307         (main): Avoid literal -0.0L.
48308         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
48309         (zerod, zerol): New variables.
48310         (test_function): Avoid literals -0.0, -0.0L.
48311         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
48312         (zerod, zerol): New variables.
48313         (test_function): Avoid literals -0.0, -0.0L.
48314         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
48315         (zerod, zerol): New variables.
48316         (test_function): Avoid literals -0.0, -0.0L.
48317         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
48318         (zerod, zerol): New variables.
48319         (test_function): Avoid literals -0.0, -0.0L.
48320         * tests/test-strtod.c (zero): New variable.
48321         (main): Avoid literal -0.0.
48322         Reported by Jonathan C. Patschke <jp@centtech.com>.
48323
48324 2008-07-31  Jim Meyering  <meyering@redhat.com>
48325
48326         sha256.h: correct definition of SHA224_DIGEST_SIZE
48327         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
48328         Reported by Paulie Pena IV <paulie4@gmail.com>.
48329         Define as 224 / 8, rather than as a literal.
48330         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
48331         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
48332         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
48333
48334 2008-07-31  Bruno Haible  <bruno@clisp.org>
48335
48336         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
48337         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
48338         Reported by Jonathan Patschke <jp@centtech.com>.
48339
48340 2008-07-31  Bruno Haible  <bruno@clisp.org>
48341
48342         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
48343         Reported by Paolo Bonzini <bonzini@gnu.org>.
48344
48345 2008-07-30  Eric Blake  <ebb9@byu.net>
48346
48347         test-strtod: allow compilation without -lm
48348         * tests/test-strtod.c (main): Avoid link dependence on fabs.
48349         Reported by Dennis Clarke <blastwave@gmail.com>.
48350
48351 2008-07-28  Jim Meyering  <meyering@redhat.com>
48352
48353         bootstrap: work also when there are no .po files in po/
48354         * build-aux/bootstrap (update_po_files): Complete the change
48355         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
48356
48357 2008-07-27  Jim Meyering  <meyering@redhat.com>
48358
48359         * users.txt: Add zile.
48360
48361 2008-07-26  Ben Pfaff  <blp@gnu.org>
48362
48363         Add missing dependencies on new m4/exponent[fdl].m4 files.
48364         * modules/isnanf-nolibm: Add m4/exponentf.m4.
48365         * modules/isnand-nolibm: Add m4/exponentd.m4.
48366         * modules/isnanl-nolibm: Add m4/exponentl.m4.
48367         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
48368         m4/isnan[fdl].m4, because the macros actually used moved.
48369         Reported by Jim Meyering.
48370
48371 2008-07-14  Ben Pfaff  <blp@gnu.org>
48372
48373         Add isinf module.
48374         * lib/isinf.c: New file.
48375         * lib/math.in.h: Define isinf macro if we have decided to replace
48376         it.
48377         * m4/isinf.m4: New file.
48378         * m4/math_h.m4: Initialize and substitute variables for isinf
48379         module.
48380         * modules/isinf: New file.
48381         * modules/isinf-tests: New file.
48382         * modules/math: Add substitutions for new module.
48383         * tests/test-isinf.c: New file.
48384         * doc/posix-functions/isinf.texi: Mention new module.
48385         * MODULES.html.sh: Mention new module.
48386
48387 2008-07-14  Ben Pfaff  <blp@gnu.org>
48388
48389         Factor out some macros for use by additional modules.
48390         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
48391         exponentf.m4.
48392         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
48393         exponentd.m4.
48394         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
48395         file exponentl.m4.
48396         * m4/exponentf.m4: New file.
48397         * m4/exponentd.m4: New file.
48398         * m4/exponentl.m4: New file.
48399         * modules/isnanf: Use new file m4/exponentf.m4.
48400         * modules/isnand: Use new file m4/exponentd.m4.
48401         * modules/isnanl: Use new file m4/exponentl.m4.
48402
48403 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
48404
48405         mktime.c: normalize tp->tm_isdst value to -1/0/1.
48406         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
48407         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
48408         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
48409
48410         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
48411         readlink on platforms without PATH_MAX.
48412
48413 2008-07-21  Eric Blake  <ebb9@byu.net>
48414
48415         Warn, not fail, on stale version.
48416         * top/GNUmakefile (_curr-ver): Tone down previous patch.
48417
48418         Don't allow installation with stale devel version number.
48419         * top/GNUmakefile (_is-install-target): New macro.
48420         (_curr-ver): Forbid installation with stale version number.
48421
48422 2008-07-20  Bruno Haible  <bruno@clisp.org>
48423
48424         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
48425         TESTS_ENVIRONMENT.
48426         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
48427
48428 2008-07-20  Bruno Haible  <bruno@clisp.org>
48429
48430         * lib/c-stack.h (c_stack_action): Add documentation.
48431         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
48432
48433 2008-07-20  Bruno Haible  <bruno@clisp.org>
48434
48435         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
48436         * modules/readlink (License): Likewise.
48437
48438 2008-07-17  Eric Blake  <ebb9@byu.net>
48439
48440         * modules/c-stack (Link): Fix typo.
48441
48442         Make c-stack use libsigsegv, when available.
48443         * modules/c-stack (Depends-on): Add libsigsegv.
48444         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
48445         needed.
48446         * lib/c-stack.c (SIGSTKSZ): Define fallback.
48447         (segv_handler, overflow_handler, c_stack_action)
48448         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
48449         implementation when libsigsegv is available, but only when using
48450         the library is necessary.
48451         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
48452         comment, explaining why XSI check fails on Linux.
48453         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
48454         * tests/test-c-stack2.sh: Tweak skip message.
48455         * NEWS: Document new link-time requirements.
48456
48457 2008-07-16  Eric Blake  <ebb9@byu.net>
48458
48459         c-stack: Expose false positives when not using libsigsegv.
48460         * modules/c-stack-tests (Files): Expand test.
48461         * tests/test-c-stack.c (main): Add means to conditionally trigger
48462         non-overflow SIGSEGV.
48463         * tests/test-c-stack2.sh: New file.
48464
48465 2008-07-14  Bruno Haible  <bruno@clisp.org>
48466
48467         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
48468         Reported by Eric Blake.
48469
48470 2008-07-14  Sam Steingold  <sds@gnu.org>
48471             Bruno Haible  <bruno@clisp.org>
48472
48473         New module libsigsegv.
48474         * modules/libsigsegv: New file.
48475         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
48476         modifications.
48477         * MODULES.html.sh (Signal handling): New section.
48478
48479 2008-07-14  Bruno Haible  <bruno@clisp.org>
48480
48481         * modules/unictype/ctype-* (Description): Add the word "function".
48482         Improves the resulting doc in MODULES.html.
48483
48484 2008-07-12  Ben Pfaff  <blp@gnu.org>
48485
48486         Add longlong module.
48487         * modules/longlong: New file.
48488
48489 2008-07-12  Bruno Haible  <bruno@clisp.org>
48490
48491         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
48492         to empty.
48493
48494 2008-07-10  Ben Pfaff  <blp@gnu.org>
48495
48496         Add isnan module.
48497         * doc/posix-functions/isnan.texi: Mention new module.
48498         * lib/math.in.h: Define isnan macro if we have decided to replace
48499         it.
48500         * m4/isnan.m4: New file.
48501         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
48502         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
48503         also.
48504         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
48505         redundancy.
48506         * m4/math_h.m4: Initialize and substitute variables for isnan
48507         module.
48508         * modules/isnan: New file.
48509         * modules/isnan-tests: New file.
48510         * modules/math: Add substitutions for new module.
48511         * tests/test-isnan.c: New file.
48512         * MODULES.html.sh: Mention new module.
48513
48514 2008-07-10  Ben Pfaff  <blp@gnu.org>
48515
48516         Add isnanf module.
48517         * lib/isnanf.m4: New file.
48518         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
48519         (gl_HAVE_ISNANF_IN_LIBM): New macro.
48520         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
48521         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
48522         * modules/isnanf: New file.
48523         * modules/isnanf-tests: New file.
48524         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
48525         files.
48526         * tests/test-isnanf-nolibm.c: factored most of its contents into
48527         new file tests/test-isnanf.h.
48528         * tests/test-isnanf.h: New file.
48529         * tests/test-isnanf.c: New file.
48530         * MODULES.html.sh: Mention new module.
48531         * doc/glibc-functions/isnanf.texi: Mention new module.
48532
48533 2008-07-10  Ben Pfaff  <blp@gnu.org>
48534
48535         Add isnand module.
48536         * lib/isnand.h: New file.
48537         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
48538         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
48539         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
48540         functionality also.
48541         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
48542         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
48543         (gl_HAVE_ISNAND_IN_LIBM): New macro.
48544         * modules/isnand: New file.
48545         * modules/isnand-tests: New file.
48546         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
48547         files.
48548         * tests/test-isnand-nolibm.c: factored most of its contents into
48549         new file tests/test-isnand.h.
48550         * tests/test-isnand.h: New file.
48551         * tests/test-isnand.c: New file.
48552         * MODULES.html.sh: Mention new module.
48553
48554 2008-07-10  Ben Pfaff  <blp@gnu.org>
48555
48556         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
48557         * lib/isnand.h: Rename lib/isnand-nolibm.h.
48558         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
48559         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
48560         * modules/isnanf-nolibm: Update references to renamed files.
48561         * modules/isnand-nolibm: Likewise.
48562         * modules/isnanf-nolibm-tests: Likewise.
48563         * modules/isnand-nolibm-tests: Likewise.
48564         * lib/frexp.c: Likewise.
48565         * lib/isfinite.c: Likewise.
48566         * lib/signbitd.c: Likewise.
48567         * lib/signbitf.c: Likewise.
48568         * lib/vasnprintf.c: Likewise.
48569         * tests/test-ceilf1.c: Likewise.
48570         * tests/test-ceilf2.c: Likewise.
48571         * tests/test-floorf1.c: Likewise.
48572         * tests/test-floorf2.c: Likewise.
48573         * tests/test-frexp.c: Likewise.
48574         * tests/test-round1.c: Likewise.
48575         * tests/test-round2.c: Likewise.
48576         * tests/test-roundf1.c: Likewise.
48577         * tests/test-strtod.c: Likewise.
48578         * tests/test-trunc1.c: Likewise.
48579         * tests/test-trunc2.c: Likewise.
48580         * tests/test-truncf1.c: Likewise.
48581         * tests/test-truncf2.c: Likewise.
48582         * NEWS: Mention the renamed header files.
48583
48584 2008-07-11  Jim Meyering  <meyering@redhat.com>
48585
48586         vc-list-files: make the last-resort awk code more portable
48587         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
48588         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
48589         does not support it.
48590
48591 2008-07-10  Eric Blake  <ebb9@byu.net>
48592
48593         Work with tar's bootstrap.
48594         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
48595         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
48596         an m4 comment.
48597
48598 2008-07-09  Jim Meyering  <meyering@redhat.com>
48599
48600         posix-shell.m4: fix typo that made this test malfunction
48601         * m4/posix-shell.m4: Remove capitalization in variable name.
48602
48603 2008-07-08  Bruno Haible  <bruno@clisp.org>
48604
48605         * m4/onceonly.m4: Update comments.
48606         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48607
48608 2008-07-04  Jim Meyering  <meyering@redhat.com>
48609
48610         * users.txt: Add vc-dwim.
48611         (bison, coreutils): Use the gitweb URL.
48612
48613 2008-07-03  Jim Meyering  <meyering@redhat.com>
48614
48615         * users.txt: Add libffcall.  From Sam Steingold.
48616
48617 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
48618
48619         getdate.y: do not ignore TZ with relative day, month or year offset
48620         * lib/getdate.y (get_date): Move the tz-handling block to follow the
48621         relative-date-handling, since otherwise, the latter would clobber the
48622         sole output (an updated Start value) of the tz-handling block.
48623         * tests/test-getdate.c: Tests for the fix
48624
48625 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48626
48627         Recognize 'foo_LIBRARIES += libgnu.a'.
48628         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
48629         makefile snippet has already specified an installation location,
48630         also using '+='.
48631
48632 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
48633
48634         getdate.y: factor out common actions
48635         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
48636         Use them in place of open-coded actions.
48637
48638 2008-07-01  Simon Josefsson  <simon@josefsson.org>
48639
48640         Add self-test for getdate module.
48641         * modules/getdate-tests: New file.
48642         * tests/test-getdate.c: New file.
48643
48644 2008-06-29  Bruno Haible  <bruno@clisp.org>
48645
48646         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
48647         .gitignore.
48648         Reported by Sylvain Beucler <beuc@beuc.net>.
48649
48650 2008-06-29  Bruno Haible  <bruno@clisp.org>
48651
48652         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
48653         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
48654
48655 2008-06-29  Bruno Haible  <bruno@clisp.org>
48656
48657         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
48658         EXTRA_DIST.
48659         Reported by Sylvain Beucler <beuc@beuc.net>.
48660
48661 2008-06-26  Jim Meyering  <meyering@redhat.com>
48662
48663         make several modules depend on the "open" module
48664         This provides slightly increased consistency when opening-for-write
48665         the name of a non-directory spelled with a trailing slash.
48666         * modules/chdir-safer: Likewise.
48667         * modules/chown: Likewise.
48668         * modules/clean-temp: Likewise.
48669         * modules/copy-file: Likewise.
48670         * modules/fchdir: Likewise.
48671         * modules/fcntl-safer: Likewise.
48672         * modules/pipe: Likewise.
48673         * modules/utime: Likewise.
48674         Prompted by Eric Blake and Bruno Haible.
48675
48676 2008-06-24  Andreas Schwab  <schwab@suse.de>
48677
48678         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
48679         literals can be used as initializers for global variables.
48680
48681 2008-06-23  Eric Blake  <ebb9@byu.net>
48682
48683         Make gnulib-cache.m4 easier to diff.
48684         * gnulib-tool (func_import): Allow newlines when reading cached
48685         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
48686
48687 2008-06-23  Bruno Haible  <bruno@clisp.org>
48688
48689         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
48690         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
48691         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
48692         m4/signalblocking.m4.
48693         (gl_PREREQ_SIGACTION): Don't invoke it.
48694         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
48695         gl_PREREQ_SIG_HANDLER_H.
48696         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48697         Don't check for sigaction here.
48698
48699 2008-06-23  Bruno Haible  <bruno@clisp.org>
48700
48701         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
48702         (install_handlers): Don't set the SA_RESETHAND flag.
48703
48704 2008-06-23  Bruno Haible  <bruno@clisp.org>
48705
48706         * m4/sigaction.m4: Comment fixes.
48707         * lib/signal.in.h: Likewise.
48708
48709 2008-06-23  Eric Blake  <ebb9@byu.net>
48710
48711         Fix typo.
48712         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
48713
48714         Avoid SA_ namespace.
48715         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
48716         Reported by Ralf Wildenhues.
48717
48718         Avoid test failure due to SA_RESTORER.
48719         * tests/test-sigaction.c (SA_MASK): New macro.
48720         (main): Avoid failing due to extension flags being set.
48721         Reported by Jim Meyering.
48722
48723         Revert use of sig-handler.h in sigprocmask.c.
48724         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
48725         it requires the existence of struct sigaction.
48726         * lib/sigprocmask.c (handler_t): Restore typedef.
48727         (rpl_signal, old_handlers): Use local type.
48728
48729 2008-06-22  Bruno Haible  <bruno@clisp.org>
48730
48731         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
48732         conditionally.
48733         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48734
48735 2008-06-22  Bruno Haible  <bruno@clisp.org>
48736
48737         * doc/posix-functions/siginterrupt.texi: Move note.
48738
48739         * lib/signal.in.h (SA_RESTART): New macro.
48740         * lib/sigaction.c: Update comment.
48741
48742         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
48743
48744         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
48745         (gl_PREREQ_SIGPROCMASK): Invoke it.
48746         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
48747
48748         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
48749
48750         * lib/sigprocmask.c: Update a comment.
48751
48752 2008-06-21  Eric Blake  <ebb9@byu.net>
48753
48754         Use sigaction module rather than signal().
48755         * modules/c-stack (Depends-on): Add sigaction.
48756         * modules/fatal-signal (Depends-on): Likewise.
48757         * modules/nanosleep (Depends-on): Likewise.
48758         * modules/sigprocmask (Files): Add sig-handler.h.
48759         * modules/sigaction (Files): Likewise.
48760         * lib/sig-handler.h (get_handler): New file, suggested by Paul
48761         Eggert.
48762         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
48763         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
48764         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
48765         (init_fatal_signals): Likewise.
48766         * lib/nanosleep.c (rpl_nanosleep): Likewise.
48767         (siginterrupt): Delete fallback.
48768         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
48769         instead.
48770         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
48771         siginterrupt.
48772
48773         New module sigaction, for mingw.
48774         * modules/sigaction: New module...
48775         * modules/sigaction-tests: ...and its test.
48776         * m4/sigaction.m4: New file.
48777         * lib/sigaction.c: Likewise.
48778         * tests/test-sigaction.c: Likewise.
48779         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
48780         * modules/signal (Makefile.am): Likewise.
48781         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
48782         needed.
48783         * doc/posix-headers/signal.texi (signal.h): Mention provided
48784         types.
48785         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
48786         that sigaction is preferable.
48787         * doc/posix-functions/sigaction.texi (sigaction): Mention new
48788         module.
48789         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48790         sigaction.
48791
48792         Improve robustness of sigprocmask by overriding signal.
48793         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
48794         is in use.
48795         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
48796         (SIGKILL, SIGSTOP): Provide fallbacks.
48797         (rpl_signal): Implement.
48798         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
48799         signal can be called inside handlers.
48800
48801         Fix nanosleep module on mingw.
48802         * modules/nanosleep (Depends-on): Add sys_select.
48803         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
48804
48805         Fix licensing of sigprocmask.
48806         * modules/raise (License): Relicense as LGPL.
48807
48808 2008-06-21  Bruno Haible  <bruno@clisp.org>
48809
48810         * lib/propername.c (proper_name_utf8): Don't use the transliterated
48811         result if it contains question marks.
48812         Reported by Michael Geng <linux@michaelgeng.de>.
48813
48814 2008-06-19  Bruno Haible  <bruno@clisp.org>
48815
48816         Fix CVS-ism.
48817         * doc/gnulib.texi: Include updated-stamp.texi.
48818         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
48819         (updated-stamp.texi): New rule.
48820         (gnulib.info): Depend on it.
48821         * doc/.gitignore: Add updated-stamp.texi.
48822         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
48823
48824 2008-06-19  Bruno Haible  <bruno@clisp.org>
48825
48826         * doc/Makefile (gnulib.info): Update and simplify dependencies.
48827         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48828
48829 2008-06-19  Eric Blake  <ebb9@byu.net>
48830
48831         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
48832         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
48833         Reported by Stepan Kasal.
48834
48835 2008-06-18  Bruno Haible  <bruno@clisp.org>
48836
48837         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48838         Reported by Eric Blake.
48839
48840 2008-06-18  Eric Blake  <ebb9@byu.net>
48841
48842         Work around cygwin 1.5.25 strsignal bug.
48843         * tests/test-strsignal.c: Allow for const char *.
48844         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48845
48846 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48847
48848         * users.txt: Update URL to article and add author/date
48849         information.
48850
48851 2008-06-17  Bruno Haible  <bruno@clisp.org>
48852
48853         New macro gl_DISABLE_THREADS.
48854         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48855         if the user did not pass --enable-threads or --disable-threads option.
48856         (gl_DISABLE_THREADS): New macro.
48857         Reported by Eric Blake <ebb9@byu.net>.
48858
48859 2008-06-17  Bruno Haible  <bruno@clisp.org>
48860
48861         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48862         when the macro ignores it.
48863         Based on a patch by Eric Blake <ebb9@byu.net>.
48864
48865 2008-06-17  Bruno Haible  <bruno@clisp.org>
48866
48867         * modules/tls (License): Change to LGPLv2+.
48868         Reported by Eric Blake.
48869
48870 2008-06-17  Eric Blake  <ebb9@byu.net>
48871
48872         Simplify c-stack prerequisites.
48873         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48874         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48875         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48876         check.
48877         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48878         <sys/resource.h>.
48879
48880         Move c-stack test into testsuite.
48881         * modules/c-stack-tests: New file.
48882         * lib/c-stack.c [DEBUG]: Move test program...
48883         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48884         fail test if sigaltstack is lacking.
48885         * tests/test-c-stack.sh: New driver file.
48886
48887 2008-06-16  Eric Blake  <ebb9@byu.net>
48888
48889         Use raise module consistently.
48890         * modules/fatal-signal (Depends-on): Add raise.
48891         * modules/sigprocmask (Depends-on): Likewise.
48892         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48893         * lib/sigprocmask.c (sigprocmask): Likewise.
48894         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48895         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48896
48897         Fix compliance bug in sigpending.
48898         * lib/sigprocmask.c (sigpending): Return pending array via
48899         parameter, not return value.
48900
48901 2008-06-14  Eric Blake  <ebb9@byu.net>
48902
48903         Improve obstack-printf test code.
48904         * tests/test-obstack-printf.c (test_function): Fix comment, and
48905         simplify usage of obstack_* in macros.  Add a test for coverage.
48906         Reported by Bruno Haible.
48907
48908 2008-06-14  Bruno Haible  <bruno@clisp.org>
48909
48910         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48911         array size as a constant, not as a const variable.
48912         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48913         AC_USE_SYSTEM_EXTENSIONS.
48914         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48915         Test whether the obstack_printf function actually exists.
48916         * modules/obstack-printf (Depends-on): Add extensions.
48917         (Include): Remove obstack.h.
48918         * modules/obstack-printf-posix (Depends-on): Add extensions.
48919         (Include): Remove obstack.h.
48920
48921 2008-06-13  Eric Blake  <ebb9@byu.net>
48922
48923         Add obstack-printf and obstack-printf-posix modules.
48924         * modules/obstack-printf: New file.
48925         * modules/obstack-printf-posix: Likewise.
48926         * MODULES.html.sh (Misc): Mention them.
48927         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48928         Likewise.
48929         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48930         Likewise.
48931         * modules/stdio (Makefile.am): Accomodate new modules.
48932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48933         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48934         Declare.
48935         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48936         functions.
48937         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48938         (gl_REPLACE_OBSTACK_PRINTF): New macros
48939         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48940         * tests/test-obstack-printf.c: New file.
48941         * modules/obstack-printf-tests: Likewise.
48942         * modules/obstack-printf-posix-tests: Likewise.
48943
48944 2008-06-11  Bruno Haible  <bruno@clisp.org>
48945
48946         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48947         * lib/open.c: Include errno.h.
48948         (open): Fail when attempting to write to a file that has a trailing
48949         slash.
48950         * tests/test-open.c (main): Test against trailing slash bug.
48951         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48952
48953 2008-06-10  Bruno Haible  <bruno@clisp.org>
48954
48955         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48956         for $? to work inside the trap command, with various /bin/sh-s.
48957         * tests/test-vc-list-files-cvs.sh: Likewise.
48958
48959 2008-06-10  Bruno Haible  <bruno@clisp.org>
48960
48961         * lib/acl-internal.h: Don't include gettext.h here.
48962         * lib/set-mode-acl.c: Include gettext.h here.
48963         * lib/copy-acl.c: Likewise.
48964
48965 2008-06-10  Bruno Haible  <bruno@clisp.org>
48966
48967         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48968         * lib/wait-process.c (wait_subprocess): Likewise.
48969         * lib/execute.h (execute): Add termsigp argument.
48970         * lib/execute.c (execute): Likewise.
48971         * lib/csharpcomp.c (compile_csharp_using_pnet,
48972         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48973         * lib/csharpexec.c (execute_csharp_using_pnet,
48974         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48975         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48976         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48977         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48978         is_jikes_present): Update.
48979         * lib/javaexec.c (execute_java_class): Update.
48980         * lib/javaversion.c (execute_and_read_line): Update.
48981         * NEWS: Document the changes.
48982         Reported by Eric Blake.
48983
48984 2008-06-10  Eric Blake  <ebb9@byu.net>
48985
48986         Add missing include.
48987         * tests/test-strstr.c (includes): Add <signal.h>.
48988         * tests/test-strcasestr.c (includes): Likewise.
48989         * tests/test-memmem.c (includes): Likewise.
48990
48991 2008-06-10  Bruno Haible  <bruno@clisp.org>
48992
48993         * lib/wait-process.c (wait_subprocess): Add an assertion.
48994
48995 2008-06-10  Bruno Haible  <bruno@clisp.org>
48996
48997         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48998
48999 2008-06-10  Bruno Haible  <bruno@clisp.org>
49000
49001         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
49002         using alarm().
49003         * tests/test-strcasestr.c (main): Likewise.
49004         * tests/test-strstr.c (main): Likewise.
49005
49006 2008-06-09  Bruno Haible  <bruno@clisp.org>
49007
49008         Work around the Solaris 10 ACE ACLs ABI change.
49009         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
49010         declare if ACL_NO_TRIVIAL is present.
49011         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
49012         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
49013         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
49014         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
49015         define if ACL_NO_TRIVIAL is present.
49016         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
49017         and use the current ABI.
49018         (file_has_acl): Use same #if condition as elsewhere.
49019         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
49020         in use, and use the current ABI.
49021         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
49022         Reported by Jim Meyering.
49023
49024 2008-06-09  Eric Blake  <ebb9@byu.net>
49025
49026         Work around environments that (stupidly) ignore SIGALRM.
49027         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
49028         before using alarm().
49029         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49030         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49031         Reported by Ian Beckwith <ianb@erislabs.net>.
49032
49033         Produce autobuild blurb earlier in log.
49034         * modules/autobuild (configure.ac-early): Move AB_INIT here.
49035
49036 2008-06-09  Jim Meyering  <meyering@redhat.com>
49037         and OndÅ™ej Vašík  <ovasik@redhat.com>
49038
49039         utimens.c: correct kernel bug work-around
49040         OndÅ™ej Vašík found that the invalid return value of 280 indicates
49041         failure, not success, and the kernel bug we're trying to work
49042         around affects not just the utimensat call, but also the fallback
49043         futimens call.
49044         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
49045         not success.
49046         [HAVE_FUTIMENS]: Use the same work-around, here.
49047
49048 2008-06-09  Jim Meyering  <meyering@redhat.com>
49049
49050         add more guards around definition of ACE_-related code
49051         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
49052         ALLOW and ACE_OWNER are also defined.
49053
49054 2008-06-08  Bruno Haible  <bruno@clisp.org>
49055
49056         * lib/acl-internal.h: Add me as co-author.
49057         * lib/file-has-acl.c: Likewise.
49058         * lib/set-mode-acl.c: Likewise.
49059         * lib/copy-acl.c: Likewise.
49060
49061 2008-06-08  Bruno Haible  <bruno@clisp.org>
49062
49063         Add support for AIX ACLs.
49064         * lib/acl-internal.h (acl_nontrivial): New declaration.
49065         * lib/file-has-acl.c (acl_nontrivial): New function.
49066         (file_has_acl): Add implementation using AIX 4 ACL API.
49067         * lib/set-mode-acl.c (qset_acl): Likewise.
49068         * lib/copy-acl.c (qcopy_acl): Likewise.
49069
49070 2008-06-08  Bruno Haible  <bruno@clisp.org>
49071
49072         Add support for HP-UX ACLs.
49073         * lib/acl-internal.h (acl_nontrivial): New declaration.
49074         * lib/file-has-acl.c (acl_nontrivial): New function.
49075         (file_has_acl): Add implementation using HP-UX 11 ACL API.
49076         * lib/set-mode-acl.c (qset_acl): Likewise.
49077         * lib/copy-acl.c (qcopy_acl): Likewise.
49078
49079 2008-06-08  Bruno Haible  <bruno@clisp.org>
49080
49081         Add support for Cygwin ACLs.
49082         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
49083         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
49084         the chmod_or_fchmod call.
49085         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
49086
49087 2008-06-08  Bruno Haible  <bruno@clisp.org>
49088
49089         Fix bug with setuid modes in Solaris 10+ code.
49090         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
49091         succeeded, when the mode contains some special bits.
49092
49093 2008-06-08  Bruno Haible  <bruno@clisp.org>
49094
49095         Add support for Solaris 7..10 ACLs.
49096         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
49097         declarations.
49098         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
49099         functions.
49100         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
49101         * lib/set-mode-acl.c (qset_acl): Likewise.
49102         * lib/copy-acl.c (qcopy_acl): Likewise.
49103
49104 2008-06-08  Bruno Haible  <bruno@clisp.org>
49105
49106         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
49107         declaration.
49108         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
49109         (acl_access_nontrivial): Remove MacOS X case.
49110         (file_has_acl): Use acl_extended_nontrivial.
49111         * lib/copy-acl.c (qcopy_acl): Likewise.
49112
49113 2008-06-08  Bruno Haible  <bruno@clisp.org>
49114
49115         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
49116
49117 2008-06-08  Jim Meyering  <meyering@redhat.com>
49118
49119         * modules/acl (Maintainer): Add Bruno Haible.
49120
49121 2008-06-07  Bruno Haible  <bruno@clisp.org>
49122
49123         Improve support for Tru64 ACLs.
49124         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
49125         ACL on OSF/1.
49126
49127 2008-06-07  Bruno Haible  <bruno@clisp.org>
49128
49129         Add support for MacOS X ACLs.
49130         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
49131         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
49132         * lib/set-mode-acl.c (qset_acl): Likewise.
49133         * lib/copy-acl.c (qcopy_acl): Likewise.
49134
49135 2008-06-07  Bruno Haible  <bruno@clisp.org>
49136
49137         Fix memory leak introduced on 2008-05-22.
49138         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
49139         use.
49140
49141 2008-06-07  Bruno Haible  <bruno@clisp.org>
49142
49143         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
49144         to construct an empty ACL.
49145
49146 2008-06-07  Bruno Haible  <bruno@clisp.org>
49147
49148         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
49149         precisely.
49150         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
49151
49152 2008-06-07  Bruno Haible  <bruno@clisp.org>
49153
49154         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
49155         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
49156
49157 2008-06-07  Bruno Haible  <bruno@clisp.org>
49158
49159         * doc/posix-functions/_setjmp.texi: Explain the use of this function
49160         regardless of POSIX.
49161         * doc/posix-functions/_longjmp.texi: Likewise.
49162         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
49163         SystemV platform in this case.
49164
49165 2008-06-06  Eric Blake  <ebb9@byu.net>
49166
49167         Document abort() bugs.
49168         * doc/posix-functions/abort.texi (abort): Mention anomalies.
49169
49170         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
49171         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
49172         sigsetjmp.
49173         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
49174         siglongjmp, but only as a macro.
49175         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
49176         is obsolete.
49177         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
49178
49179         Tweak documentation to cover cygwin argz bugs.
49180         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
49181         argz bug fix; no code change needed since no cygwin releases
49182         occurred between the last fix and the bug being tested.
49183         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
49184         module and recently fixed cygwin bugs.
49185         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
49186         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
49187         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
49188         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
49189         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
49190         Likewise.
49191         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
49192         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
49193         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
49194         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
49195         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
49196         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
49197         Likewise.
49198
49199         Avoid gcc warning on cygwin.
49200         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
49201         !ACL_NO_TRIVIAL]: Avoid unused variable.
49202
49203 2008-06-05  Eric Blake  <ebb9@byu.net>
49204
49205         Be tolerant of UNKNOWN version in gnulib-tool test dir.
49206         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
49207         git-version-gen fails to come up with a version.
49208         Reported by Simon Josefsson.
49209
49210 2008-06-05  Jim Meyering  <meyering@redhat.com>
49211             Paul Eggert  <eggert@cs.ucla.edu>
49212
49213         utimens.c: work around a probable Linux kernel bug
49214         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
49215         appears to be a kernel bug that causes utimensat to return 280
49216         instead of 0, indicating success.
49217
49218 2008-06-04  Bruno Haible  <bruno@clisp.org>
49219
49220         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
49221         2008-06-01 commit.
49222
49223 2008-06-04  Bruno Haible  <bruno@clisp.org>
49224
49225         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
49226         * lib/file-has-acl.c (acl_access_nontrivial): New function.
49227         (file_has_acl): Use it. Save errno afterwards.
49228         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
49229
49230 2008-06-03  Bruno Haible  <bruno@clisp.org>
49231
49232         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
49233         draft code. Simplify #ifs.
49234         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
49235         Put Solaris code after POSIX-draft code. Fix comments regarding
49236         Solaris 10, HP-UX. Mention Cygwin.
49237         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
49238
49239 2008-06-03  Eric Blake  <ebb9@byu.net>
49240
49241         Provide fallback for older kernels.
49242         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
49243         Provide runtime fallback if kernel lacks support.
49244         Reported by Mike Frysinger.
49245
49246 2008-06-02  Bruno Haible  <bruno@clisp.org>
49247
49248         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
49249         it exists.
49250
49251 2008-06-02  Bruno Haible  <bruno@clisp.org>
49252
49253         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
49254         * lib/copy-acl.c (qcopy_acl): Update comment.
49255
49256 2008-06-02  Bruno Haible  <bruno@clisp.org>
49257
49258         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
49259         like ACL APIs.
49260
49261 2008-06-02  Bruno Haible  <bruno@clisp.org>
49262
49263         * tests/test-file-has-acl.sh: Use different code for Cygwin.
49264         * tests/test-set-mode-acl.sh: Likewise.
49265         * tests/test-copy-acl.sh: Likewise.
49266         * tests/test-copy-file.sh: Likewise.
49267
49268 2008-06-02  Bruno Haible  <bruno@clisp.org>
49269
49270         * tests/test-file-has-acl.sh: Remove unused code.
49271
49272 2008-06-01  Bruno Haible  <bruno@clisp.org>
49273
49274         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
49275         (copy_acl): Just a wrapper around qcopy_acl that emits the error
49276         messages.
49277         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
49278
49279 2008-06-01  Bruno Haible  <bruno@clisp.org>
49280
49281         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
49282         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
49283         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
49284         APIs.
49285         * modules/acl-tests (configure.ac): Remove tests now contained in
49286         m4/acl.m4.
49287
49288 2008-06-02  Jim Meyering  <meyering@redhat.com>
49289
49290         announce-gen: use a better key-server host name
49291         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
49292         it may be more consistently reliable.  Suggested by Werner Koch
49293         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
49294
49295 2008-06-01  Bruno Haible  <bruno@clisp.org>
49296
49297         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
49298         Reported by Voroskoi Andras <voroskoi@gmail.com>.
49299
49300 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
49301
49302         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
49303
49304 2008-06-01  Bruno Haible  <bruno@clisp.org>
49305
49306         New ACL tests.
49307         * tests/test-file-has-acl.sh: New file.
49308         * tests/test-file-has-acl.c: New file.
49309         * tests/test-set-mode-acl.sh: New file.
49310         * tests/test-set-mode-acl.c: New file.
49311         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
49312         * tests/test-copy-acl.c: New file.
49313         * modules/acl-tests: New file, based on modules/copy-file-tests.
49314         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
49315         (Depends-on): Add acl-tests.
49316         (configure.ac): Remove checks.
49317         (Makefile.am): Don't create test-sameacls program here any more.
49318
49319 2008-06-01  Bruno Haible  <bruno@clisp.org>
49320
49321         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
49322         * tests/test-sameacls.c: Include progname.h.
49323         (main): Invoke set_program_name. Portability fixes for MacOS X,
49324         Solaris, HP-UX.
49325
49326 2008-06-01  Bruno Haible  <bruno@clisp.org>
49327
49328         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
49329         function.
49330         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
49331
49332 2008-06-01  Bruno Haible  <bruno@clisp.org>
49333
49334         * modules/rpmatch (Depends-on): Add strdup.
49335
49336 2008-06-01  Bruno Haible  <bruno@clisp.org>
49337
49338         * lib/pipe.c: Include unistd-safer.h.
49339         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
49340         * modules/pipe (Depends-on): Add unistd-safer.
49341
49342 2008-05-30  Simon Josefsson  <simon@josefsson.org>
49343
49344         * modules/autobuild (configure.ac): Call AB_INIT.
49345
49346 2008-05-30  Simon Josefsson  <simon@josefsson.org>
49347
49348         * tests/test-getaddrinfo.c: Don't print debug messages by default.
49349         Suggested by Bruno Haible <bruno@clisp.org>.
49350
49351 2008-05-30  Simon Josefsson  <simon@josefsson.org>
49352
49353         * tests/test-base64.c: Cast size_t to unsigned long when invoking
49354         printf.  Use %lu instead of %d.  Reported by Bruno Haible
49355         <bruno@clisp.org>.
49356
49357 2008-05-29  Eric Blake  <ebb9@byu.net>
49358
49359         Prefer new POSIX 200x interfaces over futimesat.
49360         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
49361         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
49362         when available.
49363         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
49364
49365 2008-05-28  Bruno Haible  <bruno@clisp.org>
49366
49367         * modules/stpcpy (License): Change to LGPLv2+.
49368         Requested by David Lutterkort <dlutter@redhat.com>.
49369
49370 2008-05-27  Bruno Haible  <bruno@clisp.org>
49371
49372         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
49373         current mingw.
49374         Reported by Jose E. Marchesi <jemarch@gnu.org>.
49375
49376 2008-05-27  Bruno Haible  <bruno@clisp.org>
49377
49378         * modules/iconv_open (Link): New section, from module 'iconv'.
49379         * modules/striconv (Link): Likewise.
49380         * modules/striconveh (Link): Likewise.
49381         * modules/xstriconv (Link): Likewise.
49382         * modules/unicodeio (Link): Likewise.
49383         * modules/propername (Link): Likewise.
49384         Reported by Jim Meyering.
49385
49386 2008-05-26  Jim Meyering  <meyering@redhat.com>
49387
49388         sha256: do not artificially restrict buffer length to be < 2^32
49389         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
49390         uint32_t to size_t.
49391         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
49392         to match.
49393
49394         avoid unaligned access errors, e.g., on sparc
49395         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
49396         direct access through a possibly-unaligned uint64* pointer.
49397         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
49398         direct access through a possibly-unaligned uint32* pointer.
49399         Prompted by this patch from Tom "spot" Callaway:
49400         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
49401
49402         sha512.c: fix typo in comment
49403         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
49404
49405 2008-05-25  Bruno Haible  <bruno@clisp.org>
49406
49407         * lib/set-mode-acl.c: Renamed from lib/acl.c.
49408         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
49409         (Makefile.am): Update lib_SOURCES.
49410
49411 2008-05-25  Bruno Haible  <bruno@clisp.org>
49412
49413         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
49414
49415 2008-05-25  Jim Meyering  <meyering@redhat.com>
49416
49417         useless-if-before-free: freed expr may have white-space differences
49418         * build-aux/useless-if-before-free: Recognize cases in which the
49419         freed expression differs from the tested one in embedded white
49420         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
49421         $1 was used, so we can't make any regexp shy.  Improved tests now
49422         detect this.
49423
49424         useless-if-before-free: accept white space in the expression.
49425         * build-aux/useless-if-before-free: For now, any white space
49426         in the expression must be identical in the free argument.
49427
49428         useless-if-before-free: efficiency tweak
49429         * build-aux/useless-if-before-free: Make the expression-matching
49430         regexp "shy".
49431         Make the *outer* regexp shy, not the expr-matching one.
49432
49433         update code-in-comment to accept cast of free arg
49434         * build-aux/useless-if-before-free: Update regexp.
49435
49436 2008-05-25  Bruno Haible  <bruno@clisp.org>
49437
49438         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
49439         * modules/copy-file-tests (Files, Makefile.am): Update.
49440         * tests/test-copy-file.c (func_test_copy): Update.
49441
49442 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
49443
49444         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
49445
49446 2008-05-23  Bruno Haible  <bruno@clisp.org>
49447
49448         Improve support for ACLs on OSF/1.
49449         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
49450         Remove fallback for unknown flavors of ACLs.
49451
49452 2008-05-22  Bruno Haible  <bruno@clisp.org>
49453
49454         Add support for ACLs on OSF/1.
49455         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
49456         replacements.
49457         (acl_free_text): New macro fallback.
49458         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
49459         acl_free.
49460         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
49461         acl_free_text function. Require AC_C_INLINE.
49462
49463 2008-05-22  Bruno Haible  <bruno@clisp.org>
49464
49465         Make copy_acl work on MacOS X 10.5.
49466         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
49467         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
49468         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
49469         If MODE_INSIDE_ACL, don't assume that every system has the same text
49470         representation for ACLs as FreeBSD.
49471         * lib/copy-acl.c (copy_acl): Add support for platforms with
49472         !MODE_INSIDE_ACL.
49473         * lib/file-has-acl.c (file_has_acl): Likewise.
49474         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
49475         FreeBSD, MacOS X, or IRIX, respectively.
49476
49477 2008-05-22  Bruno Haible  <bruno@clisp.org>
49478
49479         * lib/acl.h: Don't include <sys/acl.h>.
49480         (GETACLCNT): Move fallback to lib/acl-internal.h.
49481         * lib/acl-internal.h: Include <sys/acl.h> here.
49482         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
49483
49484 2008-05-22  Bruno Haible  <bruno@clisp.org>
49485
49486         Split off copy_acl function to separate file.
49487         * lib/copy-acl.c: New file, extracted from lib/acl.c.
49488         * lib/acl.c (copy_acl): Moved function to separate file.
49489         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
49490         * modules/acl (Files): Add lib/copy-acl.c.
49491         (Makefiles.am): Augment lib_SOURCES.
49492
49493 2008-05-22  Bruno Haible  <bruno@clisp.org>
49494
49495         * modules/copy-file-tests: New file.
49496         * tests/test-copy-file.sh: New file.
49497         * tests/test-copy-file.c: New file.
49498         * tests/test-copy-file-sameacls.c: New file.
49499
49500 2008-05-22  Eric Blake  <ebb9@byu.net>
49501
49502         Avoid gcc warning.
49503         * tests/test-memcmp.c (main): Pass NULL indirectly.
49504
49505 2008-05-21  Bruno Haible  <bruno@clisp.org>
49506
49507         Add reference doc about ACLs.
49508         * doc/acl-resources.txt: New file.
49509         * doc/acl-cygwin.txt: New file.
49510
49511 2008-05-21  Bruno Haible  <bruno@clisp.org>
49512
49513         Avoid one more warning from gcc.
49514         * lib/vasnprintf.c (IF_LINT): Update comments.
49515         (VASNPRINTF): Use it also for the 'prefix' array initializer.
49516
49517 2008-05-21  Jim Meyering  <meyering@redhat.com>
49518
49519         avoid a warning from gcc
49520         * lib/vasnprintf.c (IF_LINT): Define.
49521         (scale10_round_decimal_long_double):
49522         Use it to avoid a "may be used uninitialized" warning.
49523         (scale10_round_decimal_double): Likewise.
49524
49525 2008-05-21  Simon Josefsson  <simon@josefsson.org>
49526
49527         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
49528         declared.
49529
49530 2008-05-20  Bruno Haible  <bruno@clisp.org>
49531
49532         * tests/test-memcmp.c (main): Test also the sign of the result. Test
49533         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
49534
49535 2008-05-20  Simon Josefsson  <simon@josefsson.org>
49536
49537         * modules/memcmp-tests: New file.
49538         * tests/test-memcmp.c: New file.
49539
49540 2008-05-19  Bruno Haible  <bruno@clisp.org>
49541
49542         * modules/propername (Notice, configure.ac): Put quoted "..." into
49543         --keyword option.
49544         * lib/propername.h: Update comments accordingly.
49545         Reported by Eric Blake.
49546
49547 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
49548
49549         * modules/getpass-gnu (Depends-on): Add fseeko.
49550
49551 2008-05-19  Simon Josefsson  <simon@josefsson.org>
49552
49553         * modules/base64-tests: New file.
49554
49555 2008-05-19  Bo Borgerson <gigabo@gmail.com>
49556
49557         * lib/base64.c (base64_decode_ctx): If a decode context structure
49558         was passed in use it to ignore newlines.  If a context structure
49559         was _not_ passed in, continue to treat newlines as garbage (this
49560         is the historical behavior).  Formerly base64_decode.
49561         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
49562         takes a decode context structure.
49563         * lib/base64.h (base64_decode): Macro for four-argument calls.
49564         (base64_decode_alloc): Likewise.
49565         * lib/base64.c (base64_decode_ctx): If a decode context structure
49566         was passed in use it to ignore newlines.  If a context structure
49567         was _not_ passed in, continue to treat newlines as garbage (this
49568         is the historical behavior).  Formerly base64_decode.
49569         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
49570         takes a decode context structure.
49571         * lib/base64.h (base64_decode): Macro for four-argument calls.
49572         (base64_decode_alloc): Likewise.
49573
49574 2008-05-19  Jim Meyering  <meyering@redhat.com>
49575
49576         avoid a warning from gcc
49577         * lib/trim.c (IF_LINT): Define.
49578         (trim2): Use it to avoid a "may be used uninitialized" warning.
49579
49580         Fix doc typo.
49581         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
49582
49583 2008-05-19  Bruno Haible  <bruno@clisp.org>
49584
49585         * doc/glibc-functions/getpass.texi: Document limits of other
49586         implementations.
49587
49588 2008-05-19  Simon Josefsson  <simon@josefsson.org>
49589             Bruno Haible <bruno@clisp.org>
49590
49591         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
49592
49593 2008-05-18  Bruno Haible  <bruno@clisp.org>
49594
49595         * modules/propername: New file, from GNU gettext.
49596         * lib/propername.h: New file, from GNU gettext.
49597         * lib/propername.c: New file, from GNU gettext.
49598         * MODULES.html.sh (Internationalization functions): Add propername.
49599
49600 2008-05-16  Jim Meyering  <meyering@redhat.com>
49601             Bruno Haible  <bruno@clisp.org>
49602
49603         Avoid some warnings from "gcc -Wshadow".
49604         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
49605
49606 2008-05-15  Eric Blake  <ebb9@byu.net>
49607
49608         Extend previous patch to cygwin 1.7.0.
49609         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
49610         fast implementation in cygwin >= 1.7.0.
49611         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49612         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49613
49614 2008-05-15  Bruno Haible  <bruno@clisp.org>
49615
49616         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
49617         implementation in glibc >= 2.9.
49618         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49619         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49620
49621 2008-05-15  Bruno Haible  <bruno@clisp.org>
49622
49623         * MODULES.html.sh (Internationalization functions): Remove linebreak.
49624         (Unicode string functions): Add unilbrk/*.
49625         Reported by Karl Berry.
49626
49627 2008-05-15  Eric Blake  <ebb9@byu.net>
49628
49629         Fix violation of <stdbool.h> replacement in regex.
49630         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
49631         * lib/regexec.c (re_search_internal): Likewise.
49632         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
49633
49634 2008-05-15  Jim Meyering  <meyering@redhat.com>
49635
49636         avoid distracting test output when git or cvs is not found
49637         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
49638         * tests/test-vc-list-files-git.sh: Likewise.
49639
49640 2008-05-15  Eric Blake  <ebb9@byu.net>
49641
49642         Glibc finally accepted the memmem speedup code, bugzilla #5514.
49643         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
49644         glibc version.
49645         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
49646         * doc/posix-functions/strstr.texi (strstr): Likewise.
49647         * lib/str-two-way.h (MAX): Sychronize with glibc.
49648
49649 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
49650
49651         * lib/regcomp.c (optimize_utf8): Add a note on why we test
49652         opr.ctx_type.
49653         (calc_first): Initialize constraint field.
49654         (duplicate_node_closure): Use it instead of special casing ANCHORS.
49655         Fix grammar.
49656         (duplicate_node): Merge constraint field for all node types.
49657         (calc_eclosure_iter): Look at constraint field for all node types.
49658         * lib/regex_internal.c (create_cd_newstate): Don't look at
49659         opr.ctx_type.
49660
49661 2008-05-14  Bruno Haible  <bruno@clisp.org>
49662
49663         Help GCC to do better code generation.
49664         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
49665         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
49666         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
49667         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
49668         Declare with attribute 'malloc' if supported.
49669
49670 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
49671
49672         use "echo STR|wc -c" rather than unportable "expr length STR"
49673         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
49674         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
49675
49676 2008-05-14  Jim Meyering  <meyering@redhat.com>
49677
49678         use dd ibs=$n count=1 ... rather than less-portable head -c$n
49679         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
49680         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
49681         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
49682         via Collin Lasse.
49683
49684 2008-05-14  Eric Blake  <ebb9@byu.net>
49685
49686         Avoid quadratic growth in gl_LIBSOURCES.
49687         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
49688         Suggested by Bruno Haible.
49689
49690         Test xmemdup0.
49691         * modules/xmemdup0-tests: New file.
49692         * tests/test-xmemdup0.c: Likewise.
49693
49694 2008-05-13  Eric Blake  <ebb9@byu.net>
49695
49696         Split xmemdup0 into its own module.
49697         * modules/xmemdup0: New file.
49698         * lib/xmemdup0.h: Likewise.
49699         * lib/xmemdup0.c: Likewise.
49700         * MODULES.html.sh (Memory management functions): Add xmemdup0.
49701         * lib/xalloc.h (xmemdup0): Remove.
49702         * lib/xmalloc.c (xmemdup0): Likewise.
49703
49704 2008-05-13  Eric Blake  <ebb9@byu.net>
49705             Bruno Haible  <bruno@clisp.org>
49706
49707         Reduce number of forks required during autoconf.
49708         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
49709         and gl_LIBSOURCES_DIR.
49710         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
49711         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
49712         m4_syscmd per file.
49713         <m4_foreach_w>: Move...
49714         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
49715
49716 2008-05-13  Eric Blake  <ebb9@byu.net>
49717
49718         * gnulib-tool: Fix various comment typos.
49719
49720 2008-05-12  Bruno Haible  <bruno@clisp.org>
49721
49722         Tailor the linebreaking algorithm.
49723         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
49724
49725 2008-05-12  Bruno Haible  <bruno@clisp.org>
49726
49727         Update to Unicode 5.0.0.
49728         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49729         LBP_JV, LBP_JT. Redistribute values.
49730         (unilbrk_table): Change size.
49731         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
49732         Unicode TR#14 rev. 22.
49733         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49734         LBP_JV, LBP_JT. Redistribute values.
49735         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
49736         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
49737         Update.
49738         * lib/unilbrk/lbrkprop1.h: Regenerated.
49739         * lib/unilbrk/lbrkprop2.h: Regenerated.
49740         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
49741         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
49742         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
49743         Likewise.
49744         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
49745         Likewise.
49746         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
49747         result.
49748         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
49749         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
49750         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
49751         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
49752         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
49753         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
49754
49755 2008-05-11  Bruno Haible  <bruno@clisp.org>
49756
49757         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
49758
49759 2008-05-11  Bruno Haible  <bruno@clisp.org>
49760
49761         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
49762         * modules/unilbrk/gen-lbrk: New file.
49763
49764 2008-05-11  Bruno Haible  <bruno@clisp.org>
49765
49766         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
49767         * m4/sha512.m4 (gl_SHA512): Likewise.
49768
49769 2008-05-11  Jim Meyering  <meyering@redhat.com>
49770
49771         New modules: crypto/sha256, crypto/sha512 (from coreutils)
49772         * modules/crypto/sha256: New file.
49773         * modules/crypto/sha512: Likewise.
49774         * lib/sha256.c: Likewise.
49775         * lib/sha256.h: Likewise.
49776         * lib/sha512.c: Likewise.
49777         * lib/sha512.h: Likewise.
49778         * lib/u64.h: Likewise.
49779         * m4/sha256.m4: Likewise.
49780         * m4/sha512.m4: Likewise.
49781         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
49782
49783 2008-05-10  Bruno Haible  <bruno@clisp.org>
49784
49785         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
49786         (Input/Output <stdio.h>): Add xprintf.
49787         (Signal handling <signal.h>): Add strsignal.
49788         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
49789         (Core language properties): Add func.
49790         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
49791         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
49792         strings.
49793         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
49794         (Input/output): New section.
49795         (File system functions): Add openat-die, stat-macros.
49796         (Networking functions): Add sockets.
49797         (Unicode string functions): Add unictype/*.
49798         (Support for building libraries and executables): Add gperf.
49799         (Support for building documentation): Add agpl-3.0.
49800         (Misc): Add nocrash.
49801
49802 2008-05-10  Bruno Haible  <bruno@clisp.org>
49803
49804         * modules/unictype/gen-ctype: New file.
49805
49806 2008-05-10  Jim Meyering  <meyering@redhat.com>
49807
49808         Make chdir-safer.c more efficient on a system with no symlinks.
49809         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
49810         also if ELOOP is zero.  Suggested by Bruno Haible.
49811
49812         Make chdir-safer.c slightly safer.
49813         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
49814         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
49815
49816         Avoid compile failure on systems without ELOOP (like mingw).
49817         * lib/chdir-safer.c (ELOOP): Define if not already defined.
49818         Reported by Bruno Haible.
49819
49820 2008-05-10  Bruno Haible  <bruno@clisp.org>
49821
49822         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
49823         (is_utf8_encoding): Use a case-insensitive comparison.
49824         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
49825         streq.
49826
49827 2008-05-10  Bruno Haible  <bruno@clisp.org>
49828
49829         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
49830         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
49831         * lib/unilbrk/ulc-common.h (iconv_string_length,
49832         iconv_string_keeping_offsets): Remove declarations.
49833         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
49834         Don't include <iconv.h>, streq.h, xsize.h.
49835         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
49836         conversion.
49837         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49838         <iconv.h>, streq.h, xsize.h.
49839         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49840         conversion.
49841         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49842         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49843         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49844         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49845
49846 2008-05-10  Bruno Haible  <bruno@clisp.org>
49847
49848         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49849         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49850
49851         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49852         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49853
49854         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49855         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49856
49857         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49858         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49859
49860         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49861         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49862
49863         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49864         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49865
49866         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49867         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49868
49869         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49870         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49871
49872 2008-05-10  Bruno Haible  <bruno@clisp.org>
49873
49874         Split up 'linebreak' module.
49875         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49876         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49877         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49878         modifications.
49879         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49880         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49881         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49882         lib/linebreak.c.
49883         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49884         lib/linebreak.c.
49885         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49886         lib/linebreak.c.
49887         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49888         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49889         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49890         lib/linebreak.c.
49891         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49892         lib/linebreak.c.
49893         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49894         lib/linebreak.c.
49895         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49896         lib/linebreak.c.
49897         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49898         lib/linebreak.c.
49899         * modules/unilbrk/base: New file.
49900         * modules/unilbrk/tables: New file.
49901         * modules/unilbrk/u8-possible-linebreaks: New file.
49902         * modules/unilbrk/u16-possible-linebreaks: New file.
49903         * modules/unilbrk/u32-possible-linebreaks: New file.
49904         * modules/unilbrk/ulc-common: New file.
49905         * modules/unilbrk/ulc-possible-linebreaks: New file.
49906         * modules/unilbrk/u8-width-linebreaks: New file.
49907         * modules/unilbrk/u16-width-linebreaks: New file.
49908         * modules/unilbrk/u32-width-linebreaks: New file.
49909         * modules/unilbrk/ulc-width-linebreaks: New file.
49910         * lib/linebreak.h: Remove file.
49911         * lib/linebreak.c: Remove file.
49912         * m4/linebreak.m4: Remove file.
49913         * modules/linebreak: Remove file.
49914         * NEWS: Mention the changes.
49915
49916 2008-05-09  Eric Blake  <ebb9@byu.net>
49917
49918         Add xmemdup0.
49919         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49920         implementation.
49921         * lib/xmalloc.c (xmemdup0): New C implementation.
49922
49923 2008-05-08  Bruno Haible  <bruno@clisp.org>
49924
49925         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49926
49927 2008-05-07  Eric Blake  <ebb9@byu.net>
49928
49929         Support cross-compilation of <wctype.h>.
49930         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49931         AC_CACHE_CHECK.
49932
49933 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49934
49935         * build-aux/vc-list-files: Add support for bzr.
49936
49937 2008-05-03  Jim Meyering  <meyering@redhat.com>
49938
49939         avoid failed assertion with tight malloc
49940         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49941
49942 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49943
49944         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49945         are needed from arpa/inet.h.
49946         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49947         Reported by Bruno Haible.
49948
49949 2008-05-02  Jim Meyering  <meyering@redhat.com>
49950
49951         avoid compilation error on FreeBSD 6
49952         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49953
49954 2008-05-01  Jim Meyering  <meyering@redhat.com>
49955
49956         useless-if-before-free: correct --help's exit status description
49957         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49958         for one or more matches, etc.  Reported by Bruno Haible.
49959
49960         vc-list-files: make the stand-alone gnulib test work
49961         * modules/vc-list-files-tests (configure.ac):
49962         Define and AC_SUBST abs_aux_dir.
49963         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49964         $(abs_top_srcdir) to each script and having each of them
49965         duplicate the work of setting PATH, set PATH here, using
49966         the new variable, abs_aux_dir instead.
49967         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49968         * tests/test-vc-list-files-git.sh: Likewise.
49969         Reported by Bruno Haible.
49970
49971 2008-05-01  Bruno Haible  <bruno@clisp.org>
49972
49973         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49974         reallocation. Rename 'done' to 'found_delimiter'.
49975
49976 2008-05-01  Jim Meyering  <meyering@redhat.com>
49977
49978         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49979         * build-aux/vc-list-files: Use `...`, not $(...).
49980
49981 2008-04-30  Jim Meyering  <meyering@redhat.com>
49982
49983         add tests for vc-list-files
49984         * modules/vc-list-files-tests: New module.
49985         * tests/test-vc-list-files-cvs.sh: New file.
49986         * tests/test-vc-list-files-git.sh: New file.
49987
49988         avoid a warning from gcc
49989         * lib/getndelim2.c (IF_LINT): Define.
49990         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49991
49992         vc-list-files: work properly with build-aux/cvsu, too
49993         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49994         to all cvs-based clauses.
49995
49996         vc-list-files: work properly in the CVS+awk case, too
49997         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49998
49999         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
50000         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
50001         take more than one file argument, so .  Add quotes, just in case $dir
50002         ever contains a shell meta-character.  Prompted by Soren Hansen in
50003         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
50004
50005 2008-04-29  Eric Blake  <ebb9@byu.net>
50006
50007         Optimize getndelim2 to use block operations when possible.
50008         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
50009         freadseek, and memchr2.
50010         * lib/getndelim2.c (getndelim2): Use them for block reads.
50011
50012 2008-04-29  Bruno Haible  <bruno@clisp.org>
50013
50014         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
50015         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50016         * modules/inet_ntop (Depends-on): Add extensions.
50017         * modules/inet_pton (Depends-on): Likewise.
50018         Reported by Simon Josefsson.
50019
50020 2008-04-29  Jim Meyering  <meyering@redhat.com>
50021
50022         When the is more than one match in a block, match all of them.
50023         * build-aux/useless-if-before-free: Iterate through each block
50024         until there are no more matches.
50025
50026         Fix broken useless-if-before-free script.
50027         * build-aux/useless-if-before-free: Fix typo: missing "?" after
50028         the expression to match cast of argument to free-like function.
50029
50030 2008-04-29  Eric Blake  <ebb9@byu.net>
50031
50032         Use new header.
50033         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
50034
50035 2008-04-29  Jim Meyering  <meyering@redhat.com>
50036
50037         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
50038         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
50039         by gnulib to exist and to declare e.g., inet_ntop.
50040         Don't include "inet_ntop.h", now removed.
50041
50042         * m4/arpa_inet_h.m4: Remove trailing blanks.
50043
50044 2008-04-29  Eric Blake  <ebb9@byu.net>
50045
50046         Silence valgrind on safe reads beyond potential array bounds.
50047         * lib/rawmemchr.valgrind: New file.
50048         * lib/strchrnul.valgrind: Likewise.
50049         * modules/rawmemchr (Files): Distribute new file.
50050         * modules/strchrnul (Files): Likewise.
50051         Suggested by Bruno Haible.
50052
50053 2008-04-29  Bruno Haible  <bruno@clisp.org>
50054
50055         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
50056         (inet_ntop, inet_pton): Change portability warning's wording.
50057         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
50058         Invoke gl_CHECK_NEXT_HEADERS.
50059         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
50060         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
50061         set ARPA_INET_H.
50062         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50063         * modules/arpa_inet (Description): No longer only for systems that
50064         lack it.
50065         (Depends-on): Add include_next.
50066         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
50067         HAVE_ARPA_INET_H.
50068
50069 2008-04-29  Jim Meyering  <meyering@redhat.com>
50070
50071         * modules/mkdir (License): Re-license as LGPLv2+.
50072
50073 2008-04-29  Bruno Haible  <bruno@clisp.org>
50074
50075         * modules/rawmemchr (Maintainer): Set to Eric.
50076         * modules/strchrnul (Maintainer): Likewise.
50077
50078 2008-04-29  Simon Josefsson  <simon@josefsson.org>
50079
50080         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
50081         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
50082
50083         * modules/arpa_inet (arpa/inet.h): Use them.
50084
50085 2008-04-28  Eric Blake  <ebb9@byu.net>
50086
50087         Test getndelim2.
50088         * modules/getndelim2-tests: New file.
50089         * tests/test-getndelim2.c: Likewise.
50090         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
50091         stream.
50092         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
50093
50094         * MODULES.html.sh: Document new module.
50095
50096 2008-04-20  Bruno Haible  <bruno@clisp.org>
50097
50098         * lib/c-stack.c (die): Use raise.
50099         * modules/c-stack (Depends-on): Add raise.
50100
50101 2008-04-28  Bruno Haible  <bruno@clisp.org>
50102
50103         Expect rpmatch to be declared.
50104         * lib/yesno.c (rpmatch): Remove declaration.
50105
50106         Declare rpmatch.
50107         * lib/stdlib.in.h (rpmatch): New declaration.
50108         * lib/rpmatch.c: Include <stdlib.h> first.
50109         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
50110         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
50111         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
50112         HAVE_RPMATCH.
50113         * modules/rpmatch (Depends-on): Add stdlib, extensions.
50114         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50115         (Include): Set to <stdlib.h>.
50116         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
50117         HAVE_RPMATCH.
50118         * NEWS: Document the change.
50119
50120 2008-04-28  Bruno Haible  <bruno@clisp.org>
50121
50122         Change rpmatch to use nl_langinfo when appropriate.
50123         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
50124         (N_): New macro.
50125         (localized_pattern): New function/macro.
50126         (try): Remove match, nomatch arguments. Copy the pattern into safe
50127         memory before caching it.
50128         (rpmatch): Use localized_pattern. Add translator comments.
50129         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
50130         Suggested by Eric Blake.
50131         * modules/rpmatch (Depends-on): Add stdbool.
50132
50133 2008-04-28  Eric Blake  <ebb9@byu.net>
50134
50135         Add rawmemchr module, matching glibc.
50136         * modules/string (Makefile.am): New indicator.
50137         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
50138         * lib/string.in.h (rawmemchr): Declare when appropriate.
50139         * modules/rawmemchr: New file.
50140         * m4/rawmemchr.m4: Likewise.
50141         * lib/rawmemchr.c: Likewise.
50142         * modules/rawmemchr-tests: Likewise.
50143         * tests/test-rawmemchr.c: Likewise.
50144         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
50145         module.
50146         * modules/strchrnul (Depends-on): Add rawmemchr.
50147         * lib/strchrnul.c (strchrnul): Optimize a corner case.
50148
50149         Whitespace cleanup.
50150         * tests/test-strchrnul.c: Reindent.
50151         * lib/strchrnul.c: Likewise.
50152
50153         Optimize and test strchrnul.
50154         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
50155         * modules/strchrnul-tests: New file.
50156         * tests/test-strchrnul.c: Likewise.
50157
50158         Remove intprops dependency.
50159         * modules/memchr (Depends-on): Remove intprops.
50160         * modules/memrchr (Depends-on): Likewise.
50161         * modules/memchr2 (Depends-on): Likewise.
50162         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
50163         * lib/memrchr.c (__memrchr): Likewise.
50164         * lib/memrchr2.c (memchr2): Likewise.
50165         Reported by Simon Josefsson.
50166
50167 2008-04-28  Simon Josefsson  <simon@josefsson.org>
50168
50169         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
50170         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50171
50172 2008-04-28  Simon Josefsson  <simon@josefsson.org>
50173
50174         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
50175
50176         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
50177
50178         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
50179
50180         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
50181         declarations.
50182         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
50183
50184         * m4/inet_pton.m4: Don't check for header files.
50185
50186         * m4/inet_ntop.m4: Don't check for header files.
50187
50188 2008-04-28  Simon Josefsson  <simon@josefsson.org>
50189
50190         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
50191         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
50192         trigger for cygwin).
50193         Reported by Bruno Haible  <bruno@clisp.org>.
50194
50195 2008-04-28  Bruno Haible  <bruno@clisp.org>
50196
50197         * doc/posix-functions/strdup.texi: Mention mingw problem.
50198
50199 2008-04-27  Bruno Haible  <bruno@clisp.org>
50200
50201         * modules/stat-time-tests (Depends-on): Add sleep.
50202         * tests/test-stat-time.c (force_unlink): New function.
50203         (cleanup): Use it.
50204         (test_mtime): Remove the ctime related tests.
50205         (test_ctime): New function, containing the ctime related tests.
50206         (main): Call test_ctime, except on native Windows platforms.
50207
50208 2008-04-27  Bruno Haible  <bruno@clisp.org>
50209
50210         * lib/rpmatch.c (rpmatch): Add some comments.
50211         Reported by James Youngman <jay@gnu.org>.
50212
50213 2008-04-27  Bruno Haible  <bruno@clisp.org>
50214
50215         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
50216         quiet NaNs.
50217
50218 2008-04-27  Bruno Haible  <bruno@clisp.org>
50219
50220         Make test-yesno.sh work on mingw.
50221         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
50222         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
50223         (main): Set stdin to binary mode.
50224         * modules/yesno-tests (Depends-on): Add binary-io.
50225
50226 2008-04-27  Bruno Haible  <bruno@clisp.org>
50227
50228         Fix 'isfinite' on x86, x86_64, ia64 platforms.
50229         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
50230         argument that lie outside the IEEE 854 domain.
50231         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
50232         (gl_ISFINITE): Use it.
50233         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
50234
50235 2008-04-27  Bruno Haible  <bruno@clisp.org>
50236
50237         Allow local renaming in config.h.
50238         * lib/memrchr.c (memrchr): Don't undefine outside libc.
50239
50240 2008-04-27  Bruno Haible  <bruno@clisp.org>
50241
50242         * lib/memchr.c (__memchr): Change type of 'i'.
50243         * lib/memchr2.c (memchr2): Likewise.
50244
50245 2008-04-26  Eric Blake  <ebb9@byu.net>
50246         and Bruno Haible  <bruno@clisp.org>
50247
50248         Optimize and test memrchr.
50249         * modules/memrchr (Depends-on): Add intprops.
50250         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
50251         * modules/memrchr-tests: New file.
50252         * tests/test-memrchr.c: New file.
50253
50254 2008-04-26  Bruno Haible  <bruno@clisp.org>
50255
50256         Add tentative support for DragonFly BSD.
50257         * lib/stdio-impl.h: Add macros for DragonFly BSD.
50258         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
50259         fp.
50260         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
50261         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
50262         * lib/fpurge.c (fpurge): Likewise.
50263         * lib/freadable.c (freaadable): Likewise.
50264         * lib/freadahead.c (freadahead): Likewise.
50265         * lib/freading.c (freading): Likewise.
50266         * lib/freadptr.c (freadptr): Likewise.
50267         * lib/freadseek.c (freadptrinc): Likewise.
50268         * lib/fseeko.c (fseeko): Likewise.
50269         * lib/fseterr.c (fseterr): Likewise.
50270         * lib/fwritable.c (fwritable): Likewise.
50271         * lib/fwriting.c (fwriting): Likewise.
50272
50273 2008-04-26  Bruno Haible  <bruno@clisp.org>
50274
50275         * lib/stdio-impl.h: New file.
50276         * lib/fbufmode.c: Include stdio-impl.h.
50277         (fbufmode): Use fp_, remove redundant #defines.
50278         * lib/fflush.c: Include stdio-impl.h.
50279         (clear_ungetc_buffer): Remove redundant #defines.
50280         * lib/fpurge.c: Include stdio-impl.h.
50281         (fpurge): Remove redundant #defines.
50282         * lib/freadable.c: Include stdio-impl.h.
50283         (freadable): Remove redundant #defines.
50284         * lib/freadahead.c: Include stdio-impl.h.
50285         (freadahead): Remove redundant #defines.
50286         * lib/freading.c: Include stdio-impl.h.
50287         (freading): Remove redundant #defines.
50288         * lib/freadptr.c: Include stdio-impl.h.
50289         (freadptr): Remove redundant #defines.
50290         * lib/freadseek.c: Include stdio-impl.h.
50291         (freadptrinc): Remove redundant #defines.
50292         * lib/fseeko.c: Include stdio-impl.h.
50293         (rpl_fseeko): Remove redundant #defines.
50294         * lib/fseterr.c: Include stdio-impl.h.
50295         (fseterr): Remove redundant #defines.
50296         * lib/fwritable.c: Include stdio-impl.h.
50297         (fwritable: Remove redundant #defines.
50298         * lib/fwriting.c: Include stdio-impl.h.
50299         (fwriting): Remove redundant #defines.
50300         * modules/fbufmode (Files): Add lib/stdio-impl.h.
50301         * modules/fflush (Files): Likewise.
50302         * modules/fpurge (Files): Likewise.
50303         * modules/freadable (Files): Likewise.
50304         * modules/freadahead (Files): Likewise.
50305         * modules/freading (Files): Likewise.
50306         * modules/freadptr (Files): Likewise.
50307         * modules/freadseek (Files): Likewise.
50308         * modules/fseeko (Files): Likewise.
50309         * modules/fseterr (Files): Likewise.
50310         * modules/fwritable (Files): Likewise.
50311         * modules/fwriting (Files): Likewise.
50312
50313 2008-04-26  Bruno Haible  <bruno@clisp.org>
50314
50315         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
50316         restore_seek_optimization, update_fpos_cache): New functions, extracted
50317         from rpl_fflush.
50318         (rpl_fflush): Use them.
50319         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
50320         (gl_REPLACE_FFLUSH): Use it.
50321
50322 2008-04-26  Bruno Haible  <bruno@clisp.org>
50323
50324         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
50325         on Solaris.
50326         * tests/test-xstrtoimax.sh: Likewise.
50327         * tests/test-xstrtoumax.sh: Likewise.
50328         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50329
50330 2008-04-26  Bruno Haible  <bruno@clisp.org>
50331
50332         * modules/memchr-tests: New file.
50333         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
50334
50335 2008-04-26  Eric Blake  <ebb9@byu.net>
50336             Bruno Haible  <bruno@clisp.org>
50337
50338         * lib/memchr.c: Include intprops.h.
50339         (__memchr): Optimize parallel detection of matching bytes. Rename local
50340         variables. Add explanatory comments.
50341
50342 2008-04-26  Bruno Haible  <bruno@clisp.org>
50343
50344         Fix module 'memchr', broken since 2000-10-28.
50345         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
50346
50347 2008-04-26  Bruno Haible  <bruno@clisp.org>
50348
50349         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
50350         comments.
50351
50352 2008-04-25  Eric Blake  <ebb9@byu.net>
50353
50354         Use native fstatat on cygwin 1.7.0.
50355         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
50356         first.
50357
50358 2008-04-23  Eric Blake  <ebb9@byu.net>
50359
50360         Improve memchr2 performance.
50361         * lib/memchr2.c (memchr2): Further optimize parallel detection of
50362         NUL bytes.
50363         * modules/memchr2 (Depends-on): Use intprops.h.
50364
50365 2008-04-23  Simon Josefsson  <simon@josefsson.org>
50366
50367         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
50368         an inline function instead of a CPP macro.  Patch by Ben Pfaff
50369         <blp@cs.stanford.edu>.
50370
50371 2008-04-23  Simon Josefsson  <simon@josefsson.org>
50372
50373         * lib/arpa_inet.in.h: New file.
50374
50375         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
50376         (Makefile.am): Sed in substitute header file.
50377
50378         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
50379         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
50380
50381         * modules/inet_ntop (configure.ac): Use
50382         gl_ARPA_INET_MODULE_INDICATOR.
50383
50384         * modules/inet_pton (configure.ac): Use
50385         gl_ARPA_INET_MODULE_INDICATOR.
50386
50387 2008-04-22  Jim Meyering  <meyering@redhat.com>
50388
50389         * modules/verify (License): Re-license as LGPLv2+.
50390
50391 2008-04-22  Simon Josefsson  <simon@josefsson.org>
50392
50393         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
50394         parameter to void* as per POSIX standard (MinGW uses char*).
50395
50396 2008-04-21  Bruno Haible  <bruno@clisp.org>
50397
50398         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
50399         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
50400         Define to replacements if REPLACE_ISWCNTRL is 1.
50401         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
50402         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
50403         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
50404         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
50405         what it fixes.
50406         * doc/posix-functions/iswalpha.texi: Likewise.
50407         * doc/posix-functions/iswblank.texi: Likewise.
50408         * doc/posix-functions/iswcntrl.texi: Likewise.
50409         * doc/posix-functions/iswdigit.texi: Likewise.
50410         * doc/posix-functions/iswgraph.texi: Likewise.
50411         * doc/posix-functions/iswlower.texi: Likewise.
50412         * doc/posix-functions/iswprint.texi: Likewise.
50413         * doc/posix-functions/iswpunct.texi: Likewise.
50414         * doc/posix-functions/iswspace.texi: Likewise.
50415         * doc/posix-functions/iswupper.texi: Likewise.
50416         * doc/posix-functions/iswxdigit.texi: Likewise.
50417         Reported by Alain Guibert.
50418
50419 2008-04-21  Bruno Haible  <bruno@clisp.org>
50420
50421         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
50422         Patch by Alain Guibert.
50423
50424 2008-04-21  Bruno Haible  <bruno@clisp.org>
50425
50426         Fix test failures on mingw.
50427         * tests/test-xstrtol.c (print_no_progname): New function.
50428         (main): Install it in error_print_progname hook.
50429         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
50430         * tests/test-xstrtoimax.sh: Likewise.
50431         * tests/test-xstrtoumax.sh: Likewise.
50432
50433 2008-04-21  Bruno Haible  <bruno@clisp.org>
50434
50435         Fix test failure on mingw.
50436         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
50437
50438 2008-04-21  Bruno Haible  <bruno@clisp.org>
50439
50440         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
50441         Actually assign a value.
50442
50443 2008-04-20  Bruno Haible  <bruno@clisp.org>
50444
50445         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
50446         take 2.
50447         * lib/canonicalize.c (canonicalize_file_name): Elide if the
50448         'canonicalize-lgpl' module is also used.
50449         * lib/canonicalize-lgpl.c: Undo last change.
50450         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
50451
50452 2008-04-20  Bruno Haible  <bruno@clisp.org>
50453
50454         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
50455         config.h. Provide _mkdir based fallback for mingw.
50456         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
50457         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
50458         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
50459         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
50460         rather than defining mkdir in config.h.
50461         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
50462         (gl_SYS_STAT_H_DEFAULTS): New macro.
50463         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
50464         HAVE_IO_H any more.
50465         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
50466         HAVE_DECL_MKDIR and HAVE_IO_H.
50467
50468 2008-04-20  Bruno Haible  <bruno@clisp.org>
50469
50470         * lib/isapipe.c: Port to native Windows platforms.
50471
50472 2008-04-20  Bruno Haible  <bruno@clisp.org>
50473
50474         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
50475
50476 2008-04-21  Eric Blake  <ebb9@byu.net>
50477
50478         Work around preprocessors that don't handle UINTMAX_MAX.
50479         * lib/memchr2.c (memchr2): Avoid embedded #if.
50480         Reported by Alain Guibert, fix suggested by Bruno Haible.
50481
50482 2008-04-21  Simon Josefsson  <simon@josefsson.org>
50483
50484         * doc/posix-functions/strftime.texi (strftime): Explain better
50485         Windows incompatibility.  Suggested by Micah Cowan
50486         <micah@cowan.name>.
50487
50488 2008-04-20  Bruno Haible  <bruno@clisp.org>
50489
50490         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
50491         unistr/u8-mblen.
50492
50493 2008-04-20  Bruno Haible  <bruno@clisp.org>
50494
50495         Fix test failure on platforms with non-GNU iconv.
50496         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
50497         (U_TO_U8): Use it, rather than u16_to_u8.
50498         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
50499         units at the end of the input string.
50500         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
50501
50502 2008-04-20  Bruno Haible  <bruno@clisp.org>
50503
50504         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
50505         when the resulting length is 0.
50506         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
50507
50508 2008-04-20  Bruno Haible  <bruno@clisp.org>
50509
50510         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
50511         works.
50512         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
50513
50514 2008-04-20  Bruno Haible  <bruno@clisp.org>
50515
50516         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
50517         * modules/tsearch-tests (configure.ac): Test for initstate function.
50518
50519 2008-04-20  Bruno Haible  <bruno@clisp.org>
50520
50521         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
50522         for nlink_t if missing.
50523         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
50524
50525 2008-04-19  Bruno Haible  <bruno@clisp.org>
50526
50527         Work around snprintf bug on Linux libc5.
50528         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
50529         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50530         gl_SNPRINTF_SIZE1.
50531         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50532         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
50533         that test failed.
50534         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
50535         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
50536         * modules/snprintf (Files): Add m4/printf.m4.
50537         * modules/vsnprintf (Files): Likewise.
50538         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
50539         * doc/posix-functions/vsnprintf.texi: Likewise.
50540
50541 2008-04-19  Bruno Haible  <bruno@clisp.org>
50542
50543         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
50544         from 0.0058 to less than 10^-7.
50545
50546 2008-04-19  Bruno Haible  <bruno@clisp.org>
50547
50548         Fix rounding when a precision is given.
50549         * lib/vasnprintf.c (is_borderline): New function.
50550         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
50551         9...9x.
50552         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
50553         %e, %g.
50554         * tests/test-vasprintf-posix.c (test_function): Likewise.
50555         * tests/test-snprintf-posix.h (test_function): Likewise.
50556         * tests/test-sprintf-posix.h (test_function): Likewise.
50557         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
50558         * tests/test-printf-posix.h (test_function): Likewise.
50559         * tests/test-printf-posix.output: Update.
50560         Reported by John Darrington <john@darrington.wattle.id.au> via
50561         Ben Pfaff <blp@cs.stanford.edu>.
50562
50563 2008-04-18  Simon Josefsson  <simon@josefsson.org>
50564
50565         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
50566         Suggested by Bruno Haible <bruno@clisp.org>.
50567
50568 2008-04-17  Bruno Haible  <bruno@clisp.org>
50569
50570         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
50571         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
50572         implementation.
50573         Patch by Bruce Merry <bmerry@gmail.com>.
50574
50575 2008-04-17  Simon Josefsson  <simon@josefsson.org>
50576
50577         * doc/posix-functions/strftime.texi (strftime): Mention that %e
50578         doesn't work under Windows.
50579
50580 2008-04-16  Bruno Haible  <bruno@clisp.org>
50581
50582         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
50583         New macros.
50584         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
50585         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
50586         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
50587         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
50588         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
50589         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
50590         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
50591         macros.
50592         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
50593         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
50594         Northern Sotho, Uighur.
50595
50596 2008-04-16  Bruno Haible  <bruno@clisp.org>
50597
50598         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
50599         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
50600         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
50601         Reported by Daniel Bergström <daniel@octocode.com>.
50602
50603 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
50604             Bruno Haible  <bruno@clisp.org>
50605
50606         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
50607         function.
50608         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
50609         New functions, mostly extracted from gl_locale_name_default.
50610         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
50611
50612 2008-04-16  Eric Blake  <ebb9@byu.net>
50613
50614         Adjust strtod detection to catch glibc 2.7 bug.
50615         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
50616         Reported by John Gatewood Ham.
50617
50618 2008-04-16  Bruno Haible  <bruno@clisp.org>
50619
50620         Add tentative support for Linux libc5.
50621         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
50622         * lib/fpurge.c (fpurge): Likewise.
50623         * lib/freadable.c (freadable): Likewise.
50624         * lib/freadahead.c (freadahead): Likewise.
50625         * lib/freading.c (freading): Likewise.
50626         * lib/freadptr.c (freadptr): Likewise.
50627         * lib/freadseek.c (freadptrinc): Likewise.
50628         * lib/fseeko.c (rpl_fseeko): Likewise.
50629         * lib/fseterr.c (fseterr): Likewise.
50630         * lib/fwritable.c (fwritable): Likewise.
50631         * lib/fwriting.c (fwriting): Likewise.
50632         Reported by Alain Guibert <alguibert+bts@free.fr>.
50633
50634 2008-04-15  Bruno Haible  <bruno@clisp.org>
50635
50636         * modules/mathl (configure.ac): Define module indicator.
50637
50638 2008-04-15  Bruno Haible  <bruno@clisp.org>
50639
50640         * lib/logl.c (logl): Remove unused variables.
50641
50642 2008-04-15  Bruno Haible  <bruno@clisp.org>
50643
50644         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
50645         fails.
50646
50647 2008-04-15  Bruno Haible  <bruno@clisp.org>
50648
50649         * lib/trim.c (trim2): Fix argument of isspace() macro.
50650
50651 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
50652
50653         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
50654         to 0.
50655         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
50656
50657 2008-04-14  Bruno Haible  <bruno@clisp.org>
50658
50659         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
50660         AC_LANG_PROGRAM argument.
50661         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
50662         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
50663         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
50664         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
50665         * m4/math_h.m4 (gl_MATH_H): Likewise.
50666         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
50667         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50668         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
50669         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
50670         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50671         * m4/regex.m4 (gl_REGEX): Likewise.
50672         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
50673         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
50674         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50675         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
50676         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
50677         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
50678         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50679         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
50680
50681 2008-04-14  Jim Meyering  <meyering@redhat.com>
50682
50683         test-strtod: fix typos: s/abs/fabs/
50684         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
50685
50686 2008-04-13  Bruno Haible  <bruno@clisp.org>
50687
50688         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
50689         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
50690         module is also used and while not building the reloc-wrapper.
50691
50692 2008-04-13  Bruno Haible  <bruno@clisp.org>
50693
50694         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
50695
50696 2008-04-13  Bruno Haible  <bruno@clisp.org>
50697
50698         Fix AIX compilation failure introduced on 2008-04-02.
50699         * tests/test-frexp.c (exp): Undefine before redefining.
50700         * tests/test-frexpl.c (exp): Likewise.
50701
50702 2008-04-13  Bruno Haible  <bruno@clisp.org>
50703
50704         Work around a HP-UX stdio bug.
50705         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
50706         * tests/test-ftello.c (main): Likewise.
50707         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
50708         * doc/posix-functions/ftello.texi: Likewise.
50709
50710 2008-04-13  Bruno Haible  <bruno@clisp.org>
50711
50712         Make test-signbit pass on HP-UX/hppa.
50713         * tests/test-signbit.c (minus_zerol): New variable.
50714         (test_signbitl): Use it.
50715
50716 2008-04-13  Bruno Haible  <bruno@clisp.org>
50717
50718         Make truncl work on OSF/1 4.0.
50719         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
50720         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50721         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50722         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
50723         HAVE_DECL_TRUNCL.
50724         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
50725         HAVE_DECL_TRUNCL.
50726         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
50727
50728 2008-04-13  Bruno Haible  <bruno@clisp.org>
50729
50730         * lib/unictype.h: Remove trailing comma from enumeration definitions.
50731
50732 2008-04-13  Bruno Haible  <bruno@clisp.org>
50733
50734         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
50735         expression, so as to avoid HP-UX 11 cc compiler bug.
50736
50737 2008-04-13  Bruno Haible  <bruno@clisp.org>
50738
50739         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
50740
50741 2008-04-13  Bruno Haible  <bruno@clisp.org>
50742
50743         * lib/git-merge-changelog.c: Remove empty declaration outside of
50744         functions.
50745
50746 2008-04-13  Bruno Haible  <bruno@clisp.org>
50747
50748         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
50749
50750 2008-04-13  Bruno Haible  <bruno@clisp.org>
50751
50752         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
50753         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
50754         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
50755         also if it exists but lacks definitions of the SHUT_* macros.
50756         * modules/sys_socket (Description): Update.
50757         Reported by Elbert Pol <e.pol@chello.nl>.
50758
50759 2008-04-13  Bruno Haible  <bruno@clisp.org>
50760
50761         * lib/localcharset.c (OS2): Don't redefine if already defined.
50762         Reported by Elbert Pol <e.pol@chello.nl>.
50763
50764 2008-04-13  Bruno Haible  <bruno@clisp.org>
50765
50766         * lib/binary-io.h [__EMX__]: Include <io.h>.
50767         Reported by Elbert Pol <e.pol@chello.nl>.
50768
50769 2008-04-12  Bruno Haible  <bruno@clisp.org>
50770
50771         * lib/fpucw.h: Enable the definitions also for x86_64.
50772         Needed for NetBSD/x86_64.
50773         Reported by Thomas Klausner <tk@giga.or.at>.
50774
50775 2008-04-12  Bruno Haible  <bruno@clisp.org>
50776
50777         * tests/test-strtod.c: Include isnand.h.
50778         (main): Use isnand instead of isnan.
50779         Reported by Jim Meyering.
50780
50781 2008-04-12  Bruno Haible  <bruno@clisp.org>
50782
50783         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
50784         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50785
50786 2008-04-12  Jim Meyering  <meyering@redhat.com>
50787
50788         * m4/math_h.m4 (gl_MATH_H): Fix typos.
50789
50790 2008-04-12  Bruno Haible  <bruno@clisp.org>
50791
50792         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
50793         Reported by Elbert Pol <e.pol@chello.nl>.
50794
50795 2008-04-12  Eric Blake  <ebb9@byu.net>
50796
50797         Work around Solaris 10 math.h bug.
50798         * m4/math_h.m4 (gl_MATH_H): Check for bug.
50799         (gl_MATH_H_DEFAULTS): Set up default.
50800         * modules/math (Makefile.am): Replace new indicators.
50801         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
50802         * tests/test-math.c (main): Test this.
50803         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
50804         * doc/posix-headers/math.texi (math.h): Mention bug.
50805         Reported by Nelson H. F. Beebe and Jim Meyering.
50806
50807 2008-04-11  Bruno Haible  <bruno@clisp.org>
50808
50809         Adapt to future versions of Apple GCC.
50810         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
50811         Reported by Peter O'Gorman <peter@pogma.com>.
50812
50813 2008-04-11  Bruno Haible  <bruno@clisp.org>
50814
50815         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
50816
50817 2008-04-11  Bruno Haible  <bruno@clisp.org>
50818
50819         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
50820
50821         * modules/getaddrinfo-tests (Makefile.am): Define
50822         test_getaddrinfo_LDADD.
50823
50824 2008-04-11  Bruno Haible  <bruno@clisp.org>
50825
50826         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
50827         (init): Fix syntax error.
50828         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
50829         is declared.
50830
50831 2008-04-11  Bruno Haible  <bruno@clisp.org>
50832
50833         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
50834         * modules/glob (Depends-on): Add stdbool.
50835
50836 2008-04-11  Bruno Haible  <bruno@clisp.org>
50837
50838         * lib/trim.c: Include <string.h>.
50839
50840 2008-04-11  Eric Blake  <ebb9@byu.net>
50841
50842         Avoid compile failure on OS/2.
50843         * lib/regex_internal.h (internal_function): Disable optimization
50844         on OS/2 (__EMX__), where it caused compiler error.
50845         Reported by Elbert Pol.
50846
50847 2008-04-11  Bruno Haible  <bruno@clisp.org>
50848
50849         Flush the standard error stream before aborting. Needed on mingw.
50850         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50851         * tests/test-array_list.c (ASSERT): Likewise.
50852         * tests/test-array_oset.c (ASSERT): Likewise.
50853         * tests/test-avltree_list.c (ASSERT): Likewise.
50854         * tests/test-avltree_oset.c (ASSERT): Likewise.
50855         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50856         * tests/test-binary-io.c (ASSERT): Likewise.
50857         * tests/test-byteswap.c (ASSERT): Likewise.
50858         * tests/test-c-ctype.c (ASSERT): Likewise.
50859         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50860         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50861         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50862         * tests/test-c-strstr.c (ASSERT): Likewise.
50863         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50864         * tests/test-canonicalize.c (ASSERT): Likewise.
50865         * tests/test-carray_list.c (ASSERT): Likewise.
50866         * tests/test-ceilf1.c (ASSERT): Likewise.
50867         * tests/test-ceilf2.c (ASSERT): Likewise.
50868         * tests/test-ceill.c (ASSERT): Likewise.
50869         * tests/test-count-one-bits.c (ASSERT): Likewise.
50870         * tests/test-fbufmode.c (ASSERT): Likewise.
50871         * tests/test-fflush2.c (ASSERT): Likewise.
50872         * tests/test-floorf1.c (ASSERT): Likewise.
50873         * tests/test-floorf2.c (ASSERT): Likewise.
50874         * tests/test-floorl.c (ASSERT): Likewise.
50875         * tests/test-fopen.c (ASSERT): Likewise.
50876         * tests/test-fpending.c (ASSERT): Likewise.
50877         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50878         * tests/test-fpurge.c (ASSERT): Likewise.
50879         * tests/test-freadable.c (ASSERT): Likewise.
50880         * tests/test-freadahead.c (ASSERT): Likewise.
50881         * tests/test-freading.c (ASSERT): Likewise.
50882         * tests/test-freadptr.c (ASSERT): Likewise.
50883         * tests/test-freadptr2.c (ASSERT): Likewise.
50884         * tests/test-freadseek.c (ASSERT): Likewise.
50885         * tests/test-freopen.c (ASSERT): Likewise.
50886         * tests/test-frexp.c (ASSERT): Likewise.
50887         * tests/test-frexpl.c (ASSERT): Likewise.
50888         * tests/test-fseek.c (ASSERT): Likewise.
50889         * tests/test-fseeko.c (ASSERT): Likewise.
50890         * tests/test-fstrcmp.c (ASSERT): Likewise.
50891         * tests/test-ftell.c (ASSERT): Likewise.
50892         * tests/test-ftello.c (ASSERT): Likewise.
50893         * tests/test-func.c (ASSERT): Likewise.
50894         * tests/test-fwritable.c (ASSERT): Likewise.
50895         * tests/test-fwriting.c (ASSERT): Likewise.
50896         * tests/test-getdelim.c (ASSERT): Likewise.
50897         * tests/test-getline.c (ASSERT): Likewise.
50898         * tests/test-i-ring.c (ASSERT): Likewise.
50899         * tests/test-iconv-utf.c (ASSERT): Likewise.
50900         * tests/test-iconv.c (ASSERT): Likewise.
50901         * tests/test-isfinite.c (ASSERT): Likewise.
50902         * tests/test-isnand.c (ASSERT): Likewise.
50903         * tests/test-isnanf.c (ASSERT): Likewise.
50904         * tests/test-isnanl.h (ASSERT): Likewise.
50905         * tests/test-ldexpl.c (ASSERT): Likewise.
50906         * tests/test-linked_list.c (ASSERT): Likewise.
50907         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50908         * tests/test-localename.c (ASSERT): Likewise.
50909         * tests/test-lseek.c (ASSERT): Likewise.
50910         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50911         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50912         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50913         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50914         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50915         * tests/test-mbschr.c (ASSERT): Likewise.
50916         * tests/test-mbscspn.c (ASSERT): Likewise.
50917         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50918         * tests/test-mbspbrk.c (ASSERT): Likewise.
50919         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50920         * tests/test-mbsrchr.c (ASSERT): Likewise.
50921         * tests/test-mbsspn.c (ASSERT): Likewise.
50922         * tests/test-mbsstr1.c (ASSERT): Likewise.
50923         * tests/test-mbsstr2.c (ASSERT): Likewise.
50924         * tests/test-mbsstr3.c (ASSERT): Likewise.
50925         * tests/test-memchr2.c (ASSERT): Likewise.
50926         * tests/test-memmem.c (ASSERT): Likewise.
50927         * tests/test-open.c (ASSERT): Likewise.
50928         * tests/test-printf-frexp.c (ASSERT): Likewise.
50929         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50930         * tests/test-printf-posix.c (ASSERT): Likewise.
50931         * tests/test-quotearg.c (ASSERT): Likewise.
50932         * tests/test-rbtree_list.c (ASSERT): Likewise.
50933         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50934         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50935         * tests/test-round1.c (ASSERT): Likewise.
50936         * tests/test-roundf1.c (ASSERT): Likewise.
50937         * tests/test-roundl.c (ASSERT): Likewise.
50938         * tests/test-signbit.c (ASSERT): Likewise.
50939         * tests/test-sleep.c (ASSERT): Likewise.
50940         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50941         * tests/test-snprintf.c (ASSERT): Likewise.
50942         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50943         * tests/test-stat-time.c (ASSERT): Likewise.
50944         * tests/test-strcasestr.c (ASSERT): Likewise.
50945         * tests/test-strerror.c (ASSERT): Likewise.
50946         * tests/test-striconv.c (ASSERT): Likewise.
50947         * tests/test-striconveh.c (ASSERT): Likewise.
50948         * tests/test-striconveha.c (ASSERT): Likewise.
50949         * tests/test-strsignal.c (ASSERT): Likewise.
50950         * tests/test-strstr.c (ASSERT): Likewise.
50951         * tests/test-strtod.c (ASSERT): Likewise.
50952         * tests/test-trunc1.c (ASSERT): Likewise.
50953         * tests/test-trunc2.c (ASSERT): Likewise.
50954         * tests/test-truncf1.c (ASSERT): Likewise.
50955         * tests/test-truncf2.c (ASSERT): Likewise.
50956         * tests/test-truncl.c (ASSERT): Likewise.
50957         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50958         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50959         * tests/test-vasnprintf.c (ASSERT): Likewise.
50960         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50961         * tests/test-vasprintf.c (ASSERT): Likewise.
50962         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50963         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50964         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50965         * tests/test-vsnprintf.c (ASSERT): Likewise.
50966         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50967         * tests/test-wcwidth.c (ASSERT): Likewise.
50968         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50969         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50970         * tests/test-xvasprintf.c (ASSERT): Likewise.
50971         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50972         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50973         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50974         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50975         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50976         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50977         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50978         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50979         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50980         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50981         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50982         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50983         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50984         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50985         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50986         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50987         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50988         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50989         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50990         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50991         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50992         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50993         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50994         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50995         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50996         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50997         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50998         * tests/unictype/test-combining.c (ASSERT): Likewise.
50999         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
51000         * tests/unictype/test-digit.c (ASSERT): Likewise.
51001         * tests/unictype/test-mirror.c (ASSERT): Likewise.
51002         * tests/unictype/test-numeric.c (ASSERT): Likewise.
51003         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
51004         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
51005         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
51006         * tests/unictype/test-scripts.c (ASSERT): Likewise.
51007         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
51008         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
51009         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
51010         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
51011         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
51012         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
51013         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
51014         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
51015         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
51016         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
51017         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
51018         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
51019         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
51020         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
51021         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
51022         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
51023         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
51024         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
51025         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
51026         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
51027         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
51028         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
51029         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
51030         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
51031         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
51032         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
51033         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
51034         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
51035         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
51036         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
51037         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
51038         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
51039         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
51040         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
51041         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
51042         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
51043         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
51044         Reported by Eric Blake.
51045
51046 2008-04-11  Bruno Haible  <bruno@clisp.org>
51047
51048         * lib/wchar.in.h: Tweak comment.
51049
51050 2008-04-11  Bruno Haible  <bruno@clisp.org>
51051
51052         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
51053         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
51054         gl_COMMON.
51055         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
51056
51057 2008-04-11  Bruno Haible  <bruno@clisp.org>
51058
51059         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
51060
51061 2008-04-11  Simon Josefsson  <simon@josefsson.org>
51062
51063         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
51064         of attempting to use non-existing /dev/*random.  Based on patch
51065         from Adam Strzelecki <ono@java.pl> in
51066         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
51067
51068 2008-04-08  Bruno Haible  <bruno@clisp.org>
51069
51070         Add tentative support for emx+gcc.
51071         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
51072         * lib/fpurge.c (fpurge): Likewise.
51073         * lib/freadable.c (freadable): Likewise.
51074         * lib/freadahead.c (freadahead): Likewise.
51075         * lib/freading.c (freading): Likewise.
51076         * lib/freadptr.c (freadptr): Likewise.
51077         * lib/freadseek.c (freadptrinc): Likewise.
51078         * lib/fseeko.c (rpl_fseeko): Likewise.
51079         * lib/fseterr.c (fseterr): Likewise.
51080         * lib/fwritable.c (fwritable): Likewise.
51081         * lib/fwriting.c (fwriting): Likewise.
51082         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
51083
51084 2008-04-09  Eric Blake  <ebb9@byu.net>
51085
51086         Avoid some autoconf warnings.
51087         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
51088         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
51089         * m4/afs.m4 (gl_AFS): Likewise.
51090         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
51091         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
51092         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51093         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
51094         (gl_INTEGER_TYPE_SUFFIX): Likewise.
51095         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
51096         (AC_CHECK_DECLS_ONCE): Likewise.
51097         Rename file...
51098         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
51099         gnulib-tool requires autoconf 2.59 or better.
51100         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
51101
51102 2008-04-08  Eric Blake  <ebb9@byu.net>
51103
51104         Use 'git describe --match' if present (added in git 1.5.5).
51105         * build-aux/git-version-gen: Limit result to tags that match 'v*'
51106         if possible.
51107
51108 2008-04-08  Bruno Haible  <bruno@clisp.org>
51109
51110         Add tentative support for OpenServer.
51111         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
51112         _ptr, _cnt.
51113         * lib/fpurge.c (fpurge): Likewise.
51114         * lib/freadable.c (freadable): Likewise.
51115         * lib/freadahead.c (freadahead): Likewise.
51116         * lib/freading.c (freading): Likewise.
51117         * lib/freadptr.c (freadptr): Likewise.
51118         * lib/freadseek.c (freadptrinc): Likewise.
51119         * lib/fseeko.c (rpl_fseeko): Likewise.
51120         * lib/fseterr.c (fseterr): Likewise.
51121         * lib/fwritable.c (fwritable): Likewise.
51122         * lib/fwriting.c (fwriting): Likewise.
51123         Reported by Roger Cornelius <rac@tenzing.org> and
51124         Brian K. White <brian@aljex.com>.
51125
51126 2008-04-06  Jim Meyering  <meyering@redhat.com>
51127
51128         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
51129
51130 2008-04-06  Bruno Haible  <bruno@clisp.org>
51131
51132         Avoid possible error with non-ASCII bytes in UTF-8 locales.
51133         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
51134         * tests/test-printf-posix.sh: Likewise.
51135         * tests/test-vfprintf-posix.sh: Likewise.
51136         * tests/test-vprintf-posix.sh: Likewise.
51137         * tests/test-xprintf-posix.sh: Likewise.
51138
51139 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51140
51141         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
51142         hide error from 'ls', needed on OS/2.
51143         Report by Elbert Pol <elbert.pol@gmail.com>.
51144
51145 2008-04-04  Eric Blake  <ebb9@byu.net>
51146
51147         Make test-fseeko.c failures meaningful.
51148         * tests/test-fseeko.c: Print line number on failure.
51149         * tests/test-fseek.c: Likewise.
51150         Reported by Nelson H. F. Beebe.
51151
51152         Improve strtod bug detection check.
51153         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
51154         required for Solaris 10.
51155         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
51156
51157 2008-04-04  Bruno Haible  <bruno@clisp.org>
51158
51159         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
51160         by m4/setenv.m4.
51161
51162 2008-04-03  Eric Blake  <ebb9@byu.net>
51163
51164         Ensure sane .version contents.
51165         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
51166         version string.
51167         * build-aux/git-version-gen: Improve documentation.
51168
51169         Make GNU make output nicer.
51170         * top/GNUmakefile [!_have-Makefile]: Add dependency on
51171         MAKECMDGOALS to enforce message for all command line targets.  Set
51172         srcdir for use in maint.mk.
51173
51174         Another maintainer tweak.
51175         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
51176         a target that regenerates version.
51177
51178 2008-04-03  Jim Meyering  <meyering@redhat.com>
51179
51180         vc-list-files: don't cause coreutils "make po-check" failure
51181         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
51182
51183 2008-04-03  Eric Blake  <ebb9@byu.net>
51184
51185         Allow VPATH usage of vc-list-files.
51186         * build-aux/vc-list-files (scriptversion): Add timestamp.
51187         (options): Add --help, --version, -C.
51188         (CVS): Support installed cvsu.
51189
51190 2008-04-02  Bruno Haible  <bruno@clisp.org>
51191
51192         Avoid some "statement with no effect" warnings from gcc.
51193         * tests/test-wctype.c (main): Explicitly ignore unused values.
51194         Reported by Jim Meyering.
51195
51196 2008-04-02  Jim Meyering  <meyering@redhat.com>
51197
51198         Avoid some warnings from "gcc -Wshadow".
51199         * tests/test-frexp.c (exp): Define to a different identifier.
51200         * tests/test-frexpl.c (exp): Likewise.
51201
51202 2008-04-03  Jim Meyering  <meyering@redhat.com>
51203
51204         bootstrap: remove dangling *.[ch] symlinks from lib
51205         * build-aux/bootstrap [dangling symlink removal]: Move find's
51206         -depth option to precede all others, to avoid a warning.
51207         Remove *.[ch] files too, and from "$source_base" (usually lib/).
51208
51209 2008-04-02  Bruno Haible  <bruno@clisp.org>
51210
51211         Avoid some warnings from "gcc -Wshadow".
51212         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
51213         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
51214         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
51215         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
51216         Reported by Jim Meyering.
51217
51218 2008-04-01  Bruno Haible  <bruno@clisp.org>
51219
51220         Fix test to work on IRIX 6.5 with cc.
51221         * tests/test-math.c (numeric_equal): New function.
51222         (main): Use it.
51223
51224 2008-04-01  Bruno Haible  <bruno@clisp.org>
51225
51226         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
51227
51228 2008-04-01  Bruno Haible  <bruno@clisp.org>
51229
51230         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
51231         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
51232         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
51233         (Depends-on): Remove math.
51234
51235         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
51236         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
51237         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
51238         (Depends-on): Remove math.
51239
51240         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
51241         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
51242         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
51243         (Depends-on): Remove math.
51244         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
51245         (Depends-on): Remove math.
51246
51247         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
51248         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
51249         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
51250         (Depends-on): Remove math.
51251         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
51252         (Depends-on): Remove math.
51253
51254         * tests/test-round1.c: Include nan.h.
51255         (main): Use NaNd instead of NAN.
51256         * modules/round-tests (Files): Add tests/nan.h.
51257
51258         * tests/test-trunc1.c: Include nan.h.
51259         (main): Use NaNd instead of NAN.
51260         * modules/trunc-tests (Files): Add tests/nan.h.
51261
51262         * tests/test-roundf1.c: Include nan.h.
51263         (main): Use NaNf instead of NAN.
51264         * modules/roundf-tests (Files): Add tests/nan.h.
51265
51266         * tests/test-truncf1.c: Include nan.h.
51267         (main): Use NaNf instead of NAN.
51268         * modules/truncf-tests (Files): Add tests/nan.h.
51269
51270         * tests/test-ceilf1.c: Include nan.h.
51271         (main): Use NaNf instead of NAN.
51272         * modules/ceilf-tests (Files): Add tests/nan.h.
51273
51274         * tests/test-floorf1.c: Include nan.h.
51275         (main): Use NaNf instead of NAN.
51276         * modules/floorf-tests (Files): Add tests/nan.h.
51277
51278         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
51279         (main): Use NaNf instead of NAN.
51280         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
51281
51282         * tests/test-isnand.c: Include nan.h instead of <math.h>.
51283         (main): Use NaNd instead of NAN.
51284         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
51285
51286         * tests/test-frexp.c: Include nan.h.
51287         (main): Use NaNd instead of NAN.
51288         * modules/frexp-tests (Files): Add tests/nan.h.
51289
51290         * lib/isnan.c: Don't include <math.h>.
51291         (FUNC): Don't use NAN macro.
51292         * modules/isnand-nolibm (Depends-on): Remove math.
51293         * modules/isnanf-nolibm (Depends-on): Remove math.
51294         * modules/isnanl (Depends-on): Remove math.
51295         * modules/isnanl-nolibm (Depends-on): Remove math.
51296
51297         * tests/nan.h: New file.
51298
51299 2008-04-01  Eric Blake  <ebb9@byu.net>
51300
51301         Fix typos.
51302         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
51303         values to be the right type.
51304
51305         For now, cater to gnulib strtod inaccuracies.
51306         * tests/test-strtod.c (main): Allow 1-ulp error on expected
51307         fractional results.  While not as nice from a QoI perspective, it
51308         is a quicker patch than correctly implementing decimal to binary
51309         rounding.
51310
51311 2008-03-31  Eric Blake  <ebb9@byu.net>
51312
51313         Guarantee a definition of NAN.
51314         * lib/math.in.h (NAN): Define if missing.
51315         * tests/test-math.c (main): Test it.
51316         * doc/posix-headers/math.texi (math.h): Document this.
51317         * lib/isnan.c (rpl_isnand): Use it.
51318         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
51319         * tests/test-floorf1.c (NaN): Likewise.
51320         * tests/test-frexp.c (NaN): Likewise.
51321         * tests/test-isnand.c (NaN): Likewise.
51322         * tests/test-isnanf.c (NaN): Likewise.
51323         * tests/test-round1.c (NaN): Likewise.
51324         * tests/test-roundf1.c (NaN): Likewise.
51325         * tests/test-snprintf-posix.h (NaN): Likewise.
51326         * tests/test-sprintf-posix.h (NaN): Likewise.
51327         * tests/test-trunc1.c (NaN): Likewise.
51328         * tests/test-truncf1.c (NaN): Likewise.
51329         * tests/test-vasnprintf-posix.c (NaN): Likewise.
51330         * tests/test-vasprintf-posix.c (NaN): Likewise.
51331         * modules/isnand-nolibm (Depends-on): Add math.
51332         * modules/isnanf-nolibm (Depends-on): Likewise.
51333         * modules/isnanl (Depends-on): Likewise.
51334         * modules/isnanl-nolibm (Depends-on): Likewise.
51335         * modules/snprintf-posix-tests (Depends-on): Likewise.
51336         * modules/sprintf-posix-tests (Depends-on): Likewise.
51337         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
51338         * modules/vsprintf-posix-tests (Depends-on): Likewise.
51339         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
51340         * modules/vasprintf-posix-tests (Depends-on): Likewise.
51341
51342 2008-03-31  Bruno Haible  <bruno@clisp.org>
51343
51344         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
51345         * doc/posix-functions/strtod.texi: Likewise.
51346
51347 2008-03-31  Bruno Haible  <bruno@clisp.org>
51348
51349         * tests/test-strtod.c (main): Don't use C99 syntax.
51350
51351 2008-03-31  Bruno Haible  <bruno@clisp.org>
51352
51353         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
51354         Reported by Eric Blake.
51355
51356 2008-03-31  Jim Meyering  <meyering@redhat.com>
51357
51358         Don't compare actual signbit return values.
51359         * tests/test-strtod.c (main): Rather, compare only their
51360         zero/non-zero nature.
51361
51362 2008-03-31  Eric Blake  <ebb9@byu.net>
51363
51364         More strtod documentation.
51365         * doc/posix-functions/strtod.texi (strtod): Interpret more test
51366         failures as distinct bugs.
51367
51368 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
51369
51370         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
51371         Problem reported by Erik Benada in
51372         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
51373
51374 2008-03-30  Bruno Haible  <bruno@clisp.org>
51375
51376         * tests/test-strtod.c: Add comments about which assertion fails on which
51377         platform.
51378         * doc/posix-functions/strtod.texi: Add info about many more platforms.
51379
51380 2008-03-30  Eric Blake  <ebb9@byu.net>
51381
51382         Test signbit behavior on zeros.
51383         * tests/test-signbit.c (test_signbitf): Add tests for zero.
51384         (test_signbitd, test_signbitl): Likewise.
51385
51386         More strtod touchups.
51387         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
51388         sign of negative underflow, for now.  Use .5, not .1.
51389         * doc/posix-functions/strtod.texi (strtod): Mention these
51390         limitations.
51391         Reported by Jim Meyering.
51392
51393 2008-03-30  Bruno Haible  <bruno@clisp.org>
51394
51395         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
51396         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
51397
51398 2008-03-30  Bruno Haible  <bruno@clisp.org>
51399
51400         Avoid failure when attempting to return empty iconv results on some
51401         platforms.
51402         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
51403         allocation, don't report ENOMEM when the resulting string is empty.
51404
51405 2008-03-30  Bruno Haible  <bruno@clisp.org>
51406
51407         Fix buffer overrun.
51408         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
51409         Don't consider the width for tmp_length. Check count against tmp_length
51410         before doing the padding. Ensure enough allocation during padding.
51411
51412 2008-03-30  Eric Blake  <ebb9@byu.net>
51413
51414         strtod touchups.
51415         * lib/strtod.c (strtod): Avoid compiler warnings.
51416         Reported by Jim Meyering.
51417
51418 2008-03-30  Bruno Haible  <bruno@clisp.org>
51419
51420         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
51421         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
51422         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
51423         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
51424         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
51425         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
51426         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
51427         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
51428
51429         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
51430         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
51431         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
51432         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
51433         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
51434         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
51435         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
51436         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
51437
51438         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
51439         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
51440         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
51441         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
51442         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
51443         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
51444         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
51445         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
51446
51447         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
51448         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
51449
51450         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
51451         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
51452
51453         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
51454         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
51455
51456         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
51457         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
51458         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
51459
51460         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
51461         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
51462         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
51463
51464         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
51465         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
51466         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
51467
51468         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
51469         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
51470         * modules/vasprintf (Depends-on): Add EOVERFLOW.
51471
51472         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
51473         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
51474         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
51475         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
51476         (Depends-on): Add EOVERFLOW.
51477         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
51478         (Depends-on): Add EOVERFLOW.
51479         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
51480         (Depends-on): Add EOVERFLOW.
51481         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
51482         (Depends-on): Add EOVERFLOW.
51483         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
51484         (Depends-on): Add EOVERFLOW.
51485         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
51486         (Depends-on): Add EOVERFLOW.
51487         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
51488         (Depends-on): Add EOVERFLOW.
51489         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
51490         (Depends-on): Add EOVERFLOW.
51491
51492         * lib/sprintf.c (EOVERFLOW): Remove fallback.
51493         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
51494         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
51495
51496         * lib/snprintf.c (EOVERFLOW): Remove fallback.
51497         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
51498         * modules/snprintf (Depends-on): Add EOVERFLOW.
51499
51500         * lib/poll.c (EOVERFLOW): Remove fallback.
51501         * modules/poll (Depends-on): Add EOVERFLOW.
51502
51503         * lib/getugroups.c (EOVERFLOW): Remove fallback.
51504         * modules/getugroups (Depends-on): Add EOVERFLOW.
51505
51506         * lib/getdelim.c (EOVERFLOW): Remove fallback.
51507         * modules/getdelim (Depends-on): Add EOVERFLOW.
51508
51509         * lib/ftell.c (EOVERFLOW): Remove fallback.
51510         * modules/ftell (Depends-on): Add EOVERFLOW.
51511
51512         * lib/fprintf.c (EOVERFLOW): Remove fallback.
51513         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
51514         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
51515
51516         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
51517
51518         * modules/EOVERFLOW-tests: New file.
51519         * tests/test-EOVERFLOW.c: New file.
51520
51521         * modules/EOVERFLOW: New file.
51522         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
51523
51524 2008-03-30  Bruno Haible  <bruno@clisp.org>
51525
51526         Fix bug introduced on 2007-06-10.
51527         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
51528         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
51529
51530 2008-03-30  Bruno Haible  <bruno@clisp.org>
51531
51532         Improve freadseek's efficiency after ungetc.
51533         * lib/freadseek.c: Include freadahead.h.
51534         (freadptrinc): New function, extracted from freadseek.
51535         (freadseek): Use it in a loop. Use freadahead to determine the number
51536         of loop iterations.
51537         * modules/freadseek (Depends-on): Add freadahead.
51538         (configure.ac): Require AC_C_INLINE.
51539
51540 2008-03-30  Bruno Haible  <bruno@clisp.org>
51541
51542         * lib/freadseek.c (freadseek): Don't ignore the return value of
51543         freadptr.
51544
51545 2008-03-29  Eric Blake  <ebb9@byu.net>
51546
51547         Add hex float support.
51548         * modules/strtod (Depends-on): Add c-ctype.
51549         (Link): Mention POW_LIB.
51550         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
51551         whitespace between 'e' and exponent.
51552         * tests/test-strtod.c (main): Enable hex float tests.
51553         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
51554         now provides.
51555
51556         Document various strtod bugs, with some fixes.
51557         * doc/posix-functions/strtod.texi (strtod): Document bugs with
51558         "-0x", "inf", "nan", and hex constants.
51559         * doc/posix-functions/atof.texi (atof): Likewise.
51560         * modules/stdlib (Makefile.am): Support strtod.
51561         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
51562         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
51563         detect additional strtod bugs.
51564         * lib/stdlib.in.h (rpl_strtod): Add declarations.
51565         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
51566         bool where appropriate.  Parse 'inf' and 'nan'.
51567         * tests/test-strtod.c: New file.
51568         * modules/strtod (Depends-on): Add stdbool, stdlib.
51569         (configure.ac): Turn on module indicator.
51570         * modules/strtod-tests: New module.
51571
51572 2008-03-29  Eric Blake  <ebb9@byu.net>
51573
51574         Fix ftell on mingw.
51575         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
51576         * modules/ftell-tests (Depends-on): Add binary-io.
51577         * modules/ftello-tests (Depends-on): Likewise.
51578         * tests/test-ftell.c (main): Enhance test to cover behavior after
51579         ungetc.  Enforce binary mode.
51580         * tests/test-ftello.c (main): Likewise.
51581
51582         Pass test-freadseek on cygwin.
51583         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
51584         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
51585         ungetc buffer.
51586
51587         * tests/test-fflush2.c (main): Fix typo.
51588
51589 2008-03-29  Bruno Haible  <bruno@clisp.org>
51590
51591         * tests/test-fflush2.c (main): Temporarily disable the contents of
51592         this test.
51593         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
51594         Reported by Eric Blake.
51595
51596 2008-03-28  Simon Josefsson  <simon@josefsson.org>
51597
51598         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
51599         (GC_SHA224_DIGEST_SIZE): Add.
51600
51601         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
51602         (gc_hash_digest_length): Likewise.
51603         (gc_hash_buffer): Likewise.
51604
51605 2008-03-25  Bruno Haible  <bruno@clisp.org>
51606
51607         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
51608         detail which gettext release to use.
51609         Reported by Simon Josefsson.
51610
51611 2008-03-26  Jim Meyering  <meyering@redhat.com>
51612
51613         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
51614         * modules/gnumakefile (clean-GNUmakefile): Also, use
51615         test ... && ... || : syntax rather than if-then ... fi.
51616
51617         gnumakefile: Don't double-quote-expand $(VPATH) value.
51618         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
51619
51620 2008-03-24  Eric Blake  <ebb9@byu.net>
51621
51622         Alter GNUmakefile to install into top directory.
51623         * modules/maintainer-makefile: Split, and add dependency...
51624         * modules/gnumakefile: to this new module.
51625         * build-aux/GNUmakefile: Move...
51626         * top/GNUmakefile: ...here.
51627         * build-aux/maint.mk: Move...
51628         * top/maint.mk: ...here.
51629         * MODULES.html.sh (Support for maintaining...): Document new
51630         module.
51631
51632 2008-03-23  Bruno Haible  <bruno@clisp.org>
51633
51634         * gnulib-tool: New options --vc-files, --no-vc-files.
51635         (func_usage): Document them.
51636         (vc_files): New variable.
51637         (func_import): Consider vc_files.
51638         (func_create_testdir): Set vc_files to empty.
51639         Suggested by Jim Meyering and Karl Berry.
51640
51641 2008-03-23  Bruno Haible  <bruno@clisp.org>
51642
51643         Fix regex compilation error on HP-UX 11.
51644         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
51645         * modules/regex (Files): Add m4/mbstate_t.m4.
51646         Reported by Ton Voon <ton.voon@altinity.com>.
51647
51648 2008-03-23  Bruno Haible  <bruno@clisp.org>
51649
51650         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
51651
51652 2008-03-23  Eric Blake  <ebb9@byu.net>
51653             Bruno Haible  <bruno@clisp.org>
51654
51655         Install files from top/ in the destination directory.
51656         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51657         augmentation also for the files from top/.
51658         (func_import, func_create_testdir): Rewrite file names:
51659         top/filename -> filename.
51660
51661 2008-03-23  Bruno Haible  <bruno@clisp.org>
51662
51663         Tweak "gnulib --version" output.
51664         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
51665
51666 2008-03-23  Bruno Haible  <bruno@clisp.org>
51667
51668         Tweak "gnulib --version" output.
51669         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
51670         rather than contents of ChangeLog, when possible.
51671
51672 2008-03-21  Eric Blake  <ebb9@byu.net>
51673
51674         More --version tweaks.
51675         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
51676         date of last ChangeLog entry.
51677
51678 2008-03-21  Jim Meyering  <meyering@redhat.com>
51679
51680         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
51681
51682 2008-03-20  Eric Blake  <ebb9@byu.net>
51683
51684         VPATH fix.
51685         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
51686
51687 2008-03-20  Simon Josefsson  <simon@josefsson.org>
51688
51689         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
51690         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
51691
51692 2008-03-20  Eric Blake  <ebb9@byu.net>
51693
51694         Sync GNUmakefile with coreutils.
51695         * build-aux/GNUmakefile (have-Makefile): Rename...
51696         (_have-Makefile): ...to this, for namespace consideration.
51697         (GNUmakefile.cfg): Include, if present.
51698         (_autoreconf): Define a default.
51699         (_is-dist-target): New rule for rebuilds to pick up intra-release
51700         version.
51701         (maint-cfg.mk): Rename...
51702         (cfg.mk): ...to this.
51703
51704 2008-03-18  Jim Meyering  <meyering@redhat.com>
51705
51706         New script and module: mktempd
51707         * MODULES.html.sh (maint+release support): Add mktempd.
51708         * build-aux/mktempd: New file.
51709         * modules/mktempd: New file.
51710
51711 2008-03-15  Jim Meyering  <meyering@redhat.com>
51712
51713         Undo last change.
51714         * lib/sha1.c, lib/md5.c: 63 != ~63.
51715         Reported by Andreas Schwab.
51716
51717         sha1.c, md5.c: Hoist a redundant expression.
51718         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
51719         "ctx->buflen" only once, before calling *_process_block.
51720         * lib/md5.c (md5_process_bytes): Likewise.
51721
51722 2008-03-14  Eric Blake  <ebb9@byu.net>
51723
51724         Bump copyright year in files generated by gnulib-tool.
51725         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
51726         gnulib-tool, rather than hard-coding it.
51727
51728         Fix 'gnulib-tool --version' output to work with git.
51729         * gnulib-tool (func_gnulib_dir): New function, extracted from...
51730         (startup): ...here.
51731         (func_version): Use it to invoke git-version-gen, rather than
51732         relying on CVS keyword expansion.  Modernize wording.
51733         (cvsdatestamp, last_checkin_date, version): Kill unused
51734         variables.
51735
51736 2008-03-12  Jim Meyering  <meyering@redhat.com>
51737
51738         Recognize optional cast of the argument to free.
51739         * build-aux/useless-if-before-free: Update regexps.
51740
51741         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
51742
51743 2008-03-11  Bruno Haible  <bruno@clisp.org>
51744
51745         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
51746         by a single package.
51747         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
51748         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
51749         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
51750         Reported by Sam Steingold <sds@gnu.org>.
51751
51752 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51753
51754         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
51755         repositories.
51756
51757 2008-03-11  Bruno Haible  <bruno@clisp.org>
51758
51759         Avoid conflicts between local macro definitions.
51760         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51761         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
51762
51763 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
51764             Bruno Haible  <bruno@clisp.org>
51765
51766         Make va_copy work with some version of xlc on AIX 5.1.
51767         * lib/stdarg.in.h: New file.
51768         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
51769         On AIX, use a <stdarg.h> file substitute.
51770         * modules/stdarg (Files): Add lib/stdarg.in.h.
51771         (Depends-on): Add include_next.
51772         (Makefile.am): Build a stdarg.h substitute if requested.
51773         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
51774
51775 2008-03-10  Bruno Haible  <bruno@clisp.org>
51776
51777         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
51778         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51779         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51780
51781 2008-03-10  Bruno Haible  <bruno@clisp.org>
51782
51783         * modules/stdlib (Depends-on): Add include_next, remove
51784         absolute-header.
51785
51786 2008-03-09  Bruno Haible  <bruno@clisp.org>
51787
51788         * lib/freadahead.h (freadahead): Document more precisely.
51789         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
51790         the sum of both buffer sizes.
51791         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
51792         * NEWS: Document the change.
51793
51794 2008-03-09  Bruno Haible  <bruno@clisp.org>
51795
51796         Extend freadptr to return also the buffer size.
51797         * lib/freadptr.h (freadptr): Add sizep argument.
51798         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
51799         (freadptr): Add sizep argument. Determine buffer size like freadahead
51800         does.
51801         * tests/test-freadptr.c: Don't include freadahead.h.
51802         (main): Adapt for new calling convention of freadptr.
51803         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
51804         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
51805         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
51806         tests/test-freadptr2.sh.
51807         (Depends): Remove freadahead.
51808         (TESTS): Add test-freadptr2.sh.
51809         (check_PROGRAMS): Add test-freadptr2.
51810
51811 2008-03-09  Bruno Haible  <bruno@clisp.org>
51812
51813         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
51814         Report and solution by Simon Josefsson.
51815
51816 2008-03-06  Bruno Haible  <bruno@clisp.org>
51817
51818         Make fflush after ungetc work on BSD platforms.
51819         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
51820         * tests/test-fflush2.c: New file.
51821         * tests/test-fflush2.sh: New file.
51822         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
51823         tests/test-fflush2.c.
51824         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
51825         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
51826
51827 2008-03-06  Eric Blake  <ebb9@byu.net>
51828
51829         Likewise for ftello.
51830         * modules/ftello (Dependencies): Add extensions.
51831         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
51832
51833 2008-03-06  Bruno Haible  <bruno@clisp.org>
51834
51835         * modules/fseeko (Dependencies): Add extensions.
51836         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
51837         Needed on glibc systems.
51838
51839 2008-03-06  Bruno Haible  <bruno@clisp.org>
51840
51841         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51842         email address.
51843         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51844
51845 2008-03-06  Bruno Haible  <bruno@clisp.org>
51846
51847         * users.txt: Add libgnupdf.
51848
51849 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51850
51851         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51852         (Header File Substitutes, Function Substitutes,
51853         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51854         (Build robot for gnulib): Fix typo.
51855
51856 2008-03-06  Bruno Haible  <bruno@clisp.org>
51857
51858         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51859         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51860
51861 2008-03-06  Bruno Haible  <bruno@clisp.org>
51862
51863         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51864         * doc/gnulib.texi: Include it.
51865
51866 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51867
51868         * modules/func (License): Change license to unlimited; there was
51869         no LGPL parts in the module anyway.
51870
51871 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51872
51873         * modules/__func__: Renamed to modules/func.
51874         * modules/__func__-tests: Renamed to modules/func-tests.
51875         * tests/test-__func__.c: Renamed to tests/test-func.c.
51876         * m4/__func__.m4: Renamed to m4/func.m4.
51877         * doc/gnulib.texi (__func__): Section renamed to func.
51878         Suggested by Eric Blake <ebb9@byu.net>.
51879
51880 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51881
51882         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51883         about __func__.  Make example self-contained.  Suggested by Eric
51884         Blake <ebb9@byu.net>.
51885
51886         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51887         Suggested by Eric Blake <ebb9@byu.net>.
51888
51889 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51890
51891         * modules/__func__: New file.
51892         * modules/__func__-tests: New file.
51893         * tests/test-__func__.c: New file.
51894         * m4/__func__.m4: New file.
51895         * doc/gnulib.texi (__func__): Document __func__ module.
51896
51897 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51898
51899         * modules/byteswap (License): Re-license as LGPLv2+.
51900
51901 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51902
51903         * doc/Makefile: Add pdf target.
51904
51905 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51906
51907         * modules/inline (License): Use 'unlimited', since there are only
51908         *.m4 files in this module.
51909
51910 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51911             Bruno Haible  <bruno@clisp.org>
51912
51913         Add support for HP C 7.1 on OpenVMS 8.3.
51914         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51915
51916 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51917
51918         Update VMS specifics.
51919         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51920
51921 2008-03-02  Jim Meyering  <meyering@redhat.com>
51922
51923         Remove the last dependency on the "free" module.
51924         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51925         Reported by Bob Proulx.
51926
51927         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51928
51929         Remove useless "if" tests before free.  Deprecate "free" module.
51930         * doc/posix-functions/free.texi: Mention that this
51931         module is no longer useful.
51932         * modules/free (Notice): Say this module is obsolete.
51933         * modules/readutmp (Depends-on): Remove free.
51934         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51935         * lib/putenv.c (putenv): Likewise.
51936         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51937         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51938         * tests/test-c-strcasestr.c (main): Likewise.
51939         * tests/test-c-strstr.c (main): Likewise.
51940         * tests/test-mbscasestr1.c (main): Likewise.
51941         * tests/test-mbscasestr2.c (main): Likewise.
51942         * tests/test-mbsstr1.c (main): Likewise.
51943         * tests/test-mbsstr2.c (main): Likewise.
51944         * tests/test-memmem.c (main): Likewise.
51945         * tests/test-strcasestr.c (main): Likewise.
51946         * tests/test-striconv.c (main): Likewise.
51947         * tests/test-striconveh.c (main): Likewise.
51948         * tests/test-striconveha.c (main): Likewise.
51949         * tests/test-strstr.c (main): Likewise.
51950
51951         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51952
51953         bootstrap: sync from coreutils again
51954         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51955
51956 2008-03-01  Jim Meyering  <meyering@redhat.com>
51957
51958         bootstrap: sync from coreutils
51959         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51960         also when the target doesn't exist.
51961
51962 2008-03-01  Eric Blake  <ebb9@byu.net>
51963
51964         Fix bugs in last patch.
51965         * lib/memchr2.c (memchr2): Fix typo.
51966         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51967         extension.
51968         Reported by Bruce Korb.
51969
51970         New module 'memchr2'.
51971         * modules/memchr2: New file.
51972         * modules/memchr2-tests: Likewise.
51973         * lib/memchr2.h: Likewise.
51974         * lib/memchr2.c: Likewise, based on memchr.c.
51975         * tests/test-memchr2.c: New test.
51976         * MODULES.html.sh (String handling): Add memchr2.
51977
51978 2008-02-29  Bruno Haible  <bruno@clisp.org>
51979
51980         * modules/freadseek-tests: New file.
51981         * tests/test-freadseek.sh: New file.
51982         * tests/test-freadseek.c: New file.
51983
51984         New module 'freadseek'.
51985         * modules/freadseek: New file.
51986         * lib/freadseek.h: New file.
51987         * lib/freadseek.c: New file.
51988         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51989
51990 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51991
51992         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51993         wydawca.
51994
51995         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51996         program_invocation_name and program_invocation_short_name are
51997         present.
51998
51999 2008-02-28  Bruno Haible  <bruno@clisp.org>
52000
52001         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
52002         * tests/test-freadptr.sh: Also test non-seekable stdin.
52003
52004 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
52005
52006         * build-aux/bootstrap (source_base, m4_base)
52007         (doc_base, tests_base): New variables.
52008         (gnulib_tool_options): Do not hardcode base directories, use
52009         the above variables instead.
52010
52011 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
52012
52013         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
52014
52015 2008-02-28  Bruno Haible  <bruno@clisp.org>
52016
52017         * modules/freadptr-tests: New file.
52018         * tests/test-freadptr.sh: New file.
52019         * tests/test-freadptr.c: New file.
52020
52021         New module 'freadptr'.
52022         * modules/freadptr: New file.
52023         * lib/freadptr.h: New file.
52024         * lib/freadptr.c: New file.
52025         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
52026
52027 2008-02-26  Karl Berry  <karl@freefriends.org>
52028
52029         Sync from Libtool:
52030         * libltdl/argz.c (argz_add, argz_count): New functions.
52031         * libltdl/argz.in.h: Declare them.
52032         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
52033
52034 2008-02-22  Bruno Haible  <bruno@clisp.org>
52035
52036         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
52037         is a pointer type.  Needed for HP-UX 10.
52038         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
52039         * doc/posix-functions/gmtime_r.texi: Likewise.
52040         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
52041
52042 2008-02-24  Bruno Haible  <bruno@clisp.org>
52043
52044         * modules/environ-tests: New file.
52045         * tests/test-environ.c: New file.
52046
52047         New module 'environ'.
52048         * modules/environ: New file.
52049         * lib/unistd.in.h (environ): New declaration.
52050         * m4/environ.m4: New file.
52051         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
52052         after use.
52053         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
52054         HAVE_DECL_ENVIRON.
52055         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
52056         HAVE_DECL_ENVIRON.
52057         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
52058         wrong claim that 'environ' is missing on some systems.
52059         * modules/execute (Depends-on): Add environ.
52060         * lib/execute.c (environ): Remove fallback declaration.
52061         * modules/pipe (Depends-on): Add environ.
52062         * lib/pipe.c (environ): Remove fallback declaration.
52063         * modules/setenv (Depends-on): Add environ.
52064         * lib/setenv.c (environ): Remove fallback declaration.
52065         * modules/unsetenv (Depends-on): Add environ.
52066         * lib/unsetenv.c (environ): Remove fallback declaration.
52067         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
52068         m4/environ.m4.
52069         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
52070         (gl_PREREQ_UNSETENV): Likewise.
52071
52072 2008-02-24  Bruno Haible  <bruno@clisp.org>
52073
52074         * doc/posix-functions/environ.texi: Document the MacOS X problem.
52075
52076 2008-02-20  Bob Proulx  <bob@proulx.com>
52077
52078         Enable use of older two part flavor 'git describe'.
52079         * build-aux/git-version-gen: If using the older two part flavor of
52080         git version then recreate the third part now present in the
52081         newer three part flavor of git describe.
52082
52083 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
52084
52085         * lib/fts.c (fts_build): Typo correction to comment.
52086
52087 2008-02-17  Bruno Haible  <bruno@clisp.org>
52088
52089         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
52090         generating no-op conflicts.
52091
52092 2008-02-17  Bruno Haible  <bruno@clisp.org>
52093
52094         Speed up by 10%.
52095         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
52096         result_entries, rather than an index-based loop.
52097
52098 2008-02-17  Bruno Haible  <bruno@clisp.org>
52099
52100         Speed up by 25%.
52101         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
52102         'hashcode_cached'.
52103         (entry_create): New function.
52104         (entry_hashcode): Use the cached hashcode if possible.
52105         (read_changelog_file, try_split_merged_entry): Use entry_create.
52106
52107 2008-02-17  Bruno Haible  <bruno@clisp.org>
52108
52109         Speed up from O(n^2) to O(n) for long ChangeLog files.
52110         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
52111         (read_changelog_file): Change implementation of entries_reversed list
52112         to rbtreehash.
52113         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
52114
52115 2008-02-17  Bruno Haible  <bruno@clisp.org>
52116
52117         New option --split-merged-entry.
52118         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
52119         (find_paragraph_end, try_split_merged_entry): New functions.
52120         (long_options): Add option --split-merged-entry.
52121         (usage): Document option --split-merged-entry.
52122         (main): Implement option --split-merged-entry.
52123         Reported by Eric Blake.
52124
52125 2008-02-17  Bruno Haible  <bruno@clisp.org>
52126
52127         * lib/git-merge-changelog.c: Include c-strstr.h.
52128         (main): Support the "git pull --rebase" situation.
52129         * modules/git-merge-changelog (Depends-on): Add c-strstr.
52130         Reported by Eric Blake.
52131
52132 2008-02-16  Eric Blake  <ebb9@byu.net>
52133
52134         Avoid doubling \ in common case of "c-maybe" quoting style.
52135         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
52136         eliding outer quotes.
52137         * lib/quotearg.h: Document this.
52138         * tests/test-quotearg.c (result_strings, inputs, results_g)
52139         (flag_results, locale_results): Test it by adding a new string to
52140         each test group.
52141         (compare_strings): Test new string.
52142
52143 2008-02-13  Eric Blake  <ebb9@byu.net>
52144
52145         Avoid trigraph quoting in default output.
52146         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
52147         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
52148         unless explicitly requested.
52149         * tests/test-quotearg.c (flag_results, main): Add additional tests.
52150
52151 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
52152
52153         Don't rely on signed integer overflowing to negative value.
52154         * lib/getugroups.c (getugroups): Include <limits.h>.
52155         Instead, compare against INT_MAX, and increment only if the test passes.
52156
52157 2008-02-13  Jim Meyering  <meyering@redhat.com>
52158         and Eric Blake  <ebb9@byu.net>
52159
52160         Avoid shadowing warning and compile errors on Linux.
52161         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
52162         forwarding macros on Linux.
52163         (dcgettext): Define a stub, for Linux.
52164         (results_g, main): Avoid warnings.
52165
52166 2008-02-12  Eric Blake  <ebb9@byu.net>
52167
52168         Silence warning in last patch.
52169         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
52170
52171         Quotearg part 4: add tests, fix c-maybe colon quoting.
52172         * lib/quotearg.h: Improve documentation.
52173         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
52174         escapes when adding outer quotes.  When quoting trigraphs, use
52175         valid C notation.  When quoting NUL, omit extra characters if next
52176         character is not digit.  Alter prototype.
52177         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
52178         callers.
52179         * modules/quotearg-tests: New module.
52180         * tests/test-quotearg.c: New test.
52181
52182 2008-02-07  Eric Blake  <ebb9@byu.net>
52183
52184         Quotearg part 3: add flag to control outer quote elision.
52185         * lib/quotearg.h (c_maybe_quoting_style): New style.
52186         (enum quoting_flags): Better documentation of flags.
52187         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
52188         c-maybe style.
52189         (quotearg_buffer_restyled): Handle new flag to elide outer
52190         quotes.
52191
52192         Quotearg part 2: add flag that can control NUL elision.
52193         * lib/quotearg.h (set_quoting_flags): New prototype.
52194         * lib/quotearg.c (struct quoting_options): Add flag field.
52195         (set_quoting_flags): New function.
52196         (quotearg_buffer_restyled): Add flags parameter.
52197         (quotearg_alloc_mem): Set the flag if length cannot be returned.
52198         (quotearg_n_options): Set the flag, since length cannot be
52199         returned.
52200         (quoting_options_from_style): Default flags correctly.
52201
52202         Quotearg part 1: more wrappers, restore quotearg_char state.
52203         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
52204         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
52205         (quotearg_colon_mem): New wrappers.
52206         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
52207         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
52208         functions.
52209         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
52210         (quotearg_colon_mem): New functions.
52211
52212 2008-02-11  Bruno Haible  <bruno@clisp.org>
52213
52214         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
52215         library in the current directory: it does not work with parallel make.
52216         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52217
52218 2008-02-11  Bruno Haible  <bruno@clisp.org>
52219
52220         * .gitattributes: New file.
52221
52222 2008-02-11  Jim Meyering  <meyering@redhat.com>
52223
52224         useless-if-before-free: Fix reversed exit values.
52225         * build-aux/useless-if-before-free: Use correct values
52226         for EXIT_MATCH and EXIT_NO_MATCH.
52227
52228         * build-aux/useless-if-before-free: Close stdout carefully.
52229
52230 2008-02-10  Bruno Haible  <bruno@clisp.org>
52231
52232         New module 'git-merge-changelog'.
52233         * modules/git-merge-changelog: New file.
52234         * lib/git-merge-changelog.c: New file.
52235
52236 2008-02-10  Jim Meyering  <meyering@redhat.com>
52237
52238         useless-if-before-free: New option: --list (-l).
52239
52240         useless-if-before-free: Don't exit immediately upon open failure.
52241         * build-aux/useless-if-before-free: Exit 2 for errors.
52242         Upon failure to open a file, don't exit immediately.
52243         Rather, just warn and continue with any remaining files.
52244
52245 2008-02-10  Bruno Haible  <bruno@clisp.org>
52246
52247         New abstract list operation 'node_set_value'.
52248         * lib/gl_list.h (gl_list_node_set_value): New function.
52249         (struct gl_list_implementation): New field node_set_value.
52250         * lib/gl_list.c (gl_list_node_set_value): New function.
52251         * lib/gl_array_list.c (gl_array_node_set_value): New function.
52252         (gl_array_list_implementation): Update.
52253         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
52254         (gl_carray_list_implementation): Update.
52255         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
52256         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
52257         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
52258         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
52259         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
52260         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
52261         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
52262         Update.
52263         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
52264         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
52265         (gl_sublist_list_implementation): Update.
52266
52267 2008-02-10  Bruno Haible  <bruno@clisp.org>
52268
52269         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
52270         Needed when ELEMENT is #defined to 'some_type *'.
52271
52272 2008-02-10  Jim Meyering  <meyering@redhat.com>
52273
52274         New script and module: useless-if-before-free
52275         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
52276         * build-aux/useless-if-before-free: New file.
52277         * modules/useless-if-before-free: New file.
52278
52279         * build-aux/gitlog-to-changelog: Use committer date, not author date.
52280
52281         xstrtol_error: Fix typo.
52282         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
52283         s/exit_failure/exit_status/.
52284
52285 2008-02-09  Jim Meyering  <meyering@redhat.com>
52286
52287         New script and module: gitlog-to-changelog
52288         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
52289         * modules/gitlog-to-changelog: New file.
52290         * build-aux/gitlog-to-changelog: New file.
52291
52292 2008-02-08  Jim Meyering  <meyering@redhat.com>
52293
52294         Avoid two "parameter unused" warnings.
52295         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
52296         Mark "st" as used.
52297
52298         Use "git COMMAND", not "git-COMMAND".
52299         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
52300         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
52301         * build-aux/git-version-gen: Use "git status", not "git-status".
52302
52303 2008-02-07  Bruno Haible  <bruno@clisp.org>
52304
52305         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
52306         Avoids a crash on Windows Vista.
52307         Reported by Adam Strzelecki <ono@java.pl> via
52308         Simon Josefsson <simon@josefsson.org>.
52309
52310 2008-02-06  Bruno Haible  <bruno@clisp.org>
52311
52312         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
52313         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
52314         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
52315         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
52316         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
52317         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52318         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
52319         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
52320         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52321         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52322         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52323         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52324         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52325         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52326         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52327         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
52328         left-adjust flag.
52329         * tests/test-snprintf-posix.h (test_function): Likewise.
52330         * tests/test-sprintf-posix.h (test_function): Likewise.
52331         * tests/test-vasprintf-posix.c (test_function): Likewise.
52332         * doc/posix-functions/fprintf.texi: Update.
52333         * doc/posix-functions/printf.texi: Update.
52334         * doc/posix-functions/snprintf.texi: Update.
52335         * doc/posix-functions/sprintf.texi: Update.
52336         * doc/posix-functions/vfprintf.texi: Update.
52337         * doc/posix-functions/vprintf.texi: Update.
52338         * doc/posix-functions/vsnprintf.texi: Update.
52339         * doc/posix-functions/vsprintf.texi: Update.
52340         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52341
52342 2008-02-06  Bruno Haible  <bruno@clisp.org>
52343
52344         Fix bug introduced on 2008-01-26.
52345         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
52346
52347 2008-02-06  Bruno Haible  <bruno@clisp.org>
52348
52349         Fix bug introduced on 2007-06-10.
52350         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
52351         !NEED_PRINTF_FLAG_ZERO.
52352
52353 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
52354
52355         getloadavg: use libperfstat on AIX5
52356         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
52357
52358 2008-02-03  Bruno Haible  <bruno@clisp.org>
52359
52360         * lib/diffseq.h: Add comments about required #includes.
52361         Reported by Michael Biggs <gnulib@doubleplum.net>.
52362
52363 2008-02-01  Bruno Haible  <bruno@clisp.org>
52364
52365         * users.txt: Add gnuit.
52366
52367 2008-01-31  Bruno Haible  <bruno@clisp.org>
52368
52369         * lib/md4.c (set_uint32): Mark as inline.
52370         * lib/md5.c (set_uint32): Likewise.
52371         * lib/sha1.c (set_uint32): Likewise.
52372         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
52373         * m4/md5.m4 (gl_MD5): Likewise.
52374         * m4/sha1.m4 (gl_SHA1): Likewise.
52375
52376 2008-01-31  Jim Meyering  <meyering@redhat.com>
52377
52378         Use "sizeof VAR", rather than a literal "4".
52379         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
52380         * lib/md4.c (md4_read_ctx): Likewise.
52381         * lib/sha1.c (sha1_read_ctx): Likewise.
52382
52383 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52384
52385         * tests/test-sha1.c: New file, based on test-md5.c.
52386
52387         * modules/crypto/sha1-tests: New file.
52388
52389 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52390
52391         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
52392
52393 2008-01-31  Jim Meyering  <meyering@redhat.com>
52394
52395         Prefer "sizeof v" over the equivalent "4".
52396         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
52397         * lib/md5.c (set_uint32): Likewise.
52398         * lib/sha1.c (set_uint32): Likewise.
52399
52400 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52401
52402         * lib/sha1.c (set_uint32): Mark function as static.
52403
52404 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52405
52406         md2: clarify comments to say that alignment is not required.
52407         * lib/md2.h: Remove warning about alignment in comment.
52408         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
52409         never been required.
52410
52411 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52412
52413         md4: adapt alignment constraint fix from sha1.
52414         * lib/md4.c (set_uint32): New function, from sha1.c
52415         (md4_read_ctx): Use it.
52416         (md4_finish_ctx): Doc fix.
52417         * lib/md4.h: Doc fix.
52418
52419 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52420
52421         md5: adapt alignment constraint fix from sha1.
52422         * lib/md5.c (set_uint32): New function, from sha1.c
52423         (md5_read_ctx): Use it.
52424         (md5_finish_ctx): Doc fix.
52425         * lib/md5.h: Doc fix.
52426
52427 2008-01-30  Peter Palfrader  <weasel@debian.org>
52428
52429         sha1: remove the result buffer alignment constraint
52430         * lib/sha1.c (set_uint32): New function.
52431         (sha1_read_ctx): Rewrite to remove the result buffer alignment
52432         constraint.
52433         (sha1_finish_ctx): Remove comment warning about alignment constraint.
52434         * lib/sha1.h: Likewise.
52435
52436 2008-01-30  Andreas Schwab  <schwab@suse.de>
52437             Bruno Haible  <bruno@clisp.org>
52438
52439         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
52440         correct definition of LDBL_MIN_EXP.
52441
52442 2008-01-30  Karl Berry  <karl@gnu.org>
52443
52444         * config/srclist-update: try to preserve x bit on updates.
52445         * config/srclistvars.sh: update for karl.
52446
52447 2008-01-29  Jim Meyering  <meyering@redhat.com>
52448
52449         vasnprintf.c: Avoid warning about unused label
52450         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
52451         "overflow" label definition and associated code with the
52452         same cpp condition that guards the sole use of that label.
52453
52454 2008-01-26  Bruno Haible  <bruno@clisp.org>
52455
52456         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
52457         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
52458         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
52459         * lib/isnanl-nolibm.h (isnanl): Likewise.
52460         Reported by Paul Eggert <eggert@cs.ucla.edu>.
52461
52462 2008-01-26  Bruno Haible  <bruno@clisp.org>
52463
52464         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
52465         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
52466
52467 2008-01-26  Bruno Haible  <bruno@clisp.org>
52468
52469         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
52470         GCC >= 4.0 built-in.
52471         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
52472
52473 2008-01-26  Bruno Haible  <bruno@clisp.org>
52474
52475         Rename isnan, applicable to 'double' only, to isnand.
52476         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
52477         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
52478         (configure.ac): Update.
52479         (Include): Replace "isnan.h" with "isnand.h".
52480         * m4/isnand.m4: Renamed from m4/isnan.m4.
52481         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
52482         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
52483         instead of isnan.c.
52484         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
52485         instead of HAVE_ISNAN_IN_LIBC.
52486         (isnand): Renamed from isnan.
52487         * lib/isnand.c: New file.
52488         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
52489         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
52490         (Makefile.am): Update.
52491         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
52492         Include isnand.h instead of isnan.h.
52493         (main): Test isnand instead of isnan.
52494         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
52495         isnan-nolibm.
52496         * modules/frexp (Depends-on): Likewise.
52497         * modules/frexp-tests (Depends-on): Likewise.
52498         * modules/frexp-nolibm (Depends-on): Likewise.
52499         * modules/frexp-nolibm-tests (Depends-on): Likewise.
52500         * modules/isfinite (Depends-on): Likewise.
52501         * modules/round-tests (Depends-on): Likewise.
52502         * modules/signbit (Depends-on): Likewise.
52503         * modules/signbit-tests (Depends-on): Likewise.
52504         * modules/snprintf-posix (Depends-on): Likewise.
52505         * modules/sprintf-posix (Depends-on): Likewise.
52506         * modules/trunc-tests (Depends-on): Likewise.
52507         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52508         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52509         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52510         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52511         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52512         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52513         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52514         * modules/vasnprintf-posix (Depends-on): Likewise.
52515         * modules/vasprintf-posix (Depends-on): Likewise.
52516         * modules/vfprintf-posix (Depends-on): Likewise.
52517         * modules/vsnprintf-posix (Depends-on): Likewise.
52518         * modules/vsprintf-posix (Depends-on): Likewise.
52519         * lib/frexp.c: Include isnand.h instead of isnan.h.
52520         (ISNAN): Set to isnand instead of isnan.
52521         * lib/isfinite.c: Include isnand.h instead of isnan.h.
52522         (gl_isfinited): Use isnand instead of isnan.
52523         * lib/signbitd.c: Include isnand.h instead of isnan.h.
52524         (gl_signbitd): Use isnand instead of isnan.
52525         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
52526         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
52527         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
52528         (main): Use isnand instead of isnan.
52529         * tests/test-round1.c: Include isnand.h.
52530         (main): Use isnand instead of isnan.
52531         * tests/test-round2.c: Include isnand.h instead of isnan.h.
52532         (ISNAN): Set to isnand instead of isnan.
52533         * tests/test-trunc1.c: Include isnand.h.
52534         (main): Use isnand instead of isnan.
52535         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
52536         (equal): Use isnand instead of isnan.
52537         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
52538         isnand-nolibm.
52539         * NEWS: Mention the change.
52540
52541 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
52542             Bruno Haible  <bruno@clisp.org>
52543
52544         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
52545         the GCC builtins for signbits are present and set
52546         REPLACE_SIGNBIT_USING_GCC if so.
52547         * lib/math.in.h (signbit): Define using GCC builtins if
52548         REPLACE_SIGNBIT_USING_GCC is set.
52549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
52550         REPLACE_SIGNBIT_USING_GCC.
52551         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
52552
52553 2008-01-25  Jim Meyering  <meyering@redhat.com>
52554
52555         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
52556         * lib/poll.c: Include <config.h>, not "config.h".
52557         * tests/test-getaddrinfo.c: Likewise.
52558
52559 2008-01-25  Simon Josefsson  <simon@josefsson.org>
52560
52561         * modules/sockets-tests: New file.
52562
52563 2008-01-24  Simon Josefsson  <simon@josefsson.org>
52564
52565         * modules/sockets: New module, can be used to call WSA_Startup and
52566         WSA_Cleanup when needed.
52567
52568         * lib/sockets.h, lib/sockets.c: New files.
52569
52570         * m4/sockets.m4: New file.
52571
52572         * tests/test-sockets.c: New file.
52573
52574 2008-01-19  Bruno Haible  <bruno@clisp.org>
52575
52576         * doc/posix-headers: Renamed from doc/headers.
52577         * doc/posix-functions: Renamed from doc/functions.
52578         * doc/gnulib.texi: Update.
52579
52580 2008-01-19  Bruno Haible  <bruno@clisp.org>
52581
52582         * doc/glibc-functions/strcasestr.texi: Include contents of
52583         doc/functions/strcasestr.texi, fixing the list of platforms.
52584         * doc/functions/strcasestr.texi: Remove file.
52585
52586 2008-01-19  Bruno Haible  <bruno@clisp.org>
52587
52588         * doc/glibc-functions/memmem.texi: Include contents of
52589         doc/functions/memmem.texi.
52590         * doc/functions/memmem.texi: Remove file.
52591
52592 2008-01-18  Bruno Haible  <bruno@clisp.org>
52593
52594         * doc/glibc-functions/*.texi: New files.
52595         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
52596         to use the new files.
52597
52598 2008-01-17  Bruno Haible  <bruno@clisp.org>
52599
52600         * tests/test-gethostname.c (main): Fix printf statement.
52601
52602 2008-01-17  Simon Josefsson  <simon@josefsson.org>
52603
52604         * modules/gethostname-tests: New file.
52605
52606         * tests/test-gethostname.c: New file.
52607
52608 2008-01-17  Simon Josefsson  <simon@josefsson.org>
52609
52610         * lib/gethostname.c: Include string.h unconditionally, strncpy is
52611         used by the UNAME case.  Reported by Bruno Haible
52612         <bruno@clisp.org>.
52613
52614 2008-01-17  Eric Blake  <ebb9@byu.net>
52615
52616         Convert c-strcasestr to be more efficient.
52617         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
52618         (Depends-on): Add c-strcase, remove malloca, strnlen.
52619         * tests/test-c-strcasestr.c (main): Enhance test.
52620         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
52621
52622 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52623
52624         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
52625         Use it in creating po/Makevars.
52626
52627 2008-01-15  Simon Josefsson  <simon@josefsson.org>
52628
52629         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
52630         Applications that requires it should initialize libgcrypt
52631         manually.
52632
52633 2008-01-16  Simon Josefsson  <simon@josefsson.org>
52634
52635         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
52636
52637 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
52638
52639         Fix problem with getdate on mingw32 reported by Simon Josefsson
52640         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
52641         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
52642         tzname", when deciding whether to declare tzname.
52643         * lib/strftime.c (tzname): Likewise.
52644
52645 2008-01-15  Bruno Haible  <bruno@clisp.org>
52646
52647         Work around a MacOS X 10.5 bug in frexpl().
52648         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
52649         * doc/functions/frexpl.texi: Document the bug.
52650         Reported by Elias Pipping <pipping@gentoo.org>.
52651
52652 2008-01-14  Eric Blake  <ebb9@byu.net>
52653
52654         Touch up previous patch.
52655         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
52656         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
52657
52658         Convert strcasestr module to use Two-Way algorithm.
52659         * modules/strcasestr-simple: New module, based on the old
52660         strcasestr, but with Two-Way rather than KMP.
52661         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
52662         * lib/string.in.h (rpl_strcasestr): Declare.
52663         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
52664         performance.
52665         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
52666         * modules/string (Makefile.am): Support strcasestr.
52667         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
52668         * modules/strcasestr-tests (Depends-on): Check for alarm.
52669         * tests/test-strcasestr.c: Augment test.
52670         * lib/str-two-way.h: Clean up stray macro.
52671         * NEWS: Document new module.
52672         * MODULES.html.sh (string handling): Likewise.
52673         * doc/functions/strcasestr.texi: New file.
52674         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
52675         here, since it is not a POSIX function.
52676
52677 2008-01-14  Colin Watson  <cjwatson@debian.org>
52678             Bruno Haible  <bruno@clisp.org>
52679
52680         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
52681         works fine; if not, set REPLACE_STRSIGNAL.
52682         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
52683         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52684         REPLACE_STRSIGNAL.
52685         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
52686         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
52687         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
52688
52689 2008-01-14  Bruno Haible  <bruno@clisp.org>
52690
52691         * modules/strsignal (Include): Change to <string.h>.
52692
52693 2008-01-14  Colin Watson  <cjwatson@debian.org>
52694
52695         * modules/argp (Notice): Add a notice recommending to change
52696         XGETTEXT_OPTIONS.
52697         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
52698
52699 2008-01-13  Colin Watson  <cjwatson@debian.org>
52700
52701         * modules/strsignal-tests: New file.
52702         * tests/test-strsignal.c: New file.
52703
52704         * lib/strsignal.c: New file, from glibc with modifications.
52705         * lib/siglist.h: New file, from glibc with modifications.
52706         * lib/string.in.h (strsignal): New declaration.
52707         * m4/strsignal.m4: New file.
52708         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52709         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
52710         * modules/strsignal: New file.
52711         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
52712         HAVE_DECL_STRSIGNAL.
52713
52714 2008-01-13  Bruno Haible  <bruno@clisp.org>
52715
52716         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
52717         locale encoding is not ASCII. Needed for OpenBSD 4.0.
52718         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52719         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52720
52721 2008-01-13  Bruno Haible  <bruno@clisp.org>
52722
52723         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
52724         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
52725         * lib/argp.h (__attribute__): Likewise.
52726         * lib/c-stack.c (__attribute__): Likewise.
52727         * lib/error.h (__attribute__): Likewise.
52728         * lib/fts.c (__attribute__): Likewise.
52729         * lib/openat.h (__attribute__): Likewise.
52730         * lib/stdio.in.h (__attribute__): Likewise.
52731         * lib/string.in.h (__attribute__): Likewise.
52732         * lib/utimens.c (__attribute__): Likewise.
52733         * lib/vasnprintf.h (__attribute__): Likewise.
52734         * lib/xalloc.h (__attribute__): Likewise.
52735         * lib/xprintf.h (__attribute__): Likewise.
52736         * lib/xstrtol.h (__attribute__): Likewise.
52737         * lib/xvasprintf.h (__attribute__): Likewise.
52738
52739 2008-01-12  Bruno Haible  <bruno@clisp.org>
52740
52741         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
52742         * doc/glibc-headers/a.out.texi: New file.
52743         * doc/glibc-headers/aliases.texi: New file.
52744         * doc/glibc-headers/alloca.texi: New file.
52745         * doc/glibc-headers/ar.texi: New file.
52746         * doc/glibc-headers/argp.texi: New file.
52747         * doc/glibc-headers/argz.texi: New file.
52748         * doc/glibc-headers/byteswap.texi: New file.
52749         * doc/glibc-headers/crypt.texi: New file.
52750         * doc/glibc-headers/endian.texi: New file.
52751         * doc/glibc-headers/envz.texi: New file.
52752         * doc/glibc-headers/err.texi: New file.
52753         * doc/glibc-headers/error.texi: New file.
52754         * doc/glibc-headers/execinfo.texi: New file.
52755         * doc/glibc-headers/fpu_control.texi: New file.
52756         * doc/glibc-headers/fstab.texi: New file.
52757         * doc/glibc-headers/fts.texi: New file.
52758         * doc/glibc-headers/getopt.texi: New file.
52759         * doc/glibc-headers/ieee754.texi: New file.
52760         * doc/glibc-headers/ifaddrs.texi: New file.
52761         * doc/glibc-headers/libintl.texi: New file.
52762         * doc/glibc-headers/mcheck.texi: New file.
52763         * doc/glibc-headers/mntent.texi: New file.
52764         * doc/glibc-headers/obstack.texi: New file.
52765         * doc/glibc-headers/paths.texi: New file.
52766         * doc/glibc-headers/printf.texi: New file.
52767         * doc/glibc-headers/pty.texi: New file.
52768         * doc/glibc-headers/resolv.texi: New file.
52769         * doc/glibc-headers/shadow.texi: New file.
52770         * doc/glibc-headers/sysexits.texi: New file.
52771         * doc/glibc-headers/ttyent.texi: New file.
52772
52773 2008-01-12  Jim Meyering  <meyering@redhat.com>
52774
52775         announce-gen: emit Gnulib's git-based version string.
52776         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
52777         New option --gnulib-version=V, where V is expected to be
52778         the output of running git describe in the gnulib directory.
52779         (get_tool_versions): Request feedback on xdelta.  I suspect it's
52780         not useful, and plan to stop publishing an xdelta file with each
52781         coreutils release.
52782
52783         * build-aux/announce-gen: Also check for lzma-compressed files.
52784
52785 2008-01-11  Bruno Haible  <bruno@clisp.org>
52786
52787         * tests/test-memmem.c (main): Increase maximum allowed time.
52788         * tests/test-strstr.c (main): Likewise.
52789
52790 2008-01-11  Bruno Haible  <bruno@clisp.org>
52791
52792         * doc/functions/memmem.texi: Add more precisions about platforms.
52793         * doc/functions/strstr.texi: Likewise.
52794
52795 2008-01-10  Eric Blake  <ebb9@byu.net>
52796
52797         * m4/strstr.m4: Delete cruft from copy-n-paste.
52798         Reported by Bruno Haible.
52799
52800 2008-01-10  Bruno Haible  <bruno@clisp.org>
52801
52802         Make c-strstr rely on strstr.
52803         * lib/c-strstr.c: Don't include str-kmp.h.
52804         (c_strstr): Define in terms of strstr.
52805         * modules/c-strstr (Files): Remove lib/str-kmp.h.
52806         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
52807
52808 2008-01-10  Bruno Haible  <bruno@clisp.org>
52809
52810         * doc/gnulib.texi (String Functions in C Locale): New section.
52811         * doc/c-ctype.texi: New file.
52812         * doc/c-strcase.texi: New file.
52813         * doc/c-strcaseeq.texi: New file.
52814         * doc/c-strcasestr.texi: New file.
52815         * doc/c-strstr.texi: New file.
52816         * doc/c-strtod.texi: New file.
52817         * doc/c-strtold.texi: New file.
52818
52819 2008-01-10  Eric Blake  <ebb9@byu.net>
52820
52821         * lib/relocatable.h: Fix a comment.
52822
52823 2008-01-10  Eric Blake  <ebb9@byu.net>
52824
52825         Share two-way algorithm.
52826         * lib/str-two-way.h: New file, merged from...
52827         * lib/memmem.c: ...here...
52828         * lib/strstr.c: ...and here.
52829         * modules/memmem (Files): Use it.
52830         * modules/strstr (Files): Likewise.
52831
52832         Avoid quadratic strstr implementations.
52833         * lib/strstr.c: New file.
52834         * m4/strstr.m4: Likewise.
52835         * modules/strstr: Likewise.
52836         * modules/strstr-tests: Likewise.
52837         * tests/test-strstr.c: Likewise.
52838         * lib/string.in.h (rpl_strstr): Declare.
52839         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52840         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52841         * modules/string (Makefile.am): Likewise.
52842         * MODULES.html.sh (string handling): Mention new module.
52843         * doc/functions/strstr.texi (strstr): Document the bug.
52844
52845 2008-01-10  Bruno Haible  <bruno@clisp.org>
52846
52847         * lib/relocatable.h (relocate): State whether result is freshly
52848         allocated or not.
52849         * lib/relocatable.c (relocate): Return a freshly allocated string
52850         instead of a pointer to a privately held string.
52851         Reported by Sylvain Beucler <beuc@gnu.org>.
52852
52853 2008-01-10  Colin Watson  <cjwatson@debian.org>
52854
52855         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52856         s/S_ISNLK/S_ISLNK/.
52857
52858 2008-01-09  Bruno Haible  <bruno@clisp.org>
52859
52860         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52861         and other files.
52862         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52863         if it's only a guess.
52864         * modules/memmem: Simplify by depending on memmem-simple.
52865
52866 2008-01-09  Bruno Haible  <bruno@clisp.org>
52867
52868         Work around OpenBSD 4.0 tdelete() bug.
52869         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52870         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52871         macros and don't redefine the enum values.
52872         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52873         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52874         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52875
52876 2008-01-09  Bruno Haible  <bruno@clisp.org>
52877
52878         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52879         (main): Don't perform the tests if setlocale did not install a UTF-8
52880         locale. Needed on OpenBSD 4.0.
52881         * modules/wcwidth-tests (Depends-on): Add localcharset.
52882
52883 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52884
52885         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52886         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52887         * NEWS: announce this.
52888         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52889
52890 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52891         and Eric Blake  <ebb9@byu.net>
52892
52893         Add memmem-simple module.
52894         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52895         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52896         * modules/memmem-simple: New file.
52897         * modules/memmem (Description): Tweak.
52898         * MODULES.html.sh (string handling): Mention new module.
52899         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52900         addressed by memmem-simple.
52901         * NEWS: Document the difference.
52902
52903 2008-01-09  Eric Blake  <ebb9@byu.net>
52904
52905         Give gcc some memmem optimization hints.
52906         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52907         (strcasestr): Declare as pure.
52908         * modules/memmem (Maintainer): Claim my implementation.
52909
52910 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52911
52912         Support AIX 6.1 and higher.
52913         * build-aux/config.libpath: Likewise.
52914         * build-aux/config.rpath: Likewise.
52915
52916 2008-01-08  Jim Meyering  <meyering@redhat.com>
52917             Bruno Haible  <bruno@clisp.org>
52918
52919         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52920         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52921         Reported by Peter Fales in
52922         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52923
52924 2008-01-08  Bruno Haible  <bruno@clisp.org>
52925
52926         * modules/unictype/category-of (Depends-on): Add
52927         unictype/category-none.
52928         * modules/unictype/category-and-tests (Depends-on): Add
52929         unictype/category-{L,N,Lu,Nd}.
52930         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52931         * modules/unictype/category-or-tests (Depends-on): Add
52932         unictype/category-{L,N}.
52933         * modules/unictype/category-name-tests (Depends-on): Add
52934         unictype/category-{Z,Nl}.
52935         Reported by Simon Josefsson.
52936
52937 2008-01-08  Bruno Haible  <bruno@clisp.org>
52938
52939         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52940         convention better.
52941         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52942         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52943         Reported by Peter Miller <millerp@canb.auug.org.au>.
52944
52945 2008-01-08  Eric Blake  <ebb9@byu.net>
52946
52947         Rewrite memmem to guarantee linear complexity without malloc.
52948         * lib/memmem.c (memmem): Use Two-Way rather than
52949         Knuth-Morris-Pratt, to allow O(1) space usage.
52950         (critical_factorization, two_way_short_needle)
52951         (two_way_long_needle): New functions.
52952         (knuth_morris_pratt): Delete.
52953         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52954         Add stdint.
52955         * tests/test-memmem.c (main): Add tests for periodic needle and
52956         sublinear performance.
52957         * doc/functions/memmem.texi (memmem): Document other deficiencies
52958         in cygwin and older glibc.
52959
52960 2008-01-08  Bruno Haible  <bruno@clisp.org>
52961
52962         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52963         augmentation.
52964
52965 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52966
52967         Add a configure time option: --disable-acl.
52968         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52969         AC_ARG_ENABLE(acl).
52970
52971 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52972
52973         * tests/test-localename.c: Don't include obsolete "setenv.h".
52974
52975         * modules/localename-tests (Depends-on): Need unsetenv.
52976
52977 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52978
52979         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52980
52981 2008-01-06  Colin Watson  <cjwatson@debian.org>
52982
52983         * users.txt: Add man-db.
52984
52985 2008-01-07  Bruno Haible  <bruno@clisp.org>
52986
52987         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52988         previous section name.
52989
52990 2008-01-07  Bruno Haible  <bruno@clisp.org>
52991
52992         * lib/progname.c (set_program_name): Don't strip off a leading
52993         "lt-" prefix outside a .libs directory.
52994         Suggested by Paul Eggert.
52995
52996 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52997             Bruno Haible  <bruno@clisp.org>
52998
52999         Improve memory cleanup in 'relocatable' module.
53000         * lib/relocatable.h (compute_curr_prefix): Change return type to
53001         'char *'.
53002         * lib/relocatable.c (compute_curr_prefix): Change return type to
53003         'char *'. Free curr_installdir after use.
53004         (relocate): Free curr_prefix_better after use.
53005         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
53006
53007 2008-01-01  Bruno Haible  <bruno@clisp.org>
53008
53009         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
53010         failure on older glibc systems.
53011         Reported by Peter Fales <psfales@alcatel-lucent.com>.
53012
53013 2008-01-05  Eric Blake  <ebb9@byu.net>
53014
53015         Avoid quadratic system memmem.
53016         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
53017         Reported by Ralf Wildenhues.
53018
53019         Fix memmem test for mingw.
53020         * modules/memmem-tests (configure.ac): Check for alarm.
53021         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
53022         it.
53023         * doc/functions/memmem.texi: New file.
53024         * doc/gnulib.texi (Function Substitutes): Add memmem.
53025         Reported by Bruno Haible.
53026
53027 2008-01-04  Bruno Haible  <bruno@clisp.org>
53028
53029         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
53030         Require gl_HEADER_STRINGS_H_DEFAULTS, not
53031         gl_HEADER_STRING_H_DEFAULTS.
53032
53033 2008-01-04  Eric Blake  <ebb9@byu.net>
53034
53035         Shorten duration of memmem test.
53036         * tests/test-memmem.c (main): Use alarm to declare failure if test
53037         is taking too long.
53038         Reported by Ralf Wildenhues.
53039
53040 2007-12-21  Simon Josefsson  <simon@josefsson.org>
53041
53042         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
53043         string, needed by strerror.
53044
53045 2008-01-03  Colin Watson  <cjwatson@debian.org>
53046             Bruno Haible  <bruno@clisp.org>
53047
53048         * doc/gnulib-tool.texi (Localization): New section.
53049
53050 2008-01-02  Bruno Haible  <bruno@clisp.org>
53051
53052         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
53053         variables to 'unsigned char *' type.
53054         Reported by Paul Eggert.
53055
53056 2008-01-02  Jim Meyering  <jim@meyering.net>
53057
53058         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
53059
53060 2007-12-31  Jim Meyering  <jim@meyering.net>
53061
53062         Avoid use of private FTS type name.
53063         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
53064
53065 2007-12-30  Karl Berry  <karl@gnu.org>
53066
53067         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
53068         work around defect in Texinfo and/or the standalone Info browser.
53069
53070 2007-12-30  Bruno Haible  <bruno@clisp.org>
53071
53072         Unify 5 copies of the KMP code.
53073         * lib/str-kmp.h: New file.
53074         * lib/c-strcasestr.c: Include str-kmp.h.
53075         (knuth_morris_pratt): Remove function.
53076         (c_strcasestr): Update.
53077         * lib/c-strstr.c: Include str-kmp.h.
53078         (knuth_morris_pratt): Remove function.
53079         (c_strcasestr): Update.
53080         * lib/mbscasestr.c: Include str-kmp.h.
53081         (knuth_morris_pratt_unibyte): Remove function.
53082         * lib/mbsstr.c: Include str-kmp.h.
53083         (knuth_morris_pratt_unibyte): Remove function.
53084         * lib/strcasestr.c: Include str-kmp.h.
53085         (knuth_morris_pratt): Remove function.
53086         (strcasestr): Update.
53087         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
53088         * modules/c-strstr (Files): Likewise.
53089         * modules/mbscasestr (Files): Likewise.
53090         * modules/mbsstr (Files): Likewise.
53091         * modules/strcasestr (Files): Likewise.
53092         Suggested by Paul Eggert.
53093
53094 2007-12-30  Bruno Haible  <bruno@clisp.org>
53095
53096         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
53097         defined.
53098
53099 2007-12-30  Bruno Haible  <bruno@clisp.org>
53100
53101         * lib/xmalloca.h: Include xalloc.h.
53102         (xnmalloca): New macro.
53103
53104 2007-12-30  Bruno Haible  <bruno@clisp.org>
53105
53106         * lib/malloca.h (nmalloca): New macro.
53107         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
53108         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
53109         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
53110         knuth_morris_pratt_multibyte): Likewise.
53111         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
53112         knuth_morris_pratt_multibyte): Likewise.
53113         * lib/memmem.c (knuth_morris_pratt): Likewise.
53114         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
53115
53116 2007-12-25  Bruno Haible  <bruno@clisp.org>
53117
53118         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
53119         * lib/glob.c: Don't include openat.h.
53120         (link_exists2_p): Add back the code that deals with the
53121         !GLOB_ALTDIRFUNC case.
53122         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
53123         let it do the filename concatenation.
53124         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
53125         * modules/glob (Depends-on): Remove openat.
53126
53127 2007-12-31  Bruno Haible  <bruno@clisp.org>
53128
53129         * modules/dirfd (License): Change to LGPLv2+.
53130         Approved by Jim Meyering.
53131
53132 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
53133
53134         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
53135         when multiplying M by sizeof (size_t).
53136
53137 2007-12-10  Martin Lambers  <marlam@marlam.de>
53138
53139         Override getpagesize on mingw.
53140         * lib/getpagesize.c: New file.
53141         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
53142         * modules/getpagesize (Files): Add lib/getpagesize.c.
53143         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
53144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53145         REPLACE_GETPAGESIZE.
53146         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
53147
53148 2007-12-25  Bruno Haible  <bruno@clisp.org>
53149
53150         * modules/localcharset (Notice): New field.
53151         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
53152         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
53153
53154 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
53155             Bruno Haible  <bruno@clisp.org>
53156
53157         Avoid using the syntax symbol() in formatted documentation.
53158         * MODULES.html.sh (func_module): When replacing symbol() with a
53159         hyperlink, remove the parentheses. Show an error if some remain.
53160         Recognize and render the '...' syntax.
53161         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
53162         Rework. Add paragraph about GCC's inlining.
53163         * doc/alloca.texi: Likewise.
53164         * doc/error.texi: Remove parentheses from symbol reference.
53165         * doc/gnulib-intro.texi: Likewise.
53166         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
53167         * modules/fnmatch (Description): Reword to say "the ... function".
53168         * modules/full-read (Description): Likewise.
53169         * modules/full-write (Description): Likewise.
53170         * modules/safe-read (Description): Likewise.
53171         * modules/safe-write (Description): Likewise.
53172         * modules/strchrnul (Description): Likewise.
53173         * modules/trim (Description): Likewise.
53174         * modules/error (Description): Remove parentheses from symbol
53175         references.
53176         * modules/verror (Description): Likewise.
53177         Reported by Karl Berry.
53178
53179 2007-12-25  Bruno Haible  <bruno@clisp.org>
53180
53181         Fixup after 2007-10-16 commit.
53182         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
53183
53184 2007-12-24  Bruno Haible  <bruno@clisp.org>
53185
53186         Make --enable-relocatable work with DESTDIR.
53187         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
53188         to compute installdir from destprog.
53189         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
53190         also set the RELOC_DESTDIR variable.
53191         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
53192
53193 2007-12-24  Bruno Haible  <bruno@clisp.org>
53194
53195         Fix link error due to xalloc_die().
53196         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
53197         of xreadlink.
53198         * lib/relocwrapper.c: Update comments.
53199         * build-aux/install-reloc: Remove xreadlink.c from file list.
53200         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
53201         xreadlink.c.
53202         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
53203
53204 2007-12-24  Bruno Haible  <bruno@clisp.org>
53205
53206         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
53207         * lib/setenv.h: Remove file.
53208         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
53209         lib/setenv.h.
53210         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
53211         (Depends-on): Add stdlib.
53212         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
53213         gl_FUNC_UNSETENV.
53214         (Include): Replace setenv.h with <stdlib.h>.
53215         * modules/unsetenv: New file.
53216         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
53217         * lib/unsetenv.c: Include <stdlib.h> first.
53218         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
53219         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
53220         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
53221         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
53222         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
53223         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
53224         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
53225         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
53226         * doc/functions/unsetenv.texi: Update.
53227         * modules/xsetenv (Depends-on): Add unsetenv.
53228         * modules/getdate (Depends-on): Likewise.
53229         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
53230         * lib/xsetenv.c: Don't include setenv.h.
53231         * lib/getdate.y: Likewise.
53232         * lib/relocwrapper.c: Likewise.
53233         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
53234         (Depends-on): Add stdlib.
53235         * NEWS: Mention the changes.
53236         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
53237
53238 2007-12-23  Bruno Haible  <bruno@clisp.org>
53239
53240         * lib/memmem.c (memmem): Use lowercase variable names. Tab
53241         indentation.
53242
53243 2007-12-23  Bruno Haible  <bruno@clisp.org>
53244
53245         * lib/c-strcasestr.c: Add more comments.
53246         * lib/c-strstr.c: Likewise.
53247         * lib/mbscasestr.c: Likewise.
53248         * lib/mbsstr.c: Likewise.
53249         * lib/strcasestr.c: Likewise.
53250         * lib/memmem.c: Likewise.
53251
53252 2007-12-23  Bruno Haible  <bruno@clisp.org>
53253
53254         * tests/test-memmem.c: Include <string.h> first.
53255
53256 2007-12-22  Bruno Haible  <bruno@clisp.org>
53257
53258         * gnulib-tool (func_create_testdir): Change $auxdir while generating
53259         the contents of $testsbase.
53260         Reported by Ralf Wildenhues.
53261
53262 2007-12-22  Bruno Haible  <bruno@clisp.org>
53263
53264         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
53265         two variables local_ldadd_before, local_ldadd_last.
53266
53267 2007-12-20  Eric Blake  <ebb9@byu.net>
53268
53269         Work around circular library issue when cross-compiling.
53270         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
53271         that progname.o does not need to pull in rpl_memcmp.
53272
53273 2007-12-19  Eric Blake  <ebb9@byu.net>
53274
53275         Fix memmem to avoid O(n^2) worst-case complexity.
53276         * lib/memmem.c (knuth_morris_pratt): New function.
53277         (memmem): Use it if first few naive iterations fail.
53278         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
53279         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
53280         * modules/memchr (License): Likewise.
53281         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
53282         malloca.
53283         * tests/test-memmem.c: Rewrite, borrowing ideas from
53284         test-mbsstr1.c; the old version wouldn't even compile!
53285         * modules/memmem-tests: New file.
53286         * lib/string.in.h (rpl_memmem): Add declaration.
53287         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
53288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
53289         REPLACE_MEMMEM.
53290
53291 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53292
53293         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
53294         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
53295         before any system include files, and undef after them all.  This
53296         should fix a problem on VMS reported by John E. Malmberg in
53297         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
53298
53299 2007-12-17  Eric Blake  <ebb9@byu.net>
53300
53301         Revert addition of verify, for BSD/OS.
53302         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
53303         can't handle large files, for the sake of obsolete platforms.
53304         * modules/fseeko (Depends-on): Remove verify.
53305         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
53306         * doc/functions/ftello.texi (ftello): Likewise.
53307         * doc/functions/fgetpos.texi (fgetpos): Likewise.
53308         Reported by Larry Jones.
53309
53310 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
53311
53312         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
53313         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
53314
53315 2007-12-17  Jim Meyering  <meyering@redhat.com>
53316
53317         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
53318         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
53319         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
53320         * modules/getcwd (Depends-on): Add openat.
53321         Reported by Petr Salinger.
53322
53323 2007-12-17  Bruno Haible  <bruno@clisp.org>
53324
53325         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
53326         avoid a segmentation fault of the configure test on x86_64 systems.
53327
53328 2007-12-15  Jim Meyering  <meyering@redhat.com>
53329
53330         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
53331
53332 2007-12-13  Eric Blake  <ebb9@byu.net>
53333
53334         Another fseek test.
53335         * tests/test-fseek.c (main): Also test ungetc handling.
53336         * tests/test-fseeko.c (main): Likewise.
53337         * modules/fseeko (Depends-on): Add verify.
53338         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
53339         large.
53340         Reported by Larry Jones.
53341
53342         Fix fseeko on mingw.
53343         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
53344         seek.
53345
53346         Beef up fseek tests.
53347         * tests/test-fseek.c (main): Also test eof handling.
53348         * tests/test-fseeko.c (main): Likewise.
53349         Reported by Larry Jones.
53350
53351 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
53352
53353         Fix fseeko on BSD-based platforms.
53354         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
53355         successful seek.
53356
53357 2007-12-12  Eric Blake  <ebb9@byu.net>
53358
53359         Allow circular dependency of separate libtests.a
53360         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
53361         when use_libtests.
53362
53363 2007-12-11  Eric Blake  <ebb9@byu.net>
53364
53365         Fix bug with -0.0L in previous patch.
53366         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
53367         * tests/test-isnan.c (main): Also test on zeroes.
53368         * tests/test-isnanf.c (main): Likewise.
53369         * tests/test-isnanl.h (main): Likewise.
53370
53371         Detect pseudo-denormals on x86 even when cross-compiling.
53372         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
53373         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
53374         invalid bit patterns that happen to satisfy ==.
53375
53376         Avoid link failures with separate libtests.a.
53377         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
53378         last, to satisfy circular dependencies.
53379
53380 2007-12-11  Eric Blake  <ebb9@byu.net>
53381         and Bruno Haible  <bruno@clisp.org>
53382
53383         Fix OpenBSD 4.0 <float.h> handling of long double.
53384         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
53385         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
53386         * doc/headers/float.texi (float.h): Document OpenBSD bug.
53387
53388 2007-12-11  Jim Meyering  <meyering@redhat.com>
53389
53390         * users.txt: Add libvirt.
53391
53392         Support versions of autoconf prior to 2.59c.
53393         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
53394         if it is not already defined.
53395
53396 2007-12-09  Bruno Haible  <bruno@clisp.org>
53397
53398         Let 'gnulib-tool --import' collect sources needed for the tests in
53399         tests/ rather than in lib/.
53400         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
53401         argument. If true, add rules to generate libtests.a, and put libtests.a
53402         into $(LDADD). Consider source files in subdirectories and set
53403         uses_subdirs.
53404         (func_emit_initmacro_start, func_emit_initmacro_end,
53405         func_emit_initmacro_done): Pass all arguments explicitly.
53406         (func_import): Determine two module lists main_modules,
53407         testsrelated_modules. Determine use_libtests. Determine two variables
53408         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
53409         instead of just sed_transform_lib_file. Determine two variables
53410         main_files and testsrelated_files. Compute 'files' as the union of
53411         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
53412         func_add_or_update. In the generated gnulib-comp.m4, collect the
53413         object files for tests/ in different variables than those for lib/.
53414         Substitute LIBTESTS_LIBDEPS.
53415         (func_create_testdir): Combine the uses_subdirs results from
53416         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
53417
53418 2007-12-09  Bruno Haible  <bruno@clisp.org>
53419
53420         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
53421         the build-aux directory.
53422
53423 2007-12-09  Bruno Haible  <bruno@clisp.org>
53424
53425         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
53426         introduced on 2006-09-09.
53427
53428 2007-12-07  Jim Meyering  <meyering@redhat.com>
53429
53430         Let these macros work also with autoconf-2.59.
53431         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
53432         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
53433         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
53434
53435 2007-12-06  Jim Meyering  <meyering@redhat.com>
53436
53437         Avoid a configure-time syntax error in gl_FUNC_ACL.
53438         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
53439         function in each branch, before testing the cache variable.
53440
53441 2007-12-04  Eric Blake  <ebb9@byu.net>
53442
53443         Make scripts executable.
53444         * build-aux/config.guess: Add execute permissions.
53445         * build-aux/config.sub: Likewise.
53446         * build-aux/gendocs.sh: Likewise.
53447
53448         Fix frexp on mingw.
53449         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
53450         cross-compiling.
53451         * doc/functions/frexp.texi (frexp): Document the bug.
53452
53453         Make cygwin fseeko check more reliable.
53454         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
53455         version numbers, rather than unrelated feature check.
53456         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
53457         * doc/functions/ftello.texi (ftello): Likewise.
53458         Reported by Bruno Haible.
53459
53460         * m4/strerror.m4: Bump version number.
53461
53462 2007-12-03  Bruno Haible  <bruno@clisp.org>
53463
53464         * doc/functions/mprotect.texi: Mention the mingw problem.
53465
53466 2007-12-03  Eric Blake  <ebb9@byu.net>
53467
53468         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
53469         REPLACE_STRERROR is initialized before this macro.
53470
53471 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
53472
53473         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
53474         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
53475         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
53476         put -lsec in even for programs other than 'ls'.  This fixes a problem
53477         for gettext reported by Bruno Haible in
53478         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
53479         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
53480         Add support for Solaris 10.  This isn't efficient, but should get the
53481         job done for now.
53482
53483 2007-12-03  James Youngman  <jay@gnu.org>
53484
53485         * doc/regexprops-generic.texi: change "an close-group" to "a
53486         close-group" and "illegal" to "not allowed".
53487
53488 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53489
53490         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
53491         pr_byname.h. Needed for the rare case when the maintainer has done
53492         "make maintainer-clean" in the source directory and then attempts a
53493         build outside the source directory.
53494         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
53495         scripts_byname.h.
53496
53497 2007-12-02  Martin Lambers <marlam@marlam.de>
53498             Bruno Haible  <bruno@clisp.org>
53499
53500         * lib/getpagesize.h: Remove file.
53501         * lib/unistd.in.h: Include declaration of getpagesize here.
53502         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
53503         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
53504         HAVE_SYS_PARAM_H.
53505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
53506         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
53507         * modules/getpagesize (Files): Remove lib/getpagesize.h.
53508         (Depends-on): Add unistd.
53509         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53510         (Include): Use <unistd.h> instead of getpagesize.h.
53511         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
53512         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
53513         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
53514         gl_GETPAGESIZE invocation, already handled by module dependency.
53515         * lib/pagealign_alloc.c: Don't include getpagesize.h.
53516
53517 2007-12-02  Bruno Haible  <bruno@clisp.org>
53518
53519         * modules/strings-tests: New file.
53520         * tests/test-strings.c: New file.
53521
53522         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
53523         * lib/strings.in.h: New file.
53524         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
53525         * m4/strings_h.m4: New file.
53526         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
53527         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
53528         * modules/strings: New file.
53529         * modules/string (Makefile.am): Update.
53530         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
53531         Reported by Karl Berry.
53532
53533 2007-12-01  Eric Blake  <ebb9@byu.net>
53534
53535         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
53536         accomodate fix in cygwin 1.5.25.
53537
53538 2007-12-01  Jim Meyering  <meyering@redhat.com>
53539
53540         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
53541         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
53542         that would inhibit utf8-optimization of a regexp containing line-
53543         or buffer-anchors, e.g., `^', `$'.
53544
53545 2007-11-30  Bruno Haible  <bruno@clisp.org>
53546
53547         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
53548         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
53549         glthread_recursive_lock_init.
53550         * lib/lock.c (glthread_recursive_lock_init)
53551         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
53552         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53553
53554 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
53555
53556         New function qset_acl, like set_acl but with syscall semantics.
53557         * lib/acl.h (qset_acl): New decl.
53558         * lib/acl.c (qset_acl): New function.
53559         (set_acl): Use new function.  Use more-consistent diagnostics.
53560
53561 2007-11-28  Jim Meyering  <meyering@redhat.com>
53562
53563         * modules/physmem (License): Change from GPL to LGPLv2+.
53564
53565 2007-11-26  Bruno Haible  <bruno@clisp.org>
53566
53567         * lib/vasnprintf.c (decode_long_double): Don't abort if the
53568         'long double' type has excess precision.
53569         Reported by Jim Meyering in
53570         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
53571
53572 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53573
53574         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
53575         Sync from <http://gnu.org/licenses>.
53576         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
53577         with license text from same location.
53578         * doc/maintain.texi, doc/standards.texi:  Sync from
53579         <http://savannah.gnu.org/projects/gnustandards>.
53580
53581 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
53582         and Jim Meyering  <meyering@redhat.com>
53583
53584         Adjust getdate' grammar to accept a slightly more regular language.
53585         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
53586         Before, the former was rejected.
53587         * lib/getdate.y (digits_to_date_time): New function, factored
53588         out of ...
53589         (number): ...here.  Just call digits_to_date_time.
53590         (hybrid): New non-terminal to handle an <unsigned number,
53591         signed relative offset> sequence consistently.
53592
53593 2007-11-18  Jim Meyering  <meyering@redhat.com>
53594
53595         Pull my changes from coreutils:
53596         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
53597         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
53598         use of $gnulib_tool_option_extras, so that it's separated from the
53599         preceding argument.
53600
53601         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
53602         * build-aux/bootstrap (cp_mark_as_generated): Create any required
53603         parent destination directories before copying a file into place.
53604
53605 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
53606
53607         bootstrap: work also with 4-argument variant of AC_INIT
53608         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
53609
53610 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53611
53612         Port test-getaddrinfo to Solaris.
53613         Problem reported by Bruno Haible in
53614         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
53615         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
53616         explanation of setting 'hints'.
53617         Don't reject an implementation merely because it returns EAI_SERVICE.
53618         (EAI_SERVICE): Define to 0 if not defined.
53619
53620 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
53621
53622         The license of gnu-make and posix-shell is now "GPLed build tool".
53623         * modules/gnu-make (License): Likewise.
53624         * modules/posix-shell (License): Likewise.
53625
53626         New module posix-shell, for determining a POSIX shell
53627         or perhaps something that is close enough to a POSIX shell.
53628         * m4/posix-shell.m4: New file.
53629         * modules/posix-shell: New file.
53630
53631         * MODULES.html.sh: Mention new module.
53632
53633         New module gnu-make, for determining whether we're using GNU Make.
53634         * m4/gnu-make.m4: New file.
53635         * modules/gnu-make: New file.
53636         * MODULES.html.sh: Mention new module.
53637
53638 2007-11-14  Jim Meyering  <meyering@redhat.com>
53639
53640         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
53641         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
53642         use this macro to create a function _definition_.
53643         Remove useless "#undef ARGMATCH_DIE".
53644
53645 2007-11-14  Bruno Haible  <bruno@clisp.org>
53646
53647         * lib/config.charset: Update for OpenBSD 4.1.
53648         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
53649
53650 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
53651
53652         Document 64-bit #if problems in stdint.texi.
53653         * doc/headers/stdint.texi (stdint.h): Mention problems with
53654         64-bit-#if, and how to work around them.
53655
53656         Don't insist on 'long long int' support in the preprocessor.  It
53657         breaks too many things.  For example, PRIdMAX still uses a 'long
53658         long int' format with the latest Sun compiler, even though
53659         HAVE_LONG_LONG_INT isn't defined due to that compiler's
53660         preprocessor problem.  This causes the latest coreutils to dump
53661         core on Solaris 10 sparc with the Sun C compiler.
53662         Instead, fix the 2007-10-16 problem in a different way, by evaluating
53663         the troublesome expressions at configure-time, not at #if-time.
53664         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
53665         preprocessor.
53666         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
53667         compile-time C checks, done at 'configure'-time.
53668         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
53669         * modules/inttypes (Makefile): Substitute the new symbols that
53670         gl_INTTYPES_H now generates.
53671         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
53672
53673 2007-11-12  Bruno Haible  <bruno@clisp.org>
53674
53675         Tests for Unicode character classification functions.
53676
53677         * modules/unictype/bidicategory-byname-tests: New file.
53678         * modules/unictype/bidicategory-name-tests: New file.
53679         * modules/unictype/bidicategory-of-tests: New file.
53680         * modules/unictype/bidicategory-test-tests: New file.
53681         * modules/unictype/block-list-tests: New file.
53682         * modules/unictype/block-of-tests: New file.
53683         * modules/unictype/block-test-tests: New file.
53684         * modules/unictype/category-C-tests: New file.
53685         * modules/unictype/category-Cc-tests: New file.
53686         * modules/unictype/category-Cf-tests: New file.
53687         * modules/unictype/category-Cn-tests: New file.
53688         * modules/unictype/category-Co-tests: New file.
53689         * modules/unictype/category-Cs-tests: New file.
53690         * modules/unictype/category-L-tests: New file.
53691         * modules/unictype/category-Ll-tests: New file.
53692         * modules/unictype/category-Lm-tests: New file.
53693         * modules/unictype/category-Lo-tests: New file.
53694         * modules/unictype/category-Lt-tests: New file.
53695         * modules/unictype/category-Lu-tests: New file.
53696         * modules/unictype/category-M-tests: New file.
53697         * modules/unictype/category-Mc-tests: New file.
53698         * modules/unictype/category-Me-tests: New file.
53699         * modules/unictype/category-Mn-tests: New file.
53700         * modules/unictype/category-N-tests: New file.
53701         * modules/unictype/category-Nd-tests: New file.
53702         * modules/unictype/category-Nl-tests: New file.
53703         * modules/unictype/category-No-tests: New file.
53704         * modules/unictype/category-P-tests: New file.
53705         * modules/unictype/category-Pc-tests: New file.
53706         * modules/unictype/category-Pd-tests: New file.
53707         * modules/unictype/category-Pe-tests: New file.
53708         * modules/unictype/category-Pf-tests: New file.
53709         * modules/unictype/category-Pi-tests: New file.
53710         * modules/unictype/category-Po-tests: New file.
53711         * modules/unictype/category-Ps-tests: New file.
53712         * modules/unictype/category-S-tests: New file.
53713         * modules/unictype/category-Sc-tests: New file.
53714         * modules/unictype/category-Sk-tests: New file.
53715         * modules/unictype/category-Sm-tests: New file.
53716         * modules/unictype/category-So-tests: New file.
53717         * modules/unictype/category-Z-tests: New file.
53718         * modules/unictype/category-Zl-tests: New file.
53719         * modules/unictype/category-Zp-tests: New file.
53720         * modules/unictype/category-Zs-tests: New file.
53721         * modules/unictype/category-and-not-tests: New file.
53722         * modules/unictype/category-and-tests: New file.
53723         * modules/unictype/category-byname-tests: New file.
53724         * modules/unictype/category-name-tests: New file.
53725         * modules/unictype/category-none-tests: New file.
53726         * modules/unictype/category-of-tests: New file.
53727         * modules/unictype/category-or-tests: New file.
53728         * modules/unictype/category-test-withtable-tests: New file.
53729         * modules/unictype/combining-class-tests: New file.
53730         * modules/unictype/ctype-alnum-tests: New file.
53731         * modules/unictype/ctype-alpha-tests: New file.
53732         * modules/unictype/ctype-blank-tests: New file.
53733         * modules/unictype/ctype-cntrl-tests: New file.
53734         * modules/unictype/ctype-digit-tests: New file.
53735         * modules/unictype/ctype-graph-tests: New file.
53736         * modules/unictype/ctype-lower-tests: New file.
53737         * modules/unictype/ctype-print-tests: New file.
53738         * modules/unictype/ctype-punct-tests: New file.
53739         * modules/unictype/ctype-space-tests: New file.
53740         * modules/unictype/ctype-upper-tests: New file.
53741         * modules/unictype/ctype-xdigit-tests: New file.
53742         * modules/unictype/decimal-digit-tests: New file.
53743         * modules/unictype/digit-tests: New file.
53744         * modules/unictype/mirror-tests: New file.
53745         * modules/unictype/numeric-tests: New file.
53746         * modules/unictype/property-alphabetic-tests: New file.
53747         * modules/unictype/property-ascii-hex-digit-tests: New file.
53748         * modules/unictype/property-bidi-arabic-digit-tests: New file.
53749         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
53750         * modules/unictype/property-bidi-block-separator-tests: New file.
53751         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
53752         * modules/unictype/property-bidi-common-separator-tests: New file.
53753         * modules/unictype/property-bidi-control-tests: New file.
53754         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
53755         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
53756         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
53757         * modules/unictype/property-bidi-european-digit-tests: New file.
53758         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
53759         * modules/unictype/property-bidi-left-to-right-tests: New file.
53760         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
53761         * modules/unictype/property-bidi-other-neutral-tests: New file.
53762         * modules/unictype/property-bidi-pdf-tests: New file.
53763         * modules/unictype/property-bidi-segment-separator-tests: New file.
53764         * modules/unictype/property-bidi-whitespace-tests: New file.
53765         * modules/unictype/property-byname-tests: New file.
53766         * modules/unictype/property-combining-tests: New file.
53767         * modules/unictype/property-composite-tests: New file.
53768         * modules/unictype/property-currency-symbol-tests: New file.
53769         * modules/unictype/property-dash-tests: New file.
53770         * modules/unictype/property-decimal-digit-tests: New file.
53771         * modules/unictype/property-default-ignorable-code-point-tests: New file.
53772         * modules/unictype/property-deprecated-tests: New file.
53773         * modules/unictype/property-diacritic-tests: New file.
53774         * modules/unictype/property-extender-tests: New file.
53775         * modules/unictype/property-format-control-tests: New file.
53776         * modules/unictype/property-grapheme-base-tests: New file.
53777         * modules/unictype/property-grapheme-extend-tests: New file.
53778         * modules/unictype/property-grapheme-link-tests: New file.
53779         * modules/unictype/property-hex-digit-tests: New file.
53780         * modules/unictype/property-hyphen-tests: New file.
53781         * modules/unictype/property-id-continue-tests: New file.
53782         * modules/unictype/property-id-start-tests: New file.
53783         * modules/unictype/property-ideographic-tests: New file.
53784         * modules/unictype/property-ids-binary-operator-tests: New file.
53785         * modules/unictype/property-ids-trinary-operator-tests: New file.
53786         * modules/unictype/property-ignorable-control-tests: New file.
53787         * modules/unictype/property-iso-control-tests: New file.
53788         * modules/unictype/property-join-control-tests: New file.
53789         * modules/unictype/property-left-of-pair-tests: New file.
53790         * modules/unictype/property-line-separator-tests: New file.
53791         * modules/unictype/property-logical-order-exception-tests: New file.
53792         * modules/unictype/property-lowercase-tests: New file.
53793         * modules/unictype/property-math-tests: New file.
53794         * modules/unictype/property-non-break-tests: New file.
53795         * modules/unictype/property-not-a-character-tests: New file.
53796         * modules/unictype/property-numeric-tests: New file.
53797         * modules/unictype/property-other-alphabetic-tests: New file.
53798         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
53799         * modules/unictype/property-other-grapheme-extend-tests: New file.
53800         * modules/unictype/property-other-id-continue-tests: New file.
53801         * modules/unictype/property-other-id-start-tests: New file.
53802         * modules/unictype/property-other-lowercase-tests: New file.
53803         * modules/unictype/property-other-math-tests: New file.
53804         * modules/unictype/property-other-uppercase-tests: New file.
53805         * modules/unictype/property-paired-punctuation-tests: New file.
53806         * modules/unictype/property-paragraph-separator-tests: New file.
53807         * modules/unictype/property-pattern-syntax-tests: New file.
53808         * modules/unictype/property-pattern-white-space-tests: New file.
53809         * modules/unictype/property-private-use-tests: New file.
53810         * modules/unictype/property-punctuation-tests: New file.
53811         * modules/unictype/property-quotation-mark-tests: New file.
53812         * modules/unictype/property-radical-tests: New file.
53813         * modules/unictype/property-sentence-terminal-tests: New file.
53814         * modules/unictype/property-soft-dotted-tests: New file.
53815         * modules/unictype/property-space-tests: New file.
53816         * modules/unictype/property-terminal-punctuation-tests: New file.
53817         * modules/unictype/property-test-tests: New file.
53818         * modules/unictype/property-titlecase-tests: New file.
53819         * modules/unictype/property-unassigned-code-value-tests: New file.
53820         * modules/unictype/property-unified-ideograph-tests: New file.
53821         * modules/unictype/property-uppercase-tests: New file.
53822         * modules/unictype/property-variation-selector-tests: New file.
53823         * modules/unictype/property-white-space-tests: New file.
53824         * modules/unictype/property-xid-continue-tests: New file.
53825         * modules/unictype/property-xid-start-tests: New file.
53826         * modules/unictype/property-zero-width-tests: New file.
53827         * modules/unictype/scripts-tests: New file.
53828         * modules/unictype/syntax-c-ident-tests: New file.
53829         * modules/unictype/syntax-c-whitespace-tests: New file.
53830         * modules/unictype/syntax-java-ident-tests: New file.
53831         * modules/unictype/syntax-java-whitespace-tests: New file.
53832         * tests/unictype/test-bidi_byname.c: New file.
53833         * tests/unictype/test-bidi_name.c: New file.
53834         * tests/unictype/test-bidi_of.c: New file.
53835         * tests/unictype/test-bidi_test.c: New file.
53836         * tests/unictype/test-block_list.c: New file.
53837         * tests/unictype/test-block_of.c: New file.
53838         * tests/unictype/test-block_test.c: New file.
53839         * tests/unictype/test-categ_and.c: New file.
53840         * tests/unictype/test-categ_and_not.c: New file.
53841         * tests/unictype/test-categ_byname.c: New file.
53842         * tests/unictype/test-categ_name.c: New file.
53843         * tests/unictype/test-categ_none.c: New file.
53844         * tests/unictype/test-categ_of.c: New file.
53845         * tests/unictype/test-categ_or.c: New file.
53846         * tests/unictype/test-categ_test_withtable.c: New file.
53847         * tests/unictype/test-combining.c: New file.
53848         * tests/unictype/test-decdigit.c: New file.
53849         * tests/unictype/test-digit.c: New file.
53850         * tests/unictype/test-mirror.c: New file.
53851         * tests/unictype/test-numeric.c: New file.
53852         * tests/unictype/test-pr_byname.c: New file.
53853         * tests/unictype/test-pr_test.c: New file.
53854         * tests/unictype/test-predicate-part1.h: New file.
53855         * tests/unictype/test-predicate-part2.h: New file.
53856         * tests/unictype/test-scripts.c: New file.
53857         * tests/unictype/test-sy_c_ident.c: New file.
53858         * tests/unictype/test-sy_java_ident.c: New file.
53859
53860         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53861         for Unicode 5.0.0.
53862         * tests/unictype/test-categ_Cc.c: Likewise.
53863         * tests/unictype/test-categ_Cf.c: Likewise.
53864         * tests/unictype/test-categ_Cn.c: Likewise.
53865         * tests/unictype/test-categ_Co.c: Likewise.
53866         * tests/unictype/test-categ_Cs.c: Likewise.
53867         * tests/unictype/test-categ_L.c: Likewise.
53868         * tests/unictype/test-categ_Ll.c: Likewise.
53869         * tests/unictype/test-categ_Lm.c: Likewise.
53870         * tests/unictype/test-categ_Lo.c: Likewise.
53871         * tests/unictype/test-categ_Lt.c: Likewise.
53872         * tests/unictype/test-categ_Lu.c: Likewise.
53873         * tests/unictype/test-categ_M.c: Likewise.
53874         * tests/unictype/test-categ_Mc.c: Likewise.
53875         * tests/unictype/test-categ_Me.c: Likewise.
53876         * tests/unictype/test-categ_Mn.c: Likewise.
53877         * tests/unictype/test-categ_N.c: Likewise.
53878         * tests/unictype/test-categ_Nd.c: Likewise.
53879         * tests/unictype/test-categ_Nl.c: Likewise.
53880         * tests/unictype/test-categ_No.c: Likewise.
53881         * tests/unictype/test-categ_P.c: Likewise.
53882         * tests/unictype/test-categ_Pc.c: Likewise.
53883         * tests/unictype/test-categ_Pd.c: Likewise.
53884         * tests/unictype/test-categ_Pe.c: Likewise.
53885         * tests/unictype/test-categ_Pf.c: Likewise.
53886         * tests/unictype/test-categ_Pi.c: Likewise.
53887         * tests/unictype/test-categ_Po.c: Likewise.
53888         * tests/unictype/test-categ_Ps.c: Likewise.
53889         * tests/unictype/test-categ_S.c: Likewise.
53890         * tests/unictype/test-categ_Sc.c: Likewise.
53891         * tests/unictype/test-categ_Sk.c: Likewise.
53892         * tests/unictype/test-categ_Sm.c: Likewise.
53893         * tests/unictype/test-categ_So.c: Likewise.
53894         * tests/unictype/test-categ_Z.c: Likewise.
53895         * tests/unictype/test-categ_Zl.c: Likewise.
53896         * tests/unictype/test-categ_Zp.c: Likewise.
53897         * tests/unictype/test-categ_Zs.c: Likewise.
53898         * tests/unictype/test-ctype_alnum.c: Likewise.
53899         * tests/unictype/test-ctype_alpha.c: Likewise.
53900         * tests/unictype/test-ctype_blank.c: Likewise.
53901         * tests/unictype/test-ctype_cntrl.c: Likewise.
53902         * tests/unictype/test-ctype_digit.c: Likewise.
53903         * tests/unictype/test-ctype_graph.c: Likewise.
53904         * tests/unictype/test-ctype_lower.c: Likewise.
53905         * tests/unictype/test-ctype_print.c: Likewise.
53906         * tests/unictype/test-ctype_punct.c: Likewise.
53907         * tests/unictype/test-ctype_space.c: Likewise.
53908         * tests/unictype/test-ctype_upper.c: Likewise.
53909         * tests/unictype/test-ctype_xdigit.c: Likewise.
53910         * tests/unictype/test-decdigit.h: Likewise.
53911         * tests/unictype/test-digit.h: Likewise.
53912         * tests/unictype/test-numeric.h: Likewise.
53913         * tests/unictype/test-pr_alphabetic.c: Likewise.
53914         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53915         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53916         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53917         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53918         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53919         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53920         * tests/unictype/test-pr_bidi_control.c: Likewise.
53921         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53922         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53923         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53924         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53925         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53926         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53927         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53928         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53929         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53930         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53931         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53932         * tests/unictype/test-pr_combining.c: Likewise.
53933         * tests/unictype/test-pr_composite.c: Likewise.
53934         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53935         * tests/unictype/test-pr_dash.c: Likewise.
53936         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53937         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53938         * tests/unictype/test-pr_deprecated.c: Likewise.
53939         * tests/unictype/test-pr_diacritic.c: Likewise.
53940         * tests/unictype/test-pr_extender.c: Likewise.
53941         * tests/unictype/test-pr_format_control.c: Likewise.
53942         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53943         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53944         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53945         * tests/unictype/test-pr_hex_digit.c: Likewise.
53946         * tests/unictype/test-pr_hyphen.c: Likewise.
53947         * tests/unictype/test-pr_id_continue.c: Likewise.
53948         * tests/unictype/test-pr_id_start.c: Likewise.
53949         * tests/unictype/test-pr_ideographic.c: Likewise.
53950         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53951         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53952         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53953         * tests/unictype/test-pr_iso_control.c: Likewise.
53954         * tests/unictype/test-pr_join_control.c: Likewise.
53955         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53956         * tests/unictype/test-pr_line_separator.c: Likewise.
53957         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53958         * tests/unictype/test-pr_lowercase.c: Likewise.
53959         * tests/unictype/test-pr_math.c: Likewise.
53960         * tests/unictype/test-pr_non_break.c: Likewise.
53961         * tests/unictype/test-pr_not_a_character.c: Likewise.
53962         * tests/unictype/test-pr_numeric.c: Likewise.
53963         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53964         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53965         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53966         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53967         * tests/unictype/test-pr_other_id_start.c: Likewise.
53968         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53969         * tests/unictype/test-pr_other_math.c: Likewise.
53970         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53971         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53972         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53973         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53974         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53975         * tests/unictype/test-pr_private_use.c: Likewise.
53976         * tests/unictype/test-pr_punctuation.c: Likewise.
53977         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53978         * tests/unictype/test-pr_radical.c: Likewise.
53979         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53980         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53981         * tests/unictype/test-pr_space.c: Likewise.
53982         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53983         * tests/unictype/test-pr_titlecase.c: Likewise.
53984         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53985         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53986         * tests/unictype/test-pr_uppercase.c: Likewise.
53987         * tests/unictype/test-pr_variation_selector.c: Likewise.
53988         * tests/unictype/test-pr_white_space.c: Likewise.
53989         * tests/unictype/test-pr_xid_continue.c: Likewise.
53990         * tests/unictype/test-pr_xid_start.c: Likewise.
53991         * tests/unictype/test-pr_zero_width.c: Likewise.
53992         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53993         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53994
53995 2007-11-12  Bruno Haible  <bruno@clisp.org>
53996
53997         Unicode character classification functions.
53998         * lib/unictype.h: New file.
53999         * modules/unictype/base: New file.
54000         * modules/unictype/category-L: New file.
54001         * modules/unictype/category-Lu: New file.
54002         * modules/unictype/category-Ll: New file.
54003         * modules/unictype/category-Lt: New file.
54004         * modules/unictype/category-Lm: New file.
54005         * modules/unictype/category-Lo: New file.
54006         * modules/unictype/category-M: New file.
54007         * modules/unictype/category-Mn: New file.
54008         * modules/unictype/category-Mc: New file.
54009         * modules/unictype/category-Me: New file.
54010         * modules/unictype/category-N: New file.
54011         * modules/unictype/category-Nd: New file.
54012         * modules/unictype/category-Nl: New file.
54013         * modules/unictype/category-No: New file.
54014         * modules/unictype/category-P: New file.
54015         * modules/unictype/category-Pc: New file.
54016         * modules/unictype/category-Pd: New file.
54017         * modules/unictype/category-Ps: New file.
54018         * modules/unictype/category-Pe: New file.
54019         * modules/unictype/category-Pi: New file.
54020         * modules/unictype/category-Pf: New file.
54021         * modules/unictype/category-Po: New file.
54022         * modules/unictype/category-S: New file.
54023         * modules/unictype/category-Sm: New file.
54024         * modules/unictype/category-Sc: New file.
54025         * modules/unictype/category-Sk: New file.
54026         * modules/unictype/category-So: New file.
54027         * modules/unictype/category-Z: New file.
54028         * modules/unictype/category-Zs: New file.
54029         * modules/unictype/category-Zl: New file.
54030         * modules/unictype/category-Zp: New file.
54031         * modules/unictype/category-C: New file.
54032         * modules/unictype/category-Cc: New file.
54033         * modules/unictype/category-Cf: New file.
54034         * modules/unictype/category-Cs: New file.
54035         * modules/unictype/category-Co: New file.
54036         * modules/unictype/category-Cn: New file.
54037         * modules/unictype/category-or: New file.
54038         * modules/unictype/category-of: New file.
54039         * modules/unictype/category-test: New file.
54040         * modules/unictype/category-test-withtable: New file.
54041         * modules/unictype/category-byname: New file.
54042         * modules/unictype/category-none: New file.
54043         * modules/unictype/category-and: New file.
54044         * modules/unictype/category-and-not: New file.
54045         * modules/unictype/category-name: New file.
54046         * modules/unictype/combining-class: New file.
54047         * modules/unictype/category-all: New file.
54048         * modules/unictype/bidicategory-all: New file.
54049         * modules/unictype/bidicategory-byname: New file.
54050         * modules/unictype/bidicategory-name: New file.
54051         * modules/unictype/bidicategory-of: New file.
54052         * modules/unictype/bidicategory-test: New file.
54053         * modules/unictype/decimal-digit: New file.
54054         * modules/unictype/digit: New file.
54055         * modules/unictype/numeric: New file.
54056         * modules/unictype/mirror: New file.
54057         * modules/unictype/property-white-space: New file.
54058         * modules/unictype/property-alphabetic: New file.
54059         * modules/unictype/property-other-alphabetic: New file.
54060         * modules/unictype/property-not-a-character: New file.
54061         * modules/unictype/property-default-ignorable-code-point: New file.
54062         * modules/unictype/property-other-default-ignorable-code-point: New
54063         file.
54064         * modules/unictype/property-deprecated: New file.
54065         * modules/unictype/property-logical-order-exception: New file.
54066         * modules/unictype/property-variation-selector: New file.
54067         * modules/unictype/property-private-use: New file.
54068         * modules/unictype/property-unassigned-code-value: New file.
54069         * modules/unictype/property-uppercase: New file.
54070         * modules/unictype/property-other-uppercase: New file.
54071         * modules/unictype/property-lowercase: New file.
54072         * modules/unictype/property-other-lowercase: New file.
54073         * modules/unictype/property-titlecase: New file.
54074         * modules/unictype/property-soft-dotted: New file.
54075         * modules/unictype/property-id-start: New file.
54076         * modules/unictype/property-other-id-start: New file.
54077         * modules/unictype/property-id-continue: New file.
54078         * modules/unictype/property-other-id-continue: New file.
54079         * modules/unictype/property-xid-start: New file.
54080         * modules/unictype/property-xid-continue: New file.
54081         * modules/unictype/property-pattern-white-space: New file.
54082         * modules/unictype/property-pattern-syntax: New file.
54083         * modules/unictype/property-join-control: New file.
54084         * modules/unictype/property-grapheme-base: New file.
54085         * modules/unictype/property-grapheme-extend: New file.
54086         * modules/unictype/property-other-grapheme-extend: New file.
54087         * modules/unictype/property-grapheme-link: New file.
54088         * modules/unictype/property-bidi-control: New file.
54089         * modules/unictype/property-bidi-left-to-right: New file.
54090         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
54091         * modules/unictype/property-bidi-arabic-right-to-left: New file.
54092         * modules/unictype/property-bidi-european-digit: New file.
54093         * modules/unictype/property-bidi-eur-num-separator: New file.
54094         * modules/unictype/property-bidi-eur-num-terminator: New file.
54095         * modules/unictype/property-bidi-arabic-digit: New file.
54096         * modules/unictype/property-bidi-common-separator: New file.
54097         * modules/unictype/property-bidi-block-separator: New file.
54098         * modules/unictype/property-bidi-segment-separator: New file.
54099         * modules/unictype/property-bidi-whitespace: New file.
54100         * modules/unictype/property-bidi-non-spacing-mark: New file.
54101         * modules/unictype/property-bidi-boundary-neutral: New file.
54102         * modules/unictype/property-bidi-pdf: New file.
54103         * modules/unictype/property-bidi-embedding-or-override: New file.
54104         * modules/unictype/property-bidi-other-neutral: New file.
54105         * modules/unictype/property-hex-digit: New file.
54106         * modules/unictype/property-ascii-hex-digit: New file.
54107         * modules/unictype/property-ideographic: New file.
54108         * modules/unictype/property-unified-ideograph: New file.
54109         * modules/unictype/property-radical: New file.
54110         * modules/unictype/property-ids-binary-operator: New file.
54111         * modules/unictype/property-ids-trinary-operator: New file.
54112         * modules/unictype/property-zero-width: New file.
54113         * modules/unictype/property-space: New file.
54114         * modules/unictype/property-non-break: New file.
54115         * modules/unictype/property-iso-control: New file.
54116         * modules/unictype/property-format-control: New file.
54117         * modules/unictype/property-dash: New file.
54118         * modules/unictype/property-hyphen: New file.
54119         * modules/unictype/property-punctuation: New file.
54120         * modules/unictype/property-line-separator: New file.
54121         * modules/unictype/property-paragraph-separator: New file.
54122         * modules/unictype/property-quotation-mark: New file.
54123         * modules/unictype/property-sentence-terminal: New file.
54124         * modules/unictype/property-terminal-punctuation: New file.
54125         * modules/unictype/property-currency-symbol: New file.
54126         * modules/unictype/property-math: New file.
54127         * modules/unictype/property-other-math: New file.
54128         * modules/unictype/property-paired-punctuation: New file.
54129         * modules/unictype/property-left-of-pair: New file.
54130         * modules/unictype/property-combining: New file.
54131         * modules/unictype/property-composite: New file.
54132         * modules/unictype/property-decimal-digit: New file.
54133         * modules/unictype/property-numeric: New file.
54134         * modules/unictype/property-diacritic: New file.
54135         * modules/unictype/property-extender: New file.
54136         * modules/unictype/property-ignorable-control: New file.
54137         * modules/unictype/property-test: New file.
54138         * modules/unictype/property-byname: New file.
54139         * modules/unictype/property-all: New file.
54140         * modules/unictype/scripts: New file.
54141         * modules/unictype/scripts-all: New file.
54142         * modules/unictype/block-of: New file.
54143         * modules/unictype/block-test: New file.
54144         * modules/unictype/block-list: New file.
54145         * modules/unictype/block-all: New file.
54146         * modules/unictype/syntax-c-whitespace: New file.
54147         * modules/unictype/syntax-java-whitespace: New file.
54148         * modules/unictype/syntax-c-ident: New file.
54149         * modules/unictype/syntax-java-ident: New file.
54150         * modules/unictype/ctype-alnum: New file.
54151         * modules/unictype/ctype-alpha: New file.
54152         * modules/unictype/ctype-cntrl: New file.
54153         * modules/unictype/ctype-digit: New file.
54154         * modules/unictype/ctype-graph: New file.
54155         * modules/unictype/ctype-lower: New file.
54156         * modules/unictype/ctype-print: New file.
54157         * modules/unictype/ctype-punct: New file.
54158         * modules/unictype/ctype-space: New file.
54159         * modules/unictype/ctype-upper: New file.
54160         * modules/unictype/ctype-xdigit: New file.
54161         * modules/unictype/ctype-blank: New file.
54162         * lib/unictype/bidi_byname.c: New file.
54163         * lib/unictype/bidi_name.c: New file.
54164         * lib/unictype/bidi_of.c: New file.
54165         * lib/unictype/bidi_test.c: New file.
54166         * lib/unictype/bitmap.h: New file.
54167         * lib/unictype/block_test.c: New file.
54168         * lib/unictype/blocks.c: New file.
54169         * lib/unictype/categ_C.c: New file.
54170         * lib/unictype/categ_Cc.c: New file.
54171         * lib/unictype/categ_Cf.c: New file.
54172         * lib/unictype/categ_Cn.c: New file.
54173         * lib/unictype/categ_Co.c: New file.
54174         * lib/unictype/categ_Cs.c: New file.
54175         * lib/unictype/categ_L.c: New file.
54176         * lib/unictype/categ_Ll.c: New file.
54177         * lib/unictype/categ_Lm.c: New file.
54178         * lib/unictype/categ_Lo.c: New file.
54179         * lib/unictype/categ_Lt.c: New file.
54180         * lib/unictype/categ_Lu.c: New file.
54181         * lib/unictype/categ_M.c: New file.
54182         * lib/unictype/categ_Mc.c: New file.
54183         * lib/unictype/categ_Me.c: New file.
54184         * lib/unictype/categ_Mn.c: New file.
54185         * lib/unictype/categ_N.c: New file.
54186         * lib/unictype/categ_Nd.c: New file.
54187         * lib/unictype/categ_Nl.c: New file.
54188         * lib/unictype/categ_No.c: New file.
54189         * lib/unictype/categ_P.c: New file.
54190         * lib/unictype/categ_Pc.c: New file.
54191         * lib/unictype/categ_Pd.c: New file.
54192         * lib/unictype/categ_Pe.c: New file.
54193         * lib/unictype/categ_Pf.c: New file.
54194         * lib/unictype/categ_Pi.c: New file.
54195         * lib/unictype/categ_Po.c: New file.
54196         * lib/unictype/categ_Ps.c: New file.
54197         * lib/unictype/categ_S.c: New file.
54198         * lib/unictype/categ_Sc.c: New file.
54199         * lib/unictype/categ_Sk.c: New file.
54200         * lib/unictype/categ_Sm.c: New file.
54201         * lib/unictype/categ_So.c: New file.
54202         * lib/unictype/categ_Z.c: New file.
54203         * lib/unictype/categ_Zl.c: New file.
54204         * lib/unictype/categ_Zp.c: New file.
54205         * lib/unictype/categ_Zs.c: New file.
54206         * lib/unictype/categ_and.c: New file.
54207         * lib/unictype/categ_and_not.c: New file.
54208         * lib/unictype/categ_byname.c: New file.
54209         * lib/unictype/categ_name.c: New file.
54210         * lib/unictype/categ_none.c: New file.
54211         * lib/unictype/categ_of.c: New file.
54212         * lib/unictype/categ_or.c: New file.
54213         * lib/unictype/categ_test.c: New file.
54214         * lib/unictype/combining.c: New file.
54215         * lib/unictype/ctype_alnum.c: New file.
54216         * lib/unictype/ctype_alpha.c: New file.
54217         * lib/unictype/ctype_blank.c: New file.
54218         * lib/unictype/ctype_cntrl.c: New file.
54219         * lib/unictype/ctype_digit.c: New file.
54220         * lib/unictype/ctype_graph.c: New file.
54221         * lib/unictype/ctype_lower.c: New file.
54222         * lib/unictype/ctype_print.c: New file.
54223         * lib/unictype/ctype_punct.c: New file.
54224         * lib/unictype/ctype_space.c: New file.
54225         * lib/unictype/ctype_upper.c: New file.
54226         * lib/unictype/ctype_xdigit.c: New file.
54227         * lib/unictype/decdigit.c: New file.
54228         * lib/unictype/digit.c: New file.
54229         * lib/unictype/identsyntaxmap.h: New file.
54230         * lib/unictype/mirror.c: New file.
54231         * lib/unictype/numeric.c: New file.
54232         * lib/unictype/pr_alphabetic.c: New file.
54233         * lib/unictype/pr_ascii_hex_digit.c: New file.
54234         * lib/unictype/pr_bidi_arabic_digit.c: New file.
54235         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
54236         * lib/unictype/pr_bidi_block_separator.c: New file.
54237         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
54238         * lib/unictype/pr_bidi_common_separator.c: New file.
54239         * lib/unictype/pr_bidi_control.c: New file.
54240         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
54241         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
54242         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
54243         * lib/unictype/pr_bidi_european_digit.c: New file.
54244         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
54245         * lib/unictype/pr_bidi_left_to_right.c: New file.
54246         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
54247         * lib/unictype/pr_bidi_other_neutral.c: New file.
54248         * lib/unictype/pr_bidi_pdf.c: New file.
54249         * lib/unictype/pr_bidi_segment_separator.c: New file.
54250         * lib/unictype/pr_bidi_whitespace.c: New file.
54251         * lib/unictype/pr_byname.c: New file.
54252         * lib/unictype/pr_byname.gperf: New file.
54253         * lib/unictype/pr_combining.c: New file.
54254         * lib/unictype/pr_composite.c: New file.
54255         * lib/unictype/pr_currency_symbol.c: New file.
54256         * lib/unictype/pr_dash.c: New file.
54257         * lib/unictype/pr_decimal_digit.c: New file.
54258         * lib/unictype/pr_default_ignorable_code_point.c: New file.
54259         * lib/unictype/pr_deprecated.c: New file.
54260         * lib/unictype/pr_diacritic.c: New file.
54261         * lib/unictype/pr_extender.c: New file.
54262         * lib/unictype/pr_format_control.c: New file.
54263         * lib/unictype/pr_grapheme_base.c: New file.
54264         * lib/unictype/pr_grapheme_extend.c: New file.
54265         * lib/unictype/pr_grapheme_link.c: New file.
54266         * lib/unictype/pr_hex_digit.c: New file.
54267         * lib/unictype/pr_hyphen.c: New file.
54268         * lib/unictype/pr_id_continue.c: New file.
54269         * lib/unictype/pr_id_start.c: New file.
54270         * lib/unictype/pr_ideographic.c: New file.
54271         * lib/unictype/pr_ids_binary_operator.c: New file.
54272         * lib/unictype/pr_ids_trinary_operator.c: New file.
54273         * lib/unictype/pr_ignorable_control.c: New file.
54274         * lib/unictype/pr_iso_control.c: New file.
54275         * lib/unictype/pr_join_control.c: New file.
54276         * lib/unictype/pr_left_of_pair.c: New file.
54277         * lib/unictype/pr_line_separator.c: New file.
54278         * lib/unictype/pr_logical_order_exception.c: New file.
54279         * lib/unictype/pr_lowercase.c: New file.
54280         * lib/unictype/pr_math.c: New file.
54281         * lib/unictype/pr_non_break.c: New file.
54282         * lib/unictype/pr_not_a_character.c: New file.
54283         * lib/unictype/pr_numeric.c: New file.
54284         * lib/unictype/pr_other_alphabetic.c: New file.
54285         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
54286         * lib/unictype/pr_other_grapheme_extend.c: New file.
54287         * lib/unictype/pr_other_id_continue.c: New file.
54288         * lib/unictype/pr_other_id_start.c: New file.
54289         * lib/unictype/pr_other_lowercase.c: New file.
54290         * lib/unictype/pr_other_math.c: New file.
54291         * lib/unictype/pr_other_uppercase.c: New file.
54292         * lib/unictype/pr_paired_punctuation.c: New file.
54293         * lib/unictype/pr_paragraph_separator.c: New file.
54294         * lib/unictype/pr_pattern_syntax.c: New file.
54295         * lib/unictype/pr_pattern_white_space.c: New file.
54296         * lib/unictype/pr_private_use.c: New file.
54297         * lib/unictype/pr_punctuation.c: New file.
54298         * lib/unictype/pr_quotation_mark.c: New file.
54299         * lib/unictype/pr_radical.c: New file.
54300         * lib/unictype/pr_sentence_terminal.c: New file.
54301         * lib/unictype/pr_soft_dotted.c: New file.
54302         * lib/unictype/pr_space.c: New file.
54303         * lib/unictype/pr_terminal_punctuation.c: New file.
54304         * lib/unictype/pr_test.c: New file.
54305         * lib/unictype/pr_titlecase.c: New file.
54306         * lib/unictype/pr_unassigned_code_value.c: New file.
54307         * lib/unictype/pr_unified_ideograph.c: New file.
54308         * lib/unictype/pr_uppercase.c: New file.
54309         * lib/unictype/pr_variation_selector.c: New file.
54310         * lib/unictype/pr_white_space.c: New file.
54311         * lib/unictype/pr_xid_continue.c: New file.
54312         * lib/unictype/pr_xid_start.c: New file.
54313         * lib/unictype/pr_zero_width.c: New file.
54314         * lib/unictype/scripts.c: New file.
54315         * lib/unictype/sy_c_ident.c: New file.
54316         * lib/unictype/sy_c_whitespace.c: New file.
54317         * lib/unictype/sy_java_ident.c: New file.
54318         * lib/unictype/sy_java_whitespace.c: New file.
54319
54320         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
54321         Unicode 5.0.0.
54322         * lib/unictype/blocks.h: Likewise.
54323         * lib/unictype/categ_C.h: Likewise.
54324         * lib/unictype/categ_Cc.h: Likewise.
54325         * lib/unictype/categ_Cf.h: Likewise.
54326         * lib/unictype/categ_Cn.h: Likewise.
54327         * lib/unictype/categ_Co.h: Likewise.
54328         * lib/unictype/categ_Cs.h: Likewise.
54329         * lib/unictype/categ_L.h: Likewise.
54330         * lib/unictype/categ_Ll.h: Likewise.
54331         * lib/unictype/categ_Lm.h: Likewise.
54332         * lib/unictype/categ_Lo.h: Likewise.
54333         * lib/unictype/categ_Lt.h: Likewise.
54334         * lib/unictype/categ_Lu.h: Likewise.
54335         * lib/unictype/categ_M.h: Likewise.
54336         * lib/unictype/categ_Mc.h: Likewise.
54337         * lib/unictype/categ_Me.h: Likewise.
54338         * lib/unictype/categ_Mn.h: Likewise.
54339         * lib/unictype/categ_N.h: Likewise.
54340         * lib/unictype/categ_Nd.h: Likewise.
54341         * lib/unictype/categ_Nl.h: Likewise.
54342         * lib/unictype/categ_No.h: Likewise.
54343         * lib/unictype/categ_P.h: Likewise.
54344         * lib/unictype/categ_Pc.h: Likewise.
54345         * lib/unictype/categ_Pd.h: Likewise.
54346         * lib/unictype/categ_Pe.h: Likewise.
54347         * lib/unictype/categ_Pf.h: Likewise.
54348         * lib/unictype/categ_Pi.h: Likewise.
54349         * lib/unictype/categ_Po.h: Likewise.
54350         * lib/unictype/categ_Ps.h: Likewise.
54351         * lib/unictype/categ_S.h: Likewise.
54352         * lib/unictype/categ_Sc.h: Likewise.
54353         * lib/unictype/categ_Sk.h: Likewise.
54354         * lib/unictype/categ_Sm.h: Likewise.
54355         * lib/unictype/categ_So.h: Likewise.
54356         * lib/unictype/categ_Z.h: Likewise.
54357         * lib/unictype/categ_Zl.h: Likewise.
54358         * lib/unictype/categ_Zp.h: Likewise.
54359         * lib/unictype/categ_Zs.h: Likewise.
54360         * lib/unictype/categ_of.h: Likewise.
54361         * lib/unictype/combining.h: Likewise.
54362         * lib/unictype/ctype_alnum.h: Likewise.
54363         * lib/unictype/ctype_alpha.h: Likewise.
54364         * lib/unictype/ctype_blank.h: Likewise.
54365         * lib/unictype/ctype_cntrl.h: Likewise.
54366         * lib/unictype/ctype_digit.h: Likewise.
54367         * lib/unictype/ctype_graph.h: Likewise.
54368         * lib/unictype/ctype_lower.h: Likewise.
54369         * lib/unictype/ctype_print.h: Likewise.
54370         * lib/unictype/ctype_punct.h: Likewise.
54371         * lib/unictype/ctype_space.h: Likewise.
54372         * lib/unictype/ctype_upper.h: Likewise.
54373         * lib/unictype/ctype_xdigit.h: Likewise.
54374         * lib/unictype/decdigit.h: Likewise.
54375         * lib/unictype/digit.h: Likewise.
54376         * lib/unictype/mirror.h: Likewise.
54377         * lib/unictype/numeric.h: Likewise.
54378         * lib/unictype/pr_alphabetic.h: Likewise.
54379         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
54380         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
54381         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
54382         * lib/unictype/pr_bidi_block_separator.h: Likewise.
54383         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
54384         * lib/unictype/pr_bidi_common_separator.h: Likewise.
54385         * lib/unictype/pr_bidi_control.h: Likewise.
54386         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
54387         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
54388         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
54389         * lib/unictype/pr_bidi_european_digit.h: Likewise.
54390         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
54391         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
54392         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
54393         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
54394         * lib/unictype/pr_bidi_pdf.h: Likewise.
54395         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
54396         * lib/unictype/pr_bidi_whitespace.h: Likewise.
54397         * lib/unictype/pr_combining.h: Likewise.
54398         * lib/unictype/pr_composite.h: Likewise.
54399         * lib/unictype/pr_currency_symbol.h: Likewise.
54400         * lib/unictype/pr_dash.h: Likewise.
54401         * lib/unictype/pr_decimal_digit.h: Likewise.
54402         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
54403         * lib/unictype/pr_deprecated.h: Likewise.
54404         * lib/unictype/pr_diacritic.h: Likewise.
54405         * lib/unictype/pr_extender.h: Likewise.
54406         * lib/unictype/pr_format_control.h: Likewise.
54407         * lib/unictype/pr_grapheme_base.h: Likewise.
54408         * lib/unictype/pr_grapheme_extend.h: Likewise.
54409         * lib/unictype/pr_grapheme_link.h: Likewise.
54410         * lib/unictype/pr_hex_digit.h: Likewise.
54411         * lib/unictype/pr_hyphen.h: Likewise.
54412         * lib/unictype/pr_id_continue.h: Likewise.
54413         * lib/unictype/pr_id_start.h: Likewise.
54414         * lib/unictype/pr_ideographic.h: Likewise.
54415         * lib/unictype/pr_ids_binary_operator.h: Likewise.
54416         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
54417         * lib/unictype/pr_ignorable_control.h: Likewise.
54418         * lib/unictype/pr_iso_control.h: Likewise.
54419         * lib/unictype/pr_join_control.h: Likewise.
54420         * lib/unictype/pr_left_of_pair.h: Likewise.
54421         * lib/unictype/pr_line_separator.h: Likewise.
54422         * lib/unictype/pr_logical_order_exception.h: Likewise.
54423         * lib/unictype/pr_lowercase.h: Likewise.
54424         * lib/unictype/pr_math.h: Likewise.
54425         * lib/unictype/pr_non_break.h: Likewise.
54426         * lib/unictype/pr_not_a_character.h: Likewise.
54427         * lib/unictype/pr_numeric.h: Likewise.
54428         * lib/unictype/pr_other_alphabetic.h: Likewise.
54429         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
54430         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
54431         * lib/unictype/pr_other_id_continue.h: Likewise.
54432         * lib/unictype/pr_other_id_start.h: Likewise.
54433         * lib/unictype/pr_other_lowercase.h: Likewise.
54434         * lib/unictype/pr_other_math.h: Likewise.
54435         * lib/unictype/pr_other_uppercase.h: Likewise.
54436         * lib/unictype/pr_paired_punctuation.h: Likewise.
54437         * lib/unictype/pr_paragraph_separator.h: Likewise.
54438         * lib/unictype/pr_pattern_syntax.h: Likewise.
54439         * lib/unictype/pr_pattern_white_space.h: Likewise.
54440         * lib/unictype/pr_private_use.h: Likewise.
54441         * lib/unictype/pr_punctuation.h: Likewise.
54442         * lib/unictype/pr_quotation_mark.h: Likewise.
54443         * lib/unictype/pr_radical.h: Likewise.
54444         * lib/unictype/pr_sentence_terminal.h: Likewise.
54445         * lib/unictype/pr_soft_dotted.h: Likewise.
54446         * lib/unictype/pr_space.h: Likewise.
54447         * lib/unictype/pr_terminal_punctuation.h: Likewise.
54448         * lib/unictype/pr_titlecase.h: Likewise.
54449         * lib/unictype/pr_unassigned_code_value.h: Likewise.
54450         * lib/unictype/pr_unified_ideograph.h: Likewise.
54451         * lib/unictype/pr_uppercase.h: Likewise.
54452         * lib/unictype/pr_variation_selector.h: Likewise.
54453         * lib/unictype/pr_white_space.h: Likewise.
54454         * lib/unictype/pr_xid_continue.h: Likewise.
54455         * lib/unictype/pr_xid_start.h: Likewise.
54456         * lib/unictype/pr_zero_width.h: Likewise.
54457         * lib/unictype/scripts.h: Likewise.
54458         * lib/unictype/scripts_byname.gperf: Likewise.
54459         * lib/unictype/sy_c_ident.h: Likewise.
54460         * lib/unictype/sy_c_whitespace.h: Likewise.
54461         * lib/unictype/sy_java_ident.h: Likewise.
54462         * lib/unictype/sy_java_whitespace.h: Likewise.
54463
54464         * lib/unictype/Makefile: New file.
54465         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
54466         glibc.
54467         * lib/unictype/3level.h: New file, copied from glibc.
54468         * lib/unictype/3levelbit.h: New file.
54469
54470 2007-11-11  Bruno Haible  <bruno@clisp.org>
54471
54472         * modules/gperf: New file.
54473         * modules/iconv_open (Depends-on): Add it.
54474         (Makefile.am): Remove the GPERF definition.
54475
54476 2007-11-11  Bruno Haible  <bruno@clisp.org>
54477
54478         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
54479         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
54480
54481 2007-11-11  Bruno Haible  <bruno@clisp.org>
54482
54483         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
54484         (usage): Remove function.
54485
54486 2007-11-11  Bruno Haible  <bruno@clisp.org>
54487
54488         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
54489         gl_FUNC_CEILF_LIBS.
54490         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
54491         gl_FUNC_CEIL_LIBS.
54492         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
54493         gl_FUNC_CEILL_LIBS.
54494         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
54495         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
54496         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
54497
54498 2007-11-11  Bruno Haible  <bruno@clisp.org>
54499
54500         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
54501         roundf were declared but do not exist on functions.
54502         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
54503         roundl were declared but do not exist on functions.
54504         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
54505         HAVE_FLOORL_AND_CEILL, respectively.
54506         Needed for Sun C on Solaris 10.
54507
54508 2007-11-11  Bruno Haible  <bruno@clisp.org>
54509
54510         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
54511         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
54512         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
54513         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
54514         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
54515         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
54516         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
54517         HAVE_DECL_ROUNDF.
54518         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
54519         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
54520         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
54521         of HAVE_DECL_ROUND*.
54522         * modules/math (Makefile.am): Update.
54523
54524 2007-11-10  Bruno Haible  <bruno@clisp.org>
54525
54526         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
54527         ptrdiff_t as m4/intl.m4.
54528
54529 2007-11-10  Jim Meyering  <meyering@redhat.com>
54530
54531         Avoid link failure for the argmatch test.
54532         * tests/test-argmatch.c (usage): Define function to avoid a link
54533         failure: argmatch_die requires a usage function.
54534
54535 2007-11-09  Bruno Haible  <bruno@clisp.org>
54536
54537         * doc/functions/snprintf.texi: Mention BeOS deficiency.
54538         * doc/functions/vsnprintf.texi: Likewise.
54539         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
54540         with a size argument < 2.
54541
54542 2007-11-09  Bruno Haible  <bruno@clisp.org>
54543
54544         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
54545         buffer. Fixes an inefficiency introduced on 2007-11-03.
54546
54547 2007-11-09  Bruno Haible  <bruno@clisp.org>
54548
54549         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
54550         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
54551
54552 2007-11-08  Jim Meyering  <meyering@redhat.com>
54553
54554         Change cache variable name prefix "jm_" to "gl_" everywhere.
54555         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
54556         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
54557         * m4/uptime.m4: s/gl_/jm_/
54558
54559 2007-11-07  Bruno Haible  <bruno@clisp.org>
54560
54561         Update to GNU gettext 0.17.
54562         * m4/intl.m4: Update to GNU gettext 0.17.
54563         * m4/po.m4: Likewise.
54564         * modules/gettext (Files): Remove m4/ulonglong.m4.
54565         (configure.ac): Require gettext infrastructure from version 0.17.
54566
54567 2007-11-06  Bruno Haible  <bruno@clisp.org>
54568
54569         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
54570         symbolic values are not defined in a public header.
54571         * lib/freadable.c (freadable) [QNX]: Likewise.
54572         * lib/freadahead.c (freadahead) [QNX]: Likewise.
54573         * lib/freading.c (freading) [QNX]: Likewise.
54574         * lib/fseterr.c (fseterr) [QNX]: Likewise.
54575         * lib/fwritable.c (fwritable) [QNX]: Likewise.
54576         * lib/fwriting.c (fwriting) [QNX]: Likewise.
54577         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
54578         Reported by Alain Magloire.
54579
54580         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
54581
54582 2007-11-05  Bruno Haible  <bruno@clisp.org>
54583
54584         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
54585         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
54586         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
54587         Reported by Eric Blake.
54588
54589 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54590             Bruno Haible  <bruno@clisp.org>
54591
54592         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
54593         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
54594         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
54595         (malloc): Undefine also before including <stdlib.h>.
54596         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
54597         Needed on OSF/1 4.0.
54598
54599 2007-11-05  Jim Meyering  <meyering@redhat.com>
54600
54601         git-version-gen: sync from coreutils.
54602         * build-aux/git-version-gen: Add comments.
54603         Change the first '-' to '.' in the snapshot version string,
54604         e.g., 6.9-377-08144 -> 6.9.377-08144
54605         Remove first parameter.
54606         Don't declare a version "-dirty" merely because a time
54607         stamp has changed.
54608
54609 2007-11-04  Bruno Haible  <bruno@clisp.org>
54610
54611         * lib/lock.h: Protect all macro definitions containing an 'if'
54612         statement through a "do { ... } while (0)".
54613         * lib/tls.h: Likewise.
54614
54615 2007-11-04  Bruno Haible  <bruno@clisp.org>
54616
54617         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
54618
54619 2007-11-04  Bruno Haible  <bruno@clisp.org>
54620
54621         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
54622         * modules/fprintf-posix (Depends-on): Add nocrash.
54623         * modules/snprintf-posix (Depends-on): Likewise.
54624         * modules/sprintf-posix (Depends-on): Likewise.
54625         * modules/vasnprintf-posix (Depends-on): Likewise.
54626         * modules/vasprintf-posix (Depends-on): Likewise.
54627         * modules/vfprintf-posix (Depends-on): Likewise.
54628         * modules/vsnprintf-posix (Depends-on): Likewise.
54629         * modules/vsprintf-posix (Depends-on): Likewise.
54630         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54631         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54632         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54633         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54634         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54635         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54636         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54637
54638 2007-11-04  Bruno Haible  <bruno@clisp.org>
54639
54640         * modules/nocrash: New file.
54641         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
54642         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
54643
54644 2007-11-04  Bruno Haible  <bruno@clisp.org>
54645
54646         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
54647         precision handling.
54648         * tests/test-vasprintf-posix.c (test_function): Likewise.
54649         * tests/test-snprintf-posix.h (test_function): Likewise.
54650         * tests/test-sprintf-posix.h (test_function): Likewise.
54651
54652         Fix *printf behaviour for large precisions on mingw and BeOS.
54653         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
54654         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
54655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
54656         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54657         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54658         gl_PRINTF_PRECISION and test its result. Invoke
54659         gl_PREREQ_VASNPRINTF_PRECISION.
54660         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54661         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54662         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54663         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54664         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54665         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54666         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54667         * doc/functions/fprintf.texi: Update.
54668         * doc/functions/printf.texi: Update.
54669         * doc/functions/snprintf.texi: Update.
54670         * doc/functions/sprintf.texi: Update.
54671         * doc/functions/vfprintf.texi: Update.
54672         * doc/functions/vprintf.texi: Update.
54673         * doc/functions/vsnprintf.texi: Update.
54674         * doc/functions/vsprintf.texi: Update.
54675
54676 2007-11-04  Bruno Haible  <bruno@clisp.org>
54677
54678         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
54679
54680 2007-11-04  Bruno Haible  <bruno@clisp.org>
54681
54682         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
54683         Reported by Sylvain Beucler <beuc@gnu.org>.
54684
54685 2007-11-03  Bruno Haible  <bruno@clisp.org>
54686
54687         * tests/test-fprintf-posix2.sh: New file.
54688         * tests/test-fprintf-posix2.c: New file.
54689         * modules/fprintf-posix-tests (Files): Add them.
54690         (TESTS): Add test-fprintf-posix2.sh.
54691         (configure.ac): Check for getrlimit and setrlimit.
54692         (check_PROGRAMS): Add test-fprintf-posix2.
54693
54694         * tests/test-printf-posix2.sh: New file.
54695         * tests/test-printf-posix2.c: New file.
54696         * modules/printf-posix-tests (Files): Add them.
54697         (TESTS): Add test-printf-posix2.sh.
54698         (configure.ac): Check for getrlimit and setrlimit.
54699         (check_PROGRAMS): Add test-printf-posix2.
54700
54701         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
54702         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
54703         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
54704         (decode_double): New function, copied from decode_long_double.
54705         (scale10_round_decimal_decoded): New function, extracted from
54706         scale10_round_decimal_long_double.
54707         (scale10_round_decimal_long_double): Use it.
54708         (scale10_round_decimal_double): New function.
54709         (floorlog10): New function.
54710         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
54711         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
54712         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54713         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54714         gl_PRINTF_ENOMEM and test its result. Invoke
54715         gl_PREREQ_VASNPRINTF_ENOMEM.
54716         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54717         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54718         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54719         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54720         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54721         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54722         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54723         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
54724         * modules/snprintf-posix (Depends-on): Likewise.
54725         * modules/sprintf-posix (Depends-on): Likewise.
54726         * modules/vasnprintf-posix (Depends-on): Likewise.
54727         * modules/vasprintf-posix (Depends-on): Likewise.
54728         * modules/vfprintf-posix (Depends-on): Likewise.
54729         * modules/vsnprintf-posix (Depends-on): Likewise.
54730         * modules/vsprintf-posix (Depends-on): Likewise.
54731         * doc/functions/fprintf.texi: Update.
54732         * doc/functions/printf.texi: Update.
54733         * doc/functions/snprintf.texi: Update.
54734         * doc/functions/sprintf.texi: Update.
54735         * doc/functions/vfprintf.texi: Update.
54736         * doc/functions/vprintf.texi: Update.
54737         * doc/functions/vsnprintf.texi: Update.
54738         * doc/functions/vsprintf.texi: Update.
54739
54740 2007-11-03  Bruno Haible  <bruno@clisp.org>
54741
54742         * modules/frexp-nolibm-tests: New file.
54743
54744         * modules/frexp-nolibm: New file.
54745         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
54746
54747 2007-11-03  Bruno Haible  <bruno@clisp.org>
54748
54749         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
54750         value is C99 compliant.
54751         Needed for OSF/1 5.1.
54752
54753 2007-11-03  Bruno Haible  <bruno@clisp.org>
54754
54755         Fix out-of-memory handling of vasnprintf.
54756         * lib/printf-parse.c: Include <errno.h>.
54757         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
54758         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
54759         is already set.
54760
54761 2007-11-02  Eric Blake  <ebb9@byu.net>
54762
54763         Fix tests on cygwin.
54764         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
54765
54766 2007-11-01  Bruno Haible  <bruno@clisp.org>
54767
54768         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
54769         warning.
54770         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
54771         needed for POSIX compatibility.
54772
54773 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54774
54775         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
54776         for compatibility with GNU.
54777
54778 2007-11-01  Bruno Haible  <bruno@clisp.org>
54779
54780         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
54781         (putenv): Renamed from rpl_putenv. Change argument type from
54782         'const char *' to 'char *'.
54783         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
54784         of defining putenv in config.h, just set REPLACE_PUTENV.
54785         * modules/putenv (Depends-on): Add stdlib.
54786         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54787         (Include): Use <stdlib.h>.
54788         * lib/stdlib.in.h (putenv): New declaration.
54789         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
54790         REPLACE_PUTENV.
54791         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
54792         REPLACE_PUTENV.
54793         Needed for MacOS X 10.5.0.
54794         Reported by Peter O'Gorman <peter@pogma.com>.
54795
54796 2007-11-01  Jim Meyering  <meyering@redhat.com>
54797
54798         Treat an empty date string exactly like "0".
54799         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
54800         if the remaining date string (to be parsed) is empty, use "0".
54801         Reported by Mischa Molhoek and discussed in this thread:
54802         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
54803
54804 2007-10-31  Bruno Haible  <bruno@clisp.org>
54805
54806         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
54807         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
54808         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
54809         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
54810         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
54811         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
54812
54813 2007-10-31  Bruno Haible  <bruno@clisp.org>
54814
54815         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
54816         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
54817         (AC_TYPE_LONG_LONG_INT): Use it.
54818         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
54819         it as well.
54820         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
54821         to m4/longlong.m4.
54822         * modules/stdint (Files): Remove m4/ulonglong.m4.
54823         * modules/strtoull (Files): Use m4/longlong.m4 instead of
54824         m4/ulonglong.m4.
54825         * modules/strtoumax (Files): Likewise.
54826
54827 2007-10-30  Bruno Haible  <bruno@clisp.org>
54828
54829         * modules/xvasprintf-posix: New file.
54830         Suggested by Eric Blake.
54831
54832 2007-10-30  Bruno Haible  <bruno@clisp.org>
54833
54834         * modules/xprintf-posix-tests: New file.
54835         * tests/test-xprintf-posix.sh: New file.
54836         * tests/test-xprintf-posix.c: New file.
54837         * tests/test-xfprintf-posix.c: New file.
54838
54839         * modules/xprintf-posix: New file.
54840
54841 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54842
54843         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54844         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54845         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54846
54847 2007-10-29  Bruno Haible  <bruno@clisp.org>
54848
54849         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54850         contain the special marker '_cv_'.
54851         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54852         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54853         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54854         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54855         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54856         Reported by Ralf Wildenhues.
54857
54858 2007-10-29  Bruno Haible  <bruno@clisp.org>
54859
54860         * gnulib-tool (func_import): When --lgpl is not specified, set
54861         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54862         GPLv3.
54863         Reported by Simon Josefsson.
54864
54865 2007-10-28  Bruno Haible  <bruno@clisp.org>
54866
54867         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54868         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54869         HAVE_DECL_ISFINITE.
54870         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54871         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54872         HAVE_DECL_ISFINITE.
54873
54874 2007-10-28  Bruno Haible  <bruno@clisp.org>
54875
54876         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54877         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54878
54879 2007-10-28  Bruno Haible  <bruno@clisp.org>
54880
54881         Fix link errors with Sun C 5.0 on Solaris 10.
54882         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54883         function is declared but not present in the compiler's libm.
54884         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54885         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54886         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54887         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54888         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54889         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54890         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54891         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54892         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54893         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54894         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54895         HAVE_DECL_FLOORL.
54896
54897 2007-10-28  Bruno Haible  <bruno@clisp.org>
54898
54899         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54900         gl_FUNC_FLOORL. Cache the result.
54901         (gl_FUNC_FLOORL): Use it.
54902         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54903         gl_FUNC_CEILL. Cache the result.
54904         (gl_FUNC_CEILL): Use it.
54905
54906         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54907         gl_FUNC_FLOOR. Cache the result.
54908         (gl_FUNC_FLOOR): Use it.
54909         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54910         gl_FUNC_CEIL. Cache the result.
54911         (gl_FUNC_CEIL): Use it.
54912
54913         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54914         gl_FUNC_FLOORF. Cache the result.
54915         (gl_FUNC_FLOORF): Use it.
54916         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54917         gl_FUNC_CEILF. Cache the result.
54918         (gl_FUNC_CEILF): Use it.
54919
54920 2007-10-28  Bruno Haible  <bruno@clisp.org>
54921
54922         * gnulib-tool: Allow specifying the LGPL version number through
54923         --lgpl=2 or --lgpl=3.
54924         (func_usage): Document --lgpl with argument.
54925         Handle --lgpl=... arguments.
54926         (func_import): Recognize also gl_LGPL calls with an argument. When
54927         --lgpl=2 is used and the module's license is just LGPL, report an
54928         error. Set sed_transform_lib_file according to the lgpl variable. In
54929         the generated files, use --lgpl or gl_LGPL invocations with argument,
54930         if necessary.
54931         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54932         an LGPv2+ license.
54933         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54934         gl_LGPL macro.
54935
54936 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54937             Bruno Haible  <bruno@clisp.org>
54938
54939         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54940         (u16_uctomb_aux): Likewise.
54941         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54942         !HAVE_INLINE.
54943         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54944
54945 2007-10-28  Bruno Haible  <bruno@clisp.org>
54946
54947         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54948         Invoke AM_GETTEXT_OPTION if it exists.
54949         * modules/vasprintf: Likewise.
54950         * modules/verror: Likewise.
54951         * modules/xprintf: Likewise.
54952         * modules/xvasprintf: Likewise.
54953
54954 2007-10-27  Ben Pfaff  <blp@gnu.org>
54955
54956         * lib/math.in.h: Define isfinite macro and prototypes for
54957         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54958         implementations.
54959         * m4/math_h.m4: New substitutions for isfinite module.
54960         * lib/isfinite.c: New file.
54961         * m4/isfinite.m4: New file.
54962         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54963         * modules/isfinite: New file.
54964         * modules/isfinite-tests: New file.
54965         * tests/tests-isfinite.c: New file.
54966         * doc/functions/isfinite.texi: Mention isfinite module.
54967         * MODULES.html.sh: Mention new module.
54968
54969 2007-10-27  Ben Pfaff  <blp@gnu.org>
54970
54971         Ralf Wildenhues reported that Tru64 4.0D declares the round
54972         functions but does not have definitions.
54973         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54974         cannot be found in any library, set the output variable to
54975         "missing" instead of "".
54976         * m4/round.m4: Also use our substitute if we cannot find round in
54977         any library, even if it is declared.
54978         * m4/roundf.m4: Likewise for roundf.
54979         * m4/roundl.m4: Likewise for roundl.
54980         * lib/math.in.h: Undefine roundf, round, roundl before defining
54981         their replacements, to allow for hypothetical systems where these
54982         may be defined as macros but not available in libraries.
54983
54984 2007-10-27  Bruno Haible  <bruno@clisp.org>
54985
54986         * doc/gnulib.texi: Invoke @firstparagraphindent.
54987         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54988         changes in gnulib.
54989         (Source changes): New section.
54990
54991 2007-10-26  Bruno Haible  <bruno@clisp.org>
54992
54993         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54994         borrowed from autoconf.
54995
54996 2007-10-26  Bruno Haible  <bruno@clisp.org>
54997
54998         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54999         strerror returned the empty string. Needed on HP-UX 11.00.
55000
55001 2007-10-24  Micah Cowan  <micah@cowan.name>
55002
55003         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
55004         * build-aux/bootstrap: Remove support for now-unnecessary option,
55005         --cvs-user, and envvars CVS_USER, CVS_RSH.
55006
55007 2007-10-24  Jim Meyering  <meyering@redhat.com>
55008
55009         Avoid diagnostics from sha1sum when there is no cached checksum.
55010         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
55011         if the po.s1 file hasn't been created yet.
55012
55013         * build-aux/bootstrap: Sync from coreutils:
55014         2007-10-24  Jim Meyering  <meyering@redhat.com>
55015         Get gnulib from the git repository, not from an obsolete cvs one.
55016         * build-aux/bootstrap: Suggestion from Micah Cowan.
55017         2007-10-04  Jim Meyering  <jim@meyering.net>
55018         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
55019         (update_po_files): Work also when there are no .po files in po/.
55020
55021 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55022
55023         * README: Append ".git" to git and cg examples.
55024         Problem reported by Benoit Sigoure.
55025
55026 2007-10-23  Micah Cowan  <micah@cowan.name>
55027
55028         * users.txt: Add wget.
55029
55030 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55031
55032         Fix linking of some unistdio tests on FreeBSD.
55033         * modules/unistdio/u16-vsnprintf-tests
55034         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
55035         * modules/unistdio/u16-vsprintf-tests
55036         (test_u16_vsnprintf1_LDADD): Likewise.
55037         * modules/unistdio/u32-vsnprintf-tests
55038         (test_u32_vsnprintf1_LDADD): Likewise.
55039         * modules/unistdio/u32-vsprintf-tests
55040         (test_u32_vsprintf1_LDADD): Likewise.
55041         * modules/unistdio/u8-vsnprintf-tests
55042         (test_u8_vsnprintf1_LDADD): Likewise.
55043         * modules/unistdio/u8-vsprintf-tests
55044         (test_u8_vsprintf1_LDADD): Likewise.
55045         * modules/unistdio/ulc-vsnprintf-tests
55046         (test_ulc_vsnprintf1_LDADD): Likewise.
55047         * modules/unistdio/ulc-vsprintf-tests
55048         (test_ulc_vsprintf1_LDADD): Likewise.
55049
55050         Fix linking of some uniconv tests on FreeBSD.
55051         * modules/uniconv/u16-conv-from-enc-tests
55052         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
55053         * modules/uniconv/u16-conv-to-enc-tests
55054         (test_u16_conv_to_enc_LDADD): Likewise.
55055         * modules/uniconv/u16-strconv-from-enc-tests
55056         (test_u16_strconv_from_enc_LDADD): Likewise.
55057         * modules/uniconv/u16-strconv-to-enc-tests
55058         (test_u16_strconv_to_enc_LDADD): Likewise.
55059         * modules/uniconv/u32-conv-from-enc-tests
55060         (test_u32_conv_from_enc_LDADD): Likewise.
55061         * modules/uniconv/u32-conv-to-enc-tests
55062         (test_u32_conv_to_enc_LDADD): Likewise.
55063         * modules/uniconv/u32-strconv-from-enc-tests
55064         (test_u32_strconv_from_enc_LDADD): Likewise.
55065         * modules/uniconv/u32-strconv-to-enc-tests
55066         (test_u32_strconv_to_enc_LDADD): Likewise.
55067         * modules/uniconv/u8-conv-from-enc-tests
55068         (test_u8_conv_from_enc_LDADD): Likewise.
55069         * modules/uniconv/u8-conv-to-enc-tests
55070         (test_u8_conv_to_enc_LDADD): Likewise.
55071         * modules/uniconv/u8-strconv-from-enc-tests
55072         (test_u8_strconv_from_enc_LDADD): Likewise.
55073         * modules/uniconv/u8-strconv-to-enc-tests
55074         (test_u8_strconv_to_enc_LDADD): Likewise.
55075
55076 2007-10-22  Bruno Haible  <bruno@clisp.org>
55077
55078         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
55079         size.
55080
55081 2007-10-22  Eric Blake  <ebb9@byu.net>
55082
55083         Tweak x*printf documentation.
55084         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
55085         variable name and comments.
55086         Suggested by Bruno Haible.
55087
55088 2007-10-22  Bruno Haible  <bruno@clisp.org>
55089
55090         * lib/acl.c (copy_acl): Fix file name in comment.
55091
55092 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55093
55094         Fix Tru64 problem with stdbool.h.
55095         * lib/stdbool.in.h (false, true):
55096         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
55097         Don't declare as an enum in this situation; it runs afoul of Tru64.
55098         Problem reported by Steven M. Schweda in
55099         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
55100
55101 2007-10-22  Eric Blake  <ebb9@byu.net>
55102
55103         Also wrap vf?printf.
55104         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
55105         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
55106         (xvprintf, xvfprintf): New functions.
55107
55108 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55109
55110         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
55111         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
55112
55113         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
55114         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
55115
55116 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55117
55118         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
55119         by Bruno Haible.
55120
55121 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55122
55123         * lib/getloadavg.c
55124         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
55125         Undef `sys' after including sys/table.h, for Tru64 4.0D.
55126
55127         * tests/test-i-ring.c: Work for C89.
55128
55129 2007-10-22  Bruno Haible  <bruno@clisp.org>
55130
55131         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
55132         -1u, in preprocessor expression, so that we don't test for the bug
55133         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
55134         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
55135
55136 2007-10-22  Eric Blake  <ebb9@byu.net>
55137
55138         * tests/test-yesno.sh: Silence stderr during test.
55139
55140 2007-10-22  Simon Josefsson  <simon@josefsson.org>
55141
55142         * modules/crypto/gc-camellia: New file.
55143
55144         * m4/gc-camellia.m4: New file.
55145
55146         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
55147
55148         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
55149
55150 2007-10-22  Simon Josefsson  <simon@josefsson.org>
55151
55152         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
55153         --help to stdout.  Reported by sms@antinode.org (Steven
55154         M. Schweda).
55155
55156 2007-10-22  Simon Josefsson  <simon@josefsson.org>
55157
55158         * users.txt: Fix link to libksba.
55159
55160 2007-10-21  Ben Pfaff  <blp@gnu.org>
55161
55162         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
55163         round.c roundf implementation that depends on floorf and ceilf to
55164         be tested unconditionally.
55165
55166 2007-10-21  Ben Pfaff  <blp@gnu.org>
55167
55168         * m4/check-libm-func.m4: Removed.
55169         * m4/check-math-lib.m4: New file.
55170         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
55171         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
55172         definition and lack of AC_LIBOBJ([roundf]).
55173         * m4/roundl.m4: Ditto, and similarly for roundl.
55174         * modules/round: Reference new m4 file.
55175         * modules/roundf: Ditto.
55176         * modules/roundl: Ditto.
55177         * tests/test-round2.c (main): Use ROUND instead of round.
55178         Bug report from Bruno Haible.
55179
55180 2007-10-21  Bruno Haible  <bruno@clisp.org>
55181
55182         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
55183         context.
55184
55185 2007-10-21  Bruno Haible  <bruno@clisp.org>
55186
55187         * tests/test-wcwidth.c (main): Allow negative result for some control
55188         characters.
55189
55190         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
55191         Needed on OSF/1 5.1.
55192
55193 2007-10-21  Bruno Haible  <bruno@clisp.org>
55194
55195         * tests/test-floorf1.c: Include isnanf.h.
55196         (main): Use isnanf() instead of isnan().
55197         * tests/test-ceilf1.c: Include isnanf.h.
55198         (main): Use isnanf() instead of isnan().
55199         * tests/test-truncf1.c: Include isnanf.h.
55200         (main): Use isnanf() instead of isnan().
55201         * tests/test-roundf1.c: Include isnanf.h.
55202         (main): Use isnanf() instead of isnan().
55203
55204 2007-10-21  Eric Blake  <ebb9@byu.net>
55205
55206         * users.txt: Update URL for m4.
55207
55208 2007-10-21  Bruno Haible  <bruno@clisp.org>
55209
55210         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
55211
55212 2007-10-21  Bruno Haible  <bruno@clisp.org>
55213
55214         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
55215         Git's management files if the CVS files are not present.
55216
55217 2007-10-20  Bruno Haible  <bruno@clisp.org>
55218
55219         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
55220         gcc-3.4.x.
55221
55222 2007-10-20  Ben Pfaff  <blp@gnu.org>
55223
55224         * lib/math.in.h: Declare round, roundf, roundl if we are providing
55225         implementations.
55226         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
55227         * lib/round.c: New file.
55228         * lib/roundf.c: New file.
55229         * lib/roundl.c: New file.
55230         * m4/round.m4: New file.
55231         * m4/roundf.m4: New file.
55232         * m4/roundl.m4: New file.
55233         * m4/check-libm-func-m4: New file.
55234         * modules/math: Replace round, roundf, roundl related @VARS@ in
55235         math.in.h.
55236         * modules/round: New file.
55237         * modules/round-tests: New file.
55238         * modules/roundf: New file.
55239         * modules/roundf-tests: New file.
55240         * modules/roundl: New file.
55241         * modules/roundl-tests: New file.
55242         * tests/test-round1.c: New file.
55243         * tests/test-round2.c: New file.
55244         * tests/test-roundf1.c: New file.
55245         * tests/test-roundf2.c: New file.
55246         * tests/test-roundl.c: New file.
55247         * doc/functions/round.texi: Mention round module.
55248         * doc/functions/roundf.texi: Mention roundf module.
55249         * doc/functions/roundl.texi: Mention roundl module.
55250         * MODULES.html.sh: Mention new modules.
55251         Thanks to Bruno Haible for suggestions.
55252
55253 2007-10-20  Jim Meyering  <meyering@redhat.com>
55254
55255         * lib/xprintf.c: Include <config.h> unconditionally.
55256
55257         Change xprintf's license to GPL.
55258         * modules/xprintf (License): s/LGPL/GPL/, since this module
55259         depends on modules (exit and exitfail) which are GPL.
55260         Suggestion from Bruno Haible.
55261
55262         xprintf fixes.
55263         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
55264         Use a clearer diagnostic.
55265         Patch from Bruno Haible.
55266
55267 2007-10-20  Bruno Haible  <bruno@clisp.org>
55268
55269         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
55270         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
55271         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55272
55273 2007-10-20  Bruno Haible  <bruno@clisp.org>
55274
55275         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
55276         precision in the comparison result > x - 1 or similar.
55277         * tests/test-ceilf2.c (correct_result_p): Likewise.
55278         * tests/test-truncf2.c (correct_result_p): Likewise.
55279         * tests/test-trunc2.c (correct_result_p): Likewise.
55280         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55281
55282 2007-10-20  Bruno Haible  <bruno@clisp.org>
55283
55284         * modules/ceil: New file.
55285         * m4/ceil.m4: New file.
55286         * doc/functions/ceil.texi: Mention the 'ceil' module.
55287
55288 2007-10-20  Bruno Haible  <bruno@clisp.org>
55289
55290         * modules/floor: New file.
55291         * m4/floor.m4: New file.
55292         * doc/functions/floor.texi: Mention the 'floor' module.
55293
55294 2007-10-20  Bruno Haible  <bruno@clisp.org>
55295
55296         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
55297         of %a.
55298         * modules/floorf-tests (Depends-on): Likewise.
55299         * modules/truncf-tests (Depends-on): Likewise.
55300         * modules/trunc-tests (Depends-on): Likewise.
55301         Reported by Ben Pfaff.
55302
55303 2007-10-19  Jim Meyering  <meyering@redhat.com>
55304
55305         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
55306         Don't bother testing specific errno values.  Just test ferror.
55307
55308         New module: xprintf
55309         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
55310
55311 2007-10-19  Bruno Haible  <bruno@clisp.org>
55312
55313         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
55314         syntax.
55315         * modules/javaexec (Makefile.am): Likewise.
55316         * modules/relocatable-prog (Makefile.am): Likewise.
55317         Suggested by Jim Meyering.
55318
55319 2007-10-18  Bruno Haible  <bruno@clisp.org>
55320
55321         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
55322         Reported by Jim Meyering.
55323
55324 2007-10-18  Eric Blake  <ebb9@byu.net>
55325
55326         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
55327
55328 2007-10-18  Bruno Haible  <bruno@clisp.org>
55329
55330         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
55331         the format string into writable memory. Needed in Fortify conditions.
55332
55333 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
55334             Bruno Haible  <bruno@clisp.org>
55335
55336         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
55337         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
55338         * modules/trim (Depends-on): Add mbchar.
55339         (configure.ac): Add gl_FUNC_MBRTOWC.
55340         (Makefile.am): Augment lib_SOURCES.
55341
55342 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55343
55344         Modify glob.c to use fstatat and dirfd, to simplify it.
55345         Suggested by Eric Blake.
55346         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
55347         Don't include <stdbool.h>; not used.
55348         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
55349         (link_exists_p): Simplify implementation, since we can now assume
55350         dirfd and fstatat.
55351         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
55352
55353 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55354
55355         * gnulib-tool (func_get_dependencies): Fix sed script to
55356         match only tests.
55357
55358 2007-10-17  Bruno Haible  <bruno@clisp.org>
55359
55360         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
55361         allow locale names without encoding suffix.
55362         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55363         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55364
55365 2007-10-16  Bruno Haible  <bruno@clisp.org>
55366
55367         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
55368         * lib/getgroups.c (getgroups): Likewise.
55369         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
55370
55371 2007-10-16  Bruno Haible  <bruno@clisp.org>
55372
55373         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
55374         * modules/malloc-posix (License): Likewise.
55375         * modules/realloc-posix (License): Likewise.
55376         * modules/calloc-posix (License): Likewise.
55377         * modules/intprops (License): Change from GPL to LGPL, with
55378         Paul Eggert's approval.
55379
55380 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55381
55382         Merge glibc changes into lib/glob.c.
55383
55384         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
55385         2007-10-15 04:59:03 UTC.  Here are the changes:
55386
55387         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
55388
55389         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
55390
55391         * lib/glob.c: Add some branch prediction throughout.
55392
55393         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
55394
55395         [BZ #5103]
55396         * lib/glob.c (glob): Recognize patterns starting \/.
55397
55398         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
55399
55400         [BZ #3996]
55401         * lib/glob.c (attribute_hidden): Define if not defined.
55402         (glob): Unescape dirname, filename or username when needed and not
55403         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
55404         is NULL.  Handle unescaped [ in pattern without closing ].
55405         Don't pass GLOB_CHECK down to recursive glob for directories.
55406         (__glob_pattern_type): New function.
55407         (__glob_pattern_p): Implement using __glob_pattern_type.
55408         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
55409         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
55410         Remove unreachable code.
55411
55412         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
55413
55414         * lib/glob.c (glob_in_dir): Add some comments and asserts to
55415         explain why there are no leaks.
55416
55417         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
55418
55419         [BZ #3253]
55420         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
55421         time, rather allocate increasingly bigger arrays of pointers, if
55422         possible with alloca, if too large with malloc.
55423
55424 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55425
55426         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
55427         Problem reported by H.Merijn Brand in
55428         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
55429         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
55430         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
55431
55432 2007-10-15  Bruno Haible  <bruno@clisp.org>
55433
55434         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
55435         with explicit rpl_ prefix.
55436         * lib/fopen.c (fopen): Likewise.
55437         * lib/freopen.c (freopen): Likewise.
55438         * lib/iconv.c (iconv): Likewise.
55439         * lib/iconv_close.c (iconv_close): Likewise.
55440
55441 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55442
55443         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
55444
55445 2007-10-15  Bruno Haible  <bruno@clisp.org>
55446
55447         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
55448         <stddef.h> instead of <stdlib.h> since we only need NULL.
55449         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55450
55451 2007-10-15  Bruno Haible  <bruno@clisp.org>
55452
55453         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
55454         Replace paragraph talking about LIBOBJS.
55455         Reported by Colin Watson <cjwatson@debian.org>.
55456
55457 2007-10-15  Bruno Haible  <bruno@clisp.org>
55458
55459         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
55460         <stdlib.h> before using NULL.
55461
55462 2007-10-15  Simon Josefsson  <simon@josefsson.org>
55463
55464         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
55465         Reported by Albert Chin <china@thewrittenword.com>.
55466
55467 2007-10-14  Bruno Haible  <bruno@clisp.org>
55468
55469         * modules/iconv_open-utf-tests: New file.
55470         * tests/test-iconv-utf.c: New file.
55471
55472         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
55473         * modules/iconv_open-utf: New file.
55474         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
55475         (iconv, iconv_close): New declarations.
55476         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
55477         be defined.
55478         (iconv_open): Add special handling of conversion between UTF-8 and
55479         UTF-{16,32}{BE,LE}.
55480         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
55481         * lib/iconv_close.c: New file.
55482         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
55483         gl_FUNC_ICONV_OPEN.
55484         (gl_FUNC_ICONV_OPEN): Use it.
55485         (gl_FUNC_ICONV_OPEN_UTF): New macro.
55486         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
55487         and REPLACE_ICONV_UTF.
55488         * modules/iconv_open (Depends-on): Add c-strcase.
55489         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
55490         ICONV_CONST.
55491         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
55492
55493 2007-10-13  Albert Chin  <china@thewrittenword.com>
55494             Bruno Haible  <bruno@clisp.org>
55495
55496         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
55497         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
55498
55499 2007-10-13  Bruno Haible  <bruno@clisp.org>
55500
55501         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
55502         defined, use the ISO C99 inline semantics.
55503         * lib/argp.h (ARGP_EI): Likewise.
55504
55505 2007-10-13  Bruno Haible  <bruno@clisp.org>
55506
55507         Handle 'inline' change in gcc 4.3.0.
55508         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
55509         argp_fmtstream_write, argp_fmtstream_set_lmargin,
55510         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
55511         argp_fmtstream_point): Disable 'extern' declaration if the function
55512         definition is going to be provided inline.
55513         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
55514         semantics, not the ISO C99 inline semantics.
55515         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
55516         'extern' declaration if the function definition is going to be provided
55517         inline.
55518         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
55519         the GNU C inline semantics, not the ISO C99 inline semantics. With
55520         GCC 4.2, avoid a warning.
55521
55522 2007-10-13  Bruno Haible  <bruno@clisp.org>
55523
55524         * lib/freading.h (freading): Enable the use of __freading for
55525         glibc >= 2.7.
55526         * lib/freading.c (freading): Likewise.
55527
55528 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55529
55530         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
55531         "warning: C99 inline functions are not supported; using GNU89".
55532
55533 2007-10-12  Bruno Haible  <bruno@clisp.org>
55534
55535         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
55536         of 2.
55537         * tests/test-ceilf2.c: New file.
55538         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
55539
55540         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
55541         * modules/ceilf-tests: Update.
55542
55543 2007-10-12  Bruno Haible  <bruno@clisp.org>
55544
55545         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
55546         of 2.
55547         * tests/test-floorf2.c: New file.
55548         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
55549
55550         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
55551         * modules/floorf-tests: Update.
55552
55553 2007-10-12  Bruno Haible  <bruno@clisp.org>
55554
55555         * tests/test-trunc2.c: New file.
55556         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
55557
55558         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
55559         * modules/trunc-tests: Update.
55560
55561 2007-10-12  Bruno Haible  <bruno@clisp.org>
55562
55563         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
55564         of 2.
55565         * tests/test-truncf2.c: New file.
55566         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
55567
55568         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
55569         * modules/truncf-tests: Update.
55570
55571 2007-10-11  Eric Blake  <ebb9@byu.net>
55572
55573         Don't claim strerror is broken on Interix.
55574         * doc/functions/strerror.texi (strerror): Known broken systems are
55575         now Solaris 8, and not Interix.
55576         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
55577         Interix on cross-compile.
55578         Reported by Martin Koeppe in
55579         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
55580
55581 2007-10-11  Bruno Haible  <bruno@clisp.org>
55582
55583         * modules/i-ring-tests: New file.
55584         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
55585         instead of assert.
55586
55587 2007-10-11  Bruno Haible  <bruno@clisp.org>
55588
55589         * modules/filenamecat-tests: New file.
55590         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
55591         * lib/filenamecat.c: Remove test code.
55592
55593 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55594
55595         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
55596
55597         * lib/strerror.c: Include <string.h> always, to test interface,
55598         and to remove the need for the dummy.
55599         Include intprops.h to compute width instead of doing it ourselves
55600         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
55601         (strerror): Define it to return NULL if there's no system strerror.
55602         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
55603         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
55604         ancient pre-strerror Unix systems well any more.  Saying "unknown
55605         system error" is enough.
55606         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
55607         simpler strerror.c implementation.
55608         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
55609         Simplify the tests to reflect the simpler strerror implementation.
55610         * modules/strerror (Depends-on): Add intprops.
55611
55612 2007-10-09  Eric Blake  <ebb9@byu.net>
55613
55614         Silence test-fpending.
55615         * modules/fpending-tests (Files): Add wrapper script.
55616         * tests/test-fpending.sh: New file.
55617
55618 2007-10-09  Bruno Haible  <bruno@clisp.org>
55619
55620         * MODULES.html.sh (func_module): Don't create a hyperlink for
55621         function names like 'printf_frexp'.
55622         (Misc): Add crc, memxor.
55623         (Characteristics of floating types): New section.
55624         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
55625         isnanf-nolibm, signbit, trunc, truncf, truncl.
55626         (Enhancements for ISO C 99 functions): New subsection Input/output.
55627         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
55628         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
55629         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
55630         (Compatibility checks for POSIX:2001 functions): Add clock-time.
55631         (Enhancements for POSIX:2001 functions): Add chdir-long.
55632         (File system functions): Add areadlink, chdir-safer, read-file.
55633         Remove cycle-check.
55634         (File system as inode set): New section.
55635         (Date and time): Add gethrxtime.
55636         (Multithreading): Add openmp.
55637         (Internationalization functions): Add localename.
55638         (Unicode string functions): Add unistr/u*-mbsnlen.
55639         (Support for maintaining and releasing projects): Add git-version-gen.
55640         (Lone files): Remove directories.
55641
55642 2007-10-08  Ben Pfaff  <blp@gnu.org>
55643
55644         * lib/xmalloca.h: Fix typo in comment.
55645
55646 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55647
55648         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
55649         when avoiding problems with integer overflow.  Use a portable test
55650         instead.
55651
55652 2007-10-08  Simon Josefsson  <simon@josefsson.org>
55653
55654         * modules/dummy (License): Change to LGPLv2+.
55655         * modules/float (License): Likewise
55656         * modules/realloc (License): Likewise
55657         * modules/stdlib (License): Likewise
55658
55659 2007-10-07  Bruno Haible  <bruno@clisp.org>
55660
55661         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
55662         * floor.c (TWO_MANT_DIG): Likewise.
55663         * ceil.c (TWO_MANT_DIG): Likewise.
55664         Reported by Ben Pfaff.
55665
55666 2007-10-07  Bruno Haible  <bruno@clisp.org>
55667
55668         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
55669         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
55670         * lib/frexp.c (FUNC): Likewise.
55671         * lib/printf-frexp.h (printf_frexp): Likewise.
55672         * lib/printf-frexpl.h (printf_frexpl): Likewise.
55673         * lib/printf-frexp.c (FUNC): Likewise.
55674         Suggested by Jim Meyering.
55675
55676 2007-10-07  Jim Meyering  <meyering@redhat.com>
55677
55678         Make xnanosleep's integer overflow test more robust.
55679         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
55680         so that gcc-4.3.0 doesn't optimize away this test for overflow.
55681
55682 2007-10-07  Bruno Haible  <bruno@clisp.org>
55683
55684         * NEWS: Mention the license change.
55685
55686         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
55687         abbreviations in the modules files.
55688
55689         Change copyright notice from GPLv2+ to GPLv3+.
55690         * README: Change copyright notice.
55691         * MODULES.html.sh: Likewise.
55692         * build-aux/bootstrap.conf: Likewise.
55693         * build-aux/config.libpath: Likewise.
55694         * build-aux/csharpcomp.sh.in: Likewise.
55695         * build-aux/csharpexec.sh.in: Likewise.
55696         * build-aux/install-reloc: Likewise.
55697         * build-aux/javacomp.sh.in: Likewise.
55698         * build-aux/javaexec.sh.in: Likewise.
55699         * build-aux/ldd.sh.in: Likewise.
55700         * build-aux/reloc-ldflags: Likewise.
55701         * build-aux/relocatable.sh.in: Likewise.
55702         * build-aux/x-to-1.in: Likewise.
55703         * check-module: Likewise.
55704         * config/srclistvars.sh: Likewise.
55705         * gnulib-tool: Likewise.
55706         * lib/acl-internal.h: Likewise.
55707         * lib/acl.c: Likewise.
55708         * lib/acl.h: Likewise.
55709         * lib/acl_entries.c: Likewise.
55710         * lib/areadlink-with-size.c: Likewise.
55711         * lib/areadlink.c: Likewise.
55712         * lib/areadlink.h: Likewise.
55713         * lib/argmatch.c: Likewise.
55714         * lib/argmatch.h: Likewise.
55715         * lib/argp-ba.c: Likewise.
55716         * lib/argp-eexst.c: Likewise.
55717         * lib/argp-fmtstream.c: Likewise.
55718         * lib/argp-fmtstream.h: Likewise.
55719         * lib/argp-fs-xinl.c: Likewise.
55720         * lib/argp-help.c: Likewise.
55721         * lib/argp-namefrob.h: Likewise.
55722         * lib/argp-parse.c: Likewise.
55723         * lib/argp-pin.c: Likewise.
55724         * lib/argp-pv.c: Likewise.
55725         * lib/argp-pvh.c: Likewise.
55726         * lib/argp-xinl.c: Likewise.
55727         * lib/argp.h: Likewise.
55728         * lib/at-func.c: Likewise.
55729         * lib/atanl.c: Likewise.
55730         * lib/backupfile.c: Likewise.
55731         * lib/backupfile.h: Likewise.
55732         * lib/basename.c: Likewise.
55733         * lib/binary-io.h: Likewise.
55734         * lib/byteswap.in.h: Likewise.
55735         * lib/c-stack.c: Likewise.
55736         * lib/c-stack.h: Likewise.
55737         * lib/c-strcasestr.c: Likewise.
55738         * lib/c-strcasestr.h: Likewise.
55739         * lib/c-strstr.c: Likewise.
55740         * lib/c-strstr.h: Likewise.
55741         * lib/c-strtod.c: Likewise.
55742         * lib/calloc.c: Likewise.
55743         * lib/canon-host.c: Likewise.
55744         * lib/canon-host.h: Likewise.
55745         * lib/canonicalize-lgpl.c: Likewise.
55746         * lib/canonicalize.c: Likewise.
55747         * lib/canonicalize.h: Likewise.
55748         * lib/ceil.c: Likewise.
55749         * lib/ceilf.c: Likewise.
55750         * lib/ceill.c: Likewise.
55751         * lib/chdir-long.c: Likewise.
55752         * lib/chdir-long.h: Likewise.
55753         * lib/chdir-safer.c: Likewise.
55754         * lib/chdir-safer.h: Likewise.
55755         * lib/chown.c: Likewise.
55756         * lib/classpath.c: Likewise.
55757         * lib/classpath.h: Likewise.
55758         * lib/clean-temp.c: Likewise.
55759         * lib/clean-temp.h: Likewise.
55760         * lib/cloexec.c: Likewise.
55761         * lib/close-stream.c: Likewise.
55762         * lib/closein.c: Likewise.
55763         * lib/closein.h: Likewise.
55764         * lib/closeout.c: Likewise.
55765         * lib/closeout.h: Likewise.
55766         * lib/concat-filename.c: Likewise.
55767         * lib/copy-file.c: Likewise.
55768         * lib/copy-file.h: Likewise.
55769         * lib/count-one-bits.h: Likewise.
55770         * lib/crc.c: Likewise.
55771         * lib/crc.h: Likewise.
55772         * lib/creat-safer.c: Likewise.
55773         * lib/csharpcomp.c: Likewise.
55774         * lib/csharpcomp.h: Likewise.
55775         * lib/csharpexec.c: Likewise.
55776         * lib/csharpexec.h: Likewise.
55777         * lib/cycle-check.c: Likewise.
55778         * lib/cycle-check.h: Likewise.
55779         * lib/diacrit.c: Likewise.
55780         * lib/diacrit.h: Likewise.
55781         * lib/diffseq.h: Likewise.
55782         * lib/dirchownmod.c: Likewise.
55783         * lib/dirent.in.h: Likewise.
55784         * lib/dirfd.c: Likewise.
55785         * lib/dirfd.h: Likewise.
55786         * lib/dirname.c: Likewise.
55787         * lib/dirname.h: Likewise.
55788         * lib/dummy.c: Likewise.
55789         * lib/dup-safer.c: Likewise.
55790         * lib/dup2.c: Likewise.
55791         * lib/eealloc.h: Likewise.
55792         * lib/error.c: Likewise.
55793         * lib/error.h: Likewise.
55794         * lib/euidaccess.c: Likewise.
55795         * lib/exclude.c: Likewise.
55796         * lib/exclude.h: Likewise.
55797         * lib/execute.c: Likewise.
55798         * lib/execute.h: Likewise.
55799         * lib/exitfail.c: Likewise.
55800         * lib/exitfail.h: Likewise.
55801         * lib/expl.c: Likewise.
55802         * lib/fatal-signal.c: Likewise.
55803         * lib/fatal-signal.h: Likewise.
55804         * lib/fbufmode.c: Likewise.
55805         * lib/fbufmode.h: Likewise.
55806         * lib/fchdir.c: Likewise.
55807         * lib/fchmodat.c: Likewise.
55808         * lib/fchownat.c: Likewise.
55809         * lib/fcntl--.h: Likewise.
55810         * lib/fcntl-safer.h: Likewise.
55811         * lib/fcntl.in.h: Likewise.
55812         * lib/fd-safer.c: Likewise.
55813         * lib/fflush.c: Likewise.
55814         * lib/file-has-acl.c: Likewise.
55815         * lib/file-set.c: Likewise.
55816         * lib/file-type.c: Likewise.
55817         * lib/file-type.h: Likewise.
55818         * lib/fileblocks.c: Likewise.
55819         * lib/filemode.c: Likewise.
55820         * lib/filemode.h: Likewise.
55821         * lib/filename.h: Likewise.
55822         * lib/filenamecat.c: Likewise.
55823         * lib/filenamecat.h: Likewise.
55824         * lib/findprog.c: Likewise.
55825         * lib/findprog.h: Likewise.
55826         * lib/float.in.h: Likewise.
55827         * lib/floor.c: Likewise.
55828         * lib/floorf.c: Likewise.
55829         * lib/floorl.c: Likewise.
55830         * lib/fopen-safer.c: Likewise.
55831         * lib/fopen.c: Likewise.
55832         * lib/fpending.c: Likewise.
55833         * lib/fpending.h: Likewise.
55834         * lib/fprintf.c: Likewise.
55835         * lib/fprintftime.h: Likewise.
55836         * lib/fpucw.h: Likewise.
55837         * lib/fpurge.c: Likewise.
55838         * lib/fpurge.h: Likewise.
55839         * lib/freadable.c: Likewise.
55840         * lib/freadable.h: Likewise.
55841         * lib/freadahead.c: Likewise.
55842         * lib/freadahead.h: Likewise.
55843         * lib/freading.c: Likewise.
55844         * lib/freading.h: Likewise.
55845         * lib/free.c: Likewise.
55846         * lib/freopen.c: Likewise.
55847         * lib/frexp.c: Likewise.
55848         * lib/frexpl.c: Likewise.
55849         * lib/fseek.c: Likewise.
55850         * lib/fseterr.c: Likewise.
55851         * lib/fseterr.h: Likewise.
55852         * lib/fstatat.c: Likewise.
55853         * lib/fstrcmp.c: Likewise.
55854         * lib/fstrcmp.h: Likewise.
55855         * lib/fsusage.c: Likewise.
55856         * lib/fsusage.h: Likewise.
55857         * lib/ftell.c: Likewise.
55858         * lib/ftello.c: Likewise.
55859         * lib/fts-cycle.c: Likewise.
55860         * lib/fts.c: Likewise.
55861         * lib/fts_.h: Likewise.
55862         * lib/full-read.c: Likewise.
55863         * lib/full-read.h: Likewise.
55864         * lib/full-write.c: Likewise.
55865         * lib/full-write.h: Likewise.
55866         * lib/fwritable.c: Likewise.
55867         * lib/fwritable.h: Likewise.
55868         * lib/fwriteerror.c: Likewise.
55869         * lib/fwriteerror.h: Likewise.
55870         * lib/fwriting.c: Likewise.
55871         * lib/fwriting.h: Likewise.
55872         * lib/gcd.c: Likewise.
55873         * lib/gcd.h: Likewise.
55874         * lib/getcwd.c: Likewise.
55875         * lib/getdate.h: Likewise.
55876         * lib/getdate.y: Likewise.
55877         * lib/getdomainname.c: Likewise.
55878         * lib/getdomainname.h: Likewise.
55879         * lib/getgroups.c: Likewise.
55880         * lib/gethostname.c: Likewise.
55881         * lib/gethrxtime.c: Likewise.
55882         * lib/gethrxtime.h: Likewise.
55883         * lib/getloadavg.c: Likewise.
55884         * lib/getndelim2.c: Likewise.
55885         * lib/getndelim2.h: Likewise.
55886         * lib/getnline.c: Likewise.
55887         * lib/getnline.h: Likewise.
55888         * lib/getopt.c: Likewise.
55889         * lib/getopt.in.h: Likewise.
55890         * lib/getopt1.c: Likewise.
55891         * lib/getopt_int.h: Likewise.
55892         * lib/getpagesize.h: Likewise.
55893         * lib/getsubopt.c: Likewise.
55894         * lib/gettime.c: Likewise.
55895         * lib/getugroups.c: Likewise.
55896         * lib/getugroups.h: Likewise.
55897         * lib/getusershell.c: Likewise.
55898         * lib/gl_anyavltree_list1.h: Likewise.
55899         * lib/gl_anyavltree_list2.h: Likewise.
55900         * lib/gl_anyhash_list1.h: Likewise.
55901         * lib/gl_anyhash_list2.h: Likewise.
55902         * lib/gl_anylinked_list1.h: Likewise.
55903         * lib/gl_anylinked_list2.h: Likewise.
55904         * lib/gl_anyrbtree_list1.h: Likewise.
55905         * lib/gl_anyrbtree_list2.h: Likewise.
55906         * lib/gl_anytree_list1.h: Likewise.
55907         * lib/gl_anytree_list2.h: Likewise.
55908         * lib/gl_anytree_oset.h: Likewise.
55909         * lib/gl_anytreehash_list1.h: Likewise.
55910         * lib/gl_anytreehash_list2.h: Likewise.
55911         * lib/gl_array_list.c: Likewise.
55912         * lib/gl_array_list.h: Likewise.
55913         * lib/gl_array_oset.c: Likewise.
55914         * lib/gl_array_oset.h: Likewise.
55915         * lib/gl_avltree_list.c: Likewise.
55916         * lib/gl_avltree_list.h: Likewise.
55917         * lib/gl_avltree_oset.c: Likewise.
55918         * lib/gl_avltree_oset.h: Likewise.
55919         * lib/gl_avltreehash_list.c: Likewise.
55920         * lib/gl_avltreehash_list.h: Likewise.
55921         * lib/gl_carray_list.c: Likewise.
55922         * lib/gl_carray_list.h: Likewise.
55923         * lib/gl_linked_list.c: Likewise.
55924         * lib/gl_linked_list.h: Likewise.
55925         * lib/gl_linkedhash_list.c: Likewise.
55926         * lib/gl_linkedhash_list.h: Likewise.
55927         * lib/gl_list.c: Likewise.
55928         * lib/gl_list.h: Likewise.
55929         * lib/gl_oset.c: Likewise.
55930         * lib/gl_oset.h: Likewise.
55931         * lib/gl_rbtree_list.c: Likewise.
55932         * lib/gl_rbtree_list.h: Likewise.
55933         * lib/gl_rbtree_oset.c: Likewise.
55934         * lib/gl_rbtree_oset.h: Likewise.
55935         * lib/gl_rbtreehash_list.c: Likewise.
55936         * lib/gl_rbtreehash_list.h: Likewise.
55937         * lib/gl_sublist.c: Likewise.
55938         * lib/gl_sublist.h: Likewise.
55939         * lib/group-member.c: Likewise.
55940         * lib/group-member.h: Likewise.
55941         * lib/hard-locale.c: Likewise.
55942         * lib/hard-locale.h: Likewise.
55943         * lib/hash-pjw.c: Likewise.
55944         * lib/hash-pjw.h: Likewise.
55945         * lib/hash-triple.c: Likewise.
55946         * lib/hash.c: Likewise.
55947         * lib/hash.h: Likewise.
55948         * lib/human.c: Likewise.
55949         * lib/human.h: Likewise.
55950         * lib/i-ring.c: Likewise.
55951         * lib/i-ring.h: Likewise.
55952         * lib/idcache.c: Likewise.
55953         * lib/imaxabs.c: Likewise.
55954         * lib/imaxdiv.c: Likewise.
55955         * lib/inet_pton.c: Likewise.
55956         * lib/inet_pton.h: Likewise.
55957         * lib/intprops.h: Likewise.
55958         * lib/inttostr.c: Likewise.
55959         * lib/inttostr.h: Likewise.
55960         * lib/inttypes.in.h: Likewise.
55961         * lib/isapipe.c: Likewise.
55962         * lib/isdir.c: Likewise.
55963         * lib/isnan.c: Likewise.
55964         * lib/isnan.h: Likewise.
55965         * lib/isnanf.c: Likewise.
55966         * lib/isnanf.h: Likewise.
55967         * lib/isnanl-nolibm.h: Likewise.
55968         * lib/isnanl.c: Likewise.
55969         * lib/isnanl.h: Likewise.
55970         * lib/javacomp.c: Likewise.
55971         * lib/javacomp.h: Likewise.
55972         * lib/javaexec.c: Likewise.
55973         * lib/javaexec.h: Likewise.
55974         * lib/javaversion.c: Likewise.
55975         * lib/javaversion.h: Likewise.
55976         * lib/javaversion.java: Likewise.
55977         * lib/lbrkprop.h: Likewise.
55978         * lib/lchmod.h: Likewise.
55979         * lib/lchown.c: Likewise.
55980         * lib/ldexpl.c: Likewise.
55981         * lib/linebreak.c: Likewise.
55982         * lib/linebreak.h: Likewise.
55983         * lib/linebuffer.c: Likewise.
55984         * lib/linebuffer.h: Likewise.
55985         * lib/locale.in.h: Likewise.
55986         * lib/logl.c: Likewise.
55987         * lib/long-options.c: Likewise.
55988         * lib/long-options.h: Likewise.
55989         * lib/lstat.c: Likewise.
55990         * lib/lstat.h: Likewise.
55991         * lib/math.in.h: Likewise.
55992         * lib/mbchar.c: Likewise.
55993         * lib/mbchar.h: Likewise.
55994         * lib/mbfile.h: Likewise.
55995         * lib/mbiter.h: Likewise.
55996         * lib/mbscasecmp.c: Likewise.
55997         * lib/mbscasestr.c: Likewise.
55998         * lib/mbschr.c: Likewise.
55999         * lib/mbscspn.c: Likewise.
56000         * lib/mbslen.c: Likewise.
56001         * lib/mbsncasecmp.c: Likewise.
56002         * lib/mbsnlen.c: Likewise.
56003         * lib/mbspbrk.c: Likewise.
56004         * lib/mbspcasecmp.c: Likewise.
56005         * lib/mbsrchr.c: Likewise.
56006         * lib/mbssep.c: Likewise.
56007         * lib/mbsspn.c: Likewise.
56008         * lib/mbsstr.c: Likewise.
56009         * lib/mbstok_r.c: Likewise.
56010         * lib/mbswidth.c: Likewise.
56011         * lib/mbswidth.h: Likewise.
56012         * lib/mbuiter.h: Likewise.
56013         * lib/memcasecmp.c: Likewise.
56014         * lib/memcasecmp.h: Likewise.
56015         * lib/memchr.c: Likewise.
56016         * lib/memcmp.c: Likewise.
56017         * lib/memcoll.c: Likewise.
56018         * lib/memcoll.h: Likewise.
56019         * lib/memcpy.c: Likewise.
56020         * lib/memrchr.c: Likewise.
56021         * lib/mkancesdirs.c: Likewise.
56022         * lib/mkdir-p.c: Likewise.
56023         * lib/mkdir-p.h: Likewise.
56024         * lib/mkdir.c: Likewise.
56025         * lib/mkdirat.c: Likewise.
56026         * lib/mkdtemp.c: Likewise.
56027         * lib/mkstemp-safer.c: Likewise.
56028         * lib/mkstemp.c: Likewise.
56029         * lib/modechange.c: Likewise.
56030         * lib/modechange.h: Likewise.
56031         * lib/mountlist.c: Likewise.
56032         * lib/mountlist.h: Likewise.
56033         * lib/mpsort.c: Likewise.
56034         * lib/nanosleep.c: Likewise.
56035         * lib/obstack.c: Likewise.
56036         * lib/obstack.h: Likewise.
56037         * lib/open-safer.c: Likewise.
56038         * lib/open.c: Likewise.
56039         * lib/openat-die.c: Likewise.
56040         * lib/openat-priv.h: Likewise.
56041         * lib/openat-proc.c: Likewise.
56042         * lib/openat.c: Likewise.
56043         * lib/openat.h: Likewise.
56044         * lib/pagealign_alloc.c: Likewise.
56045         * lib/pagealign_alloc.h: Likewise.
56046         * lib/physmem.c: Likewise.
56047         * lib/physmem.h: Likewise.
56048         * lib/pipe-safer.c: Likewise.
56049         * lib/pipe.c: Likewise.
56050         * lib/pipe.h: Likewise.
56051         * lib/posixtm.c: Likewise.
56052         * lib/posixtm.h: Likewise.
56053         * lib/posixver.c: Likewise.
56054         * lib/printf-frexp.c: Likewise.
56055         * lib/printf-frexp.h: Likewise.
56056         * lib/printf-frexpl.c: Likewise.
56057         * lib/printf-frexpl.h: Likewise.
56058         * lib/printf.c: Likewise.
56059         * lib/progname.c: Likewise.
56060         * lib/progname.h: Likewise.
56061         * lib/progreloc.c: Likewise.
56062         * lib/putenv.c: Likewise.
56063         * lib/quote.c: Likewise.
56064         * lib/quote.h: Likewise.
56065         * lib/quotearg.c: Likewise.
56066         * lib/quotearg.h: Likewise.
56067         * lib/raise.c: Likewise.
56068         * lib/readline.c: Likewise.
56069         * lib/readline.h: Likewise.
56070         * lib/readlink.c: Likewise.
56071         * lib/readtokens.c: Likewise.
56072         * lib/readtokens.h: Likewise.
56073         * lib/readtokens0.c: Likewise.
56074         * lib/readtokens0.h: Likewise.
56075         * lib/readutmp.c: Likewise.
56076         * lib/readutmp.h: Likewise.
56077         * lib/realloc.c: Likewise.
56078         * lib/relocwrapper.c: Likewise.
56079         * lib/rename-dest-slash.c: Likewise.
56080         * lib/rename.c: Likewise.
56081         * lib/rmdir.c: Likewise.
56082         * lib/rpmatch.c: Likewise.
56083         * lib/safe-read.c: Likewise.
56084         * lib/safe-read.h: Likewise.
56085         * lib/safe-write.c: Likewise.
56086         * lib/safe-write.h: Likewise.
56087         * lib/same-inode.h: Likewise.
56088         * lib/same.c: Likewise.
56089         * lib/same.h: Likewise.
56090         * lib/save-cwd.c: Likewise.
56091         * lib/save-cwd.h: Likewise.
56092         * lib/savedir.c: Likewise.
56093         * lib/savedir.h: Likewise.
56094         * lib/savewd.c: Likewise.
56095         * lib/savewd.h: Likewise.
56096         * lib/search.in.h: Likewise.
56097         * lib/setenv.c: Likewise.
56098         * lib/setenv.h: Likewise.
56099         * lib/settime.c: Likewise.
56100         * lib/sh-quote.c: Likewise.
56101         * lib/sh-quote.h: Likewise.
56102         * lib/sig2str.c: Likewise.
56103         * lib/sig2str.h: Likewise.
56104         * lib/signal.in.h: Likewise.
56105         * lib/signbitd.c: Likewise.
56106         * lib/signbitf.c: Likewise.
56107         * lib/signbitl.c: Likewise.
56108         * lib/sigprocmask.c: Likewise.
56109         * lib/sincosl.c: Likewise.
56110         * lib/sleep.c: Likewise.
56111         * lib/sprintf.c: Likewise.
56112         * lib/sqrtl.c: Likewise.
56113         * lib/stat-time.h: Likewise.
56114         * lib/stdio--.h: Likewise.
56115         * lib/stdio-safer.h: Likewise.
56116         * lib/stdlib--.h: Likewise.
56117         * lib/stdlib-safer.h: Likewise.
56118         * lib/stdlib.in.h: Likewise.
56119         * lib/stpcpy.c: Likewise.
56120         * lib/stpncpy.c: Likewise.
56121         * lib/strchrnul.c: Likewise.
56122         * lib/strcspn.c: Likewise.
56123         * lib/strerror.c: Likewise.
56124         * lib/strftime.c: Likewise.
56125         * lib/strftime.h: Likewise.
56126         * lib/striconveh.c: Likewise.
56127         * lib/striconveh.h: Likewise.
56128         * lib/striconveha.c: Likewise.
56129         * lib/striconveha.h: Likewise.
56130         * lib/stripslash.c: Likewise.
56131         * lib/strnlen1.c: Likewise.
56132         * lib/strnlen1.h: Likewise.
56133         * lib/strtod.c: Likewise.
56134         * lib/strtoimax.c: Likewise.
56135         * lib/strtok_r.c: Likewise.
56136         * lib/strtol.c: Likewise.
56137         * lib/strtoll.c: Likewise.
56138         * lib/strtoul.c: Likewise.
56139         * lib/strtoull.c: Likewise.
56140         * lib/sysexits.in.h: Likewise.
56141         * lib/tempname.c: Likewise.
56142         * lib/tempname.h: Likewise.
56143         * lib/timespec.h: Likewise.
56144         * lib/tls.c: Likewise.
56145         * lib/tls.h: Likewise.
56146         * lib/tmpdir.c: Likewise.
56147         * lib/tmpdir.h: Likewise.
56148         * lib/tmpfile-safer.c: Likewise.
56149         * lib/tmpfile.c: Likewise.
56150         * lib/trigl.c: Likewise.
56151         * lib/trigl.h: Likewise.
56152         * lib/trim.c: Likewise.
56153         * lib/trim.h: Likewise.
56154         * lib/trunc.c: Likewise.
56155         * lib/truncf.c: Likewise.
56156         * lib/truncl.c: Likewise.
56157         * lib/tsearch.c: Likewise.
56158         * lib/unicodeio.c: Likewise.
56159         * lib/unicodeio.h: Likewise.
56160         * lib/unistd--.h: Likewise.
56161         * lib/unistd-safer.h: Likewise.
56162         * lib/unistdio/ulc-fprintf.c: Likewise.
56163         * lib/unistdio/ulc-vfprintf.c: Likewise.
56164         * lib/unlinkdir.c: Likewise.
56165         * lib/unlinkdir.h: Likewise.
56166         * lib/unlocked-io.h: Likewise.
56167         * lib/unsetenv.c: Likewise.
56168         * lib/userspec.c: Likewise.
56169         * lib/utime.c: Likewise.
56170         * lib/utimecmp.c: Likewise.
56171         * lib/utimecmp.h: Likewise.
56172         * lib/utimens.c: Likewise.
56173         * lib/verify.h: Likewise.
56174         * lib/verror.c: Likewise.
56175         * lib/verror.h: Likewise.
56176         * lib/version-etc-fsf.c: Likewise.
56177         * lib/version-etc.c: Likewise.
56178         * lib/version-etc.h: Likewise.
56179         * lib/vfprintf.c: Likewise.
56180         * lib/vprintf.c: Likewise.
56181         * lib/vsprintf.c: Likewise.
56182         * lib/w32spawn.h: Likewise.
56183         * lib/wait-process.c: Likewise.
56184         * lib/wait-process.h: Likewise.
56185         * lib/wcwidth.c: Likewise.
56186         * lib/write-any-file.c: Likewise.
56187         * lib/xalloc-die.c: Likewise.
56188         * lib/xalloc.h: Likewise.
56189         * lib/xasprintf.c: Likewise.
56190         * lib/xgetcwd.c: Likewise.
56191         * lib/xgetcwd.h: Likewise.
56192         * lib/xgetdomainname.c: Likewise.
56193         * lib/xgetdomainname.h: Likewise.
56194         * lib/xgethostname.c: Likewise.
56195         * lib/xmalloc.c: Likewise.
56196         * lib/xmalloca.c: Likewise.
56197         * lib/xmalloca.h: Likewise.
56198         * lib/xmemcoll.c: Likewise.
56199         * lib/xnanosleep.c: Likewise.
56200         * lib/xreadlink.c: Likewise.
56201         * lib/xreadlink.h: Likewise.
56202         * lib/xsetenv.c: Likewise.
56203         * lib/xsetenv.h: Likewise.
56204         * lib/xstriconv.c: Likewise.
56205         * lib/xstriconv.h: Likewise.
56206         * lib/xstrndup.c: Likewise.
56207         * lib/xstrndup.h: Likewise.
56208         * lib/xstrtod.c: Likewise.
56209         * lib/xstrtod.h: Likewise.
56210         * lib/xstrtol-error.c: Likewise.
56211         * lib/xstrtol.c: Likewise.
56212         * lib/xstrtol.h: Likewise.
56213         * lib/xtime.h: Likewise.
56214         * lib/xvasprintf.c: Likewise.
56215         * lib/xvasprintf.h: Likewise.
56216         * lib/yesno.c: Likewise.
56217         * lib/yesno.h: Likewise.
56218         * posix-modules: Likewise.
56219         * tests/test-alloca-opt.c: Likewise.
56220         * tests/test-arcfour.c: Likewise.
56221         * tests/test-arctwo.c: Likewise.
56222         * tests/test-argmatch.c: Likewise.
56223         * tests/test-argp-2.sh: Likewise.
56224         * tests/test-argp.c: Likewise.
56225         * tests/test-arpa_inet.c: Likewise.
56226         * tests/test-array_list.c: Likewise.
56227         * tests/test-array_oset.c: Likewise.
56228         * tests/test-atexit.c: Likewise.
56229         * tests/test-avltree_list.c: Likewise.
56230         * tests/test-avltree_oset.c: Likewise.
56231         * tests/test-avltreehash_list.c: Likewise.
56232         * tests/test-base64.c: Likewise.
56233         * tests/test-binary-io.c: Likewise.
56234         * tests/test-byteswap.c: Likewise.
56235         * tests/test-c-ctype.c: Likewise.
56236         * tests/test-c-strcasecmp.c: Likewise.
56237         * tests/test-c-strcasestr.c: Likewise.
56238         * tests/test-c-strncasecmp.c: Likewise.
56239         * tests/test-c-strstr.c: Likewise.
56240         * tests/test-canonicalize-lgpl.c: Likewise.
56241         * tests/test-canonicalize.c: Likewise.
56242         * tests/test-carray_list.c: Likewise.
56243         * tests/test-ceilf.c: Likewise.
56244         * tests/test-ceill.c: Likewise.
56245         * tests/test-count-one-bits.c: Likewise.
56246         * tests/test-crc.c: Likewise.
56247         * tests/test-dirname.c: Likewise.
56248         * tests/test-fbufmode.c: Likewise.
56249         * tests/test-fcntl.c: Likewise.
56250         * tests/test-fflush.c: Likewise.
56251         * tests/test-floorf.c: Likewise.
56252         * tests/test-floorl.c: Likewise.
56253         * tests/test-fopen.c: Likewise.
56254         * tests/test-fprintf-posix.c: Likewise.
56255         * tests/test-fprintf-posix.h: Likewise.
56256         * tests/test-fpurge.c: Likewise.
56257         * tests/test-freadable.c: Likewise.
56258         * tests/test-freadahead.c: Likewise.
56259         * tests/test-freading.c: Likewise.
56260         * tests/test-freopen.c: Likewise.
56261         * tests/test-frexp.c: Likewise.
56262         * tests/test-frexpl.c: Likewise.
56263         * tests/test-fseek.c: Likewise.
56264         * tests/test-fseeko.c: Likewise.
56265         * tests/test-fseterr.c: Likewise.
56266         * tests/test-fstrcmp.c: Likewise.
56267         * tests/test-ftell.c: Likewise.
56268         * tests/test-ftello.c: Likewise.
56269         * tests/test-fwritable.c: Likewise.
56270         * tests/test-fwriting.c: Likewise.
56271         * tests/test-getaddrinfo.c: Likewise.
56272         * tests/test-getpass.c: Likewise.
56273         * tests/test-gettimeofday.c: Likewise.
56274         * tests/test-hmac-md5.c: Likewise.
56275         * tests/test-hmac-sha1.c: Likewise.
56276         * tests/test-iconv.c: Likewise.
56277         * tests/test-iconvme.c: Likewise.
56278         * tests/test-inttypes.c: Likewise.
56279         * tests/test-isnan.c: Likewise.
56280         * tests/test-isnanf.c: Likewise.
56281         * tests/test-isnanl-nolibm.c: Likewise.
56282         * tests/test-isnanl.c: Likewise.
56283         * tests/test-isnanl.h: Likewise.
56284         * tests/test-ldexpl.c: Likewise.
56285         * tests/test-linked_list.c: Likewise.
56286         * tests/test-linkedhash_list.c: Likewise.
56287         * tests/test-locale.c: Likewise.
56288         * tests/test-localename.c: Likewise.
56289         * tests/test-lock.c: Likewise.
56290         * tests/test-lseek.c: Likewise.
56291         * tests/test-malloca.c: Likewise.
56292         * tests/test-math.c: Likewise.
56293         * tests/test-mbscasecmp.c: Likewise.
56294         * tests/test-mbscasestr1.c: Likewise.
56295         * tests/test-mbscasestr2.c: Likewise.
56296         * tests/test-mbscasestr3.c: Likewise.
56297         * tests/test-mbscasestr4.c: Likewise.
56298         * tests/test-mbschr.c: Likewise.
56299         * tests/test-mbscspn.c: Likewise.
56300         * tests/test-mbsncasecmp.c: Likewise.
56301         * tests/test-mbspbrk.c: Likewise.
56302         * tests/test-mbspcasecmp.c: Likewise.
56303         * tests/test-mbsrchr.c: Likewise.
56304         * tests/test-mbsspn.c: Likewise.
56305         * tests/test-mbsstr1.c: Likewise.
56306         * tests/test-mbsstr2.c: Likewise.
56307         * tests/test-mbsstr3.c: Likewise.
56308         * tests/test-md5.c: Likewise.
56309         * tests/test-memmem.c: Likewise.
56310         * tests/test-netinet_in.c: Likewise.
56311         * tests/test-open.c: Likewise.
56312         * tests/test-printf-frexp.c: Likewise.
56313         * tests/test-printf-frexpl.c: Likewise.
56314         * tests/test-printf-posix.c: Likewise.
56315         * tests/test-printf-posix.h: Likewise.
56316         * tests/test-rbtree_list.c: Likewise.
56317         * tests/test-rbtree_oset.c: Likewise.
56318         * tests/test-rbtreehash_list.c: Likewise.
56319         * tests/test-read-file.c: Likewise.
56320         * tests/test-rijndael.c: Likewise.
56321         * tests/test-search.c: Likewise.
56322         * tests/test-signbit.c: Likewise.
56323         * tests/test-sleep.c: Likewise.
56324         * tests/test-snprintf-posix.c: Likewise.
56325         * tests/test-snprintf-posix.h: Likewise.
56326         * tests/test-snprintf.c: Likewise.
56327         * tests/test-sprintf-posix.c: Likewise.
56328         * tests/test-sprintf-posix.h: Likewise.
56329         * tests/test-stat-time.c: Likewise.
56330         * tests/test-stdbool.c: Likewise.
56331         * tests/test-stdint.c: Likewise.
56332         * tests/test-stdio.c: Likewise.
56333         * tests/test-stdlib.c: Likewise.
56334         * tests/test-stpncpy.c: Likewise.
56335         * tests/test-strcasestr.c: Likewise.
56336         * tests/test-striconv.c: Likewise.
56337         * tests/test-striconveh.c: Likewise.
56338         * tests/test-striconveha.c: Likewise.
56339         * tests/test-string.c: Likewise.
56340         * tests/test-sys_select.c: Likewise.
56341         * tests/test-sys_socket.c: Likewise.
56342         * tests/test-sys_stat.c: Likewise.
56343         * tests/test-sys_time.c: Likewise.
56344         * tests/test-sysexits.c: Likewise.
56345         * tests/test-time.c: Likewise.
56346         * tests/test-tls.c: Likewise.
56347         * tests/test-trunc.c: Likewise.
56348         * tests/test-truncf.c: Likewise.
56349         * tests/test-truncl.c: Likewise.
56350         * tests/test-unistd.c: Likewise.
56351         * tests/test-vasnprintf-posix.c: Likewise.
56352         * tests/test-vasnprintf-posix2.c: Likewise.
56353         * tests/test-vasnprintf.c: Likewise.
56354         * tests/test-vasprintf-posix.c: Likewise.
56355         * tests/test-vasprintf.c: Likewise.
56356         * tests/test-verify.c: Likewise.
56357         * tests/test-vfprintf-posix.c: Likewise.
56358         * tests/test-vprintf-posix.c: Likewise.
56359         * tests/test-vsnprintf-posix.c: Likewise.
56360         * tests/test-vsnprintf.c: Likewise.
56361         * tests/test-vsprintf-posix.c: Likewise.
56362         * tests/test-wchar.c: Likewise.
56363         * tests/test-wctype.c: Likewise.
56364         * tests/test-wcwidth.c: Likewise.
56365         * tests/test-xstrtol.c: Likewise.
56366         * tests/test-xvasprintf.c: Likewise.
56367         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
56368         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
56369         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
56370         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
56371         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
56372         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
56373         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
56374         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
56375         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
56376         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
56377         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
56378         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
56379         * tests/uniname/test-uninames.c: Likewise.
56380         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
56381         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
56382         * tests/unistdio/test-u16-printf1.h: Likewise.
56383         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
56384         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
56385         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
56386         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
56387         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
56388         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
56389         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
56390         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
56391         * tests/unistdio/test-u32-printf1.h: Likewise.
56392         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
56393         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
56394         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
56395         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
56396         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
56397         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
56398         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
56399         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
56400         * tests/unistdio/test-u8-printf1.h: Likewise.
56401         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
56402         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
56403         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
56404         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
56405         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
56406         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
56407         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
56408         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
56409         * tests/unistdio/test-ulc-printf1.h: Likewise.
56410         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
56411         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
56412         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
56413         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
56414         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
56415         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
56416         * tests/uniwidth/test-u16-strwidth.c: Likewise.
56417         * tests/uniwidth/test-u16-width.c: Likewise.
56418         * tests/uniwidth/test-u32-strwidth.c: Likewise.
56419         * tests/uniwidth/test-u32-width.c: Likewise.
56420         * tests/uniwidth/test-u8-strwidth.c: Likewise.
56421         * tests/uniwidth/test-u8-width.c: Likewise.
56422         * tests/uniwidth/test-uc_width.c: Likewise.
56423         * config/srclist-update: Likewise.
56424         (fixlicense): Update to GPLv3+.
56425
56426         Change copyright notice from LGPLv2.1+ to LGPLv3+.
56427         * tests/test-tsearch.c: Change copyright notice.
56428
56429         Change copyright notice from LGPLv2.0+ to LGPLv3+.
56430         * lib/c-strcaseeq.h: Change copyright notice.
56431         * lib/streq.h: Likewise.
56432         * lib/uniconv.h: Likewise.
56433         * lib/uniconv/u-conv-from-enc.h: Likewise.
56434         * lib/uniconv/u-conv-to-enc.h: Likewise.
56435         * lib/uniconv/u-strconv-from-enc.h: Likewise.
56436         * lib/uniconv/u-strconv-to-enc.h: Likewise.
56437         * lib/uniconv/u16-conv-from-enc.c: Likewise.
56438         * lib/uniconv/u16-conv-to-enc.c: Likewise.
56439         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
56440         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
56441         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
56442         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
56443         * lib/uniconv/u32-conv-from-enc.c: Likewise.
56444         * lib/uniconv/u32-conv-to-enc.c: Likewise.
56445         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
56446         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
56447         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
56448         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
56449         * lib/uniconv/u8-conv-from-enc.c: Likewise.
56450         * lib/uniconv/u8-conv-to-enc.c: Likewise.
56451         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
56452         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
56453         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
56454         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
56455         * lib/uniname.h: Likewise.
56456         * lib/uniname/uniname.c: Likewise.
56457         * lib/unistdio.h: Likewise.
56458         * lib/unistdio/u-asnprintf.h: Likewise.
56459         * lib/unistdio/u-asprintf.h: Likewise.
56460         * lib/unistdio/u-printf-args.c: Likewise.
56461         * lib/unistdio/u-printf-args.h: Likewise.
56462         * lib/unistdio/u-printf-parse.h: Likewise.
56463         * lib/unistdio/u-snprintf.h: Likewise.
56464         * lib/unistdio/u-sprintf.h: Likewise.
56465         * lib/unistdio/u-vasprintf.h: Likewise.
56466         * lib/unistdio/u-vsnprintf.h: Likewise.
56467         * lib/unistdio/u-vsprintf.h: Likewise.
56468         * lib/unistdio/u16-asnprintf.c: Likewise.
56469         * lib/unistdio/u16-asprintf.c: Likewise.
56470         * lib/unistdio/u16-printf-parse.c: Likewise.
56471         * lib/unistdio/u16-snprintf.c: Likewise.
56472         * lib/unistdio/u16-sprintf.c: Likewise.
56473         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
56474         * lib/unistdio/u16-u16-asprintf.c: Likewise.
56475         * lib/unistdio/u16-u16-snprintf.c: Likewise.
56476         * lib/unistdio/u16-u16-sprintf.c: Likewise.
56477         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
56478         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
56479         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
56480         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
56481         * lib/unistdio/u16-vasnprintf.c: Likewise.
56482         * lib/unistdio/u16-vasprintf.c: Likewise.
56483         * lib/unistdio/u16-vsnprintf.c: Likewise.
56484         * lib/unistdio/u16-vsprintf.c: Likewise.
56485         * lib/unistdio/u32-asnprintf.c: Likewise.
56486         * lib/unistdio/u32-asprintf.c: Likewise.
56487         * lib/unistdio/u32-printf-parse.c: Likewise.
56488         * lib/unistdio/u32-snprintf.c: Likewise.
56489         * lib/unistdio/u32-sprintf.c: Likewise.
56490         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
56491         * lib/unistdio/u32-u32-asprintf.c: Likewise.
56492         * lib/unistdio/u32-u32-snprintf.c: Likewise.
56493         * lib/unistdio/u32-u32-sprintf.c: Likewise.
56494         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
56495         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
56496         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
56497         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
56498         * lib/unistdio/u32-vasnprintf.c: Likewise.
56499         * lib/unistdio/u32-vasprintf.c: Likewise.
56500         * lib/unistdio/u32-vsnprintf.c: Likewise.
56501         * lib/unistdio/u32-vsprintf.c: Likewise.
56502         * lib/unistdio/u8-asnprintf.c: Likewise.
56503         * lib/unistdio/u8-asprintf.c: Likewise.
56504         * lib/unistdio/u8-printf-parse.c: Likewise.
56505         * lib/unistdio/u8-snprintf.c: Likewise.
56506         * lib/unistdio/u8-sprintf.c: Likewise.
56507         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
56508         * lib/unistdio/u8-u8-asprintf.c: Likewise.
56509         * lib/unistdio/u8-u8-snprintf.c: Likewise.
56510         * lib/unistdio/u8-u8-sprintf.c: Likewise.
56511         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
56512         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
56513         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
56514         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
56515         * lib/unistdio/u8-vasnprintf.c: Likewise.
56516         * lib/unistdio/u8-vasprintf.c: Likewise.
56517         * lib/unistdio/u8-vsnprintf.c: Likewise.
56518         * lib/unistdio/u8-vsprintf.c: Likewise.
56519         * lib/unistdio/ulc-asnprintf.c: Likewise.
56520         * lib/unistdio/ulc-asprintf.c: Likewise.
56521         * lib/unistdio/ulc-printf-parse.c: Likewise.
56522         * lib/unistdio/ulc-snprintf.c: Likewise.
56523         * lib/unistdio/ulc-sprintf.c: Likewise.
56524         * lib/unistdio/ulc-vasnprintf.c: Likewise.
56525         * lib/unistdio/ulc-vasprintf.c: Likewise.
56526         * lib/unistdio/ulc-vsnprintf.c: Likewise.
56527         * lib/unistdio/ulc-vsprintf.c: Likewise.
56528         * lib/unistr.h: Likewise.
56529         * lib/unistr/u-cpy-alloc.h: Likewise.
56530         * lib/unistr/u-cpy.h: Likewise.
56531         * lib/unistr/u-endswith.h: Likewise.
56532         * lib/unistr/u-move.h: Likewise.
56533         * lib/unistr/u-set.h: Likewise.
56534         * lib/unistr/u-startswith.h: Likewise.
56535         * lib/unistr/u-stpcpy.h: Likewise.
56536         * lib/unistr/u-stpncpy.h: Likewise.
56537         * lib/unistr/u-strcat.h: Likewise.
56538         * lib/unistr/u-strcpy.h: Likewise.
56539         * lib/unistr/u-strcspn.h: Likewise.
56540         * lib/unistr/u-strdup.h: Likewise.
56541         * lib/unistr/u-strlen.h: Likewise.
56542         * lib/unistr/u-strncat.h: Likewise.
56543         * lib/unistr/u-strncpy.h: Likewise.
56544         * lib/unistr/u-strnlen.h: Likewise.
56545         * lib/unistr/u-strpbrk.h: Likewise.
56546         * lib/unistr/u-strspn.h: Likewise.
56547         * lib/unistr/u-strstr.h: Likewise.
56548         * lib/unistr/u-strtok.h: Likewise.
56549         * lib/unistr/u16-check.c: Likewise.
56550         * lib/unistr/u16-chr.c: Likewise.
56551         * lib/unistr/u16-cmp.c: Likewise.
56552         * lib/unistr/u16-cpy-alloc.c: Likewise.
56553         * lib/unistr/u16-cpy.c: Likewise.
56554         * lib/unistr/u16-endswith.c: Likewise.
56555         * lib/unistr/u16-mblen.c: Likewise.
56556         * lib/unistr/u16-mbsnlen.c: Likewise.
56557         * lib/unistr/u16-mbtouc-aux.c: Likewise.
56558         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
56559         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
56560         * lib/unistr/u16-mbtouc.c: Likewise.
56561         * lib/unistr/u16-mbtoucr.c: Likewise.
56562         * lib/unistr/u16-move.c: Likewise.
56563         * lib/unistr/u16-next.c: Likewise.
56564         * lib/unistr/u16-prev.c: Likewise.
56565         * lib/unistr/u16-set.c: Likewise.
56566         * lib/unistr/u16-startswith.c: Likewise.
56567         * lib/unistr/u16-stpcpy.c: Likewise.
56568         * lib/unistr/u16-stpncpy.c: Likewise.
56569         * lib/unistr/u16-strcat.c: Likewise.
56570         * lib/unistr/u16-strchr.c: Likewise.
56571         * lib/unistr/u16-strcmp.c: Likewise.
56572         * lib/unistr/u16-strcpy.c: Likewise.
56573         * lib/unistr/u16-strcspn.c: Likewise.
56574         * lib/unistr/u16-strdup.c: Likewise.
56575         * lib/unistr/u16-strlen.c: Likewise.
56576         * lib/unistr/u16-strmblen.c: Likewise.
56577         * lib/unistr/u16-strmbtouc.c: Likewise.
56578         * lib/unistr/u16-strncat.c: Likewise.
56579         * lib/unistr/u16-strncmp.c: Likewise.
56580         * lib/unistr/u16-strncpy.c: Likewise.
56581         * lib/unistr/u16-strnlen.c: Likewise.
56582         * lib/unistr/u16-strpbrk.c: Likewise.
56583         * lib/unistr/u16-strrchr.c: Likewise.
56584         * lib/unistr/u16-strspn.c: Likewise.
56585         * lib/unistr/u16-strstr.c: Likewise.
56586         * lib/unistr/u16-strtok.c: Likewise.
56587         * lib/unistr/u16-to-u32.c: Likewise.
56588         * lib/unistr/u16-to-u8.c: Likewise.
56589         * lib/unistr/u16-uctomb-aux.c: Likewise.
56590         * lib/unistr/u16-uctomb.c: Likewise.
56591         * lib/unistr/u32-check.c: Likewise.
56592         * lib/unistr/u32-chr.c: Likewise.
56593         * lib/unistr/u32-cmp.c: Likewise.
56594         * lib/unistr/u32-cpy-alloc.c: Likewise.
56595         * lib/unistr/u32-cpy.c: Likewise.
56596         * lib/unistr/u32-endswith.c: Likewise.
56597         * lib/unistr/u32-mblen.c: Likewise.
56598         * lib/unistr/u32-mbsnlen.c: Likewise.
56599         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
56600         * lib/unistr/u32-mbtouc.c: Likewise.
56601         * lib/unistr/u32-mbtoucr.c: Likewise.
56602         * lib/unistr/u32-move.c: Likewise.
56603         * lib/unistr/u32-next.c: Likewise.
56604         * lib/unistr/u32-prev.c: Likewise.
56605         * lib/unistr/u32-set.c: Likewise.
56606         * lib/unistr/u32-startswith.c: Likewise.
56607         * lib/unistr/u32-stpcpy.c: Likewise.
56608         * lib/unistr/u32-stpncpy.c: Likewise.
56609         * lib/unistr/u32-strcat.c: Likewise.
56610         * lib/unistr/u32-strchr.c: Likewise.
56611         * lib/unistr/u32-strcmp.c: Likewise.
56612         * lib/unistr/u32-strcpy.c: Likewise.
56613         * lib/unistr/u32-strcspn.c: Likewise.
56614         * lib/unistr/u32-strdup.c: Likewise.
56615         * lib/unistr/u32-strlen.c: Likewise.
56616         * lib/unistr/u32-strmblen.c: Likewise.
56617         * lib/unistr/u32-strmbtouc.c: Likewise.
56618         * lib/unistr/u32-strncat.c: Likewise.
56619         * lib/unistr/u32-strncmp.c: Likewise.
56620         * lib/unistr/u32-strncpy.c: Likewise.
56621         * lib/unistr/u32-strnlen.c: Likewise.
56622         * lib/unistr/u32-strpbrk.c: Likewise.
56623         * lib/unistr/u32-strrchr.c: Likewise.
56624         * lib/unistr/u32-strspn.c: Likewise.
56625         * lib/unistr/u32-strstr.c: Likewise.
56626         * lib/unistr/u32-strtok.c: Likewise.
56627         * lib/unistr/u32-to-u16.c: Likewise.
56628         * lib/unistr/u32-to-u8.c: Likewise.
56629         * lib/unistr/u32-uctomb.c: Likewise.
56630         * lib/unistr/u8-check.c: Likewise.
56631         * lib/unistr/u8-chr.c: Likewise.
56632         * lib/unistr/u8-cmp.c: Likewise.
56633         * lib/unistr/u8-cpy-alloc.c: Likewise.
56634         * lib/unistr/u8-cpy.c: Likewise.
56635         * lib/unistr/u8-endswith.c: Likewise.
56636         * lib/unistr/u8-mblen.c: Likewise.
56637         * lib/unistr/u8-mbsnlen.c: Likewise.
56638         * lib/unistr/u8-mbtouc-aux.c: Likewise.
56639         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
56640         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
56641         * lib/unistr/u8-mbtouc.c: Likewise.
56642         * lib/unistr/u8-mbtoucr.c: Likewise.
56643         * lib/unistr/u8-move.c: Likewise.
56644         * lib/unistr/u8-next.c: Likewise.
56645         * lib/unistr/u8-prev.c: Likewise.
56646         * lib/unistr/u8-set.c: Likewise.
56647         * lib/unistr/u8-startswith.c: Likewise.
56648         * lib/unistr/u8-stpcpy.c: Likewise.
56649         * lib/unistr/u8-stpncpy.c: Likewise.
56650         * lib/unistr/u8-strcat.c: Likewise.
56651         * lib/unistr/u8-strchr.c: Likewise.
56652         * lib/unistr/u8-strcmp.c: Likewise.
56653         * lib/unistr/u8-strcpy.c: Likewise.
56654         * lib/unistr/u8-strcspn.c: Likewise.
56655         * lib/unistr/u8-strdup.c: Likewise.
56656         * lib/unistr/u8-strlen.c: Likewise.
56657         * lib/unistr/u8-strmblen.c: Likewise.
56658         * lib/unistr/u8-strmbtouc.c: Likewise.
56659         * lib/unistr/u8-strncat.c: Likewise.
56660         * lib/unistr/u8-strncmp.c: Likewise.
56661         * lib/unistr/u8-strncpy.c: Likewise.
56662         * lib/unistr/u8-strnlen.c: Likewise.
56663         * lib/unistr/u8-strpbrk.c: Likewise.
56664         * lib/unistr/u8-strrchr.c: Likewise.
56665         * lib/unistr/u8-strspn.c: Likewise.
56666         * lib/unistr/u8-strstr.c: Likewise.
56667         * lib/unistr/u8-strtok.c: Likewise.
56668         * lib/unistr/u8-to-u16.c: Likewise.
56669         * lib/unistr/u8-to-u32.c: Likewise.
56670         * lib/unistr/u8-uctomb-aux.c: Likewise.
56671         * lib/unistr/u8-uctomb.c: Likewise.
56672         * lib/unitypes.h: Likewise.
56673         * lib/uniwidth.h: Likewise.
56674         * lib/uniwidth/cjk.h: Likewise.
56675         * lib/uniwidth/u16-strwidth.c: Likewise.
56676         * lib/uniwidth/u16-width.c: Likewise.
56677         * lib/uniwidth/u32-strwidth.c: Likewise.
56678         * lib/uniwidth/u32-width.c: Likewise.
56679         * lib/uniwidth/u8-strwidth.c: Likewise.
56680         * lib/uniwidth/u8-width.c: Likewise.
56681         * lib/uniwidth/width.c: Likewise.
56682
56683 2007-10-07  Bruno Haible  <bruno@clisp.org>
56684
56685         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
56686         The file is still under LGPL (see modules/inttypes).
56687
56688 2007-10-06  Bruno Haible  <bruno@clisp.org>
56689
56690         * modules/trunc (Dependencies): Add 'extensions'.
56691         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
56692         Reported by Ben Pfaff <blp@gnu.org>.
56693
56694 2007-10-06  Bruno Haible  <bruno@clisp.org>
56695
56696         * modules/freopen-tests: New file.
56697         * tests/test-freopen.c: New file.
56698
56699         * modules/fopen-tests: New file.
56700         * tests/test-fopen.c: New file.
56701
56702         * modules/fopen: New file.
56703         * lib/fopen.c: New file.
56704         * m4/fopen.m4: New file.
56705         * modules/freopen: New file.
56706         * lib/freopen.c: New file.
56707         * m4/freopen.m4: New file.
56708         * lib/stdio.in.h (fopen, freopen): New declarations.
56709         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
56710         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56711         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
56712         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56713         * doc/functions/fopen.texi: Mention the 'fopen' module.
56714         * doc/functions/freopen.texi: Mention the 'freopen' module.
56715
56716 2007-10-06  Bruno Haible  <bruno@clisp.org>
56717
56718         * modules/open-tests: New file.
56719         * tests/test-open.c: New file.
56720
56721         * modules/open: New file.
56722         * lib/open.c: New file.
56723         * m4/open.m4: New file.
56724         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
56725         lib/open.c does.
56726         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
56727         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
56728         macros.
56729         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
56730         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
56731         REPLACE_OPEN.
56732         * doc/functions/open.texi: Mention the 'open' module.
56733
56734 2007-10-04  Bruno Haible  <bruno@clisp.org>
56735
56736         * modules/ceill-tests: New file.
56737         * tests/test-ceill.c: New file.
56738
56739         * modules/ceill: New file.
56740         * lib/ceill.c: Replace entire file.
56741         * m4/ceill.m4: New file.
56742         * lib/math.in.h (ceill): Replace declaration.
56743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
56744         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
56745         * doc/functions/ceill.texi: Mention the 'ceill' module.
56746         * modules/mathl (Files): Remove lib/ceill.c.
56747         (Depends-on): Add ceill.
56748
56749 2007-10-04  Bruno Haible  <bruno@clisp.org>
56750
56751         * modules/ceilf-tests: New file.
56752         * tests/test-ceilf.c: New file.
56753
56754         * modules/ceilf: New file.
56755         * lib/ceil.c: New file.
56756         * lib/ceilf.c: New file.
56757         * m4/ceilf.m4: New file.
56758         * lib/math.in.h (ceilf): New declaration.
56759         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
56760         HAVE_DECL_CEILF.
56761         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
56762         HAVE_DECL_CEILF.
56763         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
56764
56765 2007-10-04  Bruno Haible  <bruno@clisp.org>
56766
56767         * modules/floorl-tests: New file.
56768         * tests/test-floorl.c: New file.
56769
56770         * modules/floorl: New file.
56771         * lib/floorl.c: Replace entire file.
56772         * m4/floorl.m4: New file.
56773         * lib/math.in.h (floorl): Replace declaration.
56774         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
56775         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
56776         * doc/functions/floorl.texi: Mention the 'floorl' module.
56777         * modules/mathl (Files): Remove lib/floorl.c.
56778         (Depends-on): Add floorl.
56779
56780 2007-10-04  Bruno Haible  <bruno@clisp.org>
56781
56782         * modules/floorf-tests: New file.
56783         * tests/test-floorf.c: New file.
56784
56785         * modules/floorf: New file.
56786         * lib/floor.c: New file.
56787         * lib/floorf.c: New file.
56788         * m4/floorf.m4: New file.
56789         * lib/math.in.h (floorf): New declaration.
56790         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
56791         HAVE_DECL_FLOORF.
56792         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
56793         HAVE_DECL_FLOORF.
56794         * doc/functions/floorf.texi: Mention the 'floorf' module.
56795
56796 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
56797             Bruno Haible  <bruno@clisp.org>
56798
56799         Advertise for the Git server instead of the CVS server.
56800         * doc/gnulib-intro.texi (Steady Development): Mention the Git
56801         repository instead of the CVS one.
56802         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
56803         about all VCS systems generically.
56804         * doc/gnulib.texi (Introduction): Capitalize `Git'.
56805
56806 2007-10-04  Bruno Haible  <bruno@clisp.org>
56807
56808         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
56809         means.
56810         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
56811
56812 2007-10-04  Bruno Haible  <bruno@clisp.org>
56813
56814         * modules/truncl-tests: New file.
56815         * tests/test-truncl.c: New file.
56816
56817         * modules/truncl: New file.
56818         * lib/truncl.c: New file.
56819         * m4/truncl.m4: New file.
56820         * lib/math.in.h (truncl): New declaration.
56821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
56822         HAVE_DECL_TRUNCL.
56823         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
56824         HAVE_DECL_TRUNCL.
56825         * doc/functions/truncl.texi: Mention the 'truncl' module.
56826
56827 2007-10-04  Bruno Haible  <bruno@clisp.org>
56828
56829         * modules/truncf-tests: New file.
56830         * tests/test-truncf.c: New file.
56831
56832         * modules/truncf: New file.
56833         * lib/trunc.c: Make paramerizable through USE_* macros.
56834         * lib/truncf.c: New file.
56835         * m4/truncf.m4: New file.
56836         * lib/math.in.h (truncf): New declaration.
56837         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56838         HAVE_DECL_TRUNCF.
56839         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56840         HAVE_DECL_TRUNCF.
56841         * doc/functions/truncf.texi: Mention the 'truncf' module.
56842
56843 2007-10-03  Bruno Haible  <bruno@clisp.org>
56844
56845         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56846         augmentation also for tests modules.
56847         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56848         * modules/atexit-tests (Makefile.am): Likewise.
56849         * modules/binary-io-tests (Makefile.am): Likewise.
56850         * modules/c-strcase-tests (Makefile.am): Likewise.
56851         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56852         * modules/canonicalize-tests (Makefile.am): Likewise.
56853         * modules/closein-tests (Makefile.am): Likewise.
56854         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56855         * modules/freadahead-tests (Makefile.am): Likewise.
56856         * modules/fseek-tests (Makefile.am): Likewise.
56857         * modules/fseeko-tests (Makefile.am): Likewise.
56858         * modules/ftell-tests (Makefile.am): Likewise.
56859         * modules/ftello-tests (Makefile.am): Likewise.
56860         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56861         * modules/isnanl-tests (Makefile.am): Likewise.
56862         * modules/lseek-tests (Makefile.am): Likewise.
56863         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56864         * modules/mbscasestr-tests (Makefile.am): Likewise.
56865         * modules/mbschr-tests (Makefile.am): Likewise.
56866         * modules/mbscspn-tests (Makefile.am): Likewise.
56867         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56868         * modules/mbspbrk-tests (Makefile.am): Likewise.
56869         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56870         * modules/mbsrchr-tests (Makefile.am): Likewise.
56871         * modules/mbsspn-tests (Makefile.am): Likewise.
56872         * modules/mbsstr-tests (Makefile.am): Likewise.
56873         * modules/printf-posix-tests (Makefile.am): Likewise.
56874         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56875         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56876         * modules/tsearch-tests (Makefile.am): Likewise.
56877         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56878         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56879         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56880         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56881         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56882         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56883         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56884         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56885         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56886         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56887         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56888         * modules/xstrtol-tests (Makefile.am): Likewise.
56889         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56890         * modules/yesno-tests (Makefile.am): Likewise.
56891
56892 2007-10-03  Bruno Haible  <bruno@clisp.org>
56893
56894         * modules/trunc-tests: New file.
56895         * tests/test-trunc.c: New file.
56896
56897         * modules/trunc: New file.
56898         * lib/trunc.c: New file.
56899         * m4/trunc.m4: New file.
56900         * lib/math.in.h (trunc): New declaration.
56901         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56902         HAVE_DECL_TRUNC.
56903         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56904         HAVE_DECL_TRUNC.
56905         * doc/functions/trunc.texi: Mention the 'trunc' module.
56906
56907 2007-10-03  Bruno Haible  <bruno@clisp.org>
56908
56909         * tests/test-fpending.c: New file, mostly copied
56910         from coreutils/lib/t-fpending.c.
56911         * modules/fpending-tests: New file.
56912
56913 2007-10-03  Bruno Haible  <bruno@clisp.org>
56914
56915         Port the stdio extensions to QNX (untested).
56916         * lib/fseterr.c (fseterr): Add support for QNX.
56917         * lib/fbufmode.c (fbufmode): Likewise.
56918         * lib/freadable.c (freadable): Likewise.
56919         * lib/fwritable.c (fwritable): Likewise.
56920         * lib/freading.c (freading): Likewise.
56921         * lib/fwriting.c (fwriting): Likewise.
56922         * lib/freadahead.c (freadahed): Likewise.
56923         * lib/fpurge.c (fpurge): Likewise.
56924         * lib/fseeko.c (rpl_fseeko): Likewise.
56925
56926 2007-10-03  Bruno Haible  <bruno@clisp.org>
56927             Jim Meyering  <jim@meyering.net>
56928             Eric Blake  <ebb9@byu.net>
56929
56930         * doc/relocatable.texi: Use @command instead of @program.
56931
56932 2007-10-02  Jim Meyering  <jim@meyering.net>
56933
56934         Perform one more "_.h" -> ".in.h" substitution.
56935         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56936         instead of unistd_.h here, too.
56937
56938 2007-10-01  Bruno Haible  <bruno@clisp.org>
56939
56940         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56941         Needed for the alloca-opt module.
56942
56943 2007-09-30  Bruno Haible  <bruno@clisp.org>
56944
56945         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56946         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56947         alloca_.h.
56948         * lib/argz.in.h: Renamed from lib/argz_.h.
56949         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56950         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56951         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56952         byteswap_.h.
56953         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56954         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56955         dirent_.h.
56956         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56957         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56958         fcntl_.h.
56959         * lib/float.in.h: Renamed from lib/float_.h.
56960         * modules/float (Files, Makefile.am): Use float.in.h instead of
56961         float_.h.
56962         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56963         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56964         fnmatch_.h.
56965         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56966         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56967         getopt_.h.
56968         * lib/glob.in.h: Renamed from lib/glob_.h.
56969         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56970         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56971         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56972         iconv_.h.
56973         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56974         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56975         inttypes_.h.
56976         * lib/locale.in.h: Renamed from lib/locale_.h.
56977         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56978         locale_.h.
56979         * lib/math.in.h: Renamed from lib/math_.h.
56980         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56981         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56982         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56983         of netinet_in_.h. Add dependency.
56984         * lib/poll.in.h: Renamed from lib/poll_.h.
56985         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56986         * lib/search.in.h: Renamed from lib/search_.h.
56987         * modules/search (Files, Makefile.am): Use search.in.h instead of
56988         search_.h.
56989         * lib/signal.in.h: Renamed from lib/signal_.h.
56990         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56991         _signal.h.
56992         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56993         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56994         stdbool_.h.
56995         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56996         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56997         stdint_.h.
56998         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56999         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
57000         stdio_.h.
57001         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
57002         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
57003         stdlib_.h.
57004         * lib/string.in.h: Renamed from lib/string_.h.
57005         * modules/string (Files, Makefile.am): Use string.in.h instead of
57006         string_.h.
57007         * doc/gnulib-tool.texi (Initial import): Update.
57008         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
57009         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
57010         of sys_select_.h. Add dependency.
57011         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
57012         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
57013         of sys_socket_.h.
57014         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
57015         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
57016         sys_stat_.h.
57017         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
57018         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
57019         sys_time_.h.
57020         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
57021         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
57022         sysexits_.h.
57023         * lib/time.in.h: Renamed from lib/time_.h.
57024         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
57025         * lib/unistd.in.h: Renamed from lib/unistd_.h.
57026         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
57027         unistd_.h.
57028         * lib/wchar.in.h: Renamed from lib/wchar_.h.
57029         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
57030         wchar_.h.
57031         * lib/wctype.in.h: Renamed from lib/wctype_.h.
57032         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
57033         wctype_.h.
57034         * build-aux/bootstrap (slurp): Update.
57035         * lib/.cppi-disable: Update.
57036
57037 2007-09-30  Bruno Haible  <bruno@clisp.org>
57038
57039         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
57040         Needed on BeOS.
57041
57042 2007-09-30  Bruno Haible  <bruno@clisp.org>
57043
57044         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
57045
57046 2007-09-29  Bruno Haible  <bruno@clisp.org>
57047
57048         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
57049
57050 2007-09-29  Bruno Haible  <bruno@clisp.org>
57051
57052         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
57053         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
57054         * build-aux/install-reloc: Compile also areadlink.c.
57055         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
57056
57057 2007-09-29  Bruno Haible  <bruno@clisp.org>
57058
57059         * gnulib-tool (func_emit_initmacro_done): Indentation.
57060
57061 2007-09-29  Bruno Haible  <bruno@clisp.org>
57062
57063         * README: Add CVS checkout update instructions.
57064         Info from Bob Proulx <bob@proulx.com>.
57065
57066 2007-09-28  Eric Blake  <ebb9@byu.net>
57067
57068         Provide move-if-change.
57069         * build-aux/move-if-change: New file, based on best practice
57070         rather than any canonical upstream location.
57071
57072 2007-09-28  Jim Meyering  <jim@meyering.net>
57073
57074         Fix canonicalize loop-detection corner case.
57075         Do not attempt to stat the symlink values stored via seen_triple.
57076         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
57077         on linux-2.6.18, (but not 2.6.22).
57078         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
57079         triple_compare.  The former compares dev,ino,filename, while the latter
57080         would actually stat dirname(filename) when dev and ino were equal.
57081         * lib/hash-triple.c: Install <string.h>.
57082         (STREQ): Define.
57083         (triple_compare_ino_str): New function.
57084         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
57085
57086 2007-09-28  Eric Blake  <ebb9@byu.net>
57087
57088         Enforce that AC_REPLACE_FUNCS files exist.
57089         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
57090         override check for typos.
57091
57092         Fix test-closein on Solaris 10.
57093         * tests/test-closein.c (main): Don't assume stdin can be inherited
57094         closed on all systems.
57095         * tests/test-closein.sh: Likewise.
57096         Reported by Piotr Tarnowski.
57097
57098 2007-09-28  Jim Meyering  <jim@meyering.net>
57099
57100         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
57101
57102 2007-09-27  Jim Meyering  <jim@meyering.net>
57103
57104         canonicalize: Avoid a false-positive cycle failure.
57105         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
57106         Sort.  Remove cycle-check.
57107         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
57108         not cycle-check.h.
57109         (seen_triple): New function.
57110         (canonicalize_filename_mode): Use it instead of cycle-check.
57111         * tests/test-canonicalize.c: Add a test for this bug.
57112         * tests/test-canonicalize.sh: Set up and run the test.
57113
57114         New module, file-set, from coreutils.
57115         * modules/file-set: Define it.
57116         * lib/file-set.c, lib/file-set.h: Implement.
57117
57118         New module, hash-triple, from coreutils.
57119         * modules/hash-triple: Define it.
57120         * lib/hash-triple.c, lib/hash-triple.h: Implement.
57121
57122 2007-09-25  Eric Blake  <ebb9@byu.net>
57123
57124         Fix strerror on Interix.
57125         * lib/string_.h (strerror): Declare replacement.
57126         * doc/functions/strerror.texi (strerror): Document the Interix
57127         shortcoming.
57128         * modules/string (Makefile.am): Support new hooks.
57129         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
57130         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
57131         gl_FUNC_STRERROR_SEPARATE.
57132         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
57133         * lib/strerror.c (rpl_strerror): Provide replacement.
57134         * modules/strerror (Depends-on): Add string.
57135         (configure.ac): Detect use of module.
57136         * tests/test-strerror.c: New file.
57137         * modules/strerror-tests: New test module.
57138         * modules/argp (Depends-on): Add strerror.
57139         * modules/error (Depends-on): Likewise.
57140         Reported by Martin Koeppe.
57141
57142 2007-09-24  Bruno Haible  <bruno@clisp.org>
57143
57144         * README: Update git instructions.
57145
57146 2007-09-24  Eric Blake  <ebb9@byu.net>
57147
57148         Revert fpending breakage from 2007-09-08.
57149         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
57150         __fpending.c.
57151
57152 2007-09-24  Jim Meyering  <jim@meyering.net>
57153
57154         filenamecat.c: Add a test.
57155         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
57156         showing how the function works when DIR is the empty string.
57157
57158 2007-09-21  Simon Josefsson  <simon@josefsson.org>
57159
57160         * tests/test-canonicalize.sh: Turn on executable bit.
57161
57162 2007-09-19  Eric Blake  <ebb9@byu.net>
57163
57164         * README: Update CVS instructions.
57165
57166 2007-09-18  Bruno Haible  <bruno@clisp.org>
57167
57168         * modules/areadlink: New file.
57169         * lib/areadlink.h (areadlink): New declaration.
57170         * lib/areadlink.c: New file, based on lib/xreadlink.c.
57171
57172 2007-09-17  Jim Meyering  <jim@meyering.net>
57173
57174         * lib/savewd.c (ESTALE) [!defined]: Define.
57175         Reported to be required on Interix by Martin Koeppe.
57176
57177 2007-09-17  Bruno Haible  <bruno@clisp.org>
57178
57179         * gnulib-tool (func_version): Use $version.
57180
57181 2007-09-16  Bruno Haible  <bruno@clisp.org>
57182
57183         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
57184         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
57185         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
57186         Reported by Greg Schafer <gschafer@zip.com.au>.
57187
57188 2007-09-15  Bruno Haible  <bruno@clisp.org>
57189
57190         * gnulib-tool (sed): Try a little harder to make bash understand the
57191         alias.
57192         Reported by Bruce Korb <bruce.korb@gmail.com>.
57193
57194 2007-09-13  Eric Blake  <ebb9@byu.net>
57195
57196         * ChangeLog: Remove conflict markers.
57197
57198 2007-09-13  Simon Josefsson  <simon@josefsson.org>
57199
57200         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
57201         Reported by Bruno Haible <bruno@clisp.org>.
57202
57203 2007-09-12  Bruno Haible  <bruno@clisp.org>
57204
57205         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
57206         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
57207         is not defined.
57208
57209 2007-09-12  Eric Blake  <ebb9@byu.net>
57210
57211         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
57212         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
57213         Autoconf definition.
57214         * modules/euidaccess (Depends-on): Add extensions, for
57215         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
57216         * modules/fnmatch (Depends-on): Likewise.
57217         * modules/getaddrinfo (Depends-on): Likewise.
57218         * modules/getdelim (Depends-on): Likewise.
57219         * modules/getline (Depends-on): Likewise.
57220         * modules/getsubopt (Depends-on): Likewise.
57221         * modules/gettext (Depends-on): Likewise.
57222         * modules/group-member (Depends-on): Likewise.
57223         * modules/mbchar (Depends-on): Likewise.
57224         * modules/memmem (Depends-on): Likewise.
57225         * modules/mempcpy (Depends-on): Likewise.
57226         * modules/memrchr (Depends-on): Likewise.
57227         * modules/pagealign_alloc (Depends-on): Likewise.
57228         * modules/readutmp (Depends-on): Likewise.
57229         * modules/stpcpy (Depends-on): Likewise.
57230         * modules/stpncpy (Depends-on): Likewise.
57231         * modules/strchrnul (Depends-on): Likewise.
57232         * modules/strndup (Depends-on): Likewise.
57233         * modules/strsep (Depends-on): Likewise.
57234         * modules/strverscmp (Depends-on): Likewise.
57235         * modules/vasprintf (Depends-on): Likewise.
57236         * modules/wcwidth (Depends-on): Likewise.
57237         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
57238         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
57239         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
57240         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
57241         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57242         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
57243         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
57244         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
57245         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
57246         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
57247         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57248         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
57249         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
57250         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
57251         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
57252         * m4/readutmp.m4 (gl_READUTMP): Likewise.
57253         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57254         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
57255         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
57256         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
57257         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57258         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
57259         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
57260         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
57261         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
57262         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57263         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
57264         so that lock.m4 can be used in gettext without extensions module.
57265
57266 2007-09-11  Bruno Haible  <bruno@clisp.org>
57267
57268         * m4/isc-posix.m4: Remove file.
57269         Suggested by Eric Blake.
57270
57271 2007-09-11  Eric Blake  <ebb9@byu.net>
57272
57273         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
57274
57275 2007-09-10  Bruno Haible  <bruno@clisp.org>
57276
57277         * posix-modules: Fix typo in error message.
57278         Reported by Matt <mkraai@beckman.com>.
57279
57280 2007-09-09  Bruno Haible  <bruno@clisp.org>
57281
57282         * doc/functions/getdelim.texi: Update list of platforms lacking the
57283         function.
57284         * doc/functions/getline.texi: Likewise.
57285
57286 2007-09-09  Jim Meyering  <jim@meyering.net>
57287
57288         * lib/hash.c (hash_initialize): Detect calloc failure.
57289         Reported by Bruno Haible.
57290
57291 2007-09-09  Bruno Haible  <bruno@clisp.org>
57292
57293         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
57294         malloc or realloc fails.
57295
57296 2007-09-09  Bruno Haible  <bruno@clisp.org>
57297
57298         * modules/getcwd (Depends-on): Add malloc-posix.
57299         * modules/glob (Depends-on): Likewise.
57300         * modules/putenv (Depends-on): Likewise.
57301         * modules/strdup (Depends-on): Likewise.
57302         * modules/getdelim (Depends-on): Add realloc-posix.
57303         * modules/read-file (Depends-on): Likewise.
57304
57305 2007-09-09  Bruno Haible  <bruno@clisp.org>
57306
57307         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
57308         (gl_FUNC_MALLOC_POSIX): Require it.
57309         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
57310         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
57311         * modules/realloc (Files): Add m4/malloc.m4.
57312         * modules/calloc (Files): Likewise.
57313
57314 2007-09-09  Bruno Haible  <bruno@clisp.org>
57315
57316         * modules/malloc-posix: New file.
57317         * modules/malloc (Depends-on): Add malloc-posix.
57318         * lib/malloc.c: Include errno.h.
57319         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
57320         and a POSIX-compatible malloc into a single function. Set ENOMEM
57321         when returning NULL.
57322         * m4/malloc.m4: New file.
57323         * doc/functions/malloc.texi: Mention the malloc-posix module.
57324         * lib/stdlib_.h (malloc): New declaration.
57325         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
57326         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
57327         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
57328         and HAVE_MALLOC_POSIX.
57329
57330 2007-09-09  Bruno Haible  <bruno@clisp.org>
57331
57332         * modules/realloc-posix: New file.
57333         * modules/realloc (Depends-on): Add realloc-posix.
57334         * lib/realloc.c: Include errno.h.
57335         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
57336         and a POSIX-compatible realloc into a single function. Set ENOMEM
57337         when returning NULL.
57338         * m4/realloc.m4: New file.
57339         * doc/functions/realloc.texi: Mention the realloc-posix module.
57340         * lib/stdlib_.h (realloc): New declaration.
57341         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
57342         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
57343         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
57344         and HAVE_REALLOC_POSIX.
57345
57346 2007-09-09  Bruno Haible  <bruno@clisp.org>
57347
57348         * modules/calloc-posix: New file.
57349         * modules/calloc (Depends-on): Add calloc-posix.
57350         * lib/calloc.c: Include errno.h.
57351         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
57352         and a POSIX-compatible calloc into a single function. Set ENOMEM
57353         when returning NULL.
57354         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
57355         * doc/functions/calloc.texi: Mention the calloc-posix module.
57356         * lib/stdlib_.h (calloc): New declaration.
57357         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
57358         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
57359         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
57360         and HAVE_CALLOC_POSIX.
57361
57362 2007-09-09  Bruno Haible  <bruno@clisp.org>
57363
57364         Allow for modules to show an arbitrary notice.
57365         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
57366         * gnulib-tool: New option --extract-notice.
57367         (func_usage): Document it.
57368         (sed_extract_prog): Update.
57369         (func_get_notice): New function.
57370         (func_modules_notice): New function.
57371         (func_import, func_create_testdir): Invoke it.
57372         Suggested by Jim Meyering.
57373
57374 2007-09-09  Bruno Haible  <bruno@clisp.org>
57375
57376         * gnulib-tool: New options --verbose, --quiet.
57377         (func_usage): Document them.
57378         (verbose): New variable.
57379         (func_execute_command): New function.
57380         (func_import): Don't show the module list and the file list if
57381         $verbose < 0.
57382         (func_create_testdir): Likewise. Use func_execute_command.
57383         (func_create_megatestdir): Use func_execute_command.
57384
57385 2007-09-08  Bruno Haible  <bruno@clisp.org>
57386
57387         * gnulib-tool (func_import): Prefer rsync over wget when available,
57388         for fetching the PO files.
57389
57390 2007-09-08  Bruno Haible  <bruno@clisp.org>
57391
57392         * posix-modules: New file. Portions copied from gnulib-tool.
57393         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
57394
57395 2007-09-08  Jim Meyering  <jim@meyering.net>
57396
57397         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
57398         * lib/fpending.h: Rename from __fpending.h.
57399         * lib/fpending.c: Rename from __fpending.c.
57400         Include "fpending.h", not "__fpending.h".
57401         * lib/__fpending.h, lib/__fpending.c: Remove files.
57402         * modules/fpending (Files): Reflect new file names.
57403         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
57404
57405 2007-09-08  Bruno Haible  <bruno@clisp.org>
57406
57407         * m4/inttypes-h.m4: Remove stub file.
57408
57409 2007-09-07  Simon Josefsson  <simon@josefsson.org>
57410
57411         * doc/headers/stdint.texi: Discuss #include_next issue.
57412
57413 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
57414
57415         * build-aux/bootstrap: Remove obsolete comment about wget --help.
57416
57417 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57418
57419         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
57420         in variable name.
57421
57422 2007-09-03  Jim Meyering  <jim@meyering.net>
57423
57424         New module: git-version-gen.
57425         * modules/git-version-gen: New file.
57426
57427         Import changes from coreutils for bootstrap script.
57428
57429         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
57430
57431         bootstrap: uses rsync to download the .po files
57432         * build-aux/bootstrap (po_download_command_format): New global.
57433         (download_po_files): Use rsync.
57434         (update_po_files): Don't remove .po files after download,
57435         so future rsync runs can take advantage of the copies.
57436
57437         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
57438
57439         Solve the unnecessary-.po-file-regeneration problem once and for all.
57440         * build-aux/bootstrap (download_po_files): New function, renamed from
57441         get_translations.  Now, downloads, but doesn't update LINGUAS.
57442         (update_po_files): New function.
57443
57444         bootstrap: Ignore more.
57445         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
57446         uniwidth to e.g., lib/.gitignore.
57447         (slurp): Handle the sys_stat_.h -> sys mapping, too.
57448
57449         * build-aux/bootstrap: New setting: vc_ignore.
57450         (insert_sorted_if_absent): Create $file if absent.
57451         Adapt to new, possibly empty, list: $vc_ignore.
57452
57453         bootstrap: generate more ignorable names
57454         * build-aux/bootstrap (slurp): When generating ignorable names,
57455         also map .sin to .sed, .gperf to .c, and .y to .c.
57456
57457 2007-09-03  Jim Meyering  <jim@meyering.net>
57458
57459         * build-aux/git-version-gen: New file, from coreutils.  For details, see
57460         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
57461
57462 2007-09-02  Bruno Haible  <bruno@clisp.org>
57463
57464         Fix mis-recognition of 'mcs' on QNX 6.
57465         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
57466         output contains the string "Mono".
57467         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
57468         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
57469
57470 2007-09-01  Bruno Haible  <bruno@clisp.org>
57471
57472         Fix collision between uniwidth/* and linebreak modules.
57473         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
57474         u32_width): Remove declarations.
57475         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
57476         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
57477         streq3, streq2, streq1, streq0): Remove functions.
57478         (STREQ): Remove macro.
57479         (is_cjk_encoding): Remove function.
57480         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
57481         (uc_width, u8_width, u16_width, u32_width): Remove functions.
57482         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
57483         * NEWS: Document the change.
57484
57485 2007-09-01  Bruno Haible  <bruno@clisp.org>
57486
57487         * lib/streq.h: Add double-inclusion guard.
57488
57489 2007-09-01  Karl Berry  <karl@gnu.org>
57490
57491         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
57492
57493 2007-08-28  Jim Meyering  <jim@meyering.net>
57494
57495         Rename mreadlink_with_size to areadlink_with_size.
57496         * NEWS: Document the change.
57497         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
57498         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
57499         * lib/mreadlink.h: Rename this to...
57500         * lib/areadlink.h: ...this.
57501         * modules/mreadlink-with-size: Rename this to...
57502         * modules/areadlink-with-size: ...this.
57503         * lib/canonicalize.c: Reflect the renaming.
57504         * modules/canonicalize: Likewise.
57505
57506 2007-08-26  Bruno Haible  <bruno@clisp.org>
57507
57508         * gnulib-tool (func_import): When deciding which files to remove,
57509         consider also dangling symbolic links.
57510         Reported by Eric Blake.
57511
57512 2007-08-26  Bruno Haible  <bruno@clisp.org>
57513
57514         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
57515
57516 2007-08-23  Simon Josefsson  <simon@josefsson.org>
57517
57518         * lib/readline.c: Don't include getline.h, the prototype is now
57519         found in stdio.h.
57520
57521 2007-08-23  Jim Meyering  <jim@meyering.net>
57522
57523         Getdelim touchup.
57524         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
57525         around the funlockfile call, since funlockfile never sets errno.
57526         Don't set errno upon failed realloc.
57527
57528 2007-08-22  Eric Blake  <ebb9@byu.net>
57529
57530         Getline touchups.
57531         * lib/getdelim.c (getdelim): Revert regression that required *n to
57532         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
57533         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
57534         getdelim, rather than whether implementation is missing.
57535         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
57536         * lib/stdio_.h (getline): Also declare if replacement is
57537         required.
57538         * doc/functions/getdelim.texi: New file.
57539         * doc/functions/getline.texi: Likewise.
57540         * doc/gnulib.texi (Function Substitutes): Add new files.
57541         Reported by Bruno Haible.
57542
57543 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
57544
57545         * users.txt: Add Guile.
57546
57547 2007-08-22  Eric Blake  <ebb9@byu.net>
57548
57549         * tests/test-getdelim.c (main): Use remove, not unlink.
57550         * tests/test-getline.c (main): Likewise.
57551
57552         Move getline and getdelim into stdio.h, per POSIX 200x.
57553         * modules/getline (Files): Remove getline.h.
57554         (Depends-on): Add stdio.
57555         (configure.ac): Add module indicator.
57556         * modules/getdelim (Files): Remove getdelim.h.
57557         (Depends-on): Add stdio.
57558         (configure.ac): Add module indicator.
57559         * modules/stdio (Makefile.am): Work with new indicators.
57560         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
57561         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
57562         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
57563         * lib/getdelim.h: Delete.
57564         * lib/getline.h: Delete.
57565         * lib/stdio_.h (getdelim, getline): Declare.
57566         * modules/getdelim-tests: New module.
57567         * modules/getline-tests: Likewise.
57568         * tests/test-getdelim.c: New file.
57569         * tests/test-getline.c: Likewise.
57570         * NEWS: Document the change.
57571         * lib/getline.c: Update choice of header.
57572         * lib/csharpcomp.c: Likewise.
57573         * lib/getpass.c: Likewise.
57574         * lib/javacomp.c: Likewise.
57575         * lib/javaversion.c: Likewise.
57576         * lib/yesno.c: Likewise.
57577         * lib/getdelim.c: Likewise.
57578         (getdelim): Set errno on failure, and avoid memory leak.
57579
57580 2007-08-19  Bruno Haible  <bruno@clisp.org>
57581
57582         * modules/closein (Depends-on): Add freadahead.
57583         * lib/closein.c: Include freadahead.h.
57584         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
57585         is zero.
57586
57587 2007-08-19  Bruno Haible  <bruno@clisp.org>
57588
57589         * modules/freadahead-tests: New file.
57590         * tests/test-freadahead.sh: New file.
57591         * tests/test-freadahead.c: New file.
57592
57593         * modules/freadahead: New file.
57594         * lib/freadahead.h: New file.
57595         * lib/freadahead.c: New file.
57596         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
57597         fbufmode, fpurge, freadable, fwritable.
57598
57599 2007-08-19  Eric Blake  <ebb9@byu.net>
57600
57601         Test yesno in combination with closein.
57602         * lib/yesno.c (yesno): Document use of stdin.
57603         * modules/yesno-tests (Files): New module.
57604         * tests/test-yesno.c (main): New file.
57605         * tests/test-yesno.sh: Likewise.
57606
57607 2007-08-19  Bruno Haible  <bruno@clisp.org>
57608
57609         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
57610         * lib/fseeko.c (rpl_fseeko): Likewise.
57611         * lib/fseterr.c (fseterr): Likewise.
57612
57613 2007-08-19  Bruno Haible  <bruno@clisp.org>
57614
57615         * tests/test-lseek.c (main): Disable a test for BeOS.
57616         * doc/functions/lseek.texi: Document the BeOS bug.
57617
57618 2007-08-19  Bruno Haible  <bruno@clisp.org>
57619             Eric Blake  <ebb9@byu.net>
57620
57621         * lib/lseek.c: Include <sys/stat.h>.
57622         (rpl_lseek): Add workaround code also for Unix platforms.
57623         Needed for BeOS.
57624         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
57625         * doc/functions/lseek.texi: Document BeOS definiency.
57626
57627 2007-08-18  Bruno Haible  <bruno@clisp.org>
57628
57629         * modules/fstrcmp-tests: New file.
57630         * tests/test-fstrcmp.c: New file.
57631
57632 2007-08-18  Bruno Haible  <bruno@clisp.org>
57633
57634         * modules/fstrcmp: New file, from GNU gettext with modifications.
57635         * lib/fstrcmp.h: New file, from GNU gettext.
57636         * lib/fstrcmp.c: New file, from GNU gettext.
57637         * MODULES.html.sh (String handling): Add fstrcmp.
57638
57639 2007-08-18  Bruno Haible  <bruno@clisp.org>
57640
57641         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
57642         'bool'.
57643         (diag, compareseq): Remove const from the ctxt argument.
57644         (USE_HEURISTIC): Undefine at the end.
57645
57646 2007-08-18  Jim Meyering  <jim@meyering.net>
57647
57648         New file: lib/idcache.h
57649         * NEWS: Mention the addition.
57650         * modules/idcache (Files): Add lib/idcache.h
57651         * lib/idcache.c: Include "idcache.h".
57652         Don't include <sys/types.h>.
57653         Add a FIXME comment.
57654         Move file-scoped "static" declarations to the top.
57655         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
57656
57657 2007-08-17  Bruno Haible  <bruno@clisp.org>
57658         and Paul Eggert  <eggert@cs.ucla.edu>
57659
57660         * MODULES.html.sh: Add diffseq.
57661         * modules/diffseq: New file.
57662         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
57663         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
57664
57665 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57666
57667         Import changes from coreutils for bootstrap script.
57668
57669         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
57670
57671         * build-aux/bootstrap (slurp): Work even in environments where
57672         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
57673         current code does not slurp files whose names start with ".", and
57674         this looks like it might be a troublesome area.
57675
57676         2007-07-11  Jim Meyering  <jim@meyering.net>
57677
57678         If there's a GPL vN copyright comment, require that N == 3.
57679
57680         2007-07-08  Jim Meyering  <jim@meyering.net>
57681
57682         Run the coreutils-specific code only if tests/Makefile.am.in exists.
57683         * build-aux/bootstrap (mam_template): Move definition out of loop.
57684
57685         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
57686
57687         * build-aux/bootstrap (symlink_to_dir): Rename function from
57688         symlink_to_gnulib.  Add a directory parameter.  Update all
57689         callers.
57690         (cp_mark_as_generated): Also check for -- and link to -- files in
57691         gl/.
57692
57693         2007-07-08  Jim Meyering  <jim@meyering.net>
57694
57695         Adapt to deeper hierarchy in gnulib.
57696         * build-aux/bootstrap (symlink_to_dir): If the destination
57697         directory doesn't exist, create it. This is required at least for
57698         "lib/uniwidth/cjk.h".
57699
57700         2007-05-15  Jim Meyering  <jim@meyering.net>
57701
57702         * build-aux/bootstrap: Now that generated Makefile.am files
57703         are no longer under version control, they must be created at
57704         bootstrap time.
57705
57706 2007-08-14  Ben Pfaff  <blp@gnu.org>
57707
57708         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
57709
57710 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57711
57712         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
57713         given the changes below.
57714         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
57715         even on hosts that have padding bits beyond the supported 64.
57716
57717 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57718
57719         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
57720         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
57721         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
57722         depends on it.
57723         (xstrtol_error): Remove.
57724         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
57725         but with a different signature.
57726         (ATTRIBUTE_NORETURN, __attribute__): New macros.
57727         * lib/xstrtol-error.c: Include exitfail.h.
57728         (xstrtol_fatal): New function, with a different signature from the
57729         old xstrtol_error, so that the caller need not worry about passing
57730         in an exit status, or about storage management of the option argument.
57731         (xstrtol_error): Now a static function.  Redo signature to
57732         implement xstrtol_fatal.  Output the correct number of hyphens in
57733         front of the option so that the caller need not worry about
57734         storage management.
57735         (N_): New macro.
57736         (_): Remove; not used now.
57737         * modules/xstrtol: Depend on getopt.
57738         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
57739         of old STRTOL_FATAL_ERROR macro.
57740         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
57741         of test program.
57742         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
57743         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
57744
57745 2007-08-08  Eric Blake  <ebb9@byu.net>
57746
57747         * lib/xstrtol-error.c: Add missing include.
57748
57749         Move xstrtol messages into gnulib domain, when --pobase is used.
57750         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
57751         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
57752         * modules/xstrtol (Files): Distribute new file.
57753         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
57754         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
57755         * tests/test-xstrtol.c: ...into new file.
57756         * tests/test-xstrtoul.c: Also test xstrtoul.
57757         * tests/test-xstrtoimax.c: Also test xstrtoimax.
57758         * tests/test-xstrtoumax.c: Also test xstrtoumax.
57759         * tests/test-xstrtol.sh: Drive the tests.
57760         * tests/test-xstrtoimax.sh: Likewise.
57761         * tests/test-xstrtoumax.sh: Likewise.
57762         * modules/xstrtol-tests: New module.
57763         * modules/xstrtoimax-tests: Likewise.
57764         * modules/xstrtoumax-tests: Likewise.
57765
57766 2007-08-08  Jim Meyering  <jim@meyering.net>
57767
57768         New function: mfile_name_concat.
57769         * lib/filenamecat.c (mfile_name_concat): New function, just like
57770         file_name_concat, but return NULL upon failure rather than exiting
57771         with a diagnostic.
57772         * lib/filenamecat.h: Declare it.
57773
57774 2007-08-07  Bruno Haible  <bruno@clisp.org>
57775
57776         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
57777         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
57778         warning from gcc.
57779         Reported by Eric Blake.
57780
57781 2007-08-07  Simon Josefsson  <simon@josefsson.org>
57782
57783         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
57784         * modules/crypto/arcfour (License): Likewise.
57785         * modules/crypto/des-tests (License): Likewise.
57786         * modules/crypto/gc-arctwo-tests (License): Likewise.
57787         * modules/crypto/gc-des-tests (License): Likewise.
57788         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
57789         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
57790         * modules/crypto/gc-md2-tests (License): Likewise.
57791         * modules/crypto/gc-md4-tests (License): Likewise.
57792         * modules/crypto/gc-md5-tests (License): Likewise.
57793         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
57794         * modules/crypto/gc-rijndael-tests (License): Likewise.
57795         * modules/crypto/gc-sha1-tests (License): Likewise.
57796         * modules/crypto/gc-tests (License): Likewise.
57797         * modules/crypto/hmac-md5 (License): Likewise.
57798         * modules/crypto/hmac-sha1 (License): Likewise.
57799         * modules/crypto/md2-tests (License): Likewise.
57800         * modules/crypto/md4-tests (License): Likewise.
57801         * modules/crypto/md5 (License): Likewise.
57802         * modules/crypto/rijndael (License): Likewise.
57803         * modules/crypto/sha1 (License): Likewise.
57804         * modules/memxor (License): Likewise.
57805
57806 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57807         and Bruno Haible  <bruno@clisp.org>
57808
57809         * NEWS: Describe interface changes to human, xstrtol.
57810         * lib/human.h: Include <xstrtol.h>.
57811         (human_options): Return enum strtol_error, not int.  Remove
57812         bool arg; take int * instead.
57813         * lib/human.c: Don't include "gettext.h".
57814         (_): Remove; no longer used.
57815         Don't include <xstrtol.h>, since human.h does it.
57816         (human_options): Adjust to abovementioned interface changes.
57817         Do not report error to stderr; that's now the caller's
57818         responsibility.
57819         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
57820         interface change.
57821         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
57822         Str, Argument_type_string.  All uses changed.  Put " argument"
57823         in diagnostics to make them clearer.  Change wording of suffix
57824         message for clarity.
57825         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
57826         Argument_type_string.
57827         (STRTOL_FATAL_WARN): Remove; no longer used.
57828         * modules/human (Depends-on): Remove gettext-h.
57829
57830 2007-08-06  Simon Josefsson  <simon@josefsson.org>
57831
57832         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
57833
57834 2007-07-31  Bruno Haible  <bruno@clisp.org>
57835
57836         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
57837         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57838         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57839
57840 2007-07-31  Bruno Haible  <bruno@clisp.org>
57841
57842         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57843         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57844
57845 2007-07-30  Bruno Haible  <bruno@clisp.org>
57846
57847         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57848         * modules/c-ctype (License): Likewise.
57849         * modules/c-strcase (License): Likewise.
57850         * modules/check-version (License): Likewise.
57851         * modules/iconv (License): Likewise.
57852         * modules/iconv_open (License): Likewise.
57853         * modules/read-file (License): Likewise.
57854         * modules/striconv (License): Likewise.
57855         * modules/strverscmp (License): Likewise.
57856         * modules/vasprintf (License): Likewise.
57857         * modules/crypto/des (License): Likewise.
57858         * modules/crypto/gc (License): Likewise.
57859         * modules/crypto/gc-arcfour (License): Likewise.
57860         * modules/crypto/gc-arctwo (License): Likewise.
57861         * modules/crypto/gc-des (License): Likewise.
57862         * modules/crypto/gc-hmac-md5 (License): Likewise.
57863         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57864         * modules/crypto/gc-md2 (License): Likewise.
57865         * modules/crypto/gc-md4 (License): Likewise.
57866         * modules/crypto/gc-md5 (License): Likewise.
57867         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57868         * modules/crypto/gc-random (License): Likewise.
57869         * modules/crypto/gc-rijndael (License): Likewise.
57870         * modules/crypto/gc-sha1 (License): Likewise.
57871         * modules/crypto/md2 (License): Likewise.
57872         * modules/crypto/md4 (License): Likewise.
57873
57874 2007-07-30  Jim Meyering  <jim@meyering.net>
57875
57876         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57877         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57878         it has valid stat data.  This bug would cause du not to count the
57879         sizes of inaccessible directories.
57880         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57881         in <http://bugzilla.redhat.com/250077>.
57882
57883 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57884             Bruno Haible  <bruno@clisp.org>
57885
57886         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57887         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57888         #include_next, gives a diagnostic about it, but reports no error in
57889         the exit code.
57890         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57891
57892 2007-07-24  Ben Pfaff  <blp@gnu.org>
57893
57894         Improve name: "count-one-bits" is better than "popcount".
57895         * MODULES.html.sh: Update name.
57896         * lib/popcount.h: Renamed lib/count-one-bits.h.
57897         (popcount): Renamed count_one_bits.
57898         (popcountl): Renamed count_one_bits_l.
57899         (popcountll): Renamed count_one_bits_ll.
57900         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57901         * modules/popcount: Renamed module/count-one-bits.
57902         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57903         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57904
57905 2007-07-23  Ben Pfaff  <blp@gnu.org>
57906
57907         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57908         better code generation, and add U to large constants to avoid
57909         warnings, in non-GCC case.
57910         Suggested by Bruno Haible.
57911
57912 2007-07-23  Ben Pfaff  <blp@gnu.org>
57913
57914         * lib/popcount.h: Use verify_true instead of if...abort.
57915         * modules/popcount: Depend on verify module.
57916         Suggested by Jim Meyering.
57917
57918 2007-07-23  Bruno Haible  <bruno@clisp.org>
57919
57920         * gnulib-tool (func_import): Create a .cvsignore file also when the
57921         directory is not yet in CVS but the toplevel directory is. When
57922         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57923         Reported by Karl Berry.
57924
57925 2007-07-22  Ben Pfaff  <blp@gnu.org>
57926
57927         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57928         case.
57929         Suggested by Eric Blake.
57930
57931 2007-07-22  Ben Pfaff  <blp@gnu.org>
57932
57933         New module: popcount.
57934         * MODULES.html.sh: Add popcount.
57935         * modules/popcount: New file.
57936         * modules/popcount-tests: New file.
57937         * tests/test-popcount.c: New file.
57938         * lib/popcount.h: New file.
57939         * m4/popcount.m4: New file.
57940
57941 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57942
57943         * build-aux/announce-gen: Update to GPLv3.
57944
57945         * build-aux/config.guess: Update from config.
57946
57947 2007-07-21  Bruno Haible  <bruno@clisp.org>
57948
57949         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57950         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57951
57952 2007-07-20  Jim Meyering  <jim@meyering.net>
57953
57954         * check-module: Diagnose a self-dependency.
57955
57956 2007-07-19  Bruno Haible  <bruno@clisp.org>
57957
57958         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57959         empty.
57960         Reported by Eric Blake.
57961
57962 2007-07-18  Bruno Haible  <bruno@clisp.org>
57963
57964         * gnulib-tool: New options --po-base, --po-domain.
57965         (func_usage): Document them.
57966         (pobase, po_domain): New variables.
57967         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57968         DEFAULT_TEXT_DOMAIN.
57969         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57970         (func_import): Consider pobase and po_domain. Create a po/ directory.
57971         (func_create_testdir): Set pobase and po_domain to empty.
57972         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57973         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57974
57975 2007-07-18  Bruno Haible  <bruno@clisp.org>
57976
57977         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57978         EXTRA_DIST augmentation for files in build-aux/.
57979
57980 2007-07-16  Bruno Haible  <bruno@clisp.org>
57981
57982         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57983         * modules/getdelim (License): Likewise.
57984
57985 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57986
57987         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57988         * modules/d-type (License): Likewise.
57989         * modules/extensions (License): Likewise.
57990         * modules/fnmatch (License): Likewise.
57991         * modules/fseeko (License): Likewise.
57992         * modules/getaddrinfo (License): Likewise.
57993         * modules/getline (License): Likewise.
57994         * modules/getlogin_r (License): Likewise.
57995         * modules/getpass (License): Likewise.
57996         * modules/gettimeofday (License): Likewise.
57997         * modules/glob (License): Likewise.
57998         * modules/inet_ntop (License): Likewise.
57999         * modules/malloc (License): Likewise.
58000         * modules/malloca (License): Likewise.
58001         * modules/memmem (License): Likewise.
58002         * modules/mempcpy (License): Likewise.
58003         * modules/memset (License): Likewise.
58004         * modules/minmax (License): Likewise.
58005         * modules/mktime (License): Likewise.
58006         * modules/netinet_in (License): Likewise.
58007         * modules/pathmax (License): Likewise.
58008         * modules/poll (License): Likewise.
58009         * modules/regex (License): Likewise.
58010         * modules/snprintf (License): Likewise.
58011         * modules/stdbool (License): Likewise.
58012         * modules/stdint (License): Likewise.
58013         * modules/stdio (License): Likewise.
58014         * modules/strcase (License): Likewise.
58015         * modules/strcasestr (License): Likewise.
58016         * modules/strdup (License): Likewise.
58017         * modules/string (License): Likewise.
58018         * modules/strndup (License): Likewise.
58019         * modules/strnlen (License): Likewise.
58020         * modules/strpbrk (License): Likewise.
58021         * modules/strptime (License): Likewise.
58022         * modules/strsep (License): Likewise.
58023         * modules/sys_select (License): Likewise.
58024         * modules/sys_socket (License): Likewise.
58025         * modules/sys_stat (License): Likewise.
58026         * modules/sys_time (License): Likewise.
58027         * modules/time (License): Likewise.
58028         * modules/time_r (License): Likewise.
58029         * modules/timegm (License): Likewise.
58030         * modules/unistd (License): Likewise.
58031         * modules/vsnprintf (License): Likewise.
58032         * modules/wctype (License): Likewise.
58033
58034 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58035
58036         * modules/argz (License): LGPLv2+.
58037
58038 2007-07-15  Karl Berry  <karl@gnu.org>
58039
58040         * doc/gnulib.texi: revise node structure per new fdl.texi.
58041
58042 2007-07-14  Bruno Haible  <bruno@clisp.org>
58043
58044         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
58045         the output file.
58046         * lib/uniname/uninames.h: Regenerated.
58047
58048 2007-07-14  Karl Berry  <karl@gnu.org>
58049
58050         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
58051         omitting sectioning and index commands.
58052
58053 2007-07-13  Bruno Haible  <bruno@clisp.org>
58054
58055         New gnulib-tool option --more-symlinks.
58056         * gnulib-tool (func_usage): Document --more-symlinks.
58057         (do_copyrights): New variable.
58058         Recognize option --more-symlinks.
58059         (func_import): Don't add a copyright notice transform to
58060         sed_transform_lib_file if do_copyrights is empty.
58061
58062 2007-07-13  Bruno Haible  <bruno@clisp.org>
58063
58064         * lib/vasnprintf.c (decimal_point_char): Define also if
58065         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
58066         && !NEED_PRINTF_DIRECTIVE_A.
58067         Reported by Clemens Koller <clemens.koller@anagramm.de> via
58068         Gary V. Vaughan <gary@gnu.org>.
58069
58070 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
58071
58072         * lib/inttypes_.h: Undo previous change, since it was fixed
58073         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
58074
58075 2007-07-13  Bruno Haible  <bruno@clisp.org>
58076
58077         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
58078         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
58079
58080 2007-07-13  Jim Meyering  <jim@meyering.net>
58081
58082         df: Don't fail for Tru64's "file-on-file mount".
58083         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
58084         so we fall through and use statfs instead.  Details here:
58085         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
58086         Reported by Albert Chin.
58087
58088 2007-07-13  Bruno Haible  <bruno@clisp.org>
58089
58090         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
58091         * modules/configmake (License): Likewise.
58092         * modules/gettext (License): Likewise.
58093         * modules/gettext-h (License): Likewise.
58094         * modules/include_next (License): Likewise.
58095         * modules/link-warning (License): Likewise.
58096         * modules/localcharset (License): Likewise.
58097         * modules/localename (License): Likewise.
58098         * modules/lock (License): Likewise.
58099         * modules/relocatable-lib-lgpl (License): Likewise.
58100         * modules/size_max (License): Likewise.
58101         * modules/vasnprintf (License): Likewise.
58102         * modules/wchar (License): Likewise.
58103         * modules/xsize (License): Likewise.
58104
58105 2007-07-13  Bruno Haible  <bruno@clisp.org>
58106
58107         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
58108         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
58109
58110 2007-07-12  Bruno Haible  <bruno@clisp.org>
58111
58112         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
58113         in the modules files.
58114
58115 2007-07-11  Karl Berry  <karl@gnu.org>
58116
58117         * MODULES.html.sh (func_module): use
58118          sed -e '\|^'"${includefile}"'$|d'
58119          instead of /.../d, to avoid errors on $includefile's containing /.
58120
58121 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
58122
58123         * gnulib-tool (func_import): Avoid duplication of --avoid
58124         statements
58125         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
58126         names to `_' in variable names.
58127
58128 2007-07-10  Eric Blake  <ebb9@byu.net>
58129
58130         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
58131         * NEWS: Document this change.
58132
58133 2007-07-08  Bruno Haible  <bruno@clisp.org>
58134
58135         Update to Unicode 5.0.
58136         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
58137         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
58138         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
58139         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
58140         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
58141         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
58142         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
58143         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
58144         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
58145         U+10A3F, U+1D242..U+1D244.
58146         (nonspacing_table_ind): Update.
58147         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
58148         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
58149
58150 2007-07-08  Bruno Haible  <bruno@clisp.org>
58151
58152         Update to Unicode 5.0.
58153         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
58154         code transform. Extend the name index field of unicode_name_to_code and
58155         unicode_code_to_name from 16 to 24 bits.
58156         * lib/uniname/uniname.c (unicode_character_name,
58157         unicode_name_character): Add the range 0x12xxx to the code transform.
58158         * lib/uniname/uninames.h: Regenerated.
58159         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
58160
58161 2007-07-07  Bruno Haible  <bruno@clisp.org>
58162
58163         * modules/wcwidth-tests: New file.
58164         * tests/test-wcwidth.c: New file.
58165
58166         Work around MacOS X wcwidth() bug.
58167         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
58168         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
58169         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
58170         original wcwidth in non-UTF-8 locales.
58171         * modules/wcwidth (Depends-on): Add localcharset, streq,
58172         uniwidth/width.
58173         * doc/functions/wcwidth.texi: Update.
58174
58175 2007-07-07  Bruno Haible  <bruno@clisp.org>
58176
58177         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
58178         (wcwidth): New declaration.
58179         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
58180         macros.
58181         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
58182         here. Prepare for creating <wchar.h> unconditionally.
58183         * modules/wchar (Depends-on): Add link-warning.
58184         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
58185         REPLACE_WCWIDTH, and GL_LINK_WARNING.
58186         * lib/wcwidth.h: Remove file.
58187         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
58188         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
58189         * modules/wcwidth (Files): Remove lib/wcwidth.h.
58190         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
58191         (Include): Replace wcwidth.h with <wchar.h>.
58192         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
58193         * lib/mbchar.h: Don't include wcwidth.h.
58194         * lib/mbswidth.c: Likewise.
58195         * NEWS: Mention the change.
58196
58197 2007-07-07  Bruno Haible  <bruno@clisp.org>
58198
58199         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
58200         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
58201         definition with an external declaration.
58202         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
58203         defined as a function. Remove AC_C_INLINE requirement.
58204         * modules/wcwidth (Files): Add lib/wcwidth.c.
58205         (Makefile.am): Remove redundant statement.
58206
58207 2007-07-07  Bruno Haible  <bruno@clisp.org>
58208
58209         * MODULES.html.sh (Unicode string functions): Add the new modules.
58210
58211         * tests/uniwidth/test-u32-strwidth.c: New file.
58212         * modules/uniwidth/u32-strwidth-tests: New file.
58213
58214         * lib/uniwidth/u32-strwidth.c: New file.
58215         * modules/uniwidth/u32-strwidth: New file.
58216
58217         * tests/uniwidth/test-u16-strwidth.c: New file.
58218         * modules/uniwidth/u16-strwidth-tests: New file.
58219
58220         * lib/uniwidth/u16-strwidth.c: New file.
58221         * modules/uniwidth/u16-strwidth: New file.
58222
58223         * tests/uniwidth/test-u8-strwidth.c: New file.
58224         * modules/uniwidth/u8-strwidth-tests: New file.
58225
58226         * lib/uniwidth/u8-strwidth.c: New file.
58227         * modules/uniwidth/u8-strwidth: New file.
58228
58229         * tests/uniwidth/test-u32-width.c: New file.
58230         * modules/uniwidth/u32-width-tests: New file.
58231
58232         * lib/uniwidth/u32-width.c: New file.
58233         * modules/uniwidth/u32-width: New file.
58234
58235         * tests/uniwidth/test-u16-width.c: New file.
58236         * modules/uniwidth/u16-width-tests: New file.
58237
58238         * lib/uniwidth/u16-width.c: New file.
58239         * modules/uniwidth/u16-width: New file.
58240
58241         * tests/uniwidth/test-u8-width.c: New file.
58242         * modules/uniwidth/u8-width-tests: New file.
58243
58244         * lib/uniwidth/u8-width.c: New file.
58245         * modules/uniwidth/u8-width: New file.
58246
58247         * tests/uniwidth/test-uc_width.c: New file.
58248         * modules/uniwidth/width-tests: New file.
58249
58250         * lib/uniwidth/width.c: New file, from GNU libiconv.
58251         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
58252         * modules/uniwidth/width: New file.
58253
58254         * lib/uniwidth.h: New file, from GNU libiconv.
58255         * modules/uniwidth/base: New file.
58256
58257 2007-07-07  Bruno Haible  <bruno@clisp.org>
58258
58259         * lib/uniname.h: New file, from GNU gettext.
58260         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
58261         * lib/uniname/uninames.h: New file, from GNU gettext.
58262         * lib/uniname/uniname.c: New file, from GNU gettext.
58263         * tests/uniname/test-uninames.sh: New file.
58264         * tests/uniname/test-uninames.c: New file, from GNU gettext.
58265         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
58266         * modules/uniname/base: New file.
58267         * modules/uniname/uniname: New file.
58268         * modules/uniname/uniname-tests: New file.
58269         * MODULES.html.sh (Unicode string functions): Add the new modules.
58270
58271 2007-07-06  Bruno Haible  <bruno@clisp.org>
58272
58273         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
58274
58275 2007-07-06  Bruno Haible  <bruno@clisp.org>
58276
58277         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
58278         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
58279         includes <cygwin/sys_time.h> which includes <sys/select.h> which
58280         include <sys/time.h>.
58281         Reported by Eric Blake.
58282
58283 2007-07-06  Eric Blake  <ebb9@byu.net>
58284
58285         Fix testing canonicalize on cygwin.
58286         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58287         Revert patch from 2007-06-19.
58288         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
58289         canonicalize module is also in use.
58290         * tests/test-canonicalize.c: New file.
58291         * tests/test-canonicalize.sh: Likewise.
58292         * modules/canonicalize-tests: Likewise.
58293
58294 2007-07-06  Jim Meyering  <jim@meyering.net>
58295
58296         * lib/getugroups.c (getugroups): Detect getgrent failure.
58297         Adjust comment to reflect reality: this function may return -1.
58298
58299 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
58300
58301         * build-aux/bootstrap (TP_URL,get_translations): Update to use
58302         the new TP address.
58303         (usage): Fix typo
58304         (gnulib_mk): New variable.
58305
58306 2007-07-05  Jim Meyering  <jim@meyering.net>
58307
58308         Don't let endgrent clobber errno, no matter how improbable.
58309         * lib/getugroups.c (getugroups): Save and restore errno around
58310         endgrent call.
58311
58312         Close the group DB even when failing with 2^31 or more members.
58313         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
58314
58315 2007-07-04  Jim Meyering  <jim@meyering.net>
58316
58317         * lib/getugroups.h: New file.
58318         * lib/getugroups.c: Include "getugroups.h".
58319         Remove uses of "register" keyword.
58320         Move local variable, "cp", down into scope where used.
58321         Give "username" parameter the "const" attribute.
58322         * modules/getugroups (Files): Add lib/getugroups.h
58323
58324 2007-07-04  Karl Berry  <karl@gnu.org>
58325
58326         * MODULES.html.sh (func_all_modules): Complete rename of
58327         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
58328
58329 2007-07-02  Bruno Haible  <bruno@clisp.org>
58330
58331         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
58332         mode, when inttypes.h comes from gnulib.
58333         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58334
58335 2007-07-02  Simon Josefsson  <simon@josefsson.org>
58336
58337         * NEWS: Mention lgpl module name change.
58338
58339         * modules/lgpl-2.1: Renamed from lgpl.
58340
58341         * NEWS: Mention gpl module name change.
58342
58343         * modules/gpl-3.0: New file, based on gpl-2.0.
58344
58345         * modules/gpl-2.0: Renamed from gpl.
58346
58347         * modules/gpl: Fix filename, doc/gpl.texi is now found at
58348         doc/gpl-2.0.texi.
58349
58350 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58351
58352         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
58353         #define __STDC_LIMIT_MACROS temporarily while including
58354         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
58355         Problem reported by Joel E. Denny in
58356         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
58357
58358 2007-07-01  Bruno Haible  <bruno@clisp.org>
58359
58360         * lib/unistdio.h: New file.
58361         * lib/unistdio/u-asnprintf.h: New file.
58362         * lib/unistdio/u-asprintf.h: New file.
58363         * lib/unistdio/u-printf-args.c: New file.
58364         * lib/unistdio/u-printf-args.h: New file.
58365         * lib/unistdio/u-printf-parse.h: New file.
58366         * lib/unistdio/u-snprintf.h: New file.
58367         * lib/unistdio/u-sprintf.h: New file.
58368         * lib/unistdio/u-vasprintf.h: New file.
58369         * lib/unistdio/u-vsnprintf.h: New file.
58370         * lib/unistdio/u-vsprintf.h: New file.
58371         * lib/unistdio/ulc-asnprintf.c: New file.
58372         * lib/unistdio/ulc-asprintf.c: New file.
58373         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
58374         * lib/unistdio/ulc-printf-parse.c: New file.
58375         * lib/unistdio/ulc-snprintf.c: New file.
58376         * lib/unistdio/ulc-sprintf.c: New file.
58377         * lib/unistdio/ulc-vasnprintf.c: New file.
58378         * lib/unistdio/ulc-vasprintf.c: New file.
58379         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
58380         * lib/unistdio/ulc-vsnprintf.c: New file.
58381         * lib/unistdio/ulc-vsprintf.c: New file.
58382         * lib/unistdio/u8-asnprintf.c: New file.
58383         * lib/unistdio/u8-asprintf.c: New file.
58384         * lib/unistdio/u8-printf-parse.c: New file.
58385         * lib/unistdio/u8-snprintf.c: New file.
58386         * lib/unistdio/u8-sprintf.c: New file.
58387         * lib/unistdio/u8-vasnprintf.c: New file.
58388         * lib/unistdio/u8-vasprintf.c: New file.
58389         * lib/unistdio/u8-vsnprintf.c: New file.
58390         * lib/unistdio/u8-vsprintf.c: New file.
58391         * lib/unistdio/u8-u8-asnprintf.c: New file.
58392         * lib/unistdio/u8-u8-asprintf.c: New file.
58393         * lib/unistdio/u8-u8-snprintf.c: New file.
58394         * lib/unistdio/u8-u8-sprintf.c: New file.
58395         * lib/unistdio/u8-u8-vasnprintf.c: New file.
58396         * lib/unistdio/u8-u8-vasprintf.c: New file.
58397         * lib/unistdio/u8-u8-vsnprintf.c: New file.
58398         * lib/unistdio/u8-u8-vsprintf.c: New file.
58399         * lib/unistdio/u16-asnprintf.c: New file.
58400         * lib/unistdio/u16-asprintf.c: New file.
58401         * lib/unistdio/u16-printf-parse.c: New file.
58402         * lib/unistdio/u16-snprintf.c: New file.
58403         * lib/unistdio/u16-sprintf.c: New file.
58404         * lib/unistdio/u16-vasnprintf.c: New file.
58405         * lib/unistdio/u16-vasprintf.c: New file.
58406         * lib/unistdio/u16-vsnprintf.c: New file.
58407         * lib/unistdio/u16-vsprintf.c: New file.
58408         * lib/unistdio/u16-u16-asnprintf.c: New file.
58409         * lib/unistdio/u16-u16-asprintf.c: New file.
58410         * lib/unistdio/u16-u16-snprintf.c: New file.
58411         * lib/unistdio/u16-u16-sprintf.c: New file.
58412         * lib/unistdio/u16-u16-vasnprintf.c: New file.
58413         * lib/unistdio/u16-u16-vasprintf.c: New file.
58414         * lib/unistdio/u16-u16-vsnprintf.c: New file.
58415         * lib/unistdio/u16-u16-vsprintf.c: New file.
58416         * lib/unistdio/u32-asnprintf.c: New file.
58417         * lib/unistdio/u32-asprintf.c: New file.
58418         * lib/unistdio/u32-printf-parse.c: New file.
58419         * lib/unistdio/u32-snprintf.c: New file.
58420         * lib/unistdio/u32-sprintf.c: New file.
58421         * lib/unistdio/u32-vasnprintf.c: New file.
58422         * lib/unistdio/u32-vasprintf.c: New file.
58423         * lib/unistdio/u32-vsnprintf.c: New file.
58424         * lib/unistdio/u32-vsprintf.c: New file.
58425         * lib/unistdio/u32-u32-asnprintf.c: New file.
58426         * lib/unistdio/u32-u32-asprintf.c: New file.
58427         * lib/unistdio/u32-u32-snprintf.c: New file.
58428         * lib/unistdio/u32-u32-sprintf.c: New file.
58429         * lib/unistdio/u32-u32-vasnprintf.c: New file.
58430         * lib/unistdio/u32-u32-vasprintf.c: New file.
58431         * lib/unistdio/u32-u32-vsnprintf.c: New file.
58432         * lib/unistdio/u32-u32-vsprintf.c: New file.
58433         * tests/unistdio/test-ulc-asnprintf1.c: New file.
58434         * tests/unistdio/test-ulc-asnprintf1.h: New file.
58435         * tests/unistdio/test-ulc-printf1.h: New file.
58436         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
58437         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
58438         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
58439         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
58440         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
58441         * tests/unistdio/test-ulc-vasprintf1.c: New file.
58442         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
58443         * tests/unistdio/test-ulc-vsprintf1.c: New file.
58444         * tests/unistdio/test-u8-asnprintf1.c: New file.
58445         * tests/unistdio/test-u8-asnprintf1.h: New file.
58446         * tests/unistdio/test-u8-printf1.h: New file.
58447         * tests/unistdio/test-u8-vasnprintf1.c: New file.
58448         * tests/unistdio/test-u8-vasnprintf2.c: New file.
58449         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
58450         * tests/unistdio/test-u8-vasnprintf3.c: New file.
58451         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
58452         * tests/unistdio/test-u8-vasprintf1.c: New file.
58453         * tests/unistdio/test-u8-vsnprintf1.c: New file.
58454         * tests/unistdio/test-u8-vsprintf1.c: New file.
58455         * tests/unistdio/test-u16-asnprintf1.c: New file.
58456         * tests/unistdio/test-u16-asnprintf1.h: New file.
58457         * tests/unistdio/test-u16-printf1.h: New file.
58458         * tests/unistdio/test-u16-vasnprintf1.c: New file.
58459         * tests/unistdio/test-u16-vasnprintf2.c: New file.
58460         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
58461         * tests/unistdio/test-u16-vasnprintf3.c: New file.
58462         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
58463         * tests/unistdio/test-u16-vasprintf1.c: New file.
58464         * tests/unistdio/test-u16-vsnprintf1.c: New file.
58465         * tests/unistdio/test-u16-vsprintf1.c: New file.
58466         * tests/unistdio/test-u32-asnprintf1.c: New file.
58467         * tests/unistdio/test-u32-asnprintf1.h: New file.
58468         * tests/unistdio/test-u32-printf1.h: New file.
58469         * tests/unistdio/test-u32-vasnprintf1.c: New file.
58470         * tests/unistdio/test-u32-vasnprintf2.c: New file.
58471         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
58472         * tests/unistdio/test-u32-vasnprintf3.c: New file.
58473         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
58474         * tests/unistdio/test-u32-vasprintf1.c: New file.
58475         * tests/unistdio/test-u32-vsnprintf1.c: New file.
58476         * tests/unistdio/test-u32-vsprintf1.c: New file.
58477         * modules/unistdio/base: New file.
58478         * modules/unistdio/u-printf-args: New file.
58479         * modules/unistdio/ulc-asnprintf: New file.
58480         * modules/unistdio/ulc-asprintf: New file.
58481         * modules/unistdio/ulc-fprintf: New file.
58482         * modules/unistdio/ulc-printf-parse: New file.
58483         * modules/unistdio/ulc-snprintf: New file.
58484         * modules/unistdio/ulc-sprintf: New file.
58485         * modules/unistdio/ulc-vasnprintf: New file.
58486         * modules/unistdio/ulc-vasprintf: New file.
58487         * modules/unistdio/ulc-vfprintf: New file.
58488         * modules/unistdio/ulc-vsnprintf: New file.
58489         * modules/unistdio/ulc-vsprintf: New file.
58490         * modules/unistdio/u8-asnprintf: New file.
58491         * modules/unistdio/u8-asprintf: New file.
58492         * modules/unistdio/u8-printf-parse: New file.
58493         * modules/unistdio/u8-snprintf: New file.
58494         * modules/unistdio/u8-sprintf: New file.
58495         * modules/unistdio/u8-vasnprintf: New file.
58496         * modules/unistdio/u8-vasprintf: New file.
58497         * modules/unistdio/u8-vsnprintf: New file.
58498         * modules/unistdio/u8-vsprintf: New file.
58499         * modules/unistdio/u8-u8-asnprintf: New file.
58500         * modules/unistdio/u8-u8-asprintf: New file.
58501         * modules/unistdio/u8-u8-snprintf: New file.
58502         * modules/unistdio/u8-u8-sprintf: New file.
58503         * modules/unistdio/u8-u8-vasnprintf: New file.
58504         * modules/unistdio/u8-u8-vasprintf: New file.
58505         * modules/unistdio/u8-u8-vsnprintf: New file.
58506         * modules/unistdio/u8-u8-vsprintf: New file.
58507         * modules/unistdio/u16-asnprintf: New file.
58508         * modules/unistdio/u16-asprintf: New file.
58509         * modules/unistdio/u16-printf-parse: New file.
58510         * modules/unistdio/u16-snprintf: New file.
58511         * modules/unistdio/u16-sprintf: New file.
58512         * modules/unistdio/u16-vasnprintf: New file.
58513         * modules/unistdio/u16-vasprintf: New file.
58514         * modules/unistdio/u16-vsnprintf: New file.
58515         * modules/unistdio/u16-vsprintf: New file.
58516         * modules/unistdio/u16-u16-asnprintf: New file.
58517         * modules/unistdio/u16-u16-asprintf: New file.
58518         * modules/unistdio/u16-u16-snprintf: New file.
58519         * modules/unistdio/u16-u16-sprintf: New file.
58520         * modules/unistdio/u16-u16-vasnprintf: New file.
58521         * modules/unistdio/u16-u16-vasprintf: New file.
58522         * modules/unistdio/u16-u16-vsnprintf: New file.
58523         * modules/unistdio/u16-u16-vsprintf: New file.
58524         * modules/unistdio/u32-asnprintf: New file.
58525         * modules/unistdio/u32-asprintf: New file.
58526         * modules/unistdio/u32-printf-parse: New file.
58527         * modules/unistdio/u32-snprintf: New file.
58528         * modules/unistdio/u32-sprintf: New file.
58529         * modules/unistdio/u32-vasnprintf: New file.
58530         * modules/unistdio/u32-vasprintf: New file.
58531         * modules/unistdio/u32-vsnprintf: New file.
58532         * modules/unistdio/u32-vsprintf: New file.
58533         * modules/unistdio/u32-u32-asnprintf: New file.
58534         * modules/unistdio/u32-u32-asprintf: New file.
58535         * modules/unistdio/u32-u32-snprintf: New file.
58536         * modules/unistdio/u32-u32-sprintf: New file.
58537         * modules/unistdio/u32-u32-vasnprintf: New file.
58538         * modules/unistdio/u32-u32-vasprintf: New file.
58539         * modules/unistdio/u32-u32-vsnprintf: New file.
58540         * modules/unistdio/u32-u32-vsprintf: New file.
58541         * modules/unistdio/ulc-asnprintf-tests: New file.
58542         * modules/unistdio/ulc-vasnprintf-tests: New file.
58543         * modules/unistdio/ulc-vasprintf-tests: New file.
58544         * modules/unistdio/ulc-vsnprintf-tests: New file.
58545         * modules/unistdio/ulc-vsprintf-tests: New file.
58546         * modules/unistdio/u8-asnprintf-tests: New file.
58547         * modules/unistdio/u8-vasnprintf-tests: New file.
58548         * modules/unistdio/u8-vasprintf-tests: New file.
58549         * modules/unistdio/u8-vsnprintf-tests: New file.
58550         * modules/unistdio/u8-vsprintf-tests: New file.
58551         * modules/unistdio/u16-asnprintf-tests: New file.
58552         * modules/unistdio/u16-vasnprintf-tests: New file.
58553         * modules/unistdio/u16-vasprintf-tests: New file.
58554         * modules/unistdio/u16-vsnprintf-tests: New file.
58555         * modules/unistdio/u16-vsprintf-tests: New file.
58556         * modules/unistdio/u32-asnprintf-tests: New file.
58557         * modules/unistdio/u32-vasnprintf-tests: New file.
58558         * modules/unistdio/u32-vasprintf-tests: New file.
58559         * modules/unistdio/u32-vsnprintf-tests: New file.
58560         * modules/unistdio/u32-vsprintf-tests: New file.
58561         * MODULES.html.sh (Unicode string functions): Add the new modules.
58562
58563 2007-07-01  Bruno Haible  <bruno@clisp.org>
58564
58565         * lib/sprintf.c (sprintf): Limit the available length estimation,
58566         to avoid address wraparound.
58567         * lib/vsprintf.c (vsprintf): Likewise.
58568         * modules/sprintf-posix (Dependencies): Add stdint.
58569         * modules/vsprintf-posix (Dependencies): Likewise.
58570
58571 2007-07-01  Bruno Haible  <bruno@clisp.org>
58572
58573         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
58574         Windows PATH as well. Conservative double-quoting. Comments.
58575
58576 2007-07-01  Bruno Haible  <bruno@clisp.org>
58577             Eric Blake  <ebb9@byu.net>
58578             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58579
58580         * gnulib-tool (self_abspathname): Fix algorithm to cope with
58581         empty components in $PATH, denoting '.'.
58582
58583 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58584
58585         * gnulib-tool: Fix indentation.
58586         (func_create_megatestdir): Likewise.
58587         Report by Bruno Haible.
58588
58589 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58590
58591         Sync from Automake.
58592         * build-aux/gnupload: Fix shell portability issues with for loops.
58593         Report by Karl Berry.
58594
58595 2007-06-29  Simon Josefsson  <simon@josefsson.org>
58596
58597         * build-aux/maint.mk (POURL): Use translationproject.org.
58598
58599 2007-06-27  Simon Josefsson  <simon@josefsson.org>
58600             Bruno Haible  <bruno@clisp.org>
58601
58602         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
58603         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
58604         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
58605         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
58606         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
58607
58608 2007-06-27  Bruno Haible  <bruno@clisp.org>
58609
58610         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
58611         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
58612
58613 2007-06-26  Karl Berry  <karl@gnu.org>
58614
58615         * MODULES.html.sh: remove xreadlink-with-size.
58616
58617 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58618
58619         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
58620         method that I hope also handles the double-include problem noted
58621         by Bruno Haible in
58622         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
58623
58624 2007-06-23  Bruno Haible  <bruno@clisp.org>
58625
58626         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58627         Don't let the 'mostlyclean' target fail if the last subdirectory could
58628         not be removed.
58629         Reported by Karl Berry.
58630
58631 2007-06-23  Bruno Haible  <bruno@clisp.org>
58632
58633         * gnulib-tool (echo): Add a speedier workaround for ksh.
58634         * tests/test-echo.sh: Likewise.
58635
58636 2007-06-23  Bruno Haible  <bruno@clisp.org>
58637
58638         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
58639         * tests/test-echo.sh: Likewise.
58640
58641 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58642
58643         * gnulib-tool (IFS): Initialize early, so we don't set it to
58644         empty later.
58645         (self_abspathname): Rewrite algorithm to set it, reindent.
58646         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
58647         (func_create_megatestdir): Merge some sed scripts.
58648
58649 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58650
58651         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
58652         exposed by Sun Studio 11 cc on Solaris 8.
58653
58654 2007-06-22  Bruno Haible  <bruno@clisp.org>
58655
58656         * gnulib-tool (echo): Ensure the echo primitive does not interpret
58657         backslashes.
58658         * tests/test-echo.sh: New file.
58659
58660 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58661
58662         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
58663         simplify `sed_replace_build_aux' scripts, they are portable but
58664         echoing them with `echo' is not.
58665         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
58666
58667 2007-06-21  Karl Berry  <karl@gnu.org>
58668
58669         * config/srclist.txt: guess we can't handle the licenses via
58670         srclist at the moment.
58671
58672 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
58673
58674         * MODULES.html.sh: Add include_next.
58675         * modules/include_next: New file.
58676
58677 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
58678
58679         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
58680         INCLUDE_NEXT.
58681         (gl_CHECK_NEXT_HEADERS): New macro.
58682         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
58683         the obsolescent gl_ABSOLUTE_HEADER.
58684         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
58685         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
58686         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
58687         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
58688         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
58689         * m4/math_h.m4 (gl_MATH_H): Likewise.
58690         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
58691         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
58692         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
58693         * m4/stdint.m4 (gl_STDINT_H): Likewise.
58694         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
58695         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
58696         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
58697         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58698         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
58699         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
58700         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
58701         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
58702         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
58703         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
58704         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
58705         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58706         * m4/inttypes.m4 (gl_INTTYPES_H): Define
58707         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
58708         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
58709         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
58710         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
58711         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
58712         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
58713         * lib/float_.h: Likewise.
58714         * lib/inttypes_.h: Likewise.
58715         * lib/math_.h: Likewise.
58716         * lib/search_.h: Likewise.
58717         * lib/signal_.h: Likewise.
58718         * lib/stdint_.h: Likewise.
58719         * lib/stdio_.h: Likewise.
58720         * lib/stdlib_.h: Likewise.
58721         * lib/string_.h: Likewise.
58722         * lib/sys_stat_.h: Likewise.
58723         * lib/sys_time_.h: Likewise.
58724         * lib/time_.h: Likewise.
58725         * lib/unistd_.h: Likewise.
58726         * lib/wchar_.h: Likewise.
58727         * lib/wctype_.h: Likewise.
58728         * lib/dirent_.h: Likewise.
58729         * lib/iconv_.h: Likewise.
58730         * lib/locale_.h: Likewise.
58731         * lib/netinet_in_.h: Likewise.
58732         * lib/sys_select_.h: Likewise.
58733         * lib/sys_socket_.h: Likewise.
58734         * lib/sysexits_.h: Likewise.
58735         * modules/fcntl (Depends-on): Depend on include_next, not
58736         absolute_header.
58737         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
58738         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
58739         * modules/fchdir: Likewise.
58740         * modules/float: Likewise.
58741         * modules/iconv_open: Likewise.
58742         * modules/inttypes: Likewise.
58743         * modules/locale: Likewise.
58744         * modules/math: Likewise.
58745         * modules/netinet_in: Likewise.
58746         * modules/search: Likewise.
58747         * modules/signal: Likewise.
58748         * modules/stdint: Likewise.
58749         * modules/stdio: Likewise.
58750         * modules/stdlib: Likewise.
58751         * modules/string: Likewise.
58752         * modules/sys_select: Likewise.
58753         * modules/sys_socket: Likewise.
58754         * modules/sys_stat: Likewise.
58755         * modules/sys_time: Likewise.
58756         * modules/sysexits: Likewise.
58757         * modules/time: Likewise.
58758         * modules/unistd: Likewise.
58759         * modules/wchar: Likewise.
58760         * modules/wctype: Likewise.
58761         * modules/sys_stat: Change maintainer to "all".
58762         * modules/unistd: Likewise.
58763
58764 2007-06-20  Karl Berry  <karl@gnu.org>
58765
58766         * config/srclist.txt: track www changes in license files.
58767
58768 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
58769
58770         * build-aux/bootstrap: Remove stray dot.
58771         Make sure build_aux settings are honored when linking
58772         gnulib_extra_files.
58773
58774 2007-06-19  Eric Blake  <ebb9@byu.net>
58775
58776         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58777         Allow compilation on cygwin.
58778
58779 2007-06-19  Jim Meyering  <jim@meyering.net>
58780
58781         xreadlink-with-size: Remove module.  No longer used.
58782         Ex-callers now use xreadlink or mreadlink-with-size.
58783         * modules/xreadlink-with-size: Remove module.
58784         * lib/xreadlink-with-size.c: Remove file.
58785         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
58786         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
58787         just before the function definition *is* accurate.
58788
58789         Eliminate one way canonicalize_filename_mode could exit.
58790         * lib/canonicalize.c (canonicalize_filename_mode):
58791         Use mreadlink_with_size, not xreadlink_with_size.
58792
58793 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
58794
58795         Detect porting problems to FreeBSD/arm, which has time_t wider than
58796         long int.  Original problem reported for GNU diff by Xin Li in
58797         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
58798         * modules/getdate (Depends-on): Add intprops, verify.
58799         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
58800         is an integer type no wider than long int.
58801
58802 2007-06-18  Jim Meyering  <jim@meyering.net>
58803
58804         New module: mreadlink-with-size.
58805         * MODULES.html.sh: Add mreadlink-with-size.
58806         * modules/mreadlink-with-size: New module
58807         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
58808         not xreadlink-with-size.
58809         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
58810
58811 2007-06-16  Bruno Haible  <bruno@clisp.org>
58812
58813         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
58814         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
58815         Reported by Gary V. Vaughan <gary@gnu.org>.
58816
58817 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
58818
58819         Revamp lchown so that it lives in unistd.h where it belongs.
58820         * lib/lchown.h: Remove.
58821         * lib/dirchownmod.c: Don't include lib/lchown.h.
58822         * lib/fchownat.c: Likewise.
58823         * lib/openat.c: Likewise.
58824         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
58825         does not follow symlinks.
58826         (EOPNOTSUPP): Define if not defined.
58827         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
58828         is defined to 0.
58829         (lchown): New decl.
58830         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
58831         Do not check for lchown decl.
58832         Set REPLACE_LCHOWN.
58833         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
58834         REPLACE_LCHOWN.
58835         * modules/chown: Make it clear it follows symlinks.
58836         * modules/lchown: Make it clear it doesn't follow symlinks.
58837         (Files): Remove lib/lchown.h
58838         (Depends-on): Add unistd.
58839         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58840         (Include): Include <unistd.h>, not "lchown.h".
58841         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58842         REPLACE_LCHOWN.
58843
58844 2007-06-15  Jim Meyering  <jim@meyering.net>
58845
58846         Change license (GPL to LGPL) of fsusage and dependents.
58847         * modules/fsusage (License): Change to LGPL.
58848         * modules/full-read (License): Likewise.
58849         * modules/full-write (License): Likewise.
58850         * modules/safe-read (License): Likewise.
58851         * modules/safe-write (License): Likewise.
58852
58853 2007-06-14  Ben Pfaff  <blp@gnu.org>
58854
58855         Missing part of allocsa -> malloca transition.
58856         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58857         gl_MALLOCA.
58858
58859 2007-06-12  Bruno Haible  <bruno@clisp.org>
58860
58861         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58862         to ia64, x86_64, i386.
58863         Reported by Eric Blake.
58864
58865 2007-06-12  Bruno Haible  <bruno@clisp.org>
58866
58867         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58868         cross-compiling to x86_64.
58869
58870 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58871
58872         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58873         glitch reported by Ralf Wildenhues in
58874         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58875
58876         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58877         Vin Shelton.
58878
58879 2007-06-11  Bruno Haible  <bruno@clisp.org>
58880
58881         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58882         replacement string.
58883         Reported by Eric Blake.
58884
58885 2007-06-10  Bruno Haible  <bruno@clisp.org>
58886
58887         Prepare vasnprintf code for use with Unicode strings.
58888         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58889         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58890         TYPE_U32_STRING.
58891         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58892         a_u32_string variants.
58893         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58894         * lib/printf-args.c: Don't include config.h and the specification
58895         header if PRINTF_FETCHARGS is already defined.
58896         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58897         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58898         TYPE_U16_STRING, TYPE_U32_STRING.
58899         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58900         u16_directive, u16_directives, u32_directive, u32_directives): New
58901         types.
58902         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58903         New declarations.
58904         * lib/printf-parse.c: Don't include config.h and the specification
58905         header if PRINTF_PARSE is already defined. Eliminate the set of
58906         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58907         them now. Include c-ctype.h.
58908         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58909         directive and CHAR_T_ONLY_ASCII.
58910         * lib/vasnprintf.c: Don't include config.h and the specification header
58911         if VASNPRINTF is already defined.
58912         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58913         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58914         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58915         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58916         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58917         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58918         code accordingly.
58919         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58920         pad_ourselves also in this case, with the 'c' and 's' directives, and
58921         with a different notion of "width".
58922         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58923
58924 2007-06-10  Bruno Haible  <bruno@clisp.org>
58925
58926         * modules/unistr/u32-mbsnlen: New file.
58927         * lib/unistr/u32-mbsnlen.c: New file.
58928
58929         * modules/unistr/u16-mbsnlen: New file.
58930         * lib/unistr/u16-mbsnlen.c: New file.
58931
58932         * modules/unistr/u8-mbsnlen: New file.
58933         * lib/unistr/u8-mbsnlen.c: New file.
58934
58935         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58936         declarations.
58937
58938 2007-06-10  Bruno Haible  <bruno@clisp.org>
58939
58940         * lib/string_.h (mbsnlen): New declaration.
58941         * lib/mbsnlen.c: New file.
58942         * m4/mbsnlen.m4: New file.
58943         * modules/mbsnlen: New file.
58944         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58945         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58946         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58947
58948 2007-06-10  Bruno Haible  <bruno@clisp.org>
58949
58950         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58951
58952 2007-06-10  Bruno Haible  <bruno@clisp.org>
58953
58954         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58955         * lib/mbuiter.h: Likewise.
58956
58957 2007-06-10  Bruno Haible  <bruno@clisp.org>
58958
58959         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58960         declaration.
58961
58962 2007-06-10  Karl Berry  <karl@gnu.org>
58963
58964         * config/srclist.txt: remove gettext entries, Bruno prefers
58965         to update individually.
58966
58967 2007-06-10  Bruno Haible  <bruno@clisp.org>
58968
58969         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58970         'maxlen'. Ensure only length + width bytes are allocated, not
58971         length + 1 + width.
58972
58973 2007-06-09  Bruno Haible  <bruno@clisp.org>
58974
58975         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58976         (CHAR_T): Remove macro.
58977         (VASNPRINTF): Update.
58978
58979 2007-06-09  Bruno Haible  <bruno@clisp.org>
58980
58981         * MODULES.html.sh (Unicode string functions): Add the new modules.
58982
58983         * modules/uniconv/u32-conv-to-enc: New file.
58984         * lib/uniconv/u32-conv-to-enc.c: New file.
58985         * modules/uniconv/u32-conv-to-enc-tests: New file.
58986         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58987
58988         * modules/uniconv/u16-conv-to-enc: New file.
58989         * lib/uniconv/u16-conv-to-enc.c: New file.
58990         * lib/uniconv/u-conv-to-enc.h: New file.
58991         * modules/uniconv/u16-conv-to-enc-tests: New file.
58992         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58993
58994         * modules/uniconv/u8-conv-to-enc: New file.
58995         * lib/uniconv/u8-conv-to-enc.c: New file.
58996         * modules/uniconv/u8-conv-to-enc-tests: New file.
58997         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58998
58999         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
59000         u32_conv_to_encoding): New declarations.
59001
59002 2007-06-09  Bruno Haible  <bruno@clisp.org>
59003
59004         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
59005
59006 2007-06-09  Bruno Haible  <bruno@clisp.org>
59007
59008         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
59009         * modules/malloca: Renamed from modules/allocsa, updated.
59010         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
59011         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
59012         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
59013         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
59014         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
59015         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
59016         * modules/xmalloca: Renamed from modules/xallocsa, updated.
59017         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
59018         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
59019         * modules/c-strcasestr (Depends-on): Update.
59020         * lib/c-strcasestr.c: Update.
59021         * modules/c-strstr (Depends-on): Update.
59022         * lib/c-strstr.c: Update.
59023         * modules/canonicalize-lgpl (Depends-on): Update.
59024         * lib/canonicalize-lgpl.c: Update.
59025         * modules/clean-temp (Depends-on): Update.
59026         * lib/clean-temp.c: Update.
59027         * modules/csharpcomp (Depends-on): Update.
59028         * lib/csharpcomp.c: Update.
59029         * modules/csharpexec (Depends-on): Update.
59030         * lib/csharpexec.c: Update.
59031         * modules/javacomp (Depends-on): Update.
59032         * lib/javacomp.c: Update.
59033         * modules/javaexec (Depends-on): Update.
59034         * lib/javaexec.c: Update.
59035         * modules/mbscasestr (Depends-on): Update.
59036         * lib/mbscasestr.c: Update.
59037         * modules/mbsstr (Depends-on): Update.
59038         * lib/mbsstr.c: Update.
59039         * modules/setenv (Depends-on): Update.
59040         * lib/setenv.c: Update.
59041         * modules/strcasestr (Depends-on): Update.
59042         * lib/strcasestr.c: Update.
59043         * modules/striconveha (Depends-on): Update.
59044         * lib/striconveha.c: Update.
59045         * modules/relocatable-prog-wrapper (Files): Update.
59046         * lib/relocwrapper.c: Update.
59047         * build-aux/install-reloc: Update.
59048         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
59049
59050 2007-06-08  Bruno Haible  <bruno@clisp.org>
59051
59052         Port to uClibc.
59053         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
59054         * lib/fpurge.c (fpurge): Likewise.
59055         * lib/freading.c (freading): Likewise.
59056         * lib/fseeko.c (rpl_fseeko): Likewise.
59057         * lib/fseterr.c (fseterr): Likewise.
59058         * lib/fwriting.c (fwriting): Likewise.
59059         * tests/test-fflush.c (main): Avoid a failure on uClibc.
59060
59061 2007-06-08  Bruno Haible  <bruno@clisp.org>
59062
59063         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
59064         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
59065         * modules/gettext (Files): Add m4/intlmacosx.m4.
59066
59067 2007-06-07  Bruno Haible  <bruno@clisp.org>
59068
59069         * modules/localename-tests: New file.
59070         * tests/test-localename.c: New file.
59071
59072         New module 'localename'.
59073         * lib/localename.h: New file.
59074         * lib/localename.c: New file, from GNU gettext.
59075         * m4/localename.m4: New file.
59076         * modules/localename: New file.
59077
59078 2007-06-07  Bruno Haible  <bruno@clisp.org>
59079
59080         Work around the lack of <wchar.h> on some builds of uClibc.
59081         * doc/headers/wchar.texi: Update.
59082         * lib/wchar_.h: Include <wchar.h> only if it exists.
59083         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
59084         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
59085         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
59086         doesn't exist.
59087         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
59088         * modules/mbfile (Depends-on): Add wchar.
59089         * modules/mbiter (Depends-on): Likewise.
59090         * modules/mbuiter (Depends-on): Likewise.
59091         Reported by Simon Josefsson.
59092
59093 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
59094
59095         Work around problem reported by Steven M. Schweda in
59096         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
59097         Tru64 5.1B with the Compaq compiler environment installed declares
59098         an 'isblank' function but does not define it in the C library.
59099         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
59100         * lib/regex_internal.h (isblank): Likewise.
59101         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
59102         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59103
59104 2007-06-05  Bruno Haible  <bruno@clisp.org>
59105
59106         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
59107         ia64.
59108         * modules/printf-safe: New file.
59109         * modules/fprintf-posix (Depends-on): Add printf-safe.
59110         * modules/printf-posix (Depends-on): Likewise.
59111         * modules/snprintf-posix (Depends-on): Likewise.
59112         * modules/sprintf-posix (Depends-on): Likewise.
59113         * modules/vasnprintf-posix (Depends-on): Likewise.
59114         * modules/vasprintf-posix (Depends-on): Likewise.
59115         * modules/vfprintf-posix (Depends-on): Likewise.
59116         * modules/vprintf-posix (Depends-on): Likewise.
59117         * modules/vsnprintf-posix (Depends-on): Likewise.
59118         * modules/vsprintf-posix (Depends-on): Likewise.
59119         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
59120         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
59121         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
59122         "no" on i386, x86_64, ia64.
59123         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
59124         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
59125         on i386, x86_64, ia64.
59126         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
59127         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
59128         on i386, x86_64, ia64.
59129         * tests/test-vasnprintf-posix.c: Include float.h.
59130         (LDBL80_WORDS): New macro.
59131         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
59132         on i386, x86_64, ia64.
59133         * tests/test-vasprintf-posix.c: Include float.h.
59134         (LDBL80_WORDS): New macro.
59135         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
59136         on i386, x86_64, ia64.
59137         * tests/test-snprintf-posix.c: Include float.h.
59138         * tests/test-sprintf-posix.c: Likewise.
59139         * tests/test-vsnprintf-posix.c: Likewise.
59140         * tests/test-vsprintf-posix.c: Likewise.
59141
59142 2007-06-05  Bruno Haible  <bruno@clisp.org>
59143
59144         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
59145         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
59146         non-IEEE numbers on i386, x86_64, ia64.
59147         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
59148         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
59149         * tests/test-isnanl.h: Include float.h.
59150         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
59151
59152 2007-06-05  Bruno Haible  <bruno@clisp.org>
59153
59154         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
59155         also the %a / %A. Handle the %a / %A code before this extra handling.
59156
59157 2007-06-05  Bruno Haible  <bruno@clisp.org>
59158
59159         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
59160         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
59161
59162 2007-06-05  Bruno Haible  <bruno@clisp.org>
59163
59164         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
59165         typo in variable name.
59166
59167 2007-06-05  Eric Blake  <ebb9@byu.net>
59168
59169         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
59170         Reported by Simon Josefsson.
59171
59172 2007-06-04  Bruno Haible  <bruno@clisp.org>
59173
59174         Avoid test failures on some PowerPC platforms.
59175         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
59176         Define differently for PowerPC.
59177         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
59178         Reported by Gary V. Vaughan <gary@gnu.org>.
59179
59180 2007-06-02  Bruno Haible  <bruno@clisp.org>
59181
59182         Fix test-stdint failure on FreeBSD/ia64.
59183         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
59184         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
59185         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
59186         * doc/headers/stdint.texi: Update.
59187
59188 2007-06-01  Bruno Haible  <bruno@clisp.org>
59189
59190         * tests/test-binary-io.c (main): Pass a third argument to open().
59191         Reported by Gary V. Vaughan <gary@gnu.org>.
59192
59193 2007-06-01  Bruno Haible  <bruno@clisp.org>
59194
59195         * doc/functions/frexpl.texi: Update for mingw.
59196
59197 2007-06-01  Bruno Haible  <bruno@clisp.org>
59198
59199         * tests/test-lseek.c (main): Disable test of errno for invalid third
59200         argument.
59201         * doc/functions/lseek.texi: Update.
59202         Reported by Gary V. Vaughan <gary@gnu.org>.
59203
59204 2007-05-28  Bruno Haible  <bruno@clisp.org>
59205
59206         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
59207
59208 2007-05-31  Eric Blake  <ebb9@byu.net>
59209
59210         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
59211         cross compiling.
59212
59213 2007-05-30  Eric Blake  <ebb9@byu.net>
59214         and Bruno Haible  <bruno@clisp.org>
59215
59216         Work around mingw test failures exposed by m4-1.4.9b.
59217         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
59218         * tests/test-unistd.c: Disable uid_t and git_t tests for the
59219         moment.
59220
59221 2007-05-30  Bruno Haible  <bruno@clisp.org>
59222
59223         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
59224         assuming that they are closed. Needed on HP-UX 11.
59225
59226 2007-05-29  Bruno Haible  <bruno@clisp.org>
59227
59228         Fix a problem with #include_next.
59229         * lib/dirent_.h: Split the double-inclusion guard.
59230         * lib/fcntl_.h: Likewise.
59231         * lib/float_.h: Likewise.
59232         * lib/iconv_.h: Likewise.
59233         * lib/inttypes_.h: Likewise.
59234         * lib/locale_.h: Likewise.
59235         * lib/math_.h: Likewise.
59236         * lib/netinet_in_.h: Likewise.
59237         * lib/search_.h: Likewise.
59238         * lib/signal_.h: Likewise.
59239         * lib/stdint_.h: Likewise.
59240         * lib/stdio_.h: Likewise.
59241         * lib/stdlib_.h: Likewise.
59242         * lib/string_.h: Likewise.
59243         * lib/sys_select_.h: Likewise.
59244         * lib/sys_socket_.h: Likewise.
59245         * lib/sys_stat_.h: Likewise.
59246         * lib/sys_time_.h: Likewise.
59247         * lib/sysexits_.h: Likewise.
59248         * lib/time_.h: Likewise.
59249         * lib/unistd_.h: Likewise.
59250         * lib/wchar_.h: Likewise.
59251         * lib/wctype_.h: Likewise.
59252
59253 2007-05-29  Bruno Haible  <bruno@clisp.org>
59254
59255         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
59256         for the moment.
59257
59258 2007-05-29  Bruno Haible  <bruno@clisp.org>
59259
59260         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
59261         invocation.
59262         Reported by Eric Blake.
59263
59264 2007-05-29  Bruno Haible  <bruno@clisp.org>
59265
59266         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
59267         compiling case.
59268
59269 2007-05-29  Eric Blake  <ebb9@byu.net>
59270             Bruno Haible  <bruno@clisp.org>
59271
59272         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
59273         cross compiles.
59274
59275 2007-05-28  Eric Blake  <ebb9@byu.net>
59276
59277         * modules/closein-tests (test_closein_LDADD): Support test on
59278         cygwin with libtool.
59279
59280 2007-05-28  Bruno Haible  <bruno@clisp.org>
59281
59282         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
59283         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
59284         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
59285         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
59286         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
59287         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
59288         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
59289         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
59290         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
59291
59292 2007-05-28  Eric Blake  <ebb9@byu.net>
59293
59294         Unconditionally include <config.h> in unit tests.
59295         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
59296         * tests/test-allocsa.c, tests/test-arcfour.c,
59297         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
59298         tests/test-array_list.c, tests/test-array_oset.c,
59299         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
59300         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
59301         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
59302         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
59303         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
59304         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
59305         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
59306         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
59307         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
59308         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
59309         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
59310         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
59311         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
59312         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
59313         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
59314         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
59315         test-md5.c, test-memmem.c, test-printf-posix.c,
59316         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
59317         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
59318         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
59319         test-strcasestr.c, test-striconv.c, test-striconveh.c,
59320         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
59321         test-vasnprintf-posix2.c, test-vasnprintf.c,
59322         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
59323         test-vfprintf-posix.c, test-vprintf-posix.c,
59324         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
59325         test-xvasprintf.c: Likewise.
59326
59327 2007-05-28  Bruno Haible  <bruno@clisp.org>
59328
59329         * gnulib-tool (func_import): Remember the --with-tests command-line
59330         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
59331         Reported by Eric Blake.
59332
59333 2007-05-28  Bruno Haible  <bruno@clisp.org>
59334
59335         * modules/ftell-tests: New file.
59336         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
59337         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
59338
59339         * lib/ftell.c: New file.
59340         * modules/ftell: New file.
59341         * m4/ftell.m4: New file.
59342         * doc/functions/ftell.texi: Update.
59343         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
59344         REPLACE_FTELL.
59345         * lib/stdio_.h (rpl_ftell): New declaration.
59346         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
59347         REPLACE_FTELL.
59348
59349 2007-05-28  Eric Blake  <ebb9@byu.net>
59350
59351         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
59352
59353 2007-05-28  Bruno Haible  <bruno@clisp.org>
59354
59355         * modules/fseek-tests: New file.
59356         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
59357         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
59358
59359         * lib/fseek.c: New file.
59360         * modules/fseek: New file.
59361         * m4/fseek.m4: New file.
59362         * doc/functions/fseek.texi: Update.
59363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
59364         REPLACE_FSEEK.
59365         * lib/stdio_.h (rpl_fseek): New declaration.
59366         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
59367         REPLACE_FSEEK.
59368
59369 2007-05-28  Bruno Haible  <bruno@clisp.org>
59370
59371         * lib/stdio_.h (fflush): More comments.
59372
59373 2007-05-28  Bruno Haible  <bruno@clisp.org>
59374
59375         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
59376         runtime test.
59377
59378 2007-05-28  Eric Blake  <ebb9@byu.net>
59379
59380         Improve lseek module.
59381         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
59382         * lib/unistd_.h (lseek): Scale back link warning message.
59383         * tests/test-lseek.c: Beef up test.
59384         * tests/test-lseek.sh: Exercise more facets of lseek.
59385         Reported by Bruno Haible.
59386
59387 2007-05-28  Bruno Haible  <bruno@clisp.org>
59388
59389         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
59390         to define.
59391
59392 2007-05-27  Bruno Haible  <bruno@clisp.org>
59393
59394         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
59395
59396 2007-05-27  Bruno Haible  <bruno@clisp.org>
59397
59398         * modules/openmp: New file.
59399         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
59400         Noah Misch.
59401
59402 2007-05-26  Bruno Haible  <bruno@clisp.org>
59403
59404         * modules/chdir-long (Depends-on): Add fchdir.
59405         * modules/chdir-safer (Depends-on): Likewise.
59406         * modules/fts (Depends-on): Likewise.
59407         * modules/fts-lgpl (Depends-on): Likewise.
59408         * modules/openat (Depends-on): Likewise.
59409         * modules/savewd (Depends-on): Likewise.
59410
59411 2007-05-24  Eric Blake  <ebb9@byu.net>
59412
59413         Fix lseek on mingw.
59414         * modules/lseek: New module.
59415         * m4/lseek.m4: New file.
59416         * lib/lseek.c: New file.
59417         * modules/lseek-tests: New file.
59418         * tests/test-lseek.c: New file.
59419         * tests/test-lseek.sh: New file.
59420         * MODULES.html.sh: Document lseek module.
59421         * modules/fflush (Depends-on): Add lseek, fseeko.
59422         * modules/fseeko (Depends-on): Likewise.
59423         * modules/ftello (Depends-on): Likewise.
59424         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
59425         broken.
59426         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
59427         broken.
59428         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
59429         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
59430         * lib/ftello.c (rpl_ftello): Likewise.
59431         * tests/test-fseeko.c (main): Test this.
59432         * tests/test-fseeko.sh: Likewise.
59433         * tests/test-ftello.c (main): Likewise.
59434         * tests/test-ftello.sh: Likewise.
59435         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
59436         implies replacing fseek.
59437         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
59438         HAVE_FTELLO.
59439         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
59440         * modules/unistd (Makefile.am): Likewise.
59441         * lib/unistd_.h (lseek): Declare a replacement.
59442         * doc/functions/lseek.texi (lseek): Document this fix.
59443         * doc/functions/fseek.texi (fseek): Likewise.
59444         * doc/functions/ftell.texi (ftell): Likewise.
59445
59446 2007-05-24  Bruno Haible  <bruno@clisp.org>
59447
59448         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
59449         in the printed representation of a NaN.
59450         * tests/test-vasprintf-posix.c (test_function): Likewise.
59451         * tests/test-snprintf-posix.h (test_function): Likewise.
59452         * tests/test-sprintf-posix.h (test_function): Likewise.
59453         Reported by Eric Blake.
59454
59455 2007-05-23  Eric Blake  <ebb9@byu.net>
59456
59457         Fix fseeko/ftello on cygwin 1.5.24.
59458         * doc/functions/fseeko.texi (fseeko): Document the fix.
59459         * doc/functions/ftello.texi (ftello): Document the fix.
59460         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
59461         * doc/functions/stdout.text (stdout): New file.
59462         * doc/functions/stderr.text (stderr): New file.
59463         * doc/gnulib.texi (Function Substitutes): Use new files.
59464         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
59465         prior to 1.7.0.
59466         * tests/test-ftello.c (main): Likewise for ftello.
59467         * tests/test-fseeko.sh: New file.
59468         * tests/test-ftello.sh: New file.
59469         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
59470         with seekable stdin.
59471         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
59472         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
59473         (gl_REPLACE_FSEEKO): New macro.
59474         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
59475         * modules/fseeko (Files): Distribute fseeko.c.
59476         * modules/ftello (Files): Distribute ftello.c.
59477         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
59478         mode.
59479         * lib/ftello.c (rpl_ftello): New file.
59480         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
59481         fseeko, ftello.
59482         (gl_STDIN_LARGE_OFFSET): New macro.
59483         * modules/stdio (Makefile.am): Perform the replacement.
59484         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
59485
59486 2007-05-23  Bruno Haible  <bruno@clisp.org>
59487
59488         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
59489         GNULIB_POSIXCHECK is defined.
59490
59491 2007-05-21  Bruno Haible  <bruno@clisp.org>
59492
59493         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
59494         Check also the output for NaN arguments. When cross-compiling, guess
59495         no on IRIX.
59496         * lib/vasnprintf.c: Update comments.
59497         * tests/test-vasnprintf-posix.c (strisnan): New function.
59498         (test_function): Use it.
59499         * tests/test-vasprintf-posix.c (strisnan): New function.
59500         (test_function): Use it.
59501         * tests/test-snprintf-posix.h (strisnan): New function.
59502         (test_function): Use it.
59503         * tests/test-sprintf-posix.h (strisnan): New function.
59504         (test_function): Use it.
59505         Reported by Eric Blake.
59506
59507 2007-05-20  Bruno Haible  <bruno@clisp.org>
59508
59509         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
59510         numbers that fails on BeOS.
59511         * doc/functions/frexpl.texi: Update.
59512
59513 2007-05-20  Jim Meyering  <jim@meyering.net>
59514
59515         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
59516         forced upon us by glibc-2.6.
59517
59518 2007-05-20  Bruno Haible  <bruno@clisp.org>
59519
59520         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
59521         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
59522         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
59523         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
59524         NEED_PRINTF_INFINITE.
59525         (is_infinitel): New function.
59526         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
59527         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
59528         gl_PREREQ_VASNPRINTF_INFINITE.
59529         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
59530         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59531         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
59532         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
59533         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
59534         gl_PREREQ_VASNPRINTF_INFINITE.
59535         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59536         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59537         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59538         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59539         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59540         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59541         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59542         * doc/functions/fprintf.texi: Update.
59543         * doc/functions/printf.texi: Update.
59544         * doc/functions/snprintf.texi: Update.
59545         * doc/functions/sprintf.texi: Update.
59546         * doc/functions/vfprintf.texi: Update.
59547         * doc/functions/vprintf.texi: Update.
59548         * doc/functions/vsnprintf.texi: Update.
59549         * doc/functions/vsprintf.texi: Update.
59550
59551 2007-05-20  Bruno Haible  <bruno@clisp.org>
59552
59553         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
59554         was not found in libc.
59555         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
59556
59557 2007-05-20  Bruno Haible  <bruno@clisp.org>
59558
59559         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
59560         printed as "-nan" instead of "nan".
59561         * tests/test-vasprintf-posix.c (test_function): Likewise.
59562         * tests/test-snprintf-posix.h (test_function): Likewise.
59563         * tests/test-sprintf-posix.h (test_function): Likewise.
59564         Needed for HP-UX 11.
59565
59566 2007-05-20  Jim Meyering  <jim@meyering.net>
59567
59568         Fix buggy test for the fchownat-deref bug.
59569         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
59570         symlink required for the run-test.  Without it, this test would
59571         always declare that fchownat doesn't work, and client code would
59572         unnecessarily use the replacement function with fixed libc.
59573         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
59574         Reported by Greg Schafer.
59575
59576 2007-05-19  Bruno Haible  <bruno@clisp.org>
59577
59578         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
59579         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
59580         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
59581         Needed for IRIX 6.5 and Solaris 2.5.1.
59582
59583 2007-05-19  Bruno Haible  <bruno@clisp.org>
59584
59585         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
59586         (test_function): Skip tests involving -0.0 on platforms where
59587         -0.0 = 0.0.
59588         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
59589         (test_function): Skip tests involving -0.0 on platforms where
59590         -0.0 = 0.0.
59591         * tests/test-snprintf-posix.h (have_minus_zero): New function.
59592         (test_function): Skip tests involving -0.0 on platforms where
59593         -0.0 = 0.0.
59594         * tests/test-sprintf-posix.h (have_minus_zero): New function.
59595         (test_function): Skip tests involving -0.0 on platforms where
59596         -0.0 = 0.0.
59597         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
59598         tests.
59599         * tests/test-printf-posix.h (test_function): Likewise.
59600         * tests/test-printf-posix.output: Remove all -0.0 related results.
59601         Needed for IRIX 6.5.
59602
59603 2007-05-19  Bruno Haible  <bruno@clisp.org>
59604
59605         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
59606         printed as "nan0x7fffffff" instead of "nan".
59607         * tests/test-vasprintf-posix.c (test_function): Likewise.
59608         * tests/test-snprintf-posix.h (test_function): Likewise.
59609         * tests/test-sprintf-posix.h (test_function): Likewise.
59610         * tests/test-fprintf-posix.h (NaN): Remove macro.
59611         (test_function): Remove all NaN related tests.
59612         * tests/test-printf-posix.h (NaN): Remove macro.
59613         (test_function): Remove all NaN related tests.
59614         * tests/test-printf-posix.output: Remove all NaN related results.
59615         Needed for IRIX 6.5.
59616
59617 2007-05-19  Bruno Haible  <bruno@clisp.org>
59618
59619         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
59620         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
59621
59622 2007-05-19  Bruno Haible  <bruno@clisp.org>
59623
59624         * lib/float_.h: New file.
59625         * m4/float_h.m4: New file.
59626         * modules/float: New file.
59627         * modules/isnanl (Dependencies): Add float.
59628         * modules/isnanl-nolibm (Dependencies): Likewise.
59629         * modules/mathl (Dependencies): Likewise.
59630         * modules/printf-frexpl (Dependencies): Likewise.
59631         * modules/signbit (Dependencies): Likewise.
59632         * modules/vasnprintf (Dependencies): Likewise.
59633         * doc/headers/float.texi: Update.
59634
59635 2007-05-19  Jim Meyering  <jim@meyering.net>
59636
59637         * lib/utimens.c (gl_futimens): Rename from futimens,
59638         now that glibc-2.6 declares futimens.
59639         * lib/utimens.h: Likewise.
59640
59641 2007-05-19  Bruno Haible  <bruno@clisp.org>
59642
59643         Avoid test failures on mingw.
59644         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
59645         * tests/test-printf-posix.sh: Likewise.
59646         * tests/test-vfprintf-posix.sh: Likewise.
59647         * tests/test-vprintf-posix.sh: Likewise.
59648
59649 2007-05-19  Bruno Haible  <bruno@clisp.org>
59650
59651         Fix *printf result for NaN, Inf, -0.0 on mingw.
59652         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
59653         * lib/vasnprintf.c: Include math.h and isnan.h.
59654         (is_infinite_or_zero): New function.
59655         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
59656         values in the %f, %F, %e, %E, %g, %G directives.
59657         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
59658         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59659         gl_PRINTF_INFINITE and test its result. Invoke
59660         gl_PREREQ_VASNPRINTF_INFINITE.
59661         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59662         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59663         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59664         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59665         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59666         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59667         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59668         * doc/functions/fprintf.texi: Update.
59669         * doc/functions/printf.texi: Update.
59670         * doc/functions/snprintf.texi: Update.
59671         * doc/functions/sprintf.texi: Update.
59672         * doc/functions/vfprintf.texi: Update.
59673         * doc/functions/vprintf.texi: Update.
59674         * doc/functions/vsnprintf.texi: Update.
59675         * doc/functions/vsprintf.texi: Update.
59676
59677 2007-05-19  Bruno Haible  <bruno@clisp.org>
59678
59679         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
59680         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
59681         Instead of multiplying with 10^k, set extra_zeroes to k.
59682         (scale10_round_long_double): Remove function.
59683
59684 2007-05-18  Bruno Haible  <bruno@clisp.org>
59685
59686         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
59687         introduced on 2007-05-06.
59688
59689 2007-05-18  Bruno Haible  <bruno@clisp.org>
59690
59691         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
59692         %g directives.
59693         * tests/test-vasprintf-posix.c (test_function): Likewise.
59694         * tests/test-snprintf-posix.h (test_function): Likewise.
59695         * tests/test-sprintf-posix.h (test_function): Likewise.
59696
59697 2007-05-18  Bruno Haible  <bruno@clisp.org>
59698
59699         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
59700         (strmatch): New function.
59701         (test_function): Test the %f directive on numbers of various exponents.
59702         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
59703         (strmatch): New function.
59704         (test_function): Test the %f directive on numbers of various exponents.
59705         * tests/test-snprintf-posix.h (strmatch): New function.
59706         (test_function): Test the %f directive on numbers of various exponents.
59707         * tests/test-sprintf-posix.h (strmatch): New function.
59708         (test_function): Test the %f directive on numbers of various exponents.
59709         * tests/test-snprintf-posix.c (SIZEOF): New macro.
59710         * tests/test-sprintf-posix.c (SIZEOF): New macro.
59711         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
59712         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
59713
59714 2007-05-18  Bruno Haible  <bruno@clisp.org>
59715
59716         Add support for 'long double' number output.
59717         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
59718         * lib/vasnprintf.c: Include math.h and float+.h.
59719         (mp_limb_t): New type.
59720         (GMP_LIMB_BITS): New macro.
59721         (mp_twolimb_t): New type.
59722         (GMP_TWOLIMB_BITS): New macro.
59723         (mpn_t): New type.
59724         (multiply, divide, convert_to_decimal, decode_long_double,
59725         scale10_round_long_double, scale10_round_decimal_long_double,
59726         floorlog10l): New functions.
59727         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
59728         for the %f, %F, %e, %E, %g, %G directives.
59729         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
59730         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59731         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
59732         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
59733         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59734         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59735         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59736         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59737         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59738         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59739         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59740         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
59741         * modules/snprintf-posix (Depends-on): Likewise.
59742         * modules/sprintf-posix (Depends-on): Likewise.
59743         * modules/vasnprintf-posix (Depends-on): Likewise.
59744         * modules/vasprintf-posix (Depends-on): Likewise.
59745         * modules/vfprintf-posix (Depends-on): Likewise.
59746         * modules/vsnprintf-posix (Depends-on): Likewise.
59747         * modules/vsprintf-posix (Depends-on): Likewise.
59748         * modules/vasnprintf (Files): Add lib/float+.h.
59749         * doc/functions/fprintf.texi: Update.
59750         * doc/functions/printf.texi: Update.
59751         * doc/functions/snprintf.texi: Update.
59752         * doc/functions/sprintf.texi: Update.
59753         * doc/functions/vfprintf.texi: Update.
59754         * doc/functions/vprintf.texi: Update.
59755         * doc/functions/vsnprintf.texi: Update.
59756         * doc/functions/vsprintf.texi: Update.
59757
59758 2007-05-18  Bruno Haible  <bruno@clisp.org>
59759
59760         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
59761
59762 2007-05-18  Bruno Haible  <bruno@clisp.org>
59763
59764         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
59765         for printing 64-bit integers. Needed for mingw.
59766
59767 2007-05-18  Bruno Haible  <bruno@clisp.org>
59768
59769         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59770         gl_FUNC_FREXPL_WORKS.
59771         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
59772
59773 2007-05-18  Bruno Haible  <bruno@clisp.org>
59774
59775         * modules/frexpl-nolibm-tests: New file.
59776
59777         * modules/frexpl-nolibm: New file.
59778         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
59779
59780 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59781
59782         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
59783         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59784         GCC 4.2, which otherwise issues a lot of warnings.
59785         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
59786         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
59787         Likewise.
59788         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
59789         * modules/iconv_open (iconv.h): Likewise.
59790         * modules/locale (locale.h): Likewise.
59791         * modules/netinet_in (netinet/in.h): Likewise.
59792         * modules/sys_select (sys_select.h): Likewise.
59793         * modules/sys_socket (sys/socket.h): Likewise.
59794         * modules/sys_stat (sys/stat.h): Likewise.
59795         * modules/sysexits (sysexits.h): Likewise.
59796         * modules/unistd (unistd.h): Likewise.
59797
59798 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59799
59800         * modules/closein-tests (Makefile.am): Distribute
59801         `test-closein.sh'.
59802
59803 2007-05-17  Bruno Haible  <bruno@clisp.org>
59804
59805         * tests/test-printf-posix.output: Renamed from
59806         tests/test-fprintf-posix.out.
59807         * modules/fprintf-posix-tests: Update.
59808         * modules/printf-posix-tests: Update.
59809         * modules/vfprintf-posix-tests: Update.
59810         * modules/vprintf-posix-tests: Update.
59811         * tests/test-fprintf-posix.sh: Update.
59812         * tests/test-printf-posix.sh: Update.
59813         * tests/test-vfprintf-posix.sh: Update.
59814         * tests/test-vprintf-posix.sh: Update.
59815         Reported by Ralf Wildenhues.
59816
59817 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59818
59819         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
59820         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59821         GCC 4.2, which otherwise issues a lot of warnings.
59822         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
59823         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
59824         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
59825         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
59826         it should no longer be needed.
59827         * lib/string_.h: Likewise.
59828         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
59829         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
59830         * modules/inttypes (inttypes.h): Likewise.
59831         * modules/math (math.h): Likewise.
59832         * modules/search (search.h): Likewise.
59833         * modules/signal (signal.h): Likewise.
59834         * modules/stdint (stdint.h): Likewise.
59835         * modules/stdio (stdio.h): Likewise.
59836         * modules/stdlib (stdlib.h): Likewise.
59837         * modules/string (string.h): Likewise.
59838         * modules/sys_time (sys/time.h): Likewise.
59839         * modules/time (time.h): Likewise.
59840         * modules/wchar (wchar.h): Likewise.
59841         * modules/wctype (wtype.h): Likewise.
59842
59843 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59844
59845         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59846
59847 2007-05-13  Bruno Haible  <bruno@clisp.org>
59848
59849         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59850         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59851         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59852         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59853         (gl_PREREQ_STRTOK_R): Don't require it here.
59854
59855 2007-05-13  Bruno Haible  <bruno@clisp.org>
59856
59857         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59858         when used in C++ mode.
59859
59860 2007-05-12  Bruno Haible  <bruno@clisp.org>
59861
59862         * lib/linebuffer.h: Tweak doc.
59863         * lib/linebuffer.c: Likewise.
59864
59865 2007-05-12  James Youngman  <jay@gnu.org>
59866
59867         * lib/linebuffer.c (readlinebuffer_delim): New function,
59868         like readlinebuffer, but use a caller-specified delimiter.
59869         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59870         as the delimiter.
59871         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59872
59873 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59874
59875         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59876         * modules/openat (Files): Remove openat-die.c.
59877         (Depends-on): Add openat-die.
59878         * modules/openat-die: New module.
59879
59880 2007-05-06  Bruno Haible  <bruno@clisp.org>
59881
59882         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59883         Update with info about Cygwin.
59884         * doc/functions/fprintf.texi: Update.
59885         * doc/functions/printf.texi: Update.
59886         * doc/functions/snprintf.texi: Update.
59887         * doc/functions/sprintf.texi: Update.
59888         * doc/functions/vfprintf.texi: Update.
59889         * doc/functions/vprintf.texi: Update.
59890         * doc/functions/vsnprintf.texi: Update.
59891         * doc/functions/vsprintf.texi: Update.
59892         Reported by Eric Blake.
59893
59894 2007-05-06  Bruno Haible  <bruno@clisp.org>
59895
59896         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59897         padding ourselves for the floating-point directives.
59898         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59899         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59900         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59901         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59902         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59903         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59904         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59905         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59906         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59907         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59908         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59909         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59910         * tests/test-snprintf-posix.h (test_function): Also check the width
59911         and some flags in the %f directive.
59912         * tests/test-sprintf-posix.h (test_function): Likewise.
59913         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59914         * tests/test-vasprintf-posix.c (test_function): Likewise.
59915         * doc/functions/fprintf.texi: Update.
59916         * doc/functions/printf.texi: Update.
59917         * doc/functions/snprintf.texi: Update.
59918         * doc/functions/sprintf.texi: Update.
59919         * doc/functions/vfprintf.texi: Update.
59920         * doc/functions/vprintf.texi: Update.
59921         * doc/functions/vsnprintf.texi: Update.
59922         * doc/functions/vsprintf.texi: Update.
59923
59924 2007-05-06  Bruno Haible  <bruno@clisp.org>
59925
59926         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59927         pass the ' flag character to sprintf or snprintf.
59928         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59929         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59930         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59931         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59932         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59933         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59934         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59935         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59936         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59937         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59938         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59939         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59940         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59941         flag.
59942         * tests/test-sprintf-posix.h (test_function): Likewise.
59943         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59944         * tests/test-vasprintf-posix.c (test_function): Likewise.
59945         * doc/functions/fprintf.texi: Update.
59946         * doc/functions/printf.texi: Update.
59947         * doc/functions/snprintf.texi: Update.
59948         * doc/functions/sprintf.texi: Update.
59949         * doc/functions/vfprintf.texi: Update.
59950         * doc/functions/vprintf.texi: Update.
59951         * doc/functions/vsnprintf.texi: Update.
59952         * doc/functions/vsprintf.texi: Update.
59953
59954 2007-05-01  Bruno Haible  <bruno@clisp.org>
59955
59956         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59957
59958 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59959
59960         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59961         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59962
59963 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59964
59965         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59966         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59967         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59968
59969 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59970
59971         * lib/argp-help.c (struct hol_entry): New member `ord'.
59972         (HOL_ENTRY_PTRCMP): Use ord for comparison
59973         (hol_sort): Initialize ord.
59974
59975 2007-05-01  Bruno Haible  <bruno@clisp.org>
59976
59977         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59978         Reported by Eric Blake.
59979         * doc/gnulib.texi (Function Substitutes): Update.
59980
59981 2007-05-01  Bruno Haible  <bruno@clisp.org>
59982
59983         * doc/functions.texi: Remove file, now redundant through
59984         doc/functions/*.texi.
59985
59986 2007-05-01  Bruno Haible  <bruno@clisp.org>
59987
59988         * modules/argp (Depends-on): Add sleep.
59989
59990 2007-05-01  Bruno Haible  <bruno@clisp.org>
59991
59992         * modules/sleep-tests: New file.
59993         * tests/test-sleep.c: New file.
59994
59995         * modules/sleep: New file.
59996         * lib/sleep.c: New file.
59997         * m4/sleep.m4: New file.
59998         * lib/unistd_.h (sleep): New declaration.
59999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
60000         HAVE_SLEEP.
60001         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
60002         * doc/functions/sleep.texi: Document the sleep module.
60003
60004 2007-05-01  Bruno Haible  <bruno@clisp.org>
60005
60006         * lib/sigprocmask.h: Remove file.
60007         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
60008         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
60009         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
60010         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
60011         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
60012         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
60013         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
60014         HAVE_SIGSET_T as a shell variable.
60015         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
60016         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
60017         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
60018         (Depends-on): Add signal. Remove verify.
60019         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
60020         (Include): Mention <signal.h> instead of sigprocmask.h.
60021         * NEWS: Mention the change.
60022         * lib/fatal-signal.c: Don't include sigprocmask.h.
60023
60024 2007-05-01  Bruno Haible  <bruno@clisp.org>
60025
60026         * modules/signal: New file.
60027         * lib/signal_.h: New file.
60028         * m4/signal_h.m4: New file.
60029
60030 2007-05-01  Bruno Haible  <bruno@clisp.org>
60031
60032         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
60033         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
60034         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
60035         HAVE_WCTYPE_CTMP_BUG into wctype.h.
60036
60037 2007-05-01  Bruno Haible  <bruno@clisp.org>
60038
60039         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
60040         configure time.
60041         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
60042         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
60043         * modules/sys_stat (Makefile.am): Substitute their values into
60044         sys/stat.h.
60045
60046 2007-05-01  Bruno Haible  <bruno@clisp.org>
60047
60048         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
60049         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
60050         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
60051
60052 2007-05-01  Bruno Haible  <bruno@clisp.org>
60053
60054         * doc/header/assert.texi: Undo last change: don't mention the gnulib
60055         'assert' module here.
60056
60057 2007-05-01  Bruno Haible  <bruno@clisp.org>
60058
60059         * doc/functions/*.texi: New files.
60060         * doc/functions/google-ranking.txt: New file.
60061         * doc/gnulib.texi (Function Substitutes): New chapter.
60062         (ctime, inet_ntoa): Remove sections.
60063         * doc/ctime.texi: Remove file.
60064         * doc/inet_ntoa.texi: Remove file.
60065         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
60066         dependencies.
60067         (%.info): New rule, specifying a --reference-limit.
60068
60069 2007-05-01  Bruno Haible  <bruno@clisp.org>
60070
60071         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
60072
60073 2007-05-01  Bruno Haible  <bruno@clisp.org>
60074
60075         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
60076         the portability of 'mkdir' to mingw systems.
60077
60078 2007-05-01  Bruno Haible  <bruno@clisp.org>
60079
60080         * doc/headers/google-ranking.txt: New file.
60081
60082 2007-04-30  Eric Blake  <ebb9@byu.net>
60083
60084         Prefer fseeko to fseek.
60085         * modules/getpass (Depends-on): Add fseeko.
60086         * lib/getpass.c (getpass): Use fseeko, not fseek.
60087
60088 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
60089
60090         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
60091         assumes the sorting is stable, while most qsort implementations
60092         are not.  Use argument addresses to ensure they never compare as
60093         equal.
60094
60095         * tests/test-argp-2.sh (usage-indent test): Fix output
60096         (func_compare): Restore diff options
60097         * tests/test-argp.c: Restore #include "progname.h"
60098
60099 2007-04-29  Bruno Haible  <bruno@clisp.org>
60100
60101         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
60102         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60103         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
60104         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60105         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
60106         (configure.ac): Define CHECK_SNPRINTF_POSIX.
60107         (TESTS, check_PROGRAMS): Add test-snprintf.
60108         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
60109         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
60110         (TESTS, check_PROGRAMS): Add test-vsnprintf.
60111         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
60112         assertions that fail on HP-UX, OSF/1, or IRIX.
60113         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
60114
60115 2007-04-29  Bruno Haible  <bruno@clisp.org>
60116
60117         * MODULES.html.sh (posix_functions): Remove 'contents'.
60118
60119 2007-04-29  Karl Berry  <karl@gnu.org>
60120
60121         * config/srclist.txt (gendocs_template_min): new entry.
60122
60123 2007-04-29  Bruno Haible  <bruno@clisp.org>
60124
60125         Work around fpurge bug on BSD systems.
60126         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
60127         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
60128         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
60129         fpurge to rpl_fpurge if the system already has this function.
60130         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
60131         the case where the system already has this function. Correct invariants
60132         on BSD systems.
60133         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
60134         BSD systems.
60135
60136 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
60137
60138         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
60139         proposed by Sven Verdoolaege.
60140
60141         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
60142         options.
60143         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
60144         (usage and help tests): Update
60145
60146 2007-04-29  Bruno Haible  <bruno@clisp.org>
60147
60148         * tests/test-fflush.c (main): Use a file of size 17, not 10.
60149         Print more information in case of failure. Disable a test on BeOS.
60150
60151 2007-04-29  Bruno Haible  <bruno@clisp.org>
60152
60153         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
60154         This helps debugging on systems on which no gdb is available.
60155
60156 2007-04-29  Bruno Haible  <bruno@clisp.org>
60157
60158         * lib/freading.h: Improve comments.
60159         * lib/fwriting.h: Likewise.
60160         * tests/test-freading.c (main): Don't check freading immediately after
60161         repositioning. Needed for glibc.
60162
60163 2007-04-29  Bruno Haible  <bruno@clisp.org>
60164
60165         * lib/freading.c (freading): Trivial simplification.
60166
60167 2007-04-28  Bruno Haible  <bruno@clisp.org>
60168
60169         * tests/test-fwriting.c (main): Also test the interaction between
60170         fflush and fwriting.
60171         * modules/fwriting-tests (Depends-on): Add fflush.
60172
60173         * tests/test-freading.c (main): Also test the interaction between
60174         fflush and freading.
60175         * modules/freading-tests (Depends-on): Add fflush.
60176
60177 2007-04-28  Bruno Haible  <bruno@clisp.org>
60178
60179         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
60180         fseeko and ftello.
60181         Suggested by Eric Blake.
60182
60183 2007-04-28  Jim Meyering  <jim@meyering.net>
60184
60185         Avoid false-negative in gl_STDINT_H's C99 conformance test.
60186         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
60187         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
60188
60189 2007-04-27  Eric Blake  <ebb9@byu.net>
60190
60191         * doc/headers/assert.texi (assert.h): Document assert module use.
60192
60193 2007-04-27  Bruno Haible  <bruno@clisp.org>
60194
60195         * doc/headers/*.texi: New files.
60196         * doc/gnulib.texi (Header File Substitutes): New chapter.
60197         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
60198         dependencies.
60199         (standards.info ,standards.html, standards.dvi): Update dependencies.
60200         (mostlyclean, clean): New targets.
60201
60202 2007-04-27  Bruno Haible  <bruno@clisp.org>
60203
60204         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
60205         * modules/sysexits (Files, Makefile.am): Update.
60206
60207         * lib/sys_socket_.h: Renamed from lib/socket_.h.
60208         * modules/sys_socket (Files, Makefile.am): Update.
60209
60210         * lib/sys_stat_.h: Renamed from lib/stat_.h.
60211         * modules/sys_stat (Files, Makefile.am): Update.
60212
60213 2007-04-27  Eric Blake  <ebb9@byu.net>
60214
60215         * lib/freading.h: Improve comments.
60216         * lib/fwriting.h: Likewise.
60217         * lib/fflush.c: Likewise.
60218
60219         Fix closein for mingw.
60220         * modules/closein-tests: Add tests for closein.
60221         * tests/test-closein.c: New file.
60222         * tests/test-closein.sh: Likewise.
60223         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
60224         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
60225
60226 2007-04-27  Bruno Haible  <bruno@clisp.org>
60227
60228         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
60229         version is < 6.
60230         * lib/math_.h [__DECC]: Likewise.
60231         * lib/stdio_.h [__DECC]: Likewise.
60232         * lib/stdlib_.h [__DECC]: Likewise.
60233         * lib/string_.h [__DECC]: Likewise.
60234         * lib/time_.h [__DECC]: Likewise.
60235         * lib/wchar_.h [__DECC]: Likewise.
60236         * lib/wctype_.h [__DECC]: Likewise.
60237
60238 2007-04-27  Bruno Haible  <bruno@clisp.org>
60239
60240         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
60241
60242 2007-04-27  Bruno Haible  <bruno@clisp.org>
60243
60244         * lib/fflush.c: Add comments.
60245         * modules/fpurge-tests (Depends-on): Add fflush.
60246         * modules/freadable-tests (Depends-on): Likewise.
60247         * modules/fwritable-tests (Depends-on): Likewise.
60248
60249 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
60250
60251         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
60252         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
60253         Report by Bruno Haible <bruno@clisp.org>.
60254
60255 2007-04-26  Eric Blake  <ebb9@byu.net>
60256
60257         Fix fflush on mingw.
60258         * modules/fflush (Depends-on): Add freading.
60259         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
60260         but unread data.
60261
60262 2007-04-26  Eric Blake  <ebb9@byu.net>
60263         and Bruno Haible  <bruno@clisp.org>
60264
60265         Implement freading and fwriting.
60266         * lib/freading.c: New file.
60267         * lib/freading.h: Likewise.
60268         * m4/freading.m4: Likewise.
60269         * modules/freading: Likewise.
60270         * modules/freading-tests: Likewise.
60271         * tests/test-freading.c: Likewise.
60272         * lib/fwriting.c: New file.
60273         * lib/fwriting.h: Likewise.
60274         * m4/fwriting.m4: Likewise.
60275         * modules/fwriting: Likewise.
60276         * modules/fwriting-tests: Likewise.
60277         * tests/test-fwriting.c: Likewise.
60278         * MODULES.html.sh (File stream based Input/Output): Mention them.
60279
60280 2007-04-26  Bruno Haible  <bruno@clisp.org>
60281
60282         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
60283         'long' when we assume it.
60284         Suggested by Eric Blake.
60285
60286 2007-04-26  Bruno Haible  <bruno@clisp.org>
60287
60288         Ensure fseeko, ftello are declared on glibc systems.
60289         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
60290         * modules/fseeko (configure.ac-early): Likewise.
60291         * modules/ftello (configure.ac-early): Likewise.
60292         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
60293         AC_FUNC_FSEEKO for this.
60294         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
60295         (gl_CHECK_FSEEKO): Remove macro.
60296
60297 2007-04-26  Bruno Haible  <bruno@clisp.org>
60298
60299         * tests/test-fflush.c (main): Also check the ftell result after
60300         fflush and fseek/fseeko.
60301         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
60302         file descriptor position cache in the stream.
60303         * lib/fseeko.c (rpl_fseeko): Likewise.
60304
60305 2007-04-26  Bruno Haible  <bruno@clisp.org>
60306
60307         * modules/fflush-tests (Depends-on): Add fseeko.
60308
60309 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
60310             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60311
60312         * lib/argz_.h: ensure error_t definition is obtained in same
60313         mechanism system argz.h would have.
60314         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
60315         argz facilities are known bad.  Err on the side of caution if
60316         cross-compiling.
60317
60318 2007-04-25  Eric Blake  <ebb9@byu.net>
60319
60320         * lib/fpurge.c (includes): Use stdlib.h for free.
60321         * tests/test-fflush.c (main): Also test fflush-fseeko.
60322
60323 2007-04-25  Bruno Haible  <bruno@clisp.org>
60324
60325         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
60326         * lib/fseeko.c: New file.
60327         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
60328         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
60329         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
60330         gl_FUNC_FSEEKO.
60331         (gl_FUNC_FSEEKO): Invoke it.
60332         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
60333         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
60334         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
60335
60336 2007-04-25  Bruno Haible  <bruno@clisp.org>
60337
60338         * modules/fflush (Depends-on): Add ftello.
60339
60340 2007-04-25  Bruno Haible  <bruno@clisp.org>
60341
60342         * modules/ftello-tests: New file.
60343         * tests/test-ftello.c: New file.
60344
60345         * modules/ftello: New file.
60346         * m4/ftello.m4: New file.
60347         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
60348         HAVE_FTELLO.
60349         * lib/stdio_.h (ftello): New declaration.
60350         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
60351         HAVE_FTELLO.
60352
60353 2007-04-25  Bruno Haible  <bruno@clisp.org>
60354
60355         * modules/fseeko-tests: New file.
60356         * tests/test-fseeko.c: New file.
60357
60358         * modules/fseeko: New file.
60359         * m4/fseeko.m4: New file.
60360         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
60361         HAVE_FSEEKO.
60362         * lib/stdio_.h (fseeko): New declaration.
60363         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
60364         HAVE_FSEEKO.
60365
60366 2007-04-25  Bruno Haible  <bruno@clisp.org>
60367
60368         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
60369
60370 2007-04-25  Bruno Haible  <bruno@clisp.org>
60371
60372         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
60373         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
60374         * tests/test-unistd.c: Likewise.
60375         * tests/test-fcntl.c: Likewise.
60376
60377 2007-04-23  Eric Blake  <ebb9@byu.net>
60378
60379         * lib/fflush.c: Fix missing include.
60380         Reported by Bruno Haible.
60381
60382 2007-04-23  Bruno Haible  <bruno@clisp.org>
60383
60384         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
60385         Reported by Eric Blake.
60386
60387 2007-04-23  Bruno Haible  <bruno@clisp.org>
60388
60389         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
60390
60391 2007-04-23  Bruno Haible  <bruno@clisp.org>
60392
60393         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
60394
60395 2007-04-23  Bruno Haible  <bruno@clisp.org>
60396
60397         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
60398         Needed on HP-UX 11.
60399
60400 2007-04-16  Eric Blake  <ebb9@byu.net>
60401
60402         Make fflush rely on fpurge.
60403         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
60404         open coding all variants.
60405         * modules/fflush (Depends-on): Add fpurge and unistd.
60406         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
60407         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
60408
60409         Fix --with-tests compilation on cygwin.
60410         * modules/argmatch-tests (Makefile.am): List gnulib library first
60411         in LDADD.
60412         * modules/argp-tests (Makefile.am): Likewise.
60413         * modules/array-list-tests (Makefile.am): Likewise.
60414         * modules/array-oset-tests (Makefile.am): Likewise.
60415         * modules/avltree-list-tests (Makefile.am): Likewise.
60416         * modules/avltree-oset-tests (Makefile.am): Likewise.
60417         * modules/avltreehash-list-tests (Makefile.am): Likewise.
60418         * modules/carray-list-tests (Makefile.am): Likewise.
60419         * modules/dirname-tests (Makefile.am): Likewise.
60420         * modules/frexp-tests (Makefile.am): Likewise.
60421         * modules/isnanl-tests (Makefile.am): Likewise.
60422         * modules/linked-list-tests (Makefile.am): Likewise.
60423         * modules/linkedhash-list-tests (Makefile.am): Likewise.
60424         * modules/lock-tests (Makefile.am): Likewise.
60425         * modules/rbtree-list-tests (Makefile.am): Likewise.
60426         * modules/rbtree-oset-tests (Makefile.am): Likewise.
60427         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
60428         * modules/tls-tests (Makefile.am): Likewise.
60429         * modules/tsearch-tests (Makefile.am): Likewise.
60430         * modules/xvasprintf-tests (Makefile.am): Likewise.
60431
60432         Fix fpurge for cygwin.
60433         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
60434         value.
60435         * modules/fpurge-tests (Depends-on): Clean up trash.
60436
60437 2007-04-16  Simon Josefsson  <simon@josefsson.org>
60438
60439         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
60440
60441         * m4/autobuild.m4: Re-indent.
60442
60443 2007-04-13  Bruno Haible  <bruno@clisp.org>
60444
60445         * modules/fpurge-tests: New file.
60446         * tests/test-fpurge.c: New file.
60447
60448         * modules/fpurge: New file.
60449         * lib/fpurge.h: New file.
60450         * lib/fpurge.c: New file.
60451         * m4/fpurge.m4: New file.
60452
60453 2007-04-13  Bruno Haible  <bruno@clisp.org>
60454
60455         * modules/fbufmode-tests: New file.
60456         * tests/test-fbufmode.c: New file.
60457
60458         * modules/fbufmode: New file.
60459         * lib/fbufmode.h: New file.
60460         * lib/fbufmode.c: New file.
60461         * m4/fbufmode.m4: New file.
60462
60463 2007-04-13  Bruno Haible  <bruno@clisp.org>
60464
60465         * modules/fwritable-tests: New file.
60466         * tests/test-fwritable.c: New file.
60467
60468         * modules/fwritable: New file.
60469         * lib/fwritable.h: New file.
60470         * lib/fwritable.c: New file.
60471         * m4/fwritable.m4: New file.
60472
60473 2007-04-13  Bruno Haible  <bruno@clisp.org>
60474
60475         * modules/freadable-tests: New file.
60476         * tests/test-freadable.c: New file.
60477
60478         * modules/freadable: New file.
60479         * lib/freadable.h: New file.
60480         * lib/freadable.c: New file.
60481         * m4/freadable.m4: New file.
60482
60483 2007-04-13  Bruno Haible  <bruno@clisp.org>
60484
60485         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
60486         MOSTLYCLEANFILES.
60487
60488 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
60489
60490         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
60491         gzip bootstrap.conf to avoid dragging in i18n machinery.
60492         (gnulib_tool_option): Use it.
60493
60494 2007-04-13  Bruno Haible  <bruno@clisp.org>
60495
60496         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
60497         %F directives.
60498         * tests/test-vasprintf-posix.c (test_function): Likewise.
60499         * tests/test-snprintf-posix.h (test_function): Likewise.
60500         * tests/test-sprintf-posix.h (test_function): Likewise.
60501         * tests/test-fprintf-posix.h (test_function): Likewise.
60502         * tests/test-printf-posix.h (test_function): Likewise.
60503         * tests/test-fprintf-posix.out: Likewise.
60504
60505 2007-04-13  Bruno Haible  <bruno@clisp.org>
60506
60507         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
60508         * modules/tls-tests (configure.ac): Likewise.
60509         Reported by Arto C. Nirkko <anirkko@insel.ch>.
60510
60511 2007-04-13  Bruno Haible  <bruno@clisp.org>
60512
60513         * lib/tls.c (glthread_tls_get): Fix return type.
60514         Patch by Arto C. Nirkko <anirkko@insel.ch>.
60515
60516 2007-04-12  Eric Blake  <ebb9@byu.net>
60517
60518         * modules/gettime (Depends-on): Remove gettime.
60519         Reported by Dmitry V. Levin.
60520
60521 2007-04-12  Bruno Haible  <bruno@clisp.org>
60522
60523         * modules/fflush (Include): Mention <stdio.h>.
60524         * modules/strtoimax (Include): Mention <inttypes.h>.
60525         * modules/strtoumax (Include): Likewise.
60526
60527 2007-04-12  Eric Blake  <ebb9@byu.net>
60528
60529         * .cvsignore: New file.
60530         * .gitignore: Likewise.
60531
60532 2007-04-12  Bruno Haible  <bruno@clisp.org>
60533
60534         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
60535         not before, since $(LDADD) often contains libgnu.a.
60536         * modules/striconv-tests (test_striconv_LDADD): Likewise.
60537         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
60538         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
60539         Needed on Cygwin.
60540
60541 2007-04-12  Eric Blake  <ebb9@byu.net>
60542
60543         Work around glibc's failure to flush stdin on fclose.
60544         * lib/closein.c (close_stdin): Flush stdin before closing.
60545
60546         Work around glibc's failure to reset seekable stdin on exit.
60547         * modules/closein: New module.
60548         * lib/closein.c: New file.
60549         * lib/closein.h: Likewise.
60550         * m4/closein.m4: Likewise.
60551         * MODULES.html.sh (File stream based Input/Output): Document it.
60552
60553 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60554
60555         * gnulib-tool: Rename generated 'autobuild' script to
60556         'do-autobuild' in --create-megatestdir output.
60557
60558         * doc/gnulib.texi (Build robot for gnulib): Fix.
60559
60560 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60561
60562         * modules/sysexits (Depends-on): Add absolute-header.
60563
60564 2007-04-12  Eric Blake  <ebb9@byu.net>
60565
60566         No need to preserve errno on success.
60567         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
60568         Reported by Bruno Haible.
60569
60570 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60571
60572         * MODULES.html.sh (Support for maintaining and releasing
60573         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
60574
60575 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60576
60577         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
60578
60579 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60580
60581         * modules/autobuild: New module.
60582
60583         * m4/autobuild.m4: New file.
60584
60585 2007-04-11  Bruno Haible  <bruno@clisp.org>
60586
60587         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
60588         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
60589         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
60590         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
60591         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60592         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60593         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60594         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60595         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60596         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60597         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
60598         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60599         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60600         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
60601         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60602         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60603         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
60604         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60605         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60606         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
60607         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60608         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60609         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
60610         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60611         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60612         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
60613         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60614         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60615         Reported by Eric Blake.
60616
60617 2007-04-11  Bruno Haible  <bruno@clisp.org>
60618
60619         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
60620
60621 2007-04-10  Bruno Haible  <bruno@clisp.org>
60622
60623         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
60624         for NaN and Infinity. Needed on FreeBSD 6.1.
60625         * tests/test-vasnprintf-posix.c (test_function): Undo last change
60626         regarding results for "%010a" of Infinity and NaN.
60627         * tests/test-vasprintf-posix.c (test_function): Likewise.
60628         * tests/test-snprintf-posix.h (test_function): Likewise.
60629         * tests/test-sprintf-posix.h (test_function): Likewise.
60630         * tests/test-fprintf-posix.h (test_function): Likewise.
60631         * tests/test-printf-posix.h (test_function): Likewise.
60632         * tests/test-fprintf-posix.out: Likewise.
60633
60634 2007-04-10  Bruno Haible  <bruno@clisp.org>
60635
60636         * modules/locale-tests: New file.
60637         * tests/test-locale.c: New file.
60638
60639         * modules/locale: New file.
60640         * lib/locale_.h: New file.
60641         * m4/locale_h.m4: New file.
60642
60643 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
60644             Bruno Haible  <bruno@clisp.org>
60645
60646         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
60647         be determined, test for availability of the copysignf, copysign,
60648         copysignl functions.
60649         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
60650         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
60651         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
60652
60653 2007-04-09  Eric Blake  <ebb9@byu.net>
60654
60655         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
60656         * modules/stdio (Makefile.am): Support fflush.
60657         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
60658         * modules/fflush: New file.
60659         * lib/fflush.c: Likewise.
60660         * m4/fflush.m4: Likewise.
60661         * modules/fflush-tests: New test.
60662         * tests/test-fflush.c: Likewise.
60663         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
60664
60665 2007-04-06  Bruno Haible  <bruno@clisp.org>
60666
60667         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
60668         (VASNPRINTF): Use signbit for faster determination whether to print a
60669         minus sign.
60670         * modules/vasnprintf (Files): Remove lib/float+.h.
60671         * modules/fprintf-posix (Depends-on): Add signbit.
60672         * modules/snprintf-posix (Depends-on): Likewise.
60673         * modules/sprintf-posix (Depends-on): Likewise.
60674         * modules/vasnprintf-posix (Depends-on): Likewise.
60675         * modules/vasprintf-posix (Depends-on): Likewise.
60676         * modules/vfprintf-posix (Depends-on): Likewise.
60677         * modules/vsnprintf-posix (Depends-on): Likewise.
60678         * modules/vsprintf-posix (Depends-on): Likewise.
60679
60680 2007-04-06  Bruno Haible  <bruno@clisp.org>
60681
60682         * tests/test-frexp.c (main): Test also the sign bit of zero results.
60683         * tests/test-frexpl.c (main): Likewise.
60684         * tests/test-ldexpl.c (main): Likewise.
60685         * modules/frexp-tests (Depends-on): Add signbit.
60686         * modules/frexpl-tests (Depdends-on): Likewise.
60687         * modules/ldexpl-tests (Depdends-on): Likewise.
60688
60689 2007-04-06  Bruno Haible  <bruno@clisp.org>
60690
60691         * modules/signbit-tests: New file.
60692         * tests/test-signbit.c: New file.
60693
60694         * modules/signbit: New file.
60695         * lib/signbitf.c: New file.
60696         * lib/signbitd.c: New file.
60697         * lib/signbitl.c: New file.
60698         * m4/signbit.m4: New file.
60699         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
60700         (signbit): New macro.
60701         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
60702         REPLACE_SIGNBIT.
60703         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
60704         REPLACE_FREXPL into math.h.
60705
60706 2007-04-06  Bruno Haible  <bruno@clisp.org>
60707
60708         * modules/isnanf-nolibm-tests: New file.
60709         * tests/test-isnanf.c: New file.
60710
60711         * modules/isnanf-nolibm: New file.
60712         * lib/isnanf.h: New file.
60713         * lib/isnanf.c: New file.
60714         * lib/isnan.c: Consider the USE_FLOAT macro.
60715         * m4/isnanf.m4: New file.
60716
60717 2007-04-06  Bruno Haible  <bruno@clisp.org>
60718
60719         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
60720         (Link): New section.
60721
60722         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
60723
60724 2007-04-06  Bruno Haible  <bruno@clisp.org>
60725
60726         Assume the 'long double' type.
60727         * m4/longdouble.m4: Remove file.
60728         * config/srclist.txt: Don't mention longdouble.m4.
60729         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
60730         * lib/float+.h: Likewise.
60731         * lib/frexp.c: Likewise.
60732         * lib/printf-args.h: Likewise.
60733         * lib/printf-args.c: Likewise.
60734         * lib/printf-frexp.c: Likewise.
60735         * lib/printf-parse.c: Likewise.
60736         * lib/vasnprintf.c: Likewise.
60737         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
60738         * m4/intl.m4: Likewise.
60739         * m4/isnanl.m4: Likewise.
60740         * m4/printf.m4: Likewise.
60741         * m4/printf-frexpl.m4: Likewise.
60742         * m4/vasnprintf.m4: Likewise.
60743         * modules/allocsa (Files): Remove m4/longdouble.m4.
60744         * modules/gettext (Files): Likewise.
60745         * modules/relocatable-prog-wrapper (Files): Likewise.
60746         * modules/vasnprintf (Files): Likewise.
60747         * modules/isnanl (Files): Likewise.
60748         (Include): Simplify.
60749         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
60750         (Include): Simplify.
60751         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
60752         (Include): Simplify.
60753         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
60754         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60755         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
60756         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60757         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60758         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60759         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
60760         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60761         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60762         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60763         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
60764         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60765         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
60766         * tests/test-isnanl.c: Likewise.
60767         * tests/test-snprintf-posix.h: Likewise.
60768         * tests/test-sprintf-posix.h: Likewise.
60769         * tests/test-vasnprintf-posix.c: Likewise.
60770         * tests/test-vasnprintf-posix2.c: Likewise.
60771         * tests/test-vasprintf-posix.c: Likewise.
60772
60773 2007-04-06  Bruno Haible  <bruno@clisp.org>
60774
60775         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
60776         * lib/math_.h [__DECC]: Include the overridden include file through
60777         #include_next, outside the double-inclusion guard.
60778         * lib/stdio_.h [__DECC]: Likewise.
60779         * lib/stdlib_.h [__DECC]: Likewise.
60780         * lib/string_.h [__DECC]: Likewise.
60781         * lib/time_.h [__DECC]: Likewise.
60782         * lib/wchar_.h [__DECC]: Likewise.
60783         * lib/wctype_.h [__DECC]: Likewise.
60784         * lib/inttypes_.h [__DECC]: Likewise.
60785         Reported by Albert Chin <china@thewrittenword.com> in
60786         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
60787
60788 2007-04-04  Eric Blake  <ebb9@byu.net>
60789
60790         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
60791         1.5.x.
60792
60793 2007-04-04  Bruno Haible  <bruno@clisp.org>
60794
60795         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
60796         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
60797
60798 2007-04-04  Bruno Haible  <bruno@clisp.org>
60799
60800         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
60801         results for "%010a" of Infinity and NaN.
60802         * tests/test-vasprintf-posix.c (test_function): Likewise.
60803         * tests/test-snprintf-posix.h (test_function): Likewise.
60804         * tests/test-sprintf-posix.h (test_function): Likewise.
60805         * tests/test-fprintf-posix.h (test_function): Remove these tests.
60806         * tests/test-printf-posix.h (test_function): Likewise.
60807         * tests/test-fprintf-posix.out: Update.
60808         Needed for FreeBSD 6.1.
60809
60810 2007-04-04  Bruno Haible  <bruno@clisp.org>
60811
60812         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
60813         directly used by the gnulib modules nor by gnulib-tool.
60814
60815 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
60816
60817         * DEPENDENCIES: Give overall description of version dependency
60818         desirability.  Use more-typical names for apps.
60819         Add shell, coreutils, diffutils, grep, tar, gzip.
60820
60821 2007-04-04  Simon Josefsson  <simon@josefsson.org>
60822
60823         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
60824
60825 2007-04-04  Karl Berry  <karl@gnu.org>
60826
60827         * MODULES.html.sh (func_module): missing '.
60828
60829 2007-04-03  Bruno Haible  <bruno@clisp.org>
60830
60831         * modules/argmatch-tests (Makefile.am): New variable
60832         test_argmatch_LDADD.
60833         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
60834         * modules/array-list-tests (Makefile.am): New variable
60835         test_array_list_LDADD.
60836         * modules/array-oset-tests (Makefile.am): New variable
60837         test_array_oset_LDADD.
60838         * modules/avltree-list-tests (Makefile.am): New variable
60839         test_avltree_list_LDADD.
60840         * modules/avltree-oset-tests (Makefile.am): New variable
60841         test_avltree_oset_LDADD.
60842         * modules/avltreehash-list-tests (Makefile.am): New variable
60843         test_avltreehash_list_LDADD.
60844         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60845         test_canonicalize_lgpl_LDADD.
60846         * modules/carray-list-tests (Makefile.am): New variable
60847         test_carray_list_LDADD.
60848         * modules/dirname-tests (Makefile.am): New variable
60849         test_dirname_LDADD.
60850         * modules/linked-list-tests (Makefile.am): New variable
60851         test_linked_list_LDADD.
60852         * modules/linkedhash-list-tests (Makefile.am): New variable
60853         test_linkedhash_list_LDADD.
60854         * modules/rbtree-list-tests (Makefile.am): New variable
60855         test_rbtree_list_LDADD.
60856         * modules/rbtree-oset-tests (Makefile.am): New variable
60857         test_rbtree_oset_LDADD.
60858         * modules/rbtreehash-list-tests (Makefile.am): New variable
60859         test_rbtreehash_list_LDADD.
60860         * modules/xvasprintf-tests (Makefile.am): New variable
60861         test_xvasprintf_LDADD.
60862         Reported by Eric Blake.
60863
60864 2007-04-03  Eric Blake  <ebb9@byu.net>
60865
60866         * DEPENDENCIES: Weaken m4 requirements.
60867
60868 2007-04-03  Bruno Haible  <bruno@clisp.org>
60869
60870         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60871         * modules/isnanl-tests (configure.ac): Likewise.
60872
60873 2007-04-03  Ben Pfaff  <blp@gnu.org>
60874
60875         * modules/iconv_open: Add $(srcdir)/ to source directory
60876         references in Makefile fragments that call gperf, to fix VPATH
60877         builds.
60878
60879 2007-04-03  Bruno Haible  <bruno@clisp.org>
60880
60881         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60882         * lib/ldexpl.c: Undo last change.
60883
60884 2007-04-03  Bruno Haible  <bruno@clisp.org>
60885
60886         * modules/printf-frexpl (Depends-on): Undo last change.
60887         (Files): Add m4/ldexpl.m4.
60888
60889 2007-04-03  Bruno Haible  <bruno@clisp.org>
60890
60891         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60892         * modules/isnanl (Link): New section.
60893
60894         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60895         * modules/frexp (Link): New section.
60896
60897         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60898         * modules/frexpl (Link): New section.
60899
60900         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60901         * modules/ldexpl (Link): New section.
60902
60903 2007-04-03  Bruno Haible  <bruno@clisp.org>
60904
60905         * modules/TEMPLATE-EXTENDED: New file.
60906         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60907
60908 2007-04-03  Bruno Haible  <bruno@clisp.org>
60909
60910         * DEPENDENCIES: New file.
60911         Suggested by Simon Josefsson.
60912
60913 2007-04-03  Bruno Haible  <bruno@clisp.org>
60914
60915         * doc/gnulib.texi: Escape @.
60916
60917 2007-04-03  James Youngman  <jay@gnu.org>
60918         and Paul Eggert  <eggert@cs.ucla.edu>
60919
60920         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60921         birthtime on all systems that have birthtime, not just those which
60922         use st_birthtimensec rather than st_birthtim.  Putting zero in
60923         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60924         that the birth time is not available for files on an NFS mount.
60925
60926 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60927
60928         * modules/memxor: Move back from crypto/, suggested by Bruno.
60929         * modules/crypto/hmac-sha1: Fix memxor dependency.
60930
60931         * modules/crypto/gc: Moved from ../.
60932
60933 2007-04-02  Eric Blake  <ebb9@byu.net>
60934
60935         * lib/ldexpl.c (includes): Avoid libm.
60936
60937         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60938
60939 2007-04-02  Bruno Haible  <bruno@clisp.org>
60940
60941         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60942         on IRIX.
60943
60944 2007-04-02  Bruno Haible  <bruno@clisp.org>
60945
60946         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60947         x86 or x86_64 platforms running MacOS X.
60948         Reported by Ryan Schmidt <@ryandesign.com>.
60949
60950 2007-04-02  Bruno Haible  <bruno@clisp.org>
60951
60952         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60953         i386.
60954
60955 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60956
60957         * modules/crypto/arcfour: Moved from ../.
60958         * modules/crypto/arcfour-tests: Moved from ../.
60959         * modules/crypto/arctwo: Moved from ../.
60960         * modules/crypto/arctwo-tests: Moved from ../.
60961         * modules/crypto/des: Moved from ../.
60962         * modules/crypto/des-tests: Moved from ../.
60963         * modules/crypto/gc-arcfour: Moved from ../.
60964         * modules/crypto/gc-arcfour-tests: Moved from ../.
60965         * modules/crypto/gc-arctwo: Moved from ../.
60966         * modules/crypto/gc-arctwo-tests: Moved from ../.
60967         * modules/crypto/gc-des: Moved from ../.
60968         * modules/crypto/gc-des-tests: Moved from ../.
60969         * modules/crypto/gc-hmac-md5: Moved from ../.
60970         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60971         * modules/crypto/gc-hmac-sha1: Moved from ../.
60972         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60973         * modules/crypto/gc-md2: Moved from ../.
60974         * modules/crypto/gc-md2-tests: Moved from ../.
60975         * modules/crypto/gc-md4: Moved from ../.
60976         * modules/crypto/gc-md4-tests: Moved from ../.
60977         * modules/crypto/gc-md5: Moved from ../.
60978         * modules/crypto/gc-md5-tests: Moved from ../.
60979         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60980         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60981         * modules/crypto/gc-random: Moved from ../.
60982         * modules/crypto/gc-rijndael: Moved from ../.
60983         * modules/crypto/gc-rijndael-tests: Moved from ../.
60984         * modules/crypto/gc-sha1: Moved from ../.
60985         * modules/crypto/gc-sha1-tests: Moved from ../.
60986         * modules/crypto/gc-tests: Moved from ../.
60987         * modules/crypto/hmac-md5: Moved from ../.
60988         * modules/crypto/hmac-md5-tests: Moved from ../.
60989         * modules/crypto/hmac-sha1: Moved from ../.
60990         * modules/crypto/hmac-sha1-tests: Moved from ../.
60991         * modules/crypto/md2: Moved from ../.
60992         * modules/crypto/md2-tests: Moved from ../.
60993         * modules/crypto/md4: Moved from ../.
60994         * modules/crypto/md4-tests: Moved from ../.
60995         * modules/crypto/md5: Moved from ../.
60996         * modules/crypto/md5-tests: Moved from ../.
60997         * modules/crypto/memxor: Moved from ../.
60998         * modules/crypto/rijndael: Moved from ../.
60999         * modules/crypto/rijndael-tests: Moved from ../.
61000         * modules/crypto/sha1: Moved from ../.
61001
61002 2007-03-30  James Youngman  <jay@gnu.org>
61003
61004         * tests/test-stat-time.c (prepare_test): use chmod() rather than
61005         rename() to change the ctime of a file (because ctime is unaffected
61006         by rename on jfs2 on AIX 5.1).
61007         (main): Start by doing cleanup, in case a previous run failed leaving
61008         test files behind.
61009
61010 2007-03-31  Bruno Haible  <bruno@clisp.org>
61011
61012         Support old proprietary implementations of iconv.
61013         * modules/iconv_open: New file.
61014         * lib/iconv_.h: New file.
61015         * m4/iconv_h.m4: New file.
61016         * lib/iconv_open.c: New file.
61017         * lib/iconv_open-aix.gperf: New file.
61018         * lib/iconv_open-hpux.gperf: New file.
61019         * lib/iconv_open-irix.gperf: New file.
61020         * lib/iconv_open-osf.gperf: New file.
61021         * m4/iconv_open.m4: New file.
61022         * modules/linebreak (Depends-on): Add iconv_open.
61023         * modules/striconv (Depends-on): Likewise.
61024         * modules/striconveh (Depends-on): Likewise.
61025         * modules/unicodeio (Depends-on): Likewise.
61026         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
61027         (iconv_t)(-1).
61028         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
61029         conversion if cd is (iconv_t)(-1).
61030         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
61031         is not possible.
61032
61033 2007-03-31  Bruno Haible  <bruno@clisp.org>
61034
61035         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
61036         work on Solaris either. Protect also second use of "autodetect_jp".
61037
61038 2007-03-31  Bruno Haible  <bruno@clisp.org>
61039
61040         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
61041         the function is not present.
61042
61043 2007-03-31  Bruno Haible  <bruno@clisp.org>
61044
61045         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
61046         the function is not present.
61047
61048 2007-03-31  Bruno Haible  <bruno@clisp.org>
61049
61050         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
61051         a bug in HP-UX iconv_open().
61052
61053 2007-03-31  Bruno Haible  <bruno@clisp.org>
61054
61055         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
61056         (Mathematics <math.h>): New section, add fpieee.
61057         (Input/output <stdio.h>): Add fseterr.
61058         (Mathematics <math.h>): New section, add printf-frexp.
61059         (Container data structures): Add sublist.
61060         (Core language properties): Add fpucw, inline.
61061         (Functions for greatest-width integer types <inttypes.h>): Add
61062         imaxabs, imaxdiv, inttypes.
61063         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
61064         isnanl-nolibm, ldexp.
61065         (Mathematics <math.h>): New section, add printf-frexpl.
61066         (Support for systems lacking POSIX:2001): Add fprintf-posix,
61067         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
61068         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
61069         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
61070         (Unicode string functions): Add unistr/u*-mbtoucr.
61071         (Java): Add javacomp-script, javaexec-script.
61072         (C#): Add csharpcomp-script, csharpexec-script.
61073         (Support for building libraries and executables): Add havelib,
61074         relocatable-*.
61075         (Support for maintaining and releasing projects): Renamed from
61076         'Support for maintaining and release projects'. Add announce-gen.
61077
61078 2007-03-31  Bruno Haible  <bruno@clisp.org>
61079
61080         * README: Talk primarily about git.
61081         (git and CVS): Renamed from CVS.
61082         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
61083         gnulib is available through git.
61084         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
61085
61086 2007-03-30  Bruno Haible  <bruno@clisp.org>
61087
61088         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
61089         * lib/poll_.h: Likewise.
61090         * lib/stat_.h: Likewise.
61091         * lib/sys_time_.h: Likewise.
61092         * lib/sysexit_.h: Likewise.
61093         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
61094         * lib/stdbool_.h: Likewise.
61095         * lib/byteswap_.h: Add double-inclusion guard.
61096
61097 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
61098
61099         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
61100
61101 2007-03-30  Karl Berry  <karl@gnu.org>
61102
61103         * config/srclist-update: double space after USA in the license
61104         substitution, since that's how it's usually (?) written.
61105
61106 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61107
61108         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
61109         reported by Bruno Haible.
61110
61111 2007-03-29  Bruno Haible  <bruno@clisp.org>
61112
61113         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
61114         a bug in AIX iconv().
61115
61116 2007-03-29  Bruno Haible  <bruno@clisp.org>
61117
61118         * modules/ldexpl-tests: New file.
61119         * tests/test-ldexpl.c: New file.
61120
61121 2007-03-29  Bruno Haible  <bruno@clisp.org>
61122
61123         * lib/ldexpl.c: Include fpucw.h.
61124         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
61125         multiplication.
61126         * modules/ldexpl (Depends-on): Add fpucw.
61127
61128 2007-03-29  Bruno Haible  <bruno@clisp.org>
61129
61130         * modules/ldexpl: New file.
61131         * m4/ldexpl.m4: New file.
61132         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
61133         set.
61134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
61135         REPLACE_LDEXPL.
61136         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
61137         REPLACE_LDEXPL.
61138         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
61139         gl_FUNC_LDEXPL_WORKS.
61140         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
61141         * modules/mathl (Files): Remove lib/ldexpl.c.
61142         (Depends-on): Add ldexpl.
61143
61144 2007-03-29  Bruno Haible  <bruno@clisp.org>
61145
61146         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
61147
61148 2007-03-29  Bruno Haible  <bruno@clisp.org>
61149
61150         * tests/test-striconveh.c (main): Don't assume that a direct conversion
61151         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
61152         and possibly also HP-UX.
61153         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
61154         work on AIX, IRIX, HP-UX, OSF/1.
61155         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
61156         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
61157         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
61158         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
61159         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
61160         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
61161
61162 2007-03-29  Bruno Haible  <bruno@clisp.org>
61163
61164         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
61165
61166 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
61167
61168         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
61169         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
61170
61171 2007-03-29  Eric Blake  <ebb9@byu.net>
61172
61173         * lib/acl-internal.h: Remove redundant include.
61174         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
61175         Cygwin when a file is locked.
61176
61177 2007-03-29  Bruno Haible  <bruno@clisp.org>
61178
61179         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
61180         file.
61181         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
61182
61183 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
61184
61185         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
61186         try to remove a parent directory if the child couldn't be removed
61187         (except for the first rmdir, which could fail because the child
61188         doesn't exist).  Problem reported by Jeff Blaine in
61189         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
61190
61191 2007-03-28  Bruno Haible  <bruno@clisp.org>
61192
61193         * lib/striconveh.c (utf8conv_carefully): New function.
61194         (mem_cd_iconveh_internal): Invoke it.
61195
61196 2007-03-28  Bruno Haible  <bruno@clisp.org>
61197
61198         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
61199         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
61200         input.
61201         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
61202         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
61203         unistr/u8-uctomb.
61204
61205 2007-03-28  Bruno Haible  <bruno@clisp.org>
61206
61207         * modules/unistr/u8-mbtoucr: New file.
61208         * lib/unistr/u8-mbtoucr.c: New file.
61209         * modules/unistr/u16-mbtoucr: New file.
61210         * lib/unistr/u16-mbtoucr.c: New file.
61211         * modules/unistr/u16-mbtoucr: New file.
61212         * lib/unistr/u16-mbtoucr.c: New file.
61213         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
61214
61215 2007-03-27  Simon Josefsson  <simon@josefsson.org>
61216             Bruno Haible  <bruno@clisp.org>
61217
61218         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
61219         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
61220         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
61221
61222         * m4/stdio_h.m4: Add stubs for vasprintf too.
61223
61224         * modules/stdio: Support vasprintf in sed command.
61225
61226         * modules/vasprintf: Depend on stdio for prototypes.  Remove
61227         vasprintf.h.  Add stdio module indicator.
61228
61229         * lib/stdio_.h: Declare asprintf and vasprintf, based on
61230         vasprintf.h.
61231
61232         * lib/vasprintf.h: File removed.
61233
61234         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
61235         * lib/vasprintf.c: Ditto.
61236         * lib/xvasprintf.c: Ditto.
61237         * tests/test-vasprintf-posix.c: Ditto.
61238         * tests/test-vasprintf.c: Ditto.
61239
61240 2007-03-27  Bruno Haible  <bruno@clisp.org>
61241
61242         Make vasnprintf multithread-safe.
61243         * lib/vasnprintf.c (decimal_point_char): New function.
61244         (VASNPRINTF): Use it.
61245         Suggested by Simon Josefsson.
61246
61247 2007-03-27  Eric Blake  <ebb9@byu.net>
61248
61249         Support sub-second birthtime on cygwin.
61250         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
61251         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
61252         (get_stat_birthtime): Also work with st_birthtim.
61253
61254 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
61255
61256         * lib/stat-time.h (USE_BIRTHTIME): Remove.
61257         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
61258         (get_stat_birthtime_ns): Do not try to use "spare" fields.
61259         (get_stat_birthtime_ns): Simplify compile-time tests.
61260         (get_stat_birthtime): Change the API to look like
61261         get_stat_mtime etc., except return a negative tv_nsec on error.
61262         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
61263         Don't check for "spare" fields.
61264         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
61265         or for struct stat.st_birthtime, as these tests aren't used.
61266         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
61267
61268 2007-03-27  Bruno Haible  <bruno@clisp.org>
61269
61270         * lib/stat-time.h: Include <sys/stat.h>.
61271
61272 2007-03-27  James Youngman  <jay@gnu.org>
61273
61274         * lib/stat-time.h (get_stat_birthtime): New function for
61275           retrieving st_birthtime as provided by UFS2 (hence *BSD).
61276         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
61277           and its variants.
61278         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
61279         * modules/stat-time-test: New file.
61280         * tests/test-stat-time.c: New test, devised by Bruno Haible.
61281
61282 2007-03-26  Bruno Haible  <bruno@clisp.org>
61283
61284         Better support of signalling NaNs.
61285         * lib/atanl.c: Include isnanl.h.
61286         (atanl): Perform test for NaN at the beginning of the function and
61287         through a call to isnanl.
61288         * lib/cosl.c: Include isnanl.h.
61289         (cosl): Perform test for NaN at the beginning of the function and
61290         through a call to isnanl.
61291         * lib/ldexpl.c: Include isnanl.h.
61292         (ldexpl): Perform test for NaN through a call to isnanl.
61293         * lib/logl.c: Include isnanl.h.
61294         (logl): Perform test for NaN at the beginning of the function and
61295         through a call to isnanl.
61296         * lib/sinl.c: Include isnanl.h.
61297         (sinl): Perform test for NaN at the beginning of the function and
61298         through a call to isnanl.
61299         * lib/sqrtl.c: Include isnanl.h.
61300         (sqrtl): Perform test for NaN at the beginning of the function and
61301         through a call to isnanl.
61302         * lib/tanl.c: Include isnanl.h.
61303         (tanl): Perform test for NaN at the beginning of the function and
61304         through a call to isnanl.
61305         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
61306         * modules/mathl (Depends-on): Add isnanl.
61307
61308 2007-03-26  Eric Blake  <ebb9@byu.net>
61309
61310         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
61311         regression in logic sense of previous patch.
61312
61313 2007-03-26  Bruno Haible  <bruno@clisp.org>
61314
61315         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
61316         unportable shell command "if ! ...".
61317         Reported by Ralf Wildenhues.
61318
61319 2007-03-25  Bruno Haible  <bruno@clisp.org>
61320
61321         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
61322         <sysexits.h> file, and only add EX_CONFIG.
61323         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
61324         absolute file name and whether it is sufficient. Substitute also
61325         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
61326         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
61327         ABSOLUTE_SYSEXITS_H into sysexits.h.
61328
61329 2007-03-25  Bruno Haible  <bruno@clisp.org>
61330
61331         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
61332         hints is NULL.
61333
61334 2007-03-25  Bruno Haible  <bruno@clisp.org>
61335
61336         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
61337         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
61338
61339 2007-03-25  Bruno Haible  <bruno@clisp.org>
61340
61341         * lib/vasnprintf.c: Include langinfo.h.
61342         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
61343         multithread-safe.
61344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
61345         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
61346         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61347         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61348         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61349         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61350         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61351         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
61352         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61353         Reported by Simon Josefsson.
61354
61355 2007-03-25  Bruno Haible  <bruno@clisp.org>
61356
61357         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
61358         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
61359         * modules/vasnprintf (Depends-on): Add stdint.
61360
61361 2007-03-25  Bruno Haible  <bruno@clisp.org>
61362
61363         * modules/fpieee: New file.
61364         * m4/fpieee.m4: New file.
61365         * modules/isnan-nolibm (Depends-on): Add fpieee.
61366         * modules/isnanl-nolibm (Depends-on): Add fpieee.
61367         * modules/isnanl (Depends-on): Add fpieee.
61368
61369 2007-03-25  Bruno Haible  <bruno@clisp.org>
61370
61371         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
61372
61373 2007-03-25  Bruno Haible  <bruno@clisp.org>
61374
61375         Avoid test failures on IRIX 6.5.
61376         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
61377         (main): Use it.
61378         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
61379         macros.
61380         (main): Use them.
61381
61382 2007-03-25  Bruno Haible  <bruno@clisp.org>
61383
61384         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
61385         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
61386         exists but doesn't work.
61387         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
61388         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
61389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
61390         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
61391         math.h.
61392
61393 2007-03-25  Bruno Haible  <bruno@clisp.org>
61394
61395         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
61396         returns inf. Needed on IRIX 6.5.
61397
61398 2007-03-25  Bruno Haible  <bruno@clisp.org>
61399
61400         * tests/test-frexpl.c: Include isnanl-nolibm.h.
61401         (main): Use isnanl instead of x != x idiom.
61402         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
61403
61404         * tests/test-frexp.c: Include isnan.h.
61405         (main): Use isnan instead of x != x idiom.
61406         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
61407
61408 2007-03-25  Bruno Haible  <bruno@clisp.org>
61409
61410         * tests/test-frexp.c (NaN): New function/macro.
61411         (main): Use it instead of 0.0 / 0.0.
61412         * tests/test-isnan.c (NaN): New function/macro.
61413         (main): Use it instead of 0.0 / 0.0.
61414         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
61415         (test_function): Use it instead of 0.0 / 0.0.
61416         * tests/test-vasprintf-posix.c (NaN): New function/macro.
61417         (test_function): Use it instead of 0.0 / 0.0.
61418         * tests/test-snprintf-posix.h (NaN): New function/macro.
61419         (test_function): Use it instead of 0.0 / 0.0.
61420         * tests/test-sprintf-posix.h (NaN): New function/macro.
61421         (test_function): Use it instead of 0.0 / 0.0.
61422         * tests/test-fprintf-posix.h (NaN): New function/macro.
61423         (test_function): Use it instead of 0.0 / 0.0.
61424         * tests/test-printf-posix.h (NaN): New function/macro.
61425         (test_function): Use it instead of 0.0 / 0.0.
61426
61427         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
61428
61429 2007-03-25  Bruno Haible  <bruno@clisp.org>
61430
61431         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
61432
61433 2007-03-25  Bruno Haible  <bruno@clisp.org>
61434
61435         * lib/regexec.c (merge_state_with_log): Make static.
61436
61437 2007-03-25  Bruno Haible  <bruno@clisp.org>
61438
61439         * lib/trigl.c (kernel_rem_pio2): Make static.
61440
61441 2007-03-25  Bruno Haible  <bruno@clisp.org>
61442
61443         * lib/sincosl.c (sincosl_table): Make static.
61444
61445 2007-03-25  Bruno Haible  <bruno@clisp.org>
61446
61447         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
61448         if the compiler does not support C99.
61449
61450 2007-03-25  Bruno Haible  <bruno@clisp.org>
61451
61452         * modules/time (Makefile.am): Ensure all rule action lines start with a
61453         tab.
61454
61455 2007-03-24  Bruno Haible  <bruno@clisp.org>
61456
61457         * modules/tsearch-tests: New file.
61458         * tests/test-tsearch.sh: New file.
61459         * tests/test-tsearch.c: New file, mostly copied from glibc.
61460
61461         * modules/search-tests: New file.
61462         * tests/test-search.c: New file.
61463
61464         * modules/search: New file.
61465         * lib/search_.h: New file, incorporating lib/tsearch.h.
61466         * m4/search_h.m4: New file.
61467         * lib/tsearch.h: Remove file.
61468         * lib/tsearch.c: Include search.h instead of tsearch.h.
61469         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
61470         HAVE_TSEARCH.
61471         * modules/tsearch (Files): Remove lib/tsearch.h.
61472         (Depends-on): Add search.
61473         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
61474         (Include): Change tsearch.h into search.h.
61475
61476 2007-03-24  Bruno Haible  <bruno@clisp.org>
61477
61478         * modules/fpucw: New file.
61479         * lib/fpucw.h: New file.
61480         * lib/frexp.c: Include fpucw.h.
61481         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
61482         (FUNC): Use them.
61483         * lib/printf-frexp.c: Include fpucw.h.
61484         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
61485         (FUNC): Use them.
61486         * lib/vasnprintf.c: Include fpucw.h.
61487         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
61488         'long double' calculations.
61489         * tests/test-frexpl.c: Include fpucw.h.
61490         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
61491         * tests/test-printf-frexpl.c: Include fpucw.h.
61492         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
61493         * modules/frexpl (Depends-on): Add fpucw.
61494         * modules/printf-frexpl (Depends-on): Likewise.
61495         * modules/fprintf-posix (Depends-on): Likewise.
61496         * modules/snprintf-posix (Depends-on): Likewise.
61497         * modules/sprintf-posix (Depends-on): Likewise.
61498         * modules/vasnprintf-posix (Depends-on): Likewise.
61499         * modules/vasprintf-posix (Depends-on): Likewise.
61500         * modules/vfprintf-posix (Depends-on): Likewise.
61501         * modules/vsnprintf-posix (Depends-on): Likewise.
61502         * modules/vsprintf-posix (Depends-on): Likewise.
61503         * modules/frexpl-tests (Depends-on): Likewise.
61504         * modules/printf-frexpl-tests (Depends-on): Likewise.
61505
61506 2007-03-24  Bruno Haible  <bruno@clisp.org>
61507
61508         * lib/float+.h: New file.
61509         * lib/isnan.c: Include float+.h.
61510         (SIZE): New macro.
61511         (FUNC): Compare only SIZE bytes of the value.
61512         * lib/vasnprintf.c: Include float+.h.
61513         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
61514         SIZEOF_LDBL or SIZEOF_DBL bytes.
61515         * modules/isnan-nolibm (Files): Add lib/float+.h.
61516         * modules/isnanl-nolibm (Files): Add lib/float+.h.
61517         * modules/isnanl (Files): Add lib/float+.h.
61518         * modules/vasnprintf (Files): Add lib/float+.h.
61519
61520 2007-03-24  Bruno Haible  <bruno@clisp.org>
61521
61522         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
61523         include isnanl-nolibm.h.
61524
61525 2007-03-24  Bruno Haible  <bruno@clisp.org>
61526
61527         * tests/test-read-file.c (main): Don't produce spurious output for
61528         expected situations. Make the test fail if it encountered unexpected
61529         results.
61530
61531 2007-03-24  Bruno Haible  <bruno@clisp.org>
61532
61533         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
61534         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
61535
61536 2007-03-24  Bruno Haible  <bruno@clisp.org>
61537
61538         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
61539
61540 2007-03-24  Bruno Haible  <bruno@clisp.org>
61541
61542         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
61543         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
61544
61545         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
61546         * modules/utf8-ucs4: Turn into a symbolic link to module
61547         unistr/u8-mbtouc.
61548
61549         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
61550         utf8-ucs4-unsafe.
61551         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
61552         unistr/u8-mbtouc-unsafe.
61553
61554         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
61555         * modules/utf16-ucs4: Turn into a symbolic link to module
61556         unistr/u16-mbtouc.
61557
61558         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
61559         utf16-ucs4-unsafe.
61560         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
61561         unistr/u16-mbtouc-unsafe.
61562
61563         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
61564         * modules/ucs4-utf8: Turn into a symbolic link to module
61565         unistr/u8-ubtomb.
61566
61567         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
61568         * modules/ucs4-utf16: Turn into a symbolic link to module
61569         unistr/u16-ubtomb.
61570
61571 2007-03-24  Bruno Haible  <bruno@clisp.org>
61572
61573         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
61574         Enable the function only if HAVE_INLINE.
61575         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
61576         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
61577         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
61578         Enable the function only if HAVE_INLINE.
61579         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
61580         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
61581         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
61582         Enable the function only if HAVE_INLINE.
61583         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
61584         Enable the function only if HAVE_INLINE.
61585         * modules/utf8-ucs4: Update.
61586         * modules/utf8-ucs4-unsafe: Update.
61587         * modules/utf16-ucs4: Update.
61588         * modules/utf16-ucs4-unsafe: Update.
61589         * modules/ucs4-utf8: Update.
61590         * modules/ucs4-utf16: Update.
61591
61592 2007-03-24  Bruno Haible  <bruno@clisp.org>
61593
61594         * lib/utf8-ucs4.h: Remove file.
61595         * lib/utf8-ucs4-unsafe.h: Remove file.
61596         * lib/utf16-ucs4.h: Remove file.
61597         * lib/utf16-ucs4-unsafe.h: Remove file.
61598         * lib/ucs4-utf8.h: Remove file.
61599         * lib/ucs4-utf16.h: Remove file.
61600         * lib/unistr.h: Include their previous contents.
61601         * m4/utf-ucs4.m4: Remove file.
61602         * m4/ucs4-utf.m4: Remove file.
61603         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
61604         (Depends-on): Add unistr/base.
61605         (configure.ac): Remove gl_UTF_UCS4.
61606         (Makefile.am): Update.
61607         (Include): Change to unistr.h.
61608         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
61609         (Depends-on): Add unistr/base.
61610         (configure.ac): Remove gl_UTF_UCS4.
61611         (Makefile.am): Update.
61612         (Include): Change to unistr.h.
61613         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
61614         (Depends-on): Add unistr/base.
61615         (configure.ac): Remove gl_UTF_UCS4.
61616         (Makefile.am): Update.
61617         (Include): Change to unistr.h.
61618         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
61619         (Depends-on): Add unistr/base.
61620         (configure.ac): Remove gl_UTF_UCS4.
61621         (Makefile.am): Update.
61622         (Include): Change to unistr.h.
61623         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
61624         (Depends-on): Add unistr/base.
61625         (configure.ac): Remove gl_UCS4_UTF.
61626         (Makefile.am): Update.
61627         (Include): Change to unistr.h.
61628         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
61629         (Depends-on): Add unistr/base.
61630         (configure.ac): Remove gl_UCS4_UTF.
61631         (Makefile.am): Update.
61632         (Include): Change to unistr.h.
61633         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
61634         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
61635         utf8-ucs4-unsafe.h.
61636         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
61637         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
61638         utf16-ucs4-unsafe.h.
61639         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
61640         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
61641         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
61642         * lib/unistr/u8-strchr.c: Likewise.
61643         * lib/unistr/u8-strrchr.c: Likewise.
61644         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
61645         * lib/unistr/u16-strchr.c: Likewise.
61646         * lib/unistr/u16-strrchr.c: Likewise.
61647         * lib/striconveh.c: Update.
61648         * lib/linebreak.c: Update.
61649
61650 2007-03-24  Bruno Haible  <bruno@clisp.org>
61651
61652         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
61653         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
61654
61655 2007-03-22  Bruno Haible  <bruno@clisp.org>
61656
61657         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
61658
61659 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
61660
61661         * MODULES.html.sh (File system functions): New module write-any-file.
61662         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
61663         * m4/write-any-file.m4: New files.
61664
61665 2007-03-23  Eric Blake  <ebb9@byu.net>
61666
61667         * gnulib-tool: Rearrange space-tab sequences, since some editors
61668         like to eat them.
61669
61670 2007-03-23  Eric Blake  <ebb9@byu.net>
61671
61672         * lib/version-etc.c (version_etc_va): Update license wording to
61673         be more concise.  Recommended by Richard Stallman.
61674
61675 2007-03-22  Bruno Haible  <bruno@clisp.org>
61676
61677         * lib/poll.c (MSG_PEEK): New fallback definition.
61678
61679 2007-03-22  Bruno Haible  <bruno@clisp.org>
61680
61681         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
61682         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
61683         (main): Update.
61684         Fixes a compilation error on BeOS.
61685
61686 2007-03-22  Bruno Haible  <bruno@clisp.org>
61687
61688         * modules/frexpl-tests: New file.
61689         * tests/test-frexpl.c: New file.
61690
61691         * modules/frexpl: New file.
61692         * m4/frexpl.m4: New file.
61693         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
61694         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
61695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
61696         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
61697         (Depends-on): Add frexpl. Remove isnanl-nolibm.
61698         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
61699
61700 2007-03-22  Bruno Haible  <bruno@clisp.org>
61701
61702         * lib/frexpl.c: Share code with lib/frexp.c.
61703         * modules/mathl (Files): Add lib/frexp.c.
61704         (Depends-on): Add isnanl-nolibm.
61705
61706 2007-03-22  Bruno Haible  <bruno@clisp.org>
61707
61708         * modules/printf-frexp (Files): Add m4/frexp.m4.
61709         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
61710         only if the found frexp function actually works.
61711
61712 2007-03-22  Bruno Haible  <bruno@clisp.org>
61713
61714         * lib/frexp.c: Remove older implementation that uses divisions.
61715
61716 2007-03-21  Bruno Haible  <bruno@clisp.org>
61717
61718         * modules/frexp-tests: New file.
61719         * tests/test-frexp.c: New file.
61720
61721         * modules/frexp: New file.
61722         * lib/frexp.c: New file.
61723         * m4/frexp.m4: New file.
61724         * lib/math_.h (frexp): New declaration.
61725         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
61726         REPLACE_FREXP.
61727         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
61728
61729 2007-03-21  Bruno Haible  <bruno@clisp.org>
61730
61731         * modules/isnanl-tests: New file.
61732         * tests/test-isnanl.c: New file.
61733
61734         * modules/isnanl: New file.
61735         * lib/isnanl.h: New file.
61736         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
61737         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
61738         gl_FUNC_ISNANL_WORKS.
61739         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
61740         New macros.
61741
61742 2007-03-21  Bruno Haible  <bruno@clisp.org>
61743
61744         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
61745         lib/isnanl.h.
61746         (Include): Update.
61747         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
61748         * lib/vasnprintf.c: Update.
61749         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
61750         tests/test-isnanl.h, remove tests/test-isnanl.c.
61751         (Makefile.am): Update.
61752         * tests/test-isnanl-nolibm.c: New file.
61753         * tests/test-isnanl.h: New file.
61754         * tests/test-isnanl.c: Remove file.
61755
61756 2007-03-21  Jim Meyering  <jim@meyering.net>
61757
61758         When trying to open ".", treat ESTALE like EACCES.
61759         * lib/savewd.c (savewd_save): Resort to forking not just upon
61760         failure with EACCES, but also when errno is ESTALE.
61761
61762 2007-03-20  Bruno Haible  <bruno@clisp.org>
61763
61764         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
61765         Needed on AIX 5.1. Reported by Matthew Woehlke.
61766
61767 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61768
61769         Suggestions by Bruno Haible:
61770         * lib/acl-internal.h: Include "gettext.h" rather than rolling
61771         our own.
61772         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
61773         * modules/acl (Depends-on): Add gettext.
61774
61775 2007-03-19  Bruno Haible  <bruno@clisp.org>
61776
61777         * modules/iconvme: Remove file.
61778         * lib/iconvme.h: Remove file.
61779         * lib/iconvme.c: Remove file.
61780         * m4/iconvme.m4: Remove file.
61781
61782 2007-03-19  Bruno Haible  <bruno@clisp.org>
61783
61784         * doc/relocatable-maint.texi: Break long shell script line.
61785         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61786
61787 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61788
61789         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
61790         handle file_has_acl.
61791         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
61792         * lib/acl.c: Move header inclusions and related macro defns into
61793         lib/acl-internal.h.
61794         (S_ISLNK): Remove defn, since that's now done for us.
61795         (file_has_acl): Move to lib/file-has-acl.c.
61796         Call acl_trivial if available.  This is the crucial part of the fix.
61797         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
61798         shared within the library.  Rewrite a bit, partly to make it compatible
61799         with the GNU coding style.
61800         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
61801         Remove unnecessary double-quotes.
61802         Don't test for acl_to_text; the build will catch that.
61803         Replace acl_entries if it doesn't exist and it is needed.
61804         Check for -lsec and acl_trivial (as used on Solaris 10).
61805         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
61806         lib/file-has-acl.c.
61807         (Depends-on): Add sys_stat, for S_ISLNK.
61808
61809 2007-03-19  Ben Pfaff  <blp@gnu.org>
61810
61811         * doc/gnulib.texi: Fix typos.
61812         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61813
61814 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61815
61816         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
61817         If size is zero here, buf must be zero.
61818
61819 2007-03-19  Simon Josefsson  <simon@josefsson.org>
61820
61821         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
61822         <bruno@clisp.org>.
61823
61824 2007-03-18  Bruno Haible  <bruno@clisp.org>
61825
61826         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
61827         Suggested by Eric Blake.
61828
61829 2007-03-18  Ben Pfaff  <blp@gnu.org>
61830
61831         * doc/relocatable.texi: Recommend using as prefix a directory
61832         that does not exist and will never be created.  Based on
61833         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
61834         and others.
61835
61836 2007-03-17  Bruno Haible  <bruno@clisp.org>
61837
61838         * lib/fchownat.c: Include lchown.h.
61839
61840 2007-03-17  Bruno Haible  <bruno@clisp.org>
61841
61842         Fix endless loop when the given allocated size was > INT_MAX.
61843         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61844         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61845         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61846         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61847         * lib/sprintf.c (sprintf): Likewise.
61848
61849 2007-03-17  Bruno Haible  <bruno@clisp.org>
61850
61851         * tests/test-argp-2.sh (func_compare): Output a context diff.
61852
61853 2007-03-17  Bruno Haible  <bruno@clisp.org>
61854
61855         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61856         locale's decimal-point character.
61857
61858 2007-03-17  Bruno Haible  <bruno@clisp.org>
61859
61860         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61861         before comparing it. Needed because on some platforms (e.g. x86) a
61862         'long double' occupies less bytes than sizeof (long double).
61863
61864 2007-03-17  Bruno Haible  <bruno@clisp.org>
61865
61866         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61867         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61868         * tests/test-getaddrinfo.c (simple): Likewise.
61869         * tests/test-read-file.c (main): Likewise.
61870
61871 2007-03-17  Bruno Haible  <bruno@clisp.org>
61872
61873         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61874
61875 2007-03-17  Bruno Haible  <bruno@clisp.org>
61876
61877         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61878         unused variable.
61879
61880 2007-03-17  Bruno Haible  <bruno@clisp.org>
61881
61882         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61883         * tests/test-c-strncasecmp.c: Likewise.
61884
61885 2007-03-17  Bruno Haible  <bruno@clisp.org>
61886
61887         * modules/stdlib (Depends-on): Add unistd.
61888         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61889         Needed for MacOS X 10.3.
61890
61891 2007-03-17  Bruno Haible  <bruno@clisp.org>
61892
61893         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61894
61895 2007-03-17  Bruno Haible  <bruno@clisp.org>
61896
61897         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61898
61899 2007-03-17  Bruno Haible  <bruno@clisp.org>
61900
61901         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61902         to reflect files copied from gnulib (with or without modifications).
61903         Suggested by Jim Meyering.
61904
61905 2007-03-17  Eric Blake  <ebb9@byu.net>
61906
61907         * NEWS: Document stdlib change from 2007-02-18.
61908
61909 2007-03-17  Jim Meyering  <jim@meyering.net>
61910
61911         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61912         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61913         someone uses a name containing shell meta-characters.
61914         Reported by Alfred M. Szmidt.
61915
61916         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61917
61918 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61919
61920         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61921         and copy gettext configuration files only if configure.ac contains
61922         a use of AM_GNU_GETTEXT_VERSION.
61923
61924 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61925
61926         * build-aux/bootstrap (gnulib_name): New variable.
61927         (gnulib_tool_options): Use it.
61928
61929 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61930
61931         * tests/test-des.c: Use new namespace.
61932
61933 2007-03-15  Bruno Haible  <bruno@clisp.org>
61934
61935         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61936         Reported by James Youngman <jay@gnu.org>.
61937
61938 2007-03-15  Bruno Haible  <bruno@clisp.org>
61939
61940         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61941         declared prototype. Needed with cc on OSF/1 5.1.
61942
61943 2007-03-15  Bruno Haible  <bruno@clisp.org>
61944
61945         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61946         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61947         (struct gl_list_implementation): Add dispose_fn argument to the
61948         'create_empty', 'create' methods.
61949         (struct gl_list_impl_base): Add field 'dispose_fn'.
61950         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61951         argument.
61952         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61953         dispose_fn argument.
61954         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61955         dispose_fn on the dropped values.
61956         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61957         dispose_fn argument.
61958         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61959         dropped values.
61960         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61961         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61962         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61963         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61964         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61965         argument.
61966         (gl_tree_list_free): Call dispose_fn on the dropped values.
61967         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61968         the dropped values.
61969         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61970         Add dispose_fn argument.
61971         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61972         Call dispose_fn on the dropped values.
61973         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61974         Add dispose_fn argument.
61975         (gl_sublist_create): Initialize the 'dispose_fn' field.
61976         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61977         * tests/test-array_list.c (main): Update.
61978         * tests/test-carray_list.c (main): Update.
61979         * tests/test-avltree_list.c (main): Update.
61980         * tests/test-rbtree_list.c (main): Update.
61981         * tests/test-avltreehash_list.c (main): Update.
61982         * tests/test-rbtreehash_list.c (main): Update.
61983         * tests/test-linked_list.c (main): Update.
61984         * tests/test-linkedhash_list.c (main): Update.
61985         * tests/test-array_oset.c (main): Update.
61986
61987 2007-03-15  Bruno Haible  <bruno@clisp.org>
61988
61989         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61990         (gl_oset_create_empty): Add dispose_fn argument.
61991         (struct gl_oset_implementation): Add dispose_fn argument to
61992         'create_empty' method.
61993         (struct gl_oset_impl_base): Add dispose_fn field.
61994         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61995         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61996         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61997         values.
61998         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61999         (gl_tree_oset_free): Call dispose_fn on the dropped values.
62000         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
62001         dropped value.
62002         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
62003         dropped value.
62004         * tests/test-array_oset.c (main): Update.
62005         * tests/test-avltree_oset.c (main): Update.
62006         * tests/test-rbtree_oset.c (main): Update.
62007         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
62008
62009 2007-03-13  Bruno Haible  <bruno@clisp.org>
62010
62011         * tests/test-stdbool.c (i): Update after last patch.
62012
62013 2007-03-12  Bruno Haible  <bruno@clisp.org>
62014
62015         * lib/quotearg.c: Include <wctype.h> early, before the definition of
62016         the iswprint macro. Needed on Solaris 2.5.1.
62017
62018 2007-03-12  Bruno Haible  <bruno@clisp.org>
62019
62020         * tests/test-printf-frexp.c (main): Declare x as volatile.
62021
62022 2007-03-12  Simon Josefsson  <simon@josefsson.org>
62023
62024         * doc/gnulib.texi (Build robot for gnulib): New section.
62025
62026 2007-03-12  Jim Meyering  <jim@meyering.net>
62027
62028         * build-aux/bootstrap: New file.
62029         * build-aux/bootstrap.conf: New file, from coreutils.
62030
62031 2007-03-11  Bruno Haible  <bruno@clisp.org>
62032
62033         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
62034
62035 2007-03-12  Simon Josefsson  <simon@josefsson.org>
62036
62037         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
62038         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
62039         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
62040
62041 2007-03-11  Bruno Haible  <bruno@clisp.org>
62042
62043         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
62044         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
62045
62046 2007-03-11  Bruno Haible  <bruno@clisp.org>
62047
62048         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
62049         formula. Needed for SunPRO C 5.0.
62050
62051 2007-03-11  Bruno Haible  <bruno@clisp.org>
62052
62053         * modules/long-options (Depends-on): Add getopt.
62054
62055 2007-03-11  Bruno Haible  <bruno@clisp.org>
62056
62057         * modules/modechange (Depends-on): Add stdbool.
62058
62059 2007-03-11  Bruno Haible  <bruno@clisp.org>
62060
62061         * modules/i-ring (Depends-on): Add stdbool.
62062
62063 2007-03-11  Bruno Haible  <bruno@clisp.org>
62064
62065         * modules/gc-des (Depends-on): Add stdbool.
62066
62067 2007-03-11  Bruno Haible  <bruno@clisp.org>
62068
62069         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
62070
62071 2007-03-11  Bruno Haible  <bruno@clisp.org>
62072
62073         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
62074
62075 2007-03-11  Bruno Haible  <bruno@clisp.org>
62076
62077         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
62078
62079 2007-03-11  Bruno Haible  <bruno@clisp.org>
62080
62081         * lib/vasnprintf.c (sprintf): Undefine.
62082
62083 2007-03-11  Bruno Haible  <bruno@clisp.org>
62084
62085         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
62086         initializers in SunPRO C and Compaq C compilers.
62087
62088 2007-03-11  Bruno Haible  <bruno@clisp.org>
62089
62090         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
62091         decrementing code ANSI C compliant.
62092
62093 2007-03-11  Bruno Haible  <bruno@clisp.org>
62094
62095         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
62096         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
62097
62098 2007-03-11  Bruno Haible  <bruno@clisp.org>
62099
62100         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
62101         <stdbool.h> substitute doesn't pass.
62102
62103 2007-03-11  Bruno Haible  <bruno@clisp.org>
62104
62105         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
62106
62107 2007-03-11  Bruno Haible  <bruno@clisp.org>
62108
62109         * gnulib-tool (func_create_megatestdir): Create also an autobuild
62110         script, for submission to autobuild.josefsson.org.
62111
62112 2007-03-10  Bruno Haible  <bruno@clisp.org>
62113
62114         * modules/canonicalize-lgpl-tests: New file.
62115         * tests/test-canonicalize-lgpl.sh: New file.
62116         * tests/test-canonicalize-lgpl.c: New file.
62117
62118         * modules/c-strcase-tests: New file.
62119         * tests/test-c-strcase.sh: New file.
62120         * tests/test-c-strcasecmp.c: New file.
62121         * tests/test-c-strncasecmp.c: New file.
62122
62123         * modules/atexit-tests: New file.
62124         * tests/test-atexit.sh: New file.
62125         * tests/test-atexit.c: New file.
62126
62127 2007-03-10  Bruno Haible  <bruno@clisp.org>
62128
62129         * tests/test-binary-io.sh: Use temporary filenames that are not so
62130         likely to clash with those of other tests (in a parallel make).
62131         * tests/test-binary-io.c: Likewise.
62132
62133 2007-03-10  Bruno Haible  <bruno@clisp.org>
62134
62135         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
62136         fallback; use #error instead.
62137         Suggested by Simon Josefsson.
62138
62139 2007-03-10  Bruno Haible  <bruno@clisp.org>
62140
62141         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
62142         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
62143         first and the last.
62144
62145 2007-03-10  Bruno Haible  <bruno@clisp.org>
62146
62147         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
62148
62149 2007-03-10  Bruno Haible  <bruno@clisp.org>
62150
62151         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
62152         "make distcheck".
62153         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
62154         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
62155         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
62156
62157 2007-03-10  Bruno Haible  <bruno@clisp.org>
62158
62159         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
62160         variable.
62161         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
62162         variable.
62163
62164 2007-03-09  Eric Blake  <ebb9@byu.net>
62165         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
62166
62167         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
62168         types are not being provided by gnulib.
62169         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
62170         types are supported.
62171
62172 2007-03-10  Bruno Haible  <bruno@clisp.org>
62173
62174         * lib/stdio_.h (__attribute__): New macro.
62175         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
62176         vsprintf): Specify __attribute__ __format__ for GCC.
62177         Suggested by Eric Blake.
62178
62179 2007-03-09  Bruno Haible  <bruno@clisp.org>
62180
62181         * modules/printf-posix-tests: New file.
62182         * tests/test-printf-posix.sh: New file.
62183         * tests/test-printf-posix.c: New file.
62184
62185         * modules/printf-posix: New file.
62186         * lib/printf.c: New file.
62187         * m4/printf-posix-rpl.m4: New file.
62188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
62189         REPLACE_PRINTF.
62190         * lib/stdio_.h (printf): New declaration.
62191         (format, __format__, ____printf____, ____scanf____, ____strftime____,
62192         ____strfmon____): New macros.
62193         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
62194         REPLACE_PRINTF.
62195
62196 2007-03-09  Bruno Haible  <bruno@clisp.org>
62197
62198         * tests/test-vasnprintf-posix2.sh: New file.
62199         * tests/test-vasnprintf-posix2.c: New file.
62200         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
62201         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
62202         (Makefile.am): Activate test-vasnprintf-posix2.sh.
62203
62204         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
62205         a locale dependent decimal point, rather than always '.'.
62206
62207 2007-03-09  Eric Blake  <ebb9@byu.net>
62208
62209         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
62210         spite of platforms like Tandem/NSK that define it to -1.
62211
62212 2007-03-08  Bruno Haible  <bruno@clisp.org>
62213
62214         * modules/vprintf-posix-tests: New file.
62215         * tests/test-vprintf-posix.sh: New file.
62216         * tests/test-vprintf-posix.c: New file.
62217         * tests/test-printf-posix.h: New file.
62218
62219         * modules/vprintf-posix: New file.
62220         * lib/vprintf.c: New file.
62221         * m4/vprintf-posix.m4: New file.
62222         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
62223         REPLACE_VPRINTF.
62224         * lib/stdio_.h (vprintf): New declaration.
62225         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
62226         REPLACE_VPRINTF.
62227
62228 2007-03-08  Bruno Haible  <bruno@clisp.org>
62229
62230         * modules/fprintf-posix-tests: New file.
62231         * tests/test-fprintf-posix.sh: New file.
62232         * tests/test-fprintf-posix.c: New file.
62233
62234         * modules/fprintf-posix: New file.
62235         * lib/fprintf.c: New file.
62236         * m4/fprintf-posix.m4: New file.
62237         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
62238         REPLACE_FPRINTF.
62239         * lib/stdio_.h (fprintf): New declaration.
62240         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
62241         REPLACE_FPRINTF.
62242
62243 2007-03-08  Bruno Haible  <bruno@clisp.org>
62244
62245         * modules/vfprintf-posix-tests: New file.
62246         * tests/test-vfprintf-posix.sh: New file.
62247         * tests/test-vfprintf-posix.c: New file.
62248         * tests/test-fprintf-posix.h: New file.
62249         * tests/test-fprintf-posix.out: New file.
62250
62251         * modules/vfprintf-posix: New file.
62252         * lib/vfprintf.c: New file.
62253         * m4/vfprintf-posix.m4: New file.
62254         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
62255         REPLACE_VFPRINTF.
62256         * lib/stdio_.h (vfprintf): New declaration.
62257         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
62258         REPLACE_VFPRINTF.
62259
62260 2007-03-08  Bruno Haible  <bruno@clisp.org>
62261
62262         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
62263
62264 2007-03-08  Bruno Haible  <bruno@clisp.org>
62265
62266         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
62267         instead of 'expr' invocations.
62268         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62269         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62270         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62271         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62272         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62273         Suggested by Paul Eggert.
62274
62275 2007-03-08  Bruno Haible  <bruno@clisp.org>
62276
62277         * modules/fseterr-tests: New file.
62278         * tests/test-fseterr.c: New file.
62279
62280         * modules/fseterr: New file.
62281         * lib/fseterr.h: New file.
62282         * lib/fseterr.c: New file.
62283
62284 2007-03-08  Bruno Haible  <bruno@clisp.org>
62285
62286         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
62287         * lib/getopt_.h: Likewise.
62288         * lib/mbswidth.h: Likewise.
62289         * lib/setenv.h: Likewise.
62290         * lib/vasnprintf.h: Likewise.
62291         * lib/vasprintf.h: Likewise.
62292         * lib/verror.h: Likewise.
62293         * lib/xsetenv.h: Likewise.
62294         * lib/xvasprintf.h: Likewise.
62295
62296 2007-03-08  Jim Meyering  <jim@meyering.net>
62297
62298         * users.txt: Add parted.
62299
62300         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
62301
62302 2007-03-07  Bruno Haible  <bruno@clisp.org>
62303
62304         * m4/printf.m4: Make the shell script snippets copy&pastable.
62305
62306 2007-03-02  Bruno Haible  <bruno@clisp.org>
62307
62308         * lib/netinet_in_.h: New file.
62309         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
62310         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
62311         * modules/netinet_in (Files): Add lib/netinet_in_.h.
62312         (Depends-on): Add absolute-header.
62313         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
62314         into netinet/in.h.
62315
62316 2007-03-03  Bruno Haible  <bruno@clisp.org>
62317
62318         * lib/sys_select_.h: New file.
62319         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
62320         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
62321         * modules/sys_select (Files): Add lib/sys_select_.h.
62322         (Depends-on): Add absolute-header.
62323         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
62324         into sys/select.h.
62325
62326 2007-03-02  Bruno Haible  <bruno@clisp.org>
62327
62328         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
62329         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
62330         values.
62331         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
62332         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
62333         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
62334         * modules/sys_socket (Depends-on): Add absolute-header.
62335         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
62336         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
62337         (Include): Remove requirement of inclusion of <sys/types.h>.
62338
62339 2007-03-02  Bruno Haible  <bruno@clisp.org>
62340
62341         * lib/byteswap_.h (bswap_32): Fix formula.
62342
62343 2007-03-06  Bruno Haible  <bruno@clisp.org>
62344
62345         * modules/sprintf-posix-tests: New file.
62346         * tests/test-sprintf-posix.c: New file.
62347
62348         * modules/sprintf-posix: New file.
62349         * lib/sprintf.c: New file.
62350         * m4/sprintf-posix.m4: New file.
62351         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
62352         REPLACE_SPRINTF.
62353         * lib/stdio_.h (sprintf): New declaration.
62354         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
62355         REPLACE_SPRINTF.
62356
62357 2007-03-06  Bruno Haible  <bruno@clisp.org>
62358
62359         * modules/vsprintf-posix-tests: New file.
62360         * tests/test-vsprintf-posix.c: New file.
62361         * tests/test-sprintf-posix.h: New file.
62362
62363         * modules/vsprintf-posix: New file.
62364         * lib/vsprintf.c: New file.
62365         * m4/vsprintf-posix.m4: New file.
62366         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
62367         REPLACE_VSPRINTF.
62368         * lib/stdio_.h (vsprintf): New declaration.
62369         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
62370         REPLACE_VSPRINTF.
62371
62372 2007-03-06  Bruno Haible  <bruno@clisp.org>
62373
62374         * modules/vsnprintf (Depend-on): Remove minmax.
62375
62376 2007-03-06  Bruno Haible  <bruno@clisp.org>
62377
62378         * modules/snprintf-posix-tests: New file.
62379         * tests/test-snprintf-posix.c: New file.
62380
62381         * modules/snprintf-posix: New file.
62382         * m4/snprintf-posix.m4: New file.
62383         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
62384         gl_FUNC_SNPRINTF.
62385         (gl_FUNC_SNPRINTF): Invoke it.
62386         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
62387         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
62388         is set.
62389         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
62390
62391 2007-03-06  Bruno Haible  <bruno@clisp.org>
62392
62393         * modules/vsnprintf-posix-tests: New file.
62394         * tests/test-vsnprintf-posix.c: New file.
62395         * tests/test-snprintf-posix.h: New file.
62396
62397         * modules/vsnprintf-posix: New file.
62398         * m4/vsnprintf-posix.m4: New file.
62399         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
62400         gl_FUNC_VSNPRINTF.
62401         (gl_FUNC_VSNPRINTF): Invoke it.
62402         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
62403         * lib/stdio_.h (vsnprintf): Define as a replacement if
62404         REPLACE_VSNPRINTF is set.
62405         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
62406
62407 2007-03-06  Bruno Haible  <bruno@clisp.org>
62408
62409         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
62410         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
62411
62412 2007-03-06  Bruno Haible  <bruno@clisp.org>
62413
62414         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
62415         (asinl): Declare also if HAVE_DECL_ASINL is set.
62416         (atanl): Declare also if HAVE_DECL_ATANL is set.
62417         (ceill): Declare also if HAVE_DECL_CEILL is set.
62418         (cosl): Declare also if HAVE_DECL_COSL is set.
62419         (expl): Declare also if HAVE_DECL_EXPL is set.
62420         (floorl): Declare also if HAVE_DECL_FLOORL is set.
62421         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
62422         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
62423         (logl): Declare also if HAVE_DECL_LOGL is set.
62424         (sinl): Declare also if HAVE_DECL_SINL is set.
62425         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
62426         (tanl): Declare also if HAVE_DECL_TANL is set.
62427         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
62428         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
62429         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
62430         declaration of frexpl, ldexpl.
62431         * modules/printf-frexpl (Depends-on): Add math.
62432         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
62433
62434 2007-03-05  Bruno Haible  <bruno@clisp.org>
62435
62436         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
62437         frexpl and ldexpl are declared.
62438         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
62439
62440 2007-03-05  Bruno Haible  <bruno@clisp.org>
62441
62442         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
62443         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
62444
62445 2007-03-05  Bruno Haible  <bruno@clisp.org>
62446
62447         * lib/stdio_.h: Include <stddef.h>.
62448
62449 2007-03-05  Bruno Haible  <bruno@clisp.org>
62450
62451         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
62452
62453 2007-03-05  Bruno Haible  <bruno@clisp.org>
62454
62455         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
62456         NetBSD 4, from Ralf Wildenhues.
62457
62458 2007-03-04  Bruno Haible  <bruno@clisp.org>
62459
62460         * lib/vasprintf.h: Update #if logic for the case when the functions
62461         exist but are overridden.
62462
62463 2007-03-04  Bruno Haible  <bruno@clisp.org>
62464
62465         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
62466         implementations: glibc-2.4 and MacOS X 10.3.
62467         * tests/test-vasnprintf-posix.c (test_function): Test also the case
62468         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
62469         * tests/test-vasprintf-posix.c (test_function): Likewise.
62470
62471 2007-03-04  Bruno Haible  <bruno@clisp.org>
62472
62473         * modules/vasprintf-posix-tests: New file.
62474         * tests/test-vasprintf-posix.c: New file.
62475
62476         * modules/vasprintf-posix: New file.
62477         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
62478         defined.
62479         * m4/vasprintf-posix.m4: New file.
62480         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
62481         gl_FUNC_VASPRINTF.
62482         (gl_FUNC_VASPRINTF): Invoke it.
62483         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
62484         here.
62485         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
62486
62487 2007-03-04  Bruno Haible  <bruno@clisp.org>
62488
62489         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
62490         REPLACE_GETTIMEOFDAY.
62491         * modules/sys_time (Makefile.am): Likewise.
62492         * m4/sys_time_h.m4: Likewise.
62493         * m4/gettimeofday.m4: Likewise.
62494
62495 2007-03-04  Bruno Haible  <bruno@clisp.org>
62496
62497         * modules/vasnprintf-posix-tests: New file.
62498         * tests/test-vasnprintf-posix.c: New file.
62499
62500         * modules/vasnprintf-posix: New file.
62501         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
62502         printf-frexpl.h.
62503         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
62504         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
62505         REPLACE_VASNPRINTF is defined.
62506         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
62507         gl_FUNC_VASNPRINTF.
62508         (gl_FUNC_VASNPRINTF): Invoke it.
62509         * m4/vasnprintf-posix.m4: New file.
62510         * m4/printf.m4: New file.
62511
62512 2007-03-04  Bruno Haible  <bruno@clisp.org>
62513
62514         Compile progreloc.c only if --enable-relocatable is specified.
62515         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
62516         if --enable-relocatable was specified.
62517         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
62518         lib_SOURCES.
62519
62520 2007-03-04  Jim Meyering  <jim@meyering.net>
62521
62522         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
62523         Use it consistently, rather than enumerating errno constants.
62524
62525 2007-03-04  Bruno Haible  <bruno@clisp.org>
62526
62527         * modules/xvasprintf-tests: New file.
62528         * tests/test-xvasprintf.c: New file.
62529
62530         * modules/vasprintf-tests: New file.
62531         * tests/test-vasprintf.c: New file.
62532
62533         * modules/vasnprintf-tests: New file.
62534         * tests/test-vasnprintf.c: New file.
62535
62536         * modules/vsnprintf-tests: New file.
62537         * tests/test-vsnprintf.c: New file.
62538
62539         * modules/snprintf-tests: New file.
62540         * tests/test-snprintf.c: New file.
62541
62542 2007-03-04  Bruno Haible  <bruno@clisp.org>
62543
62544         Compile relocatable.c only if --enable-relocatable is specified.
62545         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
62546         gl_RELOCATABLE_LIBRARY.
62547         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
62548         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
62549         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
62550         gl_RELOCATABLE_LIBRARY.
62551         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
62552         (Makefile.am): Remove lib_SOURCES.
62553         * modules/relocatable-lib-lgpl (configure.ac): Invoke
62554         gl_RELOCATABLE_LIBRARY.
62555         (Makefile.am): Remove lib_SOURCES.
62556         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
62557         always.
62558         * modules/relocatable-prog-wrapper (configure.ac): Invoke
62559         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
62560
62561 2007-03-04  Bruno Haible  <bruno@clisp.org>
62562
62563         * modules/argmatch-tests: New file.
62564         * tests/test-argmatch.c: New file.
62565
62566         * tests/test-allocsa.c (main): Halve the number of loop runs.
62567
62568         * modules/alloca-opt-tests: New file.
62569         * tests/test-alloca-opt.c: New file.
62570
62571 2007-03-04  Jim Meyering  <jim@meyering.net>
62572
62573         Work around difference between Linux ACLs and Solaris 10 ZFS.
62574         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
62575         for EINVAL.
62576
62577 2007-03-03  Bruno Haible  <bruno@clisp.org>
62578
62579         * modules/relocatable-prog (Depends-on): Add back progreloc's
62580         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
62581
62582 2007-03-03  Bruno Haible  <bruno@clisp.org>
62583
62584         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
62585         * modules/relocatable-lib: New file.
62586
62587 2007-03-03  Bruno Haible  <bruno@clisp.org>
62588
62589         * modules/relocatable-prog: Renamed from modules/relocatable.
62590         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
62591
62592 2007-03-03  Bruno Haible  <bruno@clisp.org>
62593
62594         * modules/relocatable-script (Files): Add doc/relocatable.texi,
62595         m4/relocatable-lib.m4.
62596         (Depends-on): Remove 'relocatable'.
62597         (configure.ac): Add gl_RELOCATABLE_NOP.
62598
62599 2007-03-03  Bruno Haible  <bruno@clisp.org>
62600
62601         * modules/relocatable-prog-wrapper: New file.
62602         * modules/relocatable (Depends-on): Add it. Remove all other
62603         dependencies except progname.
62604         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
62605
62606         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
62607         (gl_FUNC_STRERROR): Nop.
62608         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
62609
62610         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
62611         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
62612
62613         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
62614         (gl_FUNC_READLINK): Update.
62615
62616         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
62617
62618 2007-03-03  Bruno Haible  <bruno@clisp.org>
62619
62620         * lib/xreadlink.c: Include <unistd.h> unconditionally.
62621         * modules/xreadlink (Depends-on): Add unistd.
62622         * modules/xreadlink-with-size (Depends-on): Likewise.
62623
62624 2007-03-03  Bruno Haible  <bruno@clisp.org>
62625
62626         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
62627         extracted from gt_FUNC_SETENV.
62628         (gt_FUNC_SETENV): Remove macro.
62629         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
62630         remove gt_FUNC_SETENV.
62631
62632 2007-03-03  Bruno Haible  <bruno@clisp.org>
62633
62634         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
62635         ENABLE_RELOCATABLE here.
62636         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
62637
62638 2007-03-03  Bruno Haible  <bruno@clisp.org>
62639
62640         * modules/rbtreehash-list-tests (Depends-on): Add progname.
62641         * tests/test-rbtreehash_list.c: Include progname.h.
62642         (main): Call set_program_name.
62643
62644         * modules/rbtree-oset-tests (Depends-on): Add progname.
62645         * tests/test-rbtree_oset.c: Include progname.h.
62646         (main): Call set_program_name.
62647
62648         * modules/rbtree-list-tests (Depends-on): Add progname.
62649         * tests/test-rbtree_list.c: Include progname.h.
62650         (main): Call set_program_name.
62651
62652         * modules/linked-list-tests (Depends-on): Add progname.
62653         * tests/test-linked_list.c: Include progname.h.
62654         (main): Call set_program_name.
62655
62656 2007-03-03  Bruno Haible  <bruno@clisp.org>
62657
62658         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
62659         All uses of __restrict changed to _Restrict_.
62660         * lib/glob_.h (__restrict): Remove macro.
62661
62662 2007-03-02  Bruno Haible  <bruno@clisp.org>
62663
62664         * modules/gettext (configure.ac): Require gettext infrastructure
62665         from version 0.16.1.
62666
62667 2007-03-02  Bruno Haible  <bruno@clisp.org>
62668
62669         * modules/linkedhash-list-tests (Depends-on): Add progname.
62670         * tests/test-linkedhash_list.c: Include progname.h.
62671         (main): Call set_program_name.
62672
62673         * modules/carray-list-tests (Depends-on): Add progname.
62674         * tests/test-carray_list.c: Include progname.h.
62675         (main): Call set_program_name.
62676
62677         * modules/avltreehash-list-tests (Depends-on): Add progname.
62678         * tests/test-avltreehash_list.c: Include progname.h.
62679         (main): Call set_program_name.
62680
62681         * modules/avltree-oset-tests (Depends-on): Add progname.
62682         * tests/test-avltree_oset.c: Include progname.h.
62683         (main): Call set_program_name.
62684
62685         * modules/avltree-list-tests (Depends-on): Add progname.
62686         * tests/test-avltree_list.c: Include progname.h.
62687         (main): Call set_program_name.
62688
62689         * modules/array-oset-tests (Depends-on): Add progname.
62690         * tests/test-array_oset.c: Include progname.h.
62691         (main): Call set_program_name.
62692
62693         * modules/array-list-tests (Depends-on): Add progname.
62694         * tests/test-array_list.c: Include progname.h.
62695         (main): Call set_program_name.
62696
62697         * modules/argp-tests (Depends-on): Add progname.
62698         * tests/test-argp.c: Include argp.h first. Include progname.h.
62699         (main): Call set_program_name.
62700
62701 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
62702
62703         * doc/gnulib-tool.texi (Initial import): Reword description of
62704         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
62705         limited effect even if defined after the first system include.
62706
62707 2007-03-01  Bruno Haible  <bruno@clisp.org>
62708
62709         * build-aux/config.libpath: Update to libtool-1.5.22.
62710         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
62711
62712 2007-03-01  Bruno Haible  <bruno@clisp.org>
62713
62714         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
62715         foo_CFLAGS.
62716         Reported by Ralf Wildenhues.
62717
62718 2007-03-01  Bruno Haible  <bruno@clisp.org>
62719
62720         * build-aux/install-reloc: Remove object files left over by some
62721         compilers.
62722         Reported by Ralf Wildenhues.
62723
62724 2007-03-01  Bruno Haible  <bruno@clisp.org>
62725
62726         * build-aux/install-reloc: Break long lines.
62727
62728 2007-03-01  Bruno Haible  <bruno@clisp.org>
62729
62730         * doc/relocatable.texi: Document that it may not work on OpenBSD.
62731         Reported by Ralf Wildenhues.
62732
62733 2007-03-01  Bruno Haible  <bruno@clisp.org>
62734
62735         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
62736         include ordering constraints.
62737
62738 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62739
62740         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
62741         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
62742         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
62743         as another example.
62744         * lib/time_.h: Fix misspelling.
62745         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62746         Require gl_HEADER_TIME_H_DEFAULTS.
62747         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
62748         * m4/time_r.m4 (gl_TIME_R): Likewise.
62749         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
62750
62751 2007-03-01  Bruno Haible  <bruno@clisp.org>
62752
62753         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
62754         * m4/utimens.m4 (gl_UTIMENS): Likewise.
62755
62756 2007-03-01  Jim Meyering  <jim@meyering.net>
62757
62758         * modules/xreadlink (Maintainer): Add my name.
62759         * modules/xreadlink-with-size (Depends-on): Alphabetize.
62760
62761 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
62762             Bruno Haible  <bruno@clisp.org>
62763
62764         * build-aux/install-reloc: Compile also c-ctype.c.
62765         * build-aux/relocatable.sh.in: New file.
62766         * doc/relocatable.texi: New file.
62767         * doc/relocatable-maint.texi: New file.
62768         * doc/gnulib.texi: Include relocatable-maint.texi.
62769         * lib/progreloc.c: Include unistd.h unconditionally.
62770         * lib/relocwrapper.c: Include unistd.h unconditionally.
62771         Include c-ctype.h.
62772         (add_dotbin): Use c_tolower.
62773         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
62774         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
62775         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
62776         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
62777         to m4/relocatable-lib.m4.
62778         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
62779         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
62780         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
62781         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
62782         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
62783         * modules/relocatable: New file.
62784         * modules/relocatable-lib: New file.
62785         * modules/relocatable-script: New file.
62786
62787 2007-02-28  Bruno Haible  <bruno@clisp.org>
62788
62789         Import --enable-relocatable infrastructure.
62790         * build-aux/config.libpath: New file, from GNU gettext.
62791         * build-aux/install-reloc: New file, from GNU gettext.
62792         * build-aux/reloc-ldflags: New file, from GNU gettext.
62793         * lib/relocatable.h: New file, from GNU gettext.
62794         * lib/relocatable.c: New file, from GNU gettext.
62795         * lib/relocwrapper.c: New file, from GNU gettext.
62796         * m4/relocatable.m4: New file, from GNU gettext.
62797
62798 2007-02-28  Bruno Haible  <bruno@clisp.org>
62799
62800         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
62801
62802         * modules/xreadlink: New file, from GNU gettext with modifications.
62803         * lib/xreadlink.c: New file, from GNU gettext.
62804         * lib/xreadlink.h: Add comments.
62805         (xreadlink): New declaration.
62806
62807         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
62808         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
62809         lib/xreadlink-with-size.c.
62810         (configure.ac): Remove gl_XREADLINK invocation.
62811         (Makefile.am): Augment lib_SOURCES.
62812         * m4/xreadlink.m4: Remove file.
62813         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
62814         (xreadlink_with_size): Renamed from xreadink.
62815         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
62816         * modules/canonicalize (Depends-on): Replace xreadlink with
62817         xreadlink-with-size.
62818         * lib/canonicalize.c (canonicalize_filename_mode): Update.
62819
62820 2007-02-25  Jim Meyering  <jim@meyering.net>
62821
62822         * build-aux/announce-gen: When complaining about excess arguments,
62823         list them.
62824
62825 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62826
62827         * README: Document signed integer overflow situation more
62828         accurately.
62829
62830 2007-02-25  Bruno Haible  <bruno@clisp.org>
62831
62832         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
62833         'a' or 'A' conversion.
62834
62835 2007-02-25  Bruno Haible  <bruno@clisp.org>
62836
62837         * modules/filename: Renamed from modules/pathname.
62838         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62839         lib/concatpath.c with lib/concat-filename.c.
62840         (Makefile.am): Update.
62841         (Include): Replace pathname.h with filename.h.
62842         * lib/filename.h: Renamed from lib/pathname.h.
62843         (concatenated_filename): Renamed from concatenated_pathname.
62844         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62845         (concatenated_filename): Renamed from concatenated_pathname.
62846         * lib/findprog.c: Include filename.h instead of pathname.h.
62847         (find_in_path): Update.
62848         * lib/javacomp.c: Include filename.h instead of pathname.h.
62849         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62850         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62851         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62852         is_oldgcj_14_13_usable, is_javac_usable): Update.
62853         * lib/javaexec.c: Include filename.h instead of pathname.h.
62854         (execute_java_class): Update.
62855         * modules/findprog: Update.
62856         * modules/javacomp: Update.
62857         * modules/javaexec: Update.
62858         * MODULES.html.sh (File system functions): Add 'filename', remove
62859         'pathname'.
62860
62861 2007-02-25  Bruno Haible  <bruno@clisp.org>
62862
62863         * modules/printf-frexpl-tests: New file.
62864         * tests/test-printf-frexpl.c: New file.
62865
62866         * modules/printf-frexpl: New file.
62867         * lib/printf-frexpl.h: New file.
62868         * lib/printf-frexpl.c: New file.
62869         * m4/printf-frexpl.m4: New file.
62870
62871 2007-02-25  Bruno Haible  <bruno@clisp.org>
62872
62873         * modules/printf-frexp-tests: New file.
62874         * tests/test-printf-frexp.c: New file.
62875
62876         * modules/printf-frexp: New file.
62877         * lib/printf-frexp.h: New file.
62878         * lib/printf-frexp.c: New file.
62879         * m4/printf-frexp.m4: New file.
62880
62881 2007-02-25  Bruno Haible  <bruno@clisp.org>
62882
62883         Assume automake >= 1.10 for the tests.
62884         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62885         * modules/arctwo-tests: Likewise.
62886         * modules/argp-tests: Likewise.
62887         * modules/avltree-list-tests: Likewise.
62888         * modules/avltree-oset-tests: Likewise.
62889         * modules/avltreehash-list-tests: Likewise.
62890         * modules/carray-list-tests: Likewise.
62891         * modules/crc-tests: Likewise.
62892         * modules/des-tests: Likewise.
62893         * modules/gc-arcfour-tests: Likewise.
62894         * modules/gc-arctwo-tests: Likewise.
62895         * modules/gc-des-tests: Likewise.
62896         * modules/gc-hmac-md5-tests: Likewise.
62897         * modules/gc-hmac-sha1-tests: Likewise.
62898         * modules/gc-md2-tests: Likewise.
62899         * modules/gc-md4-tests: Likewise.
62900         * modules/gc-md5-tests: Likewise.
62901         * modules/gc-pbkdf2-sha1-tests: Likewise.
62902         * modules/gc-rijndael-tests: Likewise.
62903         * modules/gc-sha1-tests: Likewise.
62904         * modules/gc-tests: Likewise.
62905         * modules/getaddrinfo-tests: Likewise.
62906         * modules/hmac-md5-tests: Likewise.
62907         * modules/hmac-sha1-tests: Likewise.
62908         * modules/linked-list-tests: Likewise.
62909         * modules/linkedhash-list-tests: Likewise.
62910         * modules/lock-tests: Likewise.
62911         * modules/md2-tests: Likewise.
62912         * modules/md4-tests: Likewise.
62913         * modules/md5-tests: Likewise.
62914         * modules/rbtree-list-tests: Likewise.
62915         * modules/rbtree-oset-tests: Likewise.
62916         * modules/rbtreehash-list-tests: Likewise.
62917         * modules/read-file-tests: Likewise.
62918         * modules/rijndael-tests: Likewise.
62919         * modules/stdint-tests: Likewise.
62920         * modules/tls-tests: Likewise.
62921
62922 2007-02-24  Bruno Haible  <bruno@clisp.org>
62923
62924         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62925         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62926         function; instead check whether isnan with a double argument links.
62927         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62928         function; instead check whether isnan with a 'long double' argument
62929         links.
62930         Reported by Eric Blake <ebb9@byu.net>.
62931
62932 2007-02-24  Bruno Haible  <bruno@clisp.org>
62933
62934         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62935         defined.
62936         * lib/isnanl.c: Remove all code. Just include isnan.c.
62937         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62938
62939 2007-02-25  Jim Meyering  <jim@meyering.net>
62940
62941         Avoid conflicting types for 'unsetenv' on FreeBSD.
62942         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62943         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62944         in stdlib.h.
62945
62946 2007-02-24  Bruno Haible  <bruno@clisp.org>
62947
62948         * modules/isnanl-nolibm-tests: New file.
62949         * tests/test-isnanl.c: New file.
62950
62951         * modules/isnanl-nolibm: New file.
62952         * lib/isnanl.h: New file.
62953         * lib/isnanl.c: New file.
62954         * m4/isnanl.m4: New file.
62955
62956 2007-02-24  Bruno Haible  <bruno@clisp.org>
62957
62958         * modules/isnan-nolibm-tests: New file.
62959         * tests/test-isnan.c: New file.
62960
62961         * modules/isnan-nolibm: New file.
62962         * lib/isnan.h: New file.
62963         * lib/isnan.c: New file.
62964         * m4/isnan.m4: New file.
62965
62966 2007-02-24  Bruno Haible  <bruno@clisp.org>
62967
62968         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62969         assume that an exponent fits in 20 bits.
62970
62971 2007-02-24  Jim Meyering  <jim@meyering.net>
62972
62973         * m4/regex.m4: Update the description of the configure-time option,
62974         --without-included-regex, to state accurately what the defaults are,
62975         and perhaps to give people an idea why using this option is risky.
62976
62977 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62978
62979         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62980         loops on small arguments.  This attempts to avoid the problem
62981         Bruno Haible reported for AIX 4.3.2 in
62982         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62983
62984 2007-02-23  Bruno Haible  <bruno@clisp.org>
62985
62986         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62987         Needed for help2man.
62988
62989 2007-02-23  Karl Berry  <karl@gnu.org>
62990
62991         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62992         exists, foo.h should be cvs-ignored, not committed.
62993
62994 2007-02-23  Eric Blake  <ebb9@byu.net>
62995
62996         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62997         * lib/stat-time.h (includes): Likewise.
62998         * lib/utimecmp.c (includes): Likewise.
62999         * lib/utimens.h (includes): Likewise.
63000         * lib/getdate.y (includes): Also include "timespec.h" for use
63001         internal to the module.
63002         * modules/utimens (Depends-on): Revert yesterday's patch.
63003         * modules/nanosleep (Depends-on): Add missing dependency.
63004
63005 2007-02-22  Bruno Haible  <bruno@clisp.org>
63006
63007         * lib/glob.c: Don't include getlogin_r.h.
63008
63009 2007-02-22  Jim Meyering  <jim@meyering.net>
63010
63011         * modules/utimens (Depends-on): Add timespec, required for
63012         utimens.h's inclusion of timespec.h.
63013
63014 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
63015
63016         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
63017         long unreadable paths in GNU/Linux.  Problem reported by Andreas
63018         Schwab in
63019         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
63020         I'll try to think of a better way to fix the Solaris problem.
63021
63022         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
63023         like glibc; on Solaris 10, it fails with errno == EINVAL.
63024         POSIX says the behavior is unspecified if the first argument is NULL,
63025         so play it safe and never pass NULL to the system getcwd.
63026
63027 2007-02-21  Jim Meyering  <jim@meyering.net>
63028
63029         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
63030         of gettimeofday.  It would conflict with the one now always
63031         provided via sys_time_.h.  Reported by Matthew Woehlke, as
63032         an IRIX 6.5 build failure.
63033
63034 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
63035
63036         Minor fixups to port to Solaris 10 with Sun C 5.8.
63037         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
63038         * modules/getcwd (Depends-on): Add dirfd.
63039         * lib/putenv.c (putenv): #undef it.
63040         (rpl_putenv): New decl.
63041         (malloc, free): Include <stdlib.h> rather than prototyping separately.
63042
63043 2007-02-20  Bruno Haible  <bruno@clisp.org>
63044
63045         * modules/stdio-tests: New file.
63046         * tests/test-stdio.c: New file.
63047
63048         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
63049         (Depends-on): Add stdio.
63050         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
63051         (Include): Use <stdio.h> instead of vsnprintf.h.
63052         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
63053         HAVE_DECL_VSNPRINTF.
63054         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
63055
63056         * modules/snprintf (Files): Remove lib/snprintf.h.
63057         (Depends-on): Add stdio.
63058         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
63059         (Include): Use <stdio.h> instead of snprintf.h.
63060         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
63061         HAVE_DECL_SNPRINTF.
63062         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
63063         * lib/getaddrinfo.c: Likewise.
63064
63065         * modules/stdio: New file.
63066         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
63067         * lib/snprintf.h: Remove file.
63068         * lib/vsnprintf.h: Remove file.
63069         * lib/.cppi-disable: Remove snprintf.h.
63070         * m4/stdio_h.m4: New file.
63071         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
63072
63073 2007-02-20  Jim Meyering  <jim@meyering.net>
63074
63075         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
63076         used by e.g., mingw.  From Bruno Haible.
63077
63078 2007-02-19  Bruno Haible  <bruno@clisp.org>
63079
63080         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
63081         warnings.
63082         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63083
63084 2007-02-19  Bruno Haible  <bruno@clisp.org>
63085
63086         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
63087         from mingw users.
63088
63089 2007-02-19  Bruno Haible  <bruno@clisp.org>
63090
63091         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
63092         warnings.
63093         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
63094
63095 2007-02-19  Jim Meyering  <jim@meyering.net>
63096
63097         Don't use FD after a successful "fdopendir (fd)".
63098         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
63099         Reset it by calling dirfd on the just-obtained DIR*.
63100
63101         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
63102         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
63103
63104 2007-02-18  Bruno Haible  <bruno@clisp.org>
63105
63106         * lib/readlink.c: Include <unistd.h>.
63107         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
63108         HAVE_READLINK.
63109         * modules/readlink (Depends-on): Add unistd.
63110         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63111         (Include): Add <unistd.h>.
63112
63113         * lib/getlogin_r.h: Remove file.
63114         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
63115         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
63116         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
63117         HAVE_DECL_GETLOGIN_R.
63118         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
63119         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63120         (Include): Use <unistd.h> instead of getlogin_r.h.
63121
63122         * lib/getcwd.h: Remove file.
63123         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
63124         * lib/xgetcwd.c: Likewise.
63125         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
63126         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
63127         * modules/getcwd (Files): Remove lib/getcwd.h.
63128         (Depends-on): Add unistd.
63129         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63130         (Include): Use <unistd.h> instad of getcwd.h.
63131
63132         * lib/ftruncate.c: Include <unistd.h> first.
63133         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
63134         Set HAVE_FTRUNCATE.
63135         * modules/ftruncate (Depends-on): Add unistd.
63136         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63137
63138         * lib/fchdir.c: Include <unistd.h> first.
63139         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
63140         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
63141         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
63142         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63143         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
63144
63145         * lib/dup2.c: Include <unistd.h> first.
63146         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
63147         HAVE_DUP2.
63148         * modules/dup2 (Depends-on): Add unistd.
63149         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63150
63151         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
63152         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
63153         REPLACE_CHOWN. Don't define chown as a macro here.
63154         * modules/chown (Depends-on): Add unistd.
63155         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63156
63157         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
63158         Add definition for GL_LINK_WARNING.
63159         (chown, dup2): New declarations.
63160         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
63161         link warning.
63162         (ftruncate): New declaration.
63163         (getcwd): New declaration, taken from old getcwd.h.
63164         (getlogin_r): New declaration, taken from old getlogin_r.h.
63165         (readlink): New declaration.
63166         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
63167         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
63168         (gl_PREREQ_UNISTD): Remove macro.
63169         (gl_UNISTD_MODULE_INDICATOR): New macro.
63170         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
63171         many new variables. Don't set UNISTD_H.
63172         * modules/unistd (Description): Change.
63173         (Depends-on): Add link-warning.
63174         (configure.ac): Update.
63175         (Makefile.am): Create unistd.h always. Substitute many new variables
63176         into it.
63177
63178 2007-02-18  Bruno Haible  <bruno@clisp.org>
63179
63180         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
63181         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
63182         HAVE_GETSUBOPT.
63183         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
63184         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
63185         * lib/getsubopt.h: Remove file.
63186         * modules/getsubopt (Files): Remove lib/getsubopt.h.
63187         (Depends-on): Add stdlib.
63188         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63189         (Includes): Use <stdlib.h> instead of getsubopt.h.
63190         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
63191         Set HAVE_GETSUBOPT.
63192         * lib/getsubopt.c: Don't include getsubopt.h.
63193
63194 2007-02-18  Bruno Haible  <bruno@clisp.org>
63195
63196         * modules/fchdir (Depends-on): Add dup2.
63197
63198 2007-02-18  Bruno Haible  <bruno@clisp.org>
63199
63200         * lib/stdlib_.h: Handle glibc's special invocation convention
63201         specially.
63202
63203 2007-02-18  Bruno Haible  <bruno@clisp.org>
63204
63205         * modules/stdlib-tests: New file.
63206         * tests/test-stdlib.c: New file.
63207
63208         * modules/mkstemp (Files): Remove lib/mkstemp.h.
63209         (Depends-on): Add stdlib.
63210         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63211         (Includes): Use <stdlib.h> instead of mkstemp.h.
63212         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
63213         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
63214         * lib/mkstemp.c: Don't include mkstemp.h.
63215         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
63216         * lib/stdlib--.h: Don't include mkstemp.h.
63217
63218         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
63219         (Depends-on): Add stdlib.
63220         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63221         (Includes): Use <stdlib.h> instead of mkdtemp.h.
63222         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
63223         HAVE_MKDTEMP.
63224         * lib/mkdtemp.c: Don't include mkdtemp.h.
63225         * lib/clean-temp.c: Don't include mkdtemp.h.
63226
63227         * modules/exit (Files): Remove lib/exit.h.
63228         (Depends-on): Add stdlib.
63229         (Makefile.am): Remove lib_SOURCES.
63230         (Include): Use <stdlib.h> instead of exit.h.
63231         * lib/argmatch.c: Don't include exit.h.
63232         * lib/execute.c: Likewise.
63233         * lib/pagealign_alloc.c: Likewise.
63234         * lib/pipe.c: Likewise.
63235         * lib/wait-process.c: Likewise.
63236         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
63237         * lib/exitfail.c: Likewise.
63238         * lib/savewd.c: Likewise.
63239         * lib/xsetenv.c: Likewise.
63240
63241         * modules/stdlib: New file.
63242         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
63243         and extra comments about mkstemp().
63244         * lib/exit.h: Remove file.
63245         * lib/mkdtemp.h: Remove file.
63246         * lib/mkstemp.h: Remove file.
63247         * m4/stdlib_h.m4: New file.
63248         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
63249
63250 2007-02-18  Bruno Haible  <bruno@clisp.org>
63251
63252         * modules/math-tests: New file.
63253         * tests/test-math.c: New file.
63254
63255         * modules/math: New file.
63256         * modules/mathl (Files): Remove lib/mathl.h.
63257         (Depends-on): Add math.
63258         (Makefile.am): Don't mention mathl.h.
63259         (Include): Use <math.h> instead of mathl.h.
63260         * lib/math_.h: New file.
63261         * lib/mathl.h: Remove file.
63262         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
63263         mathl.h.
63264         * lib/asinl.c: Likewise.
63265         * lib/atanl.c: Likewise.
63266         * lib/ceill.c: Likewise.
63267         * lib/cosl.c: Likewise.
63268         * lib/expl.c: Likewise.
63269         * lib/floorl.c: Likewise.
63270         * lib/frexpl.c: Likewise.
63271         * lib/ldexpl.c: Likewise.
63272         * lib/logl.c: Likewise.
63273         * lib/sincosl.c: Likewise.
63274         * lib/sinl.c: Likewise.
63275         * lib/sqrtl.c: Likewise.
63276         * lib/tanl.c: Likewise.
63277         * lib/trigl.c: Likewise.
63278         * m4/math_h.m4: New file.
63279         * MODULES.html.sh (Mathematics): Add math.
63280
63281 2007-02-17  Bruno Haible  <bruno@clisp.org>
63282
63283         * modules/wctype-tests: New file.
63284         * tests/test-wctype.c: New file.
63285
63286         * modules/wchar-tests: New file.
63287         * tests/test-wchar.c: New file.
63288
63289         * modules/unistd-tests: New file.
63290         * tests/test-unistd.c: New file.
63291
63292         * modules/time-tests: New file.
63293         * tests/test-time.c: New file.
63294
63295         * modules/sysexits-tests: New file.
63296         * tests/test-sysexits.c: New file.
63297
63298         * modules/sys_time-tests: New file.
63299         * tests/test-sys_time.c: New file.
63300
63301         * modules/sys_stat-tests: New file.
63302         * tests/test-sys_stat.c: New file.
63303
63304         * modules/sys_socket-tests: New file.
63305         * tests/test-sys_socket.c: New file.
63306
63307         * modules/sys_select-tests: New file.
63308         * tests/test-sys_select.c: New file.
63309
63310         * modules/string-tests: New file.
63311         * tests/test-string.c: New file.
63312
63313         * modules/stdbool-tests: New file.
63314         * tests/test-stdbool.c: New file.
63315
63316         * modules/netinet_in-tests: New file.
63317         * tests/test-netinet_in.c: New file.
63318
63319         * modules/inttypes-tests: New file.
63320         * tests/test-inttypes.c: New file.
63321
63322         * modules/fcntl-tests: New file.
63323         * tests/test-fcntl.c: New file.
63324
63325         * modules/byteswap-tests: New file.
63326         * tests/test-byteswap.c: New file.
63327
63328         * modules/arpa_inet-tests: New file.
63329         * tests/test-arpa_inet.c: New file.
63330
63331 2007-02-17  Bruno Haible  <bruno@clisp.org>
63332
63333         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
63334         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
63335         if the corresponding module is not enabled. Emit link warnings if
63336         the function is used nevertheless.
63337         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
63338         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
63339         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
63340         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
63341         * modules/inttypes (Depends-on): Add link-warning.
63342         (Makefile.am): Copy the contents of build-aux/link-warning.h into
63343         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
63344         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
63345         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
63346         * modules/imaxdiv (configure.ac): Likewise.
63347         * modules/strtoimax (configure.ac): Likewise.
63348         * modules/strtoumax (configure.ac): Likewise.
63349
63350 2007-02-17  Bruno Haible  <bruno@clisp.org>
63351
63352         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
63353         gl_STRING_MODULE_INDICATOR_DEFAULTS.
63354         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
63355         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
63356
63357 2007-02-17  Bruno Haible  <bruno@clisp.org>
63358
63359         * modules/link-warning: New file.
63360         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
63361         * lib/string_.h (GL_LINK_WARNING): Remove definition.
63362         * modules/string (Depends-on): Add link-warning.
63363         (Makefile.am): Copy the contents of build-aux/link-warning.h into
63364         string.h.
63365         * MODULES.html.sh (Support for building libraries and executables): Add
63366         link-warning.
63367
63368 2007-02-17  Bruno Haible  <bruno@clisp.org>
63369
63370         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
63371         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
63372         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
63373         long lines.
63374
63375 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
63376             Bruno Haible  <bruno@clisp.org>
63377
63378         * modules/tmpfile: New file.
63379         * lib/tmpfile.c: New file.
63380         * m4/tmpfile.m4: New file.
63381         * MODULES.html.sh (func_all_modules): New section "Input/output".
63382
63383 2007-02-15  Bruno Haible  <bruno@clisp.org>
63384
63385         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
63386         (supports_delete_on_close): New function.
63387         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
63388
63389 2007-02-14  Bruno Haible  <bruno@clisp.org>
63390
63391         * modules/mbspcasecmp-tests: New file.
63392         * tests/test-mbspcasecmp.sh: New file.
63393         * tests/test-mbspcasecmp.c: New file.
63394
63395         New module mbspcasecmp.
63396         * modules/mbspcasecmp: New file.
63397         * lib/mbspcasecmp.c: New file.
63398         * lib/string_.h (strncasecmp): Change warning message.
63399         (mbspcasecmp): New declaration.
63400         * m4/mbspcasecmp.m4: New file.
63401         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63402         GNULIB_MBSPCASECMP.
63403         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
63404         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
63405
63406 2007-02-14  Bruno Haible  <bruno@clisp.org>
63407
63408         * modules/mbsncasecmp-tests: New file.
63409         * tests/test-mbsncasecmp.sh: New file.
63410         * tests/test-mbsncasecmp.c: New file.
63411
63412         New module mbsncasecmp.
63413         * modules/mbsncasecmp: New file.
63414         * lib/mbsncasecmp.c: New file.
63415         * lib/string_.h (mbsncasecmp): New declaration.
63416         * m4/mbsncasecmp.m4: New file.
63417         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63418         GNULIB_MBSNCASECMP.
63419         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
63420         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
63421
63422 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
63423
63424         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
63425         Verify that it doesn't overlap with our flags.
63426         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
63427         do not have the desired effect in multibyte locales; instead, use
63428         mbscasecmp.
63429         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
63430         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
63431         we don't require GNU fnmatch ourselves (if our users require it, they
63432         should do so explicitly).
63433
63434         Fix regex code so it doesn't rely on strcasecmp.
63435         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
63436         Otherwise, include gnulib's langinfo.h.
63437         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
63438         undesirable behavior in non-C locales.  Instead, rely on localecharset.
63439         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
63440         * modules/regex (FILES): Remove m4/codeset.m4.
63441         (Depends-on): Add localcharset.  Remove strcase.
63442
63443 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63444
63445         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
63446         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63447
63448 2007-02-13  Bruno Haible  <bruno@clisp.org>
63449
63450         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
63451         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63452
63453 2007-02-12  Bruno Haible  <bruno@clisp.org>
63454
63455         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63456         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
63457         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
63458         time warning rather than a link error.
63459
63460 2007-02-12  Bruno Haible  <bruno@clisp.org>
63461
63462         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
63463         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63464         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63465
63466 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
63467
63468         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
63469         args, not 2.
63470
63471 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
63472
63473         New module 'time', so that apps can include <time.h> as per
63474         POSIX and GNU instead of separate include files like time_r.h
63475         and timegm.h.  This implementation tries out a simpler approach
63476         for replacing decls in standard include files (as compared to
63477         the string module), somewhat as an experiment.
63478
63479         * config/srclist.txt: Comment out mktime.c for now.
63480         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
63481         since it doesn't apply any more.  Use generic wording instead.
63482         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
63483         'time'.
63484         * lib/time_.h, m4/time_h.m4, modules/time: New files.
63485         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
63486         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
63487         Don't include <sys/types.h>; no longer needed since we assume C89.
63488         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
63489         * lib/strftime.c: Likewise.
63490         * lib/time_r.c: Likewise.
63491         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
63492         * lib/nanosleep.c: Include <time.h> first, to check interface.
63493         * lib/strptime.c: Likewise.
63494         * lib/time_r.c: Likewise.
63495         * lib/timegm.c: Likewise.
63496         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
63497         needed.
63498         * lib/timegm.c: Don't include timegm.h; no longer needed.
63499         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
63500         time.h now handles any problems in that area.
63501         (struct timespec, nanosleep): Remove; time.h now arranges for these.
63502         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
63503         that time.h defines struct timespec.
63504         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
63505         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
63506         handles that.
63507         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
63508         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
63509         needed.  Set REPLACE_LOCALTIME.
63510         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
63511         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
63512         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
63513         nanosleep; time_h.m4 now does that.  Don't require
63514         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
63515         module handles this now.
63516         * modules/getdate (Depends-on): Remove timespec.  Add time.
63517         * modules/nanosleep (Depends-on): Likewise.
63518         * modules/stat-time (Depends-on): Likewise.
63519         * modules/nanosleep (Include): Include time.h, not timespec.h.
63520         * modules/strptime (Files): Remove lib/strptime.h.
63521         (Depends-on): Add extensions, time.
63522         (Include): Include time.h, not strptime.h.
63523         * modules/time_r (Files): Remove lib/time_r.h.
63524         (Depends-on): Add time.
63525         (Include): Include time.h, not time_r.h.
63526         * modules/timegm: Likewise.
63527         * modules/timespec (Description): Now does timespec-related decls
63528         of our own, instead of struct timespec itself.
63529         (Depends-on): Add time; remove extensions.
63530         (Maintainer): Add self.
63531         * modules/utimecmp (Depends-on): Add time; remove timespec.
63532         * modules/utimens (Depends-on): Likewise.
63533         * modules/xnanosleep (Depends-on): Likewise.
63534
63535 2007-02-11  Bruno Haible  <bruno@clisp.org>
63536
63537         * lib/c-strstr.c: Include allocsa.h.
63538         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63539         * lib/c-strcasestr.c: Include allocsa.h.
63540         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63541         * lib/strcasestr.c: Include allocsa.h.
63542         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63543         * lib/mbsstr.c: Include allocsa.h.
63544         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
63545         allocsa/freesa instead of malloc/free.
63546         * lib/mbscasestr.c: Include allocsa.h.
63547         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
63548         allocsa/freesa instead of malloc/free.
63549         * modules/c-strstr (Depends-on): Add allocsa.
63550         * modules/c-strcasestr (Depends-on): Likewise.
63551         * modules/strcasestr (Depends-on): Likewise.
63552         * modules/mbsstr (Depends-on): Likewise.
63553         * modules/mbscasestr (Depends-on): Likewise.
63554
63555 2007-02-11  Bruno Haible  <bruno@clisp.org>
63556
63557         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
63558
63559         * modules/mbsspn-tests: New file.
63560         * tests/test-mbsspn.sh: New file.
63561         * tests/test-mbsspn.c: New file.
63562
63563 2007-02-11  Bruno Haible  <bruno@clisp.org>
63564
63565         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
63566
63567         * modules/mbspbrk-tests: New file.
63568         * tests/test-mbspbrk.sh: New file.
63569         * tests/test-mbspbrk.c: New file.
63570
63571 2007-02-11  Bruno Haible  <bruno@clisp.org>
63572
63573         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
63574         unneeded cast.
63575
63576         * modules/mbscspn-tests: New file.
63577         * tests/test-mbscspn.sh: New file.
63578         * tests/test-mbscspn.c: New file.
63579
63580 2007-02-11  Bruno Haible  <bruno@clisp.org>
63581
63582         * modules/mbscasecmp-tests: New file.
63583         * tests/test-mbscasecmp.sh: New file.
63584         * tests/test-mbscasecmp.c: New file.
63585
63586 2007-02-11  Bruno Haible  <bruno@clisp.org>
63587
63588         Ensure O(n) worst-case complexity of mbscasestr.
63589         * lib/mbscasestr.c: Include stdbool.h.
63590         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
63591         functions.
63592         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
63593         the bookkeeping indicates that it's worth it.
63594         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
63595
63596         * modules/mbscasestr-tests: New file.
63597         * tests/test-mbscasestr1.c: New file.
63598         * tests/test-mbscasestr2.sh: New file.
63599         * tests/test-mbscasestr2.c: New file.
63600         * tests/test-mbscasestr3.sh: New file.
63601         * tests/test-mbscasestr3.c: New file.
63602         * tests/test-mbscasestr4.sh: New file.
63603         * tests/test-mbscasestr4.c: New file.
63604         * m4/locale-tr.m4: New file.
63605
63606 2007-02-11  Bruno Haible  <bruno@clisp.org>
63607
63608         Ensure O(n) worst-case complexity of mbsstr.
63609         * lib/mbsstr.c: Include stdbool.h.
63610         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
63611         functions.
63612         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
63613         bookkeeping indicates that it's worth it.
63614         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
63615
63616         * modules/mbsstr-tests: New file.
63617         * tests/test-mbsstr1.c: New file.
63618         * tests/test-mbsstr2.sh: New file.
63619         * tests/test-mbsstr2.c: New file.
63620         * tests/test-mbsstr3.sh: New file.
63621         * tests/test-mbsstr3.c: New file.
63622         * m4/locale-fr.m4: New file.
63623
63624 2007-02-11  Bruno Haible  <bruno@clisp.org>
63625
63626         * lib/mbsrchr.c (mbsrchr): Fix bug.
63627
63628         * modules/mbsrchr-tests: New file.
63629         * tests/test-mbsrchr.sh: New file.
63630         * tests/test-mbsrchr.c: New file.
63631
63632 2007-02-11  Bruno Haible  <bruno@clisp.org>
63633
63634         * lib/mbschr.c (mbschr): Fix bug.
63635
63636         * modules/mbschr-tests: New file.
63637         * tests/test-mbschr.sh: New file.
63638         * tests/test-mbschr.c: New file.
63639         * m4/locale-zh.m4: New file.
63640
63641 2007-02-11  Bruno Haible  <bruno@clisp.org>
63642
63643         Support for copying multibyte string iterators.
63644         * lib/mbiter.h: Include <string.h>.
63645         (mbiter_multi_copy): New function.
63646         (mbi_copy): New macro.
63647         * lib/mbuiter.h: Include <string.h>.
63648         (mbuiter_multi_copy): New function.
63649         (mbui_copy): New macro.
63650
63651 2007-02-11  Bruno Haible  <bruno@clisp.org>
63652
63653         New module mbslen.
63654         * modules/mbslen: New file.
63655         * lib/mbslen.c: New file.
63656         * lib/string_.h (mbslen): New declaration.
63657         * m4/mbslen.m4: New file.
63658         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63659         GNULIB_MBSLEN.
63660         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
63661         * MODULES.html.sh (Internationalization functions): Add mbslen.
63662
63663 2007-02-11  Bruno Haible  <bruno@clisp.org>
63664
63665         Ensure O(n) worst-case complexity of strcasestr substitute.
63666         * lib/strcasestr.c: Include stdbool.h.
63667         (knuth_morris_pratt): New function.
63668         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63669         bookkeeping indicates that it's worth it.
63670         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
63671
63672         * modules/strcasestr-tests: New file.
63673         * tests/test-strcasestr.c: New file.
63674
63675 2007-02-11  Bruno Haible  <bruno@clisp.org>
63676
63677         Ensure O(n) worst-case complexity of c_strcasestr.
63678         * lib/c-strcasestr.c: Include stdbool.h, string.h.
63679         (knuth_morris_pratt): New function.
63680         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
63681         the bookkeeping indicates that it's worth it.
63682         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
63683
63684         * modules/c-strcasestr-tests: New file.
63685         * tests/test-c-strcasestr.c: New file.
63686
63687 2007-02-11  Bruno Haible  <bruno@clisp.org>
63688
63689         Ensure O(n) worst-case complexity of c_strstr.
63690         * lib/c-strstr.c: Include stdbool.h, string.h.
63691         (knuth_morris_pratt): New function.
63692         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63693         bookkeeping indicates that it's worth it.
63694         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
63695
63696         * lib/c-strstr.c: Complete rewrite for maintainability.
63697
63698         * modules/c-strstr-tests: New file.
63699         * tests/test-c-strstr.c: New file.
63700
63701 2007-02-11  Bruno Haible  <bruno@clisp.org>
63702
63703         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
63704         5.2.1 and earlier, whereby \055 was treated just like the range
63705         delimiter '-'.
63706         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63707
63708 2007-02-08  Bruno Haible  <bruno@clisp.org>
63709
63710         * modules/regex (Depends-on): Add stdbool.
63711         Reported by Dalibor Topic <robilad@kaffe.org>.
63712
63713 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63714
63715         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
63716         Prefer returning from main to exiting from it.
63717         Remove unnecessary parens after sizeof.
63718
63719 2007-02-05  Bruno Haible  <bruno@clisp.org>
63720
63721         New module mbssep.
63722         * modules/mbssep: New file.
63723         * lib/mbssep.c: New file.
63724         * lib/string_.h (strsep): Add a conditional link warning.
63725         (mbssep): New declaration.
63726         * m4/mbssep.m4: New file.
63727         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63728         GNULIB_MBSSEP.
63729         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
63730         * MODULES.html.sh (Internationalization functions): Add mbssep.
63731
63732 2007-02-05  Bruno Haible  <bruno@clisp.org>
63733
63734         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
63735         Optimize search in case of 1 delimiter.
63736
63737 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63738
63739         * lib/acl.h: Include sys/types.h before sys/acl.h.
63740
63741 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63742
63743         Merge upstream fix for glibc bugzilla #3957:
63744
63745         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
63746
63747         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
63748         bit for RE_HAT_LISTS_NOT_NEWLINE.
63749         (build_charclass_op): Remove bogus comment.
63750
63751 2007-02-05  Simon Josefsson  <simon@josefsson.org>
63752
63753         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
63754
63755 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63756
63757         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
63758         * lib/memmem.c [!defined _LIBC]: Include config.h.
63759
63760 2007-02-04  Bruno Haible  <bruno@clisp.org>
63761
63762         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
63763         warning message.
63764
63765 2007-02-04  Bruno Haible  <bruno@clisp.org>
63766
63767         New module mbstok_r.
63768         * modules/mbstok_r: New file.
63769         * lib/mbstok_r.c: New file.
63770         * lib/string_.h (strtok_r): Change argument names to match the
63771         comments. Add a conditional link warning.
63772         (mbstok_r): New declaration.
63773         * m4/mbstok_r.m4: New file.
63774         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63775         GNULIB_MBSTOK_R.
63776         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
63777         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
63778
63779 2007-02-04  Bruno Haible  <bruno@clisp.org>
63780
63781         New module mbsspn.
63782         * modules/mbsspn: New file.
63783         * lib/mbsspn.c: New file.
63784         * lib/string_.h (strspn): Add a conditional link warning.
63785         (mbsspn): New declaration.
63786         * m4/mbsspn.m4: New file.
63787         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63788         GNULIB_MBSSPN.
63789         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
63790         * MODULES.html.sh (Internationalization functions): Add mbsspn.
63791
63792 2007-02-04  Bruno Haible  <bruno@clisp.org>
63793
63794         New module mbspbrk.
63795         * modules/mbspbrk: New file.
63796         * lib/mbspbrk.c: New file.
63797         * lib/string_.h (strpbrk): Add a conditional link warning.
63798         (mbspbrk): New declaration.
63799         * m4/mbspbrk.m4: New file.
63800         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63801         GNULIB_MBSPBRK.
63802         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
63803         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
63804
63805 2007-02-04  Bruno Haible  <bruno@clisp.org>
63806
63807         New module mbscspn.
63808         * modules/mbscspn: New file.
63809         * lib/mbscspn.c: New file.
63810         * lib/string_.h (strcspn): Add a conditional link warning.
63811         (mbscspn): New declaration.
63812         * m4/mbscspn.m4: New file.
63813         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63814         GNULIB_MBSCSPN.
63815         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
63816         * MODULES.html.sh (Internationalization functions): Add mbscspn.
63817
63818 2007-02-04  Bruno Haible  <bruno@clisp.org>
63819
63820         New module mbscasestr, reduced goal of strcasestr.
63821         * modules/mbscasestr: New file.
63822         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
63823         (mbscasestr): Renamed from strcasestr.
63824         * lib/strcasestr.c: Don't include mbuiter.h.
63825         (strcasestr): Remove support for multibyte locales.
63826         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
63827         Change the conditional link warning.
63828         (mbscasestr): New declaration.
63829         * m4/mbscasestr.m4: New file.
63830         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
63831         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
63832         REPLACE_STRCASESTR.
63833         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
63834         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63835         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63836         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
63837         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63838         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63839         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63840         (Depends-on): Remove mbuiter.
63841         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63842
63843 2007-02-04  Bruno Haible  <bruno@clisp.org>
63844
63845         Simplify handling of strncasecmp.
63846         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63847         the conditional link warning.
63848         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63849         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63850         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63851         * modules/strcase (configure.ac): Don't invoke
63852         gl_STRING_MODULE_INDICATOR.
63853         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63854
63855 2007-02-04  Bruno Haible  <bruno@clisp.org>
63856
63857         New module mbscasecmp, reduced goal of strcasecmp.
63858         * modules/mbscasecmp: New file.
63859         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63860         (mbscasecmp): Renamed from strcasecmp.
63861         * lib/strcasecmp.c: Don't include mbuiter.h.
63862         (strcasecmp): Remove support for multibyte locales.
63863         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63864         Change the conditional link warning.
63865         (mbscasecmp): New declaration.
63866         * m4/mbscasecmp.m4: New file.
63867         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63868         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63869         REPLACE_STRCASECMP.
63870         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63871         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63872         GNULIB_MBSCASECMP.
63873         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63874         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63875         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63876         (Depends-on): Remove mbuiter.
63877         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63878
63879 2007-02-04  Bruno Haible  <bruno@clisp.org>
63880
63881         New module mbsstr. Remove module strstr.
63882         * modules/mbsstr: New file.
63883         * modules/strstr: Remove file.
63884         * lib/mbsstr.c: Renamed from lib/strstr.c.
63885         (mbsstr): Renamed from strstr.
63886         * lib/string_.h (strstr): Remove declaration. Change the conditional
63887         link warning.
63888         (mbsstr): New declaration.
63889         * m4/mbsstr.m4: New file.
63890         * m4/strstr.m4: Remove file.
63891         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63892         REPLACE_STRSTR.
63893         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63894         Don't initialize GNULIB_STRSTR.
63895         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63896         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63897         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63898         (Support for systems lacking ANSI C 89): Remove strstr.
63899
63900 2007-02-04  Bruno Haible  <bruno@clisp.org>
63901
63902         New module mbsrchr.
63903         * modules/mbsrchr: New file.
63904         * lib/mbsrchr.c: New file.
63905         * lib/string_.h (strrchr): Add a conditional link warning.
63906         (mbsrchr): New declaration.
63907         * m4/mbsrchr.m4: New file.
63908         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63909         GNULIB_MBSRCHR.
63910         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63911         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63912
63913 2007-02-04  Bruno Haible  <bruno@clisp.org>
63914
63915         New module mbschr.
63916         * modules/mbschr: New file.
63917         * lib/mbschr.c: New file.
63918         * lib/string_.h (strchr): Add a conditional link warning.
63919         (mbschr): New declaration.
63920         * m4/mbschr.m4: New file.
63921         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63922         GNULIB_MBSCHR.
63923         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63924         * MODULES.html.sh (Internationalization functions): Add mbschr.
63925
63926 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63927
63928         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63929
63930         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63931
63932 2007-02-04  Bruno Haible  <bruno@clisp.org>
63933
63934         New module description section 'configure.ac-early'.
63935         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63936         (func_get_autoconf_early_snippet): New function.
63937         (func_import, func_create_testdir): Use it. Remove special cases for
63938         modules 'extensions' and 'lock'.
63939         * modules/extensions (configure.ac-early): Require
63940         gl_USE_SYSTEM_EXTENSIONS.
63941         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63942
63943 2007-02-04  Bruno Haible  <bruno@clisp.org>
63944
63945         Make use of gcj-4.3's -fsource and -ftarget option.
63946         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63947         and if so try the options -fsource and -ftarget.
63948         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63949         source_version, ftarget_option, target_version arguments.
63950         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63951         (is_envjavac_oldgcj_14_14_usable): Renamed from
63952         is_envjavac_gcj_14_14_usable.
63953         (is_envjavac_oldgcj_14_13_usable): Renamed from
63954         is_envjavac_gcj_14_13_usable.
63955         (is_gcj_present): Update.
63956         (is_gcj_43, is_gcj43_usable): New functions.
63957         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63958         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63959         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63960         try the options -fsource and -ftarget.
63961
63962 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63963
63964         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63965         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63966         larger value.
63967
63968 2007-02-03  Jim Meyering  <jim@meyering.net>
63969
63970         Give tools a better chance to allocate space for very large buffers.
63971         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63972
63973         Make pwd and readlink work also when run with an unreadable parent dir
63974         on systems with openat support.
63975         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63976         provided getcwd function, even when we have openat support.
63977         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63978
63979 2007-02-02  Bruno Haible  <bruno@clisp.org>
63980
63981         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63982         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63983         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63984         portability problems if one of these functions is only used on specific
63985         platforms.
63986         Reported by Paul Eggert.
63987
63988 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63989
63990         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63991         is causing more trouble than it's curing.
63992         * lib/regex_internal.h (__mempcpy): Remove.
63993         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63994         (and make the code a tad smaller to boot).
63995         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63996
63997 2007-02-02  Jim Meyering  <jim@meyering.net>
63998
63999         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
64000         section, not in the Makefile.am: one.
64001
64002 2007-02-02  Eric Blake  <ebb9@byu.net>
64003
64004         * lib/strchrnul.c: Always include config.h first.
64005
64006         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
64007         gnulib strstr is not necessary here.
64008
64009 2007-02-02  Simon Josefsson  <simon@josefsson.org>
64010
64011         * m4/socklen.m4: Fix typo.
64012
64013 2007-02-02  Eric Blake  <ebb9@byu.net>
64014
64015         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
64016         * modules/netinet_in (Makefile.am): Likewise.
64017
64018 2007-02-01  Bruno Haible  <bruno@clisp.org>
64019
64020         * lib/string_.h (GL_LINK_WARNING): New macro.
64021         (strcasecmp, strstr, strcasestr): If provided by the system,
64022         conditionally define as a macro that leads to a warning instead of to
64023         an error.
64024         (strncasecmp): Conditionally define as a macro that leads to a warning.
64025
64026 2007-02-01  Karl Berry  <karl@gnu.org>
64027
64028         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
64029
64030 2007-02-01  Bruno Haible  <bruno@clisp.org>
64031
64032         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
64033         renamings.
64034
64035 2007-02-01  Eric Blake  <ebb9@byu.net>
64036
64037         * modules/regex (Depends-on): Revert dependence on mempcpy.
64038         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
64039         module's definition of mempcpy.
64040         Reported by Paul Eggert.
64041
64042 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
64043
64044         * lib/string_.h: If the gnulib module XYZ is not present, undefine
64045         the symbol XYZ before redefining it.  This fixes a problem with
64046         programs that don't use XYZ, when compiled on systems that define
64047         XYZ to something else.
64048
64049 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
64050
64051         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
64052         occurs when "mkdir -m foo" creates a setgid directory that is (1)
64053         writeable to group or other and (2) is intended to have a special
64054         mode bit that is set or cleared.  In such a case, the directory
64055         should be neither group- nor other-writeable until the special
64056         mode bits are right.
64057
64058 2007-01-31  Eric Blake  <ebb9@byu.net>
64059
64060         * modules/mountlist (Depends-on): Add strstr.
64061
64062         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
64063         bug.
64064         * modules/string (Makefile.am): Remove redundant replacement.
64065         * modules/regex (Depends-on): Add mempcpy.
64066
64067 2007-01-31  Bruno Haible  <bruno@clisp.org>
64068
64069         New module description field 'Link'.
64070         * gnulib-tool (func_usage): Document --extract-link-directive.
64071         (sed_extract_prog): Recognize 'Link' directive.
64072         (func_get_link_directive): New function.
64073         (func_import): Show summary of link directives.
64074         Handle --extract-link-directive option.
64075         * modules/acl (Link): New section.
64076         * modules/clock-time (Link): New section.
64077         * modules/euidaccess (Link): New section.
64078         * modules/gettext (Link): New section.
64079         * modules/iconv (Link): New section.
64080         * modules/lock (Link): New section.
64081         * modules/nanosleep (Link): New section.
64082         * modules/readline (Link): New section.
64083
64084 2007-01-27  Bruno Haible  <bruno@clisp.org>
64085
64086         Enforce the use of gnulib modules for unportable <string.h> functions.
64087         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
64088         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
64089         (gl_HEADER_STRING_H_BODY): Require it.
64090         * lib/string_.h: If the gnulib module XYZ is not present, redefine
64091         the symbol XYZ to one that gives a link error.
64092         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
64093         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
64094         * modules/mempcpy (configure.ac): Likewise.
64095         * modules/memrchr (configure.ac): Likewise.
64096         * modules/stpcpy (configure.ac): Likewise.
64097         * modules/stpncpy (configure.ac): Likewise.
64098         * modules/strcase (configure.ac): Likewise.
64099         * modules/strcasestr (configure.ac): Likewise.
64100         * modules/strchrnul (configure.ac): Likewise.
64101         * modules/strdup (configure.ac): Likewise.
64102         * modules/strndup (configure.ac): Likewise.
64103         * modules/strnlen (configure.ac): Likewise.
64104         * modules/strpbrk (configure.ac): Likewise.
64105         * modules/strsep (configure.ac): Likewise.
64106         * modules/strstr (configure.ac): Likewise.
64107         * modules/strtok_r (configure.ac): Likewise.
64108
64109 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
64110
64111         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
64112
64113 2007-01-30  Jim Meyering  <jim@meyering.net>
64114
64115         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
64116
64117 2007-01-29  Bruno Haible  <bruno@clisp.org>
64118
64119         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
64120         * lib/execute.c: Likewise.
64121         * lib/pipe.c: Likewise.
64122         * lib/printf-args.h: Likewise.
64123         * lib/printf-args.c: Likewise.
64124         * lib/printf-parse.c: Likewise.
64125         * lib/vasnprintf.c: Likewise.
64126
64127 2007-01-29  Eric Blake  <ebb9@byu.net>
64128
64129         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
64130         declaration.
64131
64132 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
64133
64134         * lib/strptime.h (strptime): Use 'restrict' for args where
64135         POSIX requires this.
64136         * lib/strptime.c (strptime): Likewise.
64137         Change license notice from LGPL to GPL, since gnulib-tool will
64138         change this as needed.
64139         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
64140         defined.
64141         Include "strptime.h" first, to check interface.
64142         Do not #undef _LIBC and _NL_CURRENT.
64143         Do not include <stdlib.h>; no longer needed.
64144         Include "time_r.h" and declare ptime_locale_status
64145         only if _LIBC is not defined.
64146         (__P): Remove unused macro.
64147         (match_string): Bring back glibc version, but use it only if _LIBC
64148         is defined.
64149         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
64150         Remove unnecessary assertion and abort() call.
64151         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
64152         * m4/strptime.m4: Fix serial number comment.
64153         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
64154         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
64155         (Depends-on): Add time_r.
64156
64157 2007-01-29  Bruno Haible  <bruno@clisp.org>
64158
64159         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64160         strptime.
64161         * modules/strptime (Depends-on): Add stdbool.
64162         * lib/strptime.h: Include <time.h> always. Add comments.
64163
64164 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
64165
64166         * modules/strptime: New file.
64167         * lib/strptime.h: New file.
64168         * lib/strptime.c: New file.
64169         * m4/strptime.m4: New file.
64170
64171 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
64172
64173         * MODULES.html.sh: New module mpsort.
64174         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
64175
64176         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
64177         a circularity problem with HP-UX ia64 reported by Bob Proulx in
64178         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
64179         All uses changed.
64180         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
64181         All uses changed.
64182         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
64183         to _Restrict_.
64184         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
64185         the parameter matches the prototype.
64186
64187 2007-01-28  Jim Meyering  <jim@meyering.net>
64188
64189         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
64190         sys/time.h here, reverting that part of the previous patch:
64191         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
64192
64193 2007-01-28  Bruno Haible  <bruno@clisp.org>
64194
64195         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
64196         value of $(SYS_TIME_H).
64197         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
64198         remove it conditionally, too. [added by Jim Meyering]
64199         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
64200         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64201         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
64202         GETTIMEOFDAY_REPLACEMENT to 1.
64203
64204 2007-01-28  Bruno Haible  <bruno@clisp.org>
64205
64206         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
64207         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
64208         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
64209         Set UNISTD_H instead of UNISTD_H2.
64210         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
64211
64212 2007-01-28  Bruno Haible  <bruno@clisp.org>
64213
64214         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
64215         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
64216
64217 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64218
64219         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
64220         (func_create_testdir): Ensure C locale for `grep' and `tr'
64221         character ranges.
64222         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
64223         ACLOCAL_AMFLAGS parsing state machine.
64224
64225 2007-01-27  Bruno Haible  <bruno@clisp.org>
64226
64227         * modules/unistr/base: Update.
64228
64229 2007-01-27  Bruno Haible  <bruno@clisp.org>
64230
64231         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
64232         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
64233         * modules/unistr/u32-mbtouc-unsafe: Renamed from
64234         modules/unistr/u32-mbtouc.
64235         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
64236         * lib/unistr.h: Update.
64237         * lib/linebreak.c: Update.
64238         * modules/unistr/u32-mbtouc: Renamed from
64239         modules/unistr/u32-mbtouc-safe.
64240         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
64241         * lib/unistr.h: Update.
64242         * lib/unistr/u32-to-u8.c: Update.
64243         * lib/unistr/u32-to-u16.c: Update.
64244
64245 2007-01-27  Bruno Haible  <bruno@clisp.org>
64246
64247         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
64248         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
64249         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
64250         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
64251         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
64252         * modules/unistr/u16-mbtouc-unsafe: Renamed from
64253         modules/unistr/u16-mbtouc.
64254         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
64255         * lib/unistr.h: Update.
64256         * lib/linebreak.c: Update.
64257         * modules/linebreak: Update.
64258         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
64259         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
64260         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
64261         * modules/unistr/u16-mbtouc: Renamed from
64262         modules/unistr/u16-mbtouc-safe.
64263         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
64264         * lib/unistr.h: Update.
64265         * lib/unistr/u16-to-u8.c: Update.
64266         * modules/unistr/u16-to-u8: Update.
64267         * lib/unistr/u16-to-u32.c: Update.
64268         * modules/unistr/u16-to-u32: Update.
64269
64270 2007-01-27  Bruno Haible  <bruno@clisp.org>
64271
64272         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
64273         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
64274         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
64275         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
64276         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
64277         * modules/unistr/u8-mbtouc-unsafe: Renamed from
64278         modules/unistr/u8-mbtouc.
64279         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
64280         * lib/unistr.h: Update.
64281         * lib/striconveh.c: Update.
64282         * modules/striconveh: Update.
64283         * lib/linebreak.c: Update.
64284         * modules/linebreak: Update.
64285         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
64286         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
64287         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
64288         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
64289         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
64290         * lib/unistr.h: Update.
64291         * lib/striconveh.c: Update.
64292         * modules/striconveh: Update.
64293         * lib/unistr/u8-to-u16.c: Update.
64294         * modules/unistr/u8-to-u16: Update.
64295         * lib/unistr/u8-to-u32.c: Update.
64296         * modules/unistr/u8-to-u32: Update.
64297
64298 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64299
64300         Sync from Libtool.
64301         * lib/argz.c: Do not include strings.h nor memory.h, include
64302         string.h unconditionally.  Patch by Simon Josefsson.
64303
64304 2007-01-27  Bruno Haible  <bruno@clisp.org>
64305
64306         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
64307         from gl_HEADER_STRING_H_BODY.
64308         (gl_HEADER_STRING_H_BODY): Require it.
64309         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
64310         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64311         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64312         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64313         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64314         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
64315         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
64316         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64317         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
64318         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64319         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64320         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
64321         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64322         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
64323         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
64324
64325 2007-01-27  Bruno Haible  <bruno@clisp.org>
64326
64327         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
64328         check_PROGRAMS into noinst_PROGRAMS.
64329         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
64330         check_PROGRAMS in this case.
64331         (func_import): Set for_test to false.
64332         (func_create_testdir): Set for_test to true.
64333
64334 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64335             Bruno Haible  <bruno@clisp.org>
64336
64337         * modules/strcasestr (Files): Remove lib/strcasestr.h.
64338         (Depends-on): Add string.
64339         (Includes): Use <string.h> instead of strcasestr.h.
64340         * modules/string (Makefile.am): Also substitute the value of
64341         REPLACE_STRCASESTR.
64342         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
64343         assume strcasestr is declared in <string.h> not <strings.h>. Also
64344         set REPLACE_STRCASESTR.
64345         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
64346         REPLACE_STRCASESTR.
64347         * lib/strcasestr.h: Remove file.
64348         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
64349         * lib/string_.h (strcasestr): New declaration.
64350
64351 2007-01-27  Bruno Haible  <bruno@clisp.org>
64352
64353         * lib/string_.h: Use 'extern'.
64354
64355 2007-01-27  Jim Meyering  <jim@meyering.net>
64356
64357         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
64358         of set-but-not-used local, "q".
64359
64360         * lib/mempcpy.c: Include <config.h> before <string.h>.
64361         This fixes a compilation error on HP-UX, due to the system's
64362         "restrict"-using mempcpy prototype.
64363
64364 2007-01-26  Bruno Haible  <bruno@clisp.org>
64365
64366         Small optimization.
64367         * lib/javacomp.c: Include c-strstr.h.
64368          (is_envjavac_gcj): Use c_strstr instead of strstr.
64369         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
64370
64371 2007-01-26  Bruno Haible  <bruno@clisp.org>
64372
64373         * MODULES.html.sh (Unicode string functions): Add the new modules.
64374
64375         * modules/uniconv/u32-strconv-to-locale: New file.
64376         * lib/uniconv/u32-strconv-to-locale.c: New file.
64377
64378         * modules/uniconv/u16-strconv-to-locale: New file.
64379         * lib/uniconv/u16-strconv-to-locale.c: New file.
64380
64381         * modules/uniconv/u8-strconv-to-locale: New file.
64382         * lib/uniconv/u8-strconv-to-locale.c: New file.
64383
64384         * modules/uniconv/u32-strconv-from-locale: New file.
64385         * lib/uniconv/u32-strconv-from-locale.c: New file.
64386
64387         * modules/uniconv/u16-strconv-from-locale: New file.
64388         * lib/uniconv/u16-strconv-from-locale.c: New file.
64389
64390         * modules/uniconv/u8-strconv-from-locale: New file.
64391         * lib/uniconv/u8-strconv-from-locale.c: New file.
64392
64393         * modules/uniconv/u32-strconv-to-enc: New file.
64394         * lib/uniconv/u32-strconv-to-enc.c: New file.
64395         * modules/uniconv/u32-strconv-to-enc-tests: New file.
64396         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
64397
64398         * modules/uniconv/u16-strconv-to-enc: New file.
64399         * lib/uniconv/u16-strconv-to-enc.c: New file.
64400         * lib/uniconv/u-strconv-to-enc.h: New file.
64401         * modules/uniconv/u16-strconv-to-enc-tests: New file.
64402         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
64403
64404         * modules/uniconv/u8-strconv-to-enc: New file.
64405         * lib/uniconv/u8-strconv-to-enc.c: New file.
64406         * modules/uniconv/u8-strconv-to-enc-tests: New file.
64407         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
64408
64409         * modules/uniconv/u32-strconv-from-enc: New file.
64410         * lib/uniconv/u32-strconv-from-enc.c: New file.
64411         * modules/uniconv/u32-strconv-from-enc-tests: New file.
64412         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
64413
64414         * modules/uniconv/u16-strconv-from-enc: New file.
64415         * lib/uniconv/u16-strconv-from-enc.c: New file.
64416         * modules/uniconv/u16-strconv-from-enc-tests: New file.
64417         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
64418
64419         * modules/uniconv/u8-strconv-from-enc: New file.
64420         * lib/uniconv/u8-strconv-from-enc.c: New file.
64421         * lib/uniconv/u-strconv-from-enc.h: New file.
64422         * modules/uniconv/u8-strconv-from-enc-tests: New file.
64423         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
64424
64425         * modules/uniconv/u32-conv-from-enc: New file.
64426         * lib/uniconv/u32-conv-from-enc.c: New file.
64427         * modules/uniconv/u32-conv-from-enc-tests: New file.
64428         * tests/uniconv/test-u32-conv-from-enc.c: New file.
64429
64430         * modules/uniconv/u16-conv-from-enc: New file.
64431         * lib/uniconv/u16-conv-from-enc.c: New file.
64432         * lib/uniconv/u-conv-from-enc.h: New file.
64433         * modules/uniconv/u16-conv-from-enc-tests: New file.
64434         * tests/uniconv/test-u16-conv-from-enc.c: New file.
64435
64436         * modules/uniconv/u8-conv-from-enc: New file.
64437         * lib/uniconv/u8-conv-from-enc.c: New file.
64438         * modules/uniconv/u8-conv-from-enc-tests: New file.
64439         * tests/uniconv/test-u8-conv-from-enc.c: New file.
64440
64441         * modules/uniconv/base: New file.
64442         * lib/uniconv.h: New file.
64443
64444 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
64445
64446         * doc/gnulib-tool.texi (Initial import): Update to match current
64447         behavior with strdup module.
64448         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
64449         * lib/memmem.h: Remove; all uses removed.  This is now done
64450         by <string.h>.
64451         * lib/mempcpy.h: Likewise.
64452         * lib/memrchr.h: Likewise.
64453         * lib/stpcpy.h: Likewise.
64454         * lib/stpncpy.h: Likewise.
64455         * lib/strcase.h: Likewise.
64456         * lib/strchrnul.h: Likewise.
64457         * lib/strdup.h: Likewise.
64458         * lib/strndup.h: Likewise.
64459         * lib/strnlen.h: Likewise.
64460         * lib/strpbrk.h: Likewise.
64461         * lib/strsep.h: Likewise.
64462         * lib/strstr.h: Likewise.
64463         * lib/strtok_r.h: Likewise.
64464         * lib/string_.h: New file.
64465         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
64466         Rely on <string.h> instead.
64467         * lib/canon-host.c: Likewise.
64468         * lib/chdir-long.c: Likewise.
64469         * lib/concatpath.c: Likewise.
64470         * lib/exclude.c: Likewise.
64471         * lib/fchdir.c: Likewise.
64472         * lib/getaddrinfo.c: Likewise.
64473         * lib/getcwd.c: Likewise.
64474         * lib/getsubopt.c: Likewise.
64475         * lib/glob.c: Likewise.
64476         * lib/hard-locale.c: Likewise.
64477         * lib/iconvme.c: Likewise.
64478         * lib/javacomp.c: Likewise.
64479         * lib/mempcpy.c: Likewise.
64480         * lib/memrchr.c: Likewise.
64481         * lib/regex_internal.h: Likewise.
64482         * lib/stpncpy.c: Likewise.
64483         * lib/strcasecmp.c: Likewise.
64484         * lib/strchrnul.c: Likewise.
64485         * lib/strdup.c: Likewise.
64486         * lib/striconv.c: Likewise.
64487         * lib/striconveh.c: Likewise.
64488         * lib/striconveha.c: Likewise.
64489         * lib/strncasecmp.c: Likewise.
64490         * lib/strndup.c: Likewise.
64491         * lib/strnlen.c: Likewise.
64492         * lib/strsep.c: Likewise.
64493         * lib/strstr.c: Likewise.
64494         * lib/strtok_r.c: Likewise.
64495         * lib/userspec.c: Likewise.
64496         * lib/w32spawn.h: Likewise.
64497         * lib/xstrndup.c: Likewise.
64498         * lib/mountlist.c (strstr): Remove decl.
64499         * m4/string_h.m4: New file.
64500         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
64501         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
64502         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
64503         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
64504         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
64505         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
64506         Set REPLACE_STRCASECMP if necessary.
64507         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
64508         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
64509         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
64510         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
64511         HAVE_DECL_STRDUP if necessary.
64512         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
64513         since gl_FUNC_STRNDUP does that now.
64514         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
64515         Check for decl here...
64516         (gl_PREREQ_STRNLEN): ... not here.
64517         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
64518         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
64519         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
64520         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
64521         necessary.
64522         * modules/string: New file.
64523         * modules/memmem (Files): Remove special-purpose include file.
64524         (Depends-on): Add string.
64525         (Include): Include <string.h>, not the removed file.
64526         * modules/mempcpy: Likewise.
64527         * modules/memrchr: Likewise.
64528         * modules/stpcpy: Likewise.
64529         * modules/stpncpy: Likewise.
64530         * modules/strcase: Likewise.
64531         * modules/strchrnul: Likewise.
64532         * modules/strdup: Likewise.
64533         * modules/strndup: Likewise.
64534         * modules/strnlen: Likewise.
64535         * modules/strpbrk: Likewise.
64536         * modules/strsep: Likewise.
64537         * modules/strstr: Likewise.
64538         * modules/strtok_r: Likewise.
64539         * tests/test-dirname.c: Don't include "strdup.h", since
64540         <string.h> now suffices.
64541         * tests/test-memmem.c: Don't include "memmem.h", since
64542         <string.h> now suffices.
64543
64544 2007-01-25  Bruno Haible  <bruno@clisp.org>
64545
64546         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
64547         *resultp is 0.
64548
64549         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
64550         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
64551         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
64552         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
64553
64554         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
64555         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
64556         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
64557         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
64558         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
64559         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
64560
64561 2007-01-24  Bruno Haible  <bruno@clisp.org>
64562
64563         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
64564         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
64565         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
64566         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
64567         gl_FUNC_FTS_CORE.
64568         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
64569         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
64570         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64571         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
64572         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
64573         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
64574         gl_FUNC_FCHOWNAT.
64575         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
64576         gl_FUNC_STRFTIME.
64577         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
64578         Reported by Ralf Wildenhues.
64579
64580 2007-01-24  Bruno Haible  <bruno@clisp.org>
64581
64582         Drop AC_REQUIRE calls that are redundant with the module dependencies.
64583         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
64584         gl_GETADDRINFO.
64585         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
64586         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
64587         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
64588
64589 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
64590
64591         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
64592         Don't use 'exit'; just return from 'main'.
64593         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
64594
64595         * lib/fnmatch_.h: Readjust white space and comments to match
64596         glibc, to avoid spurious diffs.
64597
64598 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64599
64600         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
64601         2004-12-01 change by Jakub Jelinek, since this code won't compile
64602         if !LIBC.  Problem reported by Bob Proulx.
64603
64604 2007-01-23  Bruno Haible  <bruno@clisp.org>
64605
64606         * lib/striconveh.c: Include c-strcaseeq.h.
64607         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
64608         * modules/striconveh (Depends-on): Add c-strcaseeq.
64609
64610 2007-01-23  Bruno Haible  <bruno@clisp.org>
64611
64612         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
64613
64614         * modules/c-strcaseeq: New file.
64615         * lib/c-strcaseeq.h: New file.
64616
64617         * modules/streq: New file.
64618         * lib/streq.h: New file.
64619
64620 2007-01-23  Bruno Haible  <bruno@clisp.org>
64621
64622         * modules/striconveha-tests: New file.
64623         * tests/test-striconveha.c: New file.
64624
64625         * lib/striconveha.h: Include <stdbool.h>.
64626         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
64627         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
64628         (mem_iconveha_notranslit): Renamed from mem_iconveha.
64629         (mem_iconveha): New function.
64630         (str_iconveha_notranslit): Renamed from str_iconveha.
64631         (str_iconveha): New function.
64632         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
64633         c-strcase.
64634
64635 2007-01-23  Bruno Haible  <bruno@clisp.org>
64636
64637         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
64638         encodings without forgiving before trying any encoding with handler.
64639         (str_iconveha): Try all encodings without forgiving before trying any
64640         encoding with handler.
64641
64642 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64643
64644         Import the following changes from libc.
64645
64646         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
64647
64648         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
64649
64650         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
64651
64652         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
64653         normal_bracket label.
64654
64655         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
64656
64657         [BZ #361]
64658         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
64659         to normal_bracket after fetching the next character.
64660
64661 2007-01-22  Bruno Haible  <bruno@clisp.org>
64662
64663         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
64664         argument.
64665         * lib/striconveh.c (iconv_carefully_1): New function.
64666         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
64667         argument.
64668         (str_cd_iconveh): Update.
64669         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
64670         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
64671         * tests/test-striconveh.c (MAGIC): New macro.
64672         (new_offsets): New function.
64673         (main): Test call with and without offsets.
64674
64675 2007-01-22  Bruno Haible  <bruno@clisp.org>
64676
64677         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
64678         * modules/sys_select (Makefile.am): Likewise.
64679         * modules/sys_socket (Makefile.am): Likewise.
64680         * modules/sys_time (Makefile.am): Likewise.
64681
64682 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
64683
64684         * modules/gettimeofday (License): Change from GPL to LGPL, since
64685         gettimeofday is a library function.
64686
64687 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64688
64689         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
64690
64691 2007-01-21  Bruno Haible  <bruno@clisp.org>
64692
64693         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
64694
64695 2007-01-21  Bruno Haible  <bruno@clisp.org>
64696
64697         * modules/striconveha: New file.
64698         * lib/striconveha.h: New file.
64699         * lib/striconveha.c: New file.
64700         * MODULES.html.sh (Internationalization functions): Add striconveha.
64701         * lib/striconv.c (str_iconv): Optimize the case of an empty input
64702         string.
64703         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
64704
64705 2007-01-21  Bruno Haible  <bruno@clisp.org>
64706
64707         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
64708         * lib/striconveh.c (str_iconveh): Likewise.
64709
64710 2007-01-21  Bruno Haible  <bruno@clisp.org>
64711
64712         * lib/striconveh.h (mem_iconveh): New declaration.
64713         * lib/striconveh.c (mem_iconveh): New function.
64714         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
64715
64716 2007-01-21  Bruno Haible  <bruno@clisp.org>
64717
64718         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
64719
64720         * lib/striconveh.h (mem_cd_iconveh): Change specification.
64721         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
64722         original result buffer.
64723         (str_cd_iconveh): Update.
64724         * tests/test-striconveh.c (main): Update.
64725
64726         * lib/striconv.h (mem_cd_iconv): Change specification.
64727         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
64728         result buffer.
64729         (str_cd_iconv): Update.
64730         * tests/test-striconv.c (main): Update.
64731
64732 2007-01-21  Bruno Haible  <bruno@clisp.org>
64733
64734         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
64735
64736 2007-01-20  Jim Meyering  <jim@meyering.net>
64737
64738         * lib/userspec.c (parse_with_separator): If a user or group string
64739         starts with "+", skip the corresponding name-to-ID look-up, since
64740         such a look-up must fail: user and group names may not include "+".
64741
64742 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
64743
64744         * lib/poll.c: Include sys/time.h and time.h unconditionally,
64745         since we now assume the sys_time module.
64746         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
64747         check for sys/time.h; no longer needed.
64748         * modules/poll (Depends-on): Depend on sys_time.
64749
64750 2007-01-18  Bruno Haible  <bruno@clisp.org>
64751
64752         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
64753         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64754
64755         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
64756         gettimeofday.
64757
64758         * tests/test-gettimeofday.c: Include <time.h>.
64759         (dummy): Remove variable.
64760
64761         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
64762         gl_HEADER_SYS_TIME_H.
64763         (gl_HEADER_SYS_TIME_H): New macro.
64764
64765         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
64766         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64767         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
64768         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
64769         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64770         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
64771         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
64772         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64773         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
64774         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
64775         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64776
64777         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
64778         last change; it caused a compilation error when cross-compiling to
64779         Cygwin.
64780
64781 2007-01-18  Jim Meyering  <jim@meyering.net>
64782
64783         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
64784         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
64785         than the race-prone "test -d sys || mkdir sys".
64786         (configure.ac): Use AC_PROG_MKDIR_P.
64787         * modules/sys_select: Likewise.
64788         * modules/sys_socket: Likewise.
64789         * modules/sys_time: Likewise.
64790
64791 2007-01-18  Eric Blake  <ebb9@byu.net>
64792
64793         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
64794         replace gettimeofday.
64795         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
64796         name, to avoid infinite recursion.
64797
64798 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
64799
64800         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
64801         module sys_time.
64802         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
64803         assume timespec.h defines struct timeval.
64804         * lib/settime.c: Likewise.
64805         * lib/utimens.c: Likewise.
64806         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
64807         since we now assume the gettimeofday module.
64808         * lib/tempname.c (__gen_tempname): Likewise.
64809         * lib/gettimeofday.h: Remove.
64810         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
64811         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
64812         Include <time.h>, for 'time()'.
64813         (localtime_buffer_addr): Also use this workaround if
64814         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
64815         to simplify the uses.  All uses changed.
64816         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
64817         that #undef is inside {}, and 'const' follows type name consistently.
64818         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
64819         (gettimeofday): Do not use the maximum possible value for
64820         tv->tv_usec, since that might break usages other than ls.c.
64821         Instead, we'll leave ls.c alone.  This undoes today's patch
64822         by Bruno.  Add a compile-time warning for 1s-clock resolution;
64823         we've never observed the problem but might as well keep the
64824         canary.
64825         * lib/nanosleep.c: Include timespec.h first, for interface check.
64826         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
64827         now assume the sys_time module.
64828         * lib/tempname.c: Likewise.
64829         * lib/timespec.h: Likewise.
64830         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
64831         needed.
64832         * lib/strftime.c: Likewise.
64833         * lib/timespec.h: Likewise.
64834         * lib/posixtm.c: Include posixtm.h first, for interface check.
64835         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
64836         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
64837         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64838         * lib/sys_time_.h: New file.
64839         * lib/timespec.h (struct timespec): Use long int, not long.
64840         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64841         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64842         Remove obsolescent call to AC_HEADER_TIME.
64843         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64844         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64845         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64846         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64847         Likewise.
64848         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64849         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64850         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64851         into the sys_time module.  Check for gettimeofday just once.
64852         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64853         for gettimeofday signature to just check the signature.  Merely
64854         compile it, since linking doesn't test signature.  Improve test for
64855         whether gettimeofday.o is actually needed.
64856         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64857         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64858         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64859         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64860         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64861         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64862         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64863         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64864         than worrying about sys/time.h.
64865         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64866         Don't bother worrying about TIME_WITH_SYS_TIME.
64867         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64868         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64869         * m4/sys_time_h.m4: New file.
64870         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64871         Don't include sys/time.h.  Return from main rather than exiting.
64872         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64873         all uses changed.
64874         * modules/gethrxtime (Depends-on): Add sys_time.
64875         * modules/gettime (Depends-on): Likewise.
64876         * modules/gettimeofday (Depends-on): Likewise.
64877         * modules/nanosleep (Depends-on): Likewise.
64878         * modules/settime (Depends-on): Likewise.
64879         * modules/tempname (Depends-on): Likewise.
64880         * modules/utimens (Depends-on): Likewise.
64881         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64882         (Include): Change back to <sys/time.h>.
64883         (Maintainer): Add self.
64884         * modules/sys_time: New file.
64885         * modules/tempname (Depends-on): Add gettimeofday.
64886         * tests/test-gettimeofday.c: Include <sys/time.h>
64887         rather than gettimeofday.h.
64888
64889 2007-01-17  Bruno Haible  <bruno@clisp.org>
64890
64891         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64892         the license default to GPL.
64893         (func_create_testdir): Don't complain if a module is LGPL and its
64894         tests module depends on GPLed modules.
64895
64896 2007-01-17  Bruno Haible  <bruno@clisp.org>
64897
64898         * lib/gettimeofday.c (gettimeofday): Add code for the case
64899         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64900         maximum possible value for tv->tv_usec, rather than the minimum one.
64901
64902 2005-10-08  Martin Lambers  <marlam@marlam.de>
64903 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64904 2007-01-16  Bruno Haible  <bruno@clisp.org>
64905
64906         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64907         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64908         gl_FUNC_GETTIMEOFDAY.
64909         (Include): Add gettimeofday.h.
64910         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64911         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64912         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64913         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64914         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64915         * lib/gettimeofday.h: New file.
64916         * lib/gettimeofday.c: Include <sys/timeb.h>.
64917         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64918         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64919         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64920         fall back on time().
64921
64922         * tests/test-gettimeofday.c: New file.
64923         * modules/gettimeofday-tests: New file.
64924
64925 2007-01-16  Eric Blake  <ebb9@byu.net>
64926
64927         * modules/fnmatch (Depends-on): Depend on wchar.
64928         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64929         * m4/fnmatch.m4: Likewise.
64930         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64931         * m4/mbchar.m4: Likewise.
64932         * modules/mbswidth (Depends-on): Depend on wchar.
64933         * lib/mbswidth.c: Assume <wchar.h>.
64934         * m4/mbswidth.m4: Likewise.
64935         * modules/quotearg (Depends-on): Depend on wchar.
64936         * lib/quotearg.c: Assume <wchar.h>.
64937         * m4/quotearg.m4: Likewise.
64938         * modules/regex (Depends-on): Depend on wchar.
64939         * lib/regex_internal.h: Assume <wchar.h>.
64940         * m4/regex.m4: Likewise.
64941         * modules/stdint (Depends-on): Depend on wchar.
64942         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64943         * m4/stdint.m4: Likewise.
64944         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64945         * modules/strftime (Depends-on): Depend on wchar.
64946         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64947         * modules/strtol (Depends-on): Depend on wchar.
64948         * lib/strtol.c: Assume <wchar.h>.
64949         * modules/wcwidth (Depends-on): Depend on wchar.
64950         * lib/wcwidth.h: Assume <wchar.h>.
64951         * m4/wcwidth.m4: Likewise.
64952
64953 2007-01-16  Bruno Haible  <bruno@clisp.org>
64954
64955         * modules/csharpexec-script: New, created from...
64956         * modules/csharpexec: ... this.
64957
64958 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64959
64960         * modules/javaexec-script: New, created from...
64961         * modules/javaexec: ... this.
64962
64963 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64964
64965         * modules/poll (Dependencies): Add sys_select.
64966
64967 2007-01-15  Jim Meyering  <jim@meyering.net>
64968
64969         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64970         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64971         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64972         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64973
64974 2007-01-15  Bruno Haible  <bruno@clisp.org>
64975
64976         * modules/striconveh: New file.
64977         * lib/striconveh.h: New file.
64978         * lib/striconveh.c: New file.
64979         * MODULES.html.sh (Internationalization functions): Add striconveh.
64980
64981         * modules/striconveh-tests: New file.
64982         * tests/test-striconveh.c: New file.
64983
64984 2007-01-15  Bruno Haible  <bruno@clisp.org>
64985
64986         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64987         not from GNU libiconv or GNU libc.
64988
64989 2007-01-15  Bruno Haible  <bruno@clisp.org>
64990
64991         * doc/gnulib-intro.texi (Copyright): Explain the different license
64992         terms for module descriptions, autoconf macros, tests, documentation.
64993
64994 2007-01-14  Bruno Haible  <bruno@clisp.org>
64995
64996         * modules/striconv-tests: New file.
64997         * tests/test-striconv.c: New file.
64998
64999 2007-01-14  Bruno Haible  <bruno@clisp.org>
65000
65001         * modules/iconv-tests: New file.
65002         * tests/test-iconv.c: New file.
65003
65004 2007-01-14  Bruno Haible  <bruno@clisp.org>
65005
65006         * gnulib-tool (func_get_license): For test modules, use the license of
65007         the main module.
65008
65009 2007-01-14  Bruno Haible  <bruno@clisp.org>
65010
65011         * modules/iconv (Include): Clarify that <iconv.h> can only be included
65012         if iconv is found to exist.
65013
65014 2007-01-14  Bruno Haible  <bruno@clisp.org>
65015
65016         * modules/c-ctype-tests: New file.
65017         * tests/test-c-ctype.c: New file.
65018
65019 2007-01-14  Bruno Haible  <bruno@clisp.org>
65020
65021         * modules/binary-io-tests: New file.
65022         * tests/test-binary-io.sh: New file.
65023         * tests/test-binary-io.c: New file.
65024
65025 2007-01-14  Bruno Haible  <bruno@clisp.org>
65026
65027         * modules/array-oset-tests: New file.
65028         * tests/test-array_oset.c: New file.
65029
65030 2007-01-14  Bruno Haible  <bruno@clisp.org>
65031
65032         * modules/array-list-tests: New file.
65033         * tests/test-array_list.c: New file.
65034
65035 2007-01-14  Bruno Haible  <bruno@clisp.org>
65036
65037         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
65038         and make.
65039         Reported by Simon Josefsson in
65040         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
65041
65042 2007-01-14  Bruno Haible  <bruno@clisp.org>
65043
65044         * modules/allocsa-tests: New file.
65045         * tests/test-allocsa.c: New file.
65046
65047 2007-01-14  Bruno Haible  <bruno@clisp.org>
65048
65049         * modules/fchdir (Depends-on): Add absolute-header.
65050         * modules/unistd (Depends-on): Likewise.
65051
65052 2006-12-30  Bruno Haible  <bruno@clisp.org>
65053
65054         * modules/fchdir: New file.
65055         * modules/unistd (Files): Add lib/unistd_.h.
65056         (Makefile.am): Generate unistd.h from unistd_.h.
65057         * lib/fchdir.c: New file.
65058         * lib/dirent_.h: New file.
65059         * lib/unistd_.h: New file.
65060         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
65061         * m4/fchdir.m4: New file.
65062         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
65063         (gl_HEADER_UNISTD): Invoke it.
65064         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
65065         function.
65066         * lib/backupfile.c (opendir, closedir): Undefine.
65067         * lib/chown.c (open, close): Undefine.
65068         * lib/clean-temp.c (open, close): Undefine.
65069         * lib/copy-file.c (open, close): Undefine.
65070         * lib/execute.c (open, close): Undefine.
65071         * lib/fsusage.c (open, close): Undefine.
65072         * lib/gc-gnulib.c (open, close): Undefine.
65073         * lib/getcwd.c (opendir, closedir): Undefine.
65074         * lib/glob.c (opendir, closedir): Undefine.
65075         * lib/javacomp.c (open, close): Undefine.
65076         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
65077         * lib/openat-proc.c (open, close): Undefine.
65078         * lib/pagealign_alloc.c (open, close): Undefine.
65079         * lib/pipe.c (open, close): Undefine.
65080         * lib/progreloc.c (open, close): Undefine.
65081         * lib/savedir.c (opendir, closedir): Undefine.
65082         * lib/utime.c (open, close): Undefine.
65083         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
65084
65085 2007-01-10  Bruno Haible  <bruno@clisp.org>
65086
65087         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
65088
65089 2007-01-12  Eric Blake  <ebb9@byu.net>
65090
65091         Provide a robust <wchar.h>.  Further simplifications are now
65092         possible in other modules, but not included here.
65093         * modules/wchar: New module.
65094         * m4/wchar.m4: New file.
65095         * lib/wchar_.h: Likewise.
65096         * modules/mbchar (Depends-on): Depend on wchar, as the first use
65097         of the new module.
65098         * MODULES.html.sh (Extended multibyte and wide character utilities):
65099         New section.
65100
65101 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
65102
65103         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
65104         to a reasonable default for memory allocation.
65105         (xreadlink): Don't allocate a huge buffer, to work around a buggy
65106         file system that reports garbage st_size values for symlinks.
65107         Problem reported by Liyang Hu.
65108
65109 2007-01-11  Simon Josefsson  <simon@josefsson.org>
65110
65111         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
65112         Emacs .#* auto-save files).
65113
65114 2007-01-11  Bruno Haible  <bruno@clisp.org>
65115
65116         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
65117         directory.
65118
65119 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65120
65121         Use @...@ consistently in lib/wctype_.h.
65122         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
65123         on it being set to 1 or 0.
65124         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
65125         go back to AC_SUBSTing it.
65126         * modules/wctype (Makefile.am): Undo previous change.
65127
65128 2007-01-10  Eric Blake  <ebb9@byu.net>
65129
65130         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
65131         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
65132         * modules/wctype (Makefile.am): Likewise.
65133         Reported by Chris McGuire.
65134
65135 2007-01-10  Jim Meyering  <jim@meyering.net>
65136
65137         fts.c: a small readability/maintainability improvement
65138         * lib/fts.c (fts_read): Make this code slightly more readable and
65139         maintainable by hoisting the "sp->fts_cur = p" assignments to
65140         immediately follow the statements that set P.  Derived from
65141         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
65142
65143 2007-01-10  Eric Blake  <ebb9@byu.net>
65144
65145         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
65146         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
65147         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65148         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
65149         Reported by Chris McGuire.
65150
65151 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65152
65153         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
65154         in sed script.
65155
65156 2007-01-09  Bruno Haible  <bruno@clisp.org>
65157
65158         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
65159         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
65160         variables.
65161         (func_module): Use them.
65162
65163 2007-01-09  Bruno Haible  <bruno@clisp.org>
65164
65165         * modules/unistr/base: New file.
65166         * lib/unistr.h: New file.
65167
65168         * modules/unistr/u8-to-u16: New file.
65169         * lib/unistr/u8-to-u16.c: New file.
65170
65171         * modules/unistr/u8-to-u32: New file.
65172         * lib/unistr/u8-to-u32.c: New file.
65173
65174         * modules/unistr/u16-to-u8: New file.
65175         * lib/unistr/u16-to-u8.c: New file.
65176
65177         * modules/unistr/u16-to-u32: New file.
65178         * lib/unistr/u16-to-u32.c: New file.
65179
65180         * modules/unistr/u32-to-u8: New file.
65181         * lib/unistr/u32-to-u8.c: New file.
65182
65183         * modules/unistr/u32-to-u16: New file.
65184         * lib/unistr/u32-to-u16.c: New file.
65185
65186         * modules/unistr/u8-check: New file.
65187         * modules/unistr/u16-check: New file.
65188         * modules/unistr/u32-check: New file.
65189         * lib/unistr/u8-check.c: New file.
65190         * lib/unistr/u16-check.c: New file.
65191         * lib/unistr/u32-check.c: New file.
65192
65193         * modules/unistr/u8-chr: New file.
65194         * modules/unistr/u16-chr: New file.
65195         * modules/unistr/u32-chr: New file.
65196         * lib/unistr/u8-chr.c: New file.
65197         * lib/unistr/u16-chr.c: New file.
65198         * lib/unistr/u32-chr.c: New file.
65199
65200         * modules/unistr/u8-cmp: New file.
65201         * modules/unistr/u16-cmp: New file.
65202         * modules/unistr/u32-cmp: New file.
65203         * lib/unistr/u8-cmp.c: New file.
65204         * lib/unistr/u16-cmp.c: New file.
65205         * lib/unistr/u32-cmp.c: New file.
65206
65207         * modules/unistr/u8-cpy: New file.
65208         * modules/unistr/u16-cpy: New file.
65209         * modules/unistr/u32-cpy: New file.
65210         * lib/unistr/u8-cpy.c: New file.
65211         * lib/unistr/u16-cpy.c: New file.
65212         * lib/unistr/u32-cpy.c: New file.
65213         * lib/unistr/u-cpy.h: New file.
65214
65215         * modules/unistr/u8-cpy-alloc: New file.
65216         * modules/unistr/u16-cpy-alloc: New file.
65217         * modules/unistr/u32-cpy-alloc: New file.
65218         * lib/unistr/u8-cpy-alloc.c: New file.
65219         * lib/unistr/u16-cpy-alloc.c: New file.
65220         * lib/unistr/u32-cpy-alloc.c: New file.
65221         * lib/unistr/u-cpy-alloc.h: New file.
65222
65223         * modules/unistr/u8-endswith: New file.
65224         * modules/unistr/u16-endswith: New file.
65225         * modules/unistr/u32-endswith: New file.
65226         * lib/unistr/u8-endswith.c: New file.
65227         * lib/unistr/u16-endswith.c: New file.
65228         * lib/unistr/u32-endswith.c: New file.
65229         * lib/unistr/u-endswith.h: New file.
65230
65231         * modules/unistr/u8-mblen: New file.
65232         * modules/unistr/u16-mblen: New file.
65233         * modules/unistr/u32-mblen: New file.
65234         * lib/unistr/u8-mblen.c: New file.
65235         * lib/unistr/u16-mblen.c: New file.
65236         * lib/unistr/u32-mblen.c: New file.
65237
65238         * modules/unistr/u8-mbtouc: New file.
65239         * modules/unistr/u16-mbtouc: New file.
65240         * modules/unistr/u32-mbtouc: New file.
65241         * lib/unistr/u8-mbtouc.c: New file.
65242         * lib/unistr/u16-mbtouc.c: New file.
65243         * lib/unistr/u32-mbtouc.c: New file.
65244
65245         * modules/unistr/u8-mbtouc-safe: New file.
65246         * modules/unistr/u16-mbtouc-safe: New file.
65247         * modules/unistr/u32-mbtouc-safe: New file.
65248         * lib/unistr/u8-mbtouc-safe.c: New file.
65249         * lib/unistr/u16-mbtouc-safe.c: New file.
65250         * lib/unistr/u32-mbtouc-safe.c: New file.
65251
65252         * modules/unistr/u8-move: New file.
65253         * modules/unistr/u16-move: New file.
65254         * modules/unistr/u32-move: New file.
65255         * lib/unistr/u8-move.c: New file.
65256         * lib/unistr/u16-move.c: New file.
65257         * lib/unistr/u32-move.c: New file.
65258         * lib/unistr/u-move.h: New file.
65259
65260         * modules/unistr/u8-next: New file.
65261         * modules/unistr/u16-next: New file.
65262         * modules/unistr/u32-next: New file.
65263         * lib/unistr/u8-next.c: New file.
65264         * lib/unistr/u16-next.c: New file.
65265         * lib/unistr/u32-next.c: New file.
65266
65267         * modules/unistr/u8-prev: New file.
65268         * modules/unistr/u16-prev: New file.
65269         * modules/unistr/u32-prev: New file.
65270         * lib/unistr/u8-prev.c: New file.
65271         * lib/unistr/u16-prev.c: New file.
65272         * lib/unistr/u32-prev.c: New file.
65273
65274         * modules/unistr/u8-set: New file.
65275         * modules/unistr/u16-set: New file.
65276         * modules/unistr/u32-set: New file.
65277         * lib/unistr/u8-set.c: New file.
65278         * lib/unistr/u16-set.c: New file.
65279         * lib/unistr/u32-set.c: New file.
65280         * lib/unistr/u-set.h: New file.
65281
65282         * modules/unistr/u8-startswith: New file.
65283         * modules/unistr/u16-startswith: New file.
65284         * modules/unistr/u32-startswith: New file.
65285         * lib/unistr/u8-startswith.c: New file.
65286         * lib/unistr/u16-startswith.c: New file.
65287         * lib/unistr/u32-startswith.c: New file.
65288         * lib/unistr/u-startswith.h: New file.
65289
65290         * modules/unistr/u8-stpcpy: New file.
65291         * modules/unistr/u16-stpcpy: New file.
65292         * modules/unistr/u32-stpcpy: New file.
65293         * lib/unistr/u8-stpcpy.c: New file.
65294         * lib/unistr/u16-stpcpy.c: New file.
65295         * lib/unistr/u32-stpcpy.c: New file.
65296         * lib/unistr/u-stpcpy.h: New file.
65297
65298         * modules/unistr/u8-stpncpy: New file.
65299         * modules/unistr/u16-stpncpy: New file.
65300         * modules/unistr/u32-stpncpy: New file.
65301         * lib/unistr/u8-stpncpy.c: New file.
65302         * lib/unistr/u16-stpncpy.c: New file.
65303         * lib/unistr/u32-stpncpy.c: New file.
65304         * lib/unistr/u-stpncpy.h: New file.
65305
65306         * modules/unistr/u8-strcat: New file.
65307         * modules/unistr/u16-strcat: New file.
65308         * modules/unistr/u32-strcat: New file.
65309         * lib/unistr/u8-strcat.c: New file.
65310         * lib/unistr/u16-strcat.c: New file.
65311         * lib/unistr/u32-strcat.c: New file.
65312         * lib/unistr/u-strcat.h: New file.
65313
65314         * modules/unistr/u8-strchr: New file.
65315         * modules/unistr/u16-strchr: New file.
65316         * modules/unistr/u32-strchr: New file.
65317         * lib/unistr/u8-strchr.c: New file.
65318         * lib/unistr/u16-strchr.c: New file.
65319         * lib/unistr/u32-strchr.c: New file.
65320
65321         * modules/unistr/u8-strcmp: New file.
65322         * modules/unistr/u16-strcmp: New file.
65323         * modules/unistr/u32-strcmp: New file.
65324         * lib/unistr/u8-strcmp.c: New file.
65325         * lib/unistr/u16-strcmp.c: New file.
65326         * lib/unistr/u32-strcmp.c: New file.
65327
65328         * modules/unistr/u8-strcpy: New file.
65329         * modules/unistr/u16-strcpy: New file.
65330         * modules/unistr/u32-strcpy: New file.
65331         * lib/unistr/u8-strcpy.c: New file.
65332         * lib/unistr/u16-strcpy.c: New file.
65333         * lib/unistr/u32-strcpy.c: New file.
65334         * lib/unistr/u-strcpy.h: New file.
65335
65336         * modules/unistr/u8-strcspn: New file.
65337         * modules/unistr/u16-strcspn: New file.
65338         * modules/unistr/u32-strcspn: New file.
65339         * lib/unistr/u8-strcspn.c: New file.
65340         * lib/unistr/u16-strcspn.c: New file.
65341         * lib/unistr/u32-strcspn.c: New file.
65342         * lib/unistr/u-strcspn.h: New file.
65343
65344         * modules/unistr/u8-strdup: New file.
65345         * modules/unistr/u16-strdup: New file.
65346         * modules/unistr/u32-strdup: New file.
65347         * lib/unistr/u8-strdup.c: New file.
65348         * lib/unistr/u16-strdup.c: New file.
65349         * lib/unistr/u32-strdup.c: New file.
65350         * lib/unistr/u-strdup.h: New file.
65351
65352         * modules/unistr/u8-strlen: New file.
65353         * modules/unistr/u16-strlen: New file.
65354         * modules/unistr/u32-strlen: New file.
65355         * lib/unistr/u8-strlen.c: New file.
65356         * lib/unistr/u16-strlen.c: New file.
65357         * lib/unistr/u32-strlen.c: New file.
65358         * lib/unistr/u-strlen.h: New file.
65359
65360         * modules/unistr/u8-strmblen: New file.
65361         * modules/unistr/u16-strmblen: New file.
65362         * modules/unistr/u32-strmblen: New file.
65363         * lib/unistr/u8-strmblen.c: New file.
65364         * lib/unistr/u16-strmblen.c: New file.
65365         * lib/unistr/u32-strmblen.c: New file.
65366
65367         * modules/unistr/u8-strmbtouc: New file.
65368         * modules/unistr/u16-strmbtouc: New file.
65369         * modules/unistr/u32-strmbtouc: New file.
65370         * lib/unistr/u8-strmbtouc.c: New file.
65371         * lib/unistr/u16-strmbtouc.c: New file.
65372         * lib/unistr/u32-strmbtouc.c: New file.
65373
65374         * modules/unistr/u8-strncat: New file.
65375         * modules/unistr/u16-strncat: New file.
65376         * modules/unistr/u32-strncat: New file.
65377         * lib/unistr/u8-strncat.c: New file.
65378         * lib/unistr/u16-strncat.c: New file.
65379         * lib/unistr/u32-strncat.c: New file.
65380         * lib/unistr/u-strncat.h: New file.
65381
65382         * modules/unistr/u8-strncmp: New file.
65383         * modules/unistr/u16-strncmp: New file.
65384         * modules/unistr/u32-strncmp: New file.
65385         * lib/unistr/u8-strncmp.c: New file.
65386         * lib/unistr/u16-strncmp.c: New file.
65387         * lib/unistr/u32-strncmp.c: New file.
65388
65389         * modules/unistr/u8-strncpy: New file.
65390         * modules/unistr/u16-strncpy: New file.
65391         * modules/unistr/u32-strncpy: New file.
65392         * lib/unistr/u8-strncpy.c: New file.
65393         * lib/unistr/u16-strncpy.c: New file.
65394         * lib/unistr/u32-strncpy.c: New file.
65395         * lib/unistr/u-strncpy.h: New file.
65396
65397         * modules/unistr/u8-strnlen: New file.
65398         * modules/unistr/u16-strnlen: New file.
65399         * modules/unistr/u32-strnlen: New file.
65400         * lib/unistr/u8-strnlen.c: New file.
65401         * lib/unistr/u16-strnlen.c: New file.
65402         * lib/unistr/u32-strnlen.c: New file.
65403         * lib/unistr/u-strnlen.h: New file.
65404
65405         * modules/unistr/u8-strpbrk: New file.
65406         * modules/unistr/u16-strpbrk: New file.
65407         * modules/unistr/u32-strpbrk: New file.
65408         * lib/unistr/u8-strpbrk.c: New file.
65409         * lib/unistr/u16-strpbrk.c: New file.
65410         * lib/unistr/u32-strpbrk.c: New file.
65411         * lib/unistr/u-strpbrk.h: New file.
65412
65413         * modules/unistr/u8-strrchr: New file.
65414         * modules/unistr/u16-strrchr: New file.
65415         * modules/unistr/u32-strrchr: New file.
65416         * lib/unistr/u8-strrchr.c: New file.
65417         * lib/unistr/u16-strrchr.c: New file.
65418         * lib/unistr/u32-strrchr.c: New file.
65419
65420         * modules/unistr/u8-strspn: New file.
65421         * modules/unistr/u16-strspn: New file.
65422         * modules/unistr/u32-strspn: New file.
65423         * lib/unistr/u8-strspn.c: New file.
65424         * lib/unistr/u16-strspn.c: New file.
65425         * lib/unistr/u32-strspn.c: New file.
65426         * lib/unistr/u-strspn.h: New file.
65427
65428         * modules/unistr/u8-strstr: New file.
65429         * modules/unistr/u16-strstr: New file.
65430         * modules/unistr/u32-strstr: New file.
65431         * lib/unistr/u8-strstr.c: New file.
65432         * lib/unistr/u16-strstr.c: New file.
65433         * lib/unistr/u32-strstr.c: New file.
65434         * lib/unistr/u-strstr.h: New file.
65435
65436         * modules/unistr/u8-strtok: New file.
65437         * modules/unistr/u16-strtok: New file.
65438         * modules/unistr/u32-strtok: New file.
65439         * lib/unistr/u8-strtok.c: New file.
65440         * lib/unistr/u16-strtok.c: New file.
65441         * lib/unistr/u32-strtok.c: New file.
65442         * lib/unistr/u-strtok.h: New file.
65443
65444         * modules/unistr/u8-uctomb: New file.
65445         * modules/unistr/u16-uctomb: New file.
65446         * modules/unistr/u32-uctomb: New file.
65447         * lib/unistr/u8-uctomb.c: New file.
65448         * lib/unistr/u16-uctomb.c: New file.
65449         * lib/unistr/u32-uctomb.c: New file.
65450
65451         * MODULES.html.sh (Unicode string functions): Add the new modules.
65452
65453 2007-01-08  Bruno Haible  <bruno@clisp.org>
65454
65455         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
65456         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
65457         subdirectories.
65458
65459 2007-01-08  Karl Berry  <karl@gnu.org>
65460
65461         * doc/error.texi: mention that main() fns must set program_name
65462         when progname is used.
65463
65464 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
65465
65466         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
65467         WCTYPE_H is empty, for the benefit of builds from non-distclean
65468         directories.  Problem reported by Eric Blake in
65469         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
65470
65471 2007-01-08  Bruno Haible  <bruno@clisp.org>
65472
65473         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
65474         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
65475         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
65476         PROVIDE_CANONICALIZE_FILENAME_MODE.
65477         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
65478
65479 2007-01-08  Bruno Haible  <bruno@clisp.org>
65480
65481         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
65482         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
65483         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
65484         * lib/fts.c: Likewise.
65485         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
65486
65487 2006-12-25  Bruno Haible  <bruno@clisp.org>
65488
65489         * modules/utf8-ucs4-safe: New file.
65490         * lib/utf8-ucs4-safe.h: New file.
65491         * lib/unistr/utf8-ucs4-safe.c: New file.
65492
65493         * modules/utf16-ucs4-safe: New file.
65494         * lib/utf16-ucs4-safe.h: New file.
65495         * lib/unistr/utf16-ucs4-safe.c: New file.
65496
65497         * MODULES.html.sh (Unicode string functions): Add the new modules.
65498
65499 2007-01-08  Bruno Haible  <bruno@clisp.org>
65500
65501         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
65502         (Depends-on): Add unitypes.
65503         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
65504         (u8_mbtouc_aux): Move out to separate file.
65505         (u8_mbtouc): Use ucs4_t, uint8_t types.
65506         * lib/unistr/utf8-ucs4.c: New file.
65507
65508         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
65509         (Depends-on): Add unitypes.
65510         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
65511         (u16_mbtouc_aux): Move out to separate file.
65512         (u16_mbtouc): Use ucs4_t, uint16_t types.
65513         * lib/unistr/utf16-ucs4.c: New file.
65514
65515         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
65516         (Depends-on): Add unitypes.
65517         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
65518         (u8_uctomb_aux): Move out to separate file.
65519         (u8_uctomb): Use ucs4_t, uint8_t types.
65520         * lib/unistr/ucs4-utf8.c: New file.
65521
65522         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
65523         (Depends-on): Add unitypes.
65524         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
65525         (u16_uctomb_aux): Move out to separate file.
65526         (u16_uctomb): Use ucs4_t, uint16_t types.
65527         * lib/unistr/ucs4-utf16.c: New file.
65528
65529 2006-12-25  Bruno Haible  <bruno@clisp.org>
65530
65531         * modules/unitypes: New file.
65532         * lib/unitypes.h: New file.
65533         * MODULES.html.sh (func_all_modules): New section "Unicode string
65534         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
65535         this section. Add unitypes.
65536
65537 2007-01-08  Bruno Haible  <bruno@clisp.org>
65538
65539         Avoid variable names that conflict with those from libtool.
65540         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
65541         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
65542         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
65543         library_names_spec to acl_library_names_spec, hardcode_* to
65544         acl_hardcode_*.
65545         Reported by Ralf Wildenhues.
65546
65547 2007-01-08  Bruno Haible  <bruno@clisp.org>
65548
65549         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
65550         definition.
65551         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
65552         definition.
65553         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
65554         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
65555         definition.
65556         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
65557         definition.
65558         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
65559         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
65560         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
65561         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
65562         definition.
65563         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
65564         definition.
65565         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
65566         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
65567         GC_USE_<algorithm>.
65568         * lib/gc-libgcrypt.c: Likewise.
65569         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
65570         * modules/gc-arctwo (configure.ac): Likewise.
65571         * modules/gc-des (configure.ac): Likewise.
65572         * modules/gc-hmac-md5 (configure.ac): Likewise.
65573         * modules/gc-hmac-sha1 (configure.ac): Likewise.
65574         * modules/gc-md2 (configure.ac): Likewise.
65575         * modules/gc-md4 (configure.ac): Likewise.
65576         * modules/gc-md5 (configure.ac): Likewise.
65577         * modules/gc-random (configure.ac): Likewise.
65578         * modules/gc-rijndael (configure.ac): Likewise.
65579         * modules/gc-sha1 (configure.ac): Likewise.
65580
65581 2007-01-08  Bruno Haible  <bruno@clisp.org>
65582
65583         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
65584         macro definition.
65585         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
65586         definition.
65587         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
65588         definition.
65589         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
65590         * modules/fcntl-safer (configure.ac): Likewise.
65591         * modules/fopen-safer (configure.ac): Likewise.
65592         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
65593         GNULIB_FWRITEERROR macro definition.
65594
65595 2007-01-08  Bruno Haible  <bruno@clisp.org>
65596
65597         * m4/gnulib-common.m4: New file.
65598         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
65599         (func_get_filelist): Add m4/gnulib-common.m4.
65600
65601 2007-01-08  Bruno Haible  <bruno@clisp.org>
65602
65603         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
65604         command.
65605
65606 2007-01-08  Jim Meyering  <jim@meyering.net>
65607
65608         Use a more robust test for a "can't happen" condition.
65609         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
65610         narrowed the st_size value.  Presuming the "can't happen" condition
65611         is true, that narrowing could conceivably convert an invalid st_size
65612         value into a valid one.  Instead, use a change based on Matthew
65613         Woehlke's original patch.
65614
65615         Slight readability improvement: use an assert-like macro
65616         in place of literal "abort ()" uses.
65617         * lib/fts.c (fts_assert): Define.
65618         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
65619         Use this macro instead of a bare 'abort'.
65620
65621 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
65622
65623         Don't worry about using IRIX 5.3's wctype.h broken definitions;
65624         simply work around them.
65625         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
65626         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
65627         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
65628         declaring.
65629         Don't bother to define as macros, since the standard doesn't require it.
65630         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
65631         longer worry about IRIX 5.3.
65632         (HAVE_WCTYPE_CTMP_BUG): Remove.
65633
65634 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65635
65636         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
65637         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
65638         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65639         Problems reported by Georg Schwarz for IRIX 5.3.
65640
65641         * gnulib-tool (autoconf_minversion): Take the maximum version number
65642         found, not the minimum.  Problem reported by James Youngman.
65643
65644 2007-01-03  Karl Berry  <karl@gnu.org>
65645
65646         * doc/error.texi: new file, explaining interaction with progname.
65647         * doc/gnulib.texi: include it.  Update copyright.
65648
65649 2007-01-03  Simon Josefsson  <simon@josefsson.org>
65650
65651         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
65652         AC_CANONICAL_HOST, to improve autobuild outputs.
65653
65654 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
65655             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
65656
65657         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
65658         sockets, server sockets, and other file descriptors.  Count errors
65659         to compute the return value.  Reorder the code a bit to be easier
65660         to follow.  Don't set event bits that were not requested (except
65661         POLLERR and POLLHUP).
65662
65663 2007-01-01  Bruno Haible  <bruno@clisp.org>
65664
65665         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
65666
65667 2007-01-03  Jim Meyering  <jim@meyering.net>
65668
65669         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
65670
65671 2007-01-02  Bruno Haible  <bruno@clisp.org>
65672
65673         * modules/settime (Include): Require timespec.h.
65674         * modules/nanosleep (Include): Likewise.
65675
65676 2007-01-01  Bruno Haible  <bruno@clisp.org>
65677
65678         * gnulib-tool (func_emit_copyright_notice): Bump year.
65679         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
65680
65681 2007-01-01  Bruno Haible  <bruno@clisp.org>
65682
65683         Improve support for OpenBSD.
65684         * build-aux/config.rpath (libname_spec): Export.
65685         (library_names_spec): New variable. Export.
65686         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
65687         library_names_spec from the config.rpath output. Locate shared library
65688         through the name pattern in library_names_spec.
65689
65690 2007-01-01  Eric Blake  <ebb9@byu.net>
65691
65692         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
65693
65694 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
65695
65696         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
65697         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
65698         assume the C locale, and avoid an "eval" that could cause trouble.
65699         Problem with SORT reported by Bob Proulx.
65700
65701         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
65702         Define.  Trivial patch from Henning Nielsen Lund, originally
65703         sent to bug-grep@gnu.org today.
65704
65705 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
65706
65707         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
65708         struct stat.  Problem reported by Henning Nielsen Lund.
65709         * lib/acl.c: Include acl.h first, to check interface.  Don't
65710         bother to include sys/types.h and sys/stat.h again.
65711
65712 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
65713
65714         Import the following change from libc; problem reported by
65715         Sven Verdoolaege.
65716
65717         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
65718
65719         [BZ #1373]
65720         * lib/argp.h: Remove __NTH for __argp_usage inline function.
65721
65722 2006-12-28  Jim Meyering  <jim@meyering.net>
65723
65724         * build-aux/announce-gen: Do not assume that the package
65725         builds any of tar.gz, tar.bz2, and .xdelta files.
65726         Suggestion from Simon Josefsson.
65727
65728 2006-12-28  Simon Josefsson  <simon@josefsson.org>
65729
65730         * modules/announce-gen: New file.
65731
65732 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
65733
65734         * lib/mbchar.h: Just include <wctype.h>; the wctype module
65735         handles its gotchas now.
65736         * lib/mbswidth.c: Likewise.
65737         * lib/wcwidth.h: Likewise.
65738         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
65739         and iswcntrl; the wctype module does this stuff now.
65740         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65741         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65742         * modules/mbchar (Depends-on): Add wctype.
65743         * modules/mbswidth (Depends-on): Likewise.
65744         * modules/wcwidth (Depends-on): Likewise.
65745
65746 2006-12-27  Eric Blake  <ebb9@byu.net>
65747
65748         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
65749         module uses more than what <wctype.h> is required to provide.
65750
65751 2006-12-26  Eric Blake  <ebb9@byu.net>
65752
65753         * gnulib-tool (sed_extract_prog): Avoid space-tab.
65754
65755 2006-12-26  Eric Blake  <ebb9@byu.net>
65756
65757         * modules/absolute-header: New module.
65758         * modules/fcntl (Depends-on): Depend on it.
65759         * modules/inttypes (Depends-on): Likewise.
65760         * modules/stdint (Depends-on): Likewise.
65761         * modules/sys_stat (Depends-on): Likewise.
65762         * modules/wctype (Depends-on): Likewise.
65763         * MODULES.html.sh (Support for building libraries and
65764         executables): Document it.
65765
65766 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
65767
65768         * gnulib-tool (SED): Remove, undoing previous change.
65769         The problem was that it broke coreutils on Solaris, because
65770         "sed --posix" leaked into a makefile.
65771         (sed): New alias, if 'alias' and GNU sed.
65772
65773 2006-12-24  Jim Meyering  <jim@meyering.net>
65774
65775         Work around an fchownat bug in glibc-2.4:
65776         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
65777         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
65778         in spite of the -P option.
65779         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
65780         New macros.
65781         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
65782         * modules/openat (Files): Add lib/fchownat.c.
65783         * lib/openat.c (fchownat): Don't define here.  Move to...
65784         * lib/fchownat.c: ...this new file.
65785
65786 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65787
65788         Fix bug reported by Bruno Haible in
65789         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
65790         where quotearg.c didn't compile on Mac OS X 10.2 because it
65791         lacks <wchar.h> and wint_t.
65792         * lib/wctype_.h (__wctype_wint_t): New type.
65793         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
65794         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
65795         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
65796         Arg is now of type __wctype_wint_t, not wint_t.
65797         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
65798         substitute HAVE_WINT_T.
65799         * modules/wctype (Files): Add m4/wint_t.m4.
65800         (wctype.h): Substitute HAVE_WINT_T.
65801
65802 2006-12-23  Bruno Haible  <bruno@clisp.org>
65803
65804         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
65805
65806 2006-12-23  Bruno Haible  <bruno@clisp.org>
65807
65808         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
65809         S_ISLNK.
65810         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
65811         mingw.
65812
65813 2006-12-22  Bruno Haible  <bruno@clisp.org>
65814
65815         * lib/copy-file.c: Include acl.h.
65816         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
65817         Close the file descriptors only after being done with copy_acl.
65818         * modules/copy-file (Depends-on): Add acl.
65819
65820 2006-12-22  Bruno Haible  <bruno@clisp.org>
65821
65822         * gnulib-tool (SED): New variable.
65823         Use $SED instead of sed everywhere.
65824
65825 2006-12-22  Bruno Haible  <bruno@clisp.org>
65826
65827         * modules/no-c++: New file.
65828         * m4/no-c++.m4: New file.
65829         * MODULES.html.sh (Support for building libraries and executables):
65830         Add no-c++.
65831
65832 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
65833
65834         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65835         Include <limits.h>, and use its INT_MAX to rewrite the
65836         j loop so that it does not overflow 'int'.  Problem reported by
65837         Ralf Wildenhues in
65838         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65839         Play it safe by shifting left by 1 rather than multiplying by 2,
65840         as GCC is less likely to optimize this away when the value
65841         is signed (when it assumes overflow leads to undefined behavior).
65842         Also, don't assume time_t uses two's complement.
65843
65844 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65845
65846         * MODULES.html.sh: New module wctype.
65847         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65848         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65849         <wctype.h>, since the new wctype module should fix this.
65850         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65851         the wctype module should arrange for it.
65852         * lib/regex_internal.h: Likewise.
65853         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65854         since the wctype module should handle this now.
65855         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65856         * modules/fnmatch (Depends-on): Add wctype.
65857         * modules/quotearg (Depends-on): Likewise.
65858         * modules/regex (Depends-on): Likewise.
65859
65860 2006-12-19  Bruno Haible  <bruno@clisp.org>
65861
65862         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65863         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65864
65865 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65866
65867         * modules/savewd (Depends-on): Fix dependency on fcntl.
65868
65869 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65870
65871         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65872         conforms to C99, rather than relying on the user's environment
65873         setting of STDINT_H.
65874
65875 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65876         and Eric Blake  <ebb9@byu.net>
65877
65878         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65879         This is more consistent with the other defines here.
65880         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65881         Port to z/OS.  Problem reported by Paul Gilmartin.
65882         Change local vars to use gl_ prefix rather than ac_.
65883         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65884         with other defines.
65885         * modules/double-slash-root: New module.
65886         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65887         (Depends-on): Add double-slash-root.
65888         * MODULES.html.sh (File system functions): Mention new module.
65889
65890 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65891
65892         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65893         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65894         This is for the benefit of gzip, which doesn't do i18n.
65895
65896 2006-12-12  Jim Meyering  <jim@meyering.net>
65897
65898         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65899         Reported by Andreas Schwab <schwab@suse.de>.
65900
65901 2006-12-12  Bruno Haible  <bruno@clisp.org>
65902
65903         Merge these changes.
65904         2006-09-05  Bruno Haible  <bruno@clisp.org>
65905         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65906         iconv_alloc succeeded.
65907         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65908         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65909         test for " && dest " at the end - dest is always != NULL there. Call
65910         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65911         with 2xNULL arguments, also to flush the state storage. Handle the
65912         IRIX iconv behaviour. Realloc the final result, to throw away unused
65913         memory.
65914
65915 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65916
65917         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65918         and fchmodat unconditionally, since glibc 2.4 has them.
65919         Problem reported by Arkadiusz Miskiewicz.
65920
65921 2006-12-10  Bruno Haible  <bruno@clisp.org>
65922
65923         * gnulib-tool (func_import): Show the include files only for those
65924         modules that are copied and specified.
65925         Reported by Karl Berry.
65926
65927 2006-12-08  Jim Meyering  <jim@meyering.net>
65928
65929         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65930         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65931
65932         * build-aux/announce-gen: Add two new options, both optional:
65933         --bootstrap-tools=TOOL_LIST
65934               a comma-separated list of tools, e.g.,
65935               autoconf,automake,bison,gnulib
65936         --gnulib-snapshot-date=DATE
65937               if gnulib is in the bootstrap tool list,
65938               then report this as the snapshot date.
65939               If not specified, use the current date/time.
65940               If you specify a date here, be sure it's UTC.
65941
65942 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65943
65944         * tests/test-argp-2.sh: Fix test to match actual output.
65945         (func_compare): Fix sed script to be portable.
65946
65947 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65948
65949         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65950         workaround for this case.  It is not autoconfigured now; offhand
65951         it's hard to see how to autoconfigure it.
65952
65953 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65954
65955         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65956         a directory that is about to be chowned.  Such a directory's
65957         initial file permissions should permit the owner only and this
65958         should not be changed until after the chown, since the group and
65959         other bits would be incorrect if they granted permission before
65960         the chown.
65961
65962         Fix porting problem for iswctype reported by Georg Schwarz in:
65963         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65964         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65965         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65966         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65967         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65968
65969 2006-12-03  Jim Meyering  <jim@meyering.net>
65970
65971         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65972         p->fts_statp may not yet be defined.
65973         (fts_read): Instead, set it in the caller, once p->fts_statp is
65974         sure to be defined, and corresponds to a top-level directory.
65975         This bug made du -x fail.  Here's the coreutils test case:
65976         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65977         Reported by Mike Frysinger.
65978
65979 2006-12-01  Jim Meyering  <jim@meyering.net>
65980
65981         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65982         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65983         Reported by Simon Josefsson.
65984
65985 2006-11-30  Jim Meyering  <jim@meyering.net>
65986
65987         * m4/warning.m4: Use the all-permissive copyright notice
65988         recommended by RMS (rather than LGPL).
65989         * m4/vararrays.m4: Likewise.
65990         * m4/flexmember.m4: Likewise.
65991
65992 2006-11-29  Bruno Haible  <bruno@clisp.org>
65993
65994         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65995         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65996         using +=.
65997         Reported by Simon Josefsson <simon@josefsson.org>.
65998
65999 2006-11-28  James Youngman <jay@gnu.org>
66000
66001         * README: Advise users that they might find the bug-gnulib@gnu.org
66002         and autotools-announce@gnu.org mailing lists useful.
66003
66004 2006-11-28  Bruno Haible  <bruno@clisp.org>
66005
66006         * m4/ptrdiff_max.m4: Remove file.
66007
66008 2006-11-21  Bruno Haible  <bruno@clisp.org>
66009
66010         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
66011         _AC_COMPUTE_INT.
66012         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
66013         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
66014         _AC_COMPUTE_INT.
66015         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
66016         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
66017         _AC_COMPUTE_INT.
66018         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
66019
66020 2006-11-28  Jim Meyering  <jim@meyering.net>
66021
66022         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
66023         warning from "gcc -Wshadow" about shadowing the builtin.
66024
66025 2006-11-27  Bruno Haible  <bruno@clisp.org>
66026
66027         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
66028         _AC_COMPUTE_INT.
66029         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
66030
66031 2006-11-27  Bruno Haible  <bruno@clisp.org>
66032             Paul Eggert  <eggert@cs.ucla.edu>
66033
66034         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
66035
66036 2006-11-26  Bruno Haible  <bruno@clisp.org>
66037
66038         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
66039         noinst_LTLIBRARIES.
66040
66041 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
66042             Bruno Haible  <bruno@clisp.org>
66043
66044         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
66045         if compiling with "gcc -ansi".
66046
66047 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
66048
66049         Fix some incompatibilities with gcc -ansi -pedantic.
66050         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
66051         if compiling pedantically with GCC, unless it's C99 or later.
66052         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
66053         it mishandles gcc -ansi -pedantic as well.
66054         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
66055         if gcc -pedantic.
66056         * lib/regexec.c (check_node_accept_bytes): Don't use auto
66057         initializers for struct if -pedantic, unless it's C99 or later.
66058
66059 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
66060
66061         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
66062         Don't close an fd more than once. Identical atimes indicate
66063         success, not failure.
66064
66065 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
66066
66067         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
66068
66069 2006-11-23  Jim Meyering  <jim@meyering.net>
66070
66071         * build-aux/announce-gen: New file.  From coreutils.
66072
66073 2006-11-22  Jim Meyering  <jim@meyering.net>
66074
66075         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
66076         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
66077         (fts_read): Use a temporary to narrow the overused st_size member
66078         before using it in a switch statement.  Reported by Matthew Woehlke.
66079
66080         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
66081         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
66082
66083 2006-11-20  Bruno Haible  <bruno@clisp.org>
66084
66085         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
66086         changequote instead of pairs of brackets.
66087         Reported by Andreas Schwab <schwab@suse.de>.
66088
66089 2006-11-21  Jim Meyering  <jim@meyering.net>
66090
66091         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
66092         so as to remain compatible with older compilers.
66093         Patch from Michael Deutschmann.
66094
66095 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66096
66097         * MODULES.html.sh (File system functions): Add openat.
66098
66099         * lib/openat.h (rpl_fstatat): New macro, if
66100         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
66101         (fstatat): Define to rpl_fstatat under the same conditions,
66102         unless COMPILING_FSTATAT.
66103         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
66104         seems to have the bug.
66105         * lib/fstatat.c: New file.
66106         * modules/openat (Files): Add it.
66107
66108 2006-11-20  Bruno Haible  <bruno@clisp.org>
66109
66110         * Makefile: New file.
66111
66112 2006-11-20  Jim Meyering  <jim@meyering.net>
66113
66114         The beginnings of syntax-related checks for gnulib.
66115         * lib/Makefile: New file.
66116         * lib/t-idcache: New script.  Ensure that the two halves of
66117         idcache.c stay in sync.
66118
66119         * lib/idcache.c: Adjust comments in user- and group- portions to
66120         be more accurate, and to be consistent with one another.
66121
66122 2006-11-20  Jim Meyering  <jim@meyering.net>
66123
66124         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
66125         continue using the flexible array member (thus, this module performs
66126         half as many malloc calls), with the addition that...
66127         (getgroup, getuser): Consistently record a non-match via an empty
66128         "name" string, and map an empty string match to a NULL return value.
66129         * modules/idcache (Depends-on): Re-add flexmember.
66130
66131         * lib/idcache.c (getuser): Remove all uses of the register keyword.
66132         (getuidbyname, getgroup, getgidbyname): Likewise.
66133
66134         Use cleaner syntax: NULL rather than 0.
66135         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
66136
66137 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66138
66139         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
66140         It mishandled the case where the group was missing.
66141         Problem reported by Greg Schafer.
66142         * modules/idcache: Likewise.
66143
66144 2006-11-18  Jim Meyering  <jim@meyering.net>
66145
66146         * check-module (%exempt_header): Add exception for some
66147         conditionally-included headers.
66148
66149         * modules/i-ring (Depends-on): Add verify.
66150         (License): Change to LGPL.
66151
66152 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66153
66154         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
66155         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
66156         and inttostr.h.  Use snprintf rather than uinttostr, so that
66157         LGPLed code doesn't depend on GPLed.
66158
66159 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66160
66161         * modules/inline (License): Change from GPL to LGPL.
66162
66163 2006-11-17  Jim Meyering  <jim@meyering.net>
66164
66165         * modules/d-type (License): Switch to LGPL.
66166
66167 2006-11-15  Bruno Haible  <bruno@clisp.org>
66168
66169         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
66170
66171 2006-11-15  Eric Blake  <ebb9@byu.net>
66172
66173         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
66174         the module dependency.
66175
66176 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66177             Bruno Haible  <bruno@clisp.org>
66178
66179         * gnulib-tool (func_create_testdir): Add license consistency check.
66180
66181 2006-11-15  Eric Blake  <ebb9@byu.net>
66182
66183         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
66184         random "(cached)" in configure output.
66185
66186 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66187
66188         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
66189         test for conforming inttypes.h is both announced and cached.
66190
66191         * MODULES.html.sh (seen_modules, seen_files): New variables.
66192         (func_module): Rewrite to use a few less gnulib-tool and sed
66193         invocations.  Avoid a couple of quadratic algorithms for ...
66194         (missed_modules, missed_files): ... these, with ...
66195         (func_append, func_tmpdir): ... these new functions, from
66196         gnulib-tool.  Analogously, install traps for cleanup.
66197
66198         * tests/test-gc.c (main): Remove unused variables.
66199         * tests/test-read-file.c: Include stdlib.h, for 'free'.
66200
66201 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
66202
66203         * modules/inttostr (License): Change to LGPL.
66204
66205 2006-11-14  Eric Blake  <ebb9@byu.net>
66206
66207         * modules/tempname (License): Change to LGPL.
66208
66209 2006-11-14  Eric Blake  <ebb9@byu.net>
66210
66211         * doc/functions.texi (Function Portability): *printf functions on
66212         Cygwin now understand all POSIX size specifiers.
66213
66214 2006-11-14  Bruno Haible  <bruno@clisp.org>
66215
66216         * modules/c-ctype (License): Change to LGPL.
66217
66218 2006-11-12  Bruno Haible  <bruno@clisp.org>
66219
66220         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
66221         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
66222         for GNOME libraries, for which the include files are installed in
66223         subdirectories of $prefix/include.
66224
66225 2006-11-12  Bruno Haible  <bruno@clisp.org>
66226
66227         * m4/lib-link.m4: Require at least autoconf-2.54.
66228         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
66229         name to underscores for the --with option.
66230
66231 2006-11-13  Bruno Haible  <bruno@clisp.org>
66232
66233         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
66234         the tests directory.
66235         Reported by Ralf Wildenhues.
66236
66237 2006-11-13  Bruno Haible  <bruno@clisp.org>
66238
66239         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
66240         (func_emit_initmacro_end): Undo the override here.
66241         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
66242         Works around the famous automake error in coreutils.
66243
66244 2006-11-13  Eric Blake  <ebb9@byu.net>
66245
66246         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
66247         element, not its node.
66248
66249 2006-11-12  Bruno Haible  <bruno@clisp.org>
66250
66251         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
66252         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
66253
66254 2006-11-12  Bruno Haible  <bruno@clisp.org>
66255
66256         * gnulib-tool: New option --local-symlink.
66257         (func_usage): Document it.
66258         (lsymbolic): New variable.
66259         (func_import, func_create_testdir): If --symlink was not specified,
66260         test whether --local-symlink was specified and the file comes from
66261         the local_gnulib_dir.
66262
66263 2006-11-12  Bruno Haible  <bruno@clisp.org>
66264
66265         * gnulib-tool (func_ln): New function.
66266         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
66267
66268 2006-11-12  Bruno Haible  <bruno@clisp.org>
66269
66270         Finish support for source files in subdirectories.
66271         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
66272         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
66273         AUTOMAKE_OPTIONS.
66274         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
66275
66276 2006-11-12  Bruno Haible  <bruno@clisp.org>
66277
66278         * gnulib-tool (func_get_automake_snippet): Synthesize also an
66279         EXTRA_lib_SOURCES augmentation.
66280         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
66281
66282 2006-11-12  Jim Meyering  <jim@meyering.net>
66283
66284         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
66285         file descriptors.  This also averts a failure on systems with
66286         native openat support when a traversed directory lacks "x" access.
66287         * lib/fts_.h: Include "i-ring.h"
66288         (struct FTS) [fts_fd_ring]: New member.
66289         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
66290         (FCHDIR): Add parentheses.
66291         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
66292         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
66293         When descending, rather than simply closing the previous
66294         fts_cwd_fd value, push that file descriptor onto the ring.
66295         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
66296         (fts_open): Initialize the new fd_ring member.
66297         (fts_close): Clear the ring.
66298         (fts_safe_changedir): When possible, use our new fd_ring to skip
66299         the diropen and fstat and dev/ino comparison that would normally
66300         accompany a virtual `chdir ("..")'.
66301
66302         * modules/fts (Depends-on): Add i-ring.
66303         * modules/i-ring: New module.
66304         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
66305         * m4/i-ring.m4: New file.
66306
66307 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66308
66309         * gnulib-tool (func_create_testdir): Fix replacement of
66310         `build-aux' in configure.ac.  Run autotools in gltests
66311         subdirectory.
66312         (func_create_testdir, func_create_megatestdir, test): There is
66313         no need for '--force' in most autotool invocations in a new
66314         tree.  Actually fail the whole test if any of the tools, or the
66315         configure or make stages fail.
66316
66317         Sync from Automake.
66318         * build-aux/gnupload: Revert last change.  Add pointer to upload
66319         instructions of the GNU Maintenance Instructions.
66320         Suggestion by Karl Berry.
66321
66322 2006-11-10  Jim Meyering  <jim@meyering.net>
66323
66324         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
66325
66326 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66327
66328         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
66329         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
66330         (bind_textdomain_codeset) [! ENABLE_NLS]:
66331         Evaluate all the arguments.  That way, callers get compatible behavior
66332         if the arguments have side effects.  Also, it avoids some GCC
66333         diagnostics in some cases; Joel E. Denny reported problems when Bison
66334         was configured with --enable-gcc-warnigs.
66335
66336 2006-11-10  Jim Meyering  <jim@meyering.net>
66337
66338         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
66339         relevant options in CFLAGS (like -O, -fno-inline) are taken into
66340         account.
66341
66342 2006-11-10  Jim Meyering  <jim@meyering.net>
66343
66344         * modules/inline: New file/module.
66345         * modules/xalloc (Files): Remove m4/inline.m4.
66346         (Depends-on): Add inline, instead.
66347         * modules/oset: Likewise.
66348         * modules/list: Likewise.
66349
66350 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66351
66352         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
66353         Problem reported by Matthew Woehlke.
66354
66355 2006-11-09  Bruno Haible  <bruno@clisp.org>
66356
66357         * lib/tempname.c (gen_tempname): Remove variant that invokes
66358         __gen_tempname.
66359         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
66360         __gen_tempname.
66361
66362 2006-11-08  Bruno Haible  <bruno@clisp.org>
66363
66364         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
66365         to 'yes' instead of 'cross-compiling'.
66366
66367 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
66368
66369         * lib/quotearg.h (quotearg_free): New decl.
66370         * lib/quotearg.c (quotearg_free): New function.
66371         (slot0, nslots, slotvec0, slotvec):
66372         Now file-scope so that quotearg_free can get at them.
66373
66374 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66375
66376         Sync from Automake.
66377         * build-aux/gnupload: Add missing 'gnu' to example URL.
66378         Report by Karl Berry.
66379
66380 2006-11-08  Bruno Haible  <bruno@clisp.org>
66381
66382         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
66383         Suggested by Paul Eggert.
66384
66385 2006-11-08  Jim Meyering  <jim@meyering.net>
66386
66387         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
66388         It's already included if !_LIBC.
66389         (fts_safe_changedir): Add a comment.
66390
66391 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
66392
66393         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
66394         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
66395         Matthew Woehlke.
66396
66397         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
66398         definitions up, to avoid colliding with change below.
66399         (static_inline) [HAVE_INLINE]: New macro.
66400         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
66401         Provide extern decls when !HAVE_INLINE.  Do not define unless
66402         static_inline is defined, either by us or by xmalloc.c.  Use
66403         static_inline rather than static inline.
66404         (XCALLOC): Optimize sizeof(T) = 1 case.
66405         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
66406
66407 2006-11-07  Bruno Haible  <bruno@clisp.org>
66408
66409         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
66410         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
66411         AC_C_INLINE.
66412         * modules/xalloc (Files): Add m4/inline.m4.
66413
66414 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66415
66416         * README: Fix typo.
66417         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
66418         (Miscellanous Notes): ...from this.
66419
66420 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
66421
66422         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
66423         Mention that offsetof should be used instead of sizeof.
66424         From Bruno Haible.
66425
66426 2006-11-07  Bruno Haible  <bruno@clisp.org>
66427
66428         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
66429
66430 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
66431
66432         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
66433         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
66434         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
66435         (gl_tree_add_before, gl_tree_add_after):
66436         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
66437         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
66438         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66439         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
66440         (gl_linked_add_after, gl_linked_add_at): Likewise.
66441         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
66442         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
66443         (gl_tree_add_before, gl_tree_add_after): Likewise.
66444         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
66445         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
66446         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
66447
66448 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66449
66450         * lib/gl_oset.h: Use C comment style, not C++ comment style.
66451
66452 2006-11-06  Bruno Haible  <bruno@clisp.org>
66453
66454         * m4/inline.m4: New file.
66455         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
66456         * modules/list (Files): Add m4/inline.m4.
66457         * modules/oset (Files): Likewise.
66458
66459 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
66460
66461         * lib/idcache.c: Include <stddef.h>, for offsetof.
66462         (struct userid.name): Change from char * to a flexible array member.
66463         All uses changed.
66464         * modules/idcache (Depends-on): Add flexmember.
66465
66466         * MODULES.html.sh (Core language properties): New module flexmember.
66467         * modules/flexmember, m4/flexmember.m4: New files.
66468
66469         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
66470         inline functions that are identical with the old xnmalloc_inline,
66471         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
66472         that we can avoid some unnecessary integer multiplications and
66473         divisions in the common case where the element size is known at
66474         compile time.
66475         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
66476         needed.
66477         (xnboundedmalloc): Remove.
66478         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
66479         arguments, for consistency with rest of this header.
66480         (xcharalloc): Rewrite using XNMALLOC.
66481         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
66482         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
66483         versions have been moved to lib/xalloc.h and renamed to be the
66484         non-*_inline versions.
66485         (xmalloc, xrealloc): Implement without reference to the xnmalloc
66486         and xnrealloc functions, since those functions are now inline and
66487         now call us.
66488         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
66489         renaming described above.
66490         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
66491         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
66492         captures the dependency in AC_C_INLINE.
66493
66494         New module canonicalize-lgpl, proposed by Charles Wilson in
66495         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
66496         with a few small changes afterwards.
66497         * MODULES.html.sh (File system functions): New module
66498         canonicalize-lgpl.
66499         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
66500         and canonicalize_file_name.
66501         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
66502         * modules/canonicalize-lgpl: New files.
66503
66504 2006-11-05  Bruno Haible  <bruno@clisp.org>
66505
66506         * gnulib-tool (func_import, func_create_testdir): Create directories
66507         also for files in subdirectories of lib/.
66508
66509 2006-11-05  Bruno Haible  <bruno@clisp.org>
66510
66511         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
66512         ANSI C compliant.
66513
66514 2006-11-03  Bruno Haible  <bruno@clisp.org>
66515
66516         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
66517         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
66518         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
66519         (xnboundedmalloc): New inline function.
66520         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
66521         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
66522         xmalloc.
66523         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
66524         xmalloc.
66525         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
66526         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
66527         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
66528         xmalloc.
66529         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
66530         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
66531         xmalloc.
66532         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
66533         gl_tree_add_after): Use XMALLOC instead of xmalloc.
66534         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
66535         xmalloc.
66536         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
66537         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
66538         gl_tree_add_after): Use XMALLOC instead of xmalloc.
66539         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
66540         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
66541         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
66542         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
66543
66544 2006-11-03  Bruno Haible  <bruno@clisp.org>
66545
66546         * lib/c-ctype.h [C++]: Define functions without name mangling.
66547         * lib/fwriteerror.h [C++]: Likewise.
66548         * lib/gcd.h [C++]: Likewise.
66549         * lib/linebreak.h [C++]: Likewise.
66550
66551 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
66552
66553         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
66554         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
66555         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
66556         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
66557         Check for functions and headers just once.
66558         Check for declaration of canonicalize_file_name.
66559         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
66560
66561 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66562
66563         * gnulib-tool (func_import): Fix typo in actioncmd.
66564
66565 2006-11-02  Bruno Haible  <bruno@clisp.org>
66566
66567         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
66568         newline sequence in the Makefile.am snippet as a space, like "make"
66569         does.
66570         Reported by Roger Persson <perrog@gmail.com>.
66571
66572 2006-11-01  Bruno Haible  <bruno@clisp.org>
66573
66574         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
66575         already declared in <string.h>.
66576         * lib/strcase.h (strncasecmp): Don't declare it if yes.
66577
66578 2006-11-01  Bruno Haible  <bruno@clisp.org>
66579
66580         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
66581         * lib/strcase.h: Include <string.h>.
66582         (strcasecmp): Define to rpl_strcasecmp here.
66583
66584 2006-11-01  Bruno Haible  <bruno@clisp.org>
66585
66586         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
66587
66588 2006-11-01  Eric Blake  <ebb9@byu.net>
66589
66590         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
66591
66592         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
66593
66594 2006-10-29  Bruno Haible  <bruno@clisp.org>
66595
66596         Make it compile in C++ mode.
66597         * lib/full-write.c (full_rw): Add a cast.
66598
66599 2006-11-01  Bruno Haible  <bruno@clisp.org>
66600
66601         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
66602         be POSIX compliant.
66603         Reported by Roger Persson <perrog@gmail.com>.
66604
66605 2006-11-01  Eric Blake  <ebb9@byu.net>
66606
66607         * lib/getopt_.h: Fix comments.
66608
66609 2006-10-31  Eric Blake  <ebb9@byu.net>
66610
66611         * modules/tmpdir (Depends-on): Add sys_stat.
66612         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
66613         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
66614         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
66615         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
66616         tempname.
66617
66618 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
66619
66620         Avoid some C++ diagnostics reported by Bruno Haible.
66621         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
66622         xmalloc.
66623         (quotearg_alloc): Use xcharalloc rather than xmalloc.
66624         (struct slotvec): Move to top level.
66625         (quotearg_n_options): Rewrite to avoid xmalloc.
66626         * lib/xalloc.h (xcharalloc): New function.
66627         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
66628         [defined __cplusplus]: Add function template that provides result
66629         type propagation.  This part of the change is from Bruno Haible.
66630
66631 2006-10-29  Bruno Haible  <bruno@clisp.org>
66632
66633         Make it compile in C++ mode.
66634         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
66635         * lib/strnlen1.c (strnlen1): Cast memchr result.
66636         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
66637         * lib/clean-temp.c (string_equals, string_hash): Add casts.
66638         (create_temp_dir): Rename local variable 'template'.
66639         (compile_csharp_using_sscli): Add cast.
66640         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
66641         * lib/findprog.c (find_in_path): Likewise.
66642         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
66643         * lib/wait-process.c (register_slave_subprocess): Likewise.
66644
66645 2006-10-22  Bruno Haible  <bruno@clisp.org>
66646
66647         * modules/tsearch: New file.
66648         * lib/tsearch.h: New file.
66649         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
66650         * m4/tsearch.m4: New file.
66651         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
66652
66653 2006-10-29  Eric Blake  <ebb9@byu.net>
66654
66655         * lib/arcfour.c: Assume config.h.
66656         * lib/arctwo.c: Likewise.
66657         * lib/base64.c: Likewise.
66658         * lib/check-version.c: Likewise.
66659         * lib/crc.c: Likewise.
66660         * lib/des.c: Likewise.
66661         * lib/gc-gnulib.c: Likewise.
66662         * lib/gc-libgcrypt.c: Likewise.
66663         * lib/gc-pbkdf2-sha1.c: Likewise.
66664         * lib/getaddrinfo.c: Likewise.
66665         * lib/getdelim.c: Likewise.
66666         * lib/getline.c: Likewise.
66667         * lib/hmac-md5.c: Likewise.
66668         * lib/hmac-sha1.c: Likewise.
66669         * lib/iconvme.c: Likewise.
66670         * lib/md2.c: Likewise.
66671         * lib/md4.c: Likewise.
66672         * lib/memxor.c: Likewise.
66673         * lib/read-file.c: Likewise.
66674         * lib/readline.c: Likewise.
66675         * lib/rijndael-alg-fst.c: Likewise.
66676         * lib/rijndael-api-fst.c: Likewise.
66677         * lib/xgetdomainname.c: Likewise.
66678
66679 2006-10-28  Eric Blake  <ebb9@byu.net>
66680
66681         * lib/xstrndup.c: Assume config.h.
66682
66683 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
66684
66685         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
66686         stat-macros.h is now for our own macros, whereas stat_h is for
66687         macros in the <sys/stat.h> name space.
66688         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
66689         (STAT_MACROS_H): Remove.
66690         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
66691         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
66692         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
66693         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
66694         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
66695         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
66696         Move these macros to ...
66697         * lib/stat_.h: here.  Don't include stat-macros.h.
66698         * lib/canonicalize.c: Don't include stat-macros.h.
66699         * lib/chown.c: Likewise.
66700         * lib/euidaccess.c: Likewise.
66701         * lib/file-type.c: Likewise.
66702         * lib/filemode.c: Likewise.
66703         * lib/glob.c: Likewise.
66704         * lib/isapipe.c: Likewise.
66705         * lib/lchown.c: Likewise.
66706         * lib/lstat.c: Likewise.
66707         * lib/mkdir-p.c: Likewise.
66708         * lib/rmdir.c: Likewise.
66709         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
66710         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
66711         unless mkdir isn't declared, to speed up 'configure'.
66712         Always create sys/stat.h, since it's unlikely any real sys/stat.h
66713         would define all the S_* symbols.
66714         * modules/canonicalize (Depends-on):
66715         Depend on sys_stat, not stat-macros.
66716         * modules/chown: Likewise.
66717         * modules/euidaccess: Likewise.
66718         * modules/filemode: Likewise.
66719         * modules/file-type: Likewise.
66720         * modules/glob: Likewise.
66721         * modules/isapipe: Likewise.
66722         * modules/lchown: Likewise.
66723         * modules/lstat: Likewise.
66724         * modules/mkancesdirs: Likewise.
66725         * modules/rmdir: Likewise.
66726         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
66727         * modules/modechange: Likewise.
66728         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
66729         (configure.ac): Remove gl_STAT_MACROS.
66730         * modules/sys_stat (Depends-on): Remove stat-macros.
66731
66732 2006-10-27  Bruno Haible  <bruno@clisp.org>
66733
66734         * m4/signed.m4: Remove file.
66735         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
66736         invocation.
66737         * modules/vasnprintf (Files): Remove m4/signed.m4.
66738
66739 2006-10-27  Bruno Haible  <bruno@clisp.org>
66740
66741         Update to GNU gettext 0.16.
66742         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
66743         m4/inttypes-h.m4, m4/signed.m4.
66744         * m4/gettext.m4: Update to GNU gettext 0.16.
66745         * m4/intl.m4: New file, from GNU gettext.
66746         * m4/intldir.m4: New file, from GNU gettext.
66747         * config/srclist.txt: Update
66748
66749 2006-10-27  Eric Blake  <ebb9@byu.net>
66750
66751         * MODULES.html.sh: Document tempname.
66752         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
66753         dependencies.
66754         (Files): Move lib/tempname.c...
66755         * modules/tempname: ...to this new module.
66756         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
66757         (gl_PREREQ_TEMPNAME): Move...
66758         * m4/tempname.m4: ...to this new file.
66759         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
66760         * modules/sys_stat (Depends-on): Add stat-macros.
66761         * lib/stat_.h (includes): Pick up stat macros.
66762         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
66763         if stat macros are broken.
66764         * lib/tempname.c (includes): No need to include "stat-macros.h".
66765         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
66766         (direxists, __path_search) [!_LIBC]: Don't compile these in
66767         gnulib; the tmpdir module covers that.
66768         * lib/tempname.h: New file.
66769
66770 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
66771
66772         * COPYING: Explain how gnulib-tool converts licence headers.
66773         Almost all wording by Eric Blake.
66774
66775 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
66776
66777         * lib/mbchar.h (is_basic_table): Make read-only.
66778         * lib/mbchar.c (is_basic_table): Likewise.
66779         Reported by John Darrington.
66780
66781 2006-10-25  Bruno Haible  <bruno@clisp.org>
66782
66783         * lib/progname.h (set_program_name): Undefine before defining.
66784
66785 2006-10-25  Bruno Haible  <bruno@clisp.org>
66786
66787         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
66788         false for non-gcc C++ compilers.
66789         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
66790
66791 2006-10-24  Bruno Haible  <bruno@clisp.org>
66792
66793         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
66794         iconv implementations like Irix iconv.
66795
66796 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66797
66798         * modules/vararrays: New file.
66799         * m4/vararrays.m4: New file, taken from diffutils.
66800         * MODULES.html.sh: New module vararrays.
66801
66802 2006-10-24  Karl Berry  <karl@gnu.org>
66803
66804         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
66805         Don't call GNU Unix.
66806
66807 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66808
66809         * users.txt: Add Libtool.
66810
66811         Sync from Libtool:
66812
66813         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66814
66815         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
66816         to gnulib's policy of including config.h unconditionally.
66817
66818 2006-10-24  Bruno Haible  <bruno@clisp.org>
66819
66820         * modules/wcwidth (Files): Add m4/wint_t.m4.
66821         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
66822         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
66823
66824 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66825
66826         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
66827         to pacify GCC with some -W flags enabled.  Problem reported by
66828         Bruno Haible.
66829
66830 2006-10-24  Jim Meyering  <jim@meyering.net>
66831
66832         * MODULES.html.sh: Remove uinttostr.  It's not a module.
66833         Reported by Karl Berry.
66834
66835 2006-10-23  Bruno Haible  <bruno@clisp.org>
66836
66837         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66838
66839 2006-10-24  Bruno Haible  <bruno@clisp.org>
66840
66841         * lib/gl_list.h: Use C comment style, not C++ comment style.
66842
66843 2006-10-23  Eric Blake  <ebb9@byu.net>
66844
66845         * lib/getaddrinfo.c (includes): Add missing include.
66846
66847 2006-10-23  Bruno Haible  <bruno@clisp.org>
66848             Paul Eggert  <eggert@cs.ucla.edu>
66849
66850         Ability to rename obstack_free.
66851         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66852         obstack_free.
66853         (obstack_free): Invoke the __obstack_free macro.
66854         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66855
66856 2006-10-23  Bruno Haible  <bruno@clisp.org>
66857             Paul Eggert  <eggert@cs.ucla.edu>
66858
66859         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66860         __argc, __argv from the declaration. (They are defined as macros on
66861         mingw.)
66862
66863 2006-10-22  Bruno Haible  <bruno@clisp.org>
66864
66865         * doc/gnulib-intro.texi: New file.
66866         * doc/gnulib.texi: Include it.
66867
66868 2006-10-21  Bruno Haible  <bruno@clisp.org>
66869
66870         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66871         "Introduction", "Miscellanous Notes", "Particular Modules".
66872
66873 2006-10-21  Bruno Haible  <bruno@clisp.org>
66874
66875         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66876         Change mostlyclean-local rule to avoid sh syntax error from bash
66877         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66878
66879 2006-10-23  Jim Meyering  <jim@meyering.net>
66880
66881         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66882         in place of snprintf.
66883
66884         * modules/inttostr (Files): Add lib/uinttostr.c.
66885         * lib/uinttostr.c (inttostr): New file/function.
66886         * lib/inttostr.h (uinttostr): Declare.
66887         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66888         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66889         Add uinttostr.
66890         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66891
66892 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66893
66894         * lib/canonicalize.c (ELOOP): Define if not already defined.
66895         Problem reported by Bruno Haible in
66896         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66897
66898 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66899
66900         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66901         Problem reported by Perry Smith and Ville Laurikari.
66902
66903         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66904         uses.
66905
66906 2006-10-19  Bruno Haible  <bruno@clisp.org>
66907
66908         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66909         for mingw.
66910
66911 2006-10-19  Bruno Haible  <bruno@clisp.org>
66912
66913         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66914         Needed for mingw.
66915
66916 2006-10-19  Bruno Haible  <bruno@clisp.org>
66917
66918         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66919
66920 2006-10-19  Bruno Haible  <bruno@clisp.org>
66921
66922         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66923         it.
66924
66925 2006-10-19  Bruno Haible  <bruno@clisp.org>
66926
66927         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66928         invocation.
66929
66930 2006-10-19  Bruno Haible  <bruno@clisp.org>
66931
66932         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66933         mountlist by default.
66934
66935 2006-10-16  Bruno Haible  <bruno@clisp.org>
66936
66937         * lib/c-strstr.c: Include c-strstr.h.
66938
66939 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66940
66941         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66942         in a slash.
66943
66944 2006-10-18  Bruno Haible  <bruno@clisp.org>
66945
66946         * lib/lock.h [C++]: Wrap definitions in extern "C".
66947
66948 2006-10-18  Bruno Haible  <bruno@clisp.org>
66949
66950         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66951         gl_LIBOBJS list.
66952
66953 2006-10-18  Bruno Haible  <bruno@clisp.org>
66954
66955         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66956
66957 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66958
66959         * lib/xstrtol.h: Include gettext.h.
66960         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66961         Problem reported by Eric Blake.
66962         * modules/xstrtol (Depends-on): Add gettext-h.
66963
66964 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66965
66966         * lib/strftime.c (advance): New macro.
66967         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66968         incomplete type, so you can't add 0 to it.  Problem and patch
66969         reported by Eelco Dolstra for dietlibc.
66970
66971 2006-10-18  Jim Meyering  <jim@meyering.net>
66972
66973         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66974         type for a local, and rename it: s/up/user_proc/.
66975
66976 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66977
66978         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66979         READ_UTMP_USER_PROCESS.
66980         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66981
66982 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66983
66984         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66985         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66986
66987 2006-10-17  Eric Blake  <ebb9@byu.net>
66988
66989         * lib/sigprocmask.c (sigprocmask): Fix typo.
66990
66991         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66992
66993         * modules/clean-temp (Makefile.am): Don't add to make output...
66994         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66995         config.h.
66996
66997 2006-10-17  Bruno Haible  <bruno@clisp.org>
66998
66999         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
67000         differently if DEFAULT_TEXT_DOMAIN is set.
67001
67002 2006-10-16  Bruno Haible  <bruno@clisp.org>
67003
67004         * lib/clean-temp.c: Include fwriteerror.h.
67005
67006 2006-10-16  Bruno Haible  <bruno@clisp.org>
67007
67008         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
67009
67010 2006-10-16  Bruno Haible  <bruno@clisp.org>
67011
67012         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
67013         * lib/sigprocmask.h: Include <sys/types.h>.
67014         (sigset_t): Use the system's definition if present.
67015
67016 2006-10-17  Eric Blake  <ebb9@byu.net>
67017
67018         * lib/xvasprintf.c (includes): Assume config.h.
67019         * lib/xasprintf.c (includes): Likewise.
67020
67021 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
67024         at least as wide as intmax_t.
67025
67026 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
67027
67028         (Imported from Automake.)
67029         * build-aux/gnupload: Update to version 1.1 of directive file.
67030
67031 2006-10-16  Eric Blake  <ebb9@byu.net>
67032
67033         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
67034         match Automake 1.10a.
67035
67036 2006-10-14  Bruno Haible  <bruno@clisp.org>
67037
67038         * modules/sigprocmask: New file.
67039         * lib/sigprocmask.h: New file.
67040         * lib/sigprocmask.c: New file.
67041         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
67042         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
67043         request sigprocmask.o.
67044         (gl_PREREQ_SIGPROCMASK): New macro.
67045         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
67046         (Depends-on): Add sigprocmask.
67047         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
67048         gt_SIGNALBLOCKING. Test for 'raise' only once.
67049         * lib/fatal-signal.c: Include sigprocmask.h.
67050         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
67051         unblock_fatal_signals): Define always.
67052         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67053         sigprocmask.
67054
67055 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
67056
67057         Sync from Automake.
67058         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
67059         which incorrectly sets the mode of an existing destination
67060         directory.  In some cases the unpatched install-sh could do the
67061         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
67062         system.  We hope this is rare in practice, but it's clearly worth
67063         fixing.  Problem reported by Alex Unleashed in
67064         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
67065         Also, don't bother to check for -m bugs unless we're using -m;
67066         suggested by Stepan Kasal.
67067
67068 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67069
67070         Sync from Automake.
67071         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
67072         `-c' flag, so they appear at the same position as in %FASTDEP%
67073         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
67074         which ignores unknown options only after the first non-option.
67075         Bug report against M4 by Nelson H. F. Beebe.
67076
67077 2006-10-13  Jim Meyering  <jim@meyering.net>
67078
67079         Fix a bug in yesterday's change.
67080         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
67081         p->fts_statp->st_dev would be used uninitialized.
67082         Ensures that we always call fts_stat on the very first entry.
67083         Miklos Szeredi reported that find -xdev stopped working.
67084
67085 2006-10-12  Bruno Haible  <bruno@clisp.org>
67086
67087         * gnulib-tool (func_get_automake_snippet): Append an automatically
67088         computed EXTRA_DIST augmentation.
67089         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
67090         * modules/alloca-opt (Makefile.am): Likewise.
67091         * modules/allocsa (Makefile.am): Likewise.
67092         * modules/arcfour (Makefile.am): Likewise.
67093         * modules/arctwo (Makefile.am): Likewise.
67094         * modules/argmatch (Makefile.am): Likewise.
67095         * modules/argz (Makefile.am): Likewise.
67096         * modules/atexit (Makefile.am): Likewise.
67097         * modules/backupfile (Makefile.am): Likewise.
67098         * modules/byteswap (Makefile.am): Likewise.
67099         * modules/c-strtod (Makefile.am): Likewise.
67100         * modules/c-strtold (Makefile.am): Likewise.
67101         * modules/calloc (Makefile.am): Likewise.
67102         * modules/canon-host (Makefile.am): Likewise.
67103         * modules/canonicalize (Makefile.am): Likewise.
67104         * modules/chdir-long (Makefile.am): Likewise.
67105         * modules/chdir-safer (Makefile.am): Likewise.
67106         * modules/check-version (Makefile.am): Likewise.
67107         * modules/chown (Makefile.am): Likewise.
67108         * modules/cloexec (Makefile.am): Likewise.
67109         * modules/close-stream (Makefile.am): Likewise.
67110         * modules/closeout (Makefile.am): Likewise.
67111         * modules/crc (Makefile.am): Likewise.
67112         * modules/csharpexec (Makefile.am): Likewise.
67113         * modules/cycle-check (Makefile.am): Likewise.
67114         * modules/des (Makefile.am): Likewise.
67115         * modules/dev-ino (Makefile.am): Likewise.
67116         * modules/dirfd (Makefile.am): Likewise.
67117         * modules/dirname (Makefile.am): Likewise.
67118         * modules/dup2 (Makefile.am): Likewise.
67119         * modules/eealloc (Makefile.am): Likewise.
67120         * modules/error (Makefile.am): Likewise.
67121         * modules/euidaccess (Makefile.am): Likewise.
67122         * modules/exclude (Makefile.am): Likewise.
67123         * modules/exitfail (Makefile.am): Likewise.
67124         * modules/fcntl-safer (Makefile.am): Likewise.
67125         * modules/fcntl (Makefile.am): Likewise.
67126         * modules/file-type (Makefile.am): Likewise.
67127         * modules/fileblocks (Makefile.am): Likewise.
67128         * modules/filemode (Makefile.am): Likewise.
67129         * modules/filenamecat (Makefile.am): Likewise.
67130         * modules/fnmatch (Makefile.am): Likewise.
67131         * modules/fopen-safer (Makefile.am): Likewise.
67132         * modules/fpending (Makefile.am): Likewise.
67133         * modules/fprintftime (Makefile.am): Likewise.
67134         * modules/free (Makefile.am): Likewise.
67135         * modules/fsusage (Makefile.am): Likewise.
67136         * modules/ftruncate (Makefile.am): Likewise.
67137         * modules/fts (Makefile.am): Likewise.
67138         * modules/gc-arcfour (Makefile.am): Likewise.
67139         * modules/gc-des (Makefile.am): Likewise.
67140         * modules/gc-hmac-md5 (Makefile.am): Likewise.
67141         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
67142         * modules/gc-md4 (Makefile.am): Likewise.
67143         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
67144         * modules/gc-sha1 (Makefile.am): Likewise.
67145         * modules/gc (Makefile.am): Likewise.
67146         * modules/getaddrinfo (Makefile.am): Likewise.
67147         * modules/getcwd (Makefile.am): Likewise.
67148         * modules/getdelim (Makefile.am): Likewise.
67149         * modules/getdomainname (Makefile.am): Likewise.
67150         * modules/getgroups (Makefile.am): Likewise.
67151         * modules/gethostname (Makefile.am): Likewise.
67152         * modules/gethrxtime (Makefile.am): Likewise.
67153         * modules/getline (Makefile.am): Likewise.
67154         * modules/getloadavg (Makefile.am): Likewise.
67155         * modules/getlogin_r (Makefile.am): Likewise.
67156         * modules/getndelim2 (Makefile.am): Likewise.
67157         * modules/getopt (Makefile.am): Likewise.
67158         * modules/getpagesize (Makefile.am): Likewise.
67159         * modules/getpass-gnu (Makefile.am): Likewise.
67160         * modules/getpass (Makefile.am): Likewise.
67161         * modules/getsubopt (Makefile.am): Likewise.
67162         * modules/gettime (Makefile.am): Likewise.
67163         * modules/gettimeofday (Makefile.am): Likewise.
67164         * modules/getugroups (Makefile.am): Likewise.
67165         * modules/getusershell (Makefile.am): Likewise.
67166         * modules/glob (Makefile.am): Likewise.
67167         * modules/group-member (Makefile.am): Likewise.
67168         * modules/hard-locale (Makefile.am): Likewise.
67169         * modules/hash (Makefile.am): Likewise.
67170         * modules/hmac-md5 (Makefile.am): Likewise.
67171         * modules/hmac-sha1 (Makefile.am): Likewise.
67172         * modules/human (Makefile.am): Likewise.
67173         * modules/idcache (Makefile.am): Likewise.
67174         * modules/imaxabs (Makefile.am): Likewise.
67175         * modules/imaxdiv (Makefile.am): Likewise.
67176         * modules/inet_ntop (Makefile.am): Likewise.
67177         * modules/inet_pton (Makefile.am): Likewise.
67178         * modules/intprops (Makefile.am): Likewise.
67179         * modules/inttostr (Makefile.am): Likewise.
67180         * modules/inttypes (Makefile.am): Likewise.
67181         * modules/isapipe (Makefile.am): Likewise.
67182         * modules/javaversion (Makefile.am): Likewise.
67183         * modules/lchmod (Makefile.am): Likewise.
67184         * modules/lchown (Makefile.am): Likewise.
67185         * modules/localcharset (Makefile.am): Likewise.
67186         * modules/long-options (Makefile.am): Likewise.
67187         * modules/lstat (Makefile.am): Likewise.
67188         * modules/malloc (Makefile.am): Likewise.
67189         * modules/mathl (Makefile.am): Likewise.
67190         * modules/mbchar (Makefile.am): Likewise.
67191         * modules/md2 (Makefile.am): Likewise.
67192         * modules/md4 (Makefile.am): Likewise.
67193         * modules/md5 (Makefile.am): Likewise.
67194         * modules/memcasecmp (Makefile.am): Likewise.
67195         * modules/memchr (Makefile.am): Likewise.
67196         * modules/memcmp (Makefile.am): Likewise.
67197         * modules/memcoll (Makefile.am): Likewise.
67198         * modules/memcpy (Makefile.am): Likewise.
67199         * modules/memmem (Makefile.am): Likewise.
67200         * modules/memmove (Makefile.am): Likewise.
67201         * modules/mempcpy (Makefile.am): Likewise.
67202         * modules/memrchr (Makefile.am): Likewise.
67203         * modules/memset (Makefile.am): Likewise.
67204         * modules/memxor (Makefile.am): Likewise.
67205         * modules/mkancesdirs (Makefile.am): Likewise.
67206         * modules/mkdir-p (Makefile.am): Likewise.
67207         * modules/mkdir (Makefile.am): Likewise.
67208         * modules/mkdtemp (Makefile.am): Likewise.
67209         * modules/mkstemp (Makefile.am): Likewise.
67210         * modules/mktime (Makefile.am): Likewise.
67211         * modules/modechange (Makefile.am): Likewise.
67212         * modules/mountlist (Makefile.am): Likewise.
67213         * modules/nanosleep (Makefile.am): Likewise.
67214         * modules/obstack (Makefile.am): Likewise.
67215         * modules/openat (Makefile.am): Likewise.
67216         * modules/pagealign_alloc (Makefile.am): Likewise.
67217         * modules/pathmax (Makefile.am): Likewise.
67218         * modules/physmem (Makefile.am): Likewise.
67219         * modules/poll (Makefile.am): Likewise.
67220         * modules/posixtm (Makefile.am): Likewise.
67221         * modules/posixver (Makefile.am): Likewise.
67222         * modules/putenv (Makefile.am): Likewise.
67223         * modules/quote (Makefile.am): Likewise.
67224         * modules/quotearg (Makefile.am): Likewise.
67225         * modules/raise (Makefile.am): Likewise.
67226         * modules/read-file (Makefile.am): Likewise.
67227         * modules/readline (Makefile.am): Likewise.
67228         * modules/readlink (Makefile.am): Likewise.
67229         * modules/readtokens (Makefile.am): Likewise.
67230         * modules/readutmp (Makefile.am): Likewise.
67231         * modules/realloc (Makefile.am): Likewise.
67232         * modules/regex (Makefile.am): Likewise.
67233         * modules/rename-dest-slash (Makefile.am): Likewise.
67234         * modules/rename (Makefile.am): Likewise.
67235         * modules/rijndael (Makefile.am): Likewise.
67236         * modules/rmdir (Makefile.am): Likewise.
67237         * modules/rpmatch (Makefile.am): Likewise.
67238         * modules/safe-read (Makefile.am): Likewise.
67239         * modules/safe-write (Makefile.am): Likewise.
67240         * modules/same-inode (Makefile.am): Likewise.
67241         * modules/same (Makefile.am): Likewise.
67242         * modules/save-cwd (Makefile.am): Likewise.
67243         * modules/savedir (Makefile.am): Likewise.
67244         * modules/setenv (Makefile.am): Likewise.
67245         * modules/settime (Makefile.am): Likewise.
67246         * modules/sha1 (Makefile.am): Likewise.
67247         * modules/sig2str (Makefile.am): Likewise.
67248         * modules/snprintf (Makefile.am): Likewise.
67249         * modules/stat-macros (Makefile.am): Likewise.
67250         * modules/stat-time (Makefile.am): Likewise.
67251         * modules/stdbool (Makefile.am): Likewise.
67252         * modules/stdint (Makefile.am): Likewise.
67253         * modules/stdlib-safer (Makefile.am): Likewise.
67254         * modules/stpcpy (Makefile.am): Likewise.
67255         * modules/stpncpy (Makefile.am): Likewise.
67256         * modules/strcase (Makefile.am): Likewise.
67257         * modules/strcasestr (Makefile.am): Likewise.
67258         * modules/strchrnul (Makefile.am): Likewise.
67259         * modules/strcspn (Makefile.am): Likewise.
67260         * modules/strdup (Makefile.am): Likewise.
67261         * modules/strerror (Makefile.am): Likewise.
67262         * modules/strftime (Makefile.am): Likewise.
67263         * modules/strndup (Makefile.am): Likewise.
67264         * modules/strnlen (Makefile.am): Likewise.
67265         * modules/strpbrk (Makefile.am): Likewise.
67266         * modules/strsep (Makefile.am): Likewise.
67267         * modules/strstr (Makefile.am): Likewise.
67268         * modules/strtod (Makefile.am): Likewise.
67269         * modules/strtoimax (Makefile.am): Likewise.
67270         * modules/strtok_r (Makefile.am): Likewise.
67271         * modules/strtol (Makefile.am): Likewise.
67272         * modules/strtoll (Makefile.am): Likewise.
67273         * modules/strtoul (Makefile.am): Likewise.
67274         * modules/strtoull (Makefile.am): Likewise.
67275         * modules/strtoumax (Makefile.am): Likewise.
67276         * modules/strverscmp (Makefile.am): Likewise.
67277         * modules/sys_socket (Makefile.am): Likewise.
67278         * modules/sys_stat (Makefile.am): Likewise.
67279         * modules/sysexits (Makefile.am): Likewise.
67280         * modules/time_r (Makefile.am): Likewise.
67281         * modules/timegm (Makefile.am): Likewise.
67282         * modules/timespec (Makefile.am): Likewise.
67283         * modules/tmpfile-safer (Makefile.am): Likewise.
67284         * modules/trim (Makefile.am): Likewise.
67285         * modules/unistd-safer (Makefile.am): Likewise.
67286         * modules/unlinkdir (Makefile.am): Likewise.
67287         * modules/unlocked-io (Makefile.am): Likewise.
67288         * modules/userspec (Makefile.am): Likewise.
67289         * modules/utime (Makefile.am): Likewise.
67290         * modules/utimecmp (Makefile.am): Likewise.
67291         * modules/utimens (Makefile.am): Likewise.
67292         * modules/vasnprintf (Makefile.am): Likewise.
67293         * modules/vasprintf (Makefile.am): Likewise.
67294         * modules/vsnprintf (Makefile.am): Likewise.
67295         * modules/xalloc (Makefile.am): Likewise.
67296         * modules/xgetcwd (Makefile.am): Likewise.
67297         * modules/xnanosleep (Makefile.am): Likewise.
67298         * modules/xreadlink (Makefile.am): Likewise.
67299         * modules/xstrtod (Makefile.am): Likewise.
67300         * modules/xstrtol (Makefile.am): Likewise.
67301         * modules/xstrtold (Makefile.am): Likewise.
67302         * modules/yesno (Makefile.am): Likewise.
67303         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
67304
67305 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
67306
67307         * modules/error (Makefile.am): Distribute files through
67308         EXTRA_DIST, not lib_SOURCES.
67309
67310 2006-10-12  Eric Blake  <ebb9@byu.net>
67311
67312         * modules/error (Makefile.am): Distribute files in /lib.
67313         * modules/obstack (Makefile.am): Likewise.
67314
67315 2006-10-12  Bruno Haible  <bruno@clisp.org>
67316
67317         * modules/acl (Makefile.am): Distribute all files in lib/ through
67318         EXTRA_DIST.
67319         * modules/arcfour (Makefile.am): Likewise.
67320         * modules/arctwo (Makefile.am): Likewise.
67321         * modules/argmatch (Makefile.am): Likewise.
67322         * modules/argz (Makefile.am): Likewise.
67323         * modules/atexit (Makefile.am): Likewise.
67324         * modules/backupfile (Makefile.am): Likewise.
67325         * modules/c-strtod (Makefile.am): Likewise.
67326         * modules/c-strtold (Makefile.am): Likewise.
67327         * modules/calloc (Makefile.am): Likewise.
67328         * modules/canon-host (Makefile.am): Likewise.
67329         * modules/canonicalize (Makefile.am): Likewise.
67330         * modules/chdir-long (Makefile.am): Likewise.
67331         * modules/chdir-safer (Makefile.am): Likewise.
67332         * modules/check-version (Makefile.am): Likewise.
67333         * modules/chown (Makefile.am): Likewise.
67334         * modules/cloexec (Makefile.am): Likewise.
67335         * modules/close-stream (Makefile.am): Likewise.
67336         * modules/closeout (Makefile.am): Likewise.
67337         * modules/crc (Makefile.am): Likewise.
67338         * modules/cycle-check (Makefile.am): Likewise.
67339         * modules/des (Makefile.am): Likewise.
67340         * modules/dirfd (Makefile.am): Likewise.
67341         * modules/dirname (Makefile.am): Likewise.
67342         * modules/dup2 (Makefile.am): Likewise.
67343         * modules/euidaccess (Makefile.am): Likewise.
67344         * modules/exclude (Makefile.am): Likewise.
67345         * modules/exitfail (Makefile.am): Likewise.
67346         * modules/fcntl-safer (Makefile.am): Likewise.
67347         * modules/file-type (Makefile.am): Likewise.
67348         * modules/fileblocks (Makefile.am): Likewise.
67349         * modules/filemode (Makefile.am): Likewise.
67350         * modules/filenamecat (Makefile.am): Likewise.
67351         * modules/fnmatch (Makefile.am): Likewise.
67352         * modules/fopen-safer (Makefile.am): Likewise.
67353         * modules/fpending (Makefile.am): Likewise.
67354         * modules/fprintftime (Makefile.am): Likewise.
67355         * modules/free (Makefile.am): Likewise.
67356         * modules/fsusage (Makefile.am): Likewise.
67357         * modules/ftruncate (Makefile.am): Likewise.
67358         * modules/fts (Makefile.am): Likewise.
67359         * modules/gc (Makefile.am): Likewise.
67360         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
67361         * modules/getaddrinfo (Makefile.am): Likewise.
67362         * modules/getcwd (Makefile.am): Likewise.
67363         * modules/getdelim (Makefile.am): Likewise.
67364         * modules/getdomainname (Makefile.am): Likewise.
67365         * modules/getgroups (Makefile.am): Likewise.
67366         * modules/gethostname (Makefile.am): Likewise.
67367         * modules/gethrxtime (Makefile.am): Likewise.
67368         * modules/getline (Makefile.am): Likewise.
67369         * modules/getloadavg (Makefile.am): Likewise.
67370         * modules/getlogin_r (Makefile.am): Likewise.
67371         * modules/getopt (Makefile.am): Likewise.
67372         * modules/getpass (Makefile.am): Likewise.
67373         * modules/getpass-gnu (Makefile.am): Likewise.
67374         * modules/getsubopt (Makefile.am): Likewise.
67375         * modules/gettime (Makefile.am): Likewise.
67376         * modules/gettimeofday (Makefile.am): Likewise.
67377         * modules/getugroups (Makefile.am): Likewise.
67378         * modules/getusershell (Makefile.am): Likewise.
67379         * modules/glob (Makefile.am): Likewise.
67380         * modules/group-member (Makefile.am): Likewise.
67381         * modules/hard-locale (Makefile.am): Likewise.
67382         * modules/hash (Makefile.am): Likewise.
67383         * modules/hmac-md5 (Makefile.am): Likewise.
67384         * modules/hmac-sha1 (Makefile.am): Likewise.
67385         * modules/human (Makefile.am): Likewise.
67386         * modules/idcache (Makefile.am): Likewise.
67387         * modules/imaxabs (Makefile.am): Likewise.
67388         * modules/imaxdiv (Makefile.am): Likewise.
67389         * modules/inet_ntop (Makefile.am): Likewise.
67390         * modules/inet_pton (Makefile.am): Likewise.
67391         * modules/inttostr (Makefile.am): Likewise.
67392         * modules/isapipe (Makefile.am): Likewise.
67393         * modules/lchown (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 (Makefile.am): Likewise.
67415         * modules/mkdir-p (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/openat (Makefile.am): Likewise.
67423         * modules/pagealign_alloc (Makefile.am): Likewise.
67424         * modules/physmem (Makefile.am): Likewise.
67425         * modules/poll (Makefile.am): Likewise.
67426         * modules/posixtm (Makefile.am): Likewise.
67427         * modules/posixver (Makefile.am): Likewise.
67428         * modules/putenv (Makefile.am): Likewise.
67429         * modules/quote (Makefile.am): Likewise.
67430         * modules/quotearg (Makefile.am): Likewise.
67431         * modules/raise (Makefile.am): Likewise.
67432         * modules/read-file (Makefile.am): Likewise.
67433         * modules/readline (Makefile.am): Likewise.
67434         * modules/readlink (Makefile.am): Likewise.
67435         * modules/readtokens (Makefile.am): Likewise.
67436         * modules/readutmp (Makefile.am): Likewise.
67437         * modules/realloc (Makefile.am): Likewise.
67438         * modules/regex (Makefile.am): Likewise.
67439         * modules/rename (Makefile.am): Likewise.
67440         * modules/rename-dest-slash (Makefile.am): Likewise.
67441         * modules/rijndael (Makefile.am): Likewise.
67442         * modules/rmdir (Makefile.am): Likewise.
67443         * modules/rpmatch (Makefile.am): Likewise.
67444         * modules/safe-read (Makefile.am): Likewise.
67445         * modules/safe-write (Makefile.am): Likewise.
67446         * modules/same (Makefile.am): Likewise.
67447         * modules/save-cwd (Makefile.am): Likewise.
67448         * modules/savedir (Makefile.am): Likewise.
67449         * modules/setenv (Makefile.am): Likewise.
67450         * modules/settime (Makefile.am): Likewise.
67451         * modules/sha1 (Makefile.am): Likewise.
67452         * modules/sig2str (Makefile.am): Likewise.
67453         * modules/snprintf (Makefile.am): Likewise.
67454         * modules/stdlib-safer (Makefile.am): Likewise.
67455         * modules/stpcpy (Makefile.am): Likewise.
67456         * modules/stpncpy (Makefile.am): Likewise.
67457         * modules/strcase (Makefile.am): Likewise.
67458         * modules/strcasestr (Makefile.am): Likewise.
67459         * modules/strchrnul (Makefile.am): Likewise.
67460         * modules/strcspn (Makefile.am): Likewise.
67461         * modules/strdup (Makefile.am): Likewise.
67462         * modules/strerror (Makefile.am): Likewise.
67463         * modules/strftime (Makefile.am): Likewise.
67464         * modules/strndup (Makefile.am): Likewise.
67465         * modules/strnlen (Makefile.am): Likewise.
67466         * modules/strpbrk (Makefile.am): Likewise.
67467         * modules/strsep (Makefile.am): Likewise.
67468         * modules/strstr (Makefile.am): Likewise.
67469         * modules/strtod (Makefile.am): Likewise.
67470         * modules/strtoimax (Makefile.am): Likewise.
67471         * modules/strtok_r (Makefile.am): Likewise.
67472         * modules/strtol (Makefile.am): Likewise.
67473         * modules/strtoll (Makefile.am): Likewise.
67474         * modules/strtoul (Makefile.am): Likewise.
67475         * modules/strtoull (Makefile.am): Likewise.
67476         * modules/strtoumax (Makefile.am): Likewise.
67477         * modules/strverscmp (Makefile.am): Likewise.
67478         * modules/time_r (Makefile.am): Likewise.
67479         * modules/timegm (Makefile.am): Likewise.
67480         * modules/tmpfile-safer (Makefile.am): Likewise.
67481         * modules/unistd-safer (Makefile.am): Likewise.
67482         * modules/unlinkdir (Makefile.am): Likewise.
67483         * modules/userspec (Makefile.am): Likewise.
67484         * modules/utime (Makefile.am): Likewise.
67485         * modules/utimecmp (Makefile.am): Likewise.
67486         * modules/utimens (Makefile.am): Likewise.
67487         * modules/vasnprintf (Makefile.am): Likewise.
67488         * modules/vasprintf (Makefile.am): Likewise.
67489         * modules/vsnprintf (Makefile.am): Likewise.
67490         * modules/xalloc (Makefile.am): Likewise.
67491         * modules/xgetcwd (Makefile.am): Likewise.
67492         * modules/xnanosleep (Makefile.am): Likewise.
67493         * modules/xreadlink (Makefile.am): Likewise.
67494         * modules/xstrtod (Makefile.am): Likewise.
67495         * modules/xstrtol (Makefile.am): Likewise.
67496         * modules/xstrtold (Makefile.am): Likewise.
67497         * modules/yesno (Makefile.am): Likewise.
67498
67499 2006-10-12  Jim Meyering  <jim@meyering.net>
67500
67501         * m4/getloadavg.m4: Revert the change below.
67502
67503         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
67504         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
67505         fail with a symlink, which is what coreutils' ./bootstrap now
67506         creates by default.
67507
67508 2006-10-12  Bruno Haible  <bruno@clisp.org>
67509
67510         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
67511         mingw.
67512         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
67513         MSVC and mingw explicitly.
67514
67515 2006-10-11  Simon Josefsson  <jas@extundo.com>
67516             Bruno Haible  <bruno@clisp.org>
67517
67518         Add support for multiple gnulib-tool invocations in the scope of a
67519         single configure.ac file.
67520         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
67521         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
67522         with the same contents as the _LIBADD variable.
67523         (func_emit_initmacro_start, func_emit_initmacro_end,
67524         func_emit_initmacro_done): New functions.
67525         (func_import, func_create_testdir): Invoke them. Allow the identifiers
67526         gl_LIBOBJS and gl_LTLIBOBJS.
67527
67528 2006-10-11  Bruno Haible  <bruno@clisp.org>
67529
67530         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
67531         (func_create_testdir): Don't create po/Makefile.am, don't invoke
67532         autoreconf. Instead, invoke autopoint explicitly but move back the
67533         *.m4 files from gnulib.
67534
67535 2006-10-11  Bruno Haible  <bruno@clisp.org>
67536
67537         * gnulib-tool (func_usage): Make module names after --create-testdir
67538         optional.
67539         (func_create_testdir): If no module was specified, use nearly all
67540         modules.
67541
67542 2006-10-12  Jim Meyering  <jim@meyering.net>
67543
67544         Big performance improvement for fts-based tools that use FTS_NOSTAT.
67545         Avoid spurious inode-mismatch problems on non-POSIX file systems.
67546         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
67547         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
67548         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
67549         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
67550         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
67551         (fts_set_stat_required): New function.
67552         (fts_open): Defer the calls to fts_stat, if possible or requested.
67553         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
67554         into fts_stat itself.
67555         (fts_read): Perform any required (deferred) fts_stat call.
67556         (fts_build): Likewise, for the directory we're about to open and read.
67557         In the readdir loop, carefully decide whether each entry will require
67558         an eventual call to fts_stat, using dirent.d_type info if available.
67559         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
67560         a command line argument into this function.  Update all callers.
67561         Map a return value of FTS_DOT to FTS_D for a command line argument.
67562         * modules/fts (Depends-on): Add d-type.  Alphabetize.
67563         Thanks to Miklos Szeredi for his tenacity and for the initial
67564         bug report about "find" failing on a FUSE-based file system.
67565
67566         * lib/fts.c (fts_open): Use consistent indentation.
67567
67568 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
67569
67570         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
67571         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
67572         reported by Jim Meyering.  All uses of cache variables renamed
67573         to match Autoconf's.
67574         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
67575         the other one.
67576
67577         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
67578         Fix misspelling in diagnostic.
67579
67580 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
67581
67582         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
67583         defined.  Problem reported by Matthew Woehlke.
67584
67585         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
67586         Add support for Tandem NonStop R series.
67587         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
67588         Use new macro.
67589
67590         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
67591         (has_trailing_slash): Omit size arg; all callers changed.
67592         Omit 'inline', since it doesn't help performance and we'd
67593         need to configure it.
67594         Don't count //, ///, etc. as having a trailing slash.
67595         As a side effect, this removes a C99ism reported by Matthew Woehlke.
67596         (rpl_rename_dest_slash): On failure, use rename's errno rather
67597         than (in some cases) an incorrect or junk errno.
67598         Simplify code by removing need to compute length; this does
67599         cause it to make two passes instead of one over the file name,
67600         but it's worth it.
67601
67602         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
67603         change, since Autoconf's version may no longer be appropriate now
67604         that we are using CVS Autoconf's version.  Add support for Tandem.
67605
67606 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
67607             Bruno Haible  <bruno@clisp.org>
67608
67609         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
67610         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
67611         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
67612         gl_AC_TYPE_LONG_LONG.
67613
67614         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
67615         instead of HAVE_LONG_LONG.
67616         * lib/printf-args.c (printf_fetchargs): Likewise.
67617         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
67618         * lib/vasnprintf.c (VASNPRINTF): Likewise.
67619         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
67620         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
67621         gl_AC_TYPE_LONG_LONG.
67622
67623 2006-10-11  Bruno Haible  <bruno@clisp.org>
67624
67625         * m4/longlong.m4: Add comments.
67626         * m4/ulonglong.m4: Likewise.
67627
67628 2006-10-10  Bruno Haible  <bruno@clisp.org>
67629
67630         Make it possible to #define stpcpy, strdup to aliases.
67631         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
67632         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
67633
67634 2006-10-10  Bruno Haible  <bruno@clisp.org>
67635
67636         Make it possible to #define gcd to an alias.
67637         * lib/gcd.c: Include config.h.
67638
67639 2006-10-10  Bruno Haible  <bruno@clisp.org>
67640
67641         Make it possible to #define c_isascii to an alias.
67642         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
67643         defined. Undefine the macros before defining them, to avoid gcc
67644         warnings.
67645         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
67646         define NO_C_CTYPE_MACROS early.
67647
67648 2006-10-10  Bruno Haible  <bruno@clisp.org>
67649
67650         Make it possible to #define set_program_name to an alias.
67651         * lib/progname.c: Don't undefine set_program_name; instead, undefine
67652         ENABLE_RELOCATABLE early.
67653
67654 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67655
67656         Port to Tandem NSK OSS, which has 64-bit signed int but at most
67657         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
67658         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
67659         More generally, don't assume that 64-bit signed int is available
67660         if unsigned int is, and vice versa.
67661         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
67662         unsigned symbols, not on their signed counterparts.
67663         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
67664         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
67665         (UINT64_C, UINTMAX_C):
67666         Likewise.
67667         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
67668         unsigned counterparts.
67669         (Have_long_long, Unsigned): New macros.
67670         (Int): Renamed from INT.
67671         (strtoimax): Use the new macros.
67672         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
67673         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
67674         * modules/inttypes (inttypes.h): Substitute
67675         HAVE_UNSIGNED_LONG_LONG_INT.
67676         * modules/stdint (stdint.h): Likewise.
67677         (Files): Add m4/ulonglong.m4.
67678
67679 2006-10-10  Bruno Haible  <bruno@clisp.org>
67680
67681         Fix a gcc -Wshadow warning.
67682         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
67683         to 'bucket'.
67684         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
67685         gl_linked_indexof_from_to): Likewise.
67686         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
67687         Likewise.
67688         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
67689         Likewise.
67690         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
67691         Reported by Eric Blake.
67692
67693 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
67694
67695         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
67696         for NetBSD.  Problem reported by Bruno Haible.
67697
67698 2006-10-09  Jim Meyering  <jim@meyering.net>
67699
67700         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
67701         Patch from Bruno Haible.
67702
67703 2006-10-09  Jim Meyering  <jim@meyering.net>
67704
67705         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
67706         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
67707         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
67708
67709 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67710
67711         Don't include <config.h> twice; this doesn't work in some cases,
67712         e.g., when config.h has "#define intmax_t long long int" and
67713         we include <config.h>, <inttypes.h>, <config.h> in that order.
67714         Problem reported by Matthew Woehlke in:
67715         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
67716         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
67717         * lib/fts-cycle.c: Don't include config.h.
67718         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
67719         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
67720         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
67721         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
67722         inttypes.h.
67723         * lib/xstrtoumax.c: Likewise.
67724         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
67725         __strtol and the like, so that this module is more like its siblings.
67726         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
67727         Remove; no longer needed now that we assume gnulib inttypes.h.
67728
67729 2006-10-08  Bruno Haible  <bruno@clisp.org>
67730
67731         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
67732         option.
67733
67734 2006-10-07  Jim Meyering  <jim@meyering.net>
67735
67736         * modules/inttypes (inttypes.h): Revert what seems to have been
67737         an inadvertent part of today's change: use "|", not "/" in the
67738         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
67739
67740 2006-10-07  Bruno Haible  <bruno@clisp.org>
67741
67742         * modules/sublist: New file.
67743
67744 2006-10-07  Bruno Haible  <bruno@clisp.org>
67745
67746         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
67747         * modules/argz (argz.h): Likewise.
67748         * modules/arpa_inet (arpa/inet.h): Likewise.
67749         * modules/byteswap (byteswap.h): Likewise.
67750         * modules/configmake (configmake.h): Likewise.
67751         * modules/fcntl (fcntl.h): Likewise.
67752         * modules/fnmatch (fnmatch.h): Likewise.
67753         * modules/getopt (getopt.h): Likewise.
67754         * modules/glob (glob.h): Likewise.
67755         * modules/inttypes (inttypes.h): Likewise.
67756         * modules/netinet_in (netinet/in.h): Likewise.
67757         * modules/poll (poll.h): Likewise.
67758         * modules/stdbool (stdbool.h): Likewise.
67759         * modules/stdint (stdint.h): Likewise.
67760         * modules/sys_select (sys/select.h): Likewise.
67761         * modules/sys_socket (sys/socket.h): Likewise.
67762         * modules/sys_stat (sys/stat.h): Likewise.
67763         * modules/sysexits (sysexits.h): Likewise.
67764         * modules/unistd (unistd.h): Likewise.
67765         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67766         Add a "DO NOT EDIT" comment to the generated file.
67767         (func_import): Likewise for gnulib-comp.m4.
67768
67769 2006-10-07  Bruno Haible  <bruno@clisp.org>
67770
67771         * lib/gl_sublist.h: New file.
67772         * lib/gl_sublist.c: New file.
67773
67774 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67775
67776         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
67777         name (relative to the original working directory) and the file
67778         name component (relative to the temporary working directory).  All
67779         callers changed.
67780         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
67781         * lib/mkdir-p.c (make_dir_parents): Likewise.
67782         * lib/mkdir-p.h (make_dir_parents): Likewise.
67783
67784 2006-10-06  Eric Blake  <ebb9@byu.net>
67785
67786         Define several macros for use by the clean-temp module.
67787         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
67788         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
67789         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
67790
67791         * lib/clean-temp.h (close_stream_temp): New declaration.
67792         * lib/clean-temp.c (includes): Pull in headers according to what
67793         other modules are in use.
67794         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
67795
67796 2006-10-06  Bruno Haible  <bruno@clisp.org>
67797
67798         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
67799         instead of fopen, fwriteerror.
67800
67801 2006-10-06  Bruno Haible  <bruno@clisp.org>
67802
67803         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
67804         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
67805         int.
67806         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
67807         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
67808         Return an error indicator.
67809         Suggested by Eric Blake.
67810
67811 2006-10-06  Bruno Haible  <bruno@clisp.org>
67812
67813         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
67814         Reported by Eric Blake.
67815
67816 2006-10-06  Bruno Haible  <bruno@clisp.org>
67817
67818         * modules/closeout (Description): Mention stderr too.
67819
67820 2006-10-06  Bruno Haible  <bruno@clisp.org>
67821         and Paul Eggert  <eggert@cs.ucla.edu>
67822
67823         * lib/closeout.c (close_stdout): Also close stderr.
67824         * lib/closeout.h: Update comment.
67825
67826 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67827
67828         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
67829         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
67830         * lib/dirchownmod.c: Include lchown.h.
67831         * lib/lchown.c: Don't include files that lchown.h now includes.
67832         Don't declare chown, since lchown.h now does that.
67833         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
67834         (lchown): Define to rpl_chown if lchown is declared but
67835         does not exist.  Declare using a prototype if lchown is not
67836         declared.  Add a copyright notice.
67837         * lib/mkstemp.h: Include <unistd.h>.
67838         * lib/openat.c: Include lchown.h.
67839
67840         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67841         we now test for that separately.
67842         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67843         rather than O_NOFOLLOW, when testing whether it's possible to
67844         avoid a race condition reliably.
67845         * lib/savewd.c (savewd_chdir): Likewise.
67846
67847         Remove macros that are no longer needed now that stdint.h is
67848         reliable.
67849         * lib/fsusage.c (UINTMAX_MAX): Remove.
67850         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67851         * lib/utimecmp.c (SIZE_MAX): Remove.
67852
67853         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67854
67855         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67856         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67857         O_NOATIME works.
67858
67859 2006-10-05  Bruno Haible  <bruno@clisp.org>
67860
67861         * lib/gl_list.h (gl_sortedlist_search_from_to,
67862         gl_sortedlist_indexof_from_to): New declarations.
67863         (gl_list_implementation): New fields sortedlist_search_from_to,
67864         sortedlist_indexof_from_to.
67865         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67866         inline functions.
67867         * lib/gl_list.c (gl_sortedlist_search_from_to,
67868         gl_sortedlist_indexof_from_to): New functions.
67869         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67870         function.
67871         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67872         (gl_array_sortedlist_search_from_to): New function.
67873         (gl_array_list_implementation): Update.
67874         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67875         function.
67876         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67877         (gl_carray_sortedlist_search_from_to): New function.
67878         (gl_carray_list_implementation): Update.
67879         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67880         gl_linked_sortedlist_indexof_from_to): New functions.
67881         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67882         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67883         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67884         gl_tree_sortedlist_indexof_from_to): New functions.
67885         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67886         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67887         Update.
67888         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67889         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67890         Update.
67891
67892 2006-10-05  Bruno Haible  <bruno@clisp.org>
67893
67894         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67895         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67896         (struct gl_list_implementation): Add fields search_from_to,
67897         indexof_from_to. Remove fields search, indexof.
67898         (gl_list_search): Use the search_from_to method.
67899         (gl_list_search_from, gl_list_search_from_to): New functions.
67900         (gl_list_indexof): Use the indexof_from_to method.
67901         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67902         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67903         (gl_list_search_from, gl_list_search_from_to): New functions.
67904         (gl_list_indexof): Use the indexof_from_to method.
67905         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67906         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67907         gl_array_indexof. Add start_index, end_index arguments.
67908         (gl_array_search_from_to): Renamed from gl_array_search. Add
67909         start_index, end_index arguments.
67910         (gl_array_remove, gl_array_list_implementation): Update.
67911         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67912         gl_carray_indexof. Add start_index, end_index arguments.
67913         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67914         start_index, end_index arguments.
67915         (gl_carray_remove, gl_carray_list_implementation): Update.
67916         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67917         gl_linked_search. Add start_index, end_index arguments.
67918         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67919         start_index, end_index arguments.
67920         (gl_linked_remove): Update.
67921         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67922         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67923         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67924         field to 'size_t'.
67925         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67926         gl_tree_search. Add start_index, end_index arguments.
67927         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67928         start_index, end_index arguments.
67929         (gl_tree_remove): Update.
67930         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67931         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67932         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67933         function.
67934         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67935         gl_tree_search. Add start_index, end_index arguments.
67936         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67937         start_index, end_index arguments.
67938         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67939         Update.
67940         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67941
67942 2006-10-05  Bruno Haible  <bruno@clisp.org>
67943
67944         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67945
67946         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67947         fwriteerror_temp): New declarations.
67948         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67949         (descriptors): New variable.
67950         (cleanup): First, close the descriptors.
67951         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67952         fclose_temp, fwriteerror_temp): New functions.
67953
67954 2006-10-04  Jim Meyering  <jim@meyering.net>
67955
67956         * lib/fts.c (fts_open): Tiny comment change.
67957
67958 2006-10-04  Bruno Haible  <bruno@clisp.org>
67959
67960         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67961         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67962         gl_LOCK_BODY.
67963         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67964         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67965         gl_LOCK_EARLY_BODY.
67966         (gl_LOCK): Require gl_LOCK_BODY.
67967
67968 2006-10-04  Bruno Haible  <bruno@clisp.org>
67969
67970         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67971         (gl_oset_search_atleast): New declaration.
67972         (struct gl_oset_implementation): Add field 'search_atleast'.
67973         (gl_oset_search_atleast): New inline function.
67974         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67975         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67976         (gl_array_oset_implementation): Update.
67977         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67978         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67979         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67980
67981 2006-10-04  Bruno Haible  <bruno@clisp.org>
67982
67983         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67984
67985 2006-10-03  Bruno Haible  <bruno@clisp.org>
67986
67987         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67988         from gl_avltreehash_list_implementation.
67989
67990 2006-10-03  Bruno Haible  <bruno@clisp.org>
67991
67992         * lib/gl_oset.c (gl_oset_add): Fix return type.
67993
67994 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67995
67996         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67997
67998 2006-10-02  Eric Blake  <ebb9@byu.net>
67999
68000         * modules/strnlen (Depends-on): Add extensions.
68001
68002 2006-10-02  Eric Blake  <ebb9@byu.net>
68003
68004         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
68005         definition in 2.60+.
68006
68007 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
68008
68009         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
68010         checks.
68011
68012 2006-10-02  Bruno Haible  <bruno@clisp.org>
68013
68014         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
68015         to the AUTOMAKE_OPTIONS.
68016         Reported by Jim Meyering.
68017
68018 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
68019
68020         Work around bug in Solaris 10 /proc file system:
68021         /proc/self/fd/NNN/.. isn't the parent directory of
68022         the directory whose file descriptor is NNN.  This needs to
68023         be worked around at run time, not compile time, since a
68024         program might be built on Solaris 8, where things work, and
68025         run on Solaris 10.
68026         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
68027         to use the following interface instead:
68028         (OPENAT_BUFFER_SIZE): New macro.
68029         (openat_proc_name): New function.
68030         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
68031         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
68032         Likewise.
68033         * lib/openat-proc.c: New file.
68034         * modules/openat (Files): Add lib/openat-proc.c.
68035         (Depends-on): Add same-inode, stdbool.
68036         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
68037
68038 2006-09-29  Bruno Haible  <bruno@clisp.org>
68039
68040         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
68041         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
68042         argument. Set stdout_closed before testing for ferror, not after.
68043         (fwriteerror, fwriteerror_no_ebadf): New functions.
68044
68045 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68046
68047         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
68048
68049 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
68050
68051         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
68052         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
68053
68054 2006-09-28  Jim Meyering  <jim@meyering.net>
68055
68056         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
68057         Include <unistd.h>.
68058
68059 2006-09-28  Bruno Haible  <bruno@clisp.org>
68060
68061         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
68062         * modules/linkedhash-list (Depends-on): Likewise.
68063         * modules/rbtreehash-list (Depends-on): Likewise.
68064
68065 2006-09-28  Bruno Haible  <bruno@clisp.org>
68066
68067         * lib/strndup.h: Simplify the redefinition of strndup.
68068         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
68069         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
68070
68071 2006-09-28  Bruno Haible  <bruno@clisp.org>
68072
68073         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
68074         * lib/gl_linkedhash_list.c: Likewise.
68075         * lib/gl_rbtreehash_list.c: Likewise.
68076
68077 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
68078
68079         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
68080         getaddrinfo.
68081
68082         * lib/__fpending.h: Don't include <stdio_ext.h> unless
68083         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
68084         it causes <stdio_ext.h> to cause a compile-time error.
68085         Problem reported by Nelson H. F. Beebe.
68086         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
68087         of HAVE_DECL___PENDING.
68088
68089         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
68090         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
68091         declaration.
68092
68093 2006-09-27  Jim Meyering  <jim@meyering.net>
68094
68095         This file could end up with a definition for a function
68096         named __strndup, rather than rpl_strndup on a system with
68097         incomplete weak_alias support.
68098         * lib/strndup.c (strndup): Rename from __strndup.
68099         Remove #defines that used to map __strndup to strndup.
68100         Don't use K&R prototypes.
68101         Remove LIBC-related code, since this file is not sync'd with glibc.
68102         * lib/strndup.h: Revamp, accordingly.
68103         * m4/strndup.m4: Modernize.
68104
68105 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
68106
68107         * modules/savewd (Depends-on): Add 'raise'.
68108         * lib/savewd.c: Include <signal.h>, for 'raise'.
68109
68110 2006-09-26  Jim Meyering  <jim@meyering.net>
68111
68112         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
68113         when we detect Darwin 8.7.0's acl_get_file bug.
68114         Rearrange to perform the new (below) run-test while $LIBS
68115         contains any acl-related library.  Set USE_ACL at the end.
68116         (gl_ACL_GET_FILE): New function.
68117
68118 2006-09-26  Eric Blake  <ebb9@byu.net>
68119
68120         * lib/verror.c: Include <config.h> unconditionally.
68121
68122 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
68123
68124         * modules/clock-time (Maintainer): Add self.
68125         * modules/getlogin_r (Depends-on): Add extensions.
68126
68127 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68128
68129         * modules/clock-time: New module.
68130         * modules/nanosleep (Depends-on): Add clock-time.
68131         * modules/gethrxtime (Depends-on): Likewise.
68132         * modules/gettime (Depends-on): Likewise.
68133         * modules/settime (Depends-on): Likewise.
68134
68135         * modules/fts-lgpl: Depend on openat.
68136         * modules/mkancesdirs: Depend on savewd.
68137         * modules/mkdir-p: Likewise.
68138
68139 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68140
68141         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
68142
68143         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
68144         `gl_have_arbitrary_file_name_length_limit' to
68145         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
68146         actually works between configure runs.
68147
68148 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68149             Bruno Haible  <bruno@clisp.org>
68150
68151         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
68152
68153 2006-09-25  Jim Meyering  <jim@meyering.net>
68154
68155         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
68156         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
68157
68158 2006-09-25  Eric Blake  <ebb9@byu.net>
68159
68160         * gnulib-tool (func_import, func_create_testdir): Fix typos in
68161         exec's in 2006-09-18 patch when shuffling fds.
68162
68163 2006-09-25  Bruno Haible  <bruno@clisp.org>
68164
68165         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
68166         Reported by Jim Meyering.
68167
68168 2006-09-24  Jim Meyering  <jim@meyering.net>
68169
68170         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
68171         compare a pointer against a literal "0".  That caused failures with
68172         at least HP-UX's hpcc.
68173
68174 2006-09-22  Simon Josefsson  <jas@extundo.com>
68175
68176         * modules/gc-sha1:
68177         * modules/gc-md4:
68178         * modules/gc-hmac-sha1:
68179         * modules/gc-hmac-md5:
68180         * modules/gc-des:
68181         * modules/gc-arcfour: Distribute more files.
68182
68183 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68184
68185         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
68186         (gl_linked_iterator_from_to): Initialize struct completely.
68187         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
68188         (gl_tree_iterator_from_to): Likewise
68189         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
68190         * lib/gl_array_list.c [lint] (gl_array_iterator)
68191         (gl_array_iterator_from_to): Likewise.
68192         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
68193         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
68194         (gl_carray_iterator_from_to): Likewise.
68195
68196         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
68197         * lib/md4.c (md4_process_block): Remove unused variable.
68198         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
68199         parentheses for clarity.
68200
68201 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68202
68203         * modules/bison-i18n (Depends-on): Add gettext.
68204
68205 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68206
68207         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
68208         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
68209         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
68210         also add missing comma that caused broken test.
68211         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
68212         stdlib.h, for `abort'.
68213         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
68214         variables.
68215         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
68216         include unistd.h if present, for `rmdir'.
68217         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
68218         variables.
68219         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
68220         in the process include standard headers for prototypes.
68221         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
68222         gets declared on GNU/Linux.
68223         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
68224         unistd.h, for `rmdir'.
68225         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
68226
68227         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
68228         always true.
68229         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
68230
68231         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
68232
68233 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68234
68235         * gnulib-tool (func_version): Create output all at once.  This
68236         may help avoid triggering unnecessary SIGPIPEs, and at any
68237         rate it doesn't hurt.
68238
68239 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68240             Bruno Haible  <bruno@clisp.org>
68241
68242         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
68243         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
68244         * m4/signed.m4 (bh_C_SIGNED): Likewise.
68245
68246         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
68247         (gl_FUNC_VASPRINTF): Invoke it.
68248
68249 2006-09-22  Bruno Haible  <bruno@clisp.org>
68250
68251         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
68252         getloadavg.c as first argument.
68253
68254 2006-09-22  Bruno Haible  <bruno@clisp.org>
68255
68256         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
68257         at the beginning of the gl_INIT macro.
68258         * modules/getloadavg (configure.ac): Pass $gl_source_base to
68259         gl_GETLOADAVG.
68260
68261 2006-09-22  Bruno Haible  <bruno@clisp.org>
68262
68263         * gnulib-tool (func_create_megatestdir): Don't include the config-h
68264         module.
68265         Suggested by Ralf Wildenhues.
68266
68267 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68268
68269         Import this patch from libc:
68270
68271         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
68272
68273         * lib/regex_internal.c (re_string_reconstruct): Handle
68274         offset < pstr->valid_raw_len && pstr->offsets_needed case.
68275         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
68276         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
68277         re_string_context_at.
68278
68279         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
68280         now requires it.
68281         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
68282         gl_REGEX now does it for us.
68283         (gl_REGEX): Add test taken from
68284         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
68285
68286         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
68287         Check that large offsets work.  Modernize Autoconf usages.
68288         Prefer "yes" to mean a good thing rather than a bad.
68289         Don't put "#define mkstemp" in config.h, as this might interfere
68290         with standard system headers that "#define mkstemp mkstemp64".
68291
68292         * modules/mkstemp (Depends-on): Add extensions, so that
68293         mkstemp is visible on some platforms.
68294         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
68295         (Include): Change to "mkstemp.h" from <stdlib.h>.
68296         (Files): Add mkstemp.h.
68297
68298         * lib/mkstemp.h: New file, since some standard headers
68299         #define mkstemp.
68300         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
68301         Include "mkstemp.h".
68302         Make the _LIBC code resemble glibc original more,
68303         e.g., use K&R style.
68304         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
68305         (mkstemp): Remove, since mkstemp.h does this for us.
68306         * lib/stdlib--.h: Include mkstemp.h.
68307
68308         Import this patch from libc:
68309
68310         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
68311
68312         * lib/tempname.c (__gen_tempname): Change attempts_min
68313         into a macro.  Use preprocessor to decide how to initialize
68314         attempts [Coverity CID 67].
68315
68316 2006-09-20  Bruno Haible  <bruno@clisp.org>
68317
68318         * lib/mkdtemp.c: Import from libc.
68319         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
68320                 * sysdeps/posix/tempname.c (__gen_tempname): Change
68321                 attempts_min into a macro.  Use preprocessor to decide how to
68322                 initialize attempts [Coverity CID 67].
68323         2001-11-27  Paul Eggert  <eggert@twinsun.com>
68324                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
68325                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
68326
68327 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68328
68329         * gnulib-tool (func_exit): New function, to allow to pass the
68330         exit status portably through the trap.  Use everywhere.
68331         (--help, --version): Signal a write error.
68332         (trap): catch SIGPIPE, for write errors.
68333         Exit at the end of the trap, with the correct exit status.
68334
68335 2006-09-19  Karl Berry  <karl@gnu.org>
68336
68337         * doc/gnulib.texi: note about the license texinfo files.
68338
68339 2006-09-19  Eric Blake  <ebb9@byu.net>
68340
68341         * gnulib-tool: Avoid space-tab.
68342
68343 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
68344
68345         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
68346         that prevented coreutils 6.1 from building.  Problem reported
68347         by Petter Reinholdtsen.
68348
68349 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
68350
68351         * gnulib-tool (avoidlist): Fix typo that broke options like
68352         --avoid=lock that are used by coreutils bootstrap.
68353
68354 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
68355
68356         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
68357         more systematically.
68358
68359 2006-09-18  Jim Meyering  <jim@meyering.net>
68360
68361         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
68362
68363 2006-09-18  Bruno Haible  <bruno@clisp.org>
68364
68365         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
68366
68367 2006-09-18  Bruno Haible  <bruno@clisp.org>
68368
68369         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
68370         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
68371         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
68372         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
68373         * m4/gettext.m4: Require autoconf >= 2.52.
68374         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
68375         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
68376         of gl_cv_header_inttypes_h.
68377
68378 2006-09-18  Bruno Haible  <bruno@clisp.org>
68379
68380         * lib/javaversion.c: Include configmake.h.
68381
68382 2006-09-18  Bruno Haible  <bruno@clisp.org>
68383
68384         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
68385         avoid that the while loops be executed in a subshell.
68386
68387 2006-09-18  Bruno Haible  <bruno@clisp.org>
68388
68389         * MODULES.html.sh (func_module): Break long lines.
68390         Suggested by Bruce Korb <bkorb@gnu.org>.
68391
68392 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68393
68394         Speed up by a factor of 1.12.
68395         * gnulib-tool (nl): New variable.
68396         (func_import): Rewrite include directive extraction to only read each
68397         directive once.
68398
68399 2006-09-17  Bruno Haible  <bruno@clisp.org>
68400
68401         * modules/javaversion (Makefile.am): Remove DEFS setting.
68402         (Depends-on): Add configmake, for PKGDATADIR definition.
68403
68404 2006-09-17  Bruno Haible  <bruno@clisp.org>
68405
68406         * gnulib-tool (func_create_testdir): Rewrite all files at once.
68407
68408 2006-09-17  Bruno Haible  <bruno@clisp.org>
68409
68410         * gnulib-tool (func_append): New function, stolen from libtool.m4.
68411         (func_modules_transitive_closure, func_modules_add_dummy,
68412         func_modules_to_filelist, func_import, func_create_testdir,
68413         func_create_megatestdir, ...): Use it wherever possible.
68414         Suggested by Ralf Wildenhues.
68415
68416 2006-09-16  Karl Berry  <karl@gnu.org>
68417
68418         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
68419         to avoid sectioning errors.
68420         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
68421         [ifinfo]: blank line after @center-ed titles.
68422         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
68423         Spell FSF address consistently with others.
68424         (These changes approved by rms.)
68425
68426 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68427
68428         Speed up by a factor of 1.61.
68429         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
68430         already checked module names again.
68431
68432 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68433
68434         Speed up by a factor of 1.13.
68435         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
68436         for new_files, and the input to func_add_or_update.
68437
68438 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68439
68440         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
68441         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
68442
68443 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68444
68445         * modules/mkancesdirs (Depends-on): Add fcntl.
68446         * modules/savewd: New file.
68447         * MODULES.html.sh (File system functions): Add savewd.
68448
68449         * modules/configmake (Makefile.am): Add support for the
68450         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
68451
68452 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68453
68454         * m4/savewd.m4: New file.
68455
68456 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68457
68458         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
68459         (dirchownmod): New arg FD.  All callers changed.
68460         Use FD rather than opening the directory ourself, as opening is
68461         now the caller's responsibility.
68462         * lib/dirchownmod.h: Likewise.
68463         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
68464         hosts that require <sys/types.h> before <sys/stat.h>.  Include
68465         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
68466         (test_dir): Remove.
68467         (mkancesdirs): Return length of prefix of FILE that has already
68468         been made, or -2 if there is a child doing the work.  Redo
68469         algorithm so that it is O(N) rather than O(N**2).  Optimize away
68470         ".", and treat ".." specially since it might stray back into
68471         already-created areas.  Use a subprocess if necessary.  New arg
68472         WD; all users changed.  MAKE_DIR function should now return 1
68473         if it creates a directory that is not readable.  Return -2 if
68474         a child process is spun off.
68475         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
68476         Adjust signature to match code.
68477         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
68478         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
68479         all users changed.
68480         * lib/savewd.c, lib/savewd.h: New files.
68481
68482 2006-09-15  Jim Meyering  <jim@meyering.net>
68483
68484         * modules/rename-dest-slash: New module.
68485         * MODULES.html.sh (posix_compat): Add it here.
68486
68487         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
68488
68489 2006-09-15  Jim Meyering  <jim@meyering.net>
68490
68491         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
68492         file.
68493
68494         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
68495
68496 2006-09-15  Jim Meyering  <jim@meyering.net>
68497
68498         * lib/rename-dest-slash.c (has_trailing_slash): Use
68499         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
68500         (rpl_rename_dest_slash): Perform the cheaper trailing slash
68501         test before testing whether SRC is a directory.
68502         Suggestions from Bruno Haible.
68503
68504         Avoid a warning about an unused variable.
68505         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
68506         into the #ifdef block where it's used.
68507
68508         * lib/rename-dest-slash.c: New file.
68509
68510 2006-09-14  Bruno Haible  <bruno@clisp.org>
68511
68512         * lib/allocsa.c: Include <config.h> unconditionally.
68513         * lib/asnprintf.c: Likewise.
68514         * lib/asprintf.c: Likewise.
68515         * lib/c-strcasecmp.c: Likewise.
68516         * lib/c-strcasestr.c: Likewise.
68517         * lib/c-strncasecmp.c: Likewise.
68518         * lib/c-strstr.c: Likewise.
68519         * lib/classpath.c: Likewise.
68520         * lib/clean-temp.c: Likewise.
68521         * lib/concatpath.c: Likewise.
68522         * lib/copy-file.c: Likewise.
68523         * lib/csharpcomp.c: Likewise.
68524         * lib/csharpexec.c: Likewise.
68525         * lib/execute.c: Likewise.
68526         * lib/fatal-signal.c: Likewise.
68527         * lib/findprog.c: Likewise.
68528         * lib/fwriteerror.c: Likewise.
68529         * lib/gl_array_list.c: Likewise.
68530         * lib/gl_array_oset.c: Likewise.
68531         * lib/gl_avltree_list.c: Likewise.
68532         * lib/gl_avltree_oset.c: Likewise.
68533         * lib/gl_avltreehash_list.c: Likewise.
68534         * lib/gl_carray_list.c: Likewise.
68535         * lib/gl_linked_list.c: Likewise.
68536         * lib/gl_linkedhash_list.c: Likewise.
68537         * lib/gl_list.c: Likewise.
68538         * lib/gl_oset.c: Likewise.
68539         * lib/gl_rbtree_list.c: Likewise.
68540         * lib/gl_rbtree_oset.c: Likewise.
68541         * lib/gl_rbtreehash_list.c: Likewise.
68542         * lib/imaxabs.c: Likewise.
68543         * lib/imaxdiv.c: Likewise.
68544         * lib/javacomp.c: Likewise.
68545         * lib/javaexec.c: Likewise.
68546         * lib/javaversion.c: Likewise.
68547         * lib/linebreak.c: Likewise.
68548         * lib/localcharset.c: Likewise.
68549         * lib/lock.c: Likewise.
68550         * lib/mbchar.c: Likewise.
68551         * lib/mbswidth.c: Likewise.
68552         * lib/mkdtemp.c: Likewise.
68553         * lib/pipe.c: Likewise.
68554         * lib/printf-args.c: Likewise.
68555         * lib/printf-parse.c: Likewise.
68556         * lib/progname.c: Likewise.
68557         * lib/progreloc.c: Likewise.
68558         * lib/readlink.c: Likewise.
68559         * lib/sh-quote.c: Likewise.
68560         * lib/stpcpy.c: Likewise.
68561         * lib/stpncpy.c: Likewise.
68562         * lib/strcasecmp.c: Likewise.
68563         * lib/strcasestr.c: Likewise.
68564         * lib/strcspn.c: Likewise.
68565         * lib/striconv.c: Likewise.
68566         * lib/strncasecmp.c: Likewise.
68567         * lib/strnlen1.c: Likewise.
68568         * lib/strstr.c: Likewise.
68569         * lib/strtok_r.c: Likewise.
68570         * lib/tls.c: Likewise.
68571         * lib/tmpdir.c: Likewise.
68572         * lib/unicodeio.c: Likewise.
68573         * lib/unsetenv.c: Likewise.
68574         * lib/vasnprintf.c: Likewise.
68575         * lib/vasprintf.c: Likewise.
68576         * lib/wait-process.c: Likewise.
68577         * lib/xallocsa.c: Likewise.
68578         * lib/xsetenv.c: Likewise.
68579         * lib/xstriconv.c: Likewise.
68580
68581 2006-09-13  Simon Josefsson  <jas@extundo.com>
68582
68583         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
68584         that internally, suggested by Ralf Wildenhues
68585         <Ralf.Wildenhues@gmx.de>.
68586
68587 2006-09-13  Simon Josefsson  <jas@extundo.com>
68588
68589         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
68590         @LIBOBJS@.
68591         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68592
68593 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68594
68595         * lib/_fpending.c: Include <config.h> unconditionally, since we no
68596         longer worry about uses that don't define HAVE_CONFIG_H.
68597         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
68598         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
68599         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
68600         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
68601         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
68602         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
68603         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
68604         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
68605         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
68606         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
68607         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
68608         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
68609         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
68610         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
68611         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
68612         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
68613         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
68614         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
68615         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
68616         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
68617         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
68618         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
68619         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
68620         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
68621         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
68622         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
68623         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
68624         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
68625         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
68626         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
68627         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
68628         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
68629         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
68630         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
68631         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
68632         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
68633         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
68634         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
68635         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
68636         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
68637         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
68638         Likewise.
68639
68640 2006-09-13  Eric Blake  <ebb9@byu.net>
68641
68642         * lib/getopt.c: Fix typo in last commit.
68643
68644 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
68645
68646         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
68647         dgettext.
68648
68649 2006-09-12  Jim Meyering  <jim@meyering.net>
68650
68651         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
68652         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
68653         Reported by Nelson H. F. Beebe.
68654
68655 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68656
68657         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
68658         program_invocation_name and program_invocation_short_name are
68659         initialized.
68660         * lib/argp-namefrob.h: Move declarations of program_invocation_name
68661         and program_invocation_short_name to argp.h, so they are visible
68662         to user programs.
68663         * lib/argp.h: Likewise
68664
68665 2006-09-10  Bruno Haible  <bruno@clisp.org>
68666
68667         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68668         m4/inttypes_h.m4, m4/uintmax_t.m4.
68669
68670 2006-09-10  Bruno Haible  <bruno@clisp.org>
68671
68672         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
68673         gl_AC_TYPE_UINTMAX_T.
68674
68675 2006-09-10  Bruno Haible  <bruno@clisp.org>
68676
68677         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
68678
68679 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68680
68681         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
68682         convention.  Text proposed by Bruno Haible.
68683         (struct argp_option): Document the use of N_() wrappers.
68684
68685         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
68686         '\v', and translate the two parts separately, instead of feeding
68687         the whole string to gettext.  This allows to exclude
68688         '\v' from the strings visible to the translator by writing doc
68689         strings as N_("..") "\v" N_("..").
68690
68691 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
68692
68693         * config/srclist.txt: Undo latest change; the bug was fixed.
68694
68695 2006-09-09  Bruno Haible  <bruno@clisp.org>
68696
68697         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
68698         assignments if building a library without libtool.
68699         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
68700         in func_emit_lib_Makefile_am.
68701         (func_import): When building a static library libfoo.a, arrange to
68702         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
68703         (func_create_testdir): Likewise.
68704         * modules/gc (configure.ac, Makefile.am): If building statically,
68705         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
68706         * modules/iconvme (configure.ac, Makefile.am): Likewise.
68707         * modules/striconv (configure.ac, Makefile.am): Likewise.
68708         Based on a suggestion by Ralf Wildenhues.
68709
68710 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68711
68712         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68713         Check for unistd.h too, since Autoconf doesn't assume POSIX.
68714         Also:
68715
68716         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68717         Add year_2050_test to catch glibc bug 2821
68718         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68719
68720         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68721         Prefer #ifdef to #if.
68722
68723         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
68724         Return from 'main' instead of calling 'exit'.
68725
68726 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68727
68728         * lib/mktime.c (guess_time_tm): Fix bug where mktime
68729         returned the maximum time_t value rather than (time_t) -1.
68730         Problem originally reported by William Bardwell
68731         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68732
68733         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68734         Moved to here ...
68735         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68736         ... from here.
68737
68738 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68739
68740         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
68741         2821 is fixed.
68742
68743 2006-09-08  Jim Meyering  <jim@meyering.net>
68744
68745         Don't make generated files read-only.  That would bother too many
68746         people.  However, do retain the ability to work when targets are
68747         read-only: remove the destination and temporary files before writing
68748         them (when generated via sed or echo), or by using the -f option for
68749         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
68750         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68751         * modules/byteswap, modules/configmake, modules/fcntl:
68752         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68753         * modules/localcharset, modules/netinet_in, modules/poll:
68754         * modules/stdbool, modules/stdint, modules/sys_select:
68755         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68756
68757 2006-09-08  Jim Meyering  <jim@meyering.net>
68758
68759         Avoid new build failure on FreeBSD 6.0.
68760         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
68761         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
68762         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
68763
68764 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68765
68766         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
68767
68768 2006-09-07  Jim Meyering  <jim@meyering.net>
68769
68770         Fix global typo in last change: use chmod u-w, not chmod u-x.
68771         Spotted by Paul Eggert and Bruce Korb.
68772         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68773         * modules/byteswap, modules/configmake, modules/fcntl:
68774         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68775         * modules/localcharset, modules/netinet_in, modules/poll:
68776         * modules/stdbool, modules/stdint, modules/sys_select:
68777         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68778
68779 2006-09-06  Jim Meyering  <jim@meyering.net>
68780
68781         Make generated files be read-only.
68782         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
68783         Ensure that each generated file is now read-only.
68784         * modules/argz: Likewise.
68785         * modules/arpa_inet: Likewise.
68786         * modules/byteswap: Likewise.
68787         * modules/configmake: Likewise.
68788         * modules/fcntl: Likewise.
68789         * modules/fnmatch: Likewise.
68790         * modules/getopt: Likewise.
68791         * modules/glob: Likewise.
68792         * modules/inttypes: Likewise.
68793         * modules/netinet_in: Likewise.
68794         * modules/poll: Likewise.
68795         * modules/stdbool: Likewise.
68796         * modules/stdint: Likewise.
68797         * modules/sys_select: Likewise.
68798         * modules/sys_socket: Likewise.
68799         * modules/sys_stat: Likewise.
68800         * modules/sysexits: Likewise.
68801         * modules/localcharset: Same as above, but continue using temporary
68802         file named "t-$@" (why different?) rather than the "$@-t" used
68803         everywhere else.
68804
68805         * modules/sysexits (Makefile.am): Replace literal occurrences
68806         of "sysexit.h" more readable, and more consistent, "$@".
68807
68808 2006-09-06  Bruno Haible  <bruno@clisp.org>
68809
68810         * modules/striconv: New file.
68811         * modules/xstriconv: New file.
68812         * MODULES.html.sh (Internationalization functions): Add striconv,
68813         xstriconv.
68814
68815 2006-09-06  Bruno Haible  <bruno@clisp.org>
68816
68817         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
68818         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
68819         not using libtool correctly.
68820
68821 2006-09-06  Bruno Haible  <bruno@clisp.org>
68822
68823         * lib/striconv.h: New file.
68824         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
68825         iconvstring.c.
68826         * lib/xstriconv.h: New file.
68827         * lib/xstriconv.c: New file.
68828
68829 2006-09-06  Bruno Haible  <bruno@clisp.org>
68830
68831         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68832         lib_..._LDFLAGS.
68833
68834 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68835
68836         * lib/argz_.h: Sync from Libtool.
68837
68838         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68839                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68840
68841         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68842
68843 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68844
68845         * modules/trim: New file.
68846
68847 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68848
68849         * lib/trim.h: New file.
68850         * lib/trim.c: New file.
68851
68852 2006-09-05  Bruno Haible  <bruno@clisp.org>
68853
68854         * MODULES.html.sh (String handling): Add trim.
68855
68856 2006-09-04  Karl Berry  <karl@gnu.org>
68857
68858         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68859         until next release.
68860
68861 2006-09-03  Bruno Haible  <bruno@clisp.org>
68862
68863         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68864         correctly.
68865
68866 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68867
68868         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68869         not gl_GETLOADAVG.  Omit unneeded semicolons.
68870         Problems reported by Ralf Wildenhues in
68871         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68872         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68873         at the end, which is the usual gnulib style.
68874
68875         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68876         of doing all the work ourselves.
68877         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68878         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68879
68880 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68881
68882         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68883         Problem reported by Ralf Wildenhues in
68884         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68885
68886         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68887         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68888
68889 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68890
68891         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68892         yesterday's patch by changing test -n to test -z.
68893
68894 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68895
68896         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68897         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68898         the former is now obsolescent.
68899
68900         * modules/chdir-long (Depends-on): Add fcntl.
68901
68902 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68903
68904         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68905         obsolescent, and programs should use gnulib instead.
68906         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68907         but with prefixes changed.
68908
68909 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68910
68911         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68912         or stdbool.h, because they might not exist while configuring.
68913
68914         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68915         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68916         does that for us.
68917         (O_DIRECTORY): Remove.
68918
68919 2006-08-31  Eric Blake  <ebb9@byu.net>
68920
68921         * gnulib-tool: Don't let emacs change spaces to TAB.
68922
68923 2006-08-31  Bruno Haible  <bruno@clisp.org>
68924
68925         * gnulib-tool: When calling func_import more than once, do it in a
68926         subshell.
68927         Reported by Eric Blake <ebb9@byu.net>.
68928
68929 2006-08-31  Bruno Haible  <bruno@clisp.org>
68930
68931         * gnulib-tool (nl): Remove variable.
68932         (sed_transform_lib_file): Use more robust test for config-h module.
68933         (func_import): Fix typo in 2006-08-25 patch.
68934
68935 2006-08-31  Bruno Haible  <bruno@clisp.org>
68936
68937         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68938         specified, augment Makefile.am variables instead of assigning them.
68939
68940 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68941
68942         Work around a bug in both the Linux and SunOS 64-bit kernels:
68943         nanosleep mishandles sleeps for longer than 2**31 seconds.
68944         Problem reported by Frank v Waveren in
68945         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68946         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68947         Check for nanosleep bug.
68948         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68949
68950 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68951
68952         Work around a bug in both the Linux and SunOS 64-bit kernels:
68953         nanosleep mishandles sleeps for longer than 2**31 seconds.
68954         Problem reported by Frank v Waveren in
68955         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68956         * lib/nanosleep.c (BILLION): New constant.
68957         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68958         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68959         implementation.
68960
68961 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68962
68963         * modules/nanosleep (Depends-on): Add gettime.
68964
68965 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68966         and Simon Josefsson  <jas@extundo.com>
68967         and Oskar Liljeblad  <oskar@osk.mine.nu>
68968
68969         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68970         * gnulib-tool (func_import): New license type 'unmodifiable license
68971         text'.
68972         * modules/fdl: Use it.  Longer description.
68973         * module/gpl, module/lgpl: New files.
68974
68975 2006-08-30  Jim Meyering  <jim@meyering.net>
68976
68977         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68978         shadowing the parameter.
68979
68980 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68981
68982         Sync from Libtool:
68983
68984         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68985
68986         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68987         sharing with gnulib.  Report by Eric Blake.
68988
68989 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68990
68991         * modules/isapipe: New file.
68992         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68993
68994 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68995
68996         * modules/configmake (Makefile.am): Add a comment, and omit
68997         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68998         by Bruno Haible.
68999
69000 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69001
69002         * m4/isapipe.m4: New file.
69003
69004 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69005
69006         * lib/isapipe.c, lib/isapipe.h: New files.
69007
69008 2006-08-29  Jim Meyering  <jim@meyering.net>
69009
69010         * modules/configmake (Makefile.am): Make configmake.h depend on
69011         Makefile.  Otherwise, a stale configmake.h could hang around.
69012
69013 2006-08-29  Eric Blake  <ebb9@byu.net>
69014
69015         * lib/error.c (error_at_line, print_errno_message): Match libc, after
69016         resolution of upstream bug 3044.
69017
69018 2006-08-29  Bruno Haible  <bruno@clisp.org>
69019
69020         * modules/localcharset (Depends-on): Add configmake.
69021         (Makefile.am): Remove setting of LIBDIR through DEFS.
69022
69023 2006-08-29  Bruno Haible  <bruno@clisp.org>
69024
69025         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
69026         defined.
69027
69028 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
69029
69030         * modules/fcntl: New file.
69031         * modules/chdir-safer (Depends-on): Add fcntl.
69032         * modules/fts: Likewise.
69033         * modules/mkdir-p: Likewise.
69034
69035         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
69036         This undoes the most recent change, since we're now addressing the
69037         problem in a different way.
69038
69039         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
69040         into output, since the output might be called Makefile.am even
69041         if $makefile_name is something different.
69042         (func_import): Use $makefile_am rather than
69043         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
69044         empty.
69045
69046         * modules/inttypes (Files): Add m4/inttypes-h.m4.
69047
69048 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
69049
69050         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
69051         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
69052         recent change to stdint.m4, since we're now addressing the problem in a
69053         different way.
69054
69055 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
69056
69057         * m4/fcntl_h.m4: New file.
69058
69059 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
69060
69061         * lib/fcntl_.h: New file.
69062         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
69063         the fcntl module.
69064         * lib/dirchownmod.c: Likewise.
69065         * lib/fts.c: Likewise.
69066
69067         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
69068         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
69069         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
69070         just before including <inttypes.h>, to avoid circular inclusion.
69071
69072 2006-08-28  Jim Meyering  <jim@meyering.net>
69073
69074         * doc/visibility.texi: Actually read and correct the grammar of the
69075         sentence affected by yesterday's change.
69076
69077 2006-08-28  Eric Blake  <ebb9@byu.net>
69078
69079         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
69080         needs wrapper.
69081
69082 2006-08-28  Eric Blake  <ebb9@byu.net>
69083
69084         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
69085
69086 2006-08-28  Eric Blake  <ebb9@byu.net>
69087
69088         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
69089
69090 2006-08-28  Bruno Haible  <bruno@clisp.org>
69091
69092         * modules/c-strstr: New file, from GNU gettext.
69093         * MODULES.html.sh (String handling): Add c-strstr.
69094
69095 2006-08-28  Bruno Haible  <bruno@clisp.org>
69096
69097         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
69098         macros.
69099         Reported by Eric Blake.
69100
69101 2006-08-28  Bruno Haible  <bruno@clisp.org>
69102
69103         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
69104         (VASNPRINTF): Return a string of length > INT_MAX without failing.
69105         * lib/vasprintf.c: Include errno.h, limits.h.
69106         (EOVERFLOW): New fallback definition.
69107         (vasprintf): Test here whether the string length is > INT_MAX.
69108         * lib/vsnprintf.c: Include errno.h, limits.h.
69109         (EOVERFLOW): New fallback definition.
69110         (vsnprintf): Fix bug when generated string was too long for the buffer.
69111         Test here whether the string length is > INT_MAX.
69112
69113 2006-08-28  Bruno Haible  <bruno@clisp.org>
69114
69115         * lib/inttypes_.h (SCNX*): Remove definitions.
69116         Reported by Eric Blake.
69117
69118 2006-08-28  Bruno Haible  <bruno@clisp.org>
69119
69120         * lib/c-strstr.h: New file, from GNU gettext.
69121         * lib/c-strstr.c: New file, from GNU gettext.
69122
69123 2006-08-28  Bruno Haible  <bruno@clisp.org>
69124
69125         * gnulib-tool: Reorder some statements.
69126
69127 2006-08-28  Bruno Haible  <bruno@clisp.org>
69128
69129         * gnulib-tool: New option --makefile-name.
69130         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
69131         $makefile_name.
69132         (func_import): Write $makefile_name to the cache file, and read it from
69133         there unless explicitly specified. Use $makefile_name as file name
69134         instead of Makefile.am. Adjust the recommendations accordingly.
69135
69136 2006-08-28  Bruno Haible  <bruno@clisp.org>
69137
69138         * gnulib-tool (func_verify_module): Check against misapplying patch.
69139
69140 2006-08-28  Bruno Haible  <bruno@clisp.org>
69141
69142         * gnulib-tool (func_relativize, func_relconcat): New functions.
69143         Give an error if --local-dir is given with --update.
69144         Remove trailing slashes from $local_gnulib_dir.
69145         (func_import): Store the relativized $local_gnulib_dir in
69146         gnulib-cache.m4, and read it from there if not specified explicitly.
69147
69148 2006-08-28  Bruno Haible  <bruno@clisp.org>
69149
69150         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
69151         is the current directory. Respect also $local_gnulib_dir.
69152
69153 2006-08-28  Bruno Haible  <bruno@clisp.org>
69154             Simon Josefsson  <jas@extundo.com>
69155
69156         BeOS portability.
69157         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
69158
69159 2006-08-27  Jim Meyering  <jim@meyering.net>
69160
69161         * doc/visibility.texi: Remove duplicate word: "pointer".
69162
69163 2006-08-26  Bruno Haible  <bruno@clisp.org>
69164
69165         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
69166         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
69167         (Makefile.am): Create inttypes.h from inttypes_.h.
69168         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
69169
69170         * modules/imaxabs: New file.
69171
69172         * modules/imaxdiv: New file.
69173
69174 2006-08-26  Bruno Haible  <bruno@clisp.org>
69175
69176         * m4/inttypes.m4: New file.
69177         * m4/_inttypes_h.m4: Remove file.
69178         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
69179         PRI_MACROS_BROKEN.
69180         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
69181
69182         * m4/imaxabs.m4: New file.
69183
69184         * m4/imaxdiv.m4: New file.
69185
69186 2006-08-26  Bruno Haible  <bruno@clisp.org>
69187
69188         * lib/inttypes_.h: New file.
69189         * lib/inttypes.h: Remove file.
69190         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
69191
69192         * lib/imaxabs.c: New file.
69193
69194         * lib/imaxdiv.c: New file.
69195
69196 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69197
69198         New config-h module, so that "make" output needn't be cluttered
69199         by -DHAVE_CONFIG_H.
69200         * MODULES.html.sh (Support for building libraries and executables):
69201         Add config-h.
69202         * modules/config-h: New file.
69203         * gnulib-tool (nl, sed_transform_lib_file): New vars.
69204         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
69205         the config-h module is used.
69206
69207         New configmake module, so that "make" output needn't be cluttered
69208         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
69209         * MODULES.html.sh (Support for building libraries and executables):
69210         Add configmake.
69211         * modules/configmake: New file.
69212
69213 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69214
69215         * m4/config-h.m4: New file.
69216
69217 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69218
69219         * config/srclist.txt: Add elisp-comp.
69220
69221 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69222
69223         * MODULES.html.sh (Support for building libraries and executables):
69224         Add elisp-comp.
69225         * build-aux/elisp-comp: New file.
69226         * modules/elisp-comp: New file.
69227
69228 2006-08-24  Bruno Haible  <bruno@clisp.org>
69229
69230         * gnulib-tool (func_create_testdir): Use non-default values of
69231         sourcebase and m4base.
69232
69233 2006-08-24  Bruno Haible  <bruno@clisp.org>
69234
69235         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
69236         HTML structure.
69237
69238 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
69239
69240         * modules/openat (Depends-on): Add lchown.
69241
69242 2006-08-23  Bruno Haible  <bruno@clisp.org>
69243
69244         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
69245         of gl_LOCK_EARLY instead of gl_LOCK.
69246
69247 2006-08-23  Bruno Haible  <bruno@clisp.org>
69248
69249         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
69250         on OSF/1 to no.
69251         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
69252
69253 2006-08-23  Bruno Haible  <bruno@clisp.org>
69254
69255         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
69256         as unusable.
69257
69258         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
69259         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
69260         (gl_LOCK): New macro.
69261
69262 2006-08-22  Simon Josefsson  <jas@extundo.com>
69263
69264         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
69265         to md5 module.
69266
69267 2006-08-22  Simon Josefsson  <jas@extundo.com>
69268
69269         * MODULES.html.sh: Add "Support for maintaining and release
69270         projects".
69271
69272         * build-aux/gnupload: New file, from coreutils.
69273
69274 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
69275
69276         Avoid the need for AC_LIBSOURCES in m4 macros.
69277         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
69278         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
69279         * modules/check-version (EXTRA_DIST): Add check-version.h.
69280         * modules/crc (EXTRA_DIST): Add crc.h.
69281         * modules/des (EXTRA_DIST): Add des.h.
69282         * modules/gc (EXTRA_DIST): Add gc.h.
69283         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
69284         * modules/getline (EXTRA_DIST): Add getline.h.
69285         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
69286         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
69287         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
69288         * modules/md2 (EXTRA_DIST): Add md2.h.
69289         * modules/md4 (EXTRA_DIST): Add md4.h.
69290         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
69291         * modules/read-file (EXTRA_DIST): Add read-file.h.
69292         * modules/readline (EXTRA_DIST): Add readline.h.
69293         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
69294         rijndael-api-fst.h.
69295
69296 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
69297
69298         * m4/rijndael.m4 (gl_ARCFOUR):
69299         * m4/arctwo.m4 (gl_ARCTWO):
69300         * m4/check-version.m4 (gl_CHECK_VERSION):
69301         * m4/crc.m4 (gl_CRC):
69302         * m4/des.m4 (gl_DES):
69303         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
69304         * m4/gc.m4 (gl_GC):
69305         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
69306         * m4/getline.m4 (gl_FUNC_GETLINE):
69307         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
69308         * m4/hmac-md5.m4 (gl_HMAC_MD5):
69309         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
69310         * m4/md2.m4 (gl_MD2):
69311         * m4/md4.m4 (gl_MD4):
69312         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
69313         * m4/read-file.m4 (gl_FUNC_READ_FILE):
69314         * m4/readline.m4 (gl_FUNC_READLINE):
69315         * m4/rijndael.m4 (gl_RIJNDAEL):
69316         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
69317         to get the necessary .h files and whatnot.
69318
69319 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
69320
69321         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
69322         gnulib rather than the other way around.
69323         * config/srclistvars.sh (COREUTILS): Remove.
69324
69325 2006-08-22  Jim Meyering  <jim@meyering.net>
69326
69327         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
69328
69329         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
69330
69331 2006-08-22  Eric Blake  <ebb9@byu.net>
69332
69333         * modules/regexprops-generic: New file.
69334         * MODULES.html.sh (Support for building documentation): List it.
69335
69336 2006-08-22  Eric Blake  <ebb9@byu.net>
69337
69338         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
69339         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
69340         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
69341         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
69342
69343 2006-08-22  Bruno Haible  <bruno@clisp.org>
69344
69345         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
69346         and lib_LTLIBRARIES like the other lib_* variables.
69347
69348 2006-08-22  Bruno Haible  <bruno@clisp.org>
69349
69350         * build-aux/x-to-1.in: New file, from GNU gettext.
69351
69352 2006-08-22  Bruno Haible  <bruno@clisp.org>
69353
69354         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
69355         <utmpx.h> exists.
69356
69357 2006-08-22  Bruno Haible  <bruno@clisp.org>
69358
69359         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
69360         <utmpx.h> exists.
69361
69362 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69363
69364         BeOS portability.
69365         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
69366         exist.
69367         Problem reported by Bruno Haible.
69368
69369 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69370
69371         Avoid the need for AC_LIBSOURCES in m4 macros.
69372         * modules/acl (EXTRA_DIST): Add acl.h.
69373         * modules/argmatch (Files): Add m4/argmatch.m4.
69374         (configure.ac): Add gl_ARGMATCH.
69375         (EXTRA_DIST): Renamed from lib_SOURCES, for
69376         consistency with the other modules.  Remove argmatch.c.
69377         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
69378         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
69379         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
69380         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
69381         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
69382         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
69383         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
69384         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
69385         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
69386         * modules/closeout (EXTRA_DIST): Add closeout.h.
69387         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
69388         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
69389         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
69390         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
69391         dirname.h; remove basename.c and stripslash.c.
69392         * modules/exclude (EXTRA_DIST): Add exclude.h.
69393         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
69394         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
69395         * modules/file-type (EXTRA_DIST): Add file-type.h.
69396         * modules/filemode (EXTRA_DIST): Add filemode.h.
69397         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
69398         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
69399         * modules/fpending (EXTRA_DIST): Add __fpending.h.
69400         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
69401         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
69402         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
69403         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
69404         * modules/getdate (EXTRA_DIST): Add getdate.c.
69405         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
69406         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
69407         * modules/getpass (EXTRA_DIST): Add getpass.h.
69408         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
69409         * modules/group-member (EXTRA_DIST): Add group-member.h.
69410         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
69411         * modules/hash (EXTRA_DIST): Add hash.h.
69412         * modules/human (EXTRA_DIST): Add human.h.
69413         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
69414         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
69415         * modules/lchown (EXTRA_DIST): Add lchown.h.
69416         * modules/long-options (EXTRA_DIST): Add long-options.h.
69417         * modules/lstat (EXTRA_DIST): Add lstat.h.
69418         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
69419         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
69420         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
69421         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
69422         * modules/memxor (EXTRA_DIST): Add memxor.h.
69423         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
69424         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
69425         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
69426         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
69427         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
69428         * modules/physmem (EXTRA_DIST): Add physmem.h.
69429         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
69430         * modules/posixver (EXTRA_DIST): Add posixver.h.
69431         * modules/quote (EXTRA_DIST): Add quote.h.
69432         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
69433         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
69434         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
69435         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
69436         regex_internal.h regexec.c.
69437         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
69438         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
69439         * modules/same (EXTRA_DIST): Add same.h.
69440         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
69441         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
69442         * modules/savedir (EXTRA_DIST): Add savedir.h.
69443         * modules/sha1 (EXTRA_DIST): Add sha1.h.
69444         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
69445         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
69446         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
69447         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
69448         * modules/strdup (EXTRA_DIST): Add strdup.h.
69449         * modules/strftime (EXTRA_DIST): Add strftime.h.
69450         * modules/strndup (EXTRA_DIST): Add strndup.h.
69451         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
69452         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
69453         * modules/time_r (EXTRA_DIST): Add time_r.h.
69454         * modules/timespec (EXTRA_DIST): Add timespec.h.
69455         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
69456         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
69457         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
69458         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
69459         * modules/userspec (EXTRA_DIST): Add userspec.h.
69460         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
69461         * modules/utimens (EXTRA_DIST): Add utimens.h.
69462         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
69463         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
69464         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
69465         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
69466         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
69467         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
69468         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
69469         * modules/yesno (EXTRA_DIST): Add yesno.h.
69470
69471 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69472
69473         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
69474
69475         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
69476         * m4/dev-ino.m4, same-inode.m4: Remove.
69477
69478         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
69479         * m4/acl.m4 (AC_FUNC_ACL):
69480         * m4/backupfile.m4 (gl_BACKUPFILE):
69481         * m4/c-strtod.m4 (gl_C99_STRTOLD):
69482         * m4/canon-host.m4 (gl_CANON_HOST):
69483         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69484         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
69485         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
69486         * m4/cloexec.m4 (gl_CLOEXEC):
69487         * m4/close-stream.m4 (gl_CLOSE_STREAM):
69488         * m4/closeout.m4 (gl_CLOSEOUT):
69489         * m4/dirfd.m4 (gl_FUNC_DIRFD):
69490         * m4/dirname.m4 (gl_DIRNAME):
69491         * m4/exclude.m4 (gl_EXCLUDE):
69492         * m4/exitfail.m4 (gl_EXITFAIL):
69493         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
69494         * m4/file-type.m4 (gl_FILE_TYPE):
69495         * m4/filemode.m4 (gl_FILEMODE):
69496         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
69497         * m4/fpending.m4 (gl_FUNC_FPENDING):
69498         * m4/fprintftime.m4 (gl_FPRINTFTIME):
69499         * m4/fts.m4 (gl_FUNC_FTS):
69500         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
69501         * m4/getdate.m4 (gl_GETDATE):
69502         * m4/gethrxtime.m4 (gl_GETHRXTIME):
69503         * m4/getpagesize.m4 (gl_GETPAGESIZE):
69504         * m4/getpass.m4 (gl_FUNC_GETPASS):
69505         * m4/gettime.m4 (gl_GETTIME):
69506         * m4/getugroups.m4 (gl_GETUGROUPS):
69507         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
69508         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
69509         * m4/hard-locale.m4 (gl_HARD_LOCALE):
69510         * m4/hash.m4 (gl_HASH):
69511         * m4/idcache.m4 (gl_IDCACHE):
69512         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
69513         * m4/lchown.m4 (gl_FUNC_LCHOWN):
69514         * m4/long-options.m4 (gl_LONG_OPTIONS):
69515         * m4/lstat.m4 (gl_FUNC_LSTAT):
69516         * m4/md5.m4 (gl_MD5):
69517         * m4/memcasecmp.m4 (gl_MEMCASECMP):
69518         * m4/memcoll.m4 (gl_MEMCOLL):
69519         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
69520         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
69521         * m4/memxor.m4 (gl_MEMXOR):
69522         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
69523         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
69524         * m4/modechange.m4 (gl_MODECHANGE):
69525         * m4/mountlist.m4 (gl_MOUNTLIST):
69526         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69527         * m4/openat.m4 (gl_FUNC_OPENAT):
69528         * m4/pathmax.m4 (gl_PATHMAX):
69529         * m4/physmem.m4 (gl_PHYSMEM):
69530         * m4/posixtm.m4 (gl_POSIXTM):
69531         * m4/posixver.m4 (gl_POSIXVER):
69532         * m4/quote.m4 (gl_QUOTE):
69533         * m4/quotearg.m4 (gl_QUOTEARG):
69534         * m4/readtokens.m4 (gl_READTOKENS):
69535         * m4/readutmp.m4 (gl_READUTMP):
69536         * m4/regex.m4 (gl_REGEX):
69537         * m4/safe-read.m4 (gl_SAFE_READ):
69538         * m4/safe-write.m4 (gl_SAFE_WRITE):
69539         * m4/same.m4 (gl_SAME):
69540         * m4/save-cwd.m4 (gl_SAVE_CWD):
69541         * m4/savedir.m4 (gl_SAVEDIR):
69542         * m4/settime.m4 (gl_SETTIME):
69543         * m4/sha1.m4 (gl_SHA1):
69544         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
69545         * m4/stat-macros.m4 (gl_STAT_MACROS):
69546         * m4/stat-time.m4 (gl_STAT_TIME):
69547         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
69548         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
69549         * m4/strdup.m4 (gl_FUNC_STRDUP):
69550         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
69551         * m4/strndup.m4 (gl_FUNC_STRNDUP):
69552         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
69553         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
69554         * m4/time_r.m4 (gl_TIME_R):
69555         * m4/timespec.m4 (gl_TIMESPEC):
69556         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
69557         * m4/unlinkdir.m4 (gl_UNLINKDIR):
69558         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
69559         * m4/userspec.m4 (gl_USERSPEC):
69560         * m4/utimecmp.m4 (gl_UTIMECMP):
69561         * m4/utimens.m4 (gl_UTIMENS):
69562         * m4/xalloc.m4 (gl_XALLOC):
69563         * m4/xgetcwd.m4 (gl_XGETCWD):
69564         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
69565         * m4/xreadlink.m4 (gl_XREADLINK):
69566         * m4/xstrtod.m4 (gl_XSTRTOD):
69567         * m4/yesno.m4 (gl_YESNO):
69568         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
69569         to get the necessary .h files and whatnot.
69570
69571 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
69572             Bruno Haible  <bruno@clisp.org>
69573
69574         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
69575         /bin/sh understanding of '!' conditional negation.
69576
69577 2006-08-21  Jim Meyering  <jim@meyering.net>
69578
69579         * modules/openat (Depends-on): Really alphabetize.
69580
69581         * modules/acl (Depends-on): Add error and quote.
69582
69583         * check-module (find_included_lib_files): Add at-func.c to the
69584         ok-to-include-more-than-once white list.
69585
69586         * modules/openat (Depends-on): Add lstat.  Alphabetize.
69587
69588 2006-08-21  Bruno Haible  <bruno@clisp.org>
69589
69590         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69591         Emit a pkgdata_DATA variable only if some snippets add contents to it.
69592         Reported by Martin Lambers <marlam@marlam.de>.
69593
69594 2006-08-21  Bruno Haible  <bruno@clisp.org>
69595
69596         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
69597         specify an installation location, don't emit a noinst_LIBRARIES or
69598         noinst_LTLIBRARIES assignment.
69599
69600 2006-08-21  Bruno Haible  <bruno@clisp.org>
69601
69602         BeOS portability.
69603         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
69604         BeOS has mbrtowc() but no <wctype.h>.
69605
69606 2006-08-21  Bruno Haible  <bruno@clisp.org>
69607
69608         BeOS portability.
69609         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
69610         exist.
69611
69612 2006-08-21  Bruno Haible  <bruno@clisp.org>
69613
69614         BeOS portability.
69615         * lib/mbchar.h: Include <wctype.h> only if it exists.
69616
69617 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69618
69619         Remove files that are no longer needed by their respective modules.
69620         * m4/obstack.m4: Remove.
69621         * m4/strerror_r.m4: Remove.
69622         * m4/uint32_t.m4: Remove.
69623         * m4/uintptr_t.m4: Remove.
69624         * m4/ullong_max.m4: Remove.
69625         * m4/xstrtoimax.m4: Remove.
69626         * m4/xstrtoumax.m4: Remove.
69627
69628         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
69629         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
69630         dependencies now capture this.
69631
69632         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
69633         Do not use AC_LIBSOURCES, since gnulib modules now do this.
69634         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
69635         * m4/human.m4 (gl_HUMAN): Likewise.
69636         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
69637         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
69638
69639         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
69640
69641         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
69642         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
69643         stdint.
69644         * m4/human.m4 (gl_HUMAN): Likewise.
69645         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
69646         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
69647         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69648         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69649         * m4/xstrtol (gl_XSTRTOL): Likewise.
69650
69651         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
69652         AC_TYPE_LONG_LONG_INT.
69653         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69654         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
69655         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
69656         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69657
69658         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
69659         on stdbool.
69660
69661         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
69662         (gl_PREREQ_XSTRTOUL): Remove.
69663
69664         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
69665
69666         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
69667         mode.
69668
69669 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69670
69671         Add and change modules to make it easier for coreutils to use
69672         gnulib-tool.
69673         * modules/backupfile (Files): Remove m4/d-ino.m4.
69674         (Depends-on): Add d-ino.
69675         * modules/cycle-check (Depends-on): Add stdint.
69676         (lib_SOURCES): Add cycle-check.h.
69677         * modules/d-ino: New module.
69678         * modules/d-type: New module.
69679         * modules/error (Files): Remove m4/strerror_r.m4.
69680         * modules/filemode (Files): Add m4/st_dm_mode.m4.
69681         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
69682         m4/inttypes_h.m4, m4/uintmax_t.m4.
69683         (Depends-on): Add stdint.
69684         (lib_SOURCES): Add fsusage.h.
69685         * modules/getcwd (Files): Remove d-ino.m4.
69686         (Depends-on): Add d-ino.
69687         * modules/getndelim2 (Depends-on): Add stdint.
69688         * modules/glob (Files): Remove m4/d-type.m4.
69689         (Depends-on): Add d-type.
69690         * modules/host-os: New module.
69691         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
69692         m4/inttypes_h.m4, m4/uintmax_t.m4.
69693         * Depends-on: Add stdint.
69694         (lib_SOURCES): Add human.h.
69695         * modules/inttostr (Files): Remove m4/intmax_t.m4,
69696         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
69697         m4/uintmax_t.m4, m4/ulonglong.m4.
69698         (Depends-on): Add stdint.
69699         (EXTRA_DIST): Add inttostr.h.
69700         * modules/lchmod: New module.
69701         * modules/link-follow: New module.
69702         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
69703         (Depends-on): Add lchmod.
69704         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
69705         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
69706         (Depends-on): Add stdint.
69707         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
69708         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
69709         (Depends-on): Add stdint.
69710         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
69711         * modules/perl: New module.
69712         * modules/regex (Depends-on): Add stdint.
69713         * modules/rmdir-errno: New module.
69714         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69715         m4/intmax_t.m4.
69716         (Depends-on): Add stdint.
69717         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69718         m4/uintmax_t.m4.
69719         (Depends-on): Add stdint.
69720         * modules/unlink-busy: New module.
69721         * modules/utimecmp (Depends-on): Add stdint.
69722         * modules/uptime: New module.
69723         * modules/winsz-ioctl: New module.
69724         * modules/winsz-termios: New module.
69725         * modules/xnanosleep (Depends-on): Add nanosleep.
69726         * modules/ullong_max: Remove.
69727         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
69728         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
69729         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
69730         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
69731         (Depends-on): Add inttypes.
69732         (lib_SOURCES): Add xstrtol.h.
69733         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
69734         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
69735         * MODULES.html.sh: Move 'assert' into the assert section.
69736         Move 'dummy' into the linking section.
69737         Remove ullong_max.
69738         Add section for compatibility checks for POSIX:2001 functions,
69739         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
69740         winsz-ioctl, and winsz-termios into it.
69741         Add lchmod.
69742         Add top-level Misc section and put host-os, perl, and uptime
69743         into it.
69744
69745 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69746
69747         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
69748         now assume the stdint module.  Do not include inttypes.h.
69749         * lib/fsusage.h: Likewise.
69750         * lib/getndelim2.c: Likewise.
69751         * lib/human.h: Likewise.
69752         * lib/inttostr.h: Likewise.
69753         * lib/obstack.c: Likewise.
69754         * lib/regex_internal.h: Likewise.
69755         * lib/tempname.c: Likewise.
69756         * lib/utimecmp.c: Likewise.
69757         * lib/xstrtol.h: Likewise.
69758
69759         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
69760
69761         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
69762         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
69763         * lib/xtime.h: Likewise.
69764
69765 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69766
69767         * modules/openat (Files): Add lib/fchmodat.c.
69768         Fixes problem reported by Jay Youngman.
69769
69770 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69771
69772         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
69773         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
69774
69775 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
69776             Bruno Haible  <bruno@clisp.org>
69777
69778         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
69779         and is a script that invokes bison. Tighten the code. Add comments.
69780
69781 2006-08-18  Jim Meyering  <jim@meyering.net>
69782
69783         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
69784         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
69785         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
69786         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
69787
69788 2006-08-18  Bruno Haible  <bruno@clisp.org>
69789
69790         * modules/bison-i18n: New file.
69791         * MODULES.html.sh (Internationalization functions): Add it.
69792
69793 2006-08-18  Bruno Haible  <bruno@clisp.org>
69794
69795         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
69796         sys/statvfs.h. When getmntinfo was found, check its declaration and
69797         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
69798
69799 2006-08-18  Bruno Haible  <bruno@clisp.org>
69800
69801         * m4/bison-i18n.m4: New file, from bison.
69802
69803 2006-08-18  Bruno Haible  <bruno@clisp.org>
69804
69805         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
69806         (ME_DUMMY): Treat "kernfs" as a dummy.
69807         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
69808
69809 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69810
69811         Update from coreutils.
69812
69813         2006-08-15  Jim Meyering  <jim@meyering.net>
69814
69815         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
69816
69817         2006-01-17  Jim Meyering  <jim@meyering.net>
69818
69819         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
69820
69821         2006-01-11  Jim Meyering  <jim@meyering.net>
69822
69823         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
69824         Check for the lchmod function.
69825
69826 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69827
69828         Update from coreutils.
69829
69830         * lib/__fpending.h: Add copyright notice.
69831         * lib/fprintftime.h: Likewise.
69832         * lib/savedir.c: Use (C) in copyright notice.
69833         * lib/savedir.h: Likewise.
69834
69835         2006-08-15  Jim Meyering  <jim@meyering.net>
69836
69837         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69838         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69839         in support of the EXPECTED_ERRNO macro.
69840         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69841         definitions.  Instead, define the appropriate symbols and include
69842         "at-func.c".
69843         * lib/mkdirat.c (mkdirat): Likewise.
69844         * lib/fchmodat.c (fchmodat): Likewise.
69845         (ENOSYS): Remove definition.
69846         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69847         it.  Don't include "unistd--.h" -- it wasn't ever used.
69848
69849         2006-01-17  Jim Meyering  <jim@meyering.net>
69850
69851         Rewrite fts.c not to change the current working directory,
69852         by using openat, fstatat, fdopendir, etc..
69853
69854         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69855         (HAVE_OPENAT_SUPPORT): Define.
69856         [_LIBC] (fchdir): Don't undef or define; no longer used.
69857         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69858         Now, this `function' always succeeds, and consumes its file descriptor
69859         parameter -- so callers must not close such FDs.  Update callers.
69860         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69861         (diropen): Add parameter, SP.  Adjust all callers.
69862         Implement using diropen_fd, rather than open.
69863         (fts_open): Initialize new member, fts_cwd_fd.
69864         Remove fts_rft-setting code.
69865         (fts_close): Close fts_cwd_fd, if necessary.
69866         (__opendir2): Define in terms of opendir or opendirat,
69867         depending on whether the FST_NOCHDIR flag is set.
69868         (fts_build): Since fts_safe_changedir consumes its FD, and since
69869         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69870         and close the dup'd file descriptor upon failure.
69871         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69872         (fts_safe_changedir): Tweak semantics to reflect that this function
69873         now calls cwd_advance_fd and hence consumes its FD argument.
69874         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69875         [struct FTS] (fts_rft): Remove now-unused member.
69876         [struct FTS] (fts_cycle.state): Improve comment.
69877
69878         * lib/openat.c (openat_needs_fchdir): New function.
69879         * lib/openat.h (openat_needs_fchdir): Declare it.
69880
69881 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69882
69883         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69884         Problem and fix reported by Pádraig Brady in
69885         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69886
69887 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69888
69889         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69890
69891 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69892
69893         * lib/memcoll.c (memcoll): Optimize for the common case where the
69894         arguments are bytewise equal.
69895
69896 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69897
69898         * doc/regexprops-generic.texi: Add a copyright notice.
69899
69900 2006-08-15  Bruno Haible  <bruno@clisp.org>
69901
69902         * modules/tmpdir (License): Change to LGPL.
69903
69904 2006-08-15  Bruno Haible  <bruno@clisp.org>
69905
69906         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69907         module.
69908
69909 2006-08-14  Simon Josefsson  <jas@extundo.com>
69910
69911         * config/srclist.txt: Add gnupload.
69912
69913 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69914
69915         Change copyright notice from LGPL 2 to GPL 2, since that's the
69916         standard form used in the gnulib repository.
69917         * tests/test-lock.c: Likewise.
69918         * tests/test-stdint.c: Likewise.
69919         * tests/test-tls.c: Likewise.
69920
69921         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69922         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69923         Add copyright notice.
69924
69925         * check-module: Add copyright notice.  Output a copyright
69926         notice if "--version" is specified.
69927         * modules/COPYING: New file.
69928         * tests/test-getaddrinfo.c: Add copyright notice.
69929         * tests/test-verify.c: Likewise.
69930
69931 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69932
69933         Change copyright notice from LGPL 2 to GPL 2, since that's the
69934         standard form used in the gnulib repository.
69935         * lib/lock.c: LGPL -> GPL.
69936         * lib/lock.h: Likewise.
69937         * lib/strnlen1.c: Likewise.
69938         * lib/strnlen1.h: Likewise.
69939         * lib/tls.c: Likewise.
69940         * lib/tls.h: Likewise.
69941         * lib/tmpdir.c: Likewise.
69942
69943         * lib/TODO: Remove; this belongs only in coreutils.
69944
69945 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69946
69947         Add copyright notices to long-enough files that lack them, since
69948         otherwise the files aren't clearly free.  Use the same notice that
69949         getdate.texi already uses.
69950         * doc/alloca-opt.texi: Add copyright notice.
69951         * doc/alloca.texi: Likewise.
69952         * doc/ctime.texi: Likewise.
69953         * doc/functions.texi: Likewise.
69954         * doc/gcd.texi: Likewise.
69955         * doc/gnulib-tool.texi: Likewise.
69956         * doc/inet_ntoa.texi: Likewise.
69957         * doc/visibility.texi: Likewise.
69958
69959         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69960         * doc/quote.texi: Add copyright notice.
69961
69962         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69963         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69964         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69965         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69966         is now obsolete, and give a pointer to the Sun list.
69967         Add copyright notice.
69968
69969 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69970
69971         * config/srclistvars.sh: Add copyright notice.
69972
69973 2006-08-14  Eric Blake  <ebb9@byu.net>
69974
69975         Import the following change from libc:
69976
69977         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69978
69979         Upstream bug 2997.
69980         * lib/misc/error.c: Add space between program name and message if file
69981         name is missing.
69982
69983 2006-08-12  Karl Berry  <karl@gnu.org>
69984
69985         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69986         remove, these originate in gnulib now.
69987
69988 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69989
69990         * doc/Makefile (standards.info standards.html standards.dvi):
69991         Also depend on make-stds.texi.
69992
69993 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69994
69995         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69996         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69997
69998         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69999         in wchar_t.  Problem reported by Eric Blake.
70000
70001         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
70002         LEN is smaller than SIZE.  Suggested by Bruno Haible.
70003         Also, help the compiler to keep LEN in a register.
70004
70005 2006-08-11  Eric Blake  <ebb9@byu.net>
70006
70007         * users.txt: Sort.  Add tar.
70008
70009 2006-08-11  Bruno Haible  <bruno@clisp.org>
70010
70011         * users.txt: New file.
70012
70013 2006-08-11  Bruno Haible  <bruno@clisp.org>
70014
70015         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
70016         before <wchar.h>. Needed for OSF/1 and BSD/OS.
70017
70018 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
70019
70020         * modules/snprintf (Depends-on): Remove minmax.
70021         (Maintainer): Add self and Bruno.
70022
70023 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
70024
70025         * lib/.cppi-disable: Add snprintf.h, socket_.h.
70026         * lib/snprintf.c: Include <errno.h> and <limits.h>.
70027         (EOVERFLOW): Define if the system does not.
70028         Do not include "minmax.h"; it wasn't used.
70029         (snprintf): Don't assume size_t promotes to an unsigned type.
70030         Fix bug when generated string was too long for the buffer: the
70031         buffer's contents are supposed to be the initial prefix of the
70032         output.  Don't assume vasnprintf returns EOVERFLOW if the size
70033         exceeds INT_MAX; do the check ourselves.
70034
70035         Import the following changes from libc:
70036
70037         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
70038
70039         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
70040         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
70041         set wc to the byte which couldn't be converted.
70042         (re_string_reconstruct): Don't clear valid_raw_len before calling
70043         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
70044         tip_context using re_string_context_at.
70045
70046         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
70047
70048         * lib/posix/regex.h: g++ still cannot handled [restrict].
70049
70050         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
70051
70052         * lib/posix/regex.h: Remove special handling for VMS.
70053
70054 2006-08-10  Jim Meyering  <jim@meyering.net>
70055
70056         * modules/same-inode: New module.
70057         * modules/dev-ino: New module.
70058         * modules/cycle-check: Depend on these modules, rather than simply
70059         including their .h files.
70060         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
70061         required via m4/cycle-check.m4.
70062         * modules/same: Depend on new same-inode module, rather than
70063         including same-inode.h.
70064         * modules/chdir-safer: New file.
70065
70066         * modules/chown (Depends-on): Add stat-macros.
70067
70068 2006-08-10  Jim Meyering  <jim@meyering.net>
70069
70070         * m4/cycle-check.m4: New file.
70071         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
70072         * m4/dev-ino.m4, m4/same-inode.m4: New files.
70073
70074 2006-08-10  Eric Blake  <ebb9@byu.net>
70075
70076         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
70077         in from original proposal.
70078
70079 2006-08-10  Eric Blake  <ebb9@byu.net>
70080         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
70081
70082         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
70083         namespace.
70084
70085 2006-08-10  Bruno Haible  <bruno@clisp.org>
70086
70087         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
70088         as well.
70089
70090 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70091
70092         Sync from coreutils.
70093
70094         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
70095
70096         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
70097         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
70098
70099 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70100
70101         * modules/restrict: Remove; no longer needed now that we assume
70102         Autoconf 2.59 or later.
70103         * MODULES.html.sh: Remove 'restrict'.
70104         * modules/argp (Depends-on): Remove 'restrict'.
70105         * modules/base64 (Depends-on): Likewise.
70106         * modules/gc (Depends-on): Likewise.
70107         * modules/getaddrinfo (Depends-on): Likewise.
70108         * modules/glob (Depends-on): Likewise.
70109         * modules/inet_ntop (Depends-on): Likewise.
70110         * modules/inet_pton (Depends-on): Likewise.
70111         * modules/memxor (Depends-on): Likewise.
70112         * modules/regex (Depends-on): Likewise.
70113         * modules/strtok_r (Depends-on): Likewise.
70114         * modules/time_r (Depends-on): Likewise.
70115
70116 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70117
70118         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
70119         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
70120         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70121         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
70122         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
70123         * m4/memxor.m4 (gl_MEMXOR): Likewise.
70124         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
70125         gl_C_RESTRICT replaced by AC_C_RESTRICT.
70126
70127         Merge from coreutils.
70128         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
70129         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
70130         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
70131         * m4/time_r.m4 (gl_TIME_R): Likewise.
70132
70133 2006-08-09  Karl Berry  <karl@gnu.org>
70134
70135         * config/srclist.txt: no more gettext-tools, per Bruno.
70136
70137 2006-08-08  Eric Blake  <ebb9@byu.net>
70138
70139         * modules/verror: New module.
70140         * MODULES.html.sh: Document it.
70141
70142 2006-08-08  Eric Blake  <ebb9@byu.net>
70143
70144         * lib/verror.h, lib/verror.c: New files.
70145
70146 2006-08-08  Eric Blake  <ebb9@byu.net>
70147
70148         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
70149         verror_at_line output complies with GNU Coding Standards even when
70150         file is NULL.
70151
70152 2006-08-07  Bruno Haible  <bruno@clisp.org>
70153
70154         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
70155         versions of AIX.
70156         Reported by Ralf Wildenhues.
70157
70158 2006-08-07  Bruno Haible  <bruno@clisp.org>
70159
70160         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
70161         in an AC_DEFUN. Needed so that the autoconf snippets can use
70162         AC_REQUIRE.
70163
70164 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70165
70166         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70167         Initialize pkgdata_DATA.
70168         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
70169         overriding it.
70170
70171 2006-08-06  Eric Blake  <ebb9@byu.net>
70172
70173         * lib/error.h: Fold in some upstream changes from glibc.
70174         * lib/error.c: Likewise.
70175
70176 2006-08-04  Bruno Haible  <bruno@clisp.org>
70177
70178         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70179         Make the mostlyclean-local rule depend on mostlyclean-generic.
70180         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
70181
70182 2006-07-31  Bruno Haible  <bruno@clisp.org>
70183
70184         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
70185         <stdlib.h>, <string.h>.
70186
70187 2006-07-30  Bruno Haible  <bruno@clisp.org>
70188
70189         * modules/readlink (License): Change to LGPL.
70190
70191 2006-07-30  Bruno Haible  <bruno@clisp.org>
70192
70193         * modules/javaversion (Makefile.am): Distribute javaversion.java and
70194         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
70195         set PKGDATADIR to point to it.
70196
70197 2006-07-30  Bruno Haible  <bruno@clisp.org>
70198
70199         * modules/csharpexec (configure.ac): Comment out macro invocation.
70200         * modules/javaexec (configure.ac): Likewise.
70201         * modules/javacomp-script (configure.ac): Likewise.
70202
70203         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
70204
70205 2006-07-30  Bruno Haible  <bruno@clisp.org>
70206
70207         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
70208         linked-list.
70209
70210 2006-07-30  Bruno Haible  <bruno@clisp.org>
70211
70212         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
70213
70214 2006-07-30  Bruno Haible  <bruno@clisp.org>
70215
70216         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70217         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
70218         get removed.
70219
70220 2006-07-29  Bruno Haible  <bruno@clisp.org>
70221
70222         Make it possible for gnulib-tool to work with locally modified or
70223         augmented gnulib repositories.
70224         * gnulib-tool (func_usage): Document --local-dir option.
70225         (local_gnulib_dir): New variable.
70226         Handle --local-dir option.
70227         (func_lookup_file): New function.
70228         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
70229         (func_get_description, func_get_filelist, func_get_description,
70230         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
70231         func_get_automake_snippet, func_get_include_directive,
70232         func_get_license, func_get_maintainer): Use func_lookup_file.
70233         (func_import, func_create_testdir): Use func_lookup_file.
70234
70235 2006-07-29  Bruno Haible  <bruno@clisp.org>
70236
70237         * modules/setenv (Depends-on): Add unistd.
70238
70239 2006-07-29  Bruno Haible  <bruno@clisp.org>
70240
70241         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
70242
70243 2006-07-29  Bruno Haible  <bruno@clisp.org>
70244
70245         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
70246
70247 2006-07-29  Bruno Haible  <bruno@clisp.org>
70248
70249         * gnulib-tool (import, update): If there is no Makefile.am, look at
70250         aclocal.m4, instead of bailing out.
70251
70252 2006-07-29  Bruno Haible  <bruno@clisp.org>
70253
70254         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
70255         Categorize the options by when they are useful.
70256
70257 2006-07-29  Bruno Haible  <bruno@clisp.org>
70258
70259         * gnulib-tool (func_usage): Document option --no-libtool.
70260         Handle option --no-libtool.
70261         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
70262         for changed semantics of $libtool variable.
70263         (func_import): Likewise. If libtool is not used, show this through
70264         an option --no-libtool.
70265         (func_create_testdir): Update.
70266
70267 2006-07-29  Bruno Haible  <bruno@clisp.org>
70268
70269         * gnulib-tool (func_import): Extend error message about missing
70270         --doc-base.
70271
70272 2006-07-29  Bruno Haible  <bruno@clisp.org>
70273
70274         * gnulib-tool (func_import): Don't create the $docbase directory if
70275         there is no file to store there.
70276
70277 2006-07-29  Bruno Haible  <bruno@clisp.org>
70278
70279         * gnulib-tool (autoconf_minversion): If a --dir option is given and
70280         relevant, look for configure.ac there, not in the current directory.
70281         Also use a simple search for AC_PREREQ, not "autoconf --trace".
70282
70283 2006-07-29  Bruno Haible  <bruno@clisp.org>
70284
70285         * gnulib-tool (SORT): New variable.
70286         (func_usage): Undocument --assume-autoconf option.
70287         Remove --assume-autoconf option handling.
70288         (autoconf_minversion): Determine from the contents of configure.ac.
70289         (func_import): Remove autoconf_minversion handling.
70290         Suggested by Eric Blake.
70291
70292 2006-07-29  Bruno Haible  <bruno@clisp.org>
70293
70294         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
70295
70296 2006-07-29  Bruno Haible  <bruno@clisp.org>
70297
70298         * config/srclist.txt (*setenv.[ch]): Remove rules.
70299
70300 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70301
70302         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
70303
70304 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70305
70306         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
70307         arpa/inet.h.
70308
70309 2006-07-28  Simon Josefsson  <jas@extundo.com>
70310
70311         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
70312         * modules/inet_pton (Depends-on): Likewise.
70313
70314 2006-07-28  Simon Josefsson  <jas@extundo.com>
70315
70316         * m4/netinet_in_h.m4: New file.
70317
70318 2006-07-28  Simon Josefsson  <jas@extundo.com>
70319
70320         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
70321         #include's.
70322
70323 2006-07-28  Simon Josefsson  <jas@extundo.com>
70324
70325         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
70326         #include's.
70327
70328 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
70329
70330         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
70331         setgid on directories only if they set these bits.
70332         * lib/modechange.h: Remove obsolete comment about masks.
70333
70334 2006-07-28  Eric Blake  <ebb9@byu.net>
70335
70336         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
70337         macro expansion.
70338
70339 2006-07-28  Bruno Haible  <bruno@clisp.org>
70340
70341         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
70342
70343 2006-07-28  Bruno Haible  <bruno@clisp.org>
70344
70345         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
70346
70347 2006-07-28  Bruno Haible  <bruno@clisp.org>
70348
70349         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
70350         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
70351         Define fallbacks.
70352         Avoids link error on FreeBSD 4.x.
70353         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70354
70355         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
70356         encoding.
70357         * lib/mbswidth.c (iswcntrl): Likewise.
70358
70359 2006-07-27  Bruno Haible  <bruno@clisp.org>
70360
70361         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
70362         test.
70363
70364 2006-07-27  Bruno Haible  <bruno@clisp.org>
70365
70366         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
70367         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
70368         defined.
70369
70370 2006-07-26  Eric Blake  <ebb9@byu.net>
70371
70372         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
70373
70374 2006-07-26  Eric Blake  <ebb9@byu.net>
70375
70376         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
70377         like mingw that lack mkstemp.
70378         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
70379         avoid compilation warning on mingw.
70380
70381 2006-07-26  Bruno Haible  <bruno@clisp.org>
70382
70383         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
70384         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
70385         INT_FAST*_MIN, INTPTR_MIN.
70386
70387 2006-07-25  Bruno Haible  <bruno@clisp.org>
70388
70389         * modules/version-etc (Depends-on): Add stdarg.
70390
70391 2006-07-25  Bruno Haible  <bruno@clisp.org>
70392
70393         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
70394         complex commands.
70395
70396 2006-07-25  Bruno Haible  <bruno@clisp.org>
70397
70398         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
70399         defined in <stdarg.h> or config.h.
70400
70401 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
70402
70403         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
70404         (gl_STDIO_SAFER): Remove.
70405
70406 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
70407
70408         * MODULES.html.sh (File stream based Input/Output):
70409         Add fopen-safer, tmpfile-safer; remove stdio-safer.
70410         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
70411         * modules/fopen-safer, modules/tmpfile-safer: New files.
70412         * modules/stdio-safer: Remove.
70413
70414 2006-07-24  Bruno Haible  <bruno@clisp.org>
70415
70416         * modules/tmpdir: New file.
70417         * MODULES.html.sh (File system functions): Add it.
70418
70419 2006-07-24  Bruno Haible  <bruno@clisp.org>
70420
70421         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
70422         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
70423
70424 2006-07-24  Bruno Haible  <bruno@clisp.org>
70425
70426         * modules/clean-temp: New file.
70427
70428 2006-07-24  Bruno Haible  <bruno@clisp.org>
70429
70430         * m4/tmpdir.m4: New file, from GNU gettext.
70431
70432 2006-07-24  Bruno Haible  <bruno@clisp.org>
70433
70434         * lib/tmpdir.h: New file, from GNU gettext.
70435         * lib/tmpdir.c: New file, from GNU gettext.
70436
70437 2006-07-24  Bruno Haible  <bruno@clisp.org>
70438
70439         * lib/clean-temp.h: New file, from GNU gettext.
70440         * lib/clean-temp.c: New file, from GNU gettext.
70441
70442 2006-07-23  Eric Blake  <ebb9@byu.net>
70443
70444         * modules/stdio-safer (Files): Add tmpfile-safer.c.
70445         (Depends-on): Add binary-io.
70446
70447 2006-07-23  Eric Blake  <ebb9@byu.net>
70448
70449         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
70450
70451 2006-07-23  Eric Blake  <ebb9@byu.net>
70452
70453         * lib/tmpfile-safer.c: New file.
70454         * lib/stdio-safer.h (fopen_safer): Add prototype.
70455         * lib/stdio--.h (tmpfile): Make safer.
70456
70457 2006-07-23  Bruno Haible  <bruno@clisp.org>
70458
70459         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
70460         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
70461         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
70462         gl_linked_remove_at): Use it.
70463
70464 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70465         and Simon Josefsson <jas@extundo.com>
70466
70467         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
70468
70469         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
70470
70471 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70472
70473         * modules/close-stream: New file.
70474         * modules/closeout (Description): Make it clear that it exits
70475         with a diagnostic on error.
70476         (Depends-on): Add close-stream.  Remove fpending, stdbool.
70477         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
70478
70479 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70480
70481         * m4/close-stream.m4: New file.
70482
70483 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70484
70485         * lib/close-stream.c, lib/close-stream.h: New files.
70486
70487 2006-07-22  Bruno Haible  <bruno@clisp.org>
70488
70489         Merge from GNU gettext 0.15.
70490
70491         2006-05-01  Bruno Haible  <bruno@clisp.org>
70492
70493                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
70494
70495         2006-07-22  Bruno Haible  <bruno@clisp.org>
70496
70497                 * modules/javaversion: New file.
70498                 * MODULES.html.sh (Java): Add javaversion.
70499
70500         2006-03-12  Bruno Haible  <bruno@clisp.org>
70501
70502                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
70503
70504         2005-12-04  Bruno Haible  <bruno@clisp.org>
70505
70506                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
70507                 (untested).
70508
70509         2006-06-21  Bruno Haible  <bruno@clisp.org>
70510
70511                 Avoid warnings from recent versions of mcs.
70512                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
70513                 -o, -L, -r any more. Use options documented since mcs-1.0
70514                 instead. Similarly for -g.
70515
70516         2005-12-04  Bruno Haible  <bruno@clisp.org>
70517
70518                 * build-aux/csharpcomp.sh.in: Suffix for resources is
70519                 .resources, not .resource.
70520
70521         2005-07-09  Bruno Haible  <bruno@clisp.org>
70522
70523                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
70524                 add a .dll suffix.
70525                 Reported by Mark Junker <mjscod@gmx.de>.
70526
70527         2006-07-22  Bruno Haible  <bruno@clisp.org>
70528
70529                 * modules/gettext: Upgrade to gettext-0.15.
70530                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
70531                 m4/visibility.m4.
70532                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
70533
70534 2006-07-22  Bruno Haible  <bruno@clisp.org>
70535
70536         Merge from GNU gettext 0.15.
70537
70538         2006-03-25  Bruno Haible  <bruno@clisp.org>
70539
70540                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
70541
70542         2006-07-21  Bruno Haible  <bruno@clisp.org>
70543
70544                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
70545                 "1.1".
70546
70547         2006-05-09  Bruno Haible  <bruno@clisp.org>
70548
70549                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
70550                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
70551                 for the conftestver execution.
70552
70553         2006-05-01  Bruno Haible  <bruno@clisp.org>
70554
70555                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
70556                 optional target-version argument. Verify that the compiler
70557                 groks source of the specified source-version, or add -source
70558                 option as necessary. Verify that the compiler produces
70559                 bytecode in the specified target-version, or add -target and
70560                 -source options as necessary. Make the result of the test
70561                 available as variable CONF_JAVAC. Also log error output in
70562                 config.log.
70563
70564         2006-03-11  Bruno Haible  <bruno@clisp.org>
70565
70566                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
70567
70568         2006-05-09  Bruno Haible  <bruno@clisp.org>
70569
70570                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
70571                 CLASSPATH_SEPARATOR to a semicolon.
70572
70573         2006-03-12  Bruno Haible  <bruno@clisp.org>
70574
70575                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
70576                 available as variable CONF_JAVA, for subsequent autoconf
70577                 tests. Also log error output in config.log.
70578
70579         2006-07-19  Bruno Haible  <bruno@clisp.org>
70580
70581                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
70582                 that getline works on glibc2 systems. Needed to avoid trouble
70583                 in relocatable.c.
70584                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
70585
70586         2005-12-04  Bruno Haible  <bruno@clisp.org>
70587
70588                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
70589                 launcher (untested).
70590
70591         2005-12-04  Bruno Haible  <bruno@clisp.org>
70592
70593                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
70594
70595         2006-07-22  Bruno Haible  <bruno@clisp.org>
70596
70597                 * gettext.m4: Update from GNU gettext-0.15.
70598                 * nls.m4: Likewise.
70599                 * po.m4: Likewise.
70600                 * inttypes-pri.m4: Likewise.
70601                 * inttypes-h.m4: Renamed from inttypes.m4.
70602                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
70603
70604 2006-07-22  Bruno Haible  <bruno@clisp.org>
70605
70606         Merge from GNU gettext 0.15.
70607
70608         2005-07-05  Bruno Haible  <bruno@clisp.org>
70609
70610                 * printf-args.c (printf_fetchargs): Work around broken
70611                 definition of wint_t on mingw.
70612
70613         2005-02-12  Bruno Haible  <bruno@clisp.org>
70614
70615                 * xallocsa.h: Add extern "C" for C++.
70616
70617         2006-05-17  Bruno Haible  <bruno@clisp.org>
70618
70619                 Cygwin portability.
70620                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
70621
70622         2006-04-30  Bruno Haible  <bruno@clisp.org>
70623
70624                 * progreloc.c: Include <mach-o/dyld.h> if available.
70625                 (find_executable): Use _NSGetExecutablePath when possible.
70626
70627         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70628
70629                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
70630                 function.
70631
70632         2005-12-29  Bruno Haible  <bruno@clisp.org>
70633
70634                 * progreloc.c (set_program_name_and_installdir): Fix
70635                 compilation error.
70636
70637         2005-12-04  Bruno Haible  <bruno@clisp.org>
70638
70639                 Cygwin portability.
70640                 * progreloc.c: Include <windows.h> also on Cygwin.
70641                 (find_executable): Add support for Cygwin.
70642                 (set_program_name_and_installdir): Handle also platforms with
70643                 nonempty EXEEXT.
70644
70645         2006-07-11  Bruno Haible  <bruno@clisp.org>
70646
70647                 * javacomp.c: Fix a comment.
70648                 Reported by Jim Meyering.
70649
70650         2006-04-30  Bruno Haible  <bruno@clisp.org>
70651
70652                 * javacomp.h (compile_java_class): Add source_version,
70653                 target_version arguments.
70654                 * javacomp.c: Rewritten to choose only a compiler that
70655                 respects the specified source_version and target_version.
70656
70657         2006-06-27  Bruno Haible  <bruno@clisp.org>
70658
70659                 Assume correct S_ISDIR macro.
70660                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
70661
70662         2006-07-22  Bruno Haible  <bruno@clisp.org>
70663
70664                 * javaversion.h: New file, from GNU gettext.
70665                 * javaversion.c: New file, from GNU gettext.
70666                 * javaversion.java: New file, from GNU gettext.
70667                 * javaversion.class: New file, from GNU gettext.
70668
70669         2006-05-17  Bruno Haible  <bruno@clisp.org>
70670
70671                 Cygwin portability.
70672                 * javaexec.c (execute_java_class): Test for jview program
70673                 also on Cygwin.
70674
70675         2006-04-09  Bruno Haible  <bruno@clisp.org>
70676
70677                 * fatal-signal.c: Don't include string.h.
70678                 (at_fatal_signal): Use a copying loop instead of memcpy.
70679
70680         2005-12-04  Bruno Haible  <bruno@clisp.org>
70681
70682                 * csharpexec.c: Add support for 'clix' launcher (untested).
70683                 (execute_csharp_using_sscli): New function.
70684                 (execute_csharp_program): Call it.
70685
70686         2006-06-21  Bruno Haible  <bruno@clisp.org>
70687
70688                 Avoid warnings from recent versions of mcs.
70689                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
70690                 -o, -L, -r any more. Use options documented since mcs-1.0
70691                 instead. Similarly for -g.
70692
70693         2005-07-09  Bruno Haible  <bruno@clisp.org>
70694
70695                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
70696                 add a .dll suffix.
70697                 Reported by Mark Junker <mjscod@gmx.de>.
70698
70699         2006-06-17  Bruno Haible  <bruno@clisp.org>
70700
70701                 * config.charset: Update for NetBSD 3.0.
70702
70703         2006-05-17  Bruno Haible  <bruno@clisp.org>
70704
70705                 Cygwin portability.
70706                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
70707
70708         2006-05-16  Bruno Haible  <bruno@clisp.org>
70709
70710                 * localcharset.c [CYGWIN]: Include <windows.h>.
70711                 (get_charset_aliases): For Cygwin, return the same CPxxx
70712                 aliases list as under WIN32.
70713                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
70714                 the environment variables. Fall back to GetACP().
70715
70716         2006-04-05  Bruno Haible  <bruno@clisp.org>
70717
70718                 * config.charset: Update Juan Manuel Guerrero's address.
70719
70720         2005-02-12  Bruno Haible  <bruno@clisp.org>
70721
70722                 * allocsa.h: Add extern "C" for C++.
70723
70724         2005-02-10  Bruno Haible  <bruno@clisp.org>
70725
70726                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
70727                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
70728
70729         2006-07-22  Bruno Haible  <bruno@clisp.org>
70730
70731                 * gettext.h: Update to GNU gettext-0.15.
70732
70733 2006-07-22  Bruno Haible  <bruno@clisp.org>
70734
70735         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
70736         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
70737         lib-prefix.m4, longdouble.m4, ssize_t.m4.
70738
70739 2006-07-21  Eric Blake  <ebb9@byu.net>
70740
70741         * modules/stdlib-safer: New file.
70742         * MODULES.html.sh (File stream based Input/Output): Add
70743         stdlib-safer.
70744
70745 2006-07-21  Eric Blake  <ebb9@byu.net>
70746
70747         * lib/stdlib-safer.h: New file from coreutils, required by
70748         stdlib--.h.
70749
70750 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
70751
70752         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
70753
70754 2006-07-20  Bruno Haible  <bruno@clisp.org>
70755
70756         * gnulib-tool: Recognize new option --assume-autoconf.
70757         (autoconf_minversion): New variable.
70758         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
70759
70760 2006-07-20  Bruno Haible  <bruno@clisp.org>
70761
70762         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
70763
70764 2006-07-19  Derek R. Price  <derek@ximbiot.com>
70765
70766         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
70767         Reindent and repaginate.
70768
70769 2006-07-19  Derek Price  <derek@ximbiot.com>
70770
70771         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
70772         Correct grammar.
70773
70774 2006-07-17  Bruno Haible  <bruno@clisp.org>
70775
70776         * modules/list: New file.
70777         * modules/array-list: New file.
70778         * modules/carray-list, modules/carray-list-tests: New files.
70779         * modules/linked-list, modules/linked-list-tests: New files.
70780         * modules/avltree-list, modules/avltree-list-tests: New files.
70781         * modules/rbtree-list, modules/rbtree-list-tests: New files.
70782         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
70783         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
70784         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
70785         * modules/oset: New file.
70786         * modules/array-oset: New file.
70787         * modules/avltree-oset, modules/avltree-oset-tests: New files.
70788         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
70789         * tests/test-carray_list.c: New file.
70790         * tests/test-linked_list.c: New file.
70791         * tests/test-avltree_list.c: New file.
70792         * tests/test-rbtree_list.c: New file.
70793         * tests/test-linkedhash_list.c: New file.
70794         * tests/test-avltreehash_list.c: New file.
70795         * tests/test-rbtreehash_list.c: New file.
70796         * tests/test-avltree_oset.c: New file.
70797         * tests/test-rbtree_oset.c: New file.
70798         * MODULES.html.sh (Container data structures): New section.
70799
70800 2006-07-17  Bruno Haible  <bruno@clisp.org>
70801
70802         * m4/gl_list.m4: New file.
70803
70804 2006-07-17  Bruno Haible  <bruno@clisp.org>
70805
70806         * lib/gl_list.h: New file.
70807         * lib/gl_list.c: New file.
70808         * lib/gl_array_list.h: New file.
70809         * lib/gl_array_list.c: New file.
70810         * lib/gl_carray_list.h: New file.
70811         * lib/gl_carray_list.c: New file.
70812         * lib/gl_linked_list.h: New file.
70813         * lib/gl_linked_list.c: New file.
70814         * lib/gl_anylinked_list1.h: New file.
70815         * lib/gl_anylinked_list2.h: New file.
70816         * lib/gl_avltree_list.h: New file.
70817         * lib/gl_avltree_list.c: New file.
70818         * lib/gl_anyavltree_list1.h: New file.
70819         * lib/gl_anyavltree_list2.h: New file.
70820         * lib/gl_rbtree_list.h: New file.
70821         * lib/gl_rbtree_list.c: New file.
70822         * lib/gl_anyrbtree_list1.h: New file.
70823         * lib/gl_anyrbtree_list2.h: New file.
70824         * lib/gl_anytree_list1.h: New file.
70825         * lib/gl_anytree_list2.h: New file.
70826         * lib/gl_linkedhash_list.h: New file.
70827         * lib/gl_linkedhash_list.c: New file.
70828         * lib/gl_anyhash_list1.h: New file.
70829         * lib/gl_anyhash_list2.h: New file.
70830         * lib/gl_avltreehash_list.h: New file.
70831         * lib/gl_avltreehash_list.c: New file.
70832         * lib/gl_rbtreehash_list.h: New file.
70833         * lib/gl_rbtreehash_list.c: New file.
70834         * lib/gl_anytreehash_list1.h: New file.
70835         * lib/gl_anytreehash_list2.h: New file.
70836
70837         * lib/gl_oset.h: New file.
70838         * lib/gl_oset.c: New file.
70839         * lib/gl_array_oset.h: New file.
70840         * lib/gl_array_oset.c: New file.
70841         * lib/gl_avltree_oset.h: New file.
70842         * lib/gl_avltree_oset.c: New file.
70843         * lib/gl_rbtree_oset.h: New file.
70844         * lib/gl_rbtree_oset.c: New file.
70845         * lib/gl_anytree_oset.h: New file.
70846
70847 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70848
70849         * m4/mkancesdirs.m4: New file.
70850         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70851         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70852         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70853         it.
70854
70855 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70856
70857         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70858         * lib/mkancesdirs.h: New files.
70859         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70860         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70861         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70862         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70863         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70864         callers changed.  Revamp internals significantly, by not
70865         attempting to create directories that are temporarily more
70866         permissive than the final results.  Do not attempt to use
70867         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70868         This removes some race conditions, fixes some bugs, and simplifies
70869         things.  Use new dirchownmod function to do owner and mode changes.
70870         * lib/mkdir-p.h: Likewise.
70871         * lib/modechange.c (octal_to_mode): New function.
70872         (struct mode_change): New member mentioned.
70873         (make_node_op_equals): New arg mentioned.  All callers changed.
70874         (mode_compile): Keep track of which mode bits the user has explicitly
70875         mentioned.
70876         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70877         New arg PMODE_BITS, to keep track of which mode bits the user
70878         mentioned; it treats S_ISUID and S_ISGID speciall.
70879         All callers changed.
70880         * lib/modechange.h: Likewise.
70881
70882 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70883
70884         * MODULES.html.sh: Add mkancestors.
70885         * modules/mkancesdirs: New module.
70886         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70887         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70888         The chdir-safer and afs files are now orphans; I'll remove them
70889         unless someone speaks up.
70890         Add lib/dirchownmod.c, lib/dirchownmod.h.
70891         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70892         Add lchown, mkancesdirs.
70893         (Maintainer): Add self.
70894
70895 2006-07-15  Karl Berry  <karl@gnu.org>
70896
70897         * gnulib-tool: help message wording/arrangement.
70898
70899 2006-07-14  Simon Josefsson  <jas@extundo.com>
70900
70901         * doc/gnulib.texi (Libtool and Windows): New section.
70902
70903 2006-07-12  Simon Josefsson  <jas@extundo.com>
70904
70905         * modules/gendocs (License): Fix license, approved by Karl.
70906
70907 2006-07-12  Eric Blake  <ebb9@byu.net>
70908
70909         * MODULES.html.sh: Add gendocs.
70910
70911 2006-07-11  Eric Blake  <ebb9@byu.net>
70912
70913         * modules/fdl: New module, to install doc/fdl.texi.
70914         * MODULES.html.sh: Add new section for documentation modules.
70915         * gnulib-tool: Avoid space-tab.
70916         (--doc-base): New option, to manage files from doc.
70917
70918 2006-07-11  Eric Blake  <ebb9@byu.net>
70919
70920         * m4/absolute-header.m4: Fix comments to match recent change.
70921
70922 2006-07-11  Eric Blake  <ebb9@byu.net>
70923
70924         * gnulib-tool: List --doc-base before --tests-base.
70925
70926 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70927
70928         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70929
70930 2006-07-11  Bruno Haible  <bruno@clisp.org>
70931
70932         * README: Mention where to put documentation.
70933
70934 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70935
70936         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70937
70938 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70939
70940         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70941         to stdint.m4.
70942
70943 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70944
70945         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70946         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70947         "no/such/file/stdint.h" when there is no such file, so that
70948         the resulting C code can be parsed by dodgy compilers.
70949         Problems reported by Bob Proulx.
70950
70951 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70952
70953         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70954         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70955         macros into the GNU _D_EXACT_NAMLEN.
70956         * lib/savedir.c:  Likewise.
70957         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70958
70959 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70960         and Paul Eggert  <eggert@cs.ucla.edu>
70961
70962         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70963         * m4/savedir.m4:
70964         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70965         macros into the GNU _D_EXACT_NAMLEN.
70966
70967 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70968
70969         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70970         around the absolute name, to work around a problem with the HP-UX
70971         11.23 native C compiler, reported by Bob Proulx.
70972
70973 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70974
70975         * doc/maintain.texi, make-stds.texi: Sync from
70976         <http://savannah.gnu.org/projects/gnustandards>.
70977
70978 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70979
70980         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70981
70982 2006-07-09  Jim Meyering  <jim@meyering.net>
70983
70984         * m4/glob.m4: Remove a doubled word in a comment.
70985
70986 2006-07-09  Jim Meyering  <jim@meyering.net>
70987
70988         * lib/argp-pv.c: Remove a doubled word in a comment.
70989         * lib/check-version.c (check_version): Likewise.
70990         * lib/javacomp.c (compile_java_class): Likewise.
70991
70992 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70993
70994         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70995         for the benefit of people using Autoconf 2.60.  If you want to
70996         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70997         (or m4/onceonly.m4, if pre-2.57) manually.
70998
70999 2006-07-08  Jim Meyering  <jim@meyering.net>
71000
71001         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
71002         comment.
71003         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
71004         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
71005         comment.
71006
71007 2006-07-08  Jim Meyering  <jim@meyering.net>
71008
71009         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
71010
71011 2006-07-07  Simon Josefsson  <jas@extundo.com>
71012
71013         * tests/test-crc.c: Change expected crc value, the test vector
71014         were probably computed using the old broken crc.c?
71015
71016 2006-07-06  Simon Josefsson  <jas@extundo.com>
71017
71018         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
71019         now the canonical place for the M4 file).
71020
71021         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
71022         from the sys_socket dependency now.
71023
71024         * modules/inet_pton (Files): Ditto.
71025
71026         * modules/inet_ntop (Files): Ditto.
71027
71028 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71029
71030         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
71031         not gl_PREREQ_GETUSERSHELL.
71032
71033 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71034
71035         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
71036         with only one argument, for Autoconf 2.60.
71037         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
71038         expand to nothing, so add a shell command to avoid syntax error.
71039         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71040
71041 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71042
71043         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
71044
71045 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71046
71047         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
71048         no longer needed.  Check for isblank decl.
71049         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
71050         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
71051         of existence.
71052
71053 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71054
71055         * lib/getloadavg.c: Use __VMS, not VMS.
71056         * lib/getopt.c: Likewise.
71057         * lib/getpagesize.h: Likewise.
71058         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
71059         and probably does not work.
71060
71061 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71062
71063         * lib/.cppi-disable: Add wcwidth.
71064         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
71065         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
71066         (ISGRAPH): Remove.  All uses changed to isgraph.
71067         (FOLD) [!defined _LIBC]: Remove special case.
71068         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
71069         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
71070         HAVE_ISBLANK.
71071         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
71072         case.
71073
71074 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
71075
71076         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
71077         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
71078         brackets.  Other minor changes to suppress some compiler
71079         warnings.
71080
71081 2006-07-06  Derek R. Price  <derek@ximbiot.com>
71082         and Paul Eggert  <eggert@cs.ucla.edu>
71083
71084         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
71085         of invoking obsolescent AC_HEADER_DIRENT macro.
71086         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
71087         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
71088         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
71089         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
71090         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
71091         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
71092         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
71093         * m4/readdir.m4: Remove; no longer needed.
71094
71095 2006-07-06  Derek R. Price  <derek@ximbiot.com>
71096         and Paul Eggert  <eggert@cs.ucla.edu>
71097
71098         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
71099         Don't worry about this obsolete case any more.
71100         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
71101         directories.
71102         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
71103         worry about this obsolete case any more.
71104         * lib/fts.c: Likewise.
71105         * lib/getcwd.c: Likewise.
71106         * lib/glob.h: Likewise.
71107         * lib/savedir.c: Likewise.
71108
71109 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
71110
71111         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
71112         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
71113         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
71114         needed.
71115         All uses removed.
71116         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
71117         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
71118         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
71119         needed.
71120         * m4/getdate.m4 (gl_GETDATE): Likewise.
71121         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
71122         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
71123         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
71124         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
71125         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
71126         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71127         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
71128         needed.
71129
71130 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
71131
71132         * lib/memcasecmp.c: Include <limits.h>.
71133         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
71134         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
71135         Don't assume isdigit succeeds only on '0' through '9'.
71136
71137 2006-07-05  Eric Blake  <ebb9@byu.net>
71138
71139         * modules/getaddrinfo (Depends-on): Add snprintf.
71140
71141 2006-07-05  Eric Blake  <ebb9@byu.net>
71142
71143         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
71144         to avoid 'header present but could not be compiled' on cygwin.
71145
71146 2006-07-05  Eric Blake  <ebb9@byu.net>
71147
71148         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
71149         missing from netdb.h.
71150         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
71151
71152 2006-07-05  Derek R. Price  <derek@ximbiot.com>
71153
71154         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
71155         no longer needed.
71156         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
71157         * m4/getdate.m4 (gl_GETDATE): Likewise.
71158         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
71159         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
71160         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
71161         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
71162         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71163
71164 2006-07-05  Derek R. Price  <derek@ximbiot.com>
71165
71166         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
71167         All uses of is_space replaced by isspace.
71168         * lib/exit.h: Don't talk about STDC_HEADERS.
71169         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
71170         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
71171         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
71172         replaced by isprint etc.
71173         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
71174         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
71175         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
71176         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
71177         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
71178         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
71179
71180 2006-07-05  Bruno Haible  <bruno@clisp.org>
71181
71182         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
71183         the function exists, before testing against AIX.
71184         Reported by Martin Lambers <marlam@marlam.de>.
71185
71186 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
71187
71188         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
71189         From Mark D. Baushke.
71190
71191 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
71192
71193         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
71194         to the absolute name, not just one, to bypass Sun C 5.8's
71195         "warning: #include of /usr/include/... may be non-portable".
71196
71197 2006-07-04  Eric Blake  <ebb9@byu.net>
71198
71199         * modules/dirname-tests: New test module.
71200         * tests/test-dirname.c: New file, replacing dirname.c
71201         TEST_DIRNAME section that was recently deleted.
71202
71203 2006-07-04  Bruno Haible  <bruno@clisp.org>
71204
71205         Assume ANSI C header files and <ctype.h> functions.
71206         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
71207         (mbsnwidth): Use isprint, iscntrl instead.
71208
71209 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71210
71211         Merge from coreutils.
71212         * MODULES.html.sh: Add xstrtold.
71213         * modules/xstrtold: New file.
71214         * modules/cycle-check (Files): Add lib/same-inode.h.
71215         * modules/dirname (Files): Add m4/double-slash-root.m4.
71216         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
71217         * modules/mkdir-p (Files): Add lib/same-inode.h.
71218         * modules/same (Files): Add lib/same-inode.h.
71219
71220 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71221
71222         * m4/absolute-header.m4: Renamed from full-header-path.m4.
71223         This is to keep the terminology clean; POSIX talks about
71224         "absolute pathnames", not "full pathnames", but the GNU
71225         Coding Standards say to use "path" for something else;
71226         so use "absolute" to keep both sides happy.
71227         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
71228         Set gl_absolute_header, not gl_full_header_path.
71229         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
71230         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
71231         All uses changed.
71232
71233         Merge from coreutils.
71234
71235         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
71236
71237         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
71238         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
71239         want to require the building of c-strtod.o.
71240         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
71241         needs -lm directly.
71242         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
71243
71244         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71245
71246         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
71247         --as-needed option if available.  Problem reported by Albert Chin in
71248         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
71249         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
71250         cc merely issues a bunch of annoying warnings for --as-needed
71251         (this problem was reported by Bob Proulx).  Also, try linking with
71252         -lm to detect a bug in binutils 2.16 (this problem was reported
71253         by Ralf Wildenhues).
71254
71255         2006-06-18  Jim Meyering  <jim@meyering.net>
71256
71257         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
71258         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
71259         macro.
71260         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
71261         also check for glibc-2.4's abort-inducing bug.
71262
71263         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
71264         Low-probability clean-up should be to use rmdir to get rid of
71265         the just-created directory, not unlink.
71266
71267         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
71268         configure fail, and request a bug report to inform us about it.
71269         Add a comment that, barring reports to the contrary, in 2007 we'll
71270         assume ftruncate is universally available.
71271
71272         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
71273
71274         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
71275
71276         2006-03-12  Jim Meyering  <jim@meyering.net>
71277
71278         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
71279         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
71280         * m4/same.m4 (gl_SAME): Likewise.
71281         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
71282
71283         2006-03-11  Eric Blake  <ebb9@byu.net>
71284
71285         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
71286         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
71287         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
71288         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
71289
71290 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71291
71292         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
71293         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
71294         reported by Mark D. Baushke, one in
71295         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
71296
71297         Merge from coreutils.
71298
71299         * lib/.cppi-disable: Add stdint_.h.
71300         * lib/.cvsignore: Add stdint.h.
71301
71302         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
71303
71304         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
71305         both double and long double versions.
71306         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
71307         * lib/xstrtold.c: New file.
71308         * lib/xstrtod.h (xstrtold): New decl.
71309
71310         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
71311
71312         * lib/filemode.c (setst): Remove.
71313         (strmode): Rewrite to avoid setst.  This makes the code shorter,
71314         (arguably) clearer, and the generated code is a bit smaller on my
71315         Debian GNU/Linux stable x86 host.
71316
71317         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
71318
71319         * lib/filemode.c: Include "filemode.h" first, to test the interface.
71320         Assume that filemode.h includes sys/types.h and sys/stat.h.
71321         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
71322         (ftypelet): Reorder to put common cases first, for efficiency.
71323         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
71324         to do 'M'.
71325         (strmode): Renamed from mode_string, and now stores 12 bytes instead
71326         of 10, for compatibility with FreeBSD.  All callers changed.
71327         (filemodestring): Now stores 12 bytes instead of 10, and sets file
71328         types that can't be deduced solely from st_mode.  First arg is now a
71329         const pointer.
71330         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
71331         (strmode): Renamed from mode_string.
71332         (filemodestring): New decl.
71333         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
71334         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
71335         needed.
71336         (S_ISPORT, S_ISWHT): New macros, if not already defined.
71337
71338         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
71339
71340         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
71341         fsusage.h now does that.  Include fsusage.h first, to test interface.
71342         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
71343         at most one method (the old code could have generated decls that
71344         didn't conform to C89, not that this was ever exercised).
71345         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
71346
71347         2006-03-19  Jim Meyering  <jim@meyering.net>
71348
71349         Work even in a chroot where d_ino values for entries in "/"
71350         don't match the stat.st_ino values for the same names.
71351         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
71352         number, iterate through all entries again, using lstat instead.
71353         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
71354         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
71355
71356         * lib/getcwd.c (__getcwd): Clarify a comment.
71357         Use memcpy in place of a call to strcpy.
71358
71359         2006-03-12  Jim Meyering  <jim@meyering.net>
71360
71361         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
71362         matches that of the current directory (which we're about to chdir ".."
71363         out of), then save the dev-ino of the parent, instead.
71364
71365         * lib/same-inode.h (SAME_INODE): New file/macro.
71366         * lib/chdir-safer.c (SAME_INODE): Remove definition.
71367         Include "same-inode.h", instead.
71368         * lib/same.c: Likewise.
71369         * lib/cycle-check.h: Include "same-inode.h".
71370         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
71371         * lib/cycle-check.c (SAME_INODE): Remove definition.
71372         * lib/root-dev-ino.h: Include "same-inode.h".
71373
71374         2006-03-11  Eric Blake  <ebb9@byu.net>
71375
71376         * lib/same.c (same_name): s/base_name/last_component/
71377         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
71378         * lib/filenamecat.c (file_name_concat): Likewise.
71379
71380         2006-03-11  Eric Blake  <ebb9@byu.net>,
71381                     Paul Eggert  <eggert@cs.ucla.edu>
71382
71383         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
71384         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
71385         drive prefix.
71386         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
71387         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
71388         (last_component): New method.
71389         * lib/dirname.c (dir_len): Determine when drive letters need a
71390         subsequent slash.  Preserve // when it is special.
71391         (dir_name): Don't append dot when drive letter is absolute.
71392         [TEST_DIRNAME]: Move into a full-blown gnulib test.
71393         * lib/basename.c (base_name): New semantics - malloc the result.
71394         Preserve // when it is special.  Preserve relative files that look
71395         like drive letters.
71396         (base_len): Preserve // when it is special.
71397         (last_component): New method, similar to old base_name semantics.
71398         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
71399         base_name.  Strip redundant slashes from ///.
71400
71401 2006-07-03  Jim Meyering  <jim@meyering.net>
71402
71403         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
71404         macro is used before the first cycle_check call.
71405
71406 2006-07-03  Eric Blake  <ebb9@byu.net>
71407
71408         * modules/dirname (Depends-on): Add xstrndup.
71409
71410 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
71411
71412         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
71413         test cases, so that config.log is a bit easier to follow.
71414
71415 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
71416
71417         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
71418         both are 64 bits, since this seems to be the tradition, and this
71419         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
71420         we ever run into a host that prefers long long to long in this
71421         case, we'll need another configure-time test.  Problem reported by
71422         Jim Meyering.
71423
71424 2006-07-02  Eric Blake  <ebb9@byu.net>
71425
71426         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
71427
71428 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71429
71430         * modules/inttypes (Depends-on): No longer depends on stdint.
71431         * modules/stdint (Description): Say more about assumptions.
71432         Say that the fast types might differ.  Say macros are used.
71433         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
71434         (Makefile.am): Revise list of substituted symbols to match
71435         new stdint.m4.
71436         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
71437         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
71438         * tests/test-stdint.c (verify_same_types)
71439         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
71440         the code conforms to C99/C89.
71441         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
71442         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
71443
71444 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71445
71446         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
71447         but fix a bug, by requiring at least 64 bits.
71448         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
71449         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
71450         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
71451         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
71452
71453         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
71454         changes.  Make 2.59 a prerequisite.  Check and substitute for
71455         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
71456         inttypes.h.  Do not use special include files; just use the
71457         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
71458         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
71459         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
71460         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
71461         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
71462         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
71463         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
71464         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
71465         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
71466         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
71467         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
71468         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
71469         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
71470         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
71471         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
71472         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
71473         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
71474         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
71475         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
71476         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
71477         WINT_MAX.  Check for C99 conformance more strictly, by detecting
71478         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
71479         not check for things that C99 does not require, e.g., int8_t.  If
71480         a test isn't needed unless <stdint.h> isn't working, and is
71481         unlikely to be needed for any other reason, then don't do it
71482         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
71483         size_t, since we assume C89 freestanding at least.  Do not check
71484         for sig_atomic_t, wchar_t, or wint_t, since the code now does
71485         the right thing even if the types are not defined.  Instead use:
71486         (gl_STDINT_TYPE_PROPERTIES): New macro.
71487         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
71488         testing whether <sys/types.h> clashes, as Autoconf does this for
71489         us now.  All uses removed.
71490         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
71491         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
71492         (gl_CHECK_TYPE_SAME):
71493         Remove; no longer needed.
71494         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
71495         exists, since we'll return 0 anyway in that case.
71496         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
71497
71498 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71499
71500         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
71501         possible collision with system files.
71502         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
71503         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
71504         WCHAR_MIN and WCHAR_MAX in this case.
71505         (<stddef.h>): Do not include; no longer needed.
71506         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
71507         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
71508         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
71509         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
71510         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
71511         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
71512         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
71513         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
71514         !defined(__c99))]: Include in this case too, since it's harmless
71515         now.
71516         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
71517         dangerous to do so.
71518         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
71519         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
71520         (_STDINT_MIN, _STDINT_MAX): New macros.
71521         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
71522         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
71523         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
71524         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
71525         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
71526         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
71527         macros, not typedefs; this simplifies things quite a bit.
71528         Use long int for all types narrower than int64_t.
71529         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
71530         Define in terms of long long int or int64_t or long int,
71531         not int64_t or int32_t.  This saves some compile-time testing.
71532         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
71533         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
71534         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
71535         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
71536         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
71537         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
71538         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
71539         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
71540         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
71541         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
71542         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
71543         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
71544         undef any previous version and define our own version, for
71545         simplicity and consistency with the new macros for types.
71546         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
71547         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
71548         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
71549         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
71550         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
71551         @WINT_T_SUFFIX@ to keep things simple here.
71552         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
71553         Simplify by assuming typical 8/16/32/64 host, since we're
71554         already doing that elsewhere anyway.
71555         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
71556         and assume long long int is 64 bits if available.  This
71557         speeds up 'configure'.
71558
71559 2006-07-01  Eric Blake  <ebb9@byu.net>
71560
71561         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
71562         Reported by Andreas Buening.
71563
71564 2006-07-01  Eric Blake  <ebb9@byu.net>
71565
71566         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
71567
71568 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
71569
71570         * lib/getaddrinfo.c: fixed typo
71571
71572 2006-06-29  Jim Meyering  <jim@meyering.net>
71573
71574         * modules/strftime (Maintainer): Add my name, since with the
71575         FPRINTFTIME changes strftime.c has forked from glibc.
71576
71577 2006-06-29  Eric Blake  <ebb9@byu.net>
71578
71579         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
71580
71581 2006-06-29  Eric Blake  <ebb9@byu.net>
71582
71583         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
71584
71585 2006-06-29  Eric Blake  <ebb9@byu.net>
71586
71587         * lib/stat_.h: New file.
71588
71589 2006-06-29  Eric Blake  <ebb9@byu.net>
71590
71591         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
71592         unused static function.
71593
71594 2006-06-29  Eric Blake  <ebb9@byu.net>
71595
71596         * doc/functions.texi (Function Portability): Document missing lstat
71597         on mingw.
71598
71599 2006-06-29  Eric Blake  <ebb9@byu.net>
71600
71601         * MODULES.html.sh: Add sys_stat.
71602         * modules/sys_stat: New module.
71603         * modules/mkstemp (Depends-on): Add sys_stat.
71604
71605 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71606
71607         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
71608
71609 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71610
71611         * m4/c-bs-a.m4: Removed.
71612
71613 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71614
71615         * lib/strftime.c: Assume strftime() exists.
71616
71617 2006-06-29  Derek Price  <derek@ximbiot.com>
71618
71619         * modules/c-bs-a: Removed - \a is C89.
71620         * MODULES.html.sh: Remove c-bs-a.
71621
71622 2006-06-29  Bruno Haible  <bruno@clisp.org>
71623
71624         * modules/wcwidth (License): Change to LGPL.
71625
71626 2006-06-28  Simon Josefsson  <jas@extundo.com>
71627
71628         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
71629         on _WIN32.
71630
71631         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
71632         getnameinfo.
71633
71634 2006-06-28  Simon Josefsson  <jas@extundo.com>
71635
71636         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
71637
71638 2006-06-28  Simon Josefsson  <jas@extundo.com>
71639
71640         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
71641         functions there.  It will succeed on Windows XP, but on Windows
71642         2000 and (presumably) earlier, it will fail, and use the internal
71643         re-implementation.
71644         (use_win32_p): New function.
71645         (getaddrinfo): Use strtoul on servname, to support numeric ports.
71646         Support AI_NUMERICSERV to disable getservbyname.
71647         (getnameinfo): New function, only supports
71648         NI_NUMERICHOST|NI_NUMERICSERV for now.
71649
71650         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
71651         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
71652         getnameinfo.
71653
71654 2006-06-28  Eric Blake  <ebb9@byu.net>
71655
71656         * modules/wcwidth: New file.
71657         * modules/mbchar (Depends-on): Add wcwidth.
71658         * modules/mbswidth (Depends-on): Add wcwidth.
71659         * MODULES.html.sh: Add wcwidth.
71660
71661 2006-06-28  Eric Blake  <ebb9@byu.net>
71662
71663         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
71664         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
71665
71666 2006-06-28  Eric Blake  <ebb9@byu.net>
71667
71668         * lib/xvasprintf.h: Fix comments.
71669
71670 2006-06-28  Eric Blake  <ebb9@byu.net>
71671
71672         * lib/mbchar.h (wcwidth): Include wcwidth.h.
71673         * lib/mbswidth.c (wcwidth): Move from here...
71674         * lib/wcwidth.h: ...to this new file.
71675
71676 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71677
71678         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
71679
71680         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
71681         it's obsolete.
71682         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
71683
71684 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71685
71686         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
71687         Autoconf 2.60 says this stuff was obsolete.
71688
71689 2006-06-28  Bruno Haible  <bruno@clisp.org>
71690
71691         * modules/wcwidth (Files): Add m4/wchar_t.m4.
71692
71693 2006-06-28  Bruno Haible  <bruno@clisp.org>
71694
71695         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
71696         gt_TYPE_WCHAR_T.
71697
71698 2006-06-28  Bruno Haible  <bruno@clisp.org>
71699
71700         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
71701         declaration for wcwidth.
71702         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
71703
71704 2006-06-28  Bruno Haible  <bruno@clisp.org>
71705
71706         * lib/mkdtemp.c [MINGW]: Include <io.h>.
71707         (mkdir): Define using _mkdir.
71708
71709 2006-06-28  Bruno Haible  <bruno@clisp.org>
71710
71711         * lib/getaddrinfo.h: Fix POSIX URL.
71712         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
71713         _WIN32.
71714         (use_win32_p): Make static.
71715         (getaddrinfo): Reject service name if it is empty or does not consist
71716         solely of decimal digits, or if its value is > 65535.
71717         (getnameinfo): Remove useless casts.
71718
71719 2006-06-27  Simon Josefsson  <jas@extundo.com>
71720
71721         * modules/sys_select: New file, suggested by Bruno Haible, Paul
71722         Eggert and Martin Lambers.
71723
71724 2006-06-27  Simon Josefsson  <jas@extundo.com>
71725
71726         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
71727         Eggert and Martin Lambers.
71728
71729 2006-06-27  Bruno Haible  <bruno@clisp.org>
71730
71731         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
71732         result to 0, not to empty.
71733         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
71734
71735 2006-06-27  Bruno Haible  <bruno@clisp.org>
71736
71737         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
71738
71739 2006-06-26  Simon Josefsson  <jas@extundo.com>
71740
71741         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
71742         present.
71743
71744 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
71745
71746         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
71747         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
71748         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
71749
71750 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
71751
71752         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
71753
71754 2006-06-26  Bruno Haible  <bruno@clisp.org>
71755
71756         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
71757
71758 2006-06-26  Bruno Haible  <bruno@clisp.org>
71759
71760         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
71761
71762 2006-06-26  Bruno Haible  <bruno@clisp.org>
71763
71764         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
71765         SGI C compiler in pre-C99 mode.
71766         Suggested by Mark D. Baushke and Larry Jones.
71767
71768 2006-06-26  Bruno Haible  <bruno@clisp.org>
71769
71770         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
71771         WCHAR_MAX.
71772         Reported by Mark D. Baushke and Larry Jones.
71773
71774 2006-06-26  Bruno Haible  <bruno@clisp.org>
71775
71776         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
71777         in pre-C99 mode.
71778         Suggested by Mark D. Baushke and Larry Jones.
71779
71780 2006-06-23  Simon Josefsson  <jas@extundo.com>
71781             Bruno Haible  <bruno@clisp.org>
71782
71783         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
71784         Emit mostlyclean-local rule.
71785         (func_emit_tests_Makefile_am): Likewise.
71786         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
71787
71788 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
71789
71790         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
71791
71792 2006-06-23  Bruno Haible  <bruno@clisp.org>
71793
71794         * tests/test-stdint.c: Update to match ISO C 99 Technical
71795         Corrigendum 1.
71796
71797 2006-06-23  Bruno Haible  <bruno@clisp.org>
71798
71799         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
71800
71801 2006-06-23  Bruno Haible  <bruno@clisp.org>
71802
71803         * lib/stdint_.h: Treat IRIX like OpenBSD.
71804
71805 2006-06-23  Bruno Haible  <bruno@clisp.org>
71806
71807         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
71808         ISO C 99 Technical Corrigendum 1.
71809
71810 2006-06-22  Simon Josefsson  <jas@extundo.com>
71811
71812         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
71813         MinGW.
71814
71815 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71816
71817         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
71818         needed.  Some compiler complained about some of them.  Problem reported
71819         by Larry Jones in
71820         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
71821
71822 2006-06-21  Simon Josefsson  <jas@extundo.com>
71823
71824         * tests/test-getaddrinfo.c: New file.
71825
71826         * modules/getaddrinfo-tests: New file.
71827
71828         * MODULES.html.sh: Add inet_pton.
71829
71830         * modules/inet_pton: New file.
71831
71832 2006-06-21  Simon Josefsson  <jas@extundo.com>
71833
71834         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
71835         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
71836         of using the (limited) gnulib implementation on Windows XP.
71837
71838         * m4/inet_pton.m4: New file.
71839
71840 2006-06-21  Simon Josefsson  <jas@extundo.com>
71841
71842         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71843         variable.
71844
71845         * lib/socket_.h: Don't define WINVER.
71846
71847         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71848         slightly modified to work in gnulib.
71849
71850 2006-06-21  Simon Josefsson  <jas@extundo.com>
71851
71852         * doc/gnulib.texi (Windows sockets): Add.
71853
71854 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71855
71856         * lib/read-file.c (fread_file): Start with buffer allocation of
71857         0 bytes rather than 1 byte; this simplifies the code.
71858         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71859         code to free buffer and save/restore errno.
71860         (internal_read_file): Remove unused local.
71861
71862 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71863
71864         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71865         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71866         Problem reported by Denis Excoffier in
71867         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71868
71869 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71870
71871         * modules/sys_socket, modules/socklen: Include sys/types since
71872         FreeBSD 4.x's sys/socket.h needs it.
71873
71874 2006-06-19  Simon Josefsson  <jas@extundo.com>
71875
71876         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71877
71878 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71879
71880         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71881
71882 2006-06-19  Bruno Haible  <bruno@clisp.org>
71883
71884         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71885         and FULL_PATH_INTTYPES_H in angle brackets.
71886         Reported by Mark D. Baushke <mdb@gnu.org>.
71887
71888 2006-06-17  Eric Blake  <ebb9@byu.net>
71889
71890         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71891         errno.
71892
71893 2006-06-17  Bruno Haible  <bruno@clisp.org>
71894
71895         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71896         <sys/inttypes.h>.
71897
71898 2006-06-17  Bruno Haible  <bruno@clisp.org>
71899
71900         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71901         whether errno is declared. Assume <errno.h> declares errno.
71902
71903 2006-06-17  Bruno Haible  <bruno@clisp.org>
71904
71905         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71906
71907 2006-06-17  Bruno Haible  <bruno@clisp.org>
71908
71909         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71910         problem on Solaris 2.5.1.
71911
71912 2006-06-16  Eric Blake  <ebb9@byu.net>
71913
71914         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71915         * lib/unicodeio.c [!defined errno]: Likewise.
71916         * lib/strtol.c [!defined errno]: Likewise.
71917         * lib/strtod.c [!defined errno]: Likewise.
71918
71919 2006-06-15  Eric Blake  <ebb9@byu.net>
71920
71921         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71922
71923 2006-06-15  Eric Blake  <ebb9@byu.net>
71924
71925         * config/srclist.txt (ssize_t.m4): Lose sync.
71926
71927 2006-06-15  Bruno Haible  <bruno@clisp.org>
71928
71929         * modules/stdint (Files): Include m4/full-header-path.m4,
71930         m4/size_max.m4, m4/wchar_t.m4.
71931         (Makefile.am): Many more substitutions.
71932         * modules/stdint-tests: New file.
71933         * tests/test-stdint.c: New file.
71934
71935 2006-06-15  Bruno Haible  <bruno@clisp.org>
71936
71937         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71938         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71939         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71940         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71941         gl_CHECK_TYPE_SAME): New macros.
71942
71943 2006-06-15  Bruno Haible  <bruno@clisp.org>
71944
71945         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71946
71947 2006-06-15  Bruno Haible  <bruno@clisp.org>
71948
71949         * lib/stdint_.h: Rewritten to be fully auto-configured.
71950         Fixes bug on HP-UX/IA64.
71951
71952 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71953
71954         * lib/getdate.y (__attribute__): Don't define if already defined.
71955         Problem reported by Larry Jones.
71956         * lib/utimens.c (__attribute__): Likewise.
71957
71958 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71959
71960         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71961         reported by Andreas Schwab.
71962
71963 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71964             Bruno Haible  <bruno@clisp.org>
71965
71966         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71967         check for the declaration of strnlen and a run test that exposes the
71968         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71969         rpl_strndup.
71970
71971 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71972             Bruno Haible  <bruno@clisp.org>
71973
71974         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71975
71976 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71977
71978         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71979         compile test, for Tru64 4.0D.
71980
71981 2006-05-28  Karl Berry  <karl@gnu.org>
71982
71983         * config/srclist.txt (printf-args.c): lose sync.
71984
71985 2006-05-26  Martin Lambers  <marlam@marlam.de>
71986
71987         * lib/getpass.c: Updates the test for the native W32 API, and adds
71988         missing includes, thus fixing compilation warnings.
71989
71990 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71991
71992         * lib/exclude.c (exclude_fnmatch): New function.
71993         (excluded_file_name): Call exclude_fnmatch.
71994         * lib/exclude.h (excluded_file_name): New prototype
71995
71996 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71997
71998         * lib/tempname.c (small_open, large_open): New macros.
71999         (__open, __open64) [!_LIBC]: Remove.
72000         (__gen_tempname): Use small_open and large_open instead of __open
72001         and __open64.  This fixes a portability bug on HP-UX 11.11i
72002         reported by Simon Wing-Tang in
72003         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
72004
72005 2006-05-24  Bruno Haible  <bruno@clisp.org>
72006
72007         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
72008         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
72009         Reported by Thorsten Maerz <torte@netztorte.de> via
72010         Aaron Stone <aaron@serendipity.cx>.
72011
72012 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
72013
72014         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
72015         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
72016         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
72017         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
72018         not really conditional on the cache.
72019         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
72020
72021 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
72022
72023         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
72024         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
72025         (my_usleep): Don't mishandle maximum value.
72026
72027 2006-05-19  Jim Meyering  <jim@meyering.net>
72028
72029         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
72030
72031 2006-05-17  Bruno Haible  <bruno@clisp.org>
72032
72033         Cygwin portability.
72034         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
72035
72036 2006-05-17  Bruno Haible  <bruno@clisp.org>
72037
72038         * lib/stdint_.h: Fix recognition of Cygwin.
72039
72040 2006-05-15  Bruno Haible  <bruno@clisp.org>
72041
72042         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
72043         on libtool patch by Ralf Wildenhues.
72044
72045 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72046
72047         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
72048         test for C99 conformance; (bool) 0.5 is an integer constant
72049         expression, but (bool) -0.5 is not.  Problem reported by Fedor
72050         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
72051
72052 2006-05-11  Simon Josefsson  <jas@extundo.com>
72053
72054         * m4/xvasprintf.m4: Fix obvious typo.
72055
72056 2006-05-11  Jim Meyering  <jim@meyering.net>
72057
72058         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
72059         James Lemley.
72060
72061 2006-05-10  Simon Josefsson  <jas@extundo.com>
72062
72063         * lib/md4.c: Typo fix, update copyright years.
72064         (K1, K2): Don't use L because it turn computations into 64-bit on
72065         64-bit platforms.
72066
72067 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
72068
72069         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
72070         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
72071         unwanted sign propagation, e.g., on hosts with 64-bit int.
72072         There still are some problems with reeelly weird theoretical hosts
72073         (e.g., 33-bit int) but it's not worth worrying about now.
72074         * lib/sha1.c (rol): Likewise.
72075         (K1, K2, K3, K4): Remove unnecessary L suffix.
72076
72077 2006-05-10  Bruno Haible  <bruno@clisp.org>
72078
72079         * lib/des.c: Cast to avoid warnings.
72080
72081 2006-05-09  Bruno Haible  <bruno@clisp.org>
72082
72083         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
72084         (Depends-on): Depend also on xsize, stdarg.
72085         (configure.ac): Add gl_XVASPRINTF.
72086
72087 2006-05-09  Bruno Haible  <bruno@clisp.org>
72088
72089         * m4/xvasprintf.m4: New file.
72090
72091 2006-05-09  Bruno Haible  <bruno@clisp.org>
72092
72093         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
72094         (EOVERFLOW): Define fallback value.
72095         (xstrcat): New function.
72096         (xvasprintf): Recognize the special case of a string concatenation.
72097
72098 2006-05-08  Eric Blake  <ebb9@byu.net>
72099
72100         * gnulib-tool (func_version): Base copyright year on CVS date.
72101         (func_emit_copyright_notice): New function.
72102         (func_emit_lib_Makefile_am): Use it.
72103         (func_emit_tests_Makefile_am): Likewise.
72104         (func_import): Likewise.
72105
72106 2006-05-08  Bruno Haible  <bruno@clisp.org>
72107
72108         * modules/stdarg: New file.
72109         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
72110
72111 2006-05-08  Bruno Haible  <bruno@clisp.org>
72112
72113         * m4/stdarg.m4: New file, from GNU gettext.
72114
72115 2006-05-08  Bruno Haible  <bruno@clisp.org>
72116
72117         * config/srclist.txt (build-aux/config.rpath): different from latest
72118         release.
72119
72120 2006-05-08  Bruno Haible  <bruno@clisp.org>
72121
72122         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
72123
72124 2006-05-05  Jim Meyering  <jim@meyering.net>
72125
72126         * m4/warning.m4: New file, derived from bison's file by the same name.
72127
72128 2006-05-03  Bruno Haible  <bruno@clisp.org>
72129
72130         * lib/stdint_.h: Shorter URL.
72131         * lib/inttypes.h: Likewise.
72132
72133 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
72134
72135         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
72136
72137 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
72138
72139         * lib/verify.h: Document the internals better.  Most of this change
72140         was written by Bruno Haible.
72141
72142 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
72143
72144         * doc/verify.texi: New file, partly based on a proposal by
72145         Bruno Haible.
72146
72147 2006-05-02  Bruno Haible  <bruno@clisp.org>
72148
72149         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
72150         test from here...
72151         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
72152
72153 2006-04-29  Bruno Haible  <bruno@clisp.org>
72154
72155         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
72156         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
72157
72158 2006-04-29  Bruno Haible  <bruno@clisp.org>
72159
72160         * gnulib-tool: Make --update option actually work.
72161
72162 2006-04-29  Bruno Haible  <bruno@clisp.org>
72163
72164         * doc/gcd.texi: New file.
72165         * doc/gnulib.texi: Include it.
72166
72167 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
72168
72169         * lib/getdate.y (get_date): When adding relative date, start with the
72170         initial time, not with the result of the first mktime call.
72171
72172 2006-04-25  Bruno Haible  <bruno@clisp.org>
72173
72174         * gnulib-tool (func_import): Output the include directives in three
72175         blocks, sorted separately.
72176         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72177
72178 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
72179
72180         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
72181         to define main with arguments, for C++.  Reported by Eric Blake.
72182         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
72183         Prefer 'int main ()' to 'int main (void)', for C++.
72184         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
72185         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
72186         for 'main', for C99 and C++.
72187
72188 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
72189
72190         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
72191         Don't assume that exit status -1 is valid.
72192         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72193         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
72194         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
72195         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
72196         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
72197         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
72198         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
72199         functions can be used without declaring them, or that you can
72200         exit with status -1.
72201         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
72202
72203 2006-04-24  Karl Berry  <karl@gnu.org>
72204
72205         * config/srclist.txt (longdouble.m4): sync lost.
72206
72207 2006-04-24  Eric Blake  <ebb9@byu.net>
72208
72209         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
72210
72211 2006-04-24  Bruno Haible  <bruno@clisp.org>
72212
72213         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
72214         poll() implementation in AIX.
72215         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72216
72217 2006-04-24  Bruno Haible  <bruno@clisp.org>
72218
72219         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
72220         assigned exactly once.
72221
72222 2006-04-23  Claudio Fontana  <claudio@gnu.org>
72223             Bruno Haible  <bruno@clisp.org>
72224
72225         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
72226         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
72227         for AM_CPPFLAGS.
72228
72229 2006-04-23  Bruno Haible  <bruno@clisp.org>
72230
72231         * modules/copy-file: Depend on unistd.
72232         * modules/execute: Likewise.
72233         * modules/fatal-signal: Likewise.
72234         * modules/findprog: Likewise.
72235         * modules/mkdtemp : Likewise.
72236         * modules/pipe: Likewise.
72237         * modules/wait-process: Likewise.
72238
72239 2006-04-23  Bruno Haible  <bruno@clisp.org>
72240
72241         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
72242         condition was already detected.
72243         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72244
72245 2006-04-23  Bruno Haible  <bruno@clisp.org>
72246
72247         * lib/copy-file.c: Include <unistd.h> unconditionally.
72248         * lib/execute.c: Likewise.
72249         * lib/fatal-signal.c: Likewise.
72250         * lib/findprog.c: Likewise.
72251         * lib/mkdtemp.c: Likewise.
72252         * lib/pipe.h: Likewise.
72253         * lib/pipe.c: Likewise.
72254         * lib/wait-process.h: Likewise.
72255
72256 2006-04-23  Bruno Haible  <bruno@clisp.org>
72257
72258         * gnulib-tool (func_usage): Fix --import description. Document
72259         --update.
72260         (func_import): Create temporary file in a temporary directory, if
72261         --dry-run is specified. Silence errors from 'grep' when there are no
72262         m4 files in $m4dir.
72263         (func_create_testdir): Silence errors from 'grep' when there are no
72264         m4 files in $m4dir.
72265         Reported by Karl Berry <karl@freefriends.org>.
72266
72267 2006-04-20  Bruno Haible  <bruno@clisp.org>
72268
72269         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
72270         one argument, so that the code will be portable to Autoconf 2.60.
72271         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
72272         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
72273         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
72274
72275 2006-04-19  Derek Price  <derek@ximbiot.com>
72276             Eric Blake  <ebb9@byu.net>
72277
72278         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
72279         rather than "/full/path.h".  Update comment to match.  Shorten &
72280         generalize m4_translit call via AS_TR_CPP.
72281
72282 2006-04-19  Derek Price  <derek@ximbiot.com>
72283             Eric Blake  <ebb9@byu.net>
72284
72285         * lib/inttypes.h: Correct grammar in comment.
72286
72287 2006-04-18  Derek Price  <derek@ximbiot.com>
72288             Paul Eggert  <eggert@cs.ucla.edu>
72289
72290         * modules/inttypes: New file.
72291         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
72292
72293 2006-04-18  Derek Price  <derek@ximbiot.com>
72294             Paul Eggert  <eggert@cs.ucla.edu>
72295
72296         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
72297         New files.
72298
72299 2006-04-18  Derek Price  <derek@ximbiot.com>
72300             Paul Eggert  <eggert@cs.ucla.edu>
72301
72302         * lib/inttypes.h: New file.
72303         * lib/strtoimax.c: Assume <inttypes.h>.
72304
72305 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
72306
72307         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
72308         isn't mounted.  Problem reported by Kir Kolyshkin.
72309
72310 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
72311
72312         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
72313         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
72314         Derek R. Price.
72315         * lib/regex.h (RE_DUP_MAX): Update comment to match current
72316         implementation.
72317
72318 2006-04-12  Eric Blake  <ebb9@byu.net>
72319
72320         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
72321         is now done automatically by the corresponding Autoconf macro.
72322
72323 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
72324
72325         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
72326         time_r.h.
72327
72328 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72329
72330         Merge regex changes from libc, removing some of our
72331         POSIX-conformance changes that were rejected and redoing them in a
72332         less-intrusive way.
72333
72334         * lib/regcomp.c (re_compile_internal, init_dfa):
72335         Length arg is now size_t, not Idx.  All uses changed.
72336         (peek_token): Forward decl now says internal_function.
72337         (__re_error_msgid, __re_error_msgid_idx):
72338         Now static rather than extern with attribute_hidden.
72339         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
72340         For some reason libc prefers K&R style defns for external functions.
72341         (regerror) [!defined _LIBC]: Likewise.
72342         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
72343         (seek_collating_symbol_entry, lookup_collation_sequence_value):
72344         (build_range_exp, build_collating_symbol):
72345         Use K&R-style defn.
72346         (re_compile_fastmap): Use '\0' to memset, not 0.
72347         (utf8_sb_map): Make the calculations more obvious.
72348         (init_dfa, parse_bracket_exp, build_charclass_op):
72349         Call calloc and cast result, as glibc does.
72350         (init_word_char, fetch_token, peek_token, peek_token_bracket):
72351         (build_range_exp, build_collating_symbol):
72352         Now internal functions.
72353
72354         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
72355
72356         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
72357         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
72358         Don't depend on VMS; depend on __VMS instead, for POSIX
72359         namespace cleanness.
72360         (regoff_t): Define to ssize_t, not long int.
72361
72362         Remove the REG_ macros named below.  Instead, make the old names
72363         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
72364         __USE_GNU_REGEX.
72365         (REG_BACKSLASH_ESCAPE_IN_LISTS):
72366         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
72367         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
72368         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
72369         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
72370         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
72371         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
72372         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
72373         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
72374         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
72375         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
72376         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
72377         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
72378         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
72379         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
72380         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
72381         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
72382         (REG_NREGS):
72383         Remove.  All uses replaced by the old RE_* names.
72384         (RE_BACKSLASH_ESCAPE_IN_LISTS):
72385         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
72386         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
72387         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
72388         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
72389         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
72390         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
72391         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
72392         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
72393         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
72394         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
72395         Don't bother having these macros be independent of each others'
72396         values, since they no longer exist in the POSIX name space.
72397
72398         Rename the following member names back to their old names,
72399         unless !__USE_GNU_REGEX.  All uses changed back.
72400         (buffer): Renamed from re_buffer.
72401         (allocated): Renamed from re_allocated.
72402         (used): Renamed from re_used.
72403         (syntax): Renamed from re_syntax.
72404         (fastmap): Renamed from re_fastmap.
72405         (translate): Renamed from re_translate.
72406         (can_be_null): Renamed from re_can_be_null.
72407         (regs_allocated): Renamed from re_regs_allocated.
72408         (fastmap_accurate): Renamed from re_fastmap_accurate.
72409         (no_sub): Renamed from re_no_sub.
72410         (not_bol): Renamed from re_not_bol.
72411         (not_eol): Renamed from re_not_eol.
72412         (newline_anchor): Renamed from re_newline_anchor.
72413         (num_regs): Renamed from rm_num_regs.
72414         (start): Renamed from rm_start.
72415         (end): Renamed from rm_end.
72416
72417         (free_state): Move up a bit.
72418
72419         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
72420         #define to be empty.
72421         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
72422         when that is what is intended.
72423         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
72424         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
72425         (MAX): New macro.
72426         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
72427         All uses changed back to re_malloc, etc.  It's now the caller's
72428         responsibility to check for overflow; all callers changed.
72429         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
72430         (re_x2nrealloc): Remove.
72431         (free_state): Remove decl.
72432
72433         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
72434         (re_set_registers, re_exec):
72435         Use K&R-style defn.
72436
72437         2006-01-31  Roland McGrath  <roland@redhat.com>
72438
72439         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
72440         Reported by Mike Frysinger <vapier@gentoo.org>.
72441
72442         2006-01-15  Andreas Jaeger  <aj@suse.de>
72443
72444         [BZ #1950]
72445         * lib/regex_internal.c (re_string_reconstruct): Adjust for
72446         build_wcs_upper_buffer change.
72447         (build_wcs_upper_buffer): Change return type.
72448
72449         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
72450
72451         * lib/regex_internal.h: Include <stdint.h> if available.
72452
72453         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
72454
72455         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
72456
72457         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
72458
72459         * lib/regcomp.c: Adjust for changed secondary hash function.
72460
72461         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
72462
72463         * lib/regex.h: Pretty printing.
72464         Clean up namespace a bit.
72465
72466         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
72467
72468         * lib/regexec.c (update_cur_sifted_state, check_arrival,
72469         check_arrival_add_next_nodes): Avoid using uninitialized variable.
72470
72471         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
72472                     Ulrich Drepper  <drepper@redhat.com>
72473
72474         [BZ #1302]
72475         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
72476         changed.
72477         (bitset_word_t): Renamed from bitset_word.  All uses changed.
72478
72479         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
72480
72481         [BZ #281]
72482         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
72483         * lib/regcomp.c: Remove unnecessary uses of
72484         unsigned RE_TRANSLATE_TYPE.
72485         * lib/regex_internal.h: Likewise.
72486         * lib/regex_internal.c: Likewise.
72487         * lib/regexec.c: Likewise.
72488         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
72489
72490         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
72491
72492         * lib/regexec.c (find_recover_state): Remove unnecessary
72493         initialization.
72494         (transit_state_bkref): Make DFA a const pointer.
72495         (get_subexp): Likewise.
72496         (check_arrival): Likewise.
72497         (update_cur_sifted_state): Likewise.
72498         (re_search_internal): Likewise.
72499         (prune_impossible_nodes): Likewise.
72500         (acquire_init_state_context): Likewise.
72501         (proceed_next_node): Likewise.
72502         (set_regs): Likewise.
72503         (free_fail_stack_return): Likewise.
72504         (check_arrival_expand_ecl): Mark DFA parameter as const.
72505         (check_arrival_expand_ecl_sub): Likewise.
72506         (check_subexp_limits): Likewise.
72507         (sub_epsilon_src_nodes):  Likewise.
72508         (add_epsilon_src_nodes):  Likewise.
72509         (merge_state_array): Likewise.
72510         (update_regs): Likewise.
72511         (build_trtable): Likewise.
72512         (sift_states_backward): Mark MCTX parameter as const.
72513         (build_sifted_states): Likewise.
72514         (update_cur_sifted_state): Likewise.
72515         (sift_states_mkref): Likewise.
72516         (check_arrival_expand_ecl): Mark eclosure as const.
72517         (check_dst_limits_calc_pos_1): Likewise.
72518         * lib/regex_internal.h (re_match_context_t): Make dfa a const
72519         pointer.
72520
72521         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
72522
72523         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
72524         (transit_state_sb): Likewise.
72525         (transit_state_mb): Likewise.
72526         (sift_states_iter_mb): Likewise.
72527         (check_arrival_add_next_nodes): Likewise.
72528         (check_node_accept_bytes): Change first parameter to pointer-to-const.
72529         [_LIBC] (re_search_2_stub): Use mempcpy.
72530
72531         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
72532         mbrtowc for very simple UTF-8 case.
72533
72534         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
72535         a pointer-to-const.
72536         (re_acquire_state_context): Likewise.
72537         * lib/regex_internal.h: Adjust prototypes.
72538
72539         * lib/regex.c: Prevent using C++ compilers.
72540
72541         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
72542         (re_acquire_state_context): Likewise.
72543
72544 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72545
72546         * modules/regex (Depends-on): Add ssize_t.
72547
72548 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72549
72550         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
72551         translation table.
72552
72553 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72554
72555         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
72556
72557 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
72558             Bruno Haible  <bruno@clisp.org>
72559
72560         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
72561         <sys/types.h> and <inttypes.h>.
72562
72563 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72564
72565         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
72566         `__error_t_defined', so argp.h will not typedef the former.
72567
72568 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
72569
72570         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
72571         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
72572         glibc names.  Even if glibc is changed to conform to POSIX, the
72573         traditional names will be available anyway, since regex depends on
72574         the extensions module.  Also, fix a longstanding typo in the
72575         implementation of Spencer ERE test #75 from grep 2.3.  Problems
72576         reported by Emanuele Giaquinta.  Also, change sense of cached
72577         variable, so that the message makes sense.
72578
72579 2006-03-24  Simon Josefsson  <jas@extundo.com>
72580
72581         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
72582         including some doc fixes.
72583         (base64_encode_alloc): Fix +1 bug on allocation failures.
72584
72585 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72586
72587         * lib/base64.c (base64_encode): Do not read past end of array with
72588         unsanitized input on systems with CHAR_BIT > 8.
72589
72590 2006-03-24  Eric Blake  <ebb9@byu.net>
72591
72592         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
72593
72594 2006-03-22  Karl Berry  <karl@gnu.org>
72595
72596         * config/srclist.txt (*setenv.[ch]): get from coreutils.
72597         * config/srclistvars.sh (COREUTILS): new var.
72598
72599 2006-03-17  Jim Meyering  <jim@meyering.net>
72600
72601         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
72602         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
72603
72604 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72605
72606         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
72607         no longer needs it.  Instead, check that regoff_t is as least
72608         as wide as ptrdiff_t.
72609
72610         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
72611         so that our regex.h stays compatible with the installed regex.
72612         This is helpful for installers who configure --without-included-regex.
72613         Problem reported by Emanuele Giaquinta.
72614
72615 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72616
72617         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
72618         Typedef to long int, not to off_, as POSIX will likely change
72619         in that direction.
72620
72621 2006-03-15  Eric Blake  <ebb9@byu.net>
72622
72623         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
72624
72625 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72626
72627         * lib/argp-help.c (validate_uparams): Fix typo
72628         * lib/argp-parse.c (argp_default_options): Consistently begin help
72629         messages with a lowercase letter.
72630
72631 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
72632
72633         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
72634         overrun buffers and shouldn't be used (much as gets shouldn't be
72635         used).
72636         * lib/time_r.c (asctime_r, ctime_r): Likewise.
72637
72638 2006-03-08  Simon Josefsson  <jas@extundo.com>
72639
72640         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
72641         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72642
72643 2006-03-08  Simon Josefsson  <jas@extundo.com>
72644
72645         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
72646         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72647
72648 2006-03-08  Simon Josefsson  <jas@extundo.com>
72649
72650         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
72651         signal that configure disabled the device.
72652
72653 2006-03-08  Simon Josefsson  <jas@extundo.com>
72654
72655         * build-aux/maint.mk: Fix refresh-po, to handle no translated
72656         languages.
72657
72658 2006-03-07  Simon Josefsson  <jas@extundo.com>
72659
72660         * modules/getopt (Depends-on): Add unistd.
72661
72662         * modules/unistd: New file.
72663
72664 2006-03-07  Simon Josefsson  <jas@extundo.com>
72665
72666         * modules/gc-random: New file.
72667
72668 2006-03-07  Simon Josefsson  <jas@extundo.com>
72669
72670         * m4/unistd_h.m4: New file.
72671
72672 2006-03-07  Simon Josefsson  <jas@extundo.com>
72673
72674         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
72675         test to be side-effect free by storing the result in the cache
72676         variable gl_cv_lib_readline, and moving the assignment of
72677         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
72678         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72679
72680 2006-03-07  Simon Josefsson  <jas@extundo.com>
72681
72682         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
72683         error on missing devices (the functions will return an error).
72684
72685         * m4/gc.m4: Move random stuff to gc-random.m4
72686
72687 2006-03-07  Simon Josefsson  <jas@extundo.com>
72688
72689         * lib/unistd_.h: New file.
72690
72691 2006-03-07  Simon Josefsson  <jas@extundo.com>
72692
72693         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
72694
72695 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72696
72697         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
72698         Problem reported by Juan Manuel Guerrero.
72699
72700 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72701
72702         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
72703         the unistd module.
72704         * lib/getlogin_r.c: Likewise.
72705         * lib/getlogin_r.h: Likewise.
72706         * lib/glob.c: Likewise.
72707         * lib/pagealign_alloc.c: Likewise.
72708         * lib/unistd_.h: Remove; no longer needed.
72709
72710 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72711
72712         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72713         Add unistd.
72714         * modules/c-stack (Depends-on): Add unistd.
72715         * modules/getlogin_r: Likewise.
72716         * modules/glob: Likewise.
72717         * modules/pagealign_alloc: Likewise.
72718         * modules/unistd (Files): Remove lib/unistd_.h.
72719         (EXTRA_DIST): Remove.
72720         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
72721         need unistd_.h.
72722         (MOSTLYCLEANFILES): Remove unistd.h-t.
72723
72724 2006-03-03  Simon Josefsson  <jas@extundo.com>
72725
72726         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
72727
72728 2006-03-03  Simon Josefsson  <jas@extundo.com>
72729
72730         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
72731         libidn and bison.
72732
72733 2006-03-03  Simon Josefsson  <jas@extundo.com>
72734
72735         * build-aux/maint.mk: Add indent target.
72736
72737 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
72738
72739         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
72740         our replacement poll.h in any case, to avoid a differing
72741         declaration from a system header.  Seen on AIX.
72742
72743 2006-03-01  Simon Josefsson  <jas@extundo.com>
72744
72745         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
72746         <kasal@ucw.cz>.
72747
72748 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72749
72750         * modules/gettime (Depends-on): Add extensions module.
72751         * modules/nanosleep (Depends-on): Likewise.
72752         * modules/settime (Depends-on): Likewise.
72753
72754 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72755
72756         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
72757         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
72758         pedantically.
72759         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72760         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
72761
72762         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
72763         not "==".  Reported by Ralf Wildenhues.
72764
72765 2006-03-01  Karl Berry  <karl@gnu.org>
72766
72767         * doc/Copyright/request-*: new files, synced from gnuorg.
72768
72769 2006-03-01  Karl Berry  <karl@gnu.org>
72770
72771         * config/srclist.txt (Copyright/*): new entries.
72772
72773 2006-02-28  Simon Josefsson  <jas@extundo.com>
72774
72775         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
72776
72777 2006-02-27  Simon Josefsson  <jas@extundo.com>
72778
72779         * lib/base64.h: Indent #define's.  From Jim Meyering
72780         <jim@meyering.net>.
72781
72782 2006-02-27  Jim Meyering  <jim@meyering.net>
72783
72784         Revert the change of 2006-02-24, so these files can continue
72785         to be sync'd from gettext.
72786         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
72787         of `config.h'.
72788
72789 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72790
72791         * modules/intprops: New file.
72792         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72793         Add intprops.
72794         * modules/getloadavg (Files): Remove lib/intprops.h.
72795         (Depends-on): Add intprops.
72796         * modules/human: Likewise.
72797         * modules/inttostr: Likewise.
72798         * modules/openat: Likewise.
72799         * modules/sig2str: Likewise.
72800         * modules/userspec: Likewise.
72801         * modules/utimecmp: Likewise.
72802         * modules/xnanosleep: Likewise.
72803         * modules/xstrtol: Likewise.
72804
72805 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
72806
72807         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
72808         * modules/lock-tests (TESTS): Use $(EXEEXT).
72809         * modules/tls-tests: Likewise.
72810         * modules/argp-tests: Likewise.
72811         (check_PROGRAMS): New var, replacing...
72812         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
72813
72814 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72815
72816         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
72817         `config.h'.
72818
72819 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72820
72821         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
72822
72823 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72824
72825         Sync from coreutils.
72826         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
72827         gl_CHDIR_SAFER.
72828
72829 2006-02-22  Jim Meyering  <jim@meyering.net>
72830
72831         Sync from coreutils.
72832         * m4/chdir-safer.m4: New file.
72833
72834 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72835
72836         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
72837         AT_FDCWD exceeds INT_MAX.
72838         * lib/openat.h (AT_FDCWD): Likewise.
72839
72840 2006-02-17  Eric Blake  <address@hidden>
72841
72842         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72843
72844 2006-02-16  Simon Josefsson  <jas@extundo.com>
72845
72846         * modules/getaddrinfo (Depends-on): Add sys_socket.
72847
72848 2006-02-15  Simon Josefsson  <jas@extundo.com>
72849
72850         * build-aux/maint.mk: Add dsyntax-check rule.
72851
72852 2006-02-15  Eric Blake  <ebb9@byu.net>
72853
72854         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72855         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72856         'present but cannot compile' warnings on cygwin.
72857         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72858         use ws2tcpip.h if sys/socket.h works.
72859         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72860         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72861
72862 2006-02-14  Simon Josefsson  <jas@extundo.com>
72863
72864         * modules/maintainer-makefile (Files): Rename.
72865
72866         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72867         and (the local) Makefile.cfg to maint-cfg.mk.
72868
72869         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72870         to the latter.
72871
72872         * modules/maintainer-makefile: New module.
72873
72874         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72875         severaly stripped to make it possible to build it up from scratch
72876         with reliable tests.
72877
72878         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72879         fixes to permit overriding the default actions when configure and
72880         makefile are not available.
72881
72882 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72883
72884         Sync from coreutils.
72885         * modules/lstat (Depends-on): Don't depend on xalloc.
72886         (License): Change from GPL to LGPL, since this is now simply a
72887         replacement for a libc function.
72888
72889 2006-02-14  Jim Meyering  <jim@meyering.net>
72890
72891         Sync from coreutils.
72892
72893         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72894         failure on deficient systems, and simplify gnulib lgpl dependencies.
72895         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72896         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72897
72898         * lib/xalloc-die.c: Remove unused definition of N_.
72899
72900 2006-02-14  Jim Meyering  <jim@meyering.net>
72901
72902         Sync from coreutils.
72903         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72904         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72905         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72906         double-quote uses of that variable, to accommodate the rare case in
72907         which getmntent is available in none of the libraries checked.  This
72908         happens at least on FreeBSD 5.0.
72909
72910 2006-02-13  Simon Josefsson  <jas@extundo.com>
72911
72912         * gnulib-tool (Usage): Fix --import, from
72913         karl@freefriends.org (Karl Berry).
72914
72915 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72916
72917         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72918
72919 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72920
72921         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72922         "autoupdate" on 2005-12-12.
72923
72924 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72925
72926         * modules/closeout (Depends-on): Remove atexit.
72927
72928 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72929
72930         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72931         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72932
72933 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72934
72935         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72936         __EXTENSIONS__ if this causes compilation to fail.  Problem
72937         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72938         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72939
72940 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72941
72942         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72943         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72944         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72945         All uses changed.
72946
72947 2006-01-26  Simon Josefsson  <jas@extundo.com>
72948
72949         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72950         prototype is visible on mingw32.
72951
72952         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72953         for mingw32.
72954
72955         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72956         mingw32).
72957
72958 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72959
72960         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72961         attempt to open for write; this always fails, at least on POSIX
72962         hosts.  This reinstates the 2006-01-09 change, which was
72963         inadvertently removed.
72964
72965 2006-01-26  Bruno Haible  <bruno@clisp.org>
72966
72967         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72968         Reported by Paul Eggert.
72969
72970 2006-01-26  Bruno Haible  <bruno@clisp.org>
72971             Paul Eggert  <eggert@cs.ucla.edu>
72972
72973         * lib/stdbool_.h (_Bool)
72974         [(! (defined __cplusplus || defined __BEOS__)
72975           && !defined __GNUC__
72976           && !(defined __HP_cc || defined __xlc__
72977                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72978                || defined __sgi))]:
72979         #define to signed char in these cases too; this simplifies
72980         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72981         etc., separately) and makes it more conservative.
72982
72983 2006-01-25  Simon Josefsson  <jas@extundo.com>
72984
72985         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72986         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72987         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72988
72989 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72990
72991         * lib/argp-namefrob.h: Bugfix. Remove stray #
72992
72993 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72994
72995         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72996         so that we test the test.
72997         Check for yet another HP-UX cc bug involving *bool |= bool.
72998
72999 2006-01-25  Karl Berry  <karl@gnu.org>
73000
73001         * config/srclist.txt (vasnprintf.c): sync lost.
73002
73003 2006-01-25  Jim Meyering  <jim@meyering.net>
73004
73005         Sync from the stable (b5) branch of coreutils:
73006
73007         * lib/fts.c (fts_children): Don't let close() clobber errno from
73008         failed fchdir().
73009
73010         * lib/fts.c (fts_stat): When following a symlink-to-directory,
73011         don't necessarily interpret stat-fails+lstat-succeeds as indicating
73012         a dangling symlink.  That can also happen at least for ELOOP.
73013         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
73014         FYI, this bug predates the inclusion of fts.c in coreutils.
73015
73016         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
73017         in their own block, so pre-c99 compilers don't object.
73018
73019         Avoid the double-free (first in fts_read, second in fts_close) that
73020         would occur when an `active' directory is made inaccessible (e.g.,
73021         via chmod a-x) during a traversal.
73022         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
73023         before returning.  Reproduce this failure by
73024         mkdir -p a/b; cd a; chmod a-x . b
73025         Reported by Stavros Passas.
73026
73027 2006-01-25  Jim Meyering  <jim@meyering.net>
73028
73029         * lib/fileblocks.c: Remove more useless parentheses.
73030         * lib/readutmp.h: Likewise.
73031
73032 2006-01-25  Bruno Haible  <bruno@clisp.org>
73033
73034         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
73035         warnings.
73036         Reported by Paul Eggert.
73037
73038 2006-01-25  Bruno Haible  <bruno@clisp.org>
73039
73040         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
73041         rid of a trap command. For Solaris sh.
73042         Reported by Mark D. Baushke <mdb@gnu.org>.
73043
73044 2006-01-24  Simon Josefsson  <jas@extundo.com>
73045
73046         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
73047         Bruno.
73048
73049 2006-01-24  Karl Berry  <karl@gnu.org>
73050
73051         * config/srclist.txt (argp-namefrob.h): sync lost.
73052
73053 2006-01-24  Jim Meyering  <jim@meyering.net>
73054
73055         * modules/openat (Files): Add lib/intprops.h.
73056         From Mark D. Baushke.
73057
73058 2006-01-24  Jim Meyering  <jim@meyering.net>
73059
73060         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
73061         Reported by Mark D. Baushke.
73062
73063 2006-01-24  Jim Meyering  <jim@meyering.net>
73064
73065         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
73066
73067 2006-01-24  Bruno Haible  <bruno@clisp.org>
73068
73069         * modules/strnlen (Maintainer): Change from glibc to all.
73070
73071 2006-01-24  Bruno Haible  <bruno@clisp.org>
73072
73073         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
73074         Patch by Paul Eggert.
73075
73076 2006-01-24  Bruno Haible  <bruno@clisp.org>
73077
73078         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
73079         already has it.
73080         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
73081         2005-11-26.
73082
73083         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
73084         'signed char' to avoid problems with the built-in _Bool type.
73085         Reported by Paul Eggert on 2005-11-26.
73086
73087 2006-01-24  Bruno Haible  <bruno@clisp.org>
73088
73089         * gnulib-tool (func_import): Avoid constructing complicated sed
73090         expressions inside backquote.
73091         Report and solution by Mark D. Baushke <mdb@gnu.org>.
73092
73093 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
73094
73095         These changes imported from libc.
73096         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
73097         test and two separate function calls.
73098         * lib/strndup.c (__strndup): Add libc_hidden_def.
73099
73100 2006-01-23  Simon Josefsson  <jas@extundo.com>
73101
73102         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
73103         Remove the test_*_SOURCES variable: automake infers it by default.
73104         * modules/tls-tests: Likewise.
73105
73106 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73107
73108         Work around porting bugs reported by Dieter in
73109         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
73110         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
73111         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
73112         Include "getopt.h" first, to check interface.
73113         (getenv): Declare only if defined HAVE_DECL_GETENV &&
73114         !HAVE_DECL_GETENV.
73115         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
73116         (__strndup): Revert to K&R-style function dfns, the glibc style.
73117         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
73118         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
73119         Include strnlen.h first, to get prototype properly.
73120         (strnlen): Renamed from __strnlen.
73121         Remove weak alias.
73122
73123 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73124
73125         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
73126
73127 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73128
73129         * config/srclist.txt: Adjust to reflect glibc reorganization.
73130         This affects only comments.
73131
73132 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73133
73134          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
73135          Reported by Bruce Korb <bkorb@gnu.org>.
73136
73137 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
73138
73139         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
73140         to pacify gcc -Wswitch-default.
73141
73142 2006-01-22  Bruno Haible  <bruno@clisp.org>
73143
73144         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
73145         temporary buffer for sprintf, take into account the precision also
73146         for 'd', 'i', 'u', 'o', 'x', 'X'.
73147
73148 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
73149
73150         * modules/argp-tests: New module
73151         * tests/test-argp.c: New file
73152         * tests/test-argp-2.sh: New file
73153
73154 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
73155
73156         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
73157         (__argp_base_name): Removed
73158         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
73159         typo.
73160         (__argp_base_name): Provide macro definition or extern declaration
73161         depending on the configuration
73162
73163 2006-01-20  Simon Josefsson  <jas@extundo.com>
73164
73165         * modules/inet_ntop (Depends-on): Depend on sys_socket.
73166
73167 2006-01-20  Simon Josefsson  <jas@extundo.com>
73168
73169         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
73170
73171 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73172
73173         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
73174         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
73175         Suggested by Bruno Haible.
73176
73177 2006-01-20  Karl Berry  <karl@gnu.org>
73178
73179         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
73180         until changes propagate, I guess.
73181
73182 2006-01-19  Simon Josefsson  <jas@extundo.com>
73183
73184         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
73185
73186 2006-01-19  Simon Josefsson  <jas@extundo.com>
73187
73188         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
73189
73190 2006-01-19  Simon Josefsson  <jas@extundo.com>
73191
73192         * gnulib-tool: Set check_PROGRAMS.
73193
73194         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
73195         modules/des-tests, modules/gc-arcfour-tests,
73196         modules/gc-arctwo-tests, modules/gc-des-tests,
73197         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
73198         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
73199         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
73200         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
73201         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
73202         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
73203         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
73204         test_*_SOURCES.
73205
73206 2006-01-18  Simon Josefsson  <jas@extundo.com>
73207
73208         * modules/socklen (Depends-on): Depend on sys_socket.
73209
73210 2006-01-18  Simon Josefsson  <jas@extundo.com>
73211
73212         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
73213         modules/des-tests, modules/gc-arcfour-tests,
73214         modules/gc-arctwo-tests, modules/gc-des-tests,
73215         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
73216         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
73217         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
73218         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
73219         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
73220         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
73221         $(EXEEXT) to automake TESTS variable, for mingw32.
73222
73223 2006-01-17  Simon Josefsson  <jas@extundo.com>
73224
73225         * modules/socklen (Include): Need sys/socket.h.
73226
73227 2006-01-17  Bruno Haible  <bruno@clisp.org>
73228
73229         * modules/ssize_t (Include): Add <sys/types.h>.
73230
73231 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
73232
73233         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
73234         it's not portable and it doesn't work with cross-compiles.
73235         Problem reported by Bruno Haible.  Fix missing-$ typo in
73236         'test "gl_cv_ignore_unused_libraries" ...' that prevented
73237         -zignore from being used with Sun's C compiler.
73238
73239 2006-01-12  Simon Josefsson  <jas@extundo.com>
73240
73241         * lib/base64.c: Fix warning, reported by Bruno Haible
73242         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
73243
73244 2006-01-12  Bruno Haible  <bruno@clisp.org>
73245
73246         * modules/ldd: New file.
73247         * build-aux/ldd.sh.in: New file.
73248         * MODULES.html.sh (Support for building libraries and executables): Add
73249         ldd.
73250
73251 2006-01-12  Bruno Haible  <bruno@clisp.org>
73252
73253         * m4/ldd.m4: New file.
73254
73255 2006-01-12  Bruno Haible  <bruno@clisp.org>
73256
73257         * gnulib-tool (func_import, func_create_testdir): Don't go into an
73258         endless loop while replacing $auxdir with build-aux.
73259
73260 2006-01-11  Simon Josefsson  <jas@extundo.com>
73261
73262         * lib/stdint_.h (SIZE_MAX): Add missing (.
73263
73264 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
73265
73266         Sync from coreutils.
73267         * lib/md5.c: Fix commentary typos.
73268         (alignof, UNALIGNED_P): No need for a GCC-specific version.
73269         * lib/md5.h (__attribute__): Remove; unused.
73270         * lib/sha1.c: Fix commentary to match md5 better.
73271         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
73272         so that we don't need to worry about alignment.  All uses changed.
73273         This merges the 2005-10-28 md5 change into sha1.
73274
73275 2006-01-11  Jim Meyering  <jim@meyering.net>
73276
73277         Sync from coreutils.
73278         * lib/md5.c (OP): Fix spacing.
73279
73280 2006-01-11  Bruno Haible  <bruno@clisp.org>
73281
73282         Ensure automatic ordering between gl_LOCK and gl_ARGP.
73283         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
73284         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
73285
73286 2006-01-11  Bruno Haible  <bruno@clisp.org>
73287
73288         Ensure automatic ordering between gl_LOCK and gl_ARGP.
73289         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
73290         the "early" section as well.
73291
73292 2006-01-11  Bruno Haible  <bruno@clisp.org>
73293
73294         Avoid "ar: no archive members specified" error on MacOS X.
73295         * gnulib-tool (func_modules_add_dummy): New function.
73296         (func_import, func_create_testdir): Invoke it.
73297
73298 2006-01-11  Bruno Haible  <bruno@clisp.org>
73299
73300         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
73301         with $auxdir in AC_CONFIG_FILES statements.
73302
73303 2006-01-11  Bruno Haible  <bruno@clisp.org>
73304
73305         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73306         Initialize also noinst_HEADERS to empty.
73307
73308 2006-01-11  Bruno Haible  <bruno@clisp.org>
73309
73310         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
73311         variables.
73312         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
73313         autoreconf.
73314
73315 2006-01-11  Bruno Haible  <bruno@clisp.org>
73316
73317         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
73318         overridable by the user.
73319         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73320
73321 2006-01-10  Simon Josefsson  <jas@extundo.com>
73322
73323         * modules/sys_socket: New file.
73324
73325 2006-01-10  Simon Josefsson  <jas@extundo.com>
73326
73327         * m4/sys_socket_h.m4: New file.
73328
73329 2006-01-10  Simon Josefsson  <jas@extundo.com>
73330
73331         * lib/socket_.h: New file.
73332
73333 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
73334
73335         * modules/readutmp (Maintainer): Add myself.
73336
73337 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
73338
73339         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
73340         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
73341         People who are still concerned with buggy memcmp implementations
73342         can invoke gl_FUNC_MEMCMP themselves.
73343
73344 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
73345
73346         * lib/regex_internal.h (BITSET_WORD_BITS):
73347         Work around a bug in 64-bit PGC (before version 6.1-2), where the
73348         preprocessor mishandles large unsigned values as if they were signed.
73349         Problem reported by Claudio Fontana in
73350         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
73351
73352 2006-01-10  Jim Meyering  <jim@meyering.net>
73353
73354         Avoid the double-free (first in fts_read, second in fts_close) that
73355         would occur when an `active' directory is made inaccessible (e.g.,
73356         via chmod a-x) during a traversal.
73357         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
73358         before returning.  Reproduce this failure by
73359         mkdir -p a/b; cd a; chmod a-x . b
73360         Reported by Stavros Passas.
73361
73362         Sync from coreutils.
73363         * lib/sha1.c: Tweak grammar in a comment.
73364
73365 2006-01-10  Jim Meyering  <jim@meyering.net>
73366
73367         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
73368         Patch by Joerg Sonnenberger.
73369
73370 2006-01-10  Bruno Haible  <bruno@clisp.org>
73371
73372         * modules/readutmp: Depend on module free.
73373         * modules/strtok_r: Depend on module restrict.
73374
73375 2006-01-10  Bruno Haible  <bruno@clisp.org>
73376
73377         * modules/gettext (configure.ac): Add an invocation of
73378         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
73379
73380 2006-01-10  Bruno Haible  <bruno@clisp.org>
73381
73382         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
73383         Reported by Werner Lemberg <wl@gnu.org>.
73384
73385 2006-01-10  Bruno Haible  <bruno@clisp.org>
73386
73387         * lib/localcharset.c: Update from GNU gettext.
73388
73389 2006-01-10  Bruno Haible  <bruno@clisp.org>
73390
73391         * lib/argp.h (__const): Remove macro. Use const instead.
73392         * lib/argp-fmtstream.h (__const): Likewise.
73393         * lib/glob_.h (__const): Remove macro.
73394         * lib/glob-libc.h: Use const instead of __const.
73395
73396 2006-01-10  Bruno Haible  <bruno@clisp.org>
73397
73398         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
73399         variable.
73400         Needed to avoid an automake error regarding the 'gettext' module.
73401
73402 2006-01-09  Simon Josefsson  <jas@extundo.com>
73403
73404         * modules/inet_ntop (Depends-on): Add restrict.
73405
73406 2006-01-09  Simon Josefsson  <jas@extundo.com>
73407
73408         * modules/gc-rijndael-tests (License): Put under LGPL.
73409
73410         * modules/gc-des-tests (License): Likewise.
73411
73412         * modules/gc-arcfour-tests (License): Likewise.
73413
73414         * modules/gc-arctwo-tests (License): Likewise.
73415
73416         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
73417
73418         * modules/gc-hmac-sha1-tests (Files): Likewise.
73419
73420         * modules/gc-hmac-md5-tests (License): Likewise.
73421
73422         * modules/gc-sha1-tests (License): Likewise.
73423
73424         * modules/gc-md5-tests (License): Likewise.
73425
73426         * modules/gc-md4-tests (License): Likewise.
73427
73428         * modules/gc-md2-tests (License): Likewise.
73429
73430         * modules/gc-tests (License): Likewise.
73431
73432         * modules/des-tests (License): Likewise.
73433
73434         * modules/md4-tests (License): Likewise.
73435
73436         * modules/md2-tests (License): Likewise.
73437
73438 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73439
73440         Sync from coreutils:
73441
73442         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
73443         * modules/lib-ignore: New file.
73444         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
73445         chdir-safer.m4, lchmod.m4.
73446         * modules/openat: Add mkdirat.c, openat-priv.h.
73447
73448 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73449
73450         Sync from coreutils.
73451         * m4/lib-ignore.m4: New file.
73452         * m4/lchmod.m4: New file.
73453
73454 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73455
73456         Sync from coreutils.
73457         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
73458         for write access: POSIX says that must fail.
73459         * lib/fts.c (diropen): Likewise.
73460         * lib/save-cwd.c (save_cwd): Likewise.
73461         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
73462         well, for minor improvements on hosts that lack O_DIRECTORY.
73463         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
73464         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
73465         Fall back on chown if open failed with EACCES.
73466
73467         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
73468         Report an error at compile-time if only a 1-second nominal clock
73469         resolution is found.
73470
73471         * lib/lchmod.h: New file.
73472         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
73473         (make_dir_parents): Use lchown rather than chown, and
73474         lchmod rather than chmod.
73475
73476         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
73477         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
73478         "proc" reported by n0dalus.
73479
73480         * lib/mountlist.c: Include <limits.h>.
73481         (dev_from_mount_options)
73482         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
73483         New function.  It no longer assumes "dev=" has the System V meaning
73484         on Linux (since it doesn't).  It also parses "dev=" more carefully.
73485         (read_file_system_list)
73486         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
73487         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
73488         dev= in that case.
73489
73490         * lib/posixtm.h (PDS_PRE_2000): New macro.
73491         * lib/posixtm.c (year): Arg is now syntax_bits rather than
73492         allow_century.  All usages changed.  Reject dates outside the range
73493         1969-1999 if PDS_PRE_2000 is used.
73494
73495 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73496
73497         Sync from coreutils.
73498         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
73499         (Time of day items): Mention the possibility of leap seconds.
73500         Problem reported by Dr. David Alan Gilbert.
73501
73502 2006-01-09  Jim Meyering  <jim@meyering.net>
73503
73504         Sync from coreutils.
73505
73506         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
73507
73508         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
73509
73510         * lib/modechange.c (mode_compile): Reject an invalid mode string
73511         that starts with an octal digit.  From Andreas Gruenbacher.
73512
73513         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
73514         and dup to open_safer and dup_safer, respectively.
73515         (openat_permissive): Fix typo in comment.
73516
73517         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
73518         "gettext.h"; either no longer needed or are guaranteed by openat.h.
73519         (_): Remove; no longer needed.
73520         (openat): Renamed from rpl_openat; no need for rpl_openat
73521         since openat.h renames openat for us.
73522         Replace most of the body with a call to openat_permissive,
73523         to avoid duplicate code.
73524         Port to (probably hypothetical) environments were mode_t is
73525         wider than int.
73526         (openat_permissive): Require mode arg, so that we can check
73527         types better.  Put it just after flags.  Change cwd failure
73528         indicator from pointer-to-bool to pointer-to-errno-value.
73529         All callers changed.
73530         Invoke openat_save_fail and/or openat_restore_fail if
73531         cwd_errno is null, so that openat can call us.
73532         (openat_permissive, fdopendir, fstatat, unlinkat):
73533         Simplify errno handling to avoid some duplicate code,
73534         as it's OK to set errno on success.
73535         * lib/openat.h: Revamp code so that function macros depend on
73536         __OPENAT_PREFIX only, not also on AT_FDCWD.
73537         (openat_ro): Remove.  Caller changed to use openat_permissive.
73538         (openat_permissive): Now a macro, if not a function.
73539         (openat_restore_fail, openat_save_fail): Now always functions,
73540         since mkdirat needs them even if __OPENAT_PREFIX is defined.
73541
73542         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
73543         and openat.c.
73544         * lib/mkdirat.c: Include openat-priv.h.
73545         Remove definitions of macros defined therein.
73546         * lib/openat.c: Likewise.
73547
73548         * lib/mkdirat.c (mkdirat): New file and function.
73549         * lib/openat.h (mkdirat): Declare.
73550
73551         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
73552
73553         * lib/openat.h (openat_permissive): Declare.
73554         (openat_ro): Define.
73555
73556         * lib/openat.c (EXPECTED_ERRNO): New macro.
73557         (openat_permissive): New function -- used in remove.c rewrite.
73558         (all functions): Set errno just before returning, only if there
73559         was an actual failure.
73560         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
73561
73562         Emulate openat-family functions using Linux's procfs, if possible.
73563         Idea and some code based on Ulrich Drepper's glibc changes.
73564
73565         * lib/openat.c: (BUILD_PROC_NAME): New macro.
73566         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
73567         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
73568         before falling back on save_cwd and restore_cwd.
73569         (fdopendir, fstatat, unlinkat): Likewise.
73570
73571         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
73572         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
73573
73574         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
73575         as second argument to va_arg.  Otherwise, some versions of gcc
73576         warn that `if this code is reached, the program will abort'.
73577
73578 2006-01-09  Jim Meyering  <jim@meyering.net>
73579
73580         Sync from coreutils.
73581         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
73582         Require openat-priv.h.
73583
73584 2006-01-09  Bruno Haible  <bruno@clisp.org>
73585
73586         * modules/strnlen (Include): Use strnlen.h.
73587
73588 2006-01-09  Bruno Haible  <bruno@clisp.org>
73589
73590         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
73591
73592 2006-01-09  Bruno Haible  <bruno@clisp.org>
73593
73594         * lib/sysexit_.h (EX_OK): New macro.
73595         Suggested by Martin Lambers <marlam@marlam.de>.
73596
73597 2006-01-09  Bruno Haible  <bruno@clisp.org>
73598
73599         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
73600         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
73601
73602 2006-01-09  Bruno Haible  <bruno@clisp.org>
73603
73604         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
73605         numbers.
73606
73607 2006-01-09  Bruno Haible  <bruno@clisp.org>
73608
73609         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
73610         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
73611         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
73612         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
73613
73614 2006-01-09  Bruno Haible  <bruno@clisp.org>
73615
73616         * build-aux/javacomp.sh.in: New file, moved from lib/.
73617         * modules/javacomp-script (Files): Update.
73618         (configure.ac): Add AC_CONFIG_FILES invocation.
73619         (EXTRA_DIST): Remove variable.
73620
73621         * build-aux/javaexec.sh.in: New file, moved from lib/.
73622         * modules/javaexec (Files): Update.
73623         (configure.ac): Add AC_CONFIG_FILES invocation.
73624         (EXTRA_DIST): Remove javaexec.sh.in.
73625
73626         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
73627         * modules/csharpcomp-script (Files): Update.
73628         (configure.ac): Add AC_CONFIG_FILES invocation.
73629         (EXTRA_DIST): Remove variable.
73630
73631         * build-aux/csharpexec.sh.in: New file, moved from lib/.
73632         * modules/csharpexec (Files): Update.
73633         (configure.ac): Add AC_CONFIG_FILES invocation.
73634         (EXTRA_DIST): Remove csharpexec.sh.in.
73635
73636 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73637
73638         Sync from coreutils.
73639
73640         Add POSIX ACL support
73641         * lib/acl.h (copy_acl, set_acl): Add declarations.
73642         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
73643         systems other than Linux.
73644         (chmod_or_fchmod): New function: use fchmod when possible,
73645         and chmod otherwise.
73646         (file_has_acl): Add a POSIX ACL implementation, with a
73647         Linux-specific subcase.
73648         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
73649         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
73650         acls are unsupported.
73651         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
73652         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
73653         are unsupported.
73654
73655 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73656
73657         Sync from coreutils.
73658         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
73659
73660 2006-01-07  Bruno Haible  <bruno@clisp.org>
73661
73662         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
73663         gl_EARLY.
73664
73665 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73666
73667         * lib/strftime.c (tzname): Don't declare if it is already #defined.
73668         Problem reported for Mingw by Mark Junker.
73669
73670 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73671
73672         * README: Gnulib normally doesn't generate a tarball.
73673
73674 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
73675
73676         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
73677         long int, not int, for nanosecond counts, so that people who are
73678         used to POSIX struct timespec won't be surprised.  Reported by Jim
73679         Meyering.
73680
73681 2005-12-28  Bruno Haible  <bruno@clisp.org>
73682
73683         * build-aux/config.rpath: Update from GNU gettext.
73684
73685 2005-12-16  Jim Meyering  <jim@meyering.net>
73686
73687         * modules/fprintftime: New module.
73688         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
73689
73690 2005-12-16  Jim Meyering  <jim@meyering.net>
73691
73692         * m4/fprintftime.m4: New file.
73693
73694 2005-12-16  Jim Meyering  <jim@meyering.net>
73695
73696         * lib/fprintftime.c, lib/fprintftime.h: New files.
73697
73698 2005-12-15  Simon Josefsson  <jas@extundo.com>
73699
73700         * modules/socklen (configure.ac): Fix M4 macro name, to align with
73701         new m4/socklen.m4.
73702
73703 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73704
73705         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
73706         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
73707
73708 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73709
73710         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
73711         * lib/argp-help.c (fill_in_uparams): Check if the constructed
73712         struct uparams is valid. Fall back to the default values if it is
73713         not.
73714
73715 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73716
73717         * modules/argp (Files): Add argp-pin.c
73718         (Depends-on): dirname
73719         (lib_SOURCES): Add argp-pin.c
73720
73721 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73722
73723         * m4/argp.m4:  Check if program_invocation_name and
73724         program_invocation_short_name are declared and define appropriate
73725         macros if they are not.
73726
73727 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73728
73729         * lib/argp-help.c (__argp_base_name): New function
73730         (__argp_short_program_name): Rewrite using __argp_base_name
73731         * lib/argp-namefrob.h: Define program_invocation_name and
73732         program_invocation_short_name if requested
73733         (__argp_base_name): Add prototype
73734         * lib/argp-parse.c (argp_def): Use gettext wrappers
73735         (argp_default_parser): Use __argp_base_name
73736         * lib/argp-pin.c: New file. Defines program_invocation_name and
73737         program_invocation_short_name on systems that lack them.
73738
73739 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73740
73741         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
73742         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73743         porting problem reported by Georg Schwarz in
73744         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73745
73746 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73747
73748         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
73749         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73750         porting problem reported by Georg Schwarz in
73751         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73752
73753 2005-12-05  Bruno Haible  <bruno@clisp.org>
73754
73755         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
73756         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
73757         Reported by Mark Junker <mjscod@gmx.de>.
73758
73759 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
73760
73761         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
73762         Use implementation from Albert Chin, with some
73763         comments/corrections by Stepan Kasal and myself.
73764
73765 2005-12-02  Bruno Haible  <bruno@clisp.org>
73766
73767         * gnulib-tool (func_import): Accept GPLed build tool modules when
73768         --lgpl is given.
73769         * modules/csharpcomp-script: New file.
73770         * modules/csharpcomp: Depend on it.
73771         * modules/javacomp-script: New file.
73772         * modules/javacomp: Depend on it.
73773         Suggested by Simon Josefsson.
73774
73775 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
73776
73777         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
73778         statement, to work around an HP-UX 10.20 compiler bug reported by
73779         Peter O'Gorman.
73780
73781 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73782
73783         * modules/savedir (Depends-on): Add openat.
73784
73785 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73786
73787         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
73788         (uintmax_t) [defined uintmax_t]: Do not declare.
73789         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
73790         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
73791         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
73792         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
73793         sake of portability to weird hosts that C allows (though we don't
73794         know of any practical examples).
73795
73796         * lib/savedir.h (fdsavedir): New decl.
73797         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
73798         contains most of the former guts of savedir.
73799         (savedir): Use savedirstream.
73800         Include "openat.h".
73801
73802 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73803
73804         * modules/obstack (Files): Add m4/ulonglong.m4.
73805         Problem reported by Davide Angelocola.
73806
73807 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
73808
73809         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
73810         coreutils no longer futzes with rounding modes.
73811
73812 2005-11-14  Jim Meyering  <jim@meyering.net>
73813
73814         * lib/mkstemp-safer.c: Include <config.h>, required for possible
73815         replacement of mkstemp.
73816
73817 2005-11-10  Simon Josefsson  <jas@extundo.com>
73818
73819         * lib/readline.c: Remove EOL.
73820
73821 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73822
73823         * modules/gethrxtime (Depends-on): Add gettime.
73824
73825 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73826
73827         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
73828         or gettimeofday; no longer needed.
73829
73830 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73831
73832         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
73833         time business.
73834         (gethrxtime) [! (HAVE_NANOUPTIME
73835         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
73836         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
73837         our own approximation.
73838
73839 2005-11-08  Eric Blake  <ebb9@byu.net>
73840
73841         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73842
73843 2005-11-08  Eric Blake  <ebb9@byu.net>
73844
73845         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73846
73847 2005-11-04  Bruno Haible  <bruno@clisp.org>
73848
73849         * gnulib-tool: Implement --update mode.
73850
73851 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73852
73853         Fix porting problem reported by Theodoros V. Kalamatianos.
73854         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73855         Don't assume that futimes failing means we must fail.
73856
73857 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73858
73859         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73860         variables to suggest the intended function of the PATH_MAX check.
73861
73862 2005-10-30  Kean Johnston  <jkj@sco.com>
73863
73864         Trivial changes to support SCO systems.
73865         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73866         as PATH_MAX.
73867         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73868         where __ptr is null when no I/O is pending.
73869
73870 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73871
73872         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73873         leave errno alone.  Problem reported by Dmitry V. Levin.
73874
73875 2005-10-28  Simon Josefsson  <jas@extundo.com>
73876
73877         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73878         Test more.
73879
73880         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73881
73882         * modules/md2, modules/md2-tests: New files.
73883
73884 2005-10-28  Simon Josefsson  <jas@extundo.com>
73885
73886         * m4/inet_ntop.m4: More tests.
73887
73888         * m4/gc-md2.m4, md2.m4: New file.
73889
73890 2005-10-28  Simon Josefsson  <jas@extundo.com>
73891
73892         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73893         "restrict" keywords, as per POSIX.  Protect the function
73894         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73895         Don't use K&R prototypes.  Check the sprintf return values.
73896         Re-define EAFNOSUPPORT if not present.  Indent.
73897
73898         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73899         suggested by Bruno Haible <bruno@clisp.org>.
73900
73901         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73902
73903         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73904
73905         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73906         libgcrypt).
73907
73908         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73909
73910         * lib/md2.h, lib/md2.c: New files.
73911
73912 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73913
73914         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73915         errno alone.  Problem reported by Frederic Jolliton.
73916
73917 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73918
73919         * modules/verify (License): Change from GPL to LGPL.  This is a
73920         tiny module and there are apparently near-equivalents that are
73921         under the BSD license.
73922
73923 2005-10-24  Simon Josefsson  <jas@extundo.com>
73924
73925         * modules/sha1: Relicense to LGPL.
73926
73927 2005-10-24  Simon Josefsson  <jas@extundo.com>
73928
73929         * lib/md4.h: Shrink buffer size, now that we changed the type.
73930
73931 2005-10-23  Simon Josefsson  <jas@extundo.com>
73932
73933         * gnulib-tool (func_import): Fix --tests-base.
73934
73935 2005-10-22  Simon Josefsson  <jas@extundo.com>
73936
73937         * modules/arcfour (Depends-on): Need stdint.
73938
73939 2005-10-22  Simon Josefsson  <jas@extundo.com>
73940
73941         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73942         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73943
73944 2005-10-22  Simon Josefsson  <jas@extundo.com>
73945
73946         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73947         suggested by Bruno Haible <bruno@clisp.org>.
73948
73949 2005-10-22  Simon Josefsson  <jas@extundo.com>
73950
73951         * lib/crc.h: Include stddef.h, for size_t.
73952
73953 2005-10-22  Simon Josefsson  <jas@extundo.com>
73954
73955         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73956         arcfour_context struct (simplify test vector testing in GNU
73957         Shishi).
73958
73959 2005-10-21  Simon Josefsson  <jas@extundo.com>
73960
73961         * modules/des, modules/des-tests: New files.
73962
73963         * modules/gc-des, modules/gc-des-tests: New files.
73964
73965         * tests/test-des.c, tests/test-gc-des.c: New file.
73966
73967 2005-10-21  Simon Josefsson  <jas@extundo.com>
73968
73969         * modules/arctwo, modules/arctwo-tests: New files.
73970
73971         * tests/test-arctwo.c: New file.
73972
73973         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73974
73975         * tests/test-gc-arctwo.c: New file.
73976
73977 2005-10-21  Simon Josefsson  <jas@extundo.com>
73978
73979         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73980         Bruno Haible <bruno@clisp.org>.
73981
73982         * m4/gc-des.m4: New file.
73983
73984 2005-10-21  Simon Josefsson  <jas@extundo.com>
73985
73986         * m4/arctwo.m4: New file.
73987
73988         * m4/gc-arctwo.m4: New file.
73989
73990 2005-10-21  Simon Josefsson  <jas@extundo.com>
73991
73992         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73993         block.
73994
73995 2005-10-21  Simon Josefsson  <jas@extundo.com>
73996
73997         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73998         <bruno@clisp.org>.
73999
74000         * lib/hmac-sha1.c (hmac_sha1): Likewise.
74001
74002         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
74003         Bruno Haible <bruno@clisp.org>.
74004
74005         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
74006         <bruno@clisp.org>.
74007
74008 2005-10-21  Simon Josefsson  <jas@extundo.com>
74009
74010         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
74011
74012 2005-10-21  Simon Josefsson  <jas@extundo.com>
74013
74014         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
74015
74016 2005-10-21  Simon Josefsson  <jas@extundo.com>
74017
74018         * lib/des.h, lib/des.c: New files.
74019
74020         * lib/gc-gnulib.c: Support DES.c
74021
74022 2005-10-21  Simon Josefsson  <jas@extundo.com>
74023
74024         * lib/arctwo.h, lib/arctwo.c: New files.
74025
74026         * lib/gc-gnulib.c: Support ARCTWO.
74027
74028 2005-10-21  Simon Josefsson  <jas@extundo.com>
74029
74030         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
74031         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74032
74033 2005-10-21  Simon Josefsson  <jas@extundo.com>
74034
74035         * gnulib-tool (func_import, func_create_testdir): Define automake
74036         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
74037         Makefile.am snippet),
74038         suggested by Bruno Haible <bruno@clisp.org>.
74039
74040         * modules/gc (Makefile.am): Use it.
74041
74042 2005-10-21  Bruno Haible  <bruno@clisp.org>
74043
74044         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
74045         patch.
74046
74047 2005-10-19  Simon Josefsson  <jas@extundo.com>
74048
74049         * tests/test-gc-rijndael.c: New file.
74050
74051         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
74052
74053 2005-10-19  Simon Josefsson  <jas@extundo.com>
74054
74055         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
74056         interface too.
74057
74058 2005-10-19  Simon Josefsson  <jas@extundo.com>
74059
74060         * tests/test-gc-arcfour.c: New file.
74061
74062         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
74063
74064 2005-10-19  Simon Josefsson  <jas@extundo.com>
74065
74066         * modules/gc-md4, modules/gc-md4-tests: New file.
74067
74068         * tests/test-gc-md4.c: New file.
74069
74070 2005-10-19  Simon Josefsson  <jas@extundo.com>
74071
74072         * m4/gc-md4.m4: New file.
74073
74074 2005-10-19  Simon Josefsson  <jas@extundo.com>
74075
74076         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
74077         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
74078         <kasal@ucw.cz>.
74079
74080 2005-10-19  Simon Josefsson  <jas@extundo.com>
74081
74082         * m4/gc-arcfour.m4: New file.
74083
74084         * m4/gc-rijndael.m4: New file.
74085
74086 2005-10-19  Simon Josefsson  <jas@extundo.com>
74087
74088         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
74089
74090 2005-10-19  Simon Josefsson  <jas@extundo.com>
74091
74092         * lib/gc-gnulib.c: Support ARCFOUR.
74093
74094 2005-10-19  Simon Josefsson  <jas@extundo.com>
74095
74096         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
74097         support.
74098
74099         * lib/gc.h: Add ECB enum type.
74100
74101         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
74102
74103 2005-10-18  Simon Josefsson  <jas@extundo.com>
74104
74105         * tests/test-md5.c: New file.
74106
74107         * modules/md5-tests: New file.
74108
74109 2005-10-18  Simon Josefsson  <jas@extundo.com>
74110
74111         * tests/test-md4.c: New file.
74112
74113         * modules/md4, modules/md4-tests: New files.
74114
74115 2005-10-18  Simon Josefsson  <jas@extundo.com>
74116
74117         * m4/md4.m4: New file.
74118
74119 2005-10-18  Simon Josefsson  <jas@extundo.com>
74120
74121         * lib/md4.h, lib/md4.c: New files, based on md5.?.
74122
74123 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
74124
74125         * gnulib-tool (func_create_testdir): Omit the second check whether
74126         BUILT_SOURCES in nonempty.
74127
74128 2005-10-17  Simon Josefsson  <jas@extundo.com>
74129
74130         * tests/test-rijndael.c: New file.
74131
74132 2005-10-17  Simon Josefsson  <jas@extundo.com>
74133
74134         * modules/sha1: Depend on stdint instead of md5.
74135
74136         * modules/md5: Depend on stdint, remove uint32_t.
74137
74138 2005-10-17  Simon Josefsson  <jas@extundo.com>
74139
74140         * modules/gc-sha1-tests: New file.
74141
74142         * tests/test-gc-sha1.c: New file.
74143
74144 2005-10-17  Simon Josefsson  <jas@extundo.com>
74145
74146         * m4/md5.m4: Remove call to uint32_t.m4.
74147
74148 2005-10-17  Simon Josefsson  <jas@extundo.com>
74149
74150         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
74151
74152         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
74153         md5.h.
74154
74155         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
74156
74157         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
74158
74159 2005-10-17  Simon Josefsson  <jas@extundo.com>
74160
74161         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
74162
74163 2005-10-17  Simon Josefsson  <jas@extundo.com>
74164
74165         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
74166
74167 2005-10-17  Simon Josefsson  <jas@extundo.com>
74168
74169         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
74170
74171         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
74172
74173 2005-10-17  Bruno Haible  <bruno@clisp.org>
74174
74175         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
74176         that it can also be used in a test.
74177
74178 2005-10-16  Bruno Haible  <bruno@clisp.org>
74179
74180         * gnulib-tool (func_emit_tests_Makefile_am): Also define
74181         TESTS_ENVIRONMENT, so that individual tests can augment it.
74182
74183         * gnulib-tool (func_create_testdir): Use an intermediate target for
74184         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
74185         macros, like $(ALLOCA_H), which cannot be passed through the command
74186         line.
74187
74188 2005-10-15  Simon Josefsson  <jas@extundo.com>
74189
74190         * modules/rijndael-tests: New file.
74191
74192         * modules/rijndael: New file.
74193
74194 2005-10-15  Simon Josefsson  <jas@extundo.com>
74195
74196         * m4/rijndael.m4: New file.
74197
74198 2005-10-15  Simon Josefsson  <jas@extundo.com>
74199
74200         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
74201
74202         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
74203
74204 2005-10-14  Simon Josefsson  <jas@extundo.com>
74205
74206         * tests/test-arcfour.c: New file.
74207
74208         * modules/arcfour, modules/arcfour-tests: New files.
74209
74210 2005-10-14  Simon Josefsson  <jas@extundo.com>
74211
74212         * m4/arcfour.m4: New file.
74213
74214 2005-10-14  Simon Josefsson  <jas@extundo.com>
74215
74216         * lib/arcfour.h, lib/arcfour.c: New files.
74217
74218 2005-10-14  Roland McGrath  <roland@redhat.com>
74219
74220         Import from libc.  [BZ #1331]
74221         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
74222         macro argument.
74223         Reported by Matej Vela <vela@debian.org>.
74224
74225 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74226
74227         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
74228         include <wchar.h>; no longer needed.
74229
74230 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74231
74232         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
74233
74234 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
74235         and  Ulrich Drepper  <drepper@redhat.com>
74236
74237         Import from libc.
74238         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
74239         instead of inline stream orientation test and two separate
74240         function calls.  Pay no attention to USE_IN_LIBIO.
74241
74242 2005-10-13  Simon Josefsson  <jas@extundo.com>
74243
74244         * modules/gc-hmac-md5-tests: New file.
74245
74246         * tests/test-gc-hmac-sha1.c: New file.
74247
74248         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
74249
74250         * modules/gc-hmac-md5-tests: New file.
74251
74252         * tests/test-gc-md5.c: New file.
74253
74254         * modules/gc-md5-tests: New file.
74255
74256 2005-10-13  Simon Josefsson  <jas@extundo.com>
74257
74258         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
74259         Move memory allocation outside of loop.
74260
74261 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
74262
74263         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
74264         intermediate directory is in a read-only file system.  Problem
74265         reported by Eric Blake.
74266
74267 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
74268
74269         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
74270
74271 2005-10-12  Simon Josefsson  <jas@extundo.com>
74272
74273         * tests/test-hmac-sha1.c: New file.
74274
74275         * modules/hmac-sha1-tests: New file.
74276
74277         * modules/hmac-sha1: New file.
74278
74279 2005-10-12  Simon Josefsson  <jas@extundo.com>
74280
74281         * modules/gc-sha1: New file.
74282
74283 2005-10-12  Simon Josefsson  <jas@extundo.com>
74284
74285         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
74286
74287         * tests/test-gc-pbkdf2-sha1.c: New file.
74288
74289 2005-10-12  Simon Josefsson  <jas@extundo.com>
74290
74291         * modules/gc-md5, modules/gc-hmac-md5: New files.
74292
74293         * modules/gc (Files): Remove md5, memxor and hmac files.
74294
74295 2005-10-12  Simon Josefsson  <jas@extundo.com>
74296
74297         * m4/gc-pbkdf2-sha1.m4: New file.
74298
74299         * m4/gc-hmac-sha1.m4: New file.
74300
74301         * m4/gc-sha1: New file.
74302
74303         * m4/hmac-sha1.m4: New file.
74304
74305 2005-10-12  Simon Josefsson  <jas@extundo.com>
74306
74307         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
74308
74309         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
74310
74311 2005-10-12  Simon Josefsson  <jas@extundo.com>
74312
74313         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
74314         suggested by Bruno Haible <bruno@clisp.org>.
74315
74316 2005-10-12  Simon Josefsson  <jas@extundo.com>
74317
74318         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
74319
74320 2005-10-12  Simon Josefsson  <jas@extundo.com>
74321
74322         * lib/gc-pbkdf2-sha1.c: New file.
74323
74324         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
74325
74326 2005-10-12  Simon Josefsson  <jas@extundo.com>
74327
74328         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
74329
74330         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
74331
74332 2005-10-12  Simon Josefsson  <jas@extundo.com>
74333
74334         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
74335         GC_USE_HMAC_MD5, respectively.
74336
74337         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
74338         (gc_md5): Fix typo.
74339
74340         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
74341
74342         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
74343
74344         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
74345
74346 2005-10-12  Bruno Haible  <bruno@clisp.org>
74347
74348         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
74349         Reported by Stepan Kasal <kasal@ucw.cz>.
74350
74351 2005-10-11  Simon Josefsson  <jas@extundo.com>
74352
74353         * tests/test-crc.c: New file.
74354
74355         * modules/crc, modules/crc-tests: New files.
74356
74357 2005-10-11  Simon Josefsson  <jas@extundo.com>
74358
74359         * m4/crc.m4: New file.
74360
74361 2005-10-11  Simon Josefsson  <jas@extundo.com>
74362
74363         * lib/gc.h: Add gc_hash and gc_hash_buffer.
74364
74365         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
74366
74367         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
74368
74369 2005-10-11  Simon Josefsson  <jas@extundo.com>
74370
74371         * lib/crc.h, lib/crc.c: New files.
74372
74373         * lib/gc.h (gc_hash_buffer): Add doc.
74374
74375 2005-10-11  Bruno Haible  <bruno@clisp.org>
74376
74377         * modules/c-strcasestr: New file.
74378         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
74379
74380 2005-10-11  Bruno Haible  <bruno@clisp.org>
74381
74382         * modules/c-strcase: New file.
74383         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
74384
74385 2005-10-11  Bruno Haible  <bruno@clisp.org>
74386
74387         * lib/strcasecmp.c: Include limits.h.
74388         (strcasecmp): Avoid integer overflow on exotic platforms.
74389         * lib/strncasecmp.c: Include limits.h.
74390         (strncasecmp): Avoid integer overflow on exotic platforms.
74391         Reported by Paul Eggert.
74392
74393 2005-10-11  Bruno Haible  <bruno@clisp.org>
74394
74395         * lib/c-strcasestr.h: New file, from GNU gettext.
74396         * lib/c-strcasestr.c: New file, from GNU gettext.
74397
74398 2005-10-11  Bruno Haible  <bruno@clisp.org>
74399
74400         * lib/c-strcase.h: New file, from GNU gettext.
74401         * lib/c-strcasecmp.c: New file, from GNU gettext.
74402         * lib/c-strncasecmp.c: New file, from GNU gettext.
74403
74404 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74405
74406         * modules/mempcpy (License): GPL -> LGPL.
74407         * modules/strchrnul (License): Likewise.
74408         * modules/sysexits (License): Likewise.
74409
74410 2005-10-08  Simon Josefsson  <jas@extundo.com>
74411
74412         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
74413
74414 2005-10-07  Simon Josefsson  <jas@extundo.com>
74415
74416         * m4/memxor.m4: Remove gl_C_RESTRICT call.
74417
74418 2005-10-06  Simon Josefsson  <jas@extundo.com>
74419
74420         * tests/test-hmac-md5.c: New file.
74421
74422         * modules/hmac-md5-tests: New file.
74423
74424         * modules/hmac-md5: New file.
74425
74426 2005-10-06  Simon Josefsson  <jas@extundo.com>
74427
74428         * m4/hmac-md5.m4: New file.
74429
74430         * m4/memxor.m4: Require gl_C_RESTRICT.
74431
74432 2005-10-06  Simon Josefsson  <jas@extundo.com>
74433
74434         * lib/memxor.c (memxor): Avoid casts and warnings.
74435
74436 2005-10-06  Simon Josefsson  <jas@extundo.com>
74437
74438         * lib/hmac-md5.c: New file.
74439
74440         * lib/hmac.h: New file.
74441
74442 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74443
74444         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
74445         promotes to int, not unsigned int, to catch the AIX 5.3
74446         compiler bug.
74447
74448 2005-10-05  Simon Josefsson  <jas@extundo.com>
74449
74450         * modules/memxor: New file.
74451
74452         * modules/iconv (Files): Move config.rpath to havelib, it is used
74453         there.
74454
74455         * modules/havelib (Files): Add config.rpath.
74456
74457 2005-10-05  Simon Josefsson  <jas@extundo.com>
74458
74459         * m4/memxor.m4: New file.
74460
74461 2005-10-05  Simon Josefsson  <jas@extundo.com>
74462
74463         * lib/memxor.c (memxor): Fix compiler error.
74464
74465         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
74466         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
74467
74468         * lib/memxor.h, lib/memxor.c: New files.
74469
74470         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
74471         we assume all systems have it, suggested by Jim Meyering
74472         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
74473         any systems lack sys/socket.h; mingw32 is known to lack it, but we
74474         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
74475         same reasons.
74476
74477 2005-10-05  Simon Josefsson  <jas@extundo.com>
74478
74479         * config/srclist.txt: Add glibc bug 1423 for md5.h.
74480
74481 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74482
74483         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
74484         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
74485         needed, since the source code now assumes these .h files.
74486
74487 2005-10-05  Derek Price  <derek@ximbiot.com>
74488
74489         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
74490
74491 2005-10-05  Bruno Haible  <bruno@clisp.org>
74492
74493         * modules/stdint (License): Change to LGPL.
74494
74495 2005-10-04  Simon Josefsson  <jas@extundo.com>
74496
74497         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
74498         D. Baushke" <mdb@gnu.org>.
74499
74500 2005-10-04  Bruno Haible  <bruno@clisp.org>
74501
74502         * lib/verify.h (verify_true): Provide alternative definition for C++.
74503
74504 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
74505
74506         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
74507         (SSIZE_MAX): New macro, if not already defined.
74508         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
74509         than 2 GiB.
74510
74511 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74512
74513         Sync from coreutils.
74514         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
74515         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
74516         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
74517         ULLONG_MAX doesn't work with 2.7.2.1.
74518
74519 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74520
74521         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
74522         From Ben Pfaff.
74523
74524         * modules/exclude (Depends-on): Depend on verify.
74525         * modules/strtoimax (Depends-on): Likewise.
74526         * modules/utimecmp (Depends-on): Likewise.
74527
74528 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74529
74530         * lib/exclude.c: Include verify.h.
74531         (verify): Remove.  All callers changed to use verify.h's version.
74532         * lib/strtoimax.c: Likewise.
74533         * lib/utimecmp.c: Likewis.e
74534
74535         Sync from coreutils.
74536         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
74537         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
74538         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
74539         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
74540         bother returning ENOSYS if settimeofday or stime fails; just let
74541         them return whatever errno they want to return.
74542         * lib/utimens.c: Include unistd.h, for dup2.
74543         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
74544         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
74545
74546 2005-10-02  Jim Meyering  <jim@meyering.net>
74547
74548         Sync from coreutils.
74549         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
74550         from glibc-2.2.5 that fails for read-only files.
74551
74552 2005-10-02  Jim Meyering  <jim@meyering.net>
74553
74554         Sync from coreutils.
74555         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
74556         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
74557         `#if HAVE_CONFIG_H'.
74558         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
74559         Remove AT_FDCWD test.
74560         Do not consume the fd unless successful.
74561         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
74562         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
74563         block, so that we don't even try to compile it if settimeofday is
74564         available.  This works around a compilation failure on OSF1 V5.1,
74565         due to stime requiring a `long int*' while tv_sec is `int'.
74566
74567 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
74568
74569         Sync from coreutils.
74570         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
74571         against `yes', rather than just testing for nonempty.
74572
74573 2005-10-01  Simon Josefsson  <jas@extundo.com>
74574
74575         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
74576         and Darwin.
74577
74578         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
74579         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
74580         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
74581         freeaddrinfo and gai_strerror are declared by the POSIX headers.
74582         Check if struct addrinfo is declared.
74583
74584 2005-10-01  Simon Josefsson  <jas@extundo.com>
74585
74586         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
74587         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
74588         AI_* and EAI_* definitions.  Protect function declarations.
74589
74590 2005-10-01  Jim Meyering  <jim@meyering.net>
74591
74592         Sync from coreutils.
74593
74594         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
74595         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
74596         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
74597         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
74598         in the inet and nsl libraries.  Required on Solaris 5.7.
74599
74600 2005-10-01  Jim Meyering  <jim@meyering.net>
74601
74602         Sync from coreutils.
74603         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
74604         in the inet and nsl libraries.  Required on Solaris 5.7.
74605
74606 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
74607
74608         * lib/getdelim.c (getdelim): Remove unused variables.
74609
74610 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74611
74612         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
74613         so that the code works even with ancient cpp.  Portability problem
74614         with GCC 2.7.2.1 reported by Thomas M.Ott.
74615
74616 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74617
74618         * modules/regex (Depends-on): Add strcase.
74619
74620         * modules/gethostname (Licence): Change from GPL to LGPL, since
74621         gethostname.c is a trivial implementation of a standard library
74622         function.
74623         * modules/poll (License): Change from GPL to LGPL, since it's
74624         derived from LGPL code.
74625
74626 2005-09-27  Jim Meyering  <jim@meyering.net>
74627
74628         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
74629         HAVE_CONFIG_H.
74630
74631         * lib/intprops.h (signed_type_or_expr__): Define.
74632         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
74633         for unsigned types.
74634
74635 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74636
74637         * lib/verify.h (verify_expr): Remove, replacing with:
74638         (verify_true): New macro that returns true instead of void.
74639         (verify_type__): Remove.
74640         (verify): Use verify_true rather than verify_type__.
74641
74642 2005-09-26  Bruno Haible  <bruno@clisp.org>
74643
74644         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
74645         is necessary.
74646         (lib_SOURCES): Remove mbchar.c.
74647         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
74648         (Files): Add m4/mbrtowc.m4.
74649         * modules/mbiter: Likewise.
74650         * modules/mbuiter: Likewise.
74651
74652 2005-09-26  Bruno Haible  <bruno@clisp.org>
74653
74654         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
74655         compile mbchar.c if they are not both present.
74656         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
74657         * m4/mbiter.m4 (gl_MBITER): Likewise.
74658         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
74659         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
74660         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
74661
74662 2005-09-25  Jim Meyering  <jim@meyering.net>
74663
74664         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
74665         also uses socklen_t.
74666
74667 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
74668
74669         * lib/utimens.c (ENOSYS): Define if not already defined.
74670         (futimens): Support having a null PATH if the file descriptor
74671         is nonnegative.
74672
74673         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
74674         Remove.
74675         (__attribute): Define to empty unless GCC 3.1 or later.
74676         This works around a core dump on OpenBSD 3.4, which has GCC
74677         2.95.3, which dumps core when given __attribute__(()).  It also
74678         simplifies other tests, since we really don't want to bother with
74679         worrying about which ancient version of GCC supported what.
74680         Original problem reported by Yoann Vandoorselaere, with part of
74681         the fix suggested by Derek Price.
74682
74683 2005-09-24  Jim Meyering  <jim@meyering.net>
74684
74685         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
74686         so we can once again use a positive bitfield width of 1 -- now we
74687         don't have to explain why we were using a bitfield width of 2.
74688
74689 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74690
74691         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
74692         and similarly for the other external symbols.  Problem reported
74693         by James Gallager.
74694
74695         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
74696         bug reported by Jim Meyering.
74697
74698         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
74699         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
74700         not needed, since socklen is a prerequisite module.
74701
74702 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74703
74704         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
74705         Problem reported by Eric Blake.
74706         (getaddrinfo): Initialize se so that it's not garbage.
74707         Redo internal storage allocation so that it doesn't make unportable
74708         assumptions about alignment.
74709         Fix a memory leak.
74710
74711         * lib/utimens.c (futimens): Use futimesat if available.
74712         Prefer it to futimes since it doesn't have the futimes bug.
74713
74714         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
74715         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
74716         Instead, declare a function that returns a pointer to an array,
74717         and use verify_type__ to declare the size of the array.
74718         Problem and germ of a solution reported by Bruno Haible.
74719         (verify_type__): Use 2, not 1, for bitfield size, to avoid
74720         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
74721
74722 2005-09-23  Jim Meyering  <jim@meyering.net>
74723
74724         Sync from coreutils.
74725         Correct build failure (socklen_t not defined) on at least
74726         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
74727         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
74728
74729 2005-09-23  Jim Meyering  <jim@meyering.net>
74730
74731         * modules/getaddrinfo (Depends-on): Add socklen.
74732
74733 2005-09-23  Bruno Haible  <bruno@clisp.org>
74734
74735         * tests/test-verify.c: New file.
74736
74737 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74738
74739         Sync from coreutils.
74740
74741         * modules/argmatch (Depends-on): Add verify.
74742         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
74743         unistd-safer.
74744         * modules/save-cwd (Depends-on): Likewise.
74745
74746         * modules/openat (Files): Add lib/openat-die.c.
74747         (Depends-on): Remove error, exitfail.
74748         Add dirname.
74749
74750         * modules/verify: New file.
74751         * MODULES.html.sh (Diagnostics <assert.h>): New section,
74752         with "verify" module.
74753
74754 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74755
74756         Sync from coreutils.
74757
74758         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
74759         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
74760         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
74761         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
74762         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
74763         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
74764         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
74765         Don't bother checking for string.h, stdlib.h, unistd.h.
74766         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
74767         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
74768         module's job.
74769         * m4/jm-macros.m4 (gl_MACROS): Likewise.
74770         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
74771
74772         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
74773         (gl_GETDATE): Use it.
74774
74775         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
74776
74777 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74778
74779         Sync from coreutils.
74780
74781         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
74782         stat-time.h.
74783         * lib/argmatch.h: Include verify.h
74784         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
74785         (ARGMATCH_ASSERT): Remove; unused.
74786         * lib/canonicalize.c: Assume STDC_HEADERS.
74787         * lib/exclude.c: Include "strcase.h".
74788         * lib/regex_internal.h [!defined _LIBC]: Likewise.
74789         * lib/getusershell.c: Include stdio--.h rather than stdio.h
74790         and stdio-safer.h.
74791         (getusershell): Call fopen, not fopen_safer.
74792         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
74793         Do not include unistd-safer.h.
74794         (save_cwd): Don't call fd_safer; no longer needed
74795         now that we include fcntl--.h.
74796
74797         * lib/getdate.y (relative_time): New type.
74798         (RELATIVE_TIME_0): New constant.
74799         (parser_control): Use relative_time instead of doing it ourselves.
74800         (%union): Add new relative_time rel member.
74801         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
74802         Now typeless.
74803         (relunit, relunit_snumber): Now of type rel.
74804         (zone, rel, relunit, get_date): Adjust to above changes.
74805
74806         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
74807         Do not include unistd-safer.h.
74808         (getloadavg): Don't call fd_safer; no longer needed
74809         now that we include fcntl--.h.
74810
74811         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
74812         (make_dir_parents): Treat ENOSYS like EEXIST.
74813
74814         Improve quality of diagnostics on restore_cwd failure.
74815         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
74816         (make_dir_parents): Last arg is now int * (for errno), not bool *.
74817         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
74818         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
74819         each time through the loop.  Do not diagnose restore_cwd failure;
74820         that is the caller's job (and perhaps the caller does not care).
74821
74822         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
74823         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
74824         If the file already exists but is not a directory, don't bother
74825         to try to make its parents.
74826         Close potential file descriptor leak if we can't chdir("/") (!).
74827         Don't always return true if chdir($PWD) fails; return true only
74828         if the requested action was done successfully (except for the
74829         chdir($PWD)).
74830         Don't log final directory unless we actually made it.
74831         Refactor to avoid duplicate code to fix up permissions.
74832         Don't attempt to fix up parent permissions if chdir($PWD) fails.
74833
74834         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
74835         to make it a bit faster and (I hope) clearer.
74836         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
74837         Fix bug in formats like %2N.
74838
74839         * lib/verify.h: New file.
74840
74841 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74842
74843         Sync from coreutils.
74844         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74845
74846 2005-09-22  Jim Meyering  <jim@meyering.net>
74847
74848         Sync from coreutils.
74849
74850         * m4/lstat.m4 (gl_FUNC_LSTAT):
74851         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74852         Remove obsolete comment.
74853         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74854         * m4/xstrtod.m4: Likewise.
74855
74856         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74857
74858 2005-09-22  Jim Meyering  <jim@meyering.net>
74859
74860         Sync from coreutils.
74861
74862         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74863
74864         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74865         the .tm_year member, since otherwise gcc-4.0 would now warn about
74866         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74867
74868         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74869         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74870
74871         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74872         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74873         when run in a time zone for which daylight savings time is in effect
74874         for the starting date.
74875
74876         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74877         stop us from restricting permissions of just-created absolute-named
74878         directories.
74879         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74880         to restore initial working directory.
74881         * lib/mkdir-p.c (make_dir_parents): New parameter:
74882         different_working_dir, to tell caller if/when we change the working
74883         directory and are unable to return to the initial one.
74884         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74885         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74886         `return false'.  This fixes a bug introduced on 2004-07-30.
74887
74888         * lib/openat.c (fdopendir): Be sure to close the supplied
74889         file descriptor before returning.  This makes our replacement
74890         implementation a little closer to Solaris's, where fdopendir
74891         ties the file descriptor to the returned DIR* pointer.
74892         * lib/openat.c (unlinkat): New function.
74893         * lib/openat.h (unlinkat): Add prototype.
74894         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74895         (openat_restore_fail): Rename from openat_restore_die.
74896         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74897
74898         Provide an alternative to exiting immediately upon save_cwd or
74899         restore_cwd failure.  Now, an application can arrange e.g.,
74900         to perform a longjump in that case.
74901         * lib/openat.c: Include dirname.h.
74902         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74903         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74904         and openat_restore_die rather than calling error directly.
74905         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74906
74907         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74908         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74909         define.
74910
74911         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74912         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74913                             int utc, int nanoseconds);
74914         Background:
74915         date should not have to allocate a megabyte of virtual memory to
74916         handle a format argument like +%1048575T.  When implemented with
74917         strftime, it must allocate such a buffer, use strftime to fill it
74918         in, print it, then free it.
74919         With fprintftime, it simply prints everything and exits.
74920         With no need for memory allocation, that's one fewer way to fail.
74921         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74922         optional field width, not before, so we accept %9:z, not %:9z.
74923         (my_strftime): Be sure to use L_('x') for literals.
74924
74925         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74926         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74927         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74928         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74929         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74930         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74931         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74932         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74933         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74934         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74935         * lib/xgethostname.c, lib/xreadlink.c:
74936         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74937
74938         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74939         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74940         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74941         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74942         and don't include <sys/file.h>).
74943
74944 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74945
74946         Sync from coreutils.
74947
74948         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74949         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74950         [!LDAV_DONE]: Avoid unused variable warning.
74951
74952 2005-09-21  Bruno Haible  <bruno@clisp.org>
74953
74954         * lib/unicodeio.h (unicode_to_mb): New declaration.
74955
74956 2005-09-20  Derek Price  <derek@ximbiot.com>
74957
74958         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74959         getaddrinfo.h.
74960
74961 2005-09-20  Bruno Haible  <bruno@clisp.org>
74962
74963         * gnulib-tool: Remove trailing slashes from the values specified for
74964         --source-base, --m4-base, --tests-base, --aux-dir.
74965         Suggested by Simon Josefsson <jas@extundo.com>.
74966
74967 2005-09-20  Bruno Haible  <bruno@clisp.org>
74968
74969         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74970         func_modules_to_filelist, func_import, func_create_testdir): Make all
74971         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74972         change when gnulib-tool is invoked in a different locale.
74973
74974 2005-09-19  Simon Josefsson  <jas@extundo.com>
74975
74976         * m4/socklen.m4: Fix typo.
74977
74978 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74979
74980         Use a consistent style for including <config.h>.
74981         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74982         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74983         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74984         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74985         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74986         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74987         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74988         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74989         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74990         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74991         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74992         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74993         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74994         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74995         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74996         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74997         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74998         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74999         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
75000         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
75001         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
75002         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
75003         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
75004         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
75005         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
75006         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
75007         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
75008         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
75009         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
75010         lib/xstrtoumax.c, lib/yesno.c:
75011         Standardize inclusion of config.h.
75012         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
75013         lib/inttostr.h:  Removed inclusion of config.h from header files.
75014         * lib/inttostr.c:  Adjusted in-tree users.
75015         * lib/timespec.h: Remove superfluous warning to include config.h.
75016         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
75017         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
75018         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
75019         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
75020         config.h with HAVE_CONFIG_H.
75021
75022 2005-09-19  Jim Meyering  <jim@meyering.net>
75023
75024         * modules/pathmax (License): Change to LGPL.
75025
75026 2005-09-19  Derek Price  <derek@ximbiot.com>
75027
75028         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
75029
75030 2005-09-19  Bruno Haible  <bruno@clisp.org>
75031
75032         * gnulib-tool (import): Provide default for --tests-base.
75033
75034 2005-09-19  Bruno Haible  <bruno@clisp.org>
75035
75036         * doc/quote.texi: New file, extracted from gnulib.texi.
75037         * doc/ctime.texi: New file, extracted from gnulib.texi.
75038         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
75039         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
75040         * doc/gnulib.texi: Include them.
75041
75042 2005-09-18  Bruno Haible  <bruno@clisp.org>
75043
75044         Portability fix.
75045         * gnulib-tool (func_readlink): New function.
75046         (func_ln_if_changed): Use it.
75047
75048 2005-09-18  Bruno Haible  <bruno@clisp.org>
75049
75050         * gnulib-tool: Support --with-tests also with --import.
75051         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
75052         (func_import): Use variables $testsbase and $inctests. Emit a
75053         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
75054         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
75055         SUBDIRS += $testsdir.
75056         (func_create_testdir): Update.
75057
75058 2005-09-18  Bruno Haible  <bruno@clisp.org>
75059
75060         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
75061         instead of $dry_run.
75062         (func_cp_if_changed, func_mv_if_changed): Remove functions.
75063         (func_ln_if_changed): Don't handle dry-run here.
75064         (func_import): In dry-run mode, detect more precisely which actions
75065         would be performed, and don't use "...ing" verbs.
75066
75067 2005-09-18  Bruno Haible  <bruno@clisp.org>
75068
75069         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
75070         (func_import): Use join on two temporary files instead of three nested
75071         loops, in order to determine which files are new or old.
75072
75073 2005-09-18  Bruno Haible  <bruno@clisp.org>
75074
75075         * gnulib-tool (func_import): Comment out code that spits out the
75076         new files with --dry-run.
75077
75078 2005-09-18  Bruno Haible  <bruno@clisp.org>
75079
75080         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
75081
75082 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
75083
75084         * lib/stat-time.h: New file.
75085         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
75086         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
75087         in a different way.
75088         (timespec_cmp): New function.
75089         * lib/utimecmp.c: Include stat-time.h.
75090         (SYSCALL_RESOLUTION): Depend on whether various struct stat
75091         members exist, not on the obsolescent ST_MTIM_NSEC.
75092         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
75093
75094 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
75095
75096         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
75097
75098 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
75099
75100         * MODULES.html.sh (File system functions): Add stat-time.
75101         * modules/stat-time: New file.
75102         * modules/timespec (Files): Remove m4/st_mtim.m4; this
75103         is now done in a different way, by the stat-time module.
75104         * modules/utimecmp (Depends-on): Add stat-time.
75105
75106 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75107
75108         * m4/st_mtim.m4: Remove.  Superseded by...
75109         * m4/stat-time.m4: New file.
75110         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
75111         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
75112
75113 2005-09-15  Derek Price  <derek@ximbiot.com>
75114
75115         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
75116
75117 2005-09-15  Derek Price  <derek@ximbiot.com>
75118
75119         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
75120         * lib/regex_internal.c: Ditto, using this...
75121         (__GNUC_PREREQ): ...new macro.
75122         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
75123         using...
75124         (__GNUC_PREREQ): ...this new macro.
75125
75126         * lib/strstr.h: Include string.h. Define strstr as a macro here.
75127
75128 2005-09-15  Derek Price  <derek@ximbiot.com>
75129             Paul Eggert  <eggert@cs.ucla.edu>
75130
75131         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
75132         changes, consolidating in...
75133         * lib/regex_internal.h: ...this file.
75134
75135 2005-09-13  Jim Meyering  <jim@meyering.net>
75136
75137         * lib/canon-host.c: Filter through gnu indent and reword comments
75138         slightly.
75139         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
75140
75141 2005-09-13  Derek Price  <derek@ximbiot.com>
75142
75143         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
75144         failure.
75145         Reported by Jim Meyering  <jim@meyering.net>.
75146
75147 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75148
75149         * lib/base64.c: Typo.
75150         (base64_encode): Put b64str in initialized data section.
75151
75152 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
75153
75154         Merge glibc and coreutils changes into gnulib, plus a few
75155         extra fixes.
75156         * lib/md5.c: Use #error rather than a string.
75157         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
75158         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
75159         (__attribute__): Define to empty for non recent-GCC.
75160         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
75161         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
75162         Renamed from their non-__ counterparts, with new macros replacing
75163         them if not _LIBC.  Add __THROW attribute.
75164         (rol): Remove.
75165         (struct md5_ctx): Align buffer if using GCC.
75166         * lib/sha1.h (struct sha1_ctx): Likewise.
75167         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
75168         The old name was backwards.
75169         (NOTSWAP): Remove; not used.
75170         (rol): New macro, moved here from md5.h.
75171         (sha1_process_block): Remove a FIXME that doesn't make sense.
75172
75173 2005-09-12  Derek Price  <derek@ximbiot.com>
75174
75175         Return usable errors from canon-host.
75176         * lib/canon-host.h: New file.
75177         * lib/canon-host.c (canon_host): Wrap...
75178         (canon_host_r): ...this new function, which now relies exclusively on
75179         getaddrinfo.
75180         (ch_strerror): New function.
75181         (last_cherror): New global.
75182         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
75183         interface.
75184         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
75185         void *.
75186         (freeaddrinfo): Free ai->ai_canonname when set.
75187
75188 2005-09-12  Derek Price  <derek@ximbiot.com>
75189
75190         Make canon-host require getaddrinfo.
75191         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
75192         AC_LIBSOURCE canon-host.h.  Call...
75193         (gl_PREREQ_CANON_HOST): ...this new function, which requires
75194         gl_GETADDRINFO.
75195         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
75196
75197 2005-09-12  Derek Price  <derek@ximbiot.com>
75198
75199         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
75200         LGPL.
75201         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
75202
75203 2005-09-12  Derek Price  <derek@ximbiot.com>
75204
75205         * lib/gai_strerror.c: Include config.h when available.  Include
75206         getaddrinfo.h before other headers to test interface.
75207         Reported by Larry Jones <lawrence.jones@ugs.com>.
75208
75209 2005-09-12  Derek Price  <derek@ximbiot.com>
75210             Paul Eggert  <eggert@cs.ucla.edu>
75211
75212         * modules/glob (Files): Add glob-libc.h.
75213
75214 2005-09-12  Derek Price  <derek@ximbiot.com>
75215             Paul Eggert  <eggert@cs.ucla.edu>
75216
75217         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
75218         glob_.h, glob-libc.h.
75219         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
75220
75221 2005-09-12  Derek Price  <derek@ximbiot.com>
75222             Paul Eggert  <eggert@cs.ucla.edu>
75223
75224         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
75225         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
75226         protecting things that should be done only in gnulib contexts.
75227         * lib/glob_.h: New file, containing only the glob things needed for
75228         gnulib.
75229         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
75230         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
75231         (glob, globfree, glob_pattern_p): Now defined simply in terms of
75232         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
75233         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
75234         and to respect the namespace rules better.
75235
75236 2005-09-08  Simon Josefsson  <jas@extundo.com>
75237
75238         * modules/socklen: New file.
75239
75240 2005-09-08  Simon Josefsson  <jas@extundo.com>
75241
75242         * m4/socklen.m4: New file.
75243
75244 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75245
75246         * modules/utimens (Files): Add m4/utimbuf.m4, since
75247         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
75248         Reported by Sergey Poznyakoff.
75249
75250 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75251
75252         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
75253         definitions, since that's the preferred style in glibc.
75254         Fix a minor spacing issue, and update copyright notice to match
75255         glibc's.
75256
75257 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75258
75259         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
75260
75261 2005-09-06  Simon Josefsson  <jas@extundo.com>
75262
75263         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
75264         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
75265
75266 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75267
75268         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
75269         warning.
75270
75271 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75272
75273         * config/srclist.txt: Add glibc bug 1302.
75274
75275 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
75276
75277         Change bitset word type from unsigned int to unsigned long int,
75278         as this has better performance on typical 64-bit hosts.
75279         Port bitset code to hosts with unusual word sizes.
75280         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
75281         (build_collating_symbol):
75282         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
75283         argument is a bitset.  This is merely a style issue, but it makes
75284         it clearer that an entire array is expected.
75285         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
75286         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
75287         Port to the case where bitset_word is not the same as unsigned int.
75288         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
75289         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
75290         Likewise.
75291         * lib/regexec.c (check_dst_limits_calc_pos_1,
75292         check_subexp_matching_top):
75293         (build_trtable, group_nodes_into_DFAstates):
75294         Likewise.
75295         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
75296         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
75297         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
75298         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
75299         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
75300         * lib/regcomp.c (optimize_subexps, lower_subexp):
75301         Work even if bitset_word has holes in its bitwise representation.
75302         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
75303         * lib/regexec.c (check_dst_limits_calc_pos_1,
75304         check_subexp_matching_top):
75305         Likewise.
75306         * lib/regex_internal.c (re_string_reconstruct):
75307         Don't assume UCHAR_MAX == 255.
75308         * lib/regex_internal.h (bitset_set_all): Likewise.
75309         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
75310         All uses changed.
75311         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
75312         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
75313         All uses changed.
75314         (BITSET_WORD_MAX): New macro.
75315         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
75316         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
75317         (bitset_empty, bitset_copy):
75318         Prefer sizeof (bitset) to multiplying it out ourselves.
75319         (bitset_not_merge): Remove; unused.
75320         (bitset_contain): Return bool, not unsigned int with one bit on.
75321         All callers changed.
75322         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
75323         alignment than re_node_set; do this by defining a new internal
75324         type struct dests_alloc and using it to allocate memory.
75325
75326 2005-09-05  Bruno Haible  <bruno@clisp.org>
75327
75328         * gnulib-tool (func_import): Fix comparison in handling of symbolic
75329         links.
75330
75331 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
75332
75333         * modules/size_max (Makefile.am): Add size_max.h
75334
75335 2005-09-04  Derek Price  <derek@ximbiot.com>
75336
75337         * gnulib-tool (func_import): Fix reversed $symbolic logic.
75338
75339 2005-09-03  Simon Josefsson  <jas@extundo.com>
75340
75341         * gnulib-tool: Fix typo.
75342
75343 2005-09-03  Simon Josefsson  <jas@extundo.com>
75344
75345         * config/srclist.txt: Add glibc bug 1293.
75346
75347 2005-09-03  Derek Price  <derek@ximbiot.com>
75348
75349         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
75350         From Larry Jones <lawrence.jones@ugs.com>.
75351
75352 2005-09-02  Simon Josefsson  <jas@extundo.com>
75353
75354         * modules/socklen: New file.
75355
75356 2005-09-02  Simon Josefsson  <jas@extundo.com>
75357
75358         * modules/havelib: New module.
75359
75360         * modules/gettext, modules/iconv, modules/lock, modules/readline:
75361         Use havelib.
75362
75363 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
75364
75365         Check for arithmetic overflow when calculating sizes, to prevent
75366         some buffer-overflow issues.  These patches are conservative, in the
75367         sense that when I couldn't determine whether an overflow was possible,
75368         I inserted a run-time check.
75369         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
75370         macros.
75371         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
75372         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
75373         (re_xnrealloc, re_x2nrealloc): New inline functions.
75374         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
75375         parse_bracket_exp):
75376         (build_equiv_class, build_charclass): Check for arithmetic overflow
75377         in size expression calculations.
75378         * lib/regex_internal.c (re_string_realloc_buffers):
75379         (build_wcs_upper_buffer, re_node_set_add_intersect):
75380         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
75381         (re_dfa_add_node, register_state): Likewise.
75382         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
75383         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
75384         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
75385         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
75386
75387 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
75388
75389         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
75390         m4/ulonglong.m4.  Problem reported by Martin Lambers.
75391
75392 2005-09-02  Bruno Haible  <bruno@clisp.org>
75393
75394         Support for lib vs. lib64 distinction on biarch platforms.
75395         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
75396         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
75397         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
75398
75399 2005-09-02  Bruno Haible  <bruno@clisp.org>
75400
75401         * gnulib-tool (import): In the other first-use case, provide defaults
75402         as well.
75403
75404 2005-09-02  Bruno Haible  <bruno@clisp.org>
75405
75406         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
75407         patches not yet found in the latest gettext release.
75408
75409 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75410
75411         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
75412         to avoid a collision with bits/local_lim.h in glibc.
75413         All uses changed.  Problem reported by Dmitry V. Levin in
75414         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
75415
75416         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
75417         bugs in int versus size_t comparisons.
75418         (re_string_context_at): Fix bug where the code assumed that
75419         Idx is signed.
75420
75421         Use bool where appropriate.
75422         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
75423         All callers changed.
75424         (calc_eclosure_iter): Likewise, for ROOT arg.
75425         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
75426         (build_charclass_op): Likewise, for NON_MATCH arg.
75427         * lib/regex_internal.c (re_string_allocate, re_string_construct):
75428         (re_string_construct_common): Likewise, for ICASE arg.
75429         * lib/regexec.c (re_search_2_stub, re_search_stub):
75430         Likewise, for RET_LEN arg.
75431         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
75432         (set_regs): Likewise, for FL_BACKTRACK arg.
75433         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
75434         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
75435         (calc_eclosure_iter, parse_bracket_exp):
75436         Use bool for internal variables that are booleans.
75437         * lib/regexec.c (re_search_internal, check_matching,
75438         proceed_next_node):
75439         (set_regs, build_sifted_states, sift_states_bkref):
75440         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
75441         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75442         (find_collation_sequence_value):
75443         Likewise.
75444         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
75445         (re_node_set_compare):
75446         Return bool, not int. All callers changed.
75447         * lib/regexec.c (check_halt_node_context, check_dst_limits):
75448         (build_trtable, check_node_accept): Likewise.
75449         * lib/regex_internal.h: Include stdbool.h.
75450
75451         Fix bugs uncovered when converting to bool.
75452         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
75453         failure instead of charging ahead blindly.
75454         * lib/regex_internal.c (register_state): Likewise.
75455         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
75456         for freeing internal storage.
75457         (group_nodes_into_DFA_states): Use unsigned int, not int, for
75458         bitset pieces used as boolean, to avoid undefined behavior
75459         on hosts that do int overflow checking.
75460
75461 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75462
75463         * config/srclist.txt: Add glibc bugs 1285-1287.
75464
75465 2005-09-01  Jim Meyering  <jim@meyering.net>
75466
75467         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
75468         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
75469         Require gl_STAT_MACROS, too.
75470
75471 2005-09-01  Bruno Haible  <bruno@clisp.org>
75472
75473         * gnulib-tool (import): In the first-use case, provide defaults.
75474
75475 2005-09-01  Bruno Haible  <bruno@clisp.org>
75476
75477         * gnulib-tool (func_import): Remove the .tmp files.
75478
75479 2005-09-01  Bruno Haible  <bruno@clisp.org>
75480
75481         * gnulib-tool (func_import): Fix handling of symbolic links.
75482
75483 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75484
75485         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
75486         old glibc regex code mishandles strings longer than 2**31 bytes.
75487         This patch fixes this when the regex code is used in gnulib
75488         (i.e., outside glibc).
75489
75490         This patch should not affect the use of the regex code inside
75491         glibc.  No doubt this problem also needs to be handled for glibc
75492         as well, but the result will be an incompatible change to the
75493         glibc ABI, and the old ABI will have to be supported too.  That
75494         can be the the subject for another patch.
75495
75496         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
75497         governing whether the rest of this patch is active.  By default,
75498         the macro is disabled and the patch has no effect.
75499         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
75500         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
75501         (struct re_pattern_buffer, re_search, re_search_2, re_match):
75502         (re_match_2, re_set_registers): Use the new types.
75503         * lib/regex_internal.h (Idx, re_hashval_t): New types.
75504         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
75505         New macros.
75506         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
75507         (re_string_context_at, bin_tree_t, re_dfastate_t):
75508         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
75509         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
75510         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
75511         (re_string_char_size_at, re_string_wchar_at):
75512         (re_string_elem_size_at):
75513         Use the new types and macros to port to 64-bit hosts.
75514         Use unsigned types for internal values, so that the code
75515         mostly works even for arrays larger than SSIZE_MAX.
75516         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
75517         (search_duplicated_node, calc_eclosure_iter, fetch_number):
75518         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
75519         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
75520         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
75521         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
75522         (calc_inveclosure, parse_dup_op, build_range_exp):
75523         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
75524         (fetch_number, create_token_tree, mark_opt_subexp):
75525         Likewise.
75526         * lib/regex_internal.c (re_string_construct_common,
75527         create_ci_newstate):
75528         (create_cd_newstate, re_string_allocate, re_string_construct):
75529         (re_string_realloc_buffers, build_wcs_upper_buffer):
75530         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75531         (re_string_reconstruct, re_string_peek_byte_case):
75532         (re_string_fetch_byte_case, re_string_context_at):
75533         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75534         (re_node_set_init_copy, re_node_set_add_intersect):
75535         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75536         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75537         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75538         (re_acquire_state, re_acquire_state_context, register_state):
75539         Likewise.
75540         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
75541         search_cur_bkref_entry):
75542         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
75543         (re_search_internal, re_search_2_stub, re_search_stub)
75544         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
75545         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
75546         (update_cur_sifted_state, check_dst_limits):
75547         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
75548         (check_subexp_limits, sift_states_bkref, merge_state_array):
75549         (check_subexp_matching_top, get_subexp, get_subexp_sub):
75550         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
75551         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75552         (expand_bkref_cache, check_node_accept_bytes):
75553         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
75554         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
75555         (acquire_init_state_context, check_halt_node_context):
75556         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
75557         (sift_states_backward, clean_state_log_if_needed):
75558         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
75559         (find_recover_state, transit_state_sb, transit_state_mb):
75560         (transit_state_bkref, build_trtable, match_ctx_clean):
75561         Likewise.
75562         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
75563         to work around an assumption that REG_MISSING is negative.
75564
75565         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
75566         (seek_collating_symbol_entry) [defined _LIBC]:
75567         (lookup_collation_sequence_value) [defined _LIBC]:
75568         (build_range_exp, build_collating_symbol) [defined _LIBC]:
75569         Use prototypes rather than old-style function definitions.
75570         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
75571         (transit_state_sb) [0]:
75572         (find_collation_sequence_value) [defined _LIBC]: Likewise.
75573
75574         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
75575         rm_eo.
75576
75577         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
75578         (optimize_subexps, lower_subexp):
75579         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
75580         since the signed shift might overflow.  Use 1u<<31 instead.
75581         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
75582         Likewise.
75583         * lib/regexec.c (check_dst_limits_calc_pos_1,
75584         check_subexp_matching_top): Likewise.
75585
75586         * lib/regcomp.c (optimize_subexps, lower_subexp):
75587         Use CHAR_BIT rather than 8, for clarity.
75588         * lib/regexec.c (check_dst_limits_calc_pos_1):
75589         (check_subexp_matching_top): Likewise.
75590         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
75591         have to worry about portability issues when shifting it left.
75592         Remove no-longer-needed test for table_size > 0.
75593         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
75594         in a word, as the resulting behavior is undefined.
75595         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
75596         in one case, a <= should have been an <, and in another case the
75597         whole test was missing.
75598         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
75599         the standard name CHAR_BIT.
75600         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
75601         this is not true on one's complement and signed-magnitude hosts.
75602
75603         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
75604         next_last_offset.
75605         (struct re_dfa_t): Remove unused member states_alloc.
75606         * lib/regcomp.c (init_dfa): Don't initialize unused members.
75607
75608 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75609
75610         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
75611         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
75612         and large-file glibc and in 32-bit large-file Solaris.
75613
75614 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75615
75616         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
75617         lengths fit in regoff_t; this isn't true if regoff_t is the same
75618         width as size_t.
75619         * lib/regex.c (re_search_internal): 5th arg is LAST_START
75620         (= START + RANGE) instead of RANGE.  This avoids overflow
75621         problems when regoff_t is the same width as size_t.
75622         All callers changed.
75623         (re_search_2_stub): Check for overflow when adding the
75624         sizes of the two strings.
75625         (re_search_stub): Check for overflow when adding START
75626         to RANGE; if it occurs, substitute the extreme value.
75627
75628 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75629
75630         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
75631
75632 2005-08-31  Jim Meyering  <jim@meyering.net>
75633
75634         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
75635         a pointer-to-const.
75636         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
75637         (register_state): Likewise.
75638         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
75639         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
75640         (group_nodes_into_DFAstates): Likewise.
75641
75642 2005-08-31  Jim Meyering  <jim@meyering.net>
75643
75644         * check-module: Add a FIXME comment.
75645
75646 2005-08-31  Eric Blake  <ebb9@byu.net>
75647
75648         * modules/unistd-safer (Files): Add unistd--.h.
75649         * modules/stdio-safer (Files): Add stdio--.h.
75650
75651 2005-08-31  Derek Price  <derek@ximbiot.com>
75652
75653         * lib/getdelim.c (getdelim): Return EOF on EOF.
75654         Reported by Larry Jones <lawrence.jones@ugs.com>.
75655
75656 2005-08-31  Bruno Haible  <bruno@clisp.org>
75657
75658         Avoid unnecessary diffs in the generated lib/Makefile.am.
75659         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
75660         the generated files.
75661         (func_import): Don't set cmd.
75662
75663 2005-08-31  Bruno Haible  <bruno@clisp.org>
75664
75665         * lib/strstr.c: Include <stddef.h>, for NULL.
75666         * lib/strcasestr.c: Likewise.
75667         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75668
75669 2005-08-31  Bruno Haible  <bruno@clisp.org>
75670
75671         * gnulib-tool: New option --macro-prefix.
75672         (func_import): Use macro_prefix.
75673         (import): Handle option --macro-prefix.
75674
75675 2005-08-31  Bruno Haible  <bruno@clisp.org>
75676
75677         * gnulib-tool (import): Rename most ac_* variables to cached_*.
75678         Also use new variables cached_lgpl, cached_libtool.
75679
75680 2005-08-31  Bruno Haible  <bruno@clisp.org>
75681
75682         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
75683         always instantiating them.
75684
75685 2005-08-31  Bruno Haible  <bruno@clisp.org>
75686
75687         * gnulib-tool (func_import): Read the previous cached settings
75688         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
75689         earlier added by gnulib but are now dropped. Warn when a gnulib file
75690         overwrites a non-gnulib file.
75691
75692 2005-08-31  Bruno Haible  <bruno@clisp.org>
75693
75694         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
75695         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
75696         projects that don't keep autogenerated files in CVS. Put into
75697         actioncmd only the specified modules, not the transitive closure.
75698
75699 2005-08-31  Bruno Haible  <bruno@clisp.org>
75700
75701         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
75702         Create directories that shall be filled.
75703         (import): Don't look for gl_* macros in configure.ac. Recurse across
75704         all directories containing a gnulib-cache.m4 files, if meaningful.
75705
75706 2005-08-31  Bruno Haible  <bruno@clisp.org>
75707
75708         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
75709         (import): Set seen_libtool when we see gl_LIBTOOL.
75710
75711 2005-08-31  Bruno Haible  <bruno@clisp.org>
75712
75713         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
75714         declaration macro definitions from generated gnulib.m4.
75715
75716 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
75717
75718         * lib/iconvme.h: Add prototype for iconv_alloc.
75719
75720 2005-08-29  Simon Josefsson  <jas@extundo.com>
75721
75722         * lib/iconvme.c: Fix errno.
75723
75724 2005-08-29  Bruno Haible  <bruno@clisp.org>
75725
75726         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
75727         that it works when the directory contains spaces.
75728
75729 2005-08-29  Bruno Haible  <bruno@clisp.org>
75730
75731         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
75732
75733 2005-08-29  Bruno Haible  <bruno@clisp.org>
75734
75735         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
75736         Emit more advice.
75737
75738 2005-08-29  Bruno Haible  <bruno@clisp.org>
75739         and Stepan Kasal  <kasal@ucw.cz>
75740
75741         * check-module: If more parameters are given, check each of them
75742         separately; add more exceptions, as noted by Jim Meyering.
75743         (check_module): New procedure.
75744         (%exempt_header): Now contains all exceptions.
75745
75746 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
75747
75748         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
75749
75750 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
75751
75752         * lib/iconvme.c: Split iconv_string into iconv_alloc.
75753
75754 2005-08-28  Bruno Haible  <bruno@clisp.org>
75755
75756         * m4/gnulib-tool.m4: New file.
75757
75758 2005-08-27  Jim Meyering  <jim@meyering.net>
75759
75760         * modules/unistd-safer (Files): Add pipe-safer.c.
75761         * modules/fcntl-safer (Files): Add creat-safer.c.
75762
75763 2005-08-27  Jim Meyering  <jim@meyering.net>
75764
75765         * m4/stdlib-safer.m4: New file.  From coreutils.
75766         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
75767         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
75768         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
75769         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
75770         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
75771
75772 2005-08-27  Jim Meyering  <jim@meyering.net>
75773
75774         * lib/fopen-safer.c: Merge minor changes from coreutils.
75775         * lib/dup-safer.c: Likewise.
75776         * lib/fd-safer.c: Likewise.
75777
75778         Merge from coreutils.
75779         * lib/stdio--.h: New file.
75780         * lib/stdlib--.h: New file.
75781         * lib/mkstemp-safer.c: New file.
75782
75783         GNU tar needs these.
75784         * lib/pipe-safer.c: New file.
75785         * lib/creat-safer.c: New file.
75786         * lib/fcntl--.h (creat): Define to creat_safer.
75787         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
75788         * lib/unistd--.h (pipe): Define to pipe_safer.
75789         * lib/unistd-safer.h: Declare pipe_safer.
75790
75791 2005-08-26  Simon Josefsson  <jas@extundo.com>
75792
75793         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
75794         Haible <bruno@clisp.org>.
75795
75796 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
75797
75798         * lib/regex_internal.h: Remove all references to
75799         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
75800         or better.
75801         (bitset_not, bitset_merge, bitset_not_merge):
75802         (bitset_mask, re_string_allocate, re_string_construct):
75803         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
75804         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
75805         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
75806         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
75807         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75808         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75809         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
75810         (re_acquire_state_context):
75811         Remove unnecessary forward decls.
75812         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
75813         Put __attribute at function definition,
75814         now that the function decl has been removed.
75815         * lib/regex_internal.c (re_string_peek_byte_case):
75816         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
75817         Likewise.
75818
75819 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
75820
75821         * m4/regex.m4: Add AC_PREREQ(2.50).
75822         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
75823
75824 2005-08-25  Simon Josefsson  <jas@extundo.com>
75825
75826         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
75827         __fsetlocking.
75828
75829 2005-08-25  Simon Josefsson  <jas@extundo.com>
75830
75831         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
75832         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
75833         GLIBC specific code.
75834
75835 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75836
75837         Make regex safe for g++.  This fixes one real bug (an "err"
75838         that should have been "*err").  g++ problem reported by
75839         Sam Steingold.
75840         * lib/regex_internal.h (re_calloc): New macro, consistent with
75841         re_malloc etc.  All callers of calloc changed to use re_calloc.
75842         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75843         not int.  All callers changed.
75844         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75845         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75846         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75847         (find_recover_state): Change "err" to "*err"; this fixes what
75848         appears to be a real bug.
75849         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75850         versus int.
75851
75852 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75853
75854         * modules/regex (Depends-on): Add malloc, since the code
75855         assumes that !malloc(0) means failure.
75856
75857 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75858
75859         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75860
75861         alloca modernization/simplification for regex.
75862         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75863         needs to be at the start of the file, and can be moved into
75864         regex_internal.h and simplified.
75865         * lib/regex_internal.h: Include <alloca.h>.
75866         (__libc_use_alloca) [!defined _LIBC]: New macro.
75867         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75868         now works outside glibc.
75869
75870 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75871
75872         * config/srclist.txt: Add glibc bugs 1241, 1245.
75873
75874 2005-08-25  Jim Meyering  <jim@meyering.net>
75875
75876         * lib/open-safer.c: Include <config.h>.
75877         Otherwise, we'd lose LARGEFILE support in any file using
75878         e.g. "fcntl--.h"
75879
75880 2005-08-25  Bruno Haible  <bruno@clisp.org>
75881
75882         * m4/minmax.m4: Require autoconf 2.52.
75883         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75884         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75885         alternatives of translit over the alphabet.
75886         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75887
75888 2005-08-24  Simon Josefsson  <jas@extundo.com>
75889
75890         * tests/test-getpass.c: New file.
75891
75892 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75893
75894         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75895         for GNU regex features.
75896
75897 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75898
75899         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75900         * lib/regex.h (regerror): Likewise.
75901
75902         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75903         requires this.  (The code never needed it.)
75904
75905         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75906         All uses of recently-renamed identifiers changed to use the new,
75907         POSIX-compliant names.  The code will build and run just fine
75908         without these changes, but it's better to eat our own dog food
75909         and use the standard-conforming names.
75910
75911         * lib/regex.h: Fix a multitude of POSIX name space violations.
75912         These changes have an effect only for programs that define
75913         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75914         do not change anything for programs compiled in the normal way.
75915         Also, there is no effect on the ABI.
75916
75917         (_REGEX_SOURCE): New macro.
75918         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75919         defined and _GNU_SOURCE is not; this fixes a name space violation.
75920
75921         Rename the following macros to obey POSIX requirements.
75922         The old names are still visible as macros if _REGEX_SOURCE is defined.
75923         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75924         RE_BACKSLASH_ESCAPE_IN_LISTS.
75925         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75926         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75927         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75928         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75929         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75930         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75931         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75932         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75933         (REG_INTERVALS): renamed from RE_INTERVALS.
75934         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75935         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75936         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75937         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75938         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75939         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75940         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75941         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75942         RE_UNMATCHED_RIGHT_PAREN_ORD.
75943         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75944         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75945         (REG_DEBUG): renamed from RE_DEBUG.
75946         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75947         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75948         unusual, since we can't clash with the POSIX REG_ICASE.
75949         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75950         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75951         (REG_NO_SUB): renamed from RE_NO_SUB.
75952         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75953         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75954         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75955         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75956         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75957         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75958         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75959         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75960         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75961         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75962         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75963         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75964         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75965         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75966         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75967         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75968         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75969         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75970         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75971         (REG_FIXED): Renamed from REGS_FIXED.
75972         (REG_NREGS): Renamed from RE_NREGS.
75973
75974         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75975         of other REG_* macros, since POSIX says the user is allowed to
75976         #undef these macros selectively.
75977
75978         (reg_errcode_t): Update comment stating what other tables need
75979         to be consistent.
75980
75981         Rename the following enum values to obey POSIX requirements.
75982         The old names are still visible as macros.
75983         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75984         is not defined, since GNU is supposed to be a superset of POSIX as
75985         much as possible, and since we want reg_errcode_t to be a signed
75986         type for implementation consistency.
75987         (_REG_NOERROR): Renamed from REG_NOERROR.
75988         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75989         (_REG_BADPAT): Renamed from REG_BADPAT.
75990         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75991         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75992         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75993         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75994         (_REG_EBRACK): Renamed from REG_EBRACK.
75995         (_REG_EPAREN): Renamed from REG_EPAREN.
75996         (_REG_EBRACE): Renamed from REG_EBRACE.
75997         (_REG_BADBR): Renamed from REG_BADBR.
75998         (_REG_ERANGE): Renamed from REG_ERANGE.
75999         (_REG_ESPACE): Renamed from REG_ESPACE.
76000         (_REG_BADRPT): Renamed from REG_BADRPT.
76001         (_REG_EEND): Renamed from REG_EEND.
76002         (_REG_ESIZE): Renamed from REG_ESIZE.
76003         (_REG_ERPAREN): Renamed from REG_ERPAREN.
76004         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
76005         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
76006         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
76007         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
76008
76009         (_REG_RE_NAME, _REG_RM_NAME): New macros.
76010         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
76011         changed.  But support the old name if the new one is not defined
76012         and if _REGEX_SOURCE.
76013
76014         Change the following member names in struct re_pattern_buffer.
76015         The old names are still supported if !_REGEX_SOURCE.
76016         The new names are always supported, regardless of _REGEX_SOURCE.
76017         (re_buffer): Renamed from buffer.
76018         (re_allocated): Renamed from allocated.
76019         (re_used): Renamed from used.
76020         (re_syntax): Renamed from syntax.
76021         (re_fastmap): Renamed from fastmap.
76022         (re_translate): Renamed from translate.
76023         (re_can_be_null): Renamed from can_be_null.
76024         (re_regs_allocated): Renamed from regs_allocated.
76025         (re_fastmap_accurate): Renamed from fastmap_accurate.
76026         (re_no_sub): Renamed from no_sub.
76027         (re_not_bol): Renamed from not_bol.
76028         (re_not_eol): Renamed from not_eol.
76029         (re_newline_anchor): Renamed from newline_anchor.
76030
76031         Change the following member names in struct re_registers.
76032         The old names are still supported if !_REGEX_SOURCE.
76033         The new names are always supported, regardless of _REGEX_SOURCE.
76034         (rm_num_regs): Renamed from num_regs.
76035         (rm_start): Renamed from start.
76036         (rm_end): Renamed from end.
76037
76038         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
76039         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
76040         Prepend __ to parameter names.
76041
76042         Undo yesterday's changes.
76043
76044 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76045
76046         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
76047         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
76048         lib/regex.c.
76049
76050 2005-08-24  Jim Meyering  <jim@meyering.net>
76051
76052         Sync from coreutils.
76053         * m4/fcntl-safer.m4: New file.
76054
76055         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
76056         and object files for this module.
76057
76058 2005-08-24  Jim Meyering  <jim@meyering.net>
76059
76060         Sync from coreutils.
76061         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
76062
76063 2005-08-24  Jim Meyering  <jim@meyering.net>
76064
76065         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
76066         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
76067
76068 2005-08-24  Jim Meyering  <jim@meyering.net>
76069
76070         * modules/fcntl-safer: New module.
76071         * modules/fts (Depends-on): Add fcntl-safer.
76072         * MODULES.html.sh (File descriptor based Input/Output):
76073         Add fcntl-safer.
76074
76075 2005-08-24  Bruno Haible  <bruno@clisp.org>
76076
76077         Support for unit test modules.
76078         * modules/README: Mention tests modules.
76079         * modules/TEMPLATE-TESTS: New file.
76080         * gnulib-tool: New options --extract-tests-module, --with-tests and
76081         --tests-base (unused for the moment).
76082         (testsbase, inctests): New variables.
76083         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
76084         (func_verify_module): Exclude TEMPLATE-TESTS.
76085         (func_verify_nontests_module, func_verify_tests_module): New functions.
76086         (func_get_dependencies): Add implicit dependency for tests modules.
76087         (func_get_tests_module): New function.
76088         (func_modules_transitive_closure): When --with-tests was specified,
76089         include the unit tests as well, unless explicitly avoided.
76090         (func_emit_lib_Makefile_am): Ignore the tests modules here.
76091         (func_emit_tests_Makefile_am): New function.
76092         (func_create_testdir): When --with-tests was specified, emit a
76093         tests/ directory.
76094         * MODULES.html.sh (Future developments): Update.
76095
76096 2005-08-24  Bruno Haible  <bruno@clisp.org>
76097
76098         * modules/tls-tests: New file.
76099         * tests/test-tls.c: New file, from GNU gettext.
76100
76101 2005-08-24  Bruno Haible  <bruno@clisp.org>
76102
76103         * modules/lock-tests: New file.
76104         * tests/test-lock.c: New file, from GNU gettext.
76105
76106 2005-08-24  Bruno Haible  <bruno@clisp.org>
76107
76108         * lib/lock.h: Add multiple inclusion guard.
76109         * lib/tls.h: Add multiple inclusion guard.
76110
76111 2005-08-24  Bruno Haible  <bruno@clisp.org>
76112
76113         * gnulib-tool: Add support for the --aux-dir option to
76114         --create-testdir, --create-megatestdir, --test, --megatest.
76115         (func_create_testdir, func_create_megatestdir): Optionally emit a
76116         AC_CONFIG_AUX_DIR directive.
76117         (create-testdir, create-megatestdir, test, megatest): Provide a
76118         default value for $auxdir.
76119
76120 2005-08-24  Bruno Haible  <bruno@clisp.org>
76121
76122         * gnulib-tool (import): Use compound statement instead of subshell
76123         where possible.
76124
76125 2005-08-24  Bruno Haible  <bruno@clisp.org>
76126
76127         * gnulib-tool (import): Change --aux-dir default to "build-aux".
76128
76129 2005-08-24  Bruno Haible  <bruno@clisp.org>
76130
76131         * gnulib-tool (func_version): Update.
76132
76133 2005-08-24  Bruno Haible  <bruno@clisp.org>
76134
76135         * gnulib-tool (func_import, func_create_testdir,
76136         func_create_megatestdir): Quote all autoconf macro arguments.
76137
76138 2005-08-24  Bruno Haible  <bruno@clisp.org>
76139
76140         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
76141         option --force, because --force causes the aclocal.m4 of each
76142         subdirectory to be newer than the corresponding config.h.in.
76143
76144 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76145
76146         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
76147         All contents moved to gl_REGEX.
76148         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
76149         assume that it does.
76150
76151 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76152
76153         * lib/regex.h (REG_NOSYS)
76154         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
76155         Define, since POSIX requires it as of 2001.
76156         (_REG_ENOSYS)
76157         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
76158         New private symbol, used to keep the enum signed in all cases.
76159         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
76160         Youngman in
76161         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
76162
76163         * lib/regex_internal.c (re_string_skip_chars, register_state):
76164         (calc_state_hash):
76165         Remove forward decls; no longer needed now that we use prototypes.
76166         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
76167         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
76168         (clean_state_log_if_needed): Likewise.
76169
76170 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76171
76172         * config/srclist.txt: Add glibc bugs 1231-1233.
76173
76174 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76175
76176         Fix problems reported by Sam Steingold in
76177         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
76178         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
76179         assumed that reg_errcode_t is a signed type, which is not
76180         necessarily true if _XOPEN_SOURCE is not defined.
76181         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
76182         since some compilers warn about it otherwise.
76183
76184 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76185
76186         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
76187         (init_word_char, create_initial_state, duplicate_node_closure):
76188         (fetch_token, peek_token_bracket, build_range_exp):
76189         (build_collating_symbol): Remove forward decls; no longer needed
76190         now that we use prototypes.
76191
76192         * lib/regcomp.c:
76193         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
76194         (re_compile_fastmap_iter, regcomp, regerror, regfree):
76195         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
76196         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
76197         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
76198         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
76199         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
76200         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
76201         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
76202         (build_range_exp, build_collating_symbol, parse_bracket_exp):
76203         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
76204         (build_charclass, build_charclass_op, fetch_number, create_tree):
76205         (create_token_tree, mark_opt_subexp, duplicate_tree):
76206         Use prototypes rather than old-style definitions.
76207
76208         * lib/regex_internal.c:
76209         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
76210         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
76211         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
76212         (re_string_reconstruct, re_string_peek_byte_case):
76213         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
76214         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
76215         (re_node_set_init_copy, re_node_set_add_intersect):
76216         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
76217         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
76218         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
76219         (re_acquire_state, re_acquire_state_context, register_state):
76220         (create_ci_newstate, create_cd_newstate, free_state):
76221         Likewise.
76222         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
76223         re_search_2):
76224         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
76225         (re_search_internal, prune_impossible_nodes):
76226         (acquire_init_state_context, check_matching, static):
76227         (check_halt_node_context, check_halt_state_context, proceed_next_node):
76228         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
76229         (update_regs, sift_states_backward, build_sifted_states):
76230         (clean_state_log_if_needed, merge_state_array):
76231         (update_cur_sifted_state, add_epsilon_src_nodes):
76232         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
76233         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
76234         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
76235         (find_recover_state, check_subexp_matching_top, transit_state_mb):
76236         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
76237         (check_arrival, check_arrival_add_next_nodes):
76238         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
76239         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
76240         (check_node_accept_bytes, check_node_accept, extend_buffers):
76241         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
76242         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
76243         (sift_ctx_init):
76244         Likewise.
76245
76246         * lib/regex_internal.h:
76247         (re_string_allocate, re_string_construct, re_string_reconstruct):
76248         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
76249         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
76250         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
76251         (re_string_context_at, re_string_peek_byte_case):
76252         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
76253         is defined, since we now use prototypes always.
76254
76255         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
76256         C89 or better.  All uses removed.
76257
76258 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76259
76260         * config/srclist.txt: Add glibc bugs 1220-1227.
76261
76262 2005-08-20  Jim Meyering  <jim@meyering.net>
76263
76264         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
76265         of unused local, dfa.
76266
76267 2005-08-20  Bruno Haible  <bruno@clisp.org>
76268
76269         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
76270
76271 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76272
76273         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
76274         (re_node_set_insert_last, re_dfa_add_node):
76275         Rename local variables to avoid GCC shadowing warnings.
76276
76277 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76278
76279         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
76280         [defined lint]: Suppress bogus uninitialized-variable warnings.
76281
76282         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
76283         and let the caller return REG_ESPACE if out of space.  This
76284         removes an uninitialied-variable warning with GCC 4.0.1, and also
76285         avoids taking the address of a local variable.  All callers
76286         changed.
76287
76288 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76289
76290         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
76291         $LIBCSRC/posix/regexec.c.
76292         Add glibc bug 1217 for regcomp.c.
76293
76294 2005-08-19  Jim Meyering  <jim@meyering.net>
76295
76296         * lib/regexec.c (proceed_next_node): Redo local variables to
76297         avoid GCC shadowing warnings.
76298
76299 2005-08-18  Bruno Haible  <bruno@clisp.org>
76300
76301         * lib/strstr.c (strstr): Fix return value in multibyte case.
76302         * lib/strcasestr.c (strcasestr): Likewise.
76303
76304 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76305
76306         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
76307
76308 2005-08-17  Jim Meyering  <jim@meyering.net>
76309
76310         Make the %s format (seconds since the epoch) work for a negative
76311         number and when used with a zero-padded field width, e.g. %015s.
76312
76313         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
76314         label so that it precedes the code to set `digits'.  Otherwise,
76315         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
76316         print `00-22'.  Now, it prints `-0022', as it should.
76317
76318 2005-08-17  Bruno Haible  <bruno@clisp.org>
76319
76320         * modules/strstr (Files): Add m4/mbrtowc.m4.
76321         (Depends-on): Add mbuiter.
76322
76323 2005-08-17  Bruno Haible  <bruno@clisp.org>
76324
76325         * modules/strcasestr: New file.
76326         * MODULES.html.sh (String handling, based on ANSI C 89): Add
76327         strcasestr.
76328
76329 2005-08-17  Bruno Haible  <bruno@clisp.org>
76330
76331         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
76332
76333 2005-08-17  Bruno Haible  <bruno@clisp.org>
76334
76335         * modules/mbuiter: New file.
76336         * MODULES.html.sh (Extended multibyte and wide character utilities):
76337         Add mbuiter.
76338
76339 2005-08-17  Bruno Haible  <bruno@clisp.org>
76340
76341         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
76342         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
76343
76344 2005-08-17  Bruno Haible  <bruno@clisp.org>
76345
76346         * m4/strcasestr.m4: New file.
76347
76348 2005-08-17  Bruno Haible  <bruno@clisp.org>
76349
76350         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
76351         * lib/strstr.c: Completely rewritten, with multibyte locale support.
76352
76353 2005-08-17  Bruno Haible  <bruno@clisp.org>
76354
76355         * lib/strcasestr.h: New file.
76356         * lib/strcasestr.c: New file.
76357
76358 2005-08-17  Bruno Haible  <bruno@clisp.org>
76359
76360         * lib/strcasecmp.c: Use mbuiter.h.
76361
76362 2005-08-17  Bruno Haible  <bruno@clisp.org>
76363
76364         * lib/mbuiter.h: New file.
76365
76366 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76367
76368         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
76369         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
76370         and gl_GETOPT are both invoked via different paths (as happens
76371         with GNU tar CVS because it uses both argp and getopt), the former
76372         wins.
76373
76374 2005-08-16  Bruno Haible  <bruno@clisp.org>
76375
76376         * modules/tls: New file.
76377         * MODULES.html.sh (Multithreading): Add tls.
76378
76379 2005-08-16  Bruno Haible  <bruno@clisp.org>
76380
76381         * modules/strnlen1: New file.
76382         * MODULES.html.sh (String handling): Add strnlen1.
76383
76384 2005-08-16  Bruno Haible  <bruno@clisp.org>
76385
76386         * modules/strcase (Files): Add m4/mbrtowc.m4.
76387         (Depends-on): Add strnlen1, mbchar.
76388
76389 2005-08-16  Bruno Haible  <bruno@clisp.org>
76390
76391         * modules/mbiter: New file.
76392         * MODULES.html.sh (Extended multibyte and wide character utilities):
76393         Add mbiter.
76394
76395 2005-08-16  Bruno Haible  <bruno@clisp.org>
76396
76397         * modules/mbfile: New file.
76398         * MODULES.html.sh (Extended multibyte and wide character utilities):
76399         Add mbfile.
76400
76401 2005-08-16  Bruno Haible  <bruno@clisp.org>
76402
76403         * modules/mbchar: New file.
76404         * MODULES.html.sh (Extended multibyte and wide character utilities):
76405         New section.
76406
76407 2005-08-16  Bruno Haible  <bruno@clisp.org>
76408
76409         * m4/tls.m4: New file, from GNU gettext.
76410
76411 2005-08-16  Bruno Haible  <bruno@clisp.org>
76412
76413         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
76414         always.
76415         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
76416
76417 2005-08-16  Bruno Haible  <bruno@clisp.org>
76418
76419         * m4/mbiter.m4: New file.
76420
76421 2005-08-16  Bruno Haible  <bruno@clisp.org>
76422
76423         * m4/mbfile.m4: New file.
76424
76425 2005-08-16  Bruno Haible  <bruno@clisp.org>
76426
76427         * m4/mbchar.m4: New file.
76428
76429 2005-08-16  Bruno Haible  <bruno@clisp.org>
76430
76431         * lib/tls.h: New file, from GNU gettext.
76432         * lib/tls.c: New file, from GNU gettext.
76433
76434 2005-08-16  Bruno Haible  <bruno@clisp.org>
76435
76436         * lib/strnlen1.h: New file.
76437         * lib/strnlen1.c: New file.
76438
76439 2005-08-16  Bruno Haible  <bruno@clisp.org>
76440
76441         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
76442         (mbi_init): Update.
76443         (mbi_avail, mbi_advance): Let the iteration end before the terminating
76444         NUL byte, not after it.
76445
76446 2005-08-16  Bruno Haible  <bruno@clisp.org>
76447
76448         * lib/strcase.h (strcasecmp): Add note in comments.
76449         * lib/strncasecmp.c: Use code from strcasecmp.c.
76450         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
76451         (strcasecmp): Work correctly in multibyte locales.
76452
76453 2005-08-16  Bruno Haible  <bruno@clisp.org>
76454
76455         * lib/mbiter.h: New file.
76456
76457 2005-08-16  Bruno Haible  <bruno@clisp.org>
76458
76459         * lib/mbfile.h: New file.
76460
76461 2005-08-16  Bruno Haible  <bruno@clisp.org>
76462
76463         * lib/mbchar.h: New file.
76464         * lib/mbchar.c: New file.
76465
76466 2005-08-16  Bruno Haible  <bruno@clisp.org>
76467
76468         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
76469         the valid ones. Makes the comparison operations transitive:
76470         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
76471         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
76472
76473 2005-08-15  Simon Josefsson  <jas@extundo.com>
76474
76475         * modules/ssize_t (License): Change to 'unlimited'.
76476
76477         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
76478
76479 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76480
76481         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
76482         Add comments for each pending glibc patch.
76483
76484 2005-08-15  Bruno Haible  <bruno@clisp.org>
76485
76486         * lib/regex.h (__restrict_arr): Don't define to __restrict if
76487         __cplusplus is defined.
76488
76489 2005-08-14  Jim Meyering  <jim@meyering.net>
76490
76491         Sync from coreutils.
76492
76493         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
76494         Use the hash-table-based cycle-detection code not just when
76495         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
76496         Reported by James Youngman in
76497         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
76498         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
76499         FTS_TIGHT_CYCLE_CHECK.
76500         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
76501         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
76502         once again.
76503         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
76504         * lib/fts.c (fd_safer): Remove decl.
76505         Include fcntl--.h rather than unistd-safer.h
76506         (fts_safe_changedir): Don't call fd_safer; no longer needed
76507         now that we include fcntl--.h.
76508
76509 2005-08-12  Simon Josefsson  <jas@extundo.com>
76510
76511         * modules/getndelim2: Use ssize_t module.
76512         * modules/getnline: Likewise.
76513         * modules/safe-read: Likewise.
76514         * modules/xreadlink: Likewise.
76515
76516         * modules/ssize_t: New file.
76517
76518 2005-08-12  Simon Josefsson  <jas@extundo.com>
76519
76520         * m4/readline.m4: Look for termcap, curses or ncurses if required.
76521
76522 2005-08-12  Simon Josefsson  <jas@extundo.com>
76523
76524         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76525         ssize_t.
76526
76527 2005-08-12  Simon Josefsson  <jas@extundo.com>
76528
76529         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
76530         readline, getdelim and check_version.
76531         (Support for systems lacking ISO C 99: Sizes of integer types):
76532         Add size_max.
76533
76534 2005-08-12  Bruno Haible  <bruno@clisp.org>
76535
76536         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
76537
76538 2005-08-11  Simon Josefsson  <jas@extundo.com>
76539
76540         * modules/readline: New file.
76541
76542         * modules/strnlen (Files): Add strnlen.h.
76543
76544 2005-08-11  Simon Josefsson  <jas@extundo.com>
76545
76546         * m4/readline.m4: New file.
76547
76548 2005-08-11  Simon Josefsson  <jas@extundo.com>
76549
76550         * lib/readline.h, readline.c: New file.
76551
76552 2005-08-11  Simon Josefsson  <jas@extundo.com>
76553
76554         * doc/gnulib.texi (Initial import, Finishing touches): Mention
76555         gl_AVOID.
76556
76557 2005-08-11  Bruno Haible  <bruno@clisp.org>
76558
76559         * lib/strnlen.h (strnlen): Change parameter name to match comment.
76560
76561 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
76562
76563         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
76564
76565 2005-08-10  Simon Josefsson  <jas@extundo.com>
76566
76567         * tests/test-iconvme.c: New file.
76568
76569 2005-08-10  Simon Josefsson  <jas@extundo.com>
76570
76571         * m4/strnlen.m4: New file.
76572
76573         * m4/strndup.m4: Don't check for strnlen declaration, done in
76574         strnlen.m4.
76575
76576 2005-08-10  Simon Josefsson  <jas@extundo.com>
76577
76578         * lib/strndup.c: Use strnlen.h.
76579
76580         * lib/strnlen.h: New file.
76581
76582 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76583
76584         * README: Typos.
76585
76586 2005-08-02  Simon Josefsson  <jas@extundo.com>
76587
76588         * modules/readline: New file.
76589
76590 2005-08-02  Simon Josefsson  <jas@extundo.com>
76591
76592         * modules/getdelim: New file.
76593
76594         * modules/getline: Rewrite, don't use getndelim2.
76595
76596 2005-08-02  Simon Josefsson  <jas@extundo.com>
76597
76598         * m4/getline.m4: Separate out getdelim stuff into separate module.
76599
76600         * m4/getdelim.m4: New file.
76601
76602 2005-08-02  Simon Josefsson  <jas@extundo.com>
76603
76604         * lib/getline.h, getline.c: Rewrite.
76605
76606         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
76607
76608 2005-07-31  Bruno Haible  <bruno@clisp.org>
76609
76610         * lib/lock.h (gl_lock_initializer): New macro.
76611         (gl_lock_define_initialized): Use it.
76612         (gl_rwlock_initializer): New macro.
76613         (gl_rwlock_define_initialized): Use it.
76614         (gl_recursive_lock_initializer): New macro.
76615         (gl_recursive_lock_define_initialized): Use it.
76616
76617 2005-07-30  Karl Berry  <karl@gnu.org>
76618
76619         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
76620         Report from Ben Pfaff, regarding getopt.
76621
76622 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
76623
76624         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
76625         normal way.
76626         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
76627         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
76628         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
76629         (gl_GETOPT): Use the new macros.  Most of the implementation
76630         is moved to the new macros.  This is for programs like Emacs
76631         that don't want all the functionality of gl_GETOPT.
76632
76633 2005-07-26  Bruno Haible  <bruno@clisp.org>
76634
76635         * m4/lock.m4: Update from GNU gettext.
76636
76637 2005-07-26  Bruno Haible  <bruno@clisp.org>
76638
76639         * lib/lock.h: Update from GNU gettext.
76640         * lib/lock.c: Update from GNU gettext.
76641
76642 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
76643
76644         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
76645         obsolescent AC_TRY_RUN.  Include the default includes files, for
76646         'exit'.
76647
76648 2005-07-24  Bruno Haible  <bruno@clisp.org>
76649
76650         * modules/visibility: New file.
76651         * MODULES.html.sh (Misc): Add visibility.
76652
76653 2005-07-24  Bruno Haible  <bruno@clisp.org>
76654
76655         * m4/visibility.m4: New file.
76656
76657 2005-07-24  Bruno Haible  <bruno@clisp.org>
76658
76659         * doc/visibility.texi: New file.
76660
76661 2005-07-22  Bruno Haible  <bruno@clisp.org>
76662
76663         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
76664         $(ALLOCA_H), redundant through BUILT_SOURCES.
76665         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
76666         redundant through BUILT_SOURCES.
76667         * modules/byteswap (Makefile.am): Remove explicit dependency on
76668         $(BYTESWAP_H), redundant through BUILT_SOURCES.
76669         * modules/fnmatch (Makefile.am): Remove explicit dependency on
76670         $(FNMATCH_H), redundant through BUILT_SOURCES.
76671         * modules/getopt (Makefile.am): Remove explicit dependency on
76672         $(GETOPT_H), redundant through BUILT_SOURCES.
76673         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
76674         redundant through BUILT_SOURCES.
76675         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
76676         redundant through BUILT_SOURCES.
76677         * modules/stdbool (Makefile.am): Remove explicit dependency on
76678         $(STDBOOL_H), redundant through BUILT_SOURCES.
76679         * modules/stdint (Makefile.am): Remove explicit dependency on
76680         $(STDINT_H), redundant through BUILT_SOURCES.
76681         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
76682         Remove explicit dependency on $(SYSEXITS_H).
76683         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
76684
76685 2005-07-18  Simon Josefsson  <jas@extundo.com>
76686
76687         * lib/check-version.c (check_version): Accept identical versions too.
76688
76689 2005-07-18  Bruno Haible  <bruno@clisp.org>
76690
76691         * modules/lock: New file.
76692         * MODULES.html.sh (Multithreading): New section.
76693
76694 2005-07-18  Bruno Haible  <bruno@clisp.org>
76695
76696         * m4/lock.m4: New file, from GNU gettext.
76697
76698 2005-07-18  Bruno Haible  <bruno@clisp.org>
76699
76700         * lib/lock.h: New file, from GNU gettext.
76701         * lib/lock.c: New file, from GNU gettext.
76702
76703 2005-07-18  Bruno Haible  <bruno@clisp.org>
76704
76705         * lib/lock.h (gl_once_t): New type.
76706         (gl_once_define, gl_once): New macros.
76707         * lib/lock.c (fresh_once): New variable.
76708         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
76709         functions.
76710
76711 2005-07-16  Simon Josefsson  <jas@extundo.com>
76712
76713         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
76714         workaround, suggested by Bruno.
76715
76716 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76717
76718         * modules/xalloc (Depends-on): Add xalloc-die.
76719         * modules/xvasprintf (Depends-on): Add xalloc-die.
76720
76721 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76722
76723         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
76724         with a minor change.
76725
76726 2005-07-15  Bruno Haible  <bruno@clisp.org>
76727
76728         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
76729         When using lib/poll.c, define poll as rpl_poll.
76730
76731 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
76732
76733         * modules/argp (Depends-on): Remove unlocked-io.
76734
76735 2005-07-14  Derek Price  <derek@ximbiot.com>
76736
76737         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
76738         for glob symlink bug.
76739
76740 2005-07-14  Bruno Haible  <bruno@clisp.org>
76741
76742         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
76743         Instead, test for *_unlocked function declarations directly.
76744
76745 2005-07-11  Simon Josefsson  <jas@extundo.com>
76746
76747         * modules/size_max: New file.
76748
76749         * modules/xsize: Depend on size_max module for size_max.m4.
76750
76751 2005-07-11  Simon Josefsson  <jas@extundo.com>
76752
76753         * lib/size_max.h: New file.
76754
76755 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
76756
76757         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
76758         copyright symbol and the year.
76759         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
76760         (version_etc_va): Use parameterized copyright notice.
76761         Reword to conform to the current GNU coding standards.
76762
76763 2005-07-11  Karl Berry  <karl@gnu.org>
76764
76765         * doc/gnulib.texi (Quoting): new node.
76766         (Initial import): more info, from Patrice.
76767
76768 2005-07-11  Bruno Haible  <bruno@clisp.org>
76769
76770         * gnulib-tool (func_usage): Document option --avoid.
76771         (Command line options): Handle --avoid.
76772         (func_acceptable): New function.
76773         (func_modules_transitive_closure): Use it.
76774
76775 2005-07-11  Bruno Haible  <bruno@clisp.org>
76776
76777         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
76778         Reported by Jim Meyering.
76779
76780 2005-07-10  Bruno Haible  <bruno@clisp.org>
76781
76782         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
76783         Needed when size_t is smaller than 'unsigned int'.
76784         Reported by Paul Eggert.
76785
76786 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76787
76788         * modules/argp (Depends-on): Add unlocked-io
76789
76790 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76791
76792         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
76793         block of defines.
76794
76795 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76796
76797         * config/srclist.txt: Comment out regcomp.c, since we have a porting
76798         fix now.
76799
76800 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
76801         and Paul Eggert  <eggert@cs.ucla.edu>
76802
76803         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
76804         in wint_t, not wchar_t.  Remove now-unnecessary cast.
76805
76806 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         * modules/regex (Files): Add lib/regex_internal.c,
76809         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
76810         (Depends-on): Add extensions.
76811         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
76812
76813 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76814
76815         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
76816         pathconf.
76817         * m4/same.m4 (gl_SAME): Likewise.
76818         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
76819
76820         * m4/regex.m4: Adjust to new libc regex implementation.
76821         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
76822         all the .c and .h parts of (the new) regex.
76823         Quote the m4 stuff better.
76824         Check for RE_ICASE bug of old gnulib.
76825         Check for REG_STARTEND of recent libc.
76826         Rename local variables from jm_* to gl_*.
76827         Quote operand of "test -f".
76828         Say "recent enough" version of libc, not "version 2".
76829         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
76830         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
76831         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
76832         Remove check for btowc, isascii.
76833         Require AM_LANGINFO_CODESET.
76834
76835 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76836
76837         * lib/regex.c, regex.h: Sync from libc.
76838         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76839         * lib/regexec.c:
76840         New files, synced from libc, except that regex_internal.h
76841         currently has a small porting fix.
76842
76843 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76844
76845         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76846         regex_internal.c, regexec.c.
76847         Add regex_internal.h too, but as a comment, since the libc version
76848         is currently broken in gnulib mode.
76849
76850 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76851
76852         Support programs like Emacs that use gnulib but not gettext.
76853         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76854         * modules/gettext-h: New file.
76855         * modules/gettext (Files): Remove lib/gettext.h.
76856         (Depends-on): Add gettext-h.
76857         (Makefile.am): Remove lib_SOURCES.
76858         * modules/argmatch, modules/c-stack, modules/closeout:
76859         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76860         * modules/execute, modules/file-type, modules/getaddrinfo:
76861         * modules/getopt, modules/human, modules/javacomp:
76862         * modules/javaexec, modules/mkdir-p, modules/obstack:
76863         * modules/openat, modules/pagealign_alloc, modules/pipe:
76864         * modules/quotearg, modules/regex, modules/rpmatch:
76865         * modules/unicodeio, modules/userspec, modules/version-etc:
76866         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76867         * modules/xsetenv:
76868         Depend on gettext-h, not gettext.
76869
76870 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76871
76872         * gnulib-tool (func_import): Add support for 'public domain' license.
76873         * modules/alloca, modules/atexit, modules/memmove:
76874         Now public domain, not GPL.
76875         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76876         * modules/realloc, modules/strerror, modules/strtod:
76877         Now LGPL, not GPL.
76878
76879 2005-07-05  Bruno Haible  <bruno@clisp.org>
76880
76881         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76882         autoconf CVS. Needed for mingw.
76883
76884 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76885
76886         Remove the dependency of the strftime module on the tzset module.
76887         * modules/strftime (Depends-on): Remove dependency on tzset.
76888
76889 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76890
76891         Remove the dependency of the strftime module on the tzset module.
76892         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76893         gl_FUNC_TZSET_CLOBBER.
76894
76895 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76896
76897         Remove the dependency of the strftime module on the tzset module.
76898         * lib/strftime.c (my_strftime)
76899         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76900         Copy the input structure, to work around some of the bug with
76901         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76902         Solaris releases, you should also use the tzset module, but we won't
76903         require it as a dependency any more since we don't want LGPLed code
76904         to depend on GPLed code.
76905
76906 2005-07-02  Jim Meyering  <jim@meyering.net>
76907
76908         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76909         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76910         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76911         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76912
76913 2005-07-02  Jim Meyering  <jim@meyering.net>
76914
76915         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76916
76917 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76918
76919         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76920         declares only 'struct timespec;' (!).
76921
76922 2005-07-01  Jim Meyering  <jim@meyering.net>
76923
76924         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76925         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76926         * lib/save-cwd.c, tempname.c:
76927         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76928         and don't include <sys/file.h>).
76929
76930 2005-06-29  Jim Meyering  <jim@meyering.net>
76931
76932         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76933         type name.  Use the variable name instead.
76934         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76935         Likewise.
76936
76937 2005-06-28  Simon Josefsson  <jas@extundo.com>
76938
76939         * modules/check-version (Files): Add check-version.m4.
76940
76941 2005-06-28  Simon Josefsson  <jas@extundo.com>
76942
76943         * m4/check-version.m4: New file, suggested by Jim Meyering
76944         <jim@meyering.net>.
76945
76946 2005-06-28  Simon Josefsson  <jas@extundo.com>
76947
76948         * lib/check-version.h, lib/check-version.c: New files.
76949
76950 2005-06-28  Simon Josefsson  <jas@extundo.com>
76951
76952         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76953         collision with global variable.  Better indentation.  Don't
76954         increment buffer pointer beyond buffer end.  Based on comments
76955         from Paul Eggert <eggert@cs.ucla.edu>.
76956
76957         * lib/base64.h: Indent.
76958
76959 2005-06-28  Simon Josefsson  <jas@extundo.com>
76960
76961         * doc/gnulib.texi (Library version handling): New section.
76962
76963 2005-06-28  Jim Meyering  <jim@meyering.net>
76964
76965         * check-module (find_included_lib_files): Hard-code another
76966         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76967         but modules/fts-lgpl (correctly) does not list those files.
76968
76969         * modules/canonicalize (Files): Add lib/pathmax.h.
76970
76971 2005-06-25  Simon Josefsson  <jas@extundo.com>
76972
76973         * modules/check-version: New file.
76974
76975 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76976
76977         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76978         initializer of struct addrinfo, as an indication that we don't
76979         care how many members the structure has.
76980
76981 2005-06-24  Derek Price  <derek@ximbiot.com>
76982         and Bruno Haible  <bruno@clisp.org>
76983
76984         Remove stat module & update lstat.
76985         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76986         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76987         * m4/stat.m4: Remove this file.
76988
76989 2005-06-24  Derek Price  <derek@ximbiot.com>
76990         and Bruno Haible  <bruno@clisp.org>
76991
76992         Remove stat module & update lstat.
76993         * lib/stat.c: Remove this file...
76994         (slash_aware_lstat): ...moving this content and its support...
76995         * lib/lstat.c (rpl_lstat): ...into here.
76996         * lib/lstat.h: New file.
76997
76998 2005-06-24  Derek Price  <derek@ximbiot.com>
76999         and Bruno Haible  <bruno@clisp.org>
77000
77001         Remove stat module & update lstat.
77002         * config/srclist.txt (libc sources): Remove stat.
77003
77004 2005-06-24  Derek Price  <derek@ximbiot.com>
77005         and Bruno Haible  <bruno@clisp.org>
77006
77007         Remove stat module & update lstat.
77008         * MODULES.html.sh (stat): Remove.
77009         * MODULES.html: Regenerated.
77010         * modules/lstat (Description): Correct function name.
77011         (Files): Add "lstat.h".
77012         (Depends-on): Remove stat, add xalloc, stat-macros.
77013         * modules/stat: Remove this file.
77014         (Include): Add "lstat.h", remove <sys/stat.h>.
77015
77016 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
77017
77018         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
77019         (ranged_convert): Don't save conversion in a temporary struct.
77020         This causes a warning with GCC 4.0.0, and anyway in the typical
77021         case it's not worth the extra 100 bytes or so of code.
77022         (ranged_convert, __mktime_internal): When calling a function via a
77023         pointer P, use P () rather than (*P) (), as we now assume C89 or
77024         better.
77025
77026 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77027
77028         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
77029         "who -r" failed to give output.  Problem reported by Tim Waugh.
77030
77031         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
77032         (xcalloc): Use it to avoid needless tests.
77033         Problem reported by Jim Meyering.
77034
77035 2005-06-20  Derek Price  <derek@ximbiot.com>
77036
77037         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
77038         unnecessary for Autoconfs > 2.59c.
77039
77040 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77041
77042         * lib/argp.h (__option_is_short): Check upper limit of
77043         __key. Isprint() requires its argument to have the value
77044         of an unsigned char or EOF.
77045
77046 2005-06-16  Jim Meyering  <jim@meyering.net>
77047
77048         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
77049         when either N or S is zero.
77050
77051 2005-06-16  Derek Price  <derek@ximbiot.com>
77052
77053         * m4/bison.m4: Declare YACC & YFLAGS precious.
77054
77055 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
77056
77057         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
77058         multibyte string or pattern, fall back on unibyte matching.
77059         Problem reported by James Youngman.
77060
77061 2005-06-08  Bruno Haible  <bruno@clisp.org>
77062
77063         * modules/csharpcomp: New file.
77064         * MODULES.html.sh (C#): Add csharpcomp.
77065
77066 2005-06-08  Bruno Haible  <bruno@clisp.org>
77067
77068         * m4/csharpcomp.m4: New file, from GNU gettext.
77069
77070 2005-06-08  Bruno Haible  <bruno@clisp.org>
77071
77072         * lib/csharpcomp.h: New file, from GNU gettext.
77073         * lib/csharpcomp.c: New file, from GNU gettext.
77074         * lib/csharpcomp.sh.in: New file, from GNU gettext.
77075
77076 2005-06-08  Bruno Haible  <bruno@clisp.org>
77077
77078         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
77079         warning on mingw.
77080
77081 2005-06-07  Derek Price  <derek@ximbiot.com>
77082
77083         Sync from CVS.
77084         * lib/glob_.h: Indent nested #ifdef.
77085
77086 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
77087
77088         Sync from coreutils.
77089         Use "file name" when talking about file names, instead of "filename"
77090         or "path", as per the GNU coding standards.
77091         * lib/mkdir-p.c: Renamed from makepath.c.
77092         (make_dir_parents): Renamed from make_path.  All callers changed.
77093         * lib/mkdir-p.h: Likewise.  All includers changed.
77094         * lib/filenamecat.c: Renamed from path-concat.c.
77095         (file_name_concat): Renamed from path_concat.  All callers changed.
77096         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
77097         * lib/filenamecat.h: Likewise.  All includers changed.
77098         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
77099         in comments or local variable names.
77100         * lib/basename.c: Likewise.
77101         * lib/canonicalize.c, canonicalize.h: Likewise.
77102         * lib/dirname.c, dirname.h: Likewise.
77103         * lib/euidaccess.c: Likewise.
77104         * lib/exclude.c: Likewise
77105         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
77106         * lib/fsusage.c, fsuage.h: Likewise.
77107         * lib/fts.c, fts_.h: Likewise.
77108         * lib/getcwd.c: Likewise.
77109         * lib/getloadavg.c: Likewise.
77110         * lib/mkstemp.c: Likewise.
77111         * lib/mountlist.c, mountlist.h: Likewise.
77112         * lib/openat.c, openat.h: Likewise.
77113         * lib/readlink-stub.c: Likewise.
77114         * lib/readutmp.c, readutmp.h: Likewise.
77115         * lib/rename.c: Likewise.
77116         * lib/rmdir.c: Likewise.
77117         * lib/same.c: Likewise.
77118         * lib/savedir.c: Likewise.
77119         * lib/stripslash.c: Likewise.
77120         * lib/tempname.c: Likewise.
77121         * lib/xreadlink.c: Likewise.
77122         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
77123         All uses changed.
77124         * lib/exclude.h: Likewise.
77125
77126         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
77127         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
77128         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
77129         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
77130         * lib/pathmax.h: Include <limits.h> unconditionally, since other
77131         files have been getting away with it for years (MORE/BSD 4.3
77132         is extinct now).
77133         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
77134         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
77135
77136         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
77137         Define to 256, not 255, as per modern POSIX.
77138
77139 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
77140
77141         Sync from coreutils.
77142         Use "file name" when talking about file names, instead of "filename"
77143         or "path", as per the GNU coding standards.
77144         * MODULES.html.sh: mkdir-p renamed from makepath.
77145         filenamecat renamed from path-concat.
77146         * modules/filenamecat: Renamed from modules/path-concat.
77147         (Files): filenamecat.h and filenamecat.c renamed from
77148         path-concat.h and path-concat.c.
77149         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
77150         (Include): filenamecat.h, not path-concat.h.
77151         * modules/mkdir-p: Renamed from modules/makepath.
77152         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
77153         makepath.c.
77154         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
77155         (Include): mkdir-p.h, not makepath.h.
77156
77157 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
77158
77159         Sync from coreutils.
77160         * m4/mkdir-p.m4: Renamed from makepath.m4.
77161         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
77162         Rename files from makepath.c to mkdir-p.c, and from
77163         makepath.h to mkdir-p.h.
77164         * m4/filenamecat.m4: Renamed from path-concat.m4.
77165         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
77166         Rename files from path-concat.c to filenamecat.c,
77167         and from path-concat.h to filenamecat.h.
77168         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
77169         "file name" in local variables or comments.
77170         * m4/rename.m4: Likewise.
77171
77172 2005-06-01  Bruno Haible  <bruno@clisp.org>
77173
77174         * modules/csharpexec: New file.
77175         * MODULES.html.sh (C#): New section.
77176
77177 2005-06-01  Bruno Haible  <bruno@clisp.org>
77178
77179         * m4/csharp.m4: New file, from GNU gettext.
77180         * m4/csharpexec.m4: New file, from GNU gettext.
77181
77182 2005-06-01  Bruno Haible  <bruno@clisp.org>
77183
77184         * lib/csharpexec.h: New file, from GNU gettext.
77185         * lib/csharpexec.c: New file, from GNU gettext.
77186         * lib/csharpexec.sh.in: New file, from GNU gettext.
77187
77188 2005-05-31  Derek Price  <derek@ximbiot.com>
77189             Paul Eggert  <eggert@cs.ucla.edu>
77190
77191         Sync from cvs.
77192         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
77193
77194 2005-05-31  Derek Price  <derek@ximbiot.com>
77195             Paul Eggert  <eggert@cs.ucla.edu>
77196
77197         Sync from cvs.
77198         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
77199
77200 2005-05-29  Derek Price  <derek@ximbiot.com>
77201
77202         * config/srclist.txt (glob_.h, glob.c): Add these files.
77203
77204 2005-05-29  Derek Price  <derek@ximbiot.com>
77205
77206         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
77207         * modules/glob: New file.
77208         * modules/getlogin_r: Add link to POSIX spec in description.
77209
77210 2005-05-29  Derek Price  <derek@ximbiot.com>
77211             Paul Eggert  <eggert@cs.ucla.edu>
77212
77213         * m4/glob.m4: New file.
77214
77215 2005-05-29  Derek Price  <derek@ximbiot.com>
77216             Paul Eggert  <eggert@cs.ucla.edu>
77217
77218         * lib/glob_.h, lib/glob.c: New files.
77219
77220 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
77221
77222         * modules/fts (Files): Remove m4/inttypes-pri.m4.
77223         * modules/fts-lgpl (Depends-on): Remove gettext.
77224
77225 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
77226
77227         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
77228         and don't require gt_INTTYPES_PRI.
77229
77230 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
77231
77232         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
77233
77234         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
77235         the configuration hassle isn't worth it.
77236         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
77237         (LONGEST_MODIFIER, PRIuMAX): Remove.
77238
77239 2005-05-27  Bruno Haible  <bruno@clisp.org>
77240
77241         * lib/getlogin_r.h: Remove second include of <stddef.h>.
77242
77243 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
77244
77245         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
77246         _POSIX_PTHREAD_SEMANTICS for Solaris.
77247
77248 2005-05-25  Derek Price  <derek@ximbiot.com>
77249
77250         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
77251
77252 2005-05-25  Derek Price  <derek@ximbiot.com>
77253             Paul Eggert  <eggert@cs.ucla.edu>
77254
77255         * modules/getlogin_r, m4/getlogin_r.m4: New files.
77256         * lib/getlogin_r.c, getlogin_r.h: New files.
77257
77258 2005-05-25  Bruno Haible  <bruno@clisp.org>
77259             Derek Price  <derek@ximbiot.com>
77260
77261         * lib/getlogin_r.h: Simplify API documentation.
77262
77263 2005-05-23  Derek Price  <derek@ximbiot.com>
77264
77265         * modules/minmax (Files): Add m4/minmax.m4.
77266         (configure.ac): Add gl_MINMAX.
77267
77268 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
77269
77270         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
77271         so that unistd-safer.h (GPL'ed code) need not be included.
77272
77273 2005-05-22  Bruno Haible  <bruno@clisp.org>
77274
77275         * m4/minmax.m4: New file.
77276         Based on a patch by Derek Price <derek@ximbiot.com>.
77277
77278 2005-05-22  Bruno Haible  <bruno@clisp.org>
77279
77280         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
77281         (INT64_MIN): Fix definition.
77282         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
77283
77284         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
77285         NEED_SIGNED_INT_TYPES.
77286
77287         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
77288         HAVE_SYSTEM_INTTYPES.
77289
77290 2005-05-22  Bruno Haible  <bruno@clisp.org>
77291
77292         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
77293         Also include <sys/param.h> if it defines MIN, MAX.
77294         Based on a patch by Derek Price <derek@ximbiot.com>.
77295
77296 2005-05-21  Jim Meyering  <jim@meyering.net>
77297
77298         * modules/fts (Files): Add m4/inttypes-pri.m4.
77299         (Depends-on): Add lstat and remove gettext.  Alphabetize.
77300
77301 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
77302
77303         New fts module.
77304         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
77305         (setup_dir, free_dir): New functions.
77306         (enter_dir, leave_dir): Define trivial
77307         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
77308         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
77309         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
77310         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
77311         Move to fts-cycle.c.
77312         (fts_open): Use setup_dir.
77313         (fts_close): Use free_dir.
77314         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
77315         This adds a label and some gotos, but the alternatives were messier.
77316         Check for memory allocation failure when entering a dir.
77317         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
77318         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
77319         (FTS): New member fts_cycle, that is a union that contains the
77320         old active_dir_ht and cycle_state.  All uses changed to mention
77321         fts_cycle.ht and fts_cycle.state.
77322         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
77323         fts.c, with the following changes:
77324         (setup_dir, free_dir): New functions.
77325         (enter_dir): Now returns bool.  Return true if successful, false
77326         if memory exhausted.  All callers changed.
77327         Do not bother partly cleaning up on
77328         memory allocation failure; that is free_dir's job.
77329         However, free ad if hash_insert fails, to avoid memory leak.
77330         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
77331         fts->fts_options to see which union member to use.
77332
77333 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
77334
77335         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
77336         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
77337
77338 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
77339
77340         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
77341
77342 2005-05-20  Jim Meyering  <jim@meyering.net>
77343
77344         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
77345         Now a macro, to pacify GCC.
77346
77347 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
77348
77349         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
77350         of -1.
77351
77352 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
77353
77354         * lib/chown.c (rpl_chown): Return -1 on failure.
77355
77356 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
77357
77358         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
77359         Don't check for stddef.h.
77360         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
77361         don't use its results.
77362         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
77363         since we include them unconditionally.  Don't require
77364         AM_STDBOOL_H, since stdbool is a prerequisite.
77365         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
77366         since we assume C89 or better.
77367         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
77368         as we don't use their results.
77369         Don't check for fchdir, memmove, memset, strrchr, as we use
77370         them unconditionally.
77371         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
77372         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
77373
77374 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
77375
77376         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
77377         Include <stddef.h> unconditionally, since we assume C89 now.
77378         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
77379         * lib/fts.c: Include fts_.h first, to check interface.
77380         Do not include intprops.h; no longer needed.
77381         Include cycle-check.h and hash.h, since fts_.h no longer does.
77382         Remove unnecessary casts of closedir to void.
77383         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
77384         decide whether to decrement nlinks.
77385         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
77386         (FTS): Use struct hash_table * instead of Hash_table, so that
77387         we no longer need to include hash.h here.
77388
77389 2005-05-18  Jim Meyering  <jim@meyering.net>
77390
77391         * modules/dirfd (License): Change to LGPL.  Most of the code
77392         is already in the public domain.
77393
77394 2005-05-18  Jim Meyering  <jim@meyering.net>
77395
77396         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
77397         Reported by Yoann Vandoorselaere.
77398
77399 2005-05-17  Jim Meyering  <jim@meyering.net>
77400
77401         * m4/fts.m4: New file, from coreutils.
77402
77403 2005-05-17  Jim Meyering  <jim@meyering.net>
77404
77405         * lib/fts.c, lib/fts_.h: New files, from coreutils.
77406
77407 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77408
77409         Sync from coreutils.
77410         * m4/unlinkdir.m4: New file.
77411
77412 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77413
77414         Sync from coreutils.
77415         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
77416         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
77417         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
77418         White space changes only.
77419         * lib/makepath.c (make_path): Port to hosts where leading "//" is
77420         special.
77421         * lib/yesno.c: Include getline.h, not ctype.h.
77422         (yesno): Don't remove leading white space; POSIX doesn't allow it.
77423         Use getline to remove arbitrary restriction on response length.
77424
77425 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77426
77427         * config/srclist-update: Spell out "Street" in FSF postal
77428         mail address; this is the style the FSF seems to prefer.
77429
77430         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
77431         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
77432         this updates FSF postal mail address.
77433
77434         Sync from coreutils.
77435         * modules/unlinkdir: New file.
77436         * modules/yesno (Depends-on): Add getline.
77437         * MODULES.html.sh (File system functions): Add unlinkdir.
77438
77439 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
77440
77441         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
77442         lib/strsep.h:
77443         Change the initial comment to refer to GPL, not LGPL.
77444         gnulib-tool will change it to LGPL as needed.
77445
77446         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
77447         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
77448         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
77449         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
77450         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
77451         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
77452         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
77453         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
77454         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
77455         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
77456         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
77457         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
77458         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
77459         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
77460         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
77461         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
77462         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
77463         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
77464         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
77465         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
77466         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
77467         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
77468         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
77469         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
77470         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
77471         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
77472         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
77473         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
77474         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
77475         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
77476         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
77477         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
77478         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
77479         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
77480         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
77481         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
77482         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
77483         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
77484         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
77485         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
77486         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
77487         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
77488         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
77489         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
77490         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
77491         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
77492         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
77493         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
77494         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
77495         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
77496         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
77497         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
77498         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
77499         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
77500         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
77501         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
77502         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
77503         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
77504         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
77505         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
77506         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
77507         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
77508         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
77509         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
77510         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
77511         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
77512         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
77513         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
77514         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
77515         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
77516         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
77517         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
77518         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
77519         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
77520         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
77521         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
77522         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
77523         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
77524         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
77525         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
77526         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
77527         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
77528         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
77529         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
77530         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
77531         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
77532         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
77533         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
77534         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
77535         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
77536         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
77537         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
77538         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
77539         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
77540         lib/yesno.c, lib/yesno.h:
77541         Update FSF postal mail address.
77542
77543 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
77544
77545         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
77546         tests/test-memmem.c, tests/test-stpncpy.c:
77547         Update FSF postal mail address.
77548
77549 2005-05-13  Bruno Haible  <bruno@clisp.org>
77550
77551         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
77552         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
77553         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
77554         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
77555         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
77556         Add support for 64-bit integers in the MSVC compiler.
77557
77558 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77559
77560         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
77561
77562 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
77563
77564         * gnulib-tool (func_import): Sort and uniquify recommended includes.
77565
77566 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
77567
77568         * doc/getdate.texi (General date syntax): Don't say that date
77569         date --iso-8601=ns generates acceptable dates; it doesn't yet.
77570         Problem reported by Nic Ferrier.
77571
77572 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77573
77574         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
77575         specified in ai_socktype. Fix invalid ai_protocol
77576         check. ai_protocol is usually set to 0 or depending on
77577         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
77578         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
77579         ai_socktype / ai_protocol in the returned addrinfo structure.
77580
77581 2005-05-10  Simon Josefsson  <jas@extundo.com>
77582
77583         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
77584         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77585
77586 2005-05-10  Karl Berry  <karl@gnu.org>
77587
77588         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
77589         (from http://www.gnu.org/licenses).
77590         * doc/COPYING.LIB: also rename to COPYING.LESSER.
77591         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
77592         fdl.texi suffices.
77593
77594 2005-05-10  Karl Berry  <karl@gnu.org>
77595
77596         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
77597         (COPYING.DOC): remove.
77598
77599         * config/srclist-update: new FSF address.
77600
77601 2005-05-10  Derek Price  <derek@ximbiot.com>
77602
77603         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
77604         possible.
77605
77606 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77607             Bruno Haible  <bruno@clisp.org>
77608
77609         * modules/inet_ntop: New file.
77610         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77611         inet_ntop.
77612
77613 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77614             Bruno Haible  <bruno@clisp.org>
77615
77616         * m4/inet_ntop.m4: New file.
77617
77618 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77619             Bruno Haible  <bruno@clisp.org>
77620
77621         * lib/inet_ntop.h: New file.
77622         * lib/inet_ntop.c: New file, from glibc with modifications.
77623
77624 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
77625
77626         * modules/time_r (License): Change to LGPL.
77627         * modules/extensions (License): Change to LGPL.  Actually,
77628         the license is more permissive than that, but currently gnulib-tool
77629         doesn't know how to handle more-permissive licenses.
77630
77631         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
77632         Problem reported by Dave Love.
77633
77634 2005-05-08  Jim Meyering  <jim@meyering.net>
77635
77636         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
77637         blank.
77638
77639 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
77640
77641         * modules/argmatch (Depends-on): Add stdbool.
77642         * modules/backupfile (Depends-on): Likewise.
77643         * modules/chdir-long (Depends-on): Likewise.
77644         * modules/closeout (Depends-on): Likewise.
77645         * modules/cycle-check (Depends-on): Likewise.
77646         * modules/dirname (Depends-on): Likewise.
77647         * modules/fnmatch (Depends-on): Likewise.
77648         * modules/fsusage (Depends-on): Likewise.
77649         * modules/fwriteerror (Depends-on): Likewise.
77650         * modules/getcwd (Depends-on): Likewise.
77651         * modules/getloadavg (Depends-on): Likewise.
77652         * modules/hard-locale (Depends-on): Likewise.
77653         * modules/makepath (Depends-on): Likewise.
77654         * modules/mountlist (Depends-on): Likewise.
77655         * modules/nanosleep (Depends-on): Likewise.
77656         * modules/posixtm (Depends-on): Likewise.
77657         * modules/quotearg (Depends-on): Likewise.
77658         * modules/readtokens (Depends-on): Likewise.
77659         * modules/readtokens0 (Depends-on): Likewise.
77660         * modules/readutmp (Depends-on): Likewise.
77661         * modules/save-cwd (Depends-on): Likewise.
77662         * modules/strftime (Depends-on): Likewise.
77663         * modules/userspec (Depends-on): Likewise.
77664         * modules/utimecmp (Depends-on): Likewise.
77665         * modules/xgetcwd (Depends-on): Likewise.
77666         * modules/xnanosleep (Depends-on): Likewise.
77667         * modules/xstrtod (Depends-on): Likewise.
77668         * modules/yesno (Depends-on): Likewise.
77669
77670 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
77671
77672         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
77673         needless checks.
77674
77675 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77676
77677         Merge from coreutils.  Among other things,
77678         add bulletproofing for cases where stdin, stdout, or stderr are closed.
77679         * lib/fd-safer.c: New file.
77680         * lib/fcntl-safer.h, open-safer.c: Remove.
77681         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
77682         * lib/dup-safer.c: Include unistd-safer.h first.
77683         Don't include errno.h.
77684         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
77685         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
77686         * lib/file-type.c: Rely on file-type.h change.
77687         * lib/getloadavg.c: Include unistd-safer.h.
77688         (getloadavg): Use safer open.
77689         * lib/getusershell.c: Include "stdio-safer.h".
77690         (getusershell): Use safer fopen.
77691         * lib/long-options.c (long_options): Use NULL rather than 0.
77692         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
77693         'free'.
77694         * lib/modechange.c: Likewise.
77695         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
77696         (MODE_DONE): New constant.
77697         (struct mode_change): Remove 'next' member.
77698         (make_node_op_equals): New function; like the old one of the
77699         same name, except it allocates an array.
77700         (mode_compile, mode_create_from_ref): Use it.
77701         (mode_compile): Allocate result as an array, not a linked list.
77702         Parse octal string ourself, so that we catch mistakes like "+0".
77703         (mode_adjust): Arg is an array, not a linked list.
77704         * lib/modechange.c: Include stat-macros.h, xalloc.h.
77705         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
77706         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
77707         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
77708         Remove.  This is now stat-macros.h's job.
77709         (talloc): Remove.  All callers replaced by xalloc, so that
77710         our invokers don't have to worry about reporting memory failures.
77711         (make_node_op_equals): Remove.
77712         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77713         New constants.
77714         (struct mode_change): Moved here from modechange.h.
77715         (mode_append_entry): Remove.
77716         (mode_compile): Remove MASKED_OPS arg, since it encouraged
77717         apps to have incorrect behavior.  Use simpler algorithm for head
77718         and tail.  Don't futz with umask; that's now the job of mode_adjust.
77719         Detect more invalid usages rather than having somewhat-random behavior.
77720         Don't insert an "a=" action, as that leads to incorrect behavior.
77721         (mode_compile, mode_create_from_ref): Return NULL on error instead
77722         of an enum, since now there's only one way to have an error.  All
77723         callers changed.
77724         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
77725         at the correct time.  Simplify calculation of "+u" and its ilk.
77726         Don't mishandle "+X".
77727         (mode_free): Remove "register" and localize decls.
77728         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77729         (struct mode_change): Move to modechange.c; callers don't
77730         need to see this stuff.
77731         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
77732         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
77733         (mode_change, mode_adjust): Reflect the new signatures noted above.
77734         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
77735         that might redefine system include files.
77736         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
77737         (my_usleep): Use NULL rather than (void *) 0.
77738         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
77739         Use siginterrupt to specify that system calls should be interrupted.
77740         (rpl_nanosleep): Move initialization of suspended closer to call of
77741         my_usleep.
77742         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
77743         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
77744         (desirable_utmp_entry): New function.
77745         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
77746         using x2nrealloc, to simplify logic.
77747         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
77748         size calculation.  Do not assume utmp file is a regular file.
77749         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
77750         (READ_UTMP_CHECK_PIDS): New constant.
77751         * lib/save-cwd.c: Include unistd-safer.h.
77752         (save_cwd): Use fd_safer.
77753         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
77754         [!_LIBC] Include "stat-macros.h" instead.
77755         * lib/unistd-safer.h (fd_safer): New decl.
77756
77757 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77758
77759         * modules/getloadavg (Depends-on): Add unistd-safer.
77760         * modules/getusershell (Depends-on): Add stdio-safer.
77761         * modules/lstat (Depends-on): Remove xalloc.
77762         * modules/mkstemp (Depends-on): Add stat-macros.
77763         * modules/modechange (Depends-on): Remove xstrtol.
77764         Add stat-macros, xalloc.
77765         * modules/save-cwd (Depends-on): Add unistd-safer.
77766         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
77767         * modules/unistd-safer (Files): Add lib/fd-safer.c
77768         (Makefile.am): Remove lib_SOURCES.
77769
77770         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
77771         Remove fcntl-safer; unistd-safer supersedes it.
77772
77773 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77774
77775         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
77776         AC_HEADER_STAT.
77777         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
77778         (gl_PREREQ_CHOWN): Remove.
77779         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
77780         it.  Don't require AC_HEADER_STAT.
77781         (gl_PREREQ_LSTAT): Remove.
77782         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
77783         Don't require AC_HEADER_STAT.
77784         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
77785         (gl_PREREQ_RMDIR): Remove.
77786         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
77787         mention stat-macros.h or AC_HEADER_STAT, since we'll make
77788         the stat-macros module a prerequisite.
77789         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
77790         * m4/filemode.m4 (gl_FILEMODE): Likewise.
77791         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
77792         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
77793         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
77794         variable names.
77795         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
77796         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
77797         variable prefixes.
77798         * m4/fcntl-safer.m4: Remove.
77799         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
77800         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
77801         Invoke gl_PREREQ_FD_SAFER.
77802         (gl_PREREQ_FD_SAFER): New macro.
77803         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
77804         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
77805         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
77806         Remove duplicate call to AC_LIBOBJ(readutmp).
77807         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
77808
77809         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
77810         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
77811
77812 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77813
77814         * MODULES.html.sh (Misc): Add byteswap.
77815
77816 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77817
77818         * modules/getcwd (Depends-on): Add extensions.
77819         * modules/openat (Depends-on): Likewise.
77820
77821 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77822
77823         * modules/byteswap: New file.
77824
77825 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77826
77827         * m4/byteswap.m4: New file.
77828
77829 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77830
77831         * lib/byteswap_.h: New file.
77832
77833 2005-04-25  Karl Berry  <karl@gnu.org>
77834
77835         * m4/gettext.m4: Update from GNU gettext 0.14.4.
77836
77837 2005-04-25  Albert Chin  <china@thewrittenword.com>
77838
77839         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77840         Toolkit C bug.
77841
77842 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77843
77844         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77845         (func_ln_if_changed): Remove forcibly for no error message
77846         in case file does not exist.
77847
77848 2005-04-19  Simon Josefsson  <jas@extundo.com>
77849
77850         * gnulib-tool (Options): Make --symlink mean --symbolic.
77851
77852 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77853
77854         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77855
77856 2005-04-16  Simon Josefsson  <jas@extundo.com>
77857
77858         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77859
77860 2005-04-15  Simon Josefsson  <jas@extundo.com>
77861
77862         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77863
77864 2005-04-15  Simon Josefsson  <jas@extundo.com>
77865
77866         * gnulib-tool: Rename --symlink to --symbolic.
77867
77868 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77869
77870         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77871         symbolic links to files instead of copying/moving.  Add --aux-dir,
77872         specifying directory relative --dir where auxiliary build tools
77873         are placed.
77874
77875 2005-04-14  Bruno Haible  <bruno@clisp.org>
77876
77877         * modules/allocsa (License): Change to LGPL.
77878         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77879
77880 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77881
77882         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77883         that "UTC +1 second" continues to work.  Problem reported
77884         by Dmitry V. Levin.
77885         (relunit_snumber): New rule.
77886         (relunit): Use it.
77887
77888 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77889
77890         * lib/getdate.y (universal_time_zone_table): New constant.
77891         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77892         universal_time_zone_table.
77893         (lookup_zone): Prefer universal_time_zone_table to
77894         local_time_zone_table, so that "GMT" time stamps are allowed in
77895         London during the summer.  Problem reported by Ian Abbott.
77896
77897 2005-04-12  Jim Meyering  <jim@meyering.net>
77898
77899         * lib/human.c (humblock): Set *options even when returning due to
77900         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77901         warning from gcc-4.
77902
77903 2005-04-09  Jim Meyering  <jim@meyering.net>
77904
77905         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77906         -Wuninitialized: initialize tm0.tm_year.
77907
77908 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77909
77910         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77911         count, since there's no maximum.  All uses changed.
77912         Add member dsts_seen.
77913         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77914         not being INT_MAX.
77915         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77916         Use pc_rels_seen to decide whther a date is absolute.
77917
77918         * lib/getdate.y (number): Don't overwrite year.
77919         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77920         check.
77921
77922 2005-04-02  Simon Josefsson  <jas@extundo.com>
77923
77924         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77925         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77926
77927 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77928
77929         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77930         where no absolute path name can be longer than PATH_MAX.
77931
77932 2005-03-27  Jim Meyering  <jim@meyering.net>
77933
77934         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77935
77936 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77937
77938         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77939         "one's complement" -> "ones' complement" in comment, as per Knuth.
77940         "value of type" -> "type or expression" in comment.
77941         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77942
77943 2005-03-26  Jim Meyering  <jim@meyering.net>
77944
77945         Comment nits.
77946         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77947         Correct typos: s/or/of/.
77948
77949 2005-03-26  Jim Meyering  <jim@meyering.net>
77950
77951         * modules/check-include-files: Move to ../ and rename to...
77952         * check-module: ...this.
77953
77954 2005-03-25  Jim Meyering  <jim@meyering.net>
77955
77956         * modules/xvasprintf (Files): Add xalloc.h.
77957
77958 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77959
77960         * modules/gettext (Files): config/config.rpath ->
77961         build-aux/config.rpath
77962         * modules/iconv (Files): Likewise.
77963         Problem reported by Oskar Liljeblad.
77964
77965 2005-03-23  Jim Meyering  <jim@meyering.net>
77966
77967         * modules/check-include-files: New script to check for
77968         missing dependencies, multiple includes, etc.
77969
77970         * modules/c-strtold (Depends-on): Add xalloc.
77971         * modules/c-strtod (Depends-on): Add xalloc.
77972         * modules/hash (Depends-on): Add xalloc.
77973         (Files): Remove lib/xalloc.h.
77974
77975         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77976         * modules/userspec (Files): Add lib/inttostr.h.
77977
77978 2005-03-23  Jim Meyering  <jim@meyering.net>
77979
77980         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77981
77982 2005-03-22  Jim Meyering  <jim@meyering.net>
77983
77984         * modules/stat-macros: New module.
77985         * modules/canonicalize, modules/euidaccess, modules/file-type,
77986         * modules/filemode, modules/lchown, modules/makepath,
77987         * modules/rmdir, modules/stat: Depend on new stat-macros module
77988         rather than listing lib/stat-macros.h manually.
77989         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77990
77991 2005-03-22  Jim Meyering  <jim@meyering.net>
77992
77993         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77994
77995 2005-03-22  Bruno Haible  <bruno@clisp.org>
77996
77997         * config/srclist.txt: Replace target directory 'config' with
77998         'build-aux'.
77999         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
78000         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
78001         ../build-aux/.
78002
78003 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
78004
78005         * modules/chdir-long (Depends-on): Add mempcpy.
78006
78007         * modules/acl, modules/backupfile, modules/c-strtod,
78008         modules/c-strtold, modules/canon-host, modules/canonicalize,
78009         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
78010         modules/exclude, modules/exitfail, modules/file-type,
78011         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
78012         modules/getdate, modules/getline, modules/getpagesize,
78013         modules/getpass, modules/getugroups, modules/group-member,
78014         modules/hard-locale, modules/hash, modules/human, modules/idcache,
78015         modules/inttostr, modules/long-options, modules/makepath,
78016         modules/md5, modules/memcasecmp, modules/memcoll,
78017         modules/modechange, modules/mountlist, modules/path-concat,
78018         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
78019         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
78020         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
78021         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
78022         modules/strftime, modules/strndup, modules/strverscmp,
78023         modules/timespec, modules/unlocked-io, modules/userspec,
78024         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
78025         modules/yesno:
78026         Remove lib_SOURCES line from Makefile.am section, as this is now
78027         done automatically by the corresponding Autoconf macro.
78028
78029 2005-03-21  Jim Meyering  <jim@meyering.net>
78030
78031         Changes imported from coreutils.
78032
78033         * lib/cycle-check.c: Don't include xalloc.h.
78034
78035         * lib/path-concat.c: Don't include assert.h.
78036         (path_concat): Remove assertion that would have triggered
78037         for ABASE starting with more than one slash.
78038         Reported by Andreas Schwab.
78039
78040         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
78041         properly when ABASE is an absolute file name.
78042         Correct the description of this function.
78043         Include <assert.h>.
78044         Add an assertion and a test driver.
78045         This fixes a bug introduced on 2004-07-02.
78046         Andreas Schwab reported the resulting failure of cp --parents:
78047         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
78048
78049 2005-03-21  Jim Meyering  <jim@meyering.net>
78050
78051         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
78052         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
78053
78054 2005-03-21  Jim Meyering  <jim@meyering.net>
78055         and  Paul Eggert  <eggert@cs.ucla.edu>
78056
78057         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
78058         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
78059         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
78060         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
78061         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
78062         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
78063         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
78064         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
78065         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
78066         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
78067         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
78068         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
78069         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
78070         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
78071         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
78072         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
78073         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
78074         for these modules.
78075
78076 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
78077
78078         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
78079         (which shouldn't happen), generate nothing instead of returning 0
78080         immediately, so that nstrftime (NULL, ...) doesn't return 0.
78081
78082 2005-03-16  Bruno Haible  <bruno@clisp.org>
78083
78084         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
78085         HAVE_LONGLONG_64BIT.
78086
78087 2005-03-16  Bruno Haible  <bruno@clisp.org>
78088
78089         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
78090         HAVE_LONGLONG_64BIT.
78091
78092 2005-03-16  Bruno Haible  <bruno@clisp.org>
78093
78094         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
78095         HAVE_LONGLONG_64BIT.
78096
78097 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
78098
78099         * lib/strftime.c (my_strftime): Prepend space to format so that we can
78100         reliably distinguish strftime failure from empty output on POSIX
78101         hosts.
78102
78103 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
78104
78105         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
78106         (iconv_string): Don't guess a size-zero buffer, as that might cause
78107         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
78108         result would be 'too large', where 'too large' is (heuristically)
78109         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
78110         overflow concerns.  This will prevent some unwanted malloc failures
78111         when the inputs are very large.
78112
78113 2005-03-15  Karl Berry  <karl@gnu.org>
78114
78115         * config/srclist.txt (config.rpath): from gettext.
78116         * config/config.rpath: update.
78117
78118 2005-03-15  Bruno Haible  <bruno@clisp.org>
78119
78120         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
78121         to 'negate'.
78122
78123         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
78124         variable.
78125
78126         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
78127         results.
78128
78129 2005-03-14  Simon Josefsson  <jas@extundo.com>
78130
78131         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
78132         <fx@gnu.org>.
78133
78134 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
78135
78136         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
78137         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
78138         intprops.h.
78139         * lib/strtol.c: Likewise.
78140
78141 2005-03-14  Jim Meyering  <jim@meyering.net>
78142
78143         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
78144         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
78145         to be nonzero so that we (and caller) can detect the difference
78146         between a valid zero-length expansion and an error return, even
78147         when the underlying strftime fails before writing anything into
78148         that location.
78149
78150 2005-03-14  Bruno Haible  <bruno@clisp.org>
78151
78152         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
78153         Update from GNU gettext 0.14.3.
78154
78155 2005-03-10  Jim Meyering  <jim@meyering.net>
78156
78157         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
78158
78159 2005-03-10  Jim Meyering  <jim@meyering.net>
78160
78161         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
78162         so that this module works on systems without fchdir.
78163
78164 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
78165
78166         Factor int-properties macros into a single file, except for
78167         glibc-related files.
78168         * lib/intprops.h: New file.
78169         * lib/getloadavg.c: Include it instead of limits.h.
78170         (INT_STRLEN_BOUND): Remove.
78171         * lib/human.c: Include intprops.h.
78172         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
78173         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
78174         302/1000.
78175         * lib/inttostr.h: Include intprops.h instead of limits.h.
78176         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
78177         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
78178         for consistency with intprops.h.
78179         (time_t_is_integer, twos_complement_arithmetic): Use them.
78180         * lib/sig2str.h: Include <signal.h>, intprops.h.
78181         (INT_STRLEN_BOUND): Remove.
78182         * lib/strftime.c (TYPE_SIGNED): Remove.
78183         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
78184         * lib/strtol.c: Adjust comments to match intprops.h.
78185         * lib/userspec.c: Include intprops.h.
78186         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
78187         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
78188         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
78189         instead of rolling our own expressions.
78190         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
78191
78192         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
78193         instead of int.
78194         (my_strftime): Do not mishandle years close to INT_MAX, by doing
78195         the right thing even if adding 1900 would overflow.  Similarly
78196         for tm_mon + 1 and tm_yday + 1.
78197         Make %Y always equivalent to %C%y, and similarly for %G and %g.
78198         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
78199         (DO_SIGNED_NUMBER): New macro.
78200         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
78201
78202 2005-03-07  Bruno Haible  <bruno@clisp.org>
78203
78204         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
78205
78206 2005-03-07  Bruno Haible  <bruno@clisp.org>
78207
78208         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
78209
78210 2005-03-04  Derek R. Price  <derek@ximbiot.com>
78211
78212         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
78213         (func_import): Only replace files via --import when they have actually
78214         changed.
78215
78216 2005-03-03  Derek R. Price  <derek@ximbiot.com>
78217
78218         * m4/mmap-anon.m4: New file.
78219         * m4/pagealign_alloc.m4: New file.
78220
78221 2005-03-03  Derek R. Price  <derek@ximbiot.com>
78222             Bruno Haible  <bruno@clisp.org>
78223
78224         * modules/pagealign_alloc: New file.
78225         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
78226
78227 2005-03-03  Derek R. Price  <derek@ximbiot.com>
78228             Bruno Haible  <bruno@clisp.org>
78229
78230         * lib/pagealign_alloc.h: New file.
78231         * lib/pagealign_alloc.c: New file.
78232
78233 2005-03-03  Bruno Haible  <bruno@clisp.org>
78234
78235         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
78236         Use an all-permissive copyright notice, recommended by RMS.
78237
78238 2005-03-02  Bruno Haible  <bruno@clisp.org>
78239
78240         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
78241         of AIX, the replacement has to be done only after <string.h> is
78242         included, therefore not in config.h. stpncpy.h does the replacement,
78243         and stpncpy.c uses it.
78244
78245 2005-03-02  Bruno Haible  <bruno@clisp.org>
78246
78247         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
78248         stpncpy.c uses it.
78249
78250 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78251
78252         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
78253         The workaround isn't strictly needed for POSIX conformance, and
78254         it's too much of a pain to configure and maintain.  We'll ask
78255         people to fix their kernels instead.
78256         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
78257         (NANOSLEEP_BUG_WORKAROUND): Remove.
78258         (xnanosleep): Remove the workaround.
78259
78260 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78261
78262         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
78263         Reported by Derek Price.
78264         (Include): Add "timespec.h".
78265
78266         * modules/xnanosleep (Depends-on): Remove gethrxtime.
78267
78268 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78269
78270         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
78271         to detect nanosleep bug.
78272
78273 2005-03-01  Bruno Haible  <bruno@clisp.org>
78274
78275         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
78276
78277 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78278
78279         * modules/gethrxtime: New file.
78280         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
78281         (Depends-on): Add gethrxtime.
78282         (configure.ac): Add gl_XNANOSLEEP.
78283         (Makefile.am): Remove lib_SOURCES line.
78284
78285 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
78286
78287         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
78288         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
78289
78290 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
78291
78292         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
78293         * lib/timespec.h (gettime): Return void, since it always
78294         succeeds now.  All uses changed.
78295         * lib/gettime.c (gettime): Likewise.
78296         [HAVE_NANOTIME]: Prefer nanotime.
78297         Assume gettimeofday succeeds, as POSIX requires.
78298         Assime time () succeeds, since other code already does.
78299         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
78300         (timespec_subtract): Remove.
78301         (NANOSLEEP_BUG_WORKAROUND): New constant.
78302         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
78303         things considerably.  Use it only on GNU/Linux hosts, since the
78304         workaround shouldn't be needed elsewhere.
78305
78306 2005-02-24  Bruno Haible  <bruno@clisp.org>
78307
78308         * modules/gettext (Files): Add m4/glibc2.m4.
78309
78310 2005-02-24  Bruno Haible  <bruno@clisp.org>
78311
78312         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
78313         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
78314         * m4/progtest.m4:
78315         Update from GNU gettext 0.14.2.
78316         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
78317
78318 2005-02-24  Bruno Haible  <bruno@clisp.org>
78319
78320         * lib/localcharset.c: Update from GNU gettext 0.14.2.
78321         * lib/config.charset: Update from GNU gettext 0.14.2.
78322
78323 2005-02-24  Bruno Haible  <bruno@clisp.org>
78324
78325         * lib/gettext.h: Update from GNU gettext 0.14.2.
78326
78327 2005-02-23  Simon Josefsson  <jas@extundo.com>
78328
78329         * m4/iconvme.m4: New file.
78330
78331 2005-02-23  Jim Meyering  <jim@meyering.net>
78332
78333         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
78334         change.
78335         Thanks to Bruno Haible for catching it.
78336
78337 2005-02-22  Simon Josefsson  <jas@extundo.com>
78338
78339         * modules/iconvme: New file.
78340
78341         * MODULES.html.sh: Add iconvme.
78342
78343 2005-02-22  Simon Josefsson  <jas@extundo.com>
78344
78345         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
78346
78347 2005-02-22  Simon Josefsson  <jas@extundo.com>
78348
78349         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
78350
78351 2005-02-22  Jim Meyering  <jim@meyering.net>
78352
78353         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
78354         s/ifndef/ifdef/.
78355
78356 2005-02-20  Neil Conway  <neilc@samurai.com>
78357
78358         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
78359         returned by OSX/Darwin if the specified buffer is not large
78360         enough for the hostname.
78361
78362 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78363
78364         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
78365         pass it to _help, otherwise the latter coredumps trying to
78366         dereference state.root_argp.
78367
78368 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78369
78370         * modules/chdir-long (Depends-on): Add memrchr.
78371         * modules/memrchr (Files): Add lib/memrchr.h.
78372         (Include): "memrchr.h".
78373
78374 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78375
78376         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
78377
78378 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78379
78380         * lib/memrchr.h: New file.
78381         * lib/chdir-long.c: Include it.
78382         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
78383         Don't bother including stddef.h.
78384
78385 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
78386
78387         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
78388         inclusion.
78389         Include <sys/types.h>, for dev_t.
78390         (ME_DUMMY, ME_REMOTE): Move from here....
78391         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
78392         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
78393         Dmitry V. Levin.
78394         Include mountlist.h first, to test the interface.
78395
78396 2005-01-29  Bruno Haible  <bruno@clisp.org>
78397
78398         * lib/progname.c (program_name): Initialize.
78399         Needed when linking statically on MacOS X.
78400
78401 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
78402
78403         Sync from coreutils.
78404         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
78405         (Depends-on): Add c-strtod.
78406         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
78407
78408 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
78409
78410         Sync from coreutils.
78411         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
78412
78413         Remove files that are specific to coreutils.
78414         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
78415
78416 2005-01-28  Bruno Haible  <bruno@clisp.org>
78417
78418         * modules/javacomp: New file.
78419         * MODULES.html.sh (Java): Add javacomp.
78420
78421 2005-01-28  Bruno Haible  <bruno@clisp.org>
78422
78423         * m4/javacomp.m4: New file, from GNU gettext.
78424
78425 2005-01-28  Bruno Haible  <bruno@clisp.org>
78426
78427         * lib/javacomp.sh.in: New file, from GNU gettext.
78428         * lib/javacomp.h: New file, from GNU gettext.
78429         * lib/javacomp.c: New file, from GNU gettext.
78430
78431 2005-01-26  Simon Josefsson  <jas@extundo.com>
78432
78433         * lib/gai_strerror.c: Use GPL in header.
78434
78435 2005-01-26  Bruno Haible  <bruno@clisp.org>
78436
78437         * modules/javaexec: New file.
78438         * MODULES.html.sh (Java): Add javaexec.
78439
78440 2005-01-26  Bruno Haible  <bruno@clisp.org>
78441
78442         * m4/javaexec.m4: New file, from GNU gettext.
78443
78444 2005-01-26  Bruno Haible  <bruno@clisp.org>
78445
78446         * lib/javaexec.sh.in: New file, from GNU gettext.
78447         * lib/javaexec.h: New file, from GNU gettext.
78448         * lib/javaexec.c: New file, from GNU gettext.
78449
78450 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78451
78452         * modules/lchown (Depends-on): Remove lchown.h
78453
78454 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78455
78456         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
78457         must be defined if the header file was not found, in order
78458         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
78459
78460 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78461
78462         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
78463         initializers for struct pentry_state.
78464         (__argp_error): Check return value of __asprintf
78465         (__argp_failure): Translate error message
78466
78467         * lib/argp-parse.c: Removed braces around the expansion of N_()
78468
78469 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78470
78471         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
78472         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
78473         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
78474         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
78475         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
78476         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
78477         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
78478         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
78479         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
78480         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
78481         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
78482         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
78483         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
78484         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
78485         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
78486         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
78487         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
78488         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
78489         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
78490         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
78491         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
78492         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
78493         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
78494         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
78495         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
78496         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
78497         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
78498         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
78499         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
78500         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
78501         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
78502         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
78503         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
78504         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
78505         xstrtol.m4, xstrtoumax.m4, yesno.m4:
78506         Use an all-permissive copyright notice, recommended by RMS.
78507
78508 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
78509
78510         * modules/chdir-long (Depends-on): Remove mempcpy.
78511
78512 2005-01-21  Jim Meyering  <jim@meyering.net>
78513
78514         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
78515         same value as for Solaris 9.
78516
78517         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
78518         component length.  This included changing the parameter to be
78519         of type `char *' rather than `char const *'.
78520         * lib/chdir-long.h (chdir_long): Update prototype.
78521
78522         * lib/openat.c (fdopendir, fstatat): New functions.
78523         * lib/openat.h: Include headers required for use of DIR and struct
78524         stat.
78525         [AT_SYMLINK_NOFOLLOW]: Define.
78526         (fdopendir, fstatat): Add prototypes.
78527
78528 2005-01-21  Bruno Haible  <bruno@clisp.org>
78529
78530         * modules/classpath: New file.
78531         * MODULES.html.sh (Java): Add classpath.
78532
78533 2005-01-21  Bruno Haible  <bruno@clisp.org>
78534
78535         * lib/classpath.h: New file, from GNU gettext.
78536         * lib/classpath.c: New file, from GNU gettext.
78537
78538 2005-01-20  Simon Josefsson  <jas@extundo.com>
78539
78540         * modules/version-etc-fsf: New file.
78541
78542 2005-01-20  Simon Josefsson  <jas@extundo.com>
78543
78544         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
78545         * lib/version-etc.c: Remove version_etc_copyright.
78546         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
78547         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
78548
78549 2005-01-20  Simon Josefsson  <jas@extundo.com>
78550
78551         * lib/base64.h (isbase64): Add.
78552
78553         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
78554         using a unsigned prototype, don't inline.
78555         (base64_decode): Use it.
78556
78557 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78558
78559         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
78560         it.
78561
78562 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78563
78564         * lib/save-cwd.c (save_cwd): Remove code to support the case
78565         where fchdir is missing or flaky.
78566
78567 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78568
78569         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
78570
78571 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
78572
78573         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
78574         AC_LIBSOURCES now does this.
78575         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
78576         with new ullong_max module.
78577
78578 2005-01-19  Bruno Haible  <bruno@clisp.org>
78579
78580         * modules/sh-quote: New file.
78581         * MODULES.html.sh (Executing programs): Add sh-quote.
78582
78583 2005-01-19  Bruno Haible  <bruno@clisp.org>
78584
78585         * lib/sh-quote.h: New file, from GNU gettext.
78586         * lib/sh-quote.c: New file, from GNU gettext.
78587
78588 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78589
78590         Merge from coreutils.
78591         * m4/ullong_max.m4: New file.
78592         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
78593         (gl_MACROS): Assume localeconv exists.
78594
78595 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78596
78597         Merge changes from coreutils, as described below in several
78598         changelogs dated today.
78599
78600         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
78601         (O_DIRECTORY): Remove; not needed here, since "." must be
78602         a directory.  All uses removed.
78603         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
78604         universal on Suns, and we also need to test for IRIX.
78605         Revamp code to use 'if' rather than '#if'.
78606         Avoid unnecessary comparison of cwd->desc to 0.
78607
78608         * lib/utimens.c (futimens): Robustify the previous patch, by checking
78609         for known valid error numbers rather than observed invalid ones.
78610
78611 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78612
78613         * modules/ullong_max: New file.
78614
78615         * modules/chdir-long, modules/openat: New files.
78616         * modules/save-cwd (Depends-on): Depend on chdir-long.
78617         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
78618
78619 2005-01-18  Jim Meyering  <jim@meyering.net>
78620
78621         Merge from coreutils.
78622         * m4/chdir-long.m4, m4/openat.m4: New files.
78623         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
78624         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
78625         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
78626         is sane and DOES follow symlinks.  Besides, testing 20 different
78627         systems found no broken chown implementations.
78628         Prompted by a change in rsync's copy of this macro.
78629         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
78630
78631         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
78632
78633         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
78634         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
78635         NULL-means-set-to-current-time semantics.
78636         Remove temporary file immediately, rather than waiting
78637         for configure's at-exit trap code to do it.
78638
78639 2005-01-18  Jim Meyering  <jim@meyering.net>
78640
78641         * lib/version-etc.c (version_etc_copyright): Update copyright date.
78642
78643         * lib/utimens.c (futimens): Account for the fact that futimes
78644         can also fail with errno == ENOSYS or errno == ENOENT.
78645         Patch from Dmitry V. Levin.
78646
78647         Change the name of the robust chdir function from chdir to chdir_long.
78648         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
78649         (restore_cwd): Use chdir_long, not chdir.
78650         * lib/chdir-long.c: Renamed from chdir.c.
78651         * lib/chdir-long.h: Renamed from chdir.h.
78652         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
78653         Hurd.
78654
78655 2005-01-18  Bruno Haible  <bruno@clisp.org>
78656
78657         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
78658         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
78659         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
78660         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
78661         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
78662         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
78663         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
78664         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
78665         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
78666         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
78667         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
78668         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
78669         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
78670         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
78671         Use an all-permissive copyright notice, recommended by RMS.
78672
78673 2005-01-18  Bob Proulx  <bob@proulx.com>
78674
78675         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
78676         simplify offsetof() macro construct to avoid compile failure with
78677         native HP-UX 11.0 ANSI C compiler.
78678
78679 2005-01-17  Bruno Haible  <bruno@clisp.org>
78680
78681         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
78682         redundant because stpncpy.m4 takes care of it.
78683
78684 2005-01-17  Bruno Haible  <bruno@clisp.org>
78685
78686         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
78687
78688 2005-01-17  Bruno Haible  <bruno@clisp.org>
78689
78690         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
78691         used.
78692
78693 2005-01-17  Bruno Haible  <bruno@clisp.org>
78694
78695         * lib/fwriteerror.h (fwriteerror): Change specification to include
78696         fclose.
78697         * lib/fwriteerror.c: Include <stdbool.h>.
78698         (fwriteerror): At the end, close the file stream. Record whether
78699         stdout was already closed.
78700
78701 2005-01-17  Bruno Haible  <bruno@clisp.org>
78702
78703         * lib/execute.c (environ): Declare if needed.
78704         * lib/pipe.c (environ): Likewise.
78705         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
78706
78707 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78708
78709         * modules/argp: Depend on vsnprintf
78710
78711 2005-01-10  Jim Meyering  <jim@meyering.net>
78712
78713         * modules/closeout (Depends-on): Add atexit.
78714
78715 2005-01-06  Bruno Haible  <bruno@clisp.org>
78716
78717         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
78718
78719 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78720
78721         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
78722         definitions to be after all include files, to avoid collisions.
78723         Problem reported by Bob Proulx.
78724
78725 2005-01-04  Jim Meyering  <jim@meyering.net>
78726
78727         Changes imported from coreutils.
78728         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
78729         as the mkstemp template, use a temporary directory and an
78730         8.3-friendly template to avoid trouble on systems like DJGPP.
78731         Reported by Juan M. Guerrero via Stepan Kasal.
78732         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
78733         close. Remove the temporary directory right away, rather than waiting
78734         for configure's at-exit trap code to do it.
78735         Suggestion from Stepan Kasal.
78736
78737 2005-01-01  Simon Josefsson  <jas@extundo.com>
78738
78739         * gnulib-tool: Print #include directives when --import'ing.
78740
78741 2004-12-28  Simon Josefsson  <jas@extundo.com>
78742
78743         * tests/test-base64.c: Include required header files.  Remove
78744         unused variables.
78745
78746 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78747
78748         * modules/error (Depends-on): Remove gettext.
78749
78750 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78751
78752         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
78753         not needed.  This removes a dependency on the gettext module.
78754         [defined _LIBC]: Do not include <libintl.h>; not needed.
78755
78756 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78757
78758         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
78759         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
78760
78761 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78762
78763         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
78764         HAVE_DECL_STRTOLD.
78765
78766 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78767
78768         * modules/getdate (Depends-on): Remove alloca-opt.
78769
78770 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78771
78772         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
78773
78774 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78775
78776         * lib/argp-parse.c: Include <stddef.h>.
78777         (alignof, alignto): New macros.
78778         (parser_init): Don't assume that void * is aligned sufficiently
78779         for struct option.
78780
78781         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
78782         need to extend the stack.
78783         (YYINITDEPTH): New macro, so that the initial stack isn't overly
78784         large.
78785
78786 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78787
78788         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
78789
78790 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78791
78792         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
78793         (2004-10-24) change.  Apparently this was a false alarm.
78794
78795         * modules/getdate: Depend on alloca-opt, not alloca.
78796
78797 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78798
78799         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
78800         Remove now-obsolete comment about AIX.
78801         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
78802         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
78803         (YYMAXDEPTH): New macro.
78804
78805 2004-12-18  Simon Josefsson  <jas@extundo.com>
78806
78807         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
78808
78809 2004-12-18  Bruno Haible  <bruno@clisp.org>
78810
78811         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
78812
78813 2004-12-18  Bruno Haible  <bruno@clisp.org>
78814
78815         * lib/fatal-signal.c (fatal_signals): Make non-const.
78816         (init_fatal_signals): New function.
78817         (uninstall_handlers, install_handlers): Ignore signals that were set to
78818         SIG_IGN.
78819         (at_fatal_signal): Call init_fatal_signals.
78820         (init_fatal_signal_set): Likewise. Ignore signals that were set to
78821         SIG_IGN.
78822         Reported by Paul Eggert.
78823
78824 2004-12-18  Bruno Haible  <bruno@clisp.org>
78825
78826         * doc/alloca.texi: New file.
78827         * doc/alloca-opt.texi: New file.
78828
78829 2004-12-17  Jim Meyering  <jim@meyering.net>
78830
78831         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
78832         Otherwise, install-sh could exit with improper exit status when
78833         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
78834
78835 2004-12-16  Simon Josefsson  <jas@extundo.com>
78836
78837         * tests/test-base64.c: Add license.
78838
78839 2004-12-15  Stepan Kasal  <address@hidden>
78840
78841         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78842
78843 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78844
78845         * modules/getcwd (Files): Add m4/d-ino.m4.
78846         Suggested by Mark D. Baushke.
78847
78848 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78849
78850         * lib/getdate.y (textint): New member "negative".
78851         (time_zone_hhmm): New function.
78852         Expect 14 shift-reduce conflicts, not 13.
78853         (o_colon_minutes): New rule.
78854         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78855         (yylex): Set the "negative" member of signed numbers.
78856
78857 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78858
78859         * doc/getdate.texi (Time of day items, Time zone items):
78860         Describe new formats +00:00, UTC+00:00.
78861
78862 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78863
78864         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78865         spurious "-l"s.  Problem reported by Stepan Kasal.
78866
78867 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78868
78869         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78870         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78871
78872 2004-12-04  Simon Josefsson  <jas@extundo.com>
78873
78874         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78875         Vandoorselaere <yoann@prelude-ids.org>.
78876
78877 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78878
78879         Changes imported from coreutils.
78880         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78881         exist.
78882         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78883
78884 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78885
78886         Changes imported from coreutils.
78887         * lib/hard-locale.c: Assume <locale.h> exists.
78888         Include "strdup.h".
78889         (GLIBC_VERSION): New macro.
78890         (hard_locale): Assume setlocale exists.
78891         Rewrite to avoid #ifdef.
78892         Use strdup rather than malloc + strcpy.
78893         * lib/human.c: Assume <locale.h> exists.
78894         (human_readable): Assume localeconv exists.
78895
78896 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78897
78898         * modules/hard-locale (Depends-on): Add strdup.
78899
78900 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78901
78902         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78903         convert T2, not T.  (Imported from libc.)
78904
78905 2004-11-30  Simon Josefsson  <jas@extundo.com>
78906
78907         * modules/restrict (License): Change to LGPL.
78908
78909 2004-11-30  Simon Josefsson  <jas@extundo.com>
78910
78911         * m4/restrict.m4: Add copyright and copying conditions.
78912
78913 2004-11-30  Simon Josefsson  <jas@extundo.com>
78914
78915         * m4/base64.m4: New file.
78916
78917 2004-11-30  Simon Josefsson  <jas@extundo.com>
78918
78919         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78920         base64.
78921
78922         * tests/test-base64.c: New file.
78923
78924         * modules/base64: New file.
78925
78926 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78929         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78930
78931         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78932
78933 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78934
78935         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78936         (__getcwd.c): Don't restore errno; glibc doesn't.
78937         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78938         first, falling back to our code only if its results look suspicious.
78939         Ensure that the resulting buffer is only as large as necessary.
78940
78941         * lib/readutmp.c: Include readutmp.h first.
78942         Include <errno.h>, since readutmp.h no longer does that.
78943         * lib/readutmp.h: Don't include <errno.h>,
78944         <sys/param.h>, <time.h>; not needed to establish interface.
78945         (errno): Remove decl.
78946         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78947         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78948         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78949
78950 2004-11-28  Simon Josefsson  <jas@extundo.com>
78951
78952         * lib/base64.h, base64.c: New file.
78953
78954 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78955
78956         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78957
78958 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78959
78960         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78961         (Depends-on): Remove pathmax, same.  Add mempcpy.
78962         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78963         (Makefile.am): Append getcwd.h to lib_SOURCES.
78964         (Include): Add getcwd.h.
78965         (Maintainer): Change from Jim Meyering to "all, glibc",
78966         since getdate now uses intended-for-glibc code.
78967         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78968         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78969
78970 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78971
78972         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78973         HP's ANSI C compiler.
78974         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78975         Declaring int functions causes warnings on some modern systems and
78976         shouldn't be needed to compile on ancient ones.
78977         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78978         defined.
78979
78980         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78981         with the following changes.
78982         (__set_errno): Parenthesize properly.
78983         Include <stdbool.h>.
78984         (MIN, MAX, MATCHING_INO): New macros.
78985         (__getcwd): Define with prototype, not K&R form.
78986         Use heuristics to allocate default buffer on stack if possible.
78987         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78988         behavior, and to avoid the PATH_MAX limit when computing
78989         ../../../../...
78990         Use MATCHING_INO to compare inode number to file.
78991         Check for arithmetic overflow in size calculations.
78992         Fix bug in reallocation of dot array that caused getcwd to fail
78993         on directories nested deeper than 75.
78994         Be more careful about saving errno on error.
78995         Do not use realloc; use only free+malloc, as this is a bit
78996         more flexible and avoids a needless copy operation.
78997         Do not inspect st_dev and st_ino for symbolic links; POSIX
78998         doesn't specify the latter.
78999         Check for closedir errors.
79000         Avoid needless casts.
79001         Use "#ifdef weak_alias" around weak_alias, to be like other
79002         glibc code.
79003         The following changes to getcwd.c have effect only when used in
79004         gnulib; they have no effect inside glibc proper.
79005         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
79006         as alloca isn't used.
79007         (alloca, __alloca): Likewise.
79008         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
79009         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
79010         unconditionally, as gnulib assumes C89 or better.
79011         Do not include <sys/param.h>.
79012         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
79013         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
79014         better.
79015         (NULL) [!defined NULL]: Remove; we assume C89 or better.
79016         Include <dirent.h> in a way that is compatible with modern Autoconf.
79017         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
79018         New macros, if not already defined.
79019         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
79020         Use "_LIBC", not "defined _LIBC", for consistency.
79021         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
79022         a mempcpy module.
79023         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
79024         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
79025         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
79026         credit only to Jim Meyering and adjust the copyright dates.
79027         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
79028         <stdlib.h>, <unistd.h>, "pathmax.h".
79029         Instead, include "xgetcwd.h" (first) and "getcwd.h".
79030         (INITIAL_BUFFER_SIZE): Remove.
79031         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
79032
79033 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79034
79035         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
79036         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
79037         Use the _ONCE methods, for efficiency.
79038         Check for fcntl.h.  In test program, include <errno.h>
79039         and <fcntl.h> if available.  Remove old K&R cruft from
79040         test program.  Check for common errors in GNU/Linux,
79041         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
79042         don't do AC_LIBOBJ, as that's getcwd.m4's job.
79043         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
79044         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
79045         name accordingly.
79046         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
79047         accommodate new getcwd.c.
79048         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
79049         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
79050         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
79051         that's all we need now.
79052
79053 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79054
79055         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
79056         argp-parse.c depends on getopt internals, that means we should
79057         always use our getopt, to be on the safe side.
79058         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
79059         order not to spoil the result of an eventual previous invocation
79060         of gl_GETOPT_SUBSTITUTE.
79061
79062 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79063
79064         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
79065         redefinition warnings. To avoid them, include the defines
79066         in `#if !defined __need_getopt ... #endif'. The only place
79067         where __getopt_argv_const is used is in definitions
79068         of getopt_long and getopt_long_only below, which are as well
79069         protected by `#ifndef __need_getopt'.
79070         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
79071         __need_getopt after including <stdio.h> and <unistd.h> These
79072         headers might have defined it.
79073
79074 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
79075
79076         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
79077
79078 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
79079
79080         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
79081         (futimens): New function, which uses futimes if available.
79082         (futimens, utimens): Support timespec==NULL, with same semantics
79083         as utime and utimens.
79084         * lib/utimens.h (futimens): New decl.
79085
79086 2004-11-23  Jim Meyering  <jim@meyering.net>
79087
79088         * lib/getopt_.h: Remove trailing blanks.
79089
79090 2004-11-23  Jim Meyering  <jim@meyering.net>
79091
79092         * lib/__fpending.c: Add comment.
79093
79094 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
79095
79096         * modules/canonicalize (Depends-on): Add xreadlink.
79097         Problem reported by James Youngman.
79098
79099 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
79100
79101         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
79102         New macros.
79103         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
79104         optopt): Use them instead of invoking ## directly; otherwise, the
79105         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
79106
79107 2004-11-19  Bruno Haible  <bruno@clisp.org>
79108
79109         * lib/strtok_r.c: Move comments from here...
79110         * lib/strtok_r.h: ... to here.
79111
79112 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
79113
79114         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
79115         implementations that mishandle size_t overflow.
79116
79117 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
79118
79119         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
79120         might fail.  Problem reported by Yoann Vandoorselaere.
79121         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
79122         implementations that mishandle size_t overflow.
79123
79124 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
79125
79126         * modules/canon-host (Depends-on): Add strdup.
79127
79128 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
79129
79130         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
79131
79132 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
79133
79134         * lib/canon-host.c: Include "strdup.h".
79135         (canon_host): Use getaddrinfo if available, so that IPv6 works.
79136         Use strdup instead of malloc/strcpy to duplicate strings.
79137
79138         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
79139         (human_space_before_unit): New constant.
79140         * lib/human.c (human_readable): Support it.
79141
79142         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
79143         (xgetcwd): Set errno correctly when failing.
79144         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
79145         the failure is actually due to a PATH_MAX problem.
79146
79147         Further getopt changes to make it more likely that glibc will
79148         buy the changes back.
79149         * lib/getopt.c (POSIXLY_CORRECT): New constant.
79150         (getopt): Use it, so to preserve glibc semantic
79151         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
79152         when compiling for libc.
79153         * lib/getopt_.h (__getopt_argv_const): Bring it back.
79154         (getopt_long, getopt_long_only): Use it.
79155
79156         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
79157         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
79158         (getopt): Argv is now char * const *, as per standard.
79159         (_getopt_internal_r, _getopt_internal): Argv is now char **,
79160         not char *__getopt_argv_const *.
79161         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
79162         _getopt_long_only_r): Likewise.
79163         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
79164         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
79165         _getopt_long_r, _getopt_long_only_r): Likewise.
79166         * lib/getopt_.h (__getopt_argv_const): Remove.
79167         (getopt): Argv is now char * const *, as per standard.
79168
79169         * lib/getdate.y (tORDINAL): New token.
79170         (day, relunit): Allow it for relative times.
79171         (relative_time_table): Use tORDINAL for ordinals.
79172
79173 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
79174
79175         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
79176         Document that "second" isn't allowed as an ordinal number.
79177
79178 2004-11-16  Jim Meyering  <jim@meyering.net>
79179
79180         * modules/closeout (Depends-on): Add fpending.
79181
79182 2004-11-15  Jim Meyering  <jim@meyering.net>
79183
79184         * lib/closeout.c: Include "__fpending.h" once again.
79185         Include <stdbool.h>.
79186         (close_stdout): Don't fail just because stdout was closed initially,
79187         since some programs don't write to stdout in the normal course of
79188         operation (other than --version and --help), and we don't want this
79189         function to make e.g. `touch file >&-' fail.
79190         But do fail if it was closed and someone has tried to write to it.
79191         E.g., `printf foo >&-' must fail.
79192
79193 2004-11-13  Jim Meyering  <jim@meyering.net>
79194
79195         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
79196
79197 2004-11-12  Simon Josefsson  <jas@extundo.com>
79198
79199         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
79200         small doc fix is still pending.
79201
79202 2004-11-11  Simon Josefsson  <jas@extundo.com>
79203
79204         * modules/strtok_r: New file.
79205
79206         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79207         strtok_r.
79208
79209 2004-11-11  Simon Josefsson  <jas@extundo.com>
79210
79211         * m4/strtok_r.m4: New file.
79212
79213         * m4/getopt.m4: Replace opterr.
79214
79215 2004-11-11  Simon Josefsson  <jas@extundo.com>
79216
79217         * lib/strtok_r.h, strtok_r.c: New file.
79218
79219 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
79220
79221         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
79222         of replacing opterr, getopt, etc.  This should handle the
79223         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
79224
79225 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
79226
79227         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
79228         we can stop lying to compilers about the constness of argv when we
79229         are compiled outside glibc.
79230         (getopt, getopt_long, getopt_long_only): Use it.
79231         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
79232         _getopt_internal, getopt): Likewise.
79233         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
79234         _getopt_long_only_r): Likewise.
79235         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
79236         _getopt_long_r, _getopt_long_only_r): Likewise.
79237
79238         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
79239         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
79240         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
79241         the other external symbols.
79242         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
79243         declaration, since the above renaming now works around collisions.
79244
79245 2004-11-11  Jim Meyering  <jim@meyering.net>
79246
79247         * lib/linebreak.c: Remove trailing blanks.
79248         * lib/alloca_.h: Likewise.
79249         * lib/acosl.c: Likewise.
79250         * lib/euidaccess.c: Likewise.
79251         * lib/allocsa.h: Likewise.
79252
79253 2004-11-10  Simon Josefsson  <jas@extundo.com>
79254
79255         * m4/getaddrinfo.m4: New file.
79256
79257 2004-11-10  Simon Josefsson  <jas@extundo.com>
79258
79259         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
79260
79261 2004-11-10  Simon Josefsson  <jas@extundo.com>
79262
79263         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79264         getaddrinfo.
79265
79266         * modules/getaddrinfo: New file.
79267
79268 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79269
79270         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
79271
79272 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79273
79274         * lib/mktime.c (SHR): New macro, which is a portable
79275         substitute for >> that should work even on Crays.
79276         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
79277         Problem reported by Mark D. Baushke in
79278         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
79279         * lib/getdate.y (SHR): Likewise.
79280         (tm_diff): Use it.
79281         * lib/strftime.c (SHR): Likewise.
79282         (tm_diff): Use it.
79283         * lib/quotearg.c (struct quoting_options): Use unsigned int for
79284         quote_these_too, so that right shifts are well defined.  All uses
79285         changed.
79286
79287 2004-11-10  Jim Meyering  <jim@meyering.net>
79288
79289         Ensure that no close failure goes unreported.
79290         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
79291         return early when it seems there's nothing to flush.
79292         Don't include __fpending.h.
79293
79294 2004-11-10  Jim Meyering  <jim@meyering.net>
79295
79296         * modules/closeout (Depends-on): Remove fpending.
79297
79298 2004-11-10  Jim Meyering  <jim@meyering.net>
79299
79300         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
79301
79302 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
79303
79304         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
79305         gl_FUNC_STRFTIME.
79306         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
79307         and AC_REQUIRE when possible, to avoid duplicate checks.
79308         Check for <wchar.h>.
79309
79310 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
79311
79312         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
79313
79314 2004-11-09  Bruno Haible  <bruno@clisp.org>
79315
79316         * m4/sockpfaf.m4: New file.
79317
79318 2004-11-05  Bruno Haible  <bruno@clisp.org>
79319
79320         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
79321         Reported by Mark D. Baushke <mdb@cvshome.org>.
79322
79323 2004-11-04  Bruno Haible  <bruno@clisp.org>
79324
79325         2004-09-11  Bruno Haible  <bruno@clisp.org>
79326                 * allocsa.valgrind: New file.
79327         2004-02-06  Bruno Haible  <bruno@clisp.org>
79328                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
79329                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
79330                 Reported by Christopher Seip <chris.seip@hp.com>.
79331
79332 2004-11-04  Bruno Haible  <bruno@clisp.org>
79333
79334         * modules/allocsa (Files): Add lib/allocsa.valgrind.
79335         (Makefile.am): Distribute it.
79336
79337 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
79338
79339         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
79340         with errno == ERANGE if the buffer is too small.
79341         Problem reported by Mark D. Baushke.
79342
79343 2004-11-03  Albert Chin  <china@thewrittenword.com>
79344             Paul Eggert  <eggert@cs.ucla.edu>
79345
79346         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
79347         equivalent, substitute $ac_type for equivalent type rather than
79348         blindly using uint32_t *always* which won't work if uint32_t is not
79349         available.  Define _UINT32_T to work around typedef of uint32_t if
79350         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
79351         2.5.1.
79352
79353 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79354
79355         * m4/jm-macros.m4: Sync from coreutils.
79356         (gl_MACROS): Check for mbrlen, for pathchk.
79357         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
79358
79359 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79360
79361         * lib/xreadlink.c (MAXSIZE): New macro.
79362         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
79363         size does not exceed MAXSIZE.  Avoid cast.
79364         As suggested by Mark D. Baushke in
79365         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
79366         if readlink fails with buffer size just under MAXSIZE, try again
79367         with MAXSIZE.
79368
79369 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79370
79371         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
79372
79373 2004-11-02  Derek R. Price  <derek@ximbiot.com>
79374         and  Paul Eggert  <eggert@cs.ucla.edu>
79375
79376         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
79377         (get_date): Overparenthesize to avoid GCC warning.
79378
79379 2004-11-02  Bruno Haible  <bruno@clisp.org>
79380
79381         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
79382         returns void.
79383
79384 2004-11-02  Bruno Haible  <bruno@clisp.org>
79385
79386         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
79387         function returns void.
79388
79389 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
79390
79391         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
79392         fflush_unlocked, flockfile, funlockfile, funlockfile,
79393         fputs_unlocked, putc_unlocked.
79394
79395 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
79396
79397         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
79398         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
79399         already declared.
79400
79401 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79402
79403         * modules/getdate (Files): Add doc/getdate.texi.
79404         (Depends-on): Add setenv, xalloc.
79405
79406 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79407
79408         * lib/getdate.y: Add support for TZ="foo" within a date string.
79409         Fix some bugs near time_t boundaries.  Reject dates with
79410         out-of-range components, e.g., "Sept 31".
79411         Include <stdlib.h>, "setenv.h", "xalloc.h".
79412         (ISDIGIT_LOCALE): Remove; unused.
79413         Note that the TZ and time functions used here are not reentrant.
79414         (mktime_ok, get_tz): New functions.
79415         (TZBUFSIZE): New constant.
79416         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
79417         This requires that we sometimes generate our own TZ="XXX..." setting.
79418
79419 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79420
79421         * doc/getdate.texi: New file, from coreutils with modifications for
79422         the new TZ parsing.
79423
79424 2004-10-27  Derek R. Price  <derek@ximbiot.com>
79425
79426         * lib/mktime.c (not_equal_tm): Remove redundant check.
79427
79428 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
79429
79430         * modules/regex (lib_SOURCES): Add regex.c.
79431         Reported by James Youngman in
79432         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
79433
79434 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
79435
79436         * lib/getdate.y: Use Bison 1.875 features, and some minor
79437         code cleanups.  This change does not affect semantics.
79438         Don't include <stdlib.h>; no longer needed.
79439         Don't include unlocked-io.h; only the "#if TEST" code uses
79440         stdio, and performance isn't crucial there.
79441         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
79442         Bison 1.875 features as described below.
79443         All uses of "PC." replaced by "pc->".
79444         (YYSTYPE): Add a forward declaration.
79445         (yylex, yyerror): Use full prototypes in forward decls.
79446         Use "%pure-parser" rather than obsolescent "%pure_parser".
79447         Use %parse-param and %lex-param instead of obsolescent
79448         YYPARSE_PARAM and YYLEX_PARAM.
79449         (meridian_table, month_and_day_table, time_units_table,
79450         relative_time_table, time_zone_table, military_table,
79451         lookup_zone, lookup_word, get_date):
79452         Use NULL instead of 0 where appropriate.
79453         (to_hour): Avoid abort (), to avoid a dependency on
79454         stdlib.h.
79455         (yyerror, yylex): Now accepts parser_control * arg.
79456         (main) [TEST]: Use '\0' rather than 0 for char.
79457
79458 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
79459
79460         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
79461
79462 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
79463
79464         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
79465         It's now the caller's responsibility to handle the case where
79466         !HAVE_GETPAGESIZE && !defined getpagesize.
79467
79468         * lib/mktime.c (leapyear): Arg is long int, not int.
79469
79470 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
79471
79472         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
79473
79474 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
79475
79476         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
79477         missing.  Problem reported by James Youngman.
79478
79479 2004-10-16  Simon Josefsson  <jas@extundo.com>
79480
79481         * gnulib-tool: Fix comments.  Fix parse problem.
79482         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
79483
79484 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
79485
79486         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
79487         implementation of getopt_long.  Problem reported by Alexander Taler in:
79488         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
79489
79490 2004-10-15  Bruno Haible  <bruno@clisp.org>
79491
79492         * gnulib-tool: Untabify. Initialize supplied_libname.
79493         (func_usage): More homogenous output.
79494         (func_modules_transitive_closure, func_modules_to_filelist,
79495         func_emit_lib_Makefile_am): New functions.
79496         (func_import): New function, extracted from big case statement. Use
79497         func_get_license, func_modules_transitive_closure,
79498         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
79499         opt_lgpl. Don't use test -a, as it's not portable.
79500         (func_create_testdir): Use func_modules_transitive_closure,
79501         func_modules_to_filelist, func_emit_lib_Makefile_am.
79502
79503 2004-10-15  Bruno Haible  <bruno@clisp.org>
79504
79505         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
79506
79507 2004-10-15  Bruno Haible  <bruno@clisp.org>
79508
79509         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
79510         the portions belonging to each module.
79511         Suggested by Derek Robert Price <derek@ximbiot.com>.
79512
79513 2004-10-12  Simon Josefsson  <jas@extundo.com>
79514
79515         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
79516         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
79517         to real functions.
79518
79519 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79520
79521         * modules/vsnprintf: New file.
79522
79523 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79524
79525         * m4/vsnprintf.m4: New file.
79526
79527 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79528
79529         * lib/vsnprintf.h: New file.
79530         * lib/vsnprintf.c: New file.
79531
79532 2004-10-11  Bruno Haible  <bruno@clisp.org>
79533
79534         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
79535         vsnprintf.
79536
79537 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79538
79539         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
79540
79541 2004-10-07  Bruno Haible  <bruno@clisp.org>
79542
79543         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
79544         fits into the provided buffer.
79545
79546 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
79547
79548         * lib/diacrit.c, diacrit.h: Add GPL notice.
79549
79550         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
79551         notice.
79552         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
79553         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
79554         This avoids a potential constant-folding bug.
79555
79556 2004-10-05  Bruno Haible  <bruno@clisp.org>
79557
79558         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
79559         for the declaration of strsep.
79560
79561 2004-10-05  Bruno Haible  <bruno@clisp.org>
79562
79563         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
79564
79565 2004-10-04  Simon Josefsson  <jas@extundo.com>
79566
79567         * modules/memmem: New file.
79568         * tests/test-memmem.c: New file.
79569         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
79570
79571 2004-10-04  Simon Josefsson  <jas@extundo.com>
79572
79573         * m4/memmem.m4: New file.
79574
79575 2004-10-04  Simon Josefsson  <jas@extundo.com>
79576
79577         * lib/memmem.h: New file.
79578         * lib/memmem.c: New file, taken from glibc.
79579
79580 2004-10-04  Simon Josefsson  <jas@extundo.com>
79581
79582         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
79583         '#ifdef USE_UNLOCKED_IO'.
79584
79585 2004-10-04  Simon Josefsson  <jas@extundo.com>
79586
79587         * config/srclist.txt: Add memmem from glibc.
79588
79589 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79590
79591         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
79592
79593         * modules/argmatch, modules/argp, modules/closeout, modules/error,
79594         modules/exclude, modules/getdate, modules/getline,
79595         modules/getndelim2, modules/getpass, modules/getpass-gnu,
79596         modules/getusershell, modules/linebuffer, modules/md5,
79597         modules/mountlist, modules/posixtm, modules/readtokens,
79598         modules/readutmp, modules/regex, modules/sha1,
79599         modules/version-etc, modules/yesno:
79600         Remove dependency on unlocked-io.
79601
79602 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79603
79604         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
79605
79606         * m4/unlocked-io.m4: Add copyright notice.
79607         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
79608
79609 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79610
79611         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
79612         * lib/xmalloc.c (xmemdup): Likewise.
79613         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
79614         XFREE): Remove these long-obsolescent macros.
79615         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
79616         * lib/xstrdup.c: Remove.
79617
79618         * lib/regex.c (re_comp): Cast gettext return value to char *,
79619         Problem reported by Martin Neitzel via Mark D. Baushke.
79620
79621 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79622
79623         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
79624         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
79625         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
79626         regex.c, sha1.c, version-etc.c, yesno.c:
79627         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
79628         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
79629         the includer's responsibility.
79630
79631         Sync from coreutils.
79632
79633         * lib/modechange.c (mode_compile): Don't decrement a pointer that
79634         points to the start of a string, as the C Standard says the
79635         resulting behavior is undefined.
79636
79637         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
79638         simple -> simple_backups, numbered_existing ->
79639         numbered_existing_backups, numbered -> numbered_backups
79640         to avoid shadowing problems.  All uses changed.
79641         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
79642         * lib/backupfile.c (check_extension, numbered_backup):
79643         Rename locals to avoid shadowing 'basename'.
79644         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
79645         once.
79646
79647         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
79648         * lib/.cvsignore: Add getopt.h.
79649
79650 2004-10-04  Bruno Haible  <bruno@clisp.org>
79651
79652         * modules/README: New file.
79653         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
79654         not a module.
79655
79656 2004-10-02  Jim Meyering  <jim@meyering.net>
79657
79658         * lib/dirfd.h, getpagesize.h: Add copyright notice.
79659
79660 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79661
79662         * modules/strsep: New file.
79663
79664 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79665
79666         * m4/strsep.m4: New file.
79667
79668 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79669
79670         * lib/strsep.h: New file.
79671         * lib/strsep.c: New file.
79672
79673 2004-10-01  Simon Josefsson  <jas@extundo.com>
79674
79675         * lib/snprintf.c (snprintf): Handle size==0.
79676
79677 2004-10-01  Simon Josefsson  <jas@extundo.com>
79678             Bruno Haible  <bruno@clisp.org>
79679
79680         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
79681         (snprintf): Declare 'args'.
79682
79683 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
79684
79685         * lib/snprintf.c: Remove comments as to why each header is needed.
79686
79687 2004-10-01  Bruno Haible  <bruno@clisp.org>
79688
79689         * MODULES.html.sh: Add strsep.
79690
79691 2004-09-30  Simon Josefsson  <jas@extundo.com>
79692
79693         * modules/snprintf: New file.
79694
79695 2004-09-30  Simon Josefsson  <jas@extundo.com>
79696
79697         * m4/snprintf.m4: New file.
79698
79699 2004-09-30  Simon Josefsson  <jas@extundo.com>
79700
79701         * lib/snprintf.h, lib/snprintf.c: New files.
79702
79703 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79704
79705         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
79706         (hol_entry_help): Never translate an empty string.
79707         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
79708         * lib/argp.h (OPTION_NO_TRANS): New option.
79709
79710 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79711
79712         * modules/argp (Maintainer): Replace Simon Josefsson
79713         by Sergey Poznyakoff.
79714
79715 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79716
79717         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
79718         changes merged back into glibc.
79719
79720 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79721
79722         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
79723
79724 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79725
79726         * lib/xvasprintf.c: Include xalloc.h.
79727         (xvasprintf): Use xalloc_die, not xmalloc_die.
79728
79729 2004-09-29  Bruno Haible  <bruno@clisp.org>
79730
79731         * modules/alloca-opt: New file, derived from modules/alloca.
79732         * modules/allocsa: Depend on alloca-opt instead of alloca.
79733         * modules/setenv: Likewise.
79734         * modules/vasnprintf: Likewise.
79735         * MODULES.html.sh: Add alloca-opt.
79736
79737 2004-09-28  Simon Josefsson  <jas@extundo.com>
79738
79739         * gnulib-tool: New parameter --lgpl, to asseert that modules are
79740         LGPL, and to replace license template from GPL to LGPL.
79741
79742 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79743
79744         * modules/dummy: Change license to LGPL.
79745
79746 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79747
79748         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
79749
79750 2004-09-24  Simon Josefsson  <jas@extundo.com>
79751
79752         * modules/minmax (License): Change from GPL to LGPL.
79753
79754 2004-09-23  Simon Josefsson  <jas@extundo.com>
79755
79756         * gnulib-tool (--import): Typo.
79757
79758 2004-09-23  Simon Josefsson  <jas@extundo.com>
79759
79760         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
79761
79762 2004-09-22  Bruno Haible  <bruno@clisp.org>
79763
79764         * modules/*: Add 'License' field.
79765         * gnulib-tool: Accept --extract-license option.
79766         (func_get_license): New function.
79767
79768 2004-09-21  Bruno Haible  <bruno@clisp.org>
79769
79770         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
79771         Reported by Simon Josefsson.
79772
79773 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79774
79775         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
79776         gl_AC_TYPE_LONG_LONG.
79777
79778 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79779
79780         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
79781
79782 2004-09-18  Simon Josefsson  <jas@extundo.com>
79783         and  Paul Eggert  <eggert@cs.ucla.edu>
79784
79785         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
79786         calls with autoreconf.  Define GL_LIB.
79787
79788 2004-09-14  Karl Berry  <karl@gnu.org>
79789
79790         * config/srclist.txt: unsync setenv.c, sigh.
79791
79792 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79793
79794         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
79795         Problem reported by Bruno Haible in:
79796         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
79797
79798 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79799
79800         * config/srclist.txt: Comment out argp-pvh.c.
79801
79802 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
79803
79804         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
79805         in case some system header has #define'd it.  Problem reported by
79806         Soeren D. Schulze in
79807         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
79808
79809 2004-09-09  Karl Berry  <karl@gnu.org>
79810
79811         * regex.[ch]: delete from the root.  These were supposed to be
79812                 synced with emacs cvs, but this has not happened for about
79813                 a year, and anyway nothing else uses emacs regex.[ch].
79814                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
79815                 lib/regex[.ch] is untouched.
79816
79817 2004-09-09  Bruno Haible  <bruno@clisp.org>
79818
79819         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
79820
79821 2004-09-09  Bruno Haible  <bruno@clisp.org>
79822
79823         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
79824         modifications.
79825         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
79826
79827 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79828
79829         * modules/xvasprintf: New file.
79830         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
79831
79832 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79833
79834         * lib/xvasprintf.h: New file.
79835         * lib/xvasprintf.c: New file.
79836         * lib/xasprintf.c: New file.
79837
79838 2004-09-08  Bruno Haible  <bruno@clisp.org>
79839
79840         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79841
79842 2004-09-08  Bruno Haible  <bruno@clisp.org>
79843
79844         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79845         length is > INT_MAX.
79846         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79847         more.
79848
79849 2004-09-08  Bruno Haible  <bruno@clisp.org>
79850
79851         * lib/stdint_.h: New file, taken from GNU clisp.
79852
79853 2004-09-08  Bruno Haible  <bruno@clisp.org>
79854             Oskar Liljeblad  <oskar@osk.mine.nu>
79855
79856         * modules/stdint: New file.
79857         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79858
79859 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79860
79861         Import from coreutils.
79862         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79863         strings on unbounded length.  alloca's performance benefits aren't
79864         that important here.
79865         (V_STRDUP): Remove.
79866         (parse_with_separator): New function, with most of the internals
79867         of the old parse_user_spec.  Allow user to omit both user and group,
79868         for compatibility with FreeBSD.
79869         Clone only the user name, not the entire spec.
79870         Do not set *uid, *gid unless entirely successful.
79871         Avoid memory leak in some failing cases.
79872         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79873         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79874         (parse_user_spec): Rewrite to use parse_with_separator.
79875
79876 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79877
79878         * modules/userspec: Don't depend on alloca.
79879
79880 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79881
79882         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79883
79884 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79885
79886         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79887         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79888         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79889
79890 2004-08-16  Simon Josefsson  <jas@extundo.com>
79891
79892         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79893         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79894         Add --dry-run for --import.
79895         Let user provided command line parameters override configure.ac
79896         settings.
79897
79898 2004-08-12  Simon Josefsson  <jas@extundo.com>
79899
79900         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79901         as discussed with Paul Eggert in threads rooted at
79902         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79903         and
79904         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79905         Before, the test was empty, and relied on ELIDE_CODE in source
79906         code.)
79907         (gl_PREREQ_GETOPT): New macro.
79908         (gl_GETOPT): Use them.
79909
79910 2004-08-12  Simon Josefsson  <jas@extundo.com>
79911
79912         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79913         * lib/getopt_.h: Renamed from getopt.h.
79914
79915 2004-08-12  Simon Josefsson  <jas@extundo.com>
79916
79917         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79918         Change default library name from libfoo to libgnu.
79919         Now, if you have a configure.ac that says:
79920                 gl_SOURCE_BASE(gl)
79921                 gl_M4_BASE(gl/m4)
79922                 gl_MODULES(error getopt etcetera)
79923                 gl_INIT
79924         you can import all you need by running:
79925                 ../gnulib/gnulib-tool --import
79926
79927         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79928         (Makefile.am): Rewrite, use logic from argz.
79929         (Include): Use <getopt.h> instead of "getopt.h".
79930
79931 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79932
79933         * modules/argp (Files): Add m4/unlocked-io.m4.
79934         (Depends-on): Add extensions.
79935
79936 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79937
79938         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79939         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79940         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79941         Check for program_invocation_name, program_invocation_short_name,
79942         flockfile, funlockfile, features.h, _getopt_long_only_r.
79943
79944 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79945
79946         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79947         its complicated substitute.
79948         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79949         and program_invocation_name.
79950         (__argp_basename) [!_LIBC]: Remove; the only use was
79951         replaced by its body.
79952         (__argp_short_program_name): Change condition from
79953         !defined __argp_short_program_name to
79954         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79955         to match argp-namefrob.h.
79956         (__argp_failure): Don't assume strerror_r returns char *.
79957         * lib/argp-parse.c (N_): Define unconditionally.
79958         (argp_default_options): Fill out initializers with 0 to avoid
79959         gcc warnings.
79960
79961 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79962
79963         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79964         getopt1.c.
79965
79966 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79967
79968         Merge from coreutils.
79969
79970         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79971
79972         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79973         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79974
79975 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79976
79977         Merge from coreutils.
79978
79979         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79980         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79981         for Reliant Unix 5.43.
79982
79983         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79984         (union fooround): Use uintmax_t, not long int.
79985         The rest is a merge from libc:
79986         [defined _LIBC]: Include <shlib-compat.h>.
79987         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79988
79989         * lib/settime.c (settime): Recode to avoid warning with
79990         Sun Forte C 6U2.
79991
79992         * lib/strverscmp.c: Convert to UTF-8.
79993
79994 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79995
79996         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79997         m4/uintmax_t.m4.
79998
79999 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80000
80001         * modules/xalloc-die: New file.
80002         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
80003
80004         * modules/md5 (Files): Add m4/uint32_t.m4.
80005         * modules/sha1: Renamed from modules/sha.
80006         (Files):
80007         Rename lib/sha.h to lib/sha1.h.
80008         Rename lib/sha.c to lib/sha1.c.
80009         Rename m4/sha.m4 to m4/sha1.m4.
80010         (lib_SOURCES): Likewise.
80011         (configure.ac): Rename gl_SHA to gl_SHA1.
80012         (Include): sha.h -> sha1.h.
80013
80014 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80015
80016         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
80017         * m4/sha1.m4: Renamed from sha.m4.
80018         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
80019
80020 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80021
80022         * lib/obstack.h (obstack_empty_p):
80023         Don't assume that chunk->contents is suitably aligned.
80024         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
80025         Likewise. Problem reported by Benno in
80026         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
80027
80028         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
80029         readable.  This could be improved further but it'd take some work.
80030
80031 2004-08-08  Simon Josefsson  <jas@extundo.com>
80032
80033         * modules/xgethostname (Depends-on): Remove exit and error (not
80034         used).
80035
80036         * modules/getpass-gnu: Add getpass.h.
80037         (Depends-on): Add stdbool.
80038         * modules/getpass: Add getpass.h.
80039
80040 2004-08-08  Simon Josefsson  <jas@extundo.com>
80041
80042         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
80043         Check getpass declaration.
80044
80045 2004-08-08  Simon Josefsson  <jas@extundo.com>
80046
80047         * lib/xgethostname.c: Don't include error.h (not used).
80048
80049         * lib/getpass.h: Add.
80050         * lib/getpass.c: Include getpass.h first.
80051
80052 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
80053
80054         * lib/xalloc-die.c: New file.
80055         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
80056         All uses removed.
80057         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
80058         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
80059         xalloc-die.c.
80060         (_, N_, xalloc_die): Move to xalloc-die.c.
80061         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
80062         so that we needn't mess with xalloc_msg_memory_exhausted.
80063
80064         * lib/sha1.h: Renamed from sha.h.
80065         (SHA1_H): Renamed from _SHA_H.
80066         (sha1_ctx): Renamed from sha_ctx.
80067         (sha1_init_ctx): Renamed from sha_init_ctx.
80068         (sha1_process_block): Renamed from sha_process_block.
80069         (sha1_process_bytes): Renamed from sha_process_bytes.
80070         (sha1_finish_ctx): Renamed from sha_finish_ctx.
80071         (sha1_read_ctx): Renamed from sha_read_ctx.
80072         (sha1_stream): Renamed from sha_stream.
80073         (sha1_buffer): Renamed from sha_buffer.
80074         * lib/sha1.c: Likewise; renamed from sha.c.
80075         Do not include <sys/types.h>.
80076         Include <stddef.h> rather than <stdlib.h>.
80077
80078 2004-08-08  Bruno Haible  <bruno@clisp.org>
80079
80080         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
80081         FILESYSTEM_PREFIX_LEN.
80082         * lib/progreloc.c: Likewise.
80083         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
80084
80085 2004-08-06  Simon Josefsson  <jas@extundo.com>
80086
80087         * modules/progname (Depends-on): Don't depend on stdbool.
80088
80089 2004-08-06  Simon Josefsson  <jas@extundo.com>
80090
80091         * modules/getsubopt: New file.
80092         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80093         getsubopt.
80094
80095 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
80096
80097         More merge from coreutils.
80098
80099         * m4/utimens.m4, m4/utimecmp.m4: New files.
80100         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
80101         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
80102         prereq.m4, sha.m4: Import changes from coreutils.
80103
80104 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
80105
80106         More merge from coreutils.
80107         * modules/raise, modules/readtokens0, modules/utimens:
80108         * modules/utimecmp, module/xnanosleep: New files.
80109         * modules/strftime: Add lib/strftime.h.
80110         Change include from <time.h> to "strftime.h".
80111         * modules/yesno: Add lib/yesno.h.
80112         * modules/backupfile: Remove lib/addext.c.
80113         * modules/euidaccess: Add stat-macros.h.
80114         * modules/canonicalize, modules/euidaccess,
80115         modules/filemode, modules/lchown, modules/makepath,
80116         modules/rmdir, modules/stat: Likewise.
80117
80118 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
80119
80120         Merge from tar.
80121         * lib/argp-help.c (make_hol, hol_append): Don't assume that
80122         SIZE_MAX is a valid preprocessor constant.
80123         (__argp_basename): Change from "#ifndef _LIBC"
80124         to "#ifndef __argp_short_program_name", so that
80125         we don't compile these functions for tar.
80126
80127         More merges from coreutils.
80128         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
80129         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
80130         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
80131         * lib/addext.c: Remove; no longer needed.
80132         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
80133         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
80134         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
80135         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
80136         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
80137         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
80138         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
80139         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
80140         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
80141         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
80142         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
80143         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
80144         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
80145         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
80146         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
80147         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
80148         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
80149         Import changes from coreutils.
80150
80151 2004-08-05  Simon Josefsson  <jas@extundo.com>
80152
80153         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
80154
80155 2004-08-05  Simon Josefsson  <jas@extundo.com>
80156
80157         * m4/getsubopt.m4: New file.
80158
80159 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
80160
80161         Merge from coreutils.
80162
80163         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
80164         * m4/getcwd-path-max.m4: New files.
80165
80166         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
80167         FILESYSTEM_PREFIX_LEN ->
80168         FILE_SYSTEM_PREFIX_LEN.
80169         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
80170         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
80171         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
80172         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
80173
80174         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
80175         prerequisite modules now handle the DOS stuff.
80176         Don't check for unistd.h.
80177
80178 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
80179
80180         Merge from coreutils.
80181
80182         * lib/.gdb-history: Remove; this doesn't belong here.
80183
80184         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
80185         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
80186         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
80187         * lib/getcwd.c: New files.
80188
80189         * lib/dirname.h: Include <stdbool.h>.
80190         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
80191         for consistency with POSIX terminology.  All uses changed.
80192         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
80193         (strip_trailing_slashes): Use bool for booleans.
80194         * lib/stripslash.c (strip_trailing_slashes): Likewise.
80195
80196         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
80197         sometimes returns a positive errno value even when it succeeds.
80198         (print_errno_message) [!LIBC]: Fall back on strerror if
80199         __strerror_r fails.
80200
80201         * lib/path-concat.c (mempcpy): Don't define if a system header defines
80202         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
80203         (longest_relative_suffix): New function.
80204         (path_concat): Use it.  Assume first argument is not NULL.
80205         Port to DOS.  Omit redundant separators.
80206         Report an error instead of returning NULL.
80207         Use mempcpy instead of memcpy.
80208         (xpath_concat): Remove: not declared or used.
80209
80210         * lib/same.h: Include <stdbool.h>
80211         (same_name): Return bool, not int.
80212         * lib/same.c (same_name): Likewise.
80213         (errno): Don't declare; we assume C89 or better now.
80214
80215         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
80216         if not already defined.
80217
80218         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
80219         * lib/dup-safer.c (errno): Likewise.
80220
80221 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
80222
80223         Merge from coreutils.
80224         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
80225         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
80226         * modules/path-concat: Don't depend on strdup.
80227
80228 2004-08-03  Simon Josefsson  <jas@extundo.com>
80229
80230         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
80231         * lib/progname.h: Don't include stdbool.h.
80232
80233 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
80234
80235         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
80236         * MODULES.html.sh (func_all_modules): Remove fatal.
80237
80238 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
80239
80240         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
80241
80242 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
80243
80244         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
80245         working.
80246
80247 2004-08-02  Simon Josefsson  <jas@extundo.com>
80248
80249         * lib/getsubopt.h: New file, with comments from Bruno Haible.
80250         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
80251         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
80252
80253 2004-08-01  Simon Josefsson  <jas@extundo.com>
80254
80255         * lib/xgetdomainname.c: Include stdlib.h, for free().
80256
80257 2004-07-19  Bruno Haible  <bruno@clisp.org>
80258
80259         * MODULES.html.sh (func_all_modules): Add dummy.
80260
80261 2004-07-16  Simon Josefsson  <jas@extundo.com>
80262
80263         * modules/dummy: New file.
80264
80265 2004-07-16  Simon Josefsson  <jas@extundo.com>
80266
80267         * lib/dummy.c: New file.
80268
80269 2004-07-16  Bruno Haible  <bruno@clisp.org>
80270
80271         * lib/backupfile.h: Add extern "C" for C++.
80272         * lib/closeout.h: Likewise.
80273         * lib/copy-file.h: Likewise.
80274         * lib/findprog.h: Likewise.
80275         * lib/full-write.h: Likewise.
80276         * lib/pathname.h: Likewise.
80277         * lib/progname.h: Likewise.
80278         * lib/stpcpy.h: Likewise.
80279         * lib/stpncpy.h: Likewise.
80280         * lib/strcase.h: Likewise.
80281         * lib/strstr.h: Likewise.
80282         * lib/xalloc.h: Likewise.
80283
80284         * lib/mbswidth.h: Add extern "C" for C++.
80285         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
80286
80287 2004-07-13  Robert Millan  <robertmh@gnu.org>
80288
80289         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
80290
80291 2004-07-09  Simon Josefsson  <jas@extundo.com>
80292
80293         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
80294         failed without this.)
80295
80296 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80297
80298         * modules/chown (Files): Add lib/fchown-stub.c, since
80299         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
80300
80301 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80302
80303         * lib/fchown-stub.c: New file.
80304
80305 2004-06-24  Jim Meyering  <jim@meyering.net>
80306
80307         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
80308
80309 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80310
80311         * modules/argz: Omit "#include".
80312
80313         * MODULES.html.sh (func_all_modules): Add calloc, to match
80314         2004-06-01 addition of calloc module.
80315
80316 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80317
80318         * m4/argz.m4: New file, which is autoupdated from libtool.
80319
80320 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80321
80322         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
80323         libtool.
80324
80325 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80326
80327         * config/srclist-update: Don't insist on "USA." before the
80328         close-comment, as libtool omits the period and puts the */ on a
80329         separate line.
80330         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
80331         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
80332
80333 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
80334
80335         * modules/argz: New file.
80336         * MODULES.html.sh (func_all_modules): Add argz.
80337
80338 2004-06-12  Jim Meyering  <jim@meyering.net>
80339         and  Paul Eggert  <eggert@cs.ucla.edu>
80340
80341         * modules/hash (Files): Add lib/xalloc.h.
80342         * modules/pipe (Depends-on): Add wait-process.
80343         * modules/stat (Depends-on): Add xalloc.
80344         * modules/userspec (Files): Add lib/userspec.h.
80345         * modules/xstrto
80346
80347         Upgrade from gettext-0.13.
80348         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
80349         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
80350         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
80351
80352 2004-06-10  Jim Meyering  <jim@meyering.net>
80353
80354         * lib/calloc.c: New file.
80355
80356 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
80357
80358         * lib/getdate.y (yylex): Allow space between sign and number.
80359         Problem reported by Dan Jacobson.
80360
80361 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
80362
80363         Merge from coreutils CVS.
80364
80365         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
80366         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
80367         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
80368         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
80369         xstrtol.m4: Fix copyright date and/or serial number.
80370
80371         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
80372         See if we need an fchown replacement.
80373         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
80374         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
80375         and use the replacement function if we detect either defect.
80376
80377         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
80378         gl_UTIMECMP.
80379
80380 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
80381         and  Jim Meyering  <jim@meyering.net>
80382
80383         Merge from coreutils CVS.
80384
80385         * lib/stat-macros.h: New file, with contents from file-type.h
80386         and coreutils' system.h.
80387         * lib/file-type.c: Include "stat-macros.h".
80388         * lib/file-type.h (file_type): Move all macro definitions to new file,
80389         stat-macros.h.
80390
80391         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
80392         Wrap old code with this conditional.
80393         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
80394         function that does not dereference symlinks.
80395         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
80396
80397         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
80398         dependency problems.
80399         (xreadlink): Accept new arg SIZE, for efficiency.
80400         All decls and uses changed.
80401         * lib/xreadlink.h: Include <stddef.h>, for size_t.
80402
80403         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
80404         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
80405
80406         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
80407         sysexits.h.
80408
80409 2004-06-01  Jim Meyering  <jim@meyering.net>
80410
80411         * m4/calloc.m4: New file.
80412
80413 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
80414
80415         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
80416         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
80417         Also, fix a typo in a diagnostic.
80418
80419 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
80420
80421         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
80422         or AC_FUNC_REALLOC.
80423
80424 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
80425
80426         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
80427         macros to be defined.
80428         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
80429         the allocator returns NULL because the requested size is zero.
80430
80431 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80432
80433         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
80434         var.  Add comment explaining why libc still defines it.  This
80435         merges the following patch from glibc:
80436         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
80437
80438 2004-05-20  Andreas Schwab  <schwab@suse.de>
80439
80440         * m4/free.m4: Replace free if it not known to work, not the other
80441         way round.
80442
80443 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
80444
80445         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
80446         present in glibc since revision 1.1 of this file.
80447         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
80448         obstack_alignment_mask, obstack_alloc, obstack_base,
80449         obstack_blank, obstack_blank_fast, obstack_chunk_size,
80450         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
80451         obstack_grow0, obstack_init, obstack_int_grow,
80452         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
80453         obstack_next_free, obstack_object_size, obstack_ptr_grow,
80454         obstack_ptr_grow_fast, obstack_room): Remove declarations of
80455         nonexistent functions.
80456
80457 2004-05-18  Karl Berry  <karl@gnu.org>
80458
80459         * config/srclist.txt: break link for vasnprintf.c.
80460
80461 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
80462
80463         Port obstack to the AS/400, where pointers are 16 bytes wide and
80464         you cannot cast an integer to a valid pointer.  This patch is
80465         currently waiting to be integrated into glibc; see
80466         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
80467
80468         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
80469         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
80470         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
80471         (struct obstack): temp member is now a union of a pointer and
80472         an integer, instead of an integer.  All integer uses changed.
80473         This does not affect the physical layout of struct obstack,
80474         except on hosts (like the AS/400) where the size or alignment of
80475         void * is greater than that of ptrdiff_t.
80476         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
80477         __STDC__)]: Store temporary in pointer member of union, not
80478         integer member.
80479         * lib/obstack.c: Include <stddef.h>, for offsetof.
80480         (struct fooalign): Remove; it doesn't need a name.
80481         (union fooround): Change double to long double, and add void *.
80482         (DEFAULT_ALIGNMENT): Use offsetof to compute.
80483         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
80484         not a macro.  Hence the values are always int; so remove all
80485         casts-to-int in uses.
80486
80487 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
80488
80489         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
80490         we can get this patch merged into glibc.
80491
80492 2004-05-17  Derek R. Price  <derek@ximbiot.com>
80493             Paul Eggert  <eggert@cs.ucla.edu>
80494
80495         * m4/argp: Depend on alloca.
80496
80497 2004-05-17  Derek R. Price  <derek@ximbiot.com>
80498             Paul Eggert  <eggert@cs.ucla.edu>
80499
80500         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
80501         freecoding.
80502
80503 2004-05-17  Bruno Haible  <bruno@clisp.org>
80504
80505         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
80506         precision that consists of a '.' followed by an empty digit string.
80507         Patch by Tor Lillqvist <tml@iki.fi>.
80508
80509 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
80510
80511         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
80512         for backward compatibility with older code.  We need our own
80513         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
80514         it under some other name, and our alloca.h will define it.
80515
80516 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
80517             Derek Price  <derek@ximbiot.com>
80518
80519         * lib/alloca.c: Include <alloca.h>, to get our interface.
80520         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
80521         include <alloca.h> first.  Use C89 prototype for alloca; this
80522         requires including <stddef.h> for size_t.  Use extern "C" if C++.
80523         Use #elif for simplicity, since we can assume C89 now.
80524         Don't try to source the system alloca.h since it will not be found
80525         and to prevent recursively including its replacement.
80526         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
80527         * lib/regex.c: Likewise.
80528
80529 2004-05-16  Derek Price  <derek@ximbiot.com>
80530             Paul Eggert  <eggert@cs.ucla.edu>
80531
80532         getline cleanup.  This changes the getndelim2 API: both order of
80533         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
80534         no delimiter).
80535
80536         * lib/getline.c: Don't include stddef.h or stdio.h, since our
80537         interface does that.
80538         (getline): Always use getdelim, so that we don't have two
80539         copies of this code.
80540         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
80541         if available.
80542         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
80543         (GETNDELIM2_MAXIMUM): New macro.
80544         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
80545         instead of the old practice of delim2==0.  All callers changed.
80546         Return -1 on overflow, instead of returning junk.
80547         Do not set *linesize unless allocation succeeds.
80548         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
80549         that we include sys/types.h.
80550         * lib/getnline.h: Likewise.
80551         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
80552         (getndelim2): Reorder arguments.
80553         * lib/getnline.c (getnline, getndelim):
80554         Don't discard the NMAX argument.
80555         (getnline): Invoke getndelim, to avoid code duplication.
80556         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
80557         of (size_t) -1 by callers of the getnline family.
80558
80559 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80560
80561         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
80562         Check for gettimeofday.
80563         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
80564         Check for settimeofday, stime.
80565
80566 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80567
80568         * lib/nanosleep.c (suspended): Change its type from int to
80569         sig_atomic_t volatile.
80570         (first_call): Make it private to rpl_nanosleep, and have it
80571         be zero initially as that's a bit faster.
80572         (my_usleep): Round up fractional times instead of truncating them,
80573         as this is the usual meaning for 'sleep'.
80574
80575         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
80576         doesn't work.
80577         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
80578         (ENOSYS): Define if not defined.
80579         (settime): Fall back on stime if it exists and settimeofday fails.
80580         But don't bother with fallbacks if a method fails with errno == EPERM.
80581
80582 2004-05-11  Jim Meyering  <jim@meyering.net>
80583
80584         Prior to this change, the save_cwd caller required read access to the
80585         current directory on most systems (ones with the fchdir function).
80586
80587         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
80588         fails, try write-only, and finally, resort to using xgetcwd.
80589
80590 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80591
80592         * lib/obstack.c, obstack.h: Import changes from libc.
80593
80594 2004-04-28  Bruno Haible  <bruno@clisp.org>
80595
80596         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
80597         also implicitly appends .exe to executables.
80598         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
80599         accepts Windows pathnames.
80600         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
80601         Treat Cygwin like Windows, since it now accepts Windows pathnames.
80602         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
80603         Treat Cygwin like Windows, since it now accepts Windows pathnames.
80604         Reported by Derek Robert Price <derek@ximbiot.com>.
80605
80606 2004-04-21  Karl Berry  <karl@gnu.org>
80607
80608         * config/srclist.txt (localcharset.c): break sync.
80609
80610 2004-04-20  Paul Eggert  <eggert@twinsun.com>
80611
80612         * m4/host-os.m4: Add a copyright notice.
80613
80614 2004-04-20  Jim Meyering  <jim@meyering.net>
80615
80616         Change UTILS_ to gl_ in AC_DEFINE'd names.
80617         Change utils_- and jm_-prefixed variables, too.
80618         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
80619         UTILS_FUNC_MKDIR_TRAILING_SLASH.
80620         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
80621
80622         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
80623         Don't emit trailing blanks.
80624         Also rename jm_-prefixed variables to have gl_ prefix.
80625
80626         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
80627         Also rename jm_-prefixed variables to have gl_ prefix.
80628
80629         * m4/jm-macros.m4: Reflect the renamings.
80630         * m4/prereq.m4: Likewise.
80631
80632 2004-04-20  Jim Meyering  <jim@meyering.net>
80633
80634         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
80635         memory.
80636
80637 2004-04-20  Jim Meyering  <jim@meyering.net>
80638             Bruno Haible  <bruno@clisp.org>
80639
80640         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
80641         memory when realloc fails.
80642
80643 2004-04-19  Jim Meyering  <jim@meyering.net>
80644
80645         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
80646         now that readutmp.c may call `free (0)'.
80647
80648 2004-04-19  Bruno Haible  <bruno@clisp.org>
80649
80650         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
80651         * m4/inttypes_h.m4: Likewise.
80652         * m4/stdint_h.m4: Likewise.
80653         * m4/intmax_t.m4: Likewise.
80654         * m4/uintmax_t.m4: Likewise.
80655
80656 2004-04-18  Jim Meyering  <jim@meyering.net>
80657
80658         * m4/prereq.m4: Don't forbid jm_ prefix.
80659
80660         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
80661         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
80662         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
80663         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
80664         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
80665         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
80666         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
80667         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
80668         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
80669         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
80670         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
80671         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
80672         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
80673         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
80674         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
80675         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
80676         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
80677         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
80678         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
80679
80680 2004-04-18  Jim Meyering  <jim@meyering.net>
80681
80682         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
80683         failure, don't leak memory and do call END_UTMP_ENT.
80684
80685 2004-04-16  Jim Meyering  <jim@meyering.net>
80686
80687         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
80688         coreutils' stat program.
80689         (gl_PREREQ): Don't require jm_PREREQ_STAT.
80690
80691 2004-04-11  Paul Eggert  <eggert@twinsun.com>
80692
80693         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
80694         C89.
80695         (CHAR_BIT): Remove, since we assume C89.
80696         Include <stdint.h> if available, as per current Autoconf CVS advice.
80697
80698 2004-03-31  Jim Meyering  <jim@meyering.net>
80699
80700         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
80701         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
80702         * m4/xalloc.m4: Likewise.
80703
80704 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80705
80706         Merge from coreutils.
80707
80708         * m4/inttostr.m4: New file.
80709         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
80710         Require AM_STDBOOL_H and gl_TIMESPEC instead.
80711         Require gl_CLOCK_TIME.
80712         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
80713
80714 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80715
80716         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
80717         not bool, to be more consistent with Unix conventions.
80718         Suggested by Bruno Haible.
80719
80720         Merge from coreutils.
80721
80722         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
80723         * lib/umaxtostr.c: New files.
80724
80725         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
80726         the usual <time.h> dance.
80727         (get_date): Change signature to support fractional time stamps.
80728         All callers changed.
80729         * lib/getdate.y: Include "getdate.h" first, as we can now
80730         assume C89 and don't need to worry about 'const'.
80731         Similarly, include "unlocked-io.h" near start, not in middle.
80732         Include <limits.h>.
80733         (textint.value): Use long int rather than int.
80734         (textint.digits): Use size_t rather than int.
80735         (BILLION, LOG10_BILLION): New constants.
80736         (parser_control): New member rel_ns.  Members day_ordinal,
80737         time_zone, month, day, hour, minutes, rel_year, rel_month,
80738         rel_day, rel_hour, rel_minutes, rel_seconds
80739         are now long int, not int.  Member seconds is now struct timespec,
80740         not int.  New member timespec_seen.  Members dates_seen, days_seen,
80741         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
80742         not int.
80743         (%union.intval): Now long int, not int.
80744         New member timespec.
80745         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
80746         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
80747         (spec): Now is a timespec or an item list.
80748         (timespec, items): New nonterminals.
80749         (time, rel, relunit, number, get_date):
80750         Add support for fractional seconds.
80751         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
80752         (gmtime, localtime, mktime): Remove decls; not needed with C89.
80753         (to_hour): First arg is now long int, not int.
80754         (to_year): Returns long int, not int.
80755         Don't treat year -70 like 70.
80756         (tm_diff): Returns long int, not int.
80757         (lookup_word): Use bool instead of int when appropriate.
80758         (yylex): Use size_t for count, not int.
80759         Detect overflow when parsing large integer constants.
80760         Add support for fractions.
80761         (get_date): Make pointers 'const' if possible.
80762         Use more-portable code to detect integer overflow.
80763         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
80764         Don't use ctime; it's not reliable if the year has >4 digits.
80765
80766         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
80767         This is for compatibility with BSD.
80768
80769         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
80770         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
80771         From coreutils' system.h.
80772
80773         * lib/userspec.c: Don't include "posixver.h".
80774         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
80775         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
80776         compatible extension.  Simplify code by removing a boolean int
80777         that was always nonzero if a string was nonnull.
80778
80779 2004-03-30  Jim Meyering  <jim@meyering.net>
80780
80781         Merge from coreutils.
80782
80783         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
80784         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
80785         on some systems one must include <grp.h> before it.
80786         Reported by Christian Krackowizer.
80787
80788 2004-03-30  Jim Meyering  <jim@meyering.net>
80789
80790         Merge from coreutils.
80791
80792         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
80793
80794         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
80795         an empty input stream.
80796
80797         * lib/readtokens.c: Include <stdbool.h>.
80798         (readtoken): Use `size_t' rather than int/long.
80799         All callers adjusted.
80800         Use `bool' rather than `int' where appropriate.
80801         Use memset rather than an explicit loop.
80802         Use x2nrealloc rather than xrealloc.
80803         Allow the use of `\0' as a delimiter.
80804         (readtokens): Likewise.
80805         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
80806
80807 2004-03-30  Jim Meyering  <jim@meyering.net>
80808
80809         * m4/realloc.m4: Remove file, since now it does no more than
80810         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
80811         the `configure.ac' section of module/realloc.
80812         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
80813
80814 2004-03-30  Bruno Haible  <bruno@clisp.org>
80815
80816         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
80817         nonnull.
80818
80819 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80820
80821         Merge changes to getloadavg.c from coreutils and Emacs.
80822
80823         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
80824         Define to an expression, not to the empty string.
80825         Include cloexec.h and xalloc.h.
80826         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
80827         Use set_cloexec_flag rather than rolling our own.
80828         * lib/cloexec.c, lib/cloexec.h: New files.
80829
80830 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80831
80832         * m4/cloexec.m4: New file.
80833
80834 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80835
80836         * lib/getopt.h: Sync with libc CVS.
80837
80838 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80839             Bruno Haible  <bruno@clisp.org>
80840
80841         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80842         mbswidth.
80843
80844 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80845             Bruno Haible  <bruno@clisp.org>
80846
80847         * lib/mbswidth.h: Include <wchar.h> only if
80848         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80849         <wchar.h>.
80850         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80851
80852 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80853
80854         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80855         Sync with libc CVS.
80856         * lib/getopt_int.h: New file, also synced from libc.
80857
80858 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80859
80860         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80861         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80862         Bring back getopt.c, getopt.h, getopt1.c.
80863
80864 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80865
80866         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80867         All uses changed.  Check for sa_sigaction member; this fixes
80868         a bug first reported by Jason Andrade in
80869         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80870
80871 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80872
80873         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80874         '#if' expressions.  Unlike the code it replaces, it does not
80875         depend on (defined _SC_PAGESIZE).  However, it does depend on
80876         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80877         first reported by Jason Andrade in
80878         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80879
80880 2004-02-25  Simon Josefsson  <jas@extundo.com>
80881
80882         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80883
80884 2004-02-25  Simon Josefsson  <jas@extundo.com>
80885
80886         * lib/strdup.h: New file.
80887         * lib/strdup.c: Include it.
80888         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80889         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80890
80891 2004-02-23  Karl Berry  <karl@gnu.org>
80892
80893         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80894         (from fencepost.gnu.org:/gd/gnuorg).
80895
80896 2004-02-23  Karl Berry  <karl@gnu.org>
80897
80898         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80899         * config/srclist.txt: add maintain/standards documents.
80900
80901 2004-02-18  Bruno Haible  <bruno@clisp.org>
80902
80903         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80904         Reported by Derek Robert Price <derek@ximbiot.com>.
80905
80906 2004-02-16  Karl Berry  <karl@gnu.org>
80907
80908         * config/mkinstalldirs, install-sh: update from automake.
80909
80910 2004-02-06  Karl Berry  <karl@gnu.org>
80911
80912         * m4/po.m4: update from gettext 0.14.1.
80913
80914 2004-02-06  Karl Berry  <karl@gnu.org>
80915
80916         * lib/config.charset: update from gettext 0.14.1.
80917
80918 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80919
80920         Add comments and code, prompted by suggestions from Bruno Haible
80921         for sh-quote.
80922         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80923         describing the enum quoting_style values.
80924         * lib/quotearg.c (quotearg_alloc): New function.
80925         (quotearg_buffer_restyled): Treat lone { and } as special.
80926         Treat = as special.  Work around bug with older shells
80927         that "see" a '\' that is really the 2nd byte of a multibyte char.
80928         Quote empty string with shell_quoting_style.
80929
80930 2004-02-03  Bruno Haible  <bruno@clisp.org>
80931
80932         * m4/pipe.m4: New file, from GNU gettext.
80933
80934 2004-02-03  Bruno Haible  <bruno@clisp.org>
80935
80936         * lib/pipe.h: New file, from GNU gettext.
80937         * lib/pipe.c: New file, from GNU gettext.
80938
80939 2004-01-27  Bruno Haible  <bruno@clisp.org>
80940
80941         * m4/execute.m4: New file, from GNU gettext.
80942
80943 2004-01-27  Bruno Haible  <bruno@clisp.org>
80944
80945         * lib/execute.h: New file, from GNU gettext.
80946         * lib/execute.c: New file, from GNU gettext.
80947         * lib/w32spawn.h: New file, from GNU gettext.
80948
80949 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80950
80951         Merge from diffutils.
80952
80953         * lib/file-type.c (file_type): Add typed memory objects.
80954         * lib/file-type.h (S_TYPEISTMO): New macro.
80955
80956         * lib/c-stack.h (c_stack_action): Remove argv argument.
80957         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80958         (die): Don't calculate message unless segv_action returns.
80959         (get_stack_location, min_address_from_argv, max_address_from_argv,
80960         volatile stack_base, volatile_stack_size): Remove.
80961         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80962         that every segmentation violation is a stack overflow.  (Ouch!)
80963         See Debian bug 136249 (still outstanding) for more info about why
80964         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80965
80966 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80967
80968         Exit-status fix from coreutils.
80969
80970         Use exit_failure consistently in place of EXIT_FAILURE,
80971         so that program exit statuses are consistent on failure.
80972
80973         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80974         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80975         * lib/argmatch.h: Comment fix to match the above.
80976         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80977         Now a macro referring to exit_failure, instead of a separate
80978         variable.  Include "exitfail.h" to get it.
80979         * lib/xstrtol.h: Include "exitfail.h".
80980         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80981
80982         * lib/long-options.c (parse_long_options): Use prototype
80983         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80984         for clarity.
80985
80986 2004-01-21  Jim Meyering  <jim@meyering.net>
80987
80988         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80989         so as not to conflict with a different-sized __mktime_internal
80990         function in GNU libc.
80991         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80992         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80993
80994 2004-01-20  Karl Berry  <karl@gnu.org>
80995
80996         * config/config.guess: update from config.
80997
80998         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80999
81000 2004-01-20  Bruno Haible  <bruno@clisp.org>
81001
81002         Safer stack allocation.
81003         * lib/setenv.c: Include allocsa.h.
81004         (alloca): Remove fallback definition.
81005         (freea): Remove macro.
81006         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
81007         instead of freea.
81008
81009 2004-01-20  Bruno Haible  <bruno@clisp.org>
81010
81011         * m4/eealloc.m4: New file, from GNU gettext.
81012
81013 2004-01-20  Bruno Haible  <bruno@clisp.org>
81014
81015         * m4/allocsa.m4: New file, from GNU gettext.
81016
81017 2004-01-20  Bruno Haible  <bruno@clisp.org>
81018
81019         * lib/xallocsa.h: New file, from GNU gettext.
81020         * lib/xallocsa.c: New file, from GNU gettext.
81021
81022 2004-01-20  Bruno Haible  <bruno@clisp.org>
81023
81024         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
81025
81026 2004-01-20  Bruno Haible  <bruno@clisp.org>
81027
81028         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
81029         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
81030         specially.
81031
81032 2004-01-20  Bruno Haible  <bruno@clisp.org>
81033
81034         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
81035         patch.
81036
81037 2004-01-20  Bruno Haible  <bruno@clisp.org>
81038
81039         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
81040
81041 2004-01-20  Bruno Haible  <bruno@clisp.org>
81042
81043         * lib/eealloc.h: New file.
81044
81045 2004-01-20  Bruno Haible  <bruno@clisp.org>
81046
81047         * lib/binary-io.h: Avoid warnings on Cygwin.
81048
81049 2004-01-20  Bruno Haible  <bruno@clisp.org>
81050
81051         * lib/allocsa.h: New file, from GNU gettext.
81052         * lib/allocsa.c: New file, from GNU gettext.
81053
81054 2004-01-18  Karl Berry  <karl@gnu.org>
81055
81056         * doc/gpl.texi, doc/lgpl.texi: new files.
81057
81058 2004-01-18  Karl Berry  <karl@gnu.org>
81059
81060         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
81061         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
81062
81063 2004-01-15  Paul Eggert  <eggert@twinsun.com>
81064
81065         Merge from coreutils.
81066
81067         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
81068         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
81069         (gl_DEFAULT_POSIX2_VERSION): Move
81070         the documentation from 'configure' into 'config.hin',
81071         so that 'configure --help' isn't burdened by it and
81072         we don't have to worry about its formatting there.
81073         Reword the documentation so that it's more succinct
81074         and can be run together into a single paragraph.
81075         * m4/same.m4 (gl_SAME): Check for pathconf.
81076
81077 2004-01-15  Paul Eggert  <eggert@twinsun.com>
81078
81079         Merge from coreutils.
81080
81081         * lib/posixver.c: Include posixver.h.
81082
81083         * lib/same.c: Include <stdbool.h>, <limits.h>.
81084         (_POSIX_NAME_MAX): Define if not defined.
81085         (MIN): New macro.
81086         (same_name): If file names are silently truncated, report
81087         that the file names are the same if they are the same after
81088         the silent truncation.
81089
81090         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
81091         conversion function.
81092         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
81093         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
81094         longer needed.
81095
81096 2004-01-15  Jim Meyering  <jim@meyering.net>
81097
81098         Merge from coreutils.
81099
81100         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
81101         if no library is required.
81102         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
81103         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
81104         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
81105         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
81106         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
81107         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
81108         value, $ac_cv_search_crypt, if it's "none required".
81109         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
81110         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
81111         not gl_FUNC_GETLOADAVG.
81112         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
81113         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
81114
81115 2004-01-15  Jim Meyering  <jim@meyering.net>
81116
81117         Merge from coreutils.
81118
81119         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
81120         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
81121         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
81122
81123         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
81124         optional configure-time default.
81125
81126         * lib/version-etc.c (version_etc_copyright): Update copyright date.
81127
81128         * lib/xreadlink.c (xreadlink): Correct outdated comment.
81129
81130 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
81131
81132         Merge from coreutils.
81133
81134         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
81135         value, $ac_cv_search_nanosleep, if it's "none required".
81136
81137 2004-01-14  Paul Eggert  <eggert@twinsun.com>
81138
81139         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
81140         with like-named macro in fnmatch.c.
81141         (EXT): Use an internal constant instead.
81142
81143         Merge fnmatch patches from glibc.
81144         * lib/fnmatch.c (mbsinit): Remove define.
81145         Add libc_hidden_ver (__fnmatch, fnmatch).
81146         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
81147         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
81148
81149 2004-01-14  Karl Berry  <karl@gnu.org>
81150
81151         * config/install-sh: update from automake.
81152
81153 2004-01-13  Karl Berry  <karl@gnu.org>
81154
81155         * config/install-sh: update from automake.
81156
81157 2004-01-09  Karl Berry  <karl@gnu.org>
81158
81159         * config/install-sh: update from automake.
81160
81161 2004-01-05  Karl Berry  <karl@gnu.org>
81162
81163         * config/config.{sub,guess}: update from config.
81164
81165 2003-12-31  Karl Berry  <karl@gnu.org>
81166
81167         * config/depcomp: update from automake.
81168
81169 2003-12-14  Karl Berry  <karl@gnu.org>
81170
81171         * lib/config.charset: update from gettext-runtime.
81172
81173 2003-12-03  Paul Eggert  <eggert@twinsun.com>
81174
81175         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
81176         Bug reported by Alfred M. Szmidt.
81177
81178 2003-12-03  Bruno Haible  <bruno@clisp.org>
81179
81180         * m4/gettext.m4: Upgrade from gettext-0.13.
81181         * m4/po.m4: Upgrade from gettext-0.13.
81182         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
81183         * m4/intmax.m4: New file, from gettext-0.13.
81184         * m4/printf-posix.m4: New file, from gettext-0.13.
81185
81186 2003-11-29  Karl Berry  <karl@gnu.org>
81187
81188         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
81189
81190 2003-11-25  Paul Eggert  <eggert@twinsun.com>
81191             Bruno Haible  <bruno@clisp.org>
81192
81193         * lib/printf-parse.h: Don't include sys/types.h.
81194         (ARG_NONE): New macro.
81195         (char_directive): Change type of *arg_index fields to size_t.
81196         * lib/printf-parse.c: Don't include sys/types.h.
81197         (SSIZE_MAX): Remove macro.
81198         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
81199         Remove unnecessary overflow check.
81200         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
81201         fields.
81202
81203 2003-11-25  Bruno Haible  <bruno@clisp.org>
81204
81205         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
81206
81207 2003-11-25  Bruno Haible  <bruno@clisp.org>
81208
81209         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
81210         gt_TYPE_SSIZE_T.
81211
81212 2003-11-24  Paul Eggert  <eggert@twinsun.com>
81213
81214         * modules/alloca: Remove dependency on xalloc.
81215
81216 2003-11-24  Paul Eggert  <eggert@twinsun.com>
81217
81218         * lib/alloca.c: Remove dependency on xalloc module.
81219         (xalloc_die): Remove.
81220         (memory_full) [!defined emacs]: New macro.
81221         [!defined emacs]: Don't include xalloc.h.
81222         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
81223         address arithmetic overflows.  Change datatypes a bit to avoid
81224         unnecessary casts.
81225
81226 2003-11-22  Jim Meyering  <jim@meyering.net>
81227
81228         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
81229         s/size/size_t/.
81230
81231 2003-11-21  Karl Berry  <karl@gnu.org>
81232
81233         * config/config.{sub,guess}: update from config.
81234
81235 2003-11-18  Karl Berry  <karl@gnu.org>
81236
81237         * config/config.{sub,guess}: update from config.
81238
81239         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
81240
81241 2003-11-17  Paul Eggert  <eggert@twinsun.com>
81242
81243         * README: Mention that S+T cannot overflow if S is the size of
81244         an existing object and T is sufficiently small.
81245
81246 2003-11-17  Jim Meyering  <jim@meyering.net>
81247
81248         On systems without utime and without a utimes function capable of
81249         dealing with a NULL struct utimbuf* argument, this utime replacement
81250         could -- in unusual circumstances -- leak a file descriptor.
81251         * lib/utime.c: Include <unistd.h> and <errno.h>.
81252         (utime_null): Be sure to close `fd' and to preserve errno.
81253         Reported by Geoff Collyer via Arnold Robbins.
81254
81255 2003-11-17  Bruno Haible  <bruno@clisp.org>
81256
81257         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
81258         (Depends-on): Add xsize.
81259
81260 2003-11-17  Bruno Haible  <bruno@clisp.org>
81261
81262         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
81263
81264 2003-11-17  Bruno Haible  <bruno@clisp.org>
81265
81266         * lib/vasnprintf.c (alloca): Remove fallback definition.
81267         (freea): Remove definition.
81268         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
81269         Reported by Paul Eggert.
81270
81271 2003-11-16  Paul Eggert  <eggert@twinsun.com>
81272             Bruno Haible  <bruno@clisp.org>
81273
81274         Protect against address arithmetic overflow.
81275         * lib/printf-args.h: Include stddef.h.
81276         (arguments): Change type of field 'count' to size_t.
81277         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
81278         'unsigned int' where appropriate.
81279         * lib/printf-parse.h: Include sys/types.h.
81280         (char_directive): Change type of *arg_index fields to ssize_t.
81281         (char_directives): Change type of fields 'count', max_*_length to
81282         size_t.
81283         * lib/printf-parse.c: Include sys/types.h and xsize.h.
81284         (SSIZE_MAX): Define fallback value.
81285         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
81286         instead of 'int' where appropriate. Check a_allocated, d_allocated
81287         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
81288         * lib/vasnprintf.c: Include xsize.h.
81289         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
81290         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
81291         overflow. Avoid wraparound when converting a width or precision from
81292         decimal to binary.
81293
81294 2003-11-16  Bruno Haible  <bruno@clisp.org>
81295
81296         Update from GNU gettext.
81297         * lib/printf-parse.c: Generalize to it can be compiled for wide
81298         strings.
81299         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
81300         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
81301         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
81302         SNPRINTF): New macros.
81303         Don't include <alloca.h> if the file is used inside libintl.
81304         (local_wcslen): New function, for Solaris 2.5.1.
81305         (VASNPRINTF): Use it instead of wcslen.
81306
81307 2003-11-16  Bruno Haible  <bruno@clisp.org>
81308
81309         * lib/xsize.h (xmax): New function.
81310         (xsum, xsum3, xsum4): Declare as "pure" functions.
81311
81312 2003-11-12  Paul Eggert  <eggert@twinsun.com>
81313
81314         * modules/xalloc (Files): Undo latest change, since xalloc.h
81315         no longer needs SIZE_MAX or PTRDIFF_MAX.
81316
81317 2003-11-12  Paul Eggert  <eggert@twinsun.com>
81318
81319         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
81320         gl_PTRDIFF_MAX.
81321
81322 2003-11-12  Paul Eggert  <eggert@twinsun.com>
81323
81324         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
81325         "return", to pacify some unknown compiler.  Problem reported
81326         by Joerg Schilling.
81327
81328 2003-11-12  Paul Eggert  <eggert@twinsun.com>
81329
81330         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
81331         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
81332         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
81333         heuristic is just as accurate as far as we know, and it removes a
81334         dependency on size_max.m4 and ptrdiff_max.m4.
81335
81336 2003-11-11  Bruno Haible  <bruno@clisp.org>
81337
81338         * modules/xsize (Files): Add m4/size_max.m4.
81339         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
81340
81341 2003-11-11  Bruno Haible  <bruno@clisp.org>
81342
81343         * m4/size_max.m4: New file.
81344         * m4/ptrdiff_max.m4: New file.
81345         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
81346         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
81347         (gl_XALLOC): Invoke it.
81348
81349 2003-11-11  Bruno Haible  <bruno@clisp.org>
81350
81351         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
81352         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
81353         defined.
81354
81355 2003-11-10  Paul Eggert  <eggert@twinsun.com>
81356
81357         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
81358         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
81359         rejected some allocations of exactly SIZE_MAX - 2 bytes.
81360         From Bruno Haible.
81361         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
81362         not (size_t) -1, since it's defined here.
81363
81364 2003-11-09  Karl Berry  <karl@gnu.org>
81365
81366         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
81367
81368 2003-11-06  Paul Eggert  <eggert@twinsun.com>
81369
81370         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
81371         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
81372         Reject sizes of exactly SIZE_MAX bytes.
81373         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
81374         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
81375
81376 2003-11-05  Bruno Haible  <bruno@clisp.org>
81377
81378         * lib/xsize.h: Include limits.h, to avoid a possible collision with
81379         SIZE_MAX defined in <limits.h> on Solaris.
81380
81381 2003-11-04  Jim Meyering  <jim@meyering.net>
81382
81383         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
81384         variable names, rather than @VAR@.
81385         * modules/poll: Likewise.
81386
81387 2003-11-04  Bruno Haible  <bruno@clisp.org>
81388
81389         * modules/xsize: New file.
81390         * modules/linebreak: Depend on xsize.
81391         * MODULES.html.sh (func_all_modules): Add xsize.
81392
81393 2003-11-04  Bruno Haible  <bruno@clisp.org>
81394
81395         * m4/xsize.m4: New file.
81396
81397 2003-11-04  Bruno Haible  <bruno@clisp.org>
81398
81399         * lib/xsize.h: New file.
81400         * lib/linebreak.c: Include xsize.h.
81401         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
81402         argument for overflow.
81403         Suggested by Paul Eggert.
81404
81405 2003-11-03  Karl Berry  <karl@gnu.org>
81406
81407         * config/config.{guess,sub}: update from config.
81408
81409 2003-11-03  Jim Meyering  <jim@meyering.net>
81410
81411         * modules/userspec (lib_SOURCES): Add userspec.h.
81412         (Include): Add "userspec.h".
81413         Improve description.
81414
81415 2003-11-03  Jim Meyering  <jim@meyering.net>
81416
81417         * lib/userspec.c: Include "userspec.h".
81418         * lib/userspec.h: New file.
81419
81420 2003-11-03  Bruno Haible  <bruno@clisp.org>
81421
81422         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
81423
81424 2003-11-03  Bruno Haible  <bruno@clisp.org>
81425
81426         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
81427         available, to avoid (extremely rare) race condition.
81428         Suggested by Paul Eggert.
81429
81430 2003-11-02  Karl Berry  <karl@gnu.org>
81431
81432         * config/srclist.txt (vasprintf.c): sync broken, sigh.
81433
81434 2003-10-31  Paul Eggert  <eggert@twinsun.com>
81435
81436         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
81437         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
81438         (read_filesystem_list): Set and use me_type_malloced.
81439         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
81440         whatever the type happens to be), for brevity and consistency.
81441         Check for size calculation overflow on Alphas running OSF/1.
81442
81443 2003-10-31  Jim Meyering  <jim@meyering.net>
81444
81445         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
81446
81447         * lib/linebuffer.c: Include <string.h> for declaration of memset.
81448
81449 2003-10-30  Paul Eggert  <eggert@twinsun.com>
81450             Bruno Haible  <bruno@clisp.org>
81451
81452         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
81453         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
81454
81455 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81456
81457         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
81458         netbsd*-gnu*.  Suggested by Robert Millan.
81459
81460 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81461
81462         * modules/group-member: Depend on stdbool.
81463
81464 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81465
81466         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
81467
81468 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81469
81470         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
81471         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
81472         after the 'gnu' in these cases.  This fixes some bugs in the
81473         previous change, and is based on suggestions by Robert Millan.
81474
81475 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81476
81477         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
81478         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
81479         no longer needed.
81480         * lib/quotearg.c (quotearg_n_options): Use it.
81481         * lib/group-member.c: Include <stdbool.h>.
81482         (free_group_info): Arg is now const *; don't free arg.
81483         (get_group_info): Now returns bool and accepts struct group_info *,
81484         rather than returning a malloc'ed struct group_info *.
81485         All uses changed.  Check for overflow in internal size calculation.
81486
81487         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
81488         rather than xmalloc/xrealloc.
81489         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
81490         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
81491         conformance bug: the old code used a pointer after freeing the
81492         storage that it addressed.
81493         * lib/hash.c (hash_initialize): Simplify the code by using
81494         xalloc_oversized rather than doing it by hand.
81495         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
81496         the buffer preserved.  Use free and xmalloc instead.
81497         * lib/quotearg.c (quotearg_n_options): Likewise.
81498         Use a simpler test for size overflow.  Don't use xalloc_oversized
81499         because unsigned int might be wider than size_t (!); this suggests
81500         that we should switch from unsigned int to size_t for slot numbers.
81501
81502 2003-10-28  Paul Eggert  <eggert@twinsun.com>
81503
81504         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
81505         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
81506         NetBSD kernels.  Requested by Richard Stallman.
81507
81508 2003-10-27  Paul Eggert  <eggert@twinsun.com>
81509
81510         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
81511         to allocate the returned structure.  Do not allocate a subarray,
81512         as x2nrealloc will do that.
81513         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
81514         instead of xnrealloc.
81515         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
81516
81517 2003-10-27  Bruno Haible  <bruno@clisp.org>
81518
81519         * lib/stdbool_.h: Better support for BeOS.
81520
81521 2003-10-26  Paul Eggert  <eggert@twinsun.com>
81522
81523         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
81524         now uses inline.
81525
81526 2003-10-26  Paul Eggert  <eggert@twinsun.com>
81527
81528         * lib/xalloc.h (xalloc_oversized): New static inline function, for
81529         callers that want to do their own size-overflow checking.  Include
81530         <stdbool.h>, since xalloc_oversized returns bool.
81531         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
81532         to use xalloc_oversized.
81533
81534         Add two functions x2realloc, x2nrealloc, for programs that grow
81535         arrays dynamically by doubling their sizes.
81536         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
81537         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
81538         New functions.
81539
81540         Port to C99 semantics for 'inline' of external functions.
81541         Bug reported by Bruno Haible.
81542         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
81543         with the old contents of xnmalloc.
81544         (xnmalloc, xmalloc): Use it.
81545         (xnrealloc_inline): New static inline function,
81546         with the old contents of xnrealloc.
81547         (xnrealloc, xrealloc): Use it.
81548
81549         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
81550         that.
81551
81552 2003-10-26  Karl Berry  <karl@gnu.org>
81553
81554         * config/srclist.txt (COPYING.DOC): no longer available from
81555         /gd/gnuorg; don't know where the ultimate source is.
81556
81557 2003-10-25  Paul Eggert  <eggert@twinsun.com>
81558
81559         Fix several address-calculation bugs in the hash modules,
81560         plus some minor code cleanup.
81561
81562         * lib/hash.h: Include <stdbool.h>, for bool.
81563         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
81564         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
81565         hash_get_n_entries, hash_get_max_bucket_length,
81566         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
81567         hash_rehash): Use size_t rather than unsigned.
81568         * lib/hash.c (struct hash_table, hash_get_n_buckets,
81569         hash_get_n_buckets_used, hash_get_n_entries,
81570         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
81571         hash_get_entries, hash_do_for_each, hash_string, is_prime,
81572         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
81573         Likewise.
81574         (SIZE_MAX): Define if not defined.
81575         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
81576         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
81577         hash_print):
81578         Use const * when possible.
81579         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
81580         (check_tuning): Fix bug: if tuning parameters were very close to
81581         0 or 1, rounding errors could have caused subscript violations.
81582         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
81583         (hash_initialize): Add 'fail:' label
81584         to free table and return NULL, and use it to simplify code.
81585         Use calloc rather than clearing the storage ourself.
81586         (hash_initialize, hash_rehash): Check for arithmetic overflow in
81587         buffer size calculations.
81588         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
81589         Include <stddef.h>, for size_t.
81590         * lib/hash-pjw.c (hash_pjw): Likewise.
81591         Switch to method described by Bruno Haible.
81592         Include <limits.h>, for CHAR_BIT.
81593         (SIZE_BITS): New macro.
81594
81595 2003-10-23  Paul Eggert  <eggert@twinsun.com>
81596
81597         * m4/getline.m4 (AM_FUNC_GETLINE):
81598         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
81599         hosts.  Problem reported by Derek Robert Price in
81600         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
81601         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
81602         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
81603
81604 2003-10-21  Paul Eggert  <eggert@twinsun.com>
81605
81606         * lib/getndelim2.c (getndelim2): When size calculation overflows,
81607         ceiling the allocation at NMAX bytes rather than silently
81608         discarding input bytes before NMAX is reached.  This makes
81609         a difference only if NMAX exceeds SIZE_MAX / 2.
81610
81611         * lib/obstack.c: Merge from glibc.
81612         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
81613         Add libc_hidden_def (_obstack_newchunk).
81614         (_obstack_free) [! defined _LIBC]: Remove.
81615         [defined _LIBC]: Make a strong alias from obstack_free, rather than
81616         a clone of the function body.
81617         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
81618         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
81619
81620         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
81621         glibc.
81622         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
81623         arg to memcpy.
81624
81625         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
81626         (obstack_ptr_grow_fast, obstack_int_grow_fast):
81627         Don't use lvalue casts, as GCC plans to remove support for them
81628         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
81629         was also present in the non-GCC version, indicating that this
81630         code had always been buggy and had never been widely used.
81631         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
81632         Use the fast variant of each macro, rather than copying the
81633         definiens of the fast variant; that way, we'll be more likely to
81634         catch future bugs in the fast variants.
81635
81636 2003-10-20  Bruno Haible  <bruno@clisp.org>
81637
81638         * modules/wait-process: New file.
81639         * MODULES.html.sh (func_all_modules): Add wait-process.
81640
81641 2003-10-20  Bruno Haible  <bruno@clisp.org>
81642
81643         * m4/wait-process.m4: New file.
81644
81645 2003-10-20  Bruno Haible  <bruno@clisp.org>
81646
81647         * lib/wait-process.h: New file, from GNU gettext.
81648         * lib/wait-process.c: New file, from GNU gettext.
81649
81650 2003-10-19  Jim Meyering  <jim@meyering.net>
81651
81652         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
81653         HPUX 10.20.
81654
81655 2003-10-18  Karl Berry  <karl@gnu.org>
81656
81657         * config/config.guess: update from config.
81658
81659 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81660
81661         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
81662         (getgroups): First arg is int, not size_t.
81663         Don't let 'free' mangle errno.
81664
81665 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81666
81667         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
81668
81669 2003-10-16  Karl Berry  <karl@gnu.org>
81670
81671         * config/config.{guess,sub}: update from config.
81672
81673 2003-10-16  Jim Meyering  <jim@meyering.net>
81674
81675         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
81676         memcpy.
81677
81678 2003-10-15  Paul Eggert  <eggert@twinsun.com>
81679
81680         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
81681         (SIZE_MAX): Remove.
81682         (new_exclude, add_exclude_file): Initial size no longer needs to
81683         be a power of 2.
81684         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
81685         our own address arithmetic overflow checking.
81686
81687         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
81688         (fnmatch): Do not alloca more than 2000 wide characters;
81689         instead, use malloc for large buffers.
81690         Check for address arithmetic overflow, and return -1
81691         with errno set to ENOMEM in that case.
81692         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
81693         (NEW_PATTERN): Do not alloca more than 8000 bytes;
81694         instead, return -1.  Check for address arithmetic overflow.
81695
81696 2003-10-14  Paul Eggert  <eggert@twinsun.com>
81697
81698         Handle invalid suffixes and overflow independently, so that
81699         callers can treat them independently as needed.  Fix some bugs in
81700         suffix handling, e.g., "100k@" was not diagnosed as an invalid
81701         suffix for a human-readable blocksize.  The major caller-visible
81702         change is the addition of a new
81703         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
81704         that both overflow and suffix chars were found.
81705
81706         * lib/human.c (humblock): Don't check separately for invalid suffix
81707         char; that is xstrtoumax's job (now that its bug is fixed).
81708         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
81709         INTMAX_MAX]: New macros.
81710         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
81711         TYPE_MAXIMUM): New macros.
81712         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
81713         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
81714         if overflow occurs, as it's what __strtol does and it's more useful
81715         in practice.
81716         (__xstrtol): If __strtol reports some error other than ERANGE,
81717         reflect it to the caller as LONGINT_INVALID.  If it reports
81718         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
81719         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
81720         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
81721         value.
81722         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
81723         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
81724         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
81725         [defined UINTMAX_MAX]: New macros.
81726
81727 2003-10-14  Bruno Haible  <bruno@clisp.org>
81728
81729         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
81730
81731 2003-10-14  Bruno Haible  <bruno@clisp.org>
81732
81733         * m4/sig_atomic_t: New file, from GNU gettext.
81734         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
81735
81736 2003-10-14  Bruno Haible  <bruno@clisp.org>
81737
81738         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
81739         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
81740         Also use volatile where needed.
81741
81742 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81743
81744         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
81745         Change maintainer from Bruno Haible to 'all'.
81746
81747 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81748
81749         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
81750
81751 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81752
81753         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
81754         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
81755         and define in terms of the other primitives.
81756         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
81757         (SIZE_MAX): Define if not already defined.
81758         (array_size_overflow): New function.
81759         (xalloc_die): Abort instead of exiting if 'error' returns.
81760         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
81761         (xmalloc, xrealloc): Use them.
81762         (xcalloc): Check for address arithmetic overflow.
81763         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
81764         a bit faster than strcpy.
81765
81766 2003-10-10  Simon Josefsson  <jas@extundo.com>
81767
81768         * modules/argp (Depends-on): Add restrict and strcase.
81769
81770 2003-10-10  Simon Josefsson  <jas@extundo.com>
81771
81772         * m4/argp.m4: Add AC_C_INLINE.
81773
81774 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81775
81776         Merge getpass from libc, plus a few fixes.
81777
81778         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
81779         Include <stdbool.h>.
81780         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
81781         __fsetlocking to empty.
81782         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
81783         do include <bits/libc-lock.h>.
81784         Do not include <fcntl.h>; not needed.
81785         [_LIBC]: Include <wchar.h>.
81786         (NOTCANCEL_MODE): New macro.
81787         (flockfile, funlockfile) [_LIBC]: New macros.
81788         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
81789         [!_LIBC]: New macros.
81790         (call_fclose): New function.
81791         (getpass): Use it.  Save tty stream separately; this simplifies the
81792         code and makes it more reliable if stdin happens to equal stdout.
81793         Invoke __fsetlocking on tty.
81794         Handle thread cancellation if needed.
81795         Namespace cleanup (use __tcgetattr, __getline).
81796         Use bool for Booleans.
81797         [USE_IN_LIBIO]: Handle wide streams.
81798         [!_LIBC]: Unconditionally do the fseek, since we don't know what
81799         stream might go where.
81800
81801         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
81802         doesn't have to include <stdio.h> before us.
81803         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
81804         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
81805         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
81806         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
81807         if not declared, so that we can use getpass.c code from libc without
81808         rewriting it.
81809         (flockfile, ftrylockfile, funlockfile): New macros.
81810
81811 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81812
81813         * modules/getpass: Depend on stdbool.
81814
81815 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81816
81817         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
81818
81819 2003-10-07  Karl Berry  <karl@gnu.org>
81820
81821         * config/config.{guess,sub}: update from config.
81822
81823 2003-10-06  Jim Meyering  <jim@meyering.net>
81824             Bruno Haible  <bruno@clisp.org>
81825
81826         This lets translators provide better translations for the
81827         "Written by ..." part of --version output.
81828         * lib/version-etc.h: Include stdarg.h.
81829         (version_etc_copyright): Declare as readonly.
81830         (version_etc): Make this function variadic with a NULL-terminated list
81831         of author name strings.
81832         (version_etc_va): New declaration.
81833         * lib/version-etc.c: Include stdarg.h, stdlib.h.
81834         (version_etc_copyright): Declare as readonly.
81835         (version_etc_va): New function. Provide a different translatable string
81836         for each possible number of authors < 10. Abbreviate when there are 10
81837         authors or more.
81838         (version_etc): Make this function variadic. Call version_etc_va.
81839         Suggestion from Gary V. Vaughan.
81840
81841         * lib/long-options.h (parse_long_options): Change prototype: the
81842         authors string is moved to the end and becomes variadic.
81843         * lib/long-options.c: Include stdarg.h.
81844         (parse_long_options): Make this function variadic, too.
81845         Call version_etc_va, not version_etc.
81846
81847 2003-10-06  Bruno Haible  <bruno@clisp.org>
81848
81849         * modules/version-etc-2: Remove file.
81850         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81851
81852 2003-10-06  Bruno Haible  <bruno@clisp.org>
81853
81854         * modules/fatal-signal: New file.
81855         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81856
81857 2003-10-06  Bruno Haible  <bruno@clisp.org>
81858
81859         * m4/fatal-signal.m4: New file.
81860         * m4/signalblocking.m4: New file, from GNU gettext.
81861
81862 2003-10-06  Bruno Haible  <bruno@clisp.org>
81863
81864         * lib/version-etc-2.h: Remove file.
81865         * lib/version-etc-2.c: Remove file.
81866
81867 2003-10-06  Bruno Haible  <bruno@clisp.org>
81868
81869         * lib/fatal-signal.h: New file, from GNU gettext.
81870         * lib/fatal-signal.c: New file, from GNU gettext.
81871
81872 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81873
81874         * README: Rework advice for preventing empty .o files.
81875         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81876         not <sys/types.h>.
81877
81878 2003-10-04  Karl Berry  <karl@gnu.org>
81879
81880         * lib/argp*: update from libc.
81881
81882 2003-10-04  Karl Berry  <karl@gnu.org>
81883
81884         * config/config.{guess,sub}: update from config.
81885
81886 2003-10-02  Bruno Haible  <bruno@clisp.org>
81887
81888         * modules/lchown (Include): Add lchown.h.
81889         * modules/time_r (Include): Use "..." syntax.
81890         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81891
81892 2003-10-01  Simon Josefsson  <jas@extundo.com>
81893
81894         * MODULES.html.sh (func_all_modules): Move gethostname from section
81895         'based on' to section 'lacking' POSIX:2001.
81896
81897 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81898
81899         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81900         to output mode on the same stream.
81901
81902 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81903
81904         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81905         Fix arg typo in previous patch.
81906
81907 2003-09-28  Jim Meyering  <jim@meyering.net>
81908
81909         * lib/error.c: Correct cpp indentation.
81910
81911 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81912
81913         * modules/free: New file.
81914
81915 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81916
81917         * m4/free.m4: New file.
81918
81919 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81920
81921         * lib/minmax.h (MIN, MAX)
81922         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81923         Omit the special code that used __typeof__, since we worry that
81924         it could be more trouble than it's worth.  See:
81925         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81926         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81927
81928         * lib/free.c: New file.
81929
81930 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81931
81932         Trivial fixes to Makefile.am parts of module listings.
81933         * modules/strstr: Append strstr.h to lib_SOURCES.
81934         * modules/strcase: Likewise, for strcase.h.
81935
81936 2003-09-27  Karl Berry  <karl@gnu.org>
81937
81938         * config/mkinstalldirs: update from automake.
81939
81940 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81941
81942         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81943         (error_tail): Do not loop, reallocating temporary buffer, since
81944         the output cannot contain more wide characters than the input
81945         contains bytes, the size must be big enough already.  This avoids
81946         one potential size overflow calculation.  Check for size overflow
81947         when calculating temporary buffer size.  Free temporary buffer
81948         when done, if it was allocated with malloc; this plugs a memory
81949         leak.  Remove casts from void * to pointers, that are no longer
81950         needed now that we're assuming C89 or better.
81951
81952         Merge error changes from glibc.
81953
81954         * lib/error.c, error.h: Update copyright notice header to match glibc.
81955         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81956         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81957         Disable cancellation while printing error.
81958         * lib/error.h: Prepend __ to parameter names.
81959
81960 2003-09-26  Jim Meyering  <jim@meyering.net>
81961
81962         * lib/error.c (error_tail): Move some declarations
81963         into inner scope where the local variables are used.
81964
81965 2003-09-26  Bruno Haible  <bruno@clisp.org>
81966
81967         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81968         stpncpy().
81969         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81970
81971 2003-09-26  Bruno Haible  <bruno@clisp.org>
81972
81973         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81974         (stpncpy): Define as alias for gnu_stpncpy.
81975         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81976
81977 2003-09-25  Simon Josefsson  <jas@extundo.com>
81978
81979         * lib/xgetdomainname.h: New file.
81980         * lib/xgetdomainname.c: New file.
81981
81982 2003-09-25  Simon Josefsson  <jas@extundo.com>
81983             Bruno Haible  <bruno@clisp.org>
81984
81985         * modules/getdomainname: New file.
81986         * modules/xgetdomainname: New file.
81987         * MODULES.html.sh (func_all_modules): Add getdomainname,
81988         xgetdomainname.
81989
81990 2003-09-25  Simon Josefsson  <jas@extundo.com>
81991             Bruno Haible  <bruno@clisp.org>
81992
81993         * m4/getdomainname.m4: New file.
81994
81995 2003-09-25  Simon Josefsson  <jas@extundo.com>
81996             Bruno Haible  <bruno@clisp.org>
81997
81998         * lib/getdomainname.h: New file.
81999         * lib/getdomainname.c: New file.
82000
82001 2003-09-25  Karl Berry  <karl@gnu.org>
82002
82003         * lib/argp-fmtstream.c, argp-help.c: update from libc.
82004
82005 2003-09-25  Karl Berry  <karl@gnu.org>
82006
82007         * config/install-sh: update from automake.
82008
82009 2003-09-25  Bruno Haible  <bruno@clisp.org>
82010
82011         * modules/version-etc-2: New file, from modules/version-etc with
82012         modifications.
82013         * MODULES.html.sh (func_all_modules): Add version-etc-2.
82014
82015 2003-09-25  Bruno Haible  <bruno@clisp.org>
82016
82017         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
82018         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
82019
82020 2003-09-24  Simon Josefsson  <jas@extundo.com>
82021
82022         * modules/xgethostname: Add xgethostname.h.
82023
82024 2003-09-24  Paul Eggert  <eggert@twinsun.com>
82025
82026         * lib/linebuffer.c (freebuffer): Don't free the argument, just
82027         the buffer associated with the argument.  Bug reported by
82028         Simon Josefsson.
82029
82030 2003-09-24  Paul Eggert  <eggert@twinsun.com>
82031
82032         * README: Document assumptions that 'int' is at least 32 bits
82033         wide, that integer arithmetic is 2's complement without overflow,
82034         that there are no holes in integer values, that adding sizes of
82035         two nonoverlapping objects can't overflow, and that all-bits-zero
82036         yields scalar zero.  Fix spelling and capitalization typos.
82037
82038 2003-09-19  Karl Berry  <karl@gnu.org>
82039
82040         * lib/argp.h: update from libc.
82041
82042 2003-09-17  Paul Eggert  <eggert@twinsun.com>
82043
82044         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
82045         to avoid spurious warnings like "AC_RUN_IFELSE was called before
82046         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
82047
82048 2003-09-17  Paul Eggert  <eggert@twinsun.com>
82049
82050         * gnulib-tool: Use "test -h", not "test -L", for portability
82051         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
82052         (tags_regexp): Remove, since \| doesn't conform to POSIX.
82053         (sed_extract_prog): Issue s commands one-by-one, rather than
82054         using \| in one s command.
82055
82056 2003-09-16  Paul Eggert  <eggert@twinsun.com>
82057
82058         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
82059         input error, instead of returning NULL the next time we are called
82060         (and therefore losing track of errno).
82061
82062 2003-09-16  Bruno Haible  <bruno@clisp.org>
82063
82064         * gnulib-tool (func_create_testdir): Warn about duplicated
82065         dependencies.
82066
82067 2003-09-15  Paul Eggert  <eggert@twinsun.com>
82068
82069         * modules/argmatch, modules/fatal, modules/obstack,
82070         modules/xalloc, modules/xgethostname: Sort dependencies by
82071         importance, not alphabetically.
82072
82073 2003-09-15  Paul Eggert  <eggert@twinsun.com>
82074
82075         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
82076         fails, so that the caller gets the proper errno.
82077
82078         * lib/readutmp.c (read_utmp): Likewise.
82079         Check for fstat error.  Close stream and free storage
82080         when failing.
82081
82082 2003-09-14  Karl Berry  <karl@gnu.org>
82083
82084         * config/srclist.txt (strdup.c): disable for c89 changes.
82085
82086 2003-09-14  Jim Meyering  <jim@meyering.net>
82087
82088         * lib/getloadavg.c: Correct cpp indentation.
82089         * lib/strdup.c: Likewise.
82090         * lib/vasnprintf.c: Likewise.
82091
82092 2003-09-14  Bruno Haible  <bruno@clisp.org>
82093
82094         * modules/fwriteerror: New file.
82095         * MODULES.html.sh (func_all_modules): Add fwriteerror.
82096
82097 2003-09-14  Bruno Haible  <bruno@clisp.org>
82098
82099         * lib/fwriteerror.h: New file.
82100         * lib/fwriteerror.c: New file.
82101
82102 2003-09-12  Paul Eggert  <eggert@twinsun.com>
82103
82104         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
82105         modules/xgethostname, modules/xalloc: Depend on exit.
82106
82107 2003-09-12  Paul Eggert  <eggert@twinsun.com>
82108
82109         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
82110
82111         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
82112         and AC_MINIX, too, so that their extensions are available.
82113
82114         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
82115         This macro has been superseded by gl_BACKUPFILE.
82116
82117         More patches to assume C89 or better.
82118
82119         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
82120
82121         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
82122         unconditionally.
82123         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
82124         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
82125         Include <string.h>, <stdlib.h> unconditionally.
82126         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
82127         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
82128         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
82129         headers or for string.h.
82130         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
82131         or strtoul.
82132
82133         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
82134         headers.
82135         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
82136         * m4/userspec.m4 (gl_USERSPEC): Likewise.
82137         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
82138         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
82139         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
82140         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
82141         memcpy, memset.
82142         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
82143         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
82144         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
82145         strtol.
82146         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
82147         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
82148         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
82149         strtoul.
82150
82151 2003-09-12  Paul Eggert  <eggert@twinsun.com>
82152
82153         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
82154         * lib/obstack.c [!defined _LIBC]: Likewise.
82155         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
82156         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
82157         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
82158
82159         More changes to assume C89 or better.
82160
82161         * lib/error.c (error_tail): Assume vprintf.
82162
82163         * lib/argmatch.c (getenv): Remove decl.
82164         * lib/progreloc.c (get_full_program_name): Define via prototype.
82165         * lib/setenv.c (clearenv): Likewise.
82166         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
82167         needed.
82168         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
82169         (malloc, memcpy): Remove decls.
82170         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
82171         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
82172         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
82173         (memcpy): Remove macro.
82174         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
82175         (__P): Remove.  All uses removed.
82176         (PTR): Remove.  All uses changed to void *.
82177         (CHAR_BIT, NULL): Remove.
82178         (spaces, zeros, memset_space, memset_zero)
82179         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
82180         Remove.
82181         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
82182         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
82183         Define with prototype.
82184         Remove now-unnecessary prototype decl.
82185         (extra_args_spec): Assume ANSI C.  All uses changed.
82186         (extra_args_spec_iso): Remove.
82187         (my_strftime, emacs_strftimeu): Define via prototype.
82188         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
82189         unconditionally.
82190         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
82191         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
82192         (strtoul, strtol): Remove decls.
82193         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
82194         LONG_MAX): Remove.
82195         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
82196         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
82197         (LOCALE_PARAM_PROTO): New macro.
82198         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
82199         (INTERNAL (strtol), strtol): Define with a prototype.
82200         (PARAMS): Remove.  All uses removed.
82201         * lib/tempname.c: Include <string.h> unconditionally.
82202         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
82203         * lib/xgethostname.c (main): Define with a prototype.
82204         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
82205         Include <stdlib.h> unconditionally.
82206         (calloc, malloc, realloc, free): Remove decls.
82207         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
82208         Include <stdlib.h> unconditionally.  Sort include file names.
82209         (strtod): Remove.
82210         (xstrtod): Define with a prototype.
82211         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
82212         (strtol, strtoul): Remove decls.
82213
82214 2003-09-11  Paul Eggert  <eggert@twinsun.com>
82215
82216         More patches to assume C89 or better.
82217         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
82218         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
82219         string.h, memchr, STDC_HEADERS.
82220
82221 2003-09-11  Paul Eggert  <eggert@twinsun.com>
82222
82223         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
82224         Include <stdlib.h>, <string.h> unconditionally.
82225         Remove now-unnecessary cast to char *.
82226         * lib/strnlen.c: Include <string.h> unconditionally.
82227         * lib/yesno.c (yesno): Define with a prototype.
82228
82229 2003-09-11  Bruno Haible  <bruno@clisp.org>
82230
82231         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
82232
82233 2003-09-10  Jim Meyering  <jim@meyering.net>
82234
82235         * lib/error.c: Correct indentation of cpp directives.
82236
82237 2003-09-10  Bruno Haible  <bruno@clisp.org>
82238
82239         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
82240         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
82241         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
82242         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
82243         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
82244         <stdlib.h> and <string.h> checks.
82245         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
82246         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
82247
82248 2003-09-10  Bruno Haible  <bruno@clisp.org>
82249
82250         * lib/strcspn.c: Include <string.h> unconditionally.
82251         * lib/strpbrk.c: Include <string.h> unconditionally.
82252         * lib/strstr.c: Include <string.h> unconditionally.
82253         * lib/unicodeio.c: Include <string.h> unconditionally.
82254         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
82255         * lib/unsetenv.c: Likewise.
82256         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
82257         * lib/yesno.c: Include <stdlib.h> unconditionally.
82258         (rpmatch): Add prototype.
82259
82260 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82261
82262         More patches to assume C89 or better.
82263         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
82264         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
82265         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
82266         or for string.h.
82267         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
82268         stdlib.h.
82269         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
82270         C headers.
82271         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
82272         string.h.
82273         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
82274         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
82275         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
82276         or for string.h.
82277         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
82278         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
82279         C headers.
82280         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
82281         memcpy.
82282         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
82283         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
82284         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
82285         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
82286         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
82287         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
82288         string.h, free.
82289         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
82290         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
82291         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
82292         C headers, or for string.h.
82293         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
82294         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
82295         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
82296         headers, memory.h, stdlib.h, string.h, strings.h.
82297         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
82298         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
82299         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
82300         strchr.
82301         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
82302         headers, memory.h, string.h.
82303         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
82304         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
82305         free.
82306         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
82307         headers.
82308         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
82309         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
82310         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
82311         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
82312         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
82313
82314 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82315
82316         More K&R removal.
82317
82318         * lib/acosl.c (main): Use a prototype.
82319         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
82320         tanl.c: Likewise.
82321
82322         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
82323
82324         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
82325         (getopt, etopt_long, getopt_long_only, _getopt_internal)
82326         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
82327         with a prototype.
82328         * lib/getopt.c (const): Remove macro.
82329         Include <string.h> unconditionally.
82330         (my_index): Remove; all uses changed to strchr.
82331         (strlen): Remove decl.
82332         (exchange): Remove forward decl; no longer needed.
82333         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
82334         Define with prototype.
82335         * lib/getopt1.c (const): Remove macro.
82336         (getopt_long, getopt_long_only, main): Define with prototype.
82337
82338         * lib/getugroups.c: Include <string.h> unconditionally.
82339
82340         * lib/getusershell.c: Include <stdlib.h> unconditionally.
82341         (getusershell, setusershell, endusershell, readname, main):
82342         Define with prototypes.
82343
82344         * lib/group-member.c: Include group-member.h first.
82345         Include <stdlib.h> unconditionally.
82346
82347         * lib/hard-locale.c: Include hard-locale.h first.
82348         Include <stdlib.h>, <string.h> unconditionally.
82349
82350         * lib/hash.c (free, malloc): Remove decls.
82351         Include <stdlib.h> unconditionally.
82352
82353         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
82354         (getenv): Do not declare.
82355
82356         * lib/idcache.c: Include <string.h> unconditionally.
82357
82358         * lib/long-options.c: Include long-options.h first, to test interface.
82359         Include <stdlib.h> unconditionally.
82360
82361         * lib/makepath.c: Include makepath.h first, to test interface.
82362         Include <stdlib.h> and <string.h> unconditionally.
82363
82364         * lib/linebuffer.c: Include <stdlib.h>.
82365         (free): Remove decl.
82366
82367         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
82368         stddef.h. rpl_malloc returns void *, not char *.
82369         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
82370         prototype.
82371
82372         * lib/md5.h: Include <limits.h> unconditionally.
82373         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
82374         (__P): Remove; all uses removed.
82375         * lib/md5.c: Include "md5.h" first.
82376         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
82377         md5_buffer, md5_process_bytes, md5_process_block):
82378         Define with prototypes.
82379         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
82380         * lib/sha.c: Include "sha.h" first.
82381         Include <stdlib.h>, <string.h> unconditionally.
82382
82383         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
82384         * lib/memcmp.c (__ptr_t): Likewise.
82385         * lib/memrchr.c (__ptr_t): Likewise.
82386         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
82387         Include <string.h> unconditionally.
82388         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
82389         * lib/memchr.c: Include <stdlib.h> unconditionally.
82390         * lib/memchr.c (LONG_MAX): Remove.
82391         * lib/memrchr.c (LONG_MAX): Likewise.
82392         * lib/memchr.c (__memchr): Define via a prototype.
82393         * lib/memrchr.c (__memrchr): Likewise.
82394         * lib/memcmp.c (__P): Remove, and remove all uses.
82395         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
82396         Remove forward decls; no longer needed.
82397         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
82398         Use types required by C89 in prototype.
82399
82400         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
82401         * lib/savedir.c: Likewise.
82402         * lib/mkdir.c (free): Remove decl.
82403         * lib/rmdir.c (rmdir): Define with a prototype.
82404         * lib/savedir.c: Include savedir.h first, to test interface.
82405
82406         * lib/mktime.c (STDC_HEADERS): Remove.
82407         Include <stdlib.h>, <string.h> unconditionally.
82408
82409         * lib/modechange.c: Include <stdlib.h> unconditionally.
82410         (malloc): Remove decl.
82411
82412         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
82413         (free): Remove decl.
82414
82415         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
82416         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
82417         (This type really should be intptr_t, but that's a C99ism.)
82418         (_obstack_memcpy): Remove: all uses changed to memcpy.
82419         Include <string.h> unconditionally.
82420         (struct obstack): Assume __STDC__ for types of members
82421         chunkfun, freefun, extra_arg.
82422         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
82423         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
82424         obstack_begin, obstack_specify_allocation,
82425         obstack_specify_allocation_with_arg, obstack_chunkfun,
82426         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
82427         Remove unprototyped decls and the macros that use them.
82428         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
82429         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
82430         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
82431         (defined __STDC__ && __STDC__)]:
82432         Remove nonprototyped code.
82433         Include <stdlib.h> unconditionally.
82434         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
82435         _obstack_allocated_p, _obstack_free, obstack_free,
82436         _obstack_memory_used, print_and_abort):
82437         Define using prototypes.
82438         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
82439         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
82440         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
82441         obstack_next_free, obstack_object_size, obstack_room) [0]:
82442         Remove unused, unprototyped code.
82443
82444         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
82445
82446         * lib/physmem.c (physmem_total, physmem_available, main): Define
82447         with prototypes.
82448
82449         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
82450         (main): Define with a prototype.
82451
82452         * lib/posixver.c (getenv): Remove decl.
82453
82454         * lib/putenv.c (malloc): Returns void *, not char *.
82455         Include <string.h> unconditionally.
82456         (strchr, memcpy, NULL): Do not define.
82457
82458         * lib/readtokens.c: Include readtokens.h first, to test interface.
82459         Include <stdlib.h>, <string.h> unconditionally.
82460         (init_tokenbuffer): Define with a prototype.
82461
82462         * lib/regex.c (PARAMS): Remove.  All uses removed.
82463         All uses of _RE_ARGS removed, too.
82464         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82465         unconditionally.
82466         (bzero): Assume memset exists.
82467         (memcmp, memcpy, NULL): Remove.
82468         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
82469         char, or assignments to local vars of type signed char.
82470         (init_syntax_once, PREFIX(extract_number_and_incr),
82471         PREFIX(print_partial_compiled_pattern),
82472         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
82473         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
82474         PREFIX(regex_grow_registers), PREFIX(regex_compile),
82475         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
82476         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
82477         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
82478         wcs_compile_range, byte_compile_range, truncate_wchar,
82479         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
82480         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
82481         count_mbs_length, wcs_re_match_2_internal,
82482         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
82483         PREFIX(alt_match_null_string_p),
82484         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
82485         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
82486         regfree, PREFIX(extract_number)): Define with prototype.  Remove
82487         now-unnecessary declaration, if any.
82488         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
82489         regcomp, regexec):
82490         Remove now-unnecessary casts among pointer types.
82491         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
82492
82493         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
82494         (free): Remove decl.
82495
82496         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
82497
82498         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
82499         (free): Remove decl.
82500
82501         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
82502         * lib/xgetcwd.c: Likewise.
82503
82504         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
82505         (free): Remove decl.
82506
82507         * lib/strchrnul.c (strchrnul): Define with a prototype.
82508         Fix bug: c_in was not converted to char before searching.
82509
82510         The following changes are not K&R related:
82511
82512         * lib/group-member.h: Include <sys/types.h>, so that this file is
82513         self-contained.
82514         * lib/makepath.h: Likewise.
82515
82516         * lib/getusershell.c (readname, default_index, line_size, readname):
82517         Use size_t, not int, for sizes.
82518         (readname): If the size overflows, report an error instead of
82519         looping forever.
82520
82521 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82522
82523         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
82524         libc.
82525
82526 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82527
82528         * README: New section: portability guidelines.
82529
82530 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
82531
82532         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
82533         C89 spec.
82534
82535 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
82536
82537         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
82538
82539 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82540
82541         Assume C89 or better; remove K&R cruft.
82542         A few of these changes were first proposed by Derek Robert Price
82543         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
82544
82545         * lib/addext.c: Include <string.h> unconditionally.
82546         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
82547         Don't declare getenv or malloc.
82548
82549         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
82550         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
82551         (NULL): Remove.
82552         (find_stack_direction, alloca): Use prototypes.
82553
82554         * lib/atexit.c (atexit): Define using a prototype.
82555
82556         * lib/basename.c, dirname.c, stripslash.c:
82557         Include <string.h> unconditionally.
82558
82559         * lib/bcopy.c: Include <stddef.h>.
82560         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
82561
82562         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
82563
82564         * lib/error.h (error, error_at_line, error_print_progname)
82565         [! (defined (__STDC__) && __STDC__)]: Remove decls.
82566         * lib/error.c: Include error.h first, to check interface.
82567         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
82568         (VA_START): Remove; all uses changeed to va_start.
82569         (exit, strerror): Remove decls.
82570         (error_print_progname): Prototype uncondionally.
82571         Don't include <errno.h>; no longer needed.
82572         (private_strerror): Remove.
82573         (error_tail): Always define.
82574         (error, error_at_line): Assume C89 or better; always use prototypes.
82575         * lib/fatal.c: Include "fatal.h" first, to test interface.
82576         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
82577         (VA_START): Remove; all uses changed to va_start.
82578         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
82579         this case.
82580         (exit): Remove decl.
82581         (fatal): Prototype unconditionally.  Assume va_start works.
82582         Abort at end, to pacify gcc.
82583
82584         * lib/euidaccess.c (main): Define with a prototype.
82585
82586         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
82587
82588         * lib/exitfail.c: Include <stdlib.h> unconditionally.
82589
82590         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
82591         prototypes.
82592         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
82593         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
82594         (getenv): Remove decl.
82595         (fnmatch): Define using a prototype.
82596         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
82597         (FCT): Define using a prototype.
82598
82599         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
82600
82601         * lib/gethostname.c: Include <stddef.h>.
82602         (gethostname): Define with prototype.  Length is size_t, not int.
82603
82604 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82605
82606         Assume C89 or better; remove K&R cruft.
82607         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
82608         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
82609         string.h, getenv, malloc.
82610         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
82611         headers.
82612         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
82613         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
82614         do not check for strerror.
82615         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
82616         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
82617         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
82618         do not check for doprnt or vprintf.
82619         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
82620         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
82621
82622 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82623
82624         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
82625         getversion.c should have been removed then, but was accidentally
82626         preserved.
82627
82628         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
82629         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
82630
82631 2003-09-08  Karl Berry  <karl@gnu.org>
82632
82633         * config/config.sub, config.guess, srclistvars.sh: update from savannah
82634                 config, forget about prep.
82635
82636         * config/depcomp, missing: update from automake.
82637
82638 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82639
82640         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
82641         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82642
82643 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82644
82645         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
82646         copy_tm_result.  Bug reported by Simon Josefsson in
82647         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82648
82649 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82650
82651         * m4/time_r.m4: New file.
82652         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
82653         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
82654         is. Check for timegm declaration.
82655         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
82656         Do not check for gmtime_r.
82657         Replace mktime if __mktime_internal does not exist and if mktime
82658         hasn't been replaced already.
82659
82660 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82661
82662         * lib/time_r.c, lib/time_r.h: New files.
82663
82664         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
82665         __localtime_r.
82666         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
82667         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
82668
82669         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
82670         __gmtime_r.
82671         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
82672         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
82673         Include <time_r.h>.
82674
82675         * lib/timegm.c: Switch to glibc implementation, with the following
82676         changes:
82677         [defined HAVE_CONFIG_H]: Include <config.h>.
82678         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
82679         (__mktime_internal) [!defined _LIBC]: New decl.
82680         (__gmtime_r) [!defined _LIBC]: New macro and function.
82681         (timegm): Use a prototype, since gnulib assumes C89.
82682         Do not bother declaring tmp to be const, as it's not really usefu.
82683         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
82684         (timegm): Declare only if HAVE_DECL_TIMEGM.
82685
82686 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82687
82688         * MODULES.html.sh (func_all_modules): Add time_r.
82689         * modules/time_r: New file.
82690         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
82691         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
82692
82693 2003-09-03  Paul Eggert  <eggert@twinsun.com>
82694
82695         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
82696         Bug reported by Lute Kamstra in
82697         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
82698
82699         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
82700         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
82701         course with correspondingly smaller numbers for tomorrow and
82702         yesterday.  From Tadayoshi Funaba.  Originally installed into
82703         sh-utils on 1999-08-07, but the patch got lost (I guess during the
82704         coreutils merge?).
82705
82706 2003-08-31  Simon Josefsson  <jas@extundo.com>
82707
82708         * modules/timegm: New file.
82709         * MODULES.html.sh (func_all_modules): Add timegm.
82710
82711 2003-08-31  Simon Josefsson  <jas@extundo.com>
82712
82713         * m4/timegm.m4: New file.
82714
82715 2003-08-31  Simon Josefsson  <jas@extundo.com>
82716
82717         * lib/timegm.h: New file.
82718         * lib/timegm.c: New file.  Based on
82719         wget-1.8.2/src/http.c:mktime_from_utc.
82720
82721 2003-08-31  Karl Berry  <karl@gnu.org>
82722
82723         * lib/argp.h: update from libc.
82724
82725 2003-08-28  Bruno Haible  <bruno@clisp.org>
82726
82727         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
82728         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
82729         followed by '#define fnmatch fnmatch_posix' gives an error.
82730
82731 2003-08-28  Bruno Haible  <bruno@clisp.org>
82732
82733         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
82734         warning on QNX, which defines O_BINARY to 000000.
82735
82736 2003-08-27  Jim Meyering  <jim@meyering.net>
82737
82738         * m4/mkstemp.m4: Require that the system mkstemp be able to create
82739         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
82740         would fail after 32.  Reported by Danny Levinson.  Details here:
82741         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
82742
82743 2003-08-24  Bruno Haible  <bruno@clisp.org>
82744
82745         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
82746         MSVC7 <stdio.h> is included later.
82747
82748 2003-08-22  Simon Josefsson  <jas@extundo.com>
82749
82750         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
82751
82752 2003-08-20  Karl Berry  <karl@gnu.org>
82753
82754         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
82755
82756 2003-08-20  Bruno Haible  <bruno@clisp.org>
82757
82758         * modules/progname: New file.
82759         * MODULES.html.sh (func_all_modules): Add progname.
82760
82761 2003-08-20  Bruno Haible  <bruno@clisp.org>
82762
82763         * lib/progname.h: New file, from GNU gettext.
82764         * lib/progname.c: New file, from GNU gettext.
82765         * lib/progreloc.c: New file, from GNU gettext.
82766
82767 2003-08-19  Jim Meyering  <jim@meyering.net>
82768
82769         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
82770         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
82771
82772 2003-08-19  Bruno Haible  <bruno@clisp.org>
82773
82774         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
82775         more.
82776
82777 2003-08-19  Bruno Haible  <bruno@clisp.org>
82778
82779         * lib/xstrdup.c: Assume <string.h> exists.
82780
82781 2003-08-18  Paul Eggert  <eggert@twinsun.com>
82782
82783         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
82784         in makefile rules.
82785
82786 2003-08-18  Jim Meyering  <jim@meyering.net>
82787
82788         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
82789         * m4/lib-ld.m4: Likewise.
82790
82791 2003-08-18  Jim Meyering  <jim@meyering.net>
82792
82793         * lib/setenv.h: Indent nested cpp directive.
82794         * lib/vasnprintf.c: Remove trailing blanks.
82795
82796 2003-08-17  Simon Josefsson  <jas@extundo.com>
82797
82798         * modules/xstrndup: New file.
82799         * MODULES.html.sh (func_all_modules): Add xstrndup.
82800
82801 2003-08-17  Simon Josefsson  <jas@extundo.com>
82802
82803         * modules/argp: Fix autoconf macro name. Add more dependencies.
82804
82805 2003-08-17  Simon Josefsson  <jas@extundo.com>
82806
82807         * m4/xstrndup.m4: New file.
82808
82809 2003-08-17  Simon Josefsson  <jas@extundo.com>
82810
82811         * m4/argp.m4: New file.
82812
82813 2003-08-17  Simon Josefsson  <jas@extundo.com>
82814             Bruno Haible  <bruno@clisp.org>
82815
82816         * lib/xstrndup.h: New file.
82817         * lib/xstrndup.c: New file.
82818
82819 2003-08-17  Bruno Haible  <bruno@clisp.org>
82820
82821         * modules/strndup (Files, Include): Add lib/strndup.h.
82822
82823 2003-08-17  Bruno Haible  <bruno@clisp.org>
82824
82825         * modules/euidaccess (Files): Add lib/euidaccess.h.
82826
82827 2003-08-17  Bruno Haible  <bruno@clisp.org>
82828
82829         * lib/strndup.h: New file.
82830
82831 2003-08-17  Bruno Haible  <bruno@clisp.org>
82832
82833         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
82834         like AC_GNU_SOURCE.
82835         * modules/extensions (configure.ac): Comment out the invocation of
82836         gl_USE_SYSTEM_EXTENSIONS.
82837
82838 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82839
82840         Merges from coreutils, etc.
82841         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82842         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82843         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82844         fixing a typo.
82845         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82846         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82847
82848 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82849
82850         Document merge from coreutils.
82851         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82852         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82853         * modules/utime: Add m4/utimes-null.m4.
82854
82855 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82856
82857         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82858         space, undoing this 2003-08-12 change:
82859         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82860
82861 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82862
82863         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82864         strtoul.c from libc, undoing this 2003-08-12 change:
82865         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82866
82867 2003-08-16  Jim Meyering  <jim@meyering.net>
82868
82869         Merges from coreutils.
82870         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82871         prefix.  Adjust cache variables similarly.  Create 500 rather than
82872         just 300 files, to exercise bug on Darwin6.5, too.
82873         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82874         $missing_dir.
82875         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82876         AM_SYS_POSIX_TERMIOS.
82877         Reported by mkc@mathdogs.com.
82878         Also change use of $am_cv_sys_posix_termios
82879         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82880         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82881         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82882         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82883         in /proc/mounts until it finds one with matching device number.  This
82884         is unnecessary when the FILE argument *is* a mount point.  No stat call
82885         is necessary in that case.  So, disable the statvfs-testing code on
82886         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82887         as RedHat bug# 84846.
82888         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82889         to 1MB, so as not to render systems with no stack size limit (e.g.,
82890         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82891         Include <unistd.h>.  On some systems,
82892         it is required for the definition of _SC_PAGESIZE.
82893
82894 2003-08-16  Jim Meyering  <jim@meyering.net>
82895
82896         Merge from coreutils.
82897         * lib/xstrtoimax.c: #else #if -> #elif.
82898         * lib/xstrtoumax.c: Likewise.
82899
82900 2003-08-16  Jim Meyering  <jim@meyering.net>
82901
82902         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82903         * m4/utimes.m4: Removed.
82904         * m4/utimes-null.m4: Renamed from utimes.m4.
82905
82906         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82907         to 1MB, so as not to render systems with no stack size limit (e.g.,
82908         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82909         Include <unistd.h>.  On some systems,
82910         it is required for the definition of _SC_PAGESIZE.
82911
82912 2003-08-16  Jim Meyering  <jim@meyering.net>
82913         and Paul Eggert  <eggert@cs.ucla.edu>
82914
82915         Merges from coreutils, etc.
82916
82917         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82918         using the latest version from cvs.  This avoids problems with #line
82919         directives using a vendor (Sun) compiler.
82920         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82921         Don't set GETGROUPS_LIB here; now it's
82922         done via getgroups.m4's wrapper function.
82923         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82924         rather than just in sh-util/configure.in, so that the
82925         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82926         same.
82927         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82928         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82929         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82930         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82931         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82932         Remove code that is now done by the newly-required macros.
82933         Append $(EXEEXT) to DF_PROG.
82934         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82935         Do not invoke or require the following here,
82936         since prereq.m4 or some gnulib .m4 now does this for us:
82937         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82938         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82939         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82940         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82941         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82942         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82943         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82944         AC_FUNC_OBSTACK.
82945         Do not replace the following functions, as this is now the job
82946         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82947         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82948         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82949         atexit getpass, strdup, getpagesize.
82950         Replace 'raise'.
82951         Do not check for the following functions, as this is now the job
82952         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82953         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82954         setregid.
82955         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82956         Check for sys/sysctl.h.
82957         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82958         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82959         of checking for ssize_t ourselves.
82960
82961         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82962         Require every macro that gnulib/modules/* suggests for us.
82963         (jm_PREREQ_ADDEXT): New macro.
82964         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82965         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82966
82967         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82968         (gl_PHYSMEM): Use it.
82969         Also check for `table' function.
82970         Check for new headers and functions.
82971         Add check for sys/sysmp.h.
82972         With suggestions from Kaveh Ghazi.
82973         Ignore headers that are present but cannot be compiled.  This
82974         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82975         C 5.4.
82976
82977 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82978
82979         Document merge from coreutils.
82980         * modules/userspec: Depend on posixver.
82981         * modules/strftime: Depend on tzset.
82982
82983 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82984
82985         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82986         rather than tab, after '#' in shell-script copyright notices.
82987         Suggested by Bruno Haible.
82988
82989 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82990
82991         * config/srclist-update: Use three spaces, rather than tab, after '#'
82992         in shell-script copyright notices.  Suggested by Bruno Haible.
82993         Remove unnecessary parenthesization in regular expression.
82994
82995 2003-08-15  Jim Meyering  <jim@meyering.net>
82996
82997         Merge from coreutils.
82998         * lib/xgethostname.c: Include <stdlib.h>.
82999         (xghostname): Don't exit for anything other than memory-related
83000         failure; just return NULL.
83001         * lib/userspec.c: Include "posixver.h".
83002         (parse_user_spec): Accept `.' as a separator only
83003         in pre-POSIX-200112 mode.
83004         * lib/strtoimax.c: Use #elif rather than #else #if.
83005         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
83006         Remove function, now that we can rely on a working tzset function.
83007         [!_LIBC]: Ensure that the required autoconf test has been run.
83008         [!defined _NL_CURRENT && HAVE_STRFTIME]:
83009         Use underlying_strftime for %r.
83010         * lib/sha.c: Merge in some clean-up and optimization changes from
83011         glibc.
83012         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
83013         Ensure that it is a multiple of 64.
83014         Rearrange loop exit tests so as to avoid performing an
83015         additional fread after encountering an error or EOF.
83016         * lib/realloc.c: Update copyright date.
83017
83018 2003-08-15  Jim Meyering  <jim@meyering.net>
83019         and Paul Eggert  <eggert@twinsun.com>
83020
83021         Merge from coreutils.
83022         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
83023         member but strut utmpx does not.  Needed for AIX 4.3.3.
83024         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
83025
83026 2003-08-15  Jim Meyering  <jim@meyering.net>
83027         and Paul Eggert  <eggert@cs.ucla.edu>
83028
83029         Merges from coreutils, etc.
83030         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
83031         Require gl_FUNC_TZSET_CLOBBER.
83032         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
83033         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
83034         members.
83035
83036 2003-08-14  Paul Eggert  <eggert@twinsun.com>
83037
83038         Help the merge from coreutils.
83039         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
83040         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
83041         * m4/tzset.m4: Use it too.
83042
83043 2003-08-14  Paul Eggert  <eggert@twinsun.com>
83044
83045         * modules/tzset: New file.
83046
83047 2003-08-14  Jim Meyering  <jim@meyering.net>
83048
83049         Merges from coreutils.
83050         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
83051         variable names, rather than @FNMATCH_H@.
83052         * modules/alloca: Likewise for $(ALLOCA_H).
83053
83054         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
83055         the three copies of the literal target, `fnmatch.h'.
83056         * modules/alloca (alloca.h): Likewise.
83057
83058 2003-08-14  Jim Meyering  <jim@meyering.net>
83059
83060         Merge from coreutils.
83061         * m4/tzset.m4: New file.
83062         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
83063         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
83064         otherwise, AIX 5.1 systems would end up using the latter.
83065         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
83066         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
83067         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
83068         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
83069
83070 2003-08-14  Jim Meyering  <jim@meyering.net>
83071
83072         Merge from coreutils.
83073         * lib/obstack.h: Whitespace changes.
83074         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
83075         and xcalloc return values.
83076         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
83077         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
83078         hang on OSF/1 5.1 for DIR on both local and remote file systems.
83079         Reported by (and fix confirmed by) Nelson H. F. Beebe.
83080         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83081         error from mntctl.
83082         Use mntctl's return value to drive the entry-processing loop, since
83083         we can't rely on the value of the vmt_length member in the last
83084         entry.  On some systems doing so could result in exhausting
83085         virtual memory.  Based in part on a patch from Mike Jetzer.
83086
83087 2003-08-14  Jim Meyering  <jim@meyering.net>
83088         and Paul Eggert  <eggert@twinsun.com>
83089
83090         Merges from coreutils, plus other fixes.
83091         * lib/physmem.c: Merge in portability changes from gcc/libiberty
83092         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
83093         for credits and details.  Thanks to Kaveh Ghazi for helping
83094         to keep these files in sync.
83095         (ARRAY_SIZE): Define it.
83096         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
83097         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
83098         (memcasecmp): Don't assume size_t fits in unsigned int.
83099         Remove casts and duplicate code.
83100         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
83101         (memcpy): Remove definition.
83102         Merge in some clean-up and optimization changes from glibc.
83103         [BLOCKSIZE]: Move definition to top of file.
83104         Ensure that it is a multiple of 64.
83105         Rearrange loop exit tests so as to avoid performing an
83106         additional fread after encountering an error or EOF.
83107         * lib/md5.h (md5_uintptr): Define.
83108         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
83109         return to the initial working directory.  Preserve errno
83110         for caller.
83111         * lib/idcache.c: Include "xalloc.h".
83112         (xmalloc, xrealloc): Remove decls.
83113         (getuser): Remove casts no longer required in C89.
83114         * lib/human.c: Include stdio.h, for sprintf.
83115         * lib/group-member.c: Include "xalloc.h".
83116         (xmalloc, xrealloc): Remove decls.
83117         (get_group_info): Remove casts no longer required in C89.
83118         * lib/getusershell.c (readname): Remove casts no longer required in
83119         C89.
83120         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
83121         * lib/getline.c: Whitespace fix, from coreutils.
83122
83123 2003-08-13  Paul Eggert  <eggert@twinsun.com>
83124
83125         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
83126         Check for isascii.
83127
83128         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
83129         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
83130         Undo previous (whitespace-only) change.
83131
83132 2003-08-13  Paul Eggert  <eggert@twinsun.com>
83133
83134         * lib/exclude.c: Include <ctype.h>
83135         (IN_CTYPE_DOMAIN): New macro.
83136         (is_space): New fn.
83137         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
83138         and empty lines.
83139
83140         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
83141         Undo previous (whitespace-only) change.
83142
83143 2003-08-13  Paul Eggert  <eggert@twinsun.com>
83144
83145         * config/srclist-update: Change update back to the old behavior,
83146         leaving whitespace alone.  Use one 'sed' command rather than a
83147         pipeline.
83148         (fixlicense): Now a variable, not a function.
83149         (remove_trailing_blanks): Remove.
83150         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
83151         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
83152         Undo previous (whitespace-only) change.
83153
83154 2003-08-12  Paul Eggert  <eggert@twinsun.com>
83155
83156         Merge from coreutils.
83157         * modules/euidaccess: Add lib_SOURCES, include for new
83158         file euidaccess.h
83159
83160 2003-08-12  Paul Eggert  <eggert@twinsun.com>
83161
83162         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
83163         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
83164         Normalize leading white space and remove trailing white space.
83165
83166         Merge from coreutils
83167         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
83168
83169         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
83170         0.12.1.  These files are now being upgraded automatically by
83171         ../config/srclist-update.
83172
83173 2003-08-12  Paul Eggert  <eggert@twinsun.com>
83174
83175         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
83176         Normalize leading white space and remove trailing white space.
83177         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
83178         notice, as per ../config/srclist-update.
83179
83180         Merge from coreutils.
83181         * lib/euidaccess.h: New file.
83182         * lib/euidaccess.c: Include it.
83183         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
83184         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
83185         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
83186
83187 2003-08-12  Paul Eggert  <eggert@twinsun.com>
83188
83189         * config/srclist-update: Add copyright notice.
83190         (remove_id_lines, remove_trailing_blanks): New constants.
83191         (fixfile): Use them to normalize spacing a bit in copied files.
83192         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
83193         Normalize leading white space and remove trailing white space.
83194
83195         * config/texinfo.tex: Sync with texinfo.
83196
83197         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
83198         strtoul.c from libc, to merge coreutils whitespace changes.
83199
83200         * config/srclist.txt: Get the following m4 files from gettext:
83201         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
83202         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
83203         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
83204         wint_t.m4.
83205
83206 2003-08-12  Karl Berry  <karl@gnu.org>
83207
83208         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
83209         been made.
83210
83211 2003-08-11  Paul Eggert  <eggert@twinsun.com>
83212
83213         * modules/gnu-source, m4/gnu-source.m4:
83214         Remove; we're assuming Autoconf 2.54 or later now.
83215         Suggested by Bruno Haible.
83216         * MODULES.html.sh (func_all_modules): Remove gnu-source.
83217
83218 2003-08-11  Bruno Haible  <bruno@clisp.org>
83219
83220         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
83221
83222 2003-08-11  Bruno Haible  <bruno@clisp.org>
83223
83224         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
83225         (vasnprintf): Use it instead of wcslen.
83226
83227 2003-08-11  Bruno Haible  <bruno@clisp.org>
83228
83229         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
83230         value to ensure that _Bool promotes to int. Use #define for _Bool when
83231         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
83232
83233 2003-08-10  Karl Berry  <karl@gnu.org>
83234
83235         * lib/regex.h: update from libc (whitespace fix).
83236
83237 2003-08-09  Paul Eggert  <eggert@twinsun.com>
83238
83239         Merge some files from coreutils.  These changes were
83240         originally made by Jim Meyering.
83241         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
83242         many older Unixes require this.
83243         * lib/alloca.c (alloca): Remove cast to argument of free;
83244         no longer needed in C89.
83245         * lib/alloca_.h, regex.h: Fix white space to match
83246         what GNU indent does.
83247
83248 2003-08-09  Paul Eggert  <eggert@twinsun.com>
83249
83250         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
83251         apparently Emacs's Unicode mode got confused before my 2003-08-05
83252         checkin.
83253
83254 2003-08-08  Paul Eggert  <eggert@twinsun.com>
83255
83256         * m4/extensions.m4: New file.
83257         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
83258         Require gl_USE_SYSTEM_EXTENSIONS.
83259         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
83260         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
83261
83262 2003-08-08  Paul Eggert  <eggert@twinsun.com>
83263
83264         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
83265         * modules/extensions, modules/gnu-source: New files.
83266         * modules/timespec, modules/unlocked-io: Depend on extensions.
83267
83268 2003-08-07  Paul Eggert  <eggert@twinsun.com>
83269
83270         * modules/restrict: New file.
83271         * MODULES.html.sh (func_all_modules): Add restrict.
83272         * modules/regex: Depend on restrict.
83273
83274 2003-08-07  Paul Eggert  <eggert@twinsun.com>
83275
83276         * m4/restrict.m4: New file.
83277         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
83278
83279 2003-08-07  Bruno Haible  <bruno@clisp.org>
83280
83281         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
83282         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
83283
83284 2003-08-07  Bruno Haible  <bruno@clisp.org>
83285
83286         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
83287         makes the module 'getndelim2' compatible with the module 'getline'.
83288
83289 2003-08-05  Paul Eggert  <eggert@twinsun.com>
83290
83291         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
83292         byte with "\201" to avoid glitches when editing that source file
83293         with multi-gnome-terminal.
83294
83295 2003-08-05  Paul Eggert  <eggert@twinsun.com>
83296
83297         * lib/bumpalloc.h: Remove.
83298
83299 2003-08-05  Paul Eggert  <eggert@twinsun.com>
83300
83301         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
83302         * modules/bumpalloc: Remove.
83303
83304 2003-08-04  Paul Eggert  <eggert@twinsun.com>
83305
83306         * lib/getloadavg.c: Change copyright notice and spacing to conform to
83307         GNU coding style.
83308
83309         Merge from coreutils.
83310         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
83311         1. From glibc.
83312         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
83313         from Karl Berry, implemented by Jim Meyering.
83314         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
83315         from Dmitry V. Levin.
83316         Remove anachronistic cast of xrealloc.
83317         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
83318         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
83319         type. Otherwise, it wouldn't compile with at least /bin/cc on
83320         ymp-cray-unicos9.0.2.X.
83321         Combine two mostly-identical uses of alloca into one.
83322         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
83323
83324 2003-08-04  Dave Love  <d.love@dl.ac.uk>
83325
83326         [From Emacs.]
83327
83328         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
83329         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
83330         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
83331         obsolete NLIST_NAME_UNION.
83332         [__GNU__]: Undef BSD and FSCALE.
83333         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
83334
83335 2003-08-03  Paul Eggert  <eggert@twinsun.com>
83336
83337         * lib/stdbool_.h (_Bool): Make it signed char, instead of
83338         an enum type, so that it's guaranteed to promote to int.  See:
83339         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
83340
83341 2003-08-03  Karl Berry  <karl@gnu.org>
83342
83343         * config/depcomp: update from automake.
83344
83345 2003-07-31  Paul Eggert  <eggert@twinsun.com>
83346
83347         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
83348         (strerror): Don't assume that a printable int fits in 14 bytes.
83349
83350 2003-07-31  Bruno Haible  <bruno@clisp.org>
83351
83352         * modules/getpass-gnu: New file.
83353         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
83354
83355 2003-07-31  Bruno Haible  <bruno@clisp.org>
83356
83357         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
83358
83359 2003-07-24  Karl Berry  <karl@gnu.org>
83360
83361         * config/missing: update from automake.
83362
83363 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
83364             Bruno Haible  <bruno@clisp.org>
83365
83366         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
83367         * lib/getline.c (getline, getdelim): Likewise.
83368         Remove _GNU_SOURCE define; now it's defined in config.h through
83369         m4/getline.m4.
83370
83371 2003-07-23  Karl Berry  <karl@gnu.org>
83372
83373         * config/config.sub: update from prep.
83374
83375 2003-07-22  Paul Eggert  <eggert@twinsun.com>
83376
83377         * modules/xalloc (Depends-on): Add exitfail.
83378         * modules/xmemcoll: Likewise.
83379
83380 2003-07-22  Paul Eggert  <eggert@twinsun.com>
83381
83382         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
83383         over-parenthesization in macros.
83384
83385         Sync with coreutils.
83386
83387         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
83388         required by C99.
83389
83390         Use `exit_failure' for xalloc and xmemcoll instead of their own
83391         private exit-failure variables.
83392         * lib/xalloc.h (xalloc_exit_failure): Remove.
83393         * lib/xmalloc.c: Likewise.  Include exitfail.h.
83394         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
83395         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
83396         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
83397         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
83398
83399 2003-07-20  Jim Meyering  <jim@meyering.net>
83400
83401         * modules/closeout (Depends-on): Add exitfail.
83402         Suggestion from Bruno Haible.
83403
83404 2003-07-19  Karl Berry  <karl@gnu.org>
83405
83406         * config/config.sub: update from prep.
83407
83408 2003-07-18  Paul Eggert  <eggert@twinsun.com>
83409
83410         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
83411         Remove.
83412         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
83413         to test that it can stand by itself.  Include "exitfail.h".
83414         Clients should set exit_failure instead.
83415         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
83416
83417 2003-07-18  Bruno Haible  <bruno@clisp.org>
83418
83419         * modules/getndelim2: New file.
83420         * modules/getline: Share files with module getndelim2.
83421         * modules/getnline: Depend on getndelim2 instead of sharing files with
83422         it. Add getnline.c to lib_SOURCES.
83423         * MODULES.html.sh (func_all_modules): Add getndelim2.
83424
83425 2003-07-18  Bruno Haible  <bruno@clisp.org>
83426
83427         * m4/getndelim2.m4: New file.
83428         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
83429         invoke gl_PREREQ_GETNDELIM2.
83430         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
83431         gl_PREREQ_GETNDELIM2.
83432         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
83433         gl_GETNDELIM2.
83434
83435 2003-07-18  Bruno Haible  <bruno@clisp.org>
83436
83437         * lib/getndelim2.h: New file.
83438         * lib/getndelim2.c: Make into a module of its own. Include config.h,
83439         getndelim2.h.
83440         (getndelim2): Make non-static. Change return type to ssize_t.
83441         * lib/getline.h: Change argument names.
83442         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
83443         * lib/getnline.c: Include getndelim2.h.
83444
83445 2003-07-18  Andreas Schwab  <schwab@suse.de>
83446
83447         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
83448
83449 2003-07-17  Karl Berry  <karl@gnu.org>
83450
83451         * config/config.sub: update from prep.
83452
83453 2003-07-17  Bruno Haible  <bruno@clisp.org>
83454
83455         * modules/getnline: New file.
83456         * modules/getline: Add lib/getndelim2.c to source file list.
83457         * MODULES.html.sh (func_all_modules): Add getnline.
83458
83459 2003-07-17  Bruno Haible  <bruno@clisp.org>
83460
83461         * m4/getnline.m4: New file.
83462
83463 2003-07-17  Bruno Haible  <bruno@clisp.org>
83464
83465         * m4/Makefile.am.in: Remove file.
83466         * m4/Makefile.am: Remove file.
83467         * m4/Makefile.in: Remove file.
83468
83469 2003-07-17  Bruno Haible  <bruno@clisp.org>
83470
83471         * lib/getnline.h: New file.
83472         * lib/getnline.c: New file.
83473         * lib/getndelim2.c: New file, extracted from getline.c.
83474         (getndelim2): Renamed from getdelim2, with added nmax argument.
83475         * lib/getline.c: Include getndelim2.c.
83476         (getdelim2): Moved out to getndelim2.c.
83477         (getline, getdelim): Update.
83478
83479 2003-07-17  Bruno Haible  <bruno@clisp.org>
83480
83481         * lib/Makefile.am: Remove file.
83482         * lib/Makefile.in: Remove file.
83483
83484 2003-07-17  Bruno Haible  <bruno@clisp.org>
83485
83486         * configure.in: Remove file.
83487         * Makefile.in: Remove file.
83488
83489 2003-07-17  Bruno Haible  <bruno@clisp.org>
83490
83491         * MODULES.html.sh: Put the </BODY> right before </HTML>.
83492
83493 2003-07-16  Karl Berry  <karl@gnu.org>
83494
83495         * config/srclist-update: was running fixlicense twice, which caused
83496                 texinfo.tex to be nullified for some reason.  Simplify,
83497                 $gplsrc is no longer needed as far as I can see?
83498
83499 2003-07-16  Jim Meyering  <jim@meyering.net>
83500
83501         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
83502
83503 2003-07-15  Paul Eggert  <eggert@twinsun.com>
83504
83505         * config/srclist.txt: Get the following files from gettext-runtime/intl
83506         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
83507         ref-del.sin.  From Bruno Haible.
83508         * config/srclist-update (fixfile): Change grep pattern again, since the
83509         previous fix didn't work (there was another trailing $).  Use
83510         '[$]' to escape the $s.
83511
83512 2003-07-15  Karl Berry  <karl@gnu.org>
83513
83514         * lib/vasnprintf.c: update from gettext.
83515
83516 2003-07-15  Karl Berry  <karl@gnu.org>
83517
83518         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
83519         gets expanded when surrounded by '$'.
83520
83521 2003-07-15  Jim Meyering  <jim@meyering.net>
83522
83523         * modules/save-cwd: Don't depend on error.  From Derek Price.
83524
83525 2003-07-15  Jim Meyering  <jim@meyering.net>
83526
83527         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
83528
83529 2003-07-14  Simon Josefsson  <jas@extundo.com>
83530
83531         * modules/mempcpy: New file.
83532         * MODULES.html.sh (func_all_modules): Add mempcpy.
83533
83534 2003-07-14  Simon Josefsson  <jas@extundo.com>
83535
83536         * m4/mempcpy.m4: New file.
83537
83538 2003-07-14  Simon Josefsson  <jas@extundo.com>
83539
83540         * lib/mempcpy.h: New file.
83541         * lib/mempcpy.c: New file.
83542
83543 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83544
83545         * modules/getdate, modules/posixtm: Depend on mktime.
83546
83547 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83548
83549         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
83550         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
83551         unicodeio.c, unicodeio.h, unlocked-io.h:
83552         Switch from LGPL to GPL.
83553
83554 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83555
83556         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
83557         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
83558         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
83559         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
83560         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
83561         updated automatically by ../config/srclist-update.  This changes
83562         their license from LPGL to GPL.
83563
83564 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83565
83566         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
83567         assumed to refer to the root of the most recent stable gettext version.
83568         * config/srclistvars.sh: Add defaults for eggert.
83569         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
83570         Match "This program" as well as "The program".  This is needed
83571         for gettext.
83572
83573 2003-07-14  Jim Meyering  <jim@meyering.net>
83574
83575         Don't emit diagnostics.  Let callers do that.
83576         * lib/save-cwd.c: Don't include "error.h".
83577         (save_cwd): Don't call error.  Ensure that errno is valid
83578         when returning nonzero.
83579
83580         * lib/save-cwd.h (restore_cwd): Update prototype.
83581         * lib/save-cwd.c (restore_cwd): Remove two parameters.
83582         Simplify.  Don't call error upon failure.  Let callers do that.
83583         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
83584         when auditing is enabled.  But don't bother updating the #if.
83585
83586 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
83587
83588         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
83589         it breaks C++ compilation.
83590         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
83591
83592 2003-07-10  Simon Josefsson  <jas@extundo.com>
83593
83594         * modules/strchrnul (Makefile.am): Add strchrnul.h.
83595
83596 2003-07-10  Jim Meyering  <jim@meyering.net>
83597
83598         * m4/clock_time.m4: Remove trailing blank.
83599         * m4/intmax_t.m4: Likewise.
83600
83601 2003-07-10  Jim Meyering  <jim@meyering.net>
83602
83603         * lib/vasnprintf.c: Remove trailing blanks.
83604         Make cpp indentation consistent.
83605
83606 2003-07-09  Paul Eggert  <eggert@twinsun.com>
83607
83608         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
83609         posixver.c, strftime.c, strnlen.c, strverscmp.c:
83610         Switch from LGPL to GPL.
83611
83612 2003-07-09  Paul Eggert  <eggert@twinsun.com>
83613
83614         * config/srclist.txt: Sort sublists.  Add
83615         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
83616         that differ from gnulib for one reason or another; we'd like this list
83617         to be smaller but for now let's document what we have.
83618
83619 2003-07-08  Paul Eggert  <eggert@twinsun.com>
83620
83621         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
83622         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
83623         and sweeter "eval x=$x".
83624         * config/srclist.txt: Get lib/argp* from glibc.
83625
83626 2003-07-07  Paul Eggert  <eggert@twinsun.com>
83627
83628         * lib/mktime.c: Fix some boundary cases and remove need for floating
83629         point.
83630
83631         Issue a compile-time diagnostic if time_t is floating point, or if
83632         two's complement arithmetic is not in effect, or if arithmetic
83633         right shift does not propagate the sign.  These assumptions were
83634         all in the original code but they weren't checked.
83635
83636         (TIME_T_MIDPOINT, verify): New macros.
83637         (__isleap): Remove; it has integer overflow problems.
83638         (leapyear): New function, without those problems.
83639         (ydhms_tm_diff): Remove; splitting into two parts.
83640         (ydhms_diff): New function, containing the arithmetic part of
83641         the old ydhms_tm_diff function.  Issue a compile-time
83642         diagnostic if we are not using C99 integer division.
83643         Avoid casts when possible.
83644         (guess_time_tm): New function, containing the checking part of
83645         the old ydhms_tm_diff function.  Return the new value, rather than
83646         the difference between it and the old.  Accept a new argument T
83647         so that *T specifies the old value.  Check for overflow in the result.
83648
83649         (__mktime_internal): Use a time_t offset, not a long int offset.
83650         This undoes the 2003-06-04 change, which is no longer needed now
83651         that we have better overflow checking.
83652         (localtime_offset): Likewise.
83653
83654         (__mktime_internal): Avoid harmful overflow on hosts where time_t
83655         and long are 64-bit but int is only 32-bit.
83656         (ydhms_diff): Use long int to store year1 and yday1.
83657         Issue a compile-time diagnostic if long int is not wide enough.
83658
83659         (__mktime_internal): Use long int to store adjusted year and yday.
83660         Use plain C rather than preprocessor commands, if that doesn't
83661         affect efficiency.
83662         Check for overflow (and try to repair) after each probe
83663         rather than checking only at the very end.  This avoids some bugs
83664         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
83665         does not equal GMT offset at maximum time).
83666         Use integer to check for overflow rather than floating point; this
83667         is more portable to non-IEEE hosts, and is a tad faster.
83668         When we detect that we are oscillating between two values,
83669         don't check whether tm_isdst has the requested value, since
83670         we already know the answer.  When tm_isdst has the wrong value,
83671         use a different heuristic to find the right one, based on the
83672         extreme values actually observed in practice in tz2003a,
83673         rather than the (overly optimistic) "previous 3 calendar quarters".
83674
83675         (not_equal_tm, print_tm, check_result): Use "const T" rather than
83676         "T const" to accommodate glibc style.
83677         (check_result): Use less-confusing report format.  "long" -> "long int.
83678         (main): Likewise.
83679         Don't loop if the iteration overflows time_t.
83680         Allow a negative step in the iteration.
83681
83682 2003-07-06  Karl Berry  <karl@gnu.org>
83683
83684         * config/depcomp: update from automake.
83685         * config/config.sub: update from prep.
83686
83687 2003-07-03  Karl Berry  <karl@gnu.org>
83688
83689         * config/config.guess: update from prep.
83690
83691 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83692
83693         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
83694         xreadlink.c now includes it unconditionally.
83695
83696 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83697
83698         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
83699         having it depend on HAVE_SYS_TYPES_H.
83700
83701 2003-07-01  Bruno Haible  <bruno@clisp.org>
83702
83703         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
83704         <sys/types.h> should be sufficient.
83705         Reported by Paul Eggert.
83706
83707 2003-06-26  Karl Berry  <karl@gnu.org>
83708
83709         * config/depcomp: update from automake.
83710
83711 2003-06-26  Bruno Haible  <bruno@clisp.org>
83712
83713         * modules/human: Depend on module stdbool.
83714
83715 2003-06-25  Bruno Haible  <bruno@clisp.org>
83716
83717         * modules/readlink: New file.
83718         * modules/xreadlink: Depend on it.
83719         * MODULES.html.sh (func_all_modules): Add readlink.
83720
83721 2003-06-25  Bruno Haible  <bruno@clisp.org>
83722
83723         * m4/readlink.m4: New file.
83724
83725 2003-06-25  Bruno Haible  <bruno@clisp.org>
83726
83727         * lib/readlink.c: New file.
83728
83729 2003-06-22  Karl Berry  <karl@gnu.org>
83730
83731         * config/srclist.txt: update mkinstalldirs from automake.
83732         * config/mkinstalldirs: update.
83733
83734 2003-06-22  Bruno Haible  <bruno@clisp.org>
83735
83736         Portability to mingw32.
83737         * m4/ssize_t.m4: New file, from GNU gettext.
83738         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
83739         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
83740
83741 2003-06-22  Bruno Haible  <bruno@clisp.org>
83742
83743         * modules/safe-read: Add m4/ssize_t.m4.
83744         * modules/xreadlink: Add m4/ssize_t.m4.
83745
83746 2003-06-20  Bruno Haible  <bruno@clisp.org>
83747
83748         Assume C89, so PARAMS isn't needed.
83749         * lib/unicodeio.h (PARAMS): Remove.
83750         * lib/unicodeio.c: Don't use PARAMS.
83751
83752 2003-06-18  Karl Berry  <karl@gnu.org>
83753
83754         * config/config.{guess,sub}: update from prep.
83755
83756 2003-06-18  Jim Meyering  <jim@meyering.net>
83757
83758         Merge changes from coreutils.
83759         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
83760         Remove explicit declarations of xmalloc and realloc.
83761         Include xalloc.h.
83762         (read_utmp): Remove anachronistic cast of xmalloc.
83763
83764 2003-06-17  Paul Eggert  <eggert@twinsun.com>
83765
83766         Assume C89, so PARAMS isn't needed.
83767         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
83768         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
83769         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
83770         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
83771         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
83772         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
83773         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
83774         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
83775         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
83776         lib/xstrtod.h, lib/xstrtol.h: Likewise.
83777         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
83778         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
83779         no longer needed. Anyway, config.h should always be included before any
83780         other file.
83781
83782 2003-06-11  Simon Josefsson  <jas@extundo.com>
83783
83784         * modules/sysexits: New file.
83785         * MODULES.html.sh (func_all_modules): Add sysexits.
83786
83787 2003-06-11  Simon Josefsson  <jas@extundo.com>
83788
83789         * lib/sysexit_.h: New file.
83790
83791 2003-06-11  Derek Price  <derek@ximbiot.com>
83792
83793         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
83794         necessary.
83795
83796 2003-06-11  Bruno Haible  <bruno@clisp.org>
83797
83798         * m4/sysexits.m4: New file.
83799
83800 2003-06-10  Simon Josefsson  <jas@extundo.com>
83801
83802         * lib/argp.h: New file, from glibc.
83803         * lib/argp-ba.c: New file, from glibc.
83804         * lib/argp-eexst.c: New file, from glibc.
83805         * lib/argp-fmtstream.c: New file, from glibc.
83806         * lib/argp-fmtstream.h: New file, from glibc.
83807         * lib/argp-fs-xinl.c: New file, from glibc.
83808         * lib/argp-help.c: New file, from glibc.
83809         * lib/argp-namefrob.h: New file, from glibc.
83810         * lib/argp-parse.c: New file, from glibc.
83811         * lib/argp-pv.c: New file, from glibc.
83812         * lib/argp-pvh.c: New file, from glibc.
83813         * lib/argp-xinl.c: New file, from glibc.
83814
83815 2003-06-10  Simon Josefsson  <jas@extundo.com>
83816
83817         * modules/strchrnul: New file.
83818
83819 2003-06-10  Simon Josefsson  <jas@extundo.com>
83820
83821         * modules/argp: New file.
83822
83823 2003-06-10  Simon Josefsson  <jas@extundo.com>
83824
83825         * m4/strchrnul.m4: New file.
83826
83827 2003-06-10  Simon Josefsson  <jas@extundo.com>
83828
83829         * lib/strchrnul.h: New file.
83830         * lib/strchrnul.c: New file.
83831
83832 2003-06-10  Bruno Haible  <bruno@clisp.org>
83833
83834         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
83835
83836 2003-06-07  Karl Berry  <karl@gnu.org>
83837
83838         * config/config.{guess,sub}: update from prep.
83839
83840 2003-06-07  Jim Meyering  <jim@meyering.net>
83841
83842         * modules/strtod: Use $(...) notation, not @...@ for
83843         AC_REPLACE'd variables.
83844         * modules/localcharset: Likewise.
83845
83846 2003-06-07  Jim Meyering  <jim@meyering.net>
83847
83848         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83849         in place of my name in the copyright comment.
83850         Remove definition and uses of __P.
83851
83852         From coreutils.
83853         * lib/stat.c: Don't declare xmalloc explicitly.
83854         Instead, include "xalloc.h".
83855         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83856         xrealloc, and xcalloc return values.
83857         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83858         Improve comment.
83859         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83860
83861 2003-06-07  Bruno Haible  <bruno@clisp.org>
83862
83863         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83864         avoid AC_CONFIG_LINKS.
83865         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83866         fnmatch.h, to avoid AC_CONFIG_LINKS.
83867         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83868
83869 2003-06-07  Bruno Haible  <bruno@clisp.org>
83870
83871         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83872         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83873         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83874         directory.
83875         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83876         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83877         directory.
83878
83879 2003-06-06  Jim Meyering  <jim@meyering.net>
83880
83881         Merge from coreutils.
83882         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83883         Consolidate declarations and initializations of *_base* locals.
83884
83885         Merge from coreutils.
83886         This avoids a core dump on systems without GNU putenv,
83887         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83888         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83889         (unsetenv): New static function, from GNU libc.
83890         (rpl_putenv): Use it.
83891
83892         * lib/modechange.c: Remove trailing blanks.
83893
83894         Merge from coreutils.
83895         * lib/fsusage.c: Remove declaration of statfs.
83896         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83897
83898         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83899
83900 2003-06-06  Jim Meyering  <jim@meyering.net>
83901
83902         * lib/stdbool_.h: Renamed from stdbool.h.in.
83903
83904 2003-06-06  Jim Meyering  <jim@meyering.net>
83905             Bruno Haible  <bruno@clisp.org>
83906
83907         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83908         Adjust Makefile.am snippet not to redirect directly to target.
83909         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83910
83911 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83912
83913         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83914         mismatch, look in future quarters as well as past.  This fixes a
83915         bug when processing fall-backwards gaps immediately after a long
83916         period of daylight-saving time.
83917
83918         * lib/mktime.c: Assume freestanding C89 or better.
83919         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83920         (__P): Remove; not used.
83921         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83922         (mktime, not_equal_tm, print_tm, check_result,
83923         main): Use prototypes.  Use const * where appropriate.
83924         (main): Fix typo in testing code that uncovered by above changes.
83925         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83926
83927 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83928
83929         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83930         locale.h, localeconv.  This merges changes from coreutils.
83931
83932         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83933         It can be removed after the next Autoconf is released.
83934         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83935         needed.
83936
83937 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83938
83939         * lib/mktime.c: Fix Debian bug 177940
83940         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83941         (localtime_offset): Now long int, not time_t, because we want it
83942         to be guaranteed to be signed.  All uses changed.
83943         (__mktime_internal): If overflow would occur when adding offset,
83944         don't add it.
83945
83946         Merge 'human' changes from coreutils.  Rewrite to support
83947         locale-specific notations like thousands separators.
83948         * lib/human.c: Simplify authorship notice.
83949         Include human.h immediately after config.h.
83950         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83951         <limits.h>: Do not include, since human.h does.
83952         (SIZE_MAX, UINTMAX_MAX): New macros.
83953         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83954         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83955         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83956         (power_letter): Renamed from suffixes.
83957         (generate_suffix_backwards): Remove.
83958         (adjust_value): Now takes int style (because of human.h changes)
83959         and long double value (for greater precision on some platforms).
83960         (group_number): New function.
83961         (human_readable): Use it.  Use integer options, not enum.
83962         Put the options before the sizes in the arg list.
83963         Support all the new options.
83964         The old human_readable function has been removed;
83965         use inttostr.h instead.
83966         (human_readable, default_block_size, humblock):
83967         Use uintmax_t, not int, for block sizes.
83968         (human_readable_inexact, block_size_types): Remove.
83969         (block_size_opts): New constant.
83970         (human_options): Renamed from human_block_size, with new signature
83971         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83972         * lib/human.h: Add copyright and authorship notice.
83973         Include <limits.h> and <stdbool.h> unconditionally.
83974         (PARAMS): Remove.  All uses removed.
83975         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83976         (enum human_inexact_style): Remove tag; now a nameless enum.
83977         (human_floor, human_ceiling, human_round_to_even): Now have
83978         values 2, 0, 1 rather than -1, 1, 0.
83979         (human_group_digits, human_suppress_point_zero, human_autoscale,
83980         human_base_1024, human_SI, human_B): New constants.
83981         (human_readable_inexact, human_block_size): Remove.
83982         (human_readable): Size args are now uintmax_t, not int.
83983         (human_options): New decl.
83984
83985         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83986         unnecessary now that we assume C89 or better.  This change
83987         imported from coreutils.
83988
83989         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83990         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83991         in the 2003-05-30 sync from glibc.
83992
83993         .h files should stand alone, but we shouldn't include <sys/types.h>
83994         if we can get away with just <stddef.h>.
83995
83996         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83997         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83998         rather than <sys/types.h>, as we merely need size_t.
83999         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
84000         to get size_t.
84001         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
84002         Include <stdio.h>, to get FILE.
84003         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
84004         memcasecmp.h has included <stddef.h> and all we need is size_t.
84005         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
84006         our interface, instead of including <sys/types.h>
84007
84008 2003-06-04  Paul Eggert  <eggert@twinsun.com>
84009
84010         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
84011         now, as glibc mktime is buggy on non-glibc systems.
84012
84013 2003-06-03  Karl Berry  <karl@gnu.org>
84014
84015         * config/config.sub: update from prep.
84016
84017 2003-06-02  Paul Eggert  <eggert@twinsun.com>
84018
84019         [from coreutils]
84020         Fix some minor time-related bugs with POSIX time arguments.
84021         Some valid time stamps were being rejected (notably -1, and
84022         time stamps before 1900 on 64-bit hosts).  And some invalid
84023         time stamps were being accepted, e.g. September 31.
84024
84025         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
84026         that we can return (time_t) -1 successfully.
84027         * lib/posixtm.c: Likewise.
84028         [HAVE_STDBOOL_H]: Include <stdbool.h>.
84029         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
84030         (t): Remove static var.
84031         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
84032         of static var.  All uses changed.
84033         (year): Do not reject years before 1900; they can occur with
84034         64-bit time_t.
84035         (posix_time_parse): Do not check for out-of-range components;
84036         that is now the caller's responsibility, since our checks were
84037         only approximations.
84038         (posixtime): Use mktime to check for out-of-range components,
84039         since it knows them exactly.
84040         If mktime returns (time_t) -1, check whether an error actually occurred
84041         by invoking localtime on -1.
84042         (main) [TEST_POSIXTIME]: Check for input data errors, and report
84043         posixtime failures better.
84044         Improve the test data (in comments only).
84045
84046 2003-06-02  Karl Berry  <karl@gnu.org>
84047
84048         * config/mkinstalldirs (version): new variable.
84049         (--version): new option.
84050         (usage): improve message.
84051
84052 2003-05-30  Karl Berry  <karl@gnu.org>
84053
84054         * lib/mktime.c: update from libc.
84055
84056 2003-05-30  Bruno Haible  <bruno@clisp.org>
84057
84058         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
84059         * config/config.rpath: Upgrade to gettext-0.12.1.
84060
84061 2003-05-30  Bruno Haible  <bruno@clisp.org>
84062
84063         * m4/gettext.m4: Upgrade to gettext-0.12.1.
84064         * m4/nls.m4: New file, from gettext-0.12.1.
84065         * m4/po.m4: New file, from gettext-0.12.1.
84066         * m4/progtest.m4: Upgrade to gettext-0.12.1.
84067
84068 2003-05-30  Bruno Haible  <bruno@clisp.org>
84069
84070         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
84071         * lib/localcharset.h: Likewise.
84072         * lib/localcharset.c: Likewise.
84073
84074 2003-05-29  Karl Berry  <karl@gnu.org>
84075
84076         * config/config.rpath: update from gettext.
84077
84078 2003-05-28  Paul Eggert  <eggert@twinsun.com>
84079
84080         Assume the headers required for C89 freestanding compilers.
84081         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
84082         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
84083         * m4/human.m4 (gl_HUMAN): Likewise.
84084         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
84085         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
84086         * m4/userspec.m4 (gl_USERSPEC): Likewise.
84087         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
84088         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84089         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
84090
84091 2003-05-28  Paul Eggert  <eggert@twinsun.com>
84092
84093         Assume the headers required for C89 freestanding compilers.
84094         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
84095         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
84096         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
84097         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
84098         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
84099         define, since <limits.h> is guaranteed to do that.
84100         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
84101         * lib/exclude.c: Include <stdbool.h> unconditionally.
84102         * lib/tempname.c: Include <stddef.h> unconditionally.
84103         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
84104         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
84105         <stddef.h> does that.
84106         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
84107         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
84108         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
84109         needed.
84110         * lib/xstrtol.c: Likewise.
84111         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
84112         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
84113
84114         * lib/addext.c (addext): Use assignment rather than cast, to avoid
84115         warnings on some platforms.
84116
84117         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
84118         arbitrarily.
84119
84120 2003-05-26  Jim Meyering  <jim@meyering.net>
84121
84122         Merge in a change from coreutils:
84123         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
84124         that is guaranteed to be `no'.  Use `no_such_member' to indicate
84125         that condition, rather than `-1' which is slightly misleading.
84126         Change the name of the cache variable to have the gl_ prefix.
84127         Prompted by a patch from Richard Dawe for DJGPP.
84128
84129 2003-05-24  Karl Berry  <karl@gnu.org>
84130
84131         * config/config.guess: update from prep.
84132
84133 2003-05-22  Karl Berry  <karl@gnu.org>
84134
84135         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
84136
84137 2003-05-20  Karl Berry  <karl@gnu.org>
84138
84139         * config/config.guess: update from prep.
84140
84141 2003-05-18  Karl Berry  <karl@gnu.org>
84142
84143         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
84144         might actually be set by the user.
84145
84146         * config/depcomp, install-sh, mdate-sh: update from automake.
84147
84148 2003-05-17  Bruno Haible  <bruno@clisp.org>
84149
84150         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
84151         invalid expansion for AC_EGREP_CPP.
84152         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
84153         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
84154         Suggested by Akim Demaille <akim@epita.fr> in
84155         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
84156
84157 2003-05-12  Jim Meyering  <jim@meyering.net>
84158
84159         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
84160         the space-padded-by-default conversion specifiers, %e, %k, %l.
84161
84162 2003-05-12  Bruno Haible  <bruno@clisp.org>
84163
84164         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
84165         the string is longer than 4 KB.
84166
84167 2003-05-11  Karl Berry  <karl@gnu.org>
84168
84169         * config/config.{guess,sub}: update from prep.
84170
84171 2003-05-09  Bruno Haible  <bruno@clisp.org>
84172
84173         * modules/error: Add m4/strerror_r.m4 to file list.
84174
84175 2003-05-03  Bruno Haible  <bruno@clisp.org>
84176
84177         Upgrade to Unicode-4.0.
84178         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
84179         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
84180         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
84181         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
84182         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
84183         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
84184         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
84185         Change width of U+E0100..U+E01EF from 1 to 0.
84186
84187 2003-04-25  Jim Meyering  <jim@meyering.net>
84188
84189         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
84190         of type size_t, not int.
84191
84192 2003-04-25  Bruno Haible  <bruno@clisp.org>
84193
84194         * lib/copy-file.c: Include <stddef.h>, for size_t.
84195
84196 2003-04-21  Paul Eggert  <eggert@twinsun.com>
84197
84198         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
84199         code which expansion is under static control.  Patch imported from
84200         Akim Demaille's patch to Bison; see
84201         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
84202
84203 2003-04-14  Bruno Haible  <bruno@clisp.org>
84204
84205         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
84206
84207 2003-04-11  Jim Meyering  <jim@meyering.net>
84208
84209         Merge changes from Coreutils.
84210
84211         2003-03-22  Jim Meyering  <jim@meyering.net>
84212
84213         * lib/strftime.c (widen): Cast alloca return value to proper type.
84214
84215         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
84216
84217         From GNU libc.
84218         * lib/strftime.c (my_strftime): Handle very large width
84219         specifications for numeric values correctly.  Improve checks for
84220         overflow.
84221
84222         2003-01-19  Jim Meyering  <jim@meyering.net>
84223
84224         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
84225         definitions.
84226         (nl_get_alt_digit) [! defined my_strftime]: Define.
84227         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
84228         _nl_get_alt_digit and _nl_get_walt_digit.
84229
84230         * lib/strftime.c (my_strftime): Merge in locale-related changes from
84231         libc. These changes have no effect outside of _LIBC.
84232
84233 2003-04-10  Bruno Haible  <bruno@clisp.org>
84234
84235         * modules/findprog: New file.
84236         * MODULES.html.sh (func_all_modules): Add it.
84237
84238 2003-04-10  Bruno Haible  <bruno@clisp.org>
84239
84240         * m4/findprog.m4: New file.
84241         * m4/eaccess.m4: New file.
84242
84243 2003-04-10  Bruno Haible  <bruno@clisp.org>
84244
84245         * lib/findprog.h: New file, from GNU gettext.
84246         * lib/findprog.c: New file, from GNU gettext.
84247
84248 2003-04-05  Jim Meyering  <jim@meyering.net>
84249
84250         Merge changes from Coreutils.
84251
84252         * lib/exclude.h (PARAMS): Remove definition and uses.
84253         * lib/exclude.c: Remove uses of `PARAMS'.
84254
84255         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
84256         Add test-cases for DOS filenames. Declare program_name.
84257         (main): Set up program_name.  Patch by Rich Dawe.
84258
84259         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
84260         error from mntctl.
84261         Use mntctl's return value to drive the entry-processing loop, since
84262         we can't rely on the value of the vmt_length member in the last
84263         entry.  On some systems doing so could result in exhausting
84264         virtual memory.  Based in part on a patch from Mike Jetzer.
84265
84266 2003-04-04  Bruno Haible  <bruno@clisp.org>
84267
84268         * modules/linebreak: New file.
84269         * MODULES.html.sh (func_all_modules): Add it.
84270
84271 2003-04-04  Bruno Haible  <bruno@clisp.org>
84272
84273         * m4/linebreak.m4: New file.
84274
84275 2003-04-04  Bruno Haible  <bruno@clisp.org>
84276
84277         * lib/linebreak.h: New file, from GNU gettext.
84278         * lib/linebreak.c: New file, from GNU gettext with slight
84279         modifications.
84280         * lib/lbrkprop.h: New file, from GNU gettext.
84281
84282 2003-04-03  Bruno Haible  <bruno@clisp.org>
84283
84284         * modules/utf8-ucs4: New file.
84285         * modules/utf16-ucs4: New file.
84286         * modules/ucs4-utf8: New file.
84287         * modules/ucs4-utf16: New file.
84288         * MODULES.html.sh (func_all_modules): Add them.
84289
84290 2003-04-03  Bruno Haible  <bruno@clisp.org>
84291
84292         * m4/utf-ucs4.m4: New file.
84293         * m4/ucs4-utf.m4: New file.
84294
84295 2003-04-03  Bruno Haible  <bruno@clisp.org>
84296
84297         * lib/utf8-ucs4.h: New file, from GNU gettext.
84298         * lib/utf16-ucs4.h: New file, from GNU gettext.
84299         * lib/ucs4-utf8.h: New file, from GNU gettext.
84300         * lib/ucs4-utf16.h: New file, from GNU gettext.
84301
84302 2003-04-02  Bruno Haible  <bruno@clisp.org>
84303
84304         * modules/binary-io: New file.
84305         * MODULES.html.sh (func_all_modules): Add it.
84306
84307 2003-04-02  Bruno Haible  <bruno@clisp.org>
84308
84309         * lib/binary-io.h: New file, from GNU gettext.
84310
84311 2003-04-01  Bruno Haible  <bruno@clisp.org>
84312
84313         * modules/pathname: New file.
84314         * MODULES.html.sh (func_all_modules): Add it.
84315
84316 2003-04-01  Bruno Haible  <bruno@clisp.org>
84317
84318         * lib/pathname.h: New file, from GNU gettext.
84319         * lib/concatpath.c: New file, from GNU gettext.
84320
84321 2003-03-30  Bruno Haible  <bruno@clisp.org>
84322
84323         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
84324
84325 2003-03-30  Bruno Haible  <bruno@clisp.org>
84326
84327         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
84328         function chown() doesn't exist.
84329
84330 2003-03-28  Bruno Haible  <bruno@clisp.org>
84331
84332         * modules/copy-file: New file.
84333         * MODULES.html.sh (func_all_modules): Add it.
84334
84335 2003-03-28  Bruno Haible  <bruno@clisp.org>
84336
84337         * m4/copy-file.m4: New file.
84338
84339 2003-03-28  Bruno Haible  <bruno@clisp.org>
84340
84341         * lib/copy-file.h: New file, from GNU gettext.
84342         * lib/copy-file.c: New file, from GNU gettext.
84343
84344 2003-03-18  Jim Meyering  <jim@meyering.net>
84345
84346         * lib/quote.c (quote_n): Fix typo in comment.
84347
84348 2003-03-18  Bruno Haible  <bruno@clisp.org>
84349
84350         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
84351         checking.
84352         * m4/onceonly_2_57.m4: Likewise.
84353
84354 2003-03-17  Bruno Haible  <bruno@clisp.org>
84355
84356         * m4/onceonly.m4: Require autoconf 2.54 or newer.
84357         (m4_quote): Remove macro.
84358         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
84359
84360 2003-03-14  Jim Meyering  <jim@meyering.net>
84361
84362         Merge changes from Coreutils.
84363         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
84364         to be const, in order to avoid warnings.
84365         (obstack_room): Likewise.
84366         (obstack_empty_p): Likewise.
84367
84368 2003-03-14  Bruno Haible  <bruno@clisp.org>
84369
84370         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
84371         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
84372
84373 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84374
84375         Merge changes from Bison.
84376         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
84377         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
84378         when compiling Bison 1.875's `bitset bset = obstack_alloc
84379         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
84380         * lib/hash.c: Include <stdbool.h> unconditionally.
84381
84382 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84383
84384         * m4/onceonly.m4 (m4_quote): New macro.
84385         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
84386         Quote AC_FOREACH variable-expansions properly.
84387
84388 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84389
84390         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
84391
84392 2003-03-09  Paul Eggert  <eggert@twinsun.com>
84393
84394         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
84395         Reported by Bruce Becker; see:
84396         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
84397
84398 2003-03-03  Paul Eggert  <eggert@twinsun.com>
84399             Bruno Haible  <bruno@clisp.org>
84400
84401         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
84402         Reported by John Hughes, see
84403         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
84404
84405 2003-02-20  Bruno Haible  <bruno@clisp.org>
84406
84407         * MODULES.html.sh (func_all_modules): Add poll.
84408
84409 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84410
84411         * modules/poll: New file.
84412
84413 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84414
84415         * lib/poll_.h: New file.
84416         * lib/poll.c: New file.
84417
84418 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84419
84420         * m4/poll.m4: New file.
84421
84422 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84423
84424         * modules/mathl: New file.
84425
84426 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84427
84428         * lib/mathl.h: New file.
84429         * lib/acosl.c: New file.
84430         * lib/asinl.c: New file.
84431         * lib/atanl.c: New file.
84432         * lib/ceill.c: New file.
84433         * lib/cosl.c: New file.
84434         * lib/expl.c: New file.
84435         * lib/floorl.c: New file.
84436         * lib/frexpl.c: New file.
84437         * lib/ldexpl.c: New file.
84438         * lib/logl.c: New file.
84439         * lib/sincosl.c: New file.
84440         * lib/sinl.c: New file.
84441         * lib/sqrtl.c: New file.
84442         * lib/tanl.c: New file.
84443         * lib/trigl.c: New file.
84444         * lib/trigl.h: New file.
84445
84446 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84447
84448         * m4/mathl.m4: New file.
84449
84450 2003-02-18  Bruno Haible  <bruno@clisp.org>
84451
84452         * MODULES.html.sh (func_all_modules): Add mathl.
84453
84454 2003-02-17  Bruno Haible  <bruno@clisp.org>
84455
84456         * modules/mkdtemp: New module.
84457         * MODULES.html.sh (func_all_modules): Add it.
84458
84459 2003-02-17  Bruno Haible  <bruno@clisp.org>
84460
84461         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
84462
84463 2003-02-17  Bruno Haible  <bruno@clisp.org>
84464
84465         * lib/mkdtemp.h: New file, from GNU gettext.
84466         * lib/mkdtemp.c: New file, from GNU gettext.
84467
84468 2003-02-02  Jim Meyering  <jim@meyering.net>
84469
84470         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
84471         e.g. glibc-2.2.93.
84472
84473 2003-01-31  Bruno Haible  <bruno@clisp.org>
84474
84475         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
84476         'rpl_rename'.
84477         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
84478         'rpl_strnlen'.
84479         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
84480         'rpl_strtod'.
84481         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
84482         'rpl_utime'.
84483
84484 2003-01-31  Bruno Haible  <bruno@clisp.org>
84485
84486         * lib/rename.c: #undef rename before defining rpl_rename.
84487         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
84488
84489 2003-01-30  Bruno Haible  <bruno@clisp.org>
84490
84491         * modules/vasnprintf, modules/vasprintf: New modules.
84492         * MODULES.html.sh (func_all_modules): Add them.
84493
84494 2003-01-30  Bruno Haible  <bruno@clisp.org>
84495
84496         * m4/signed.m4: New file, from GNU gettext.
84497         * m4/longdouble.m4: New file, from GNU gettext.
84498         * m4/wchar_t.m4: New file, from GNU gettext.
84499         * m4/wint_t.m4: New file, from GNU gettext.
84500         * m4/vasnprintf.m4: New file.
84501         * m4/vasprintf.m4: New file.
84502
84503 2003-01-30  Bruno Haible  <bruno@clisp.org>
84504
84505         * lib/printf-args.h: New file, from GNU gettext.
84506         * lib/printf-args.c: New file, from GNU gettext.
84507         * lib/printf-parse.h: New file, from GNU gettext.
84508         * lib/printf-parse.c: New file, from GNU gettext.
84509         * lib/vasnprintf.h: New file, from GNU gettext.
84510         * lib/vasnprintf.c: New file, from GNU gettext.
84511         * lib/asnprintf.c: New file, from GNU gettext.
84512         * lib/vasprintf.h: New file, from GNU gettext with modifications.
84513         * lib/vasprintf.c: New file, from GNU gettext.
84514         * lib/asprintf.c: New file, from GNU gettext.
84515
84516 2003-01-29  Bruno Haible  <bruno@clisp.org>
84517
84518         * modules/stpncpy: New module.
84519         * MODULES.html.sh (func_all_modules): Add it.
84520
84521 2003-01-29  Bruno Haible  <bruno@clisp.org>
84522
84523         * m4/stpncpy.m4: New file.
84524
84525 2003-01-29  Bruno Haible  <bruno@clisp.org>
84526
84527         * lib/stpncpy.h: New file, from GNU gettext with modifications.
84528         * lib/stpncpy.c: New file, from GNU gettext with modifications.
84529
84530 2003-01-28  Bruno Haible  <bruno@clisp.org>
84531
84532         * modules/c-ctype: New module.
84533         * MODULES.html.sh (func_all_modules): Add it.
84534
84535 2003-01-28  Bruno Haible  <bruno@clisp.org>
84536
84537         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
84538         Paul Eggert.
84539         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
84540         Paul Eggert.
84541
84542 2003-01-27  Bruno Haible  <bruno@clisp.org>
84543
84544         * modules/xsetenv: New module.
84545         * MODULES.html.sh (func_all_modules): Add it.
84546
84547 2003-01-27  Bruno Haible  <bruno@clisp.org>
84548
84549         * lib/xsetenv.h: New file, from GNU gettext.
84550         * lib/xsetenv.c: New file, from GNU gettext.
84551
84552 2003-01-23  Jim Meyering  <jim@meyering.net>
84553
84554         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
84555         from working on systems without dirfd (at least Irix and OSF1/Tru64).
84556
84557 2003-01-23  Bruno Haible  <bruno@clisp.org>
84558
84559         * modules/minmax: New module.
84560         * MODULES.html.sh (func_all_modules): Add it.
84561
84562 2003-01-23  Bruno Haible  <bruno@clisp.org>
84563
84564         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
84565         Eggert.
84566
84567 2003-01-22  Bruno Haible  <bruno@clisp.org>
84568
84569         * modules/exit: New module.
84570         * MODULES.html.sh (func_all_modules): Add it.
84571
84572 2003-01-22  Bruno Haible  <bruno@clisp.org>
84573
84574         * lib/exit.h: New file, from GNU gettext.
84575
84576 2003-01-19  Bruno Haible  <bruno@clisp.org>
84577
84578         * gnulib-tool: Recognize option --extract-maintainer.
84579         (func_get_maintainer): New function.
84580         * modules/*: Add Maintainer entry.
84581
84582 2003-01-16  Jim Meyering  <jim@meyering.net>
84583
84584         * m4/regex.m4: The `regex' struct is both input and output.
84585         Initialize it before each use.  Patch by Tim Waugh.
84586
84587 2003-01-16  Bruno Haible  <bruno@clisp.org>
84588
84589         * MODULES.html.sh: Add a table of contents. Add the module name as
84590         leftmost column. Add hyperlinks.
84591
84592 2003-01-15  Bruno Haible  <bruno@clisp.org>
84593
84594         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
84595
84596 2003-01-15  Bruno Haible  <bruno@clisp.org>
84597
84598         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
84599         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
84600         suffix.
84601
84602 2003-01-15  Bruno Haible  <bruno@clisp.org>
84603
84604         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
84605
84606 2003-01-15  Bruno Haible  <bruno@clisp.org>
84607
84608         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
84609         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
84610
84611 2003-01-14  Jim Meyering  <jim@meyering.net>
84612
84613         * lib/same.c (same_name): Tweak a comment.
84614
84615 2003-01-14  Bruno Haible  <bruno@clisp.org>
84616
84617         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
84618         when a string comparison is sufficient.
84619
84620 2003-01-14  Bruno Haible  <bruno@clisp.org>
84621
84622         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
84623         'unsigned int'.
84624
84625 2003-01-14  Bruno Haible  <bruno@clisp.org>
84626
84627         * lib/hash-pjw.c: Add comment about low quality of this function.
84628
84629 2003-01-13  Bruno Haible  <bruno@clisp.org>
84630
84631         * modules/stpcpy: Distribute lib/stpcpy.h.
84632         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
84633
84634 2003-01-13  Bruno Haible  <bruno@clisp.org>
84635
84636         * modules/*: Add a description.
84637         * modules/strpbrk: Fix Makefile.am snippet.
84638         * modules/strtoimax: Fix dependencies.
84639         * modules/strtoumax: Likewise.
84640
84641 2003-01-13  Bruno Haible  <bruno@clisp.org>
84642
84643         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
84644         * modules/alloca (Makefile.am): All object files depend on alloca.h.
84645         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
84646
84647 2003-01-13  Bruno Haible  <bruno@clisp.org>
84648
84649         * gnulib-tool (func_create_testdir): Store config/* files in the main
84650         directory.
84651         * config.rpath: Move to ...
84652         * config/config.rpath: ... here.
84653         * modules/gettext: Contains config/config.rpath, not config.rpath.
84654         * modules/iconv: Likewise.
84655
84656 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84657
84658         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84659         to avoid collisions with libcurses and libreadline.
84660
84661         * m4/getstr.m4: Remove.
84662         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
84663
84664 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84665
84666         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84667         to avoid collisions with libcurses and libreadline.
84668
84669         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
84670         * lib/getstr.h, getstr.c: Remove.
84671         * lib/getline.c: Include "getline.h", to check interface.
84672         Move body of old getstr.c here: this defines MIN_CHUNK and
84673         declares getdelim2, which is renamed from getstr.
84674         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
84675
84676         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
84677         All uses changed.
84678         * lib/linebuffer.h: Likewise.
84679         (readline): Remove backward-compatibility macro.
84680
84681 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84682
84683         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84684         to avoid collisions with libcurses and libreadline.
84685         * getstr: Remove.
84686         * MODULES.html.sh: Remove getstr.
84687         * modules/getline: Depend on unlocked-io, not getstr.
84688
84689 2003-01-12  Jim Meyering  <jim@meyering.net>
84690
84691         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
84692
84693 2003-01-10  Bruno Haible  <bruno@clisp.org>
84694
84695         * modules/alloca: Change Makefile.am requirements. Simplify Include
84696         requirements. Add lib/alloca_.h to file list.
84697
84698 2003-01-10  Bruno Haible  <bruno@clisp.org>
84699
84700         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
84701
84702 2003-01-10  Bruno Haible  <bruno@clisp.org>
84703
84704         * lib/alloca_.h: New file.
84705         * lib/getdate.y: Unconditionally include alloca.h.
84706         * lib/makepath.c: Likewise.
84707         * lib/setenv.c: Likewise.
84708         * lib/userspec.c: Likewise.
84709
84710 2003-01-09  Karl Berry  <karl@gnu.org>
84711
84712         * MODULES.html.sh: include `dirname $0` in PATH, to find
84713         gnulib-tool.
84714
84715 2003-01-09  Bruno Haible  <bruno@clisp.org>
84716
84717         * modules/stdbool: Change configure.ac, Makefile.am requirements.
84718         Simplify Include requirements. Add lib/stdbool.h.in to file list.
84719
84720 2003-01-09  Bruno Haible  <bruno@clisp.org>
84721
84722         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
84723
84724 2003-01-09  Bruno Haible  <bruno@clisp.org>
84725
84726         * lib/stdbool.h.in: New file.
84727
84728 2003-01-09  Bruno Haible  <bruno@clisp.org>
84729
84730         * gnulib-tool (func_all_modules): Ignore files ending in ~.
84731         * MODULES.html.sh: Likewise.
84732
84733 2003-01-08  Jim Meyering  <jim@meyering.net>
84734
84735         * lib/full-write.c: Undefine and define-away `const' after inclusion
84736         of errno.h, not before.  Suggestion from Bruno Haible.
84737
84738 2003-01-08  Bruno Haible  <bruno@clisp.org>
84739
84740         * modules/full-read: Depend on full-write.
84741
84742 2003-01-08  Bruno Haible  <bruno@clisp.org>
84743
84744         * lib/safe-read.c: Include specification header first, to ensure its
84745         selfcontainedness.
84746         * lib/full-write.c: Likewise.
84747
84748 2003-01-07  Jim Meyering  <jim@meyering.net>
84749
84750         * lib/full-write.c: Rework so that it may serve to define full_read,
84751         too.
84752         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
84753
84754 2003-01-07  Bruno Haible  <bruno@clisp.org>
84755
84756         * lib/strtoimax.c: Include <stdint.h> as an alternative to
84757         <inttypes.h>.
84758         * lib/xstrtol.h: Likewise.
84759         * lib/xstrtoimax.c: Likewise.
84760         * lib/xstrtoumax.c: Likewise.
84761         * lib/human.h: Likewise.
84762
84763         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
84764         on systems that have <inttypes.h> but not <stdint.h>.
84765
84766 2003-01-07  Bruno Haible  <bruno@clisp.org>
84767
84768         * MODULES.html.sh: Add copyright notice.
84769         (missed_files): Omit CVS directory entries.
84770         (func_module): Make it work with sed-3.02.
84771         * MODULES.txt: Remove file.
84772
84773 2003-01-06  Jim Meyering  <jim@meyering.net>
84774
84775         * lib/version-etc.c: Update year in translatable copyright string.
84776
84777 2003-01-03  Karl Berry  <karl@gnu.org>
84778
84779         * config/config.{guess,sub}: update from prep.
84780
84781 2003-01-02  Karl Berry  <karl@gnu.org>
84782
84783         * doc/COPYING.DOC: belatedly updated to 1.2.
84784
84785 2003-01-01  Karl Berry  <karl@gnu.org>
84786
84787         * gnulib-tool (func_verify_module): report module name $module in
84788         error message, not $1.
84789         * gnulib-tool (create-testdir): don't complain if destdir couldn't
84790         be created, only if it doesn't exist.
84791         * gnulib-tool (last_checkin_date): don't expand the $Date here.
84792
84793 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84794
84795         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
84796
84797 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84798
84799         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
84800         memcmp if strcoll doesn't work.
84801
84802 2002-12-31  Bruno Haible  <bruno@clisp.org>
84803
84804         * lib/utime.c (utime_null): No need to call ftruncate if the file was
84805         nonempty.
84806
84807 2002-12-31  Bruno Haible  <bruno@clisp.org>
84808
84809         * lib/memcoll.c (STRCOLL): New macro.
84810         (memcoll): Use it.
84811
84812 2002-12-31  Bruno Haible  <bruno@clisp.org>
84813
84814         * lib/localcharset.h: New file.
84815         * lib/localcharset.c: Include it.
84816         * lib/unicodeio.c: Likewise.
84817
84818 2002-12-31  Bruno Haible  <bruno@clisp.org>
84819
84820         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
84821         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
84822
84823 2002-12-31  Bruno Haible  <bruno@clisp.org>
84824
84825         * lib/getline.h: Include <stddef.h>, for size_t.
84826
84827         * lib/unicodeio.h: Include <stddef.h>, for size_t.
84828         * lib/unicodeio.c: Don't include <stddef.h>.
84829
84830 2002-12-31  Bruno Haible  <bruno@clisp.org>
84831
84832         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
84833         HAVE_TM_ZONE.
84834
84835 2002-12-24  Karl Berry  <karl@gnu.org>
84836
84837         * config/config.guess: update from prep.
84838
84839 2002-12-24  Bruno Haible  <bruno@clisp.org>
84840
84841         General infrasructure.
84842         * m4/README: Rewritten.
84843         * m4/onceonly.m4: New file.
84844         * m4/onceonly_2_57.m4: New file.
84845
84846         Module atexit.
84847         * m4/atexit.m4: New file.
84848
84849         Module strtod.
84850         * m4/strtod.m4: New file.
84851
84852         Module strtol.
84853         * m4/strtol.m4: New file.
84854
84855         Module strtoul.
84856         * m4/strtoul.m4: New file.
84857
84858         Module memchr.
84859         * m4/memchr.m4: New file.
84860
84861         Module memcmp.
84862         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84863         (jm_FUNC_MEMCMP): Invoke it.
84864
84865         Module memcpy.
84866         * m4/memcpy.m4: New file.
84867
84868         Module memmove.
84869         * m4/memmove.m4: New file.
84870
84871         Module memset.
84872         * m4/memset.m4: New file.
84873
84874         Module strcspn.
84875         * m4/strcspn.m4: New file.
84876
84877         Module strpbrk.
84878         * m4/strpbrk.m4: New file.
84879
84880         Module strstr.
84881         * m4/strstr.m4: New file.
84882
84883         Module strerror.
84884         * m4/strerror.m4: New file.
84885
84886         Module mktime.
84887         * m4/mktime.m4: Renamed from jm-mktime.m4.
84888         (gl_PREREQ_MKTIME): New macro.
84889         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84890
84891         Module malloc.
84892         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84893         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84894         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84895
84896         Module realloc.
84897         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84898         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84899         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84900
84901         Module strftime.
84902         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84903         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84904         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84905         gl_TM_GMTOFF.
84906         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84907
84908         Module xalloc.
84909         * m4/xalloc.m4: New file.
84910
84911         Module alloca.
84912         * m4/alloca.m4: New file.
84913
84914         Module putenv.
84915         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84916         (jm_FUNC_PUTENV): Invoke it.
84917
84918         Module setenv.
84919         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84920         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84921         when invoked twice.
84922         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84923         gt_FUNC_SETENV.
84924
84925         Module memrchr.
84926         * m4/memrchr.m4: New file.
84927
84928         Module stpcpy.
84929         * m4/stpcpy.m4: New file.
84930
84931         Module strcase.
84932         * m4/strcase.m4: New file.
84933
84934         Module strdup.
84935         * m4/strdup.m4: New file.
84936
84937         Module strnlen.
84938         * m4/strnlen.m4: New file.
84939
84940         Module strndup.
84941         * m4/strndup.m4: New file.
84942
84943         Module xstrtod.
84944         * m4/xstrtod.m4: New file.
84945
84946         Module xstrtol.
84947         * m4/xstrtol.m4: New file.
84948
84949         Module getdate.
84950         * m4/getdate.m4: New file.
84951
84952         Module unlocked-io.
84953         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84954         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84955         * m4/jm-glibc-io.m4n: Remove file.
84956
84957         Module long-options.
84958         * m4/long-options.m4: New file.
84959
84960         Module md5.
84961         * m4/md5.m4: New file.
84962
84963         Module sha.
84964         * m4/sha.m4: New file.
84965
84966         Module getstr.
84967         * m4/getstr.m4: New file.
84968
84969         Module getline.
84970         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84971         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84972         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84973         simply getline. Infoke gl_PREREQ_GETLINE.
84974
84975         Module obstack.
84976         * m4/obstack.m4: New file.
84977
84978         Module hash.
84979         * m4/hash.m4: New file.
84980
84981         Module readtokens.
84982         * m4/readtokens.m4: New file.
84983
84984         Module strverscmp.
84985         * m4/strverscmp.m4: New file.
84986
84987         Module stdbool.
84988         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84989         OSF/1.
84990
84991         Module strtoll.
84992         * m4/strtoll.m4: New file.
84993
84994         Module strtoull.
84995         * m4/strtoull.m4: New file.
84996
84997         Module strtoimax.
84998         * m4/strtoimax.m4: New file.
84999
85000         Module strtoumax.
85001         * m4/strtoumax.m4: New file.
85002
85003         Module xstrtoimax.
85004         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
85005         jm_AC_PREREQ_XSTRTOIMAX.
85006         Moved the strtol prerequisites to strtol.m4.
85007         Moved the strtoll prerequisites to strtoll.m4.
85008         Moved the strtoimax prerequisites to strtoimax.m4.
85009
85010         Module xstrtoumax.
85011         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
85012         jm_AC_PREREQ_XSTRTOUMAX.
85013         Moved the strtoul prerequisites to strtoul.m4.
85014         Moved the strtoull prerequisites to strtoull.m4.
85015         Moved the strtoumax prerequisites to strtoumax.m4.
85016
85017         Module chown.
85018         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
85019         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
85020
85021         Module dup2.
85022         * m4/dup2.m4: New file.
85023
85024         Module ftruncate.
85025         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
85026         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
85027
85028         Module getgroups.
85029         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
85030         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
85031
85032         Module gettimeofday.
85033         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
85034         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
85035         gl_PREREQ_GETTIMEOFDAY.
85036
85037         Module mkdir.
85038         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
85039         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
85040
85041         Module mkstemp.
85042         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
85043         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
85044         jm_AC_TYPE_UINTMAX_T.
85045         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
85046
85047         Module stat.
85048         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
85049         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
85050
85051         Module lstat.
85052         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
85053         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
85054
85055         Module timespec.
85056         * m4/timespec.m4 (gl_TIMESPEC): New macro.
85057         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
85058         * m4/st_mtim.m4: Indentation.
85059
85060         Module nanosleep.
85061         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
85062         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
85063         gl_PREREQ_NANOSLEEP.
85064
85065         Module regex.
85066         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
85067         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
85068         (gl_REGEX): New macro.
85069
85070         Module rename.
85071         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
85072         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
85073
85074         Module rmdir.
85075         * m4/rmdir.m4: New file.
85076
85077         Module utime.
85078         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
85079         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
85080         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
85081
85082         Module dirname.
85083         * m4/dirname.m4: New file.
85084
85085         Module getopt.
85086         * m4/getopt.m4: New file.
85087
85088         Module unistd-safer.
85089         * m4/unistd-safer.m4: New file.
85090
85091         Module fnmatch.
85092         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
85093         declaration.
85094         (gl_PREREQ_FNMATCH_EXTRA): New macro.
85095         (gl_FUNC_FNMATCH_POSIX): New macro.
85096         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
85097         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
85098         simply fnmatch.
85099
85100         Module exclude.
85101         * m4/exclude.m4: New file.
85102
85103         Module human.
85104         * m4/human.m4: New file.
85105
85106         Module acl.
85107         * m4/acl.m4: Nop.
85108
85109         Module backupfile.
85110         * m4/backupfile.m4: New file.
85111         * m4/d-ino.m4: Indentation.
85112
85113         Module fsusage.
85114         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
85115         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
85116         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
85117
85118         Module dirfd.
85119         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
85120         requirements.
85121
85122         Module euidaccess.
85123         * m4/euidaccess.m4: New file.
85124
85125         Module file-type.
85126         * m4/file-type.m4: New file.
85127
85128         Module fileblocks.
85129         * m4/fileblocks.m4: New file.
85130
85131         Module filemode.
85132         * m4/filemode.m4: New file.
85133
85134         Module isdir.
85135         * m4/isdir.m4: New file.
85136
85137         Module lchown.
85138         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
85139         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
85140
85141         Module makepath.
85142         * m4/makepath.m4: New file.
85143
85144         Module modechange.
85145         * m4/modechange.m4: New file.
85146
85147         Module mountlist.
85148         * m4/mountlist.m4: New file.
85149         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
85150         Indentation.
85151
85152         Module path-concat.
85153         * m4/path-concat.m4: New file.
85154
85155         Module pathmax.
85156         * m4/pathmax.m4: New file.
85157
85158         Module same.
85159         * m4/same.m4: New file.
85160
85161         Module save-cwd.
85162         * m4/save-cwd.m4: New file.
85163
85164         Module savedir.
85165         * m4/savedir.m4: New file.
85166
85167         Module xgetcwd.
85168         * m4/xgetcwd.m4: New file.
85169         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
85170
85171         Module xreadlink.
85172         * m4/xreadlink.m4: New file.
85173
85174         Module safe-read.
85175         * m4/safe-read.m4: New file.
85176
85177         Module safe-write.
85178         * m4/safe-write.m4: New file.
85179
85180         Module closeout.
85181         * m4/closeout.m4: New file.
85182
85183         Module stdio-safer.
85184         * m4/stdio-safer.m4: New file.
85185
85186         Module getpass.
85187         * m4/getpass.m4: New file.
85188
85189         Module getugroups.
85190         * m4/getugroups.m4: New file.
85191
85192         Module group-member.
85193         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
85194         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
85195
85196         Module idcache.
85197         * m4/idcache.m4: New file.
85198
85199         Module userspec.
85200         * m4/userspec.m4: New file.
85201
85202         Module gettime.
85203         * m4/clock_time.m4: New file.
85204         * m4/gettime.m4: New file.
85205
85206         Module settime.
85207         * m4/settime.m4: New file.
85208
85209         Module posixtm.
85210         * m4/posixtm.m4: New file.
85211
85212         Module gethostname.
85213         * m4/gethostname.m4: New file.
85214
85215         Module canon-host.
85216         * m4/canon-host.m4: New file.
85217
85218         Module gettext.
85219         * m4/codeset.m4: New file, from gettext-0.11.5.
85220         * m4/gettext.m4: New file, from gettext-0.11.5.
85221         * m4/glibc21.m4: New file, from gettext-0.11.5.
85222         * m4/iconv.m4: New file, from gettext-0.11.5.
85223         * m4/intdiv0.m4: New file, from gettext-0.11.5.
85224         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
85225         * m4/inttypes.m4: New file, from gettext-0.11.5.
85226         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
85227         * m4/isc-posix.m4: New file, from gettext-0.11.5.
85228         * m4/lcmessage.m4: New file, from gettext-0.11.5.
85229         * m4/lib-ld.m4: New file, from gettext-0.11.5.
85230         * m4/lib-link.m4: New file, from gettext-0.11.5.
85231         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
85232         * m4/progtest.m4: New file, from gettext-0.11.5.
85233         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
85234         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
85235         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
85236
85237         Module localcharset.
85238         * m4/localcharset.m4: New file.
85239
85240         Module hard-locale.
85241         * m4/hard-locale.m4: New file.
85242
85243         Module mbswidth.
85244         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
85245         onceonly macros.
85246         * m4/mbrtowc.m4: Add comment.
85247
85248         Module memcasecmp.
85249         * m4/memcasecmp.m4: New file.
85250
85251         Module memcoll.
85252         * m4/memcoll.m4: New file.
85253
85254         Module unicodeio.
85255         * m4/unicodeio.m4: New file.
85256
85257         Module rpmatch.
85258         * m4/rpmatch.m4: New file.
85259
85260         Module yesno.
85261         * m4/yesno.m4: New file.
85262
85263         Module exitfail.
85264         * m4/exitfail.m4: New file.
85265
85266         Module c-stack.
85267         * m4/c-stack.m4 (gl_C_STACK): New macro.
85268         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
85269
85270         Module error.
85271         * m4/error.m4 (gl_ERROR): New macro.
85272         (jm_PREREQ_ERROR): Use onceonly macros.
85273
85274         Module fatal.
85275         * m4/fatal.m4: New file.
85276
85277         Module getloadavg.
85278         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
85279         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
85280
85281         Module getpagesize.
85282         * m4/getpagesize.m4: New file.
85283
85284         Module getusershell.
85285         * m4/getusershell.m4: New file.
85286
85287         Module physmem.
85288         * m4/physmem.m4: New file.
85289
85290         Module posixver.
85291         * m4/posixver.m4: New file.
85292
85293         Module quotearg.
85294         * m4/quotearg.m4: New file.
85295
85296         Module quote.
85297         * m4/quote.m4: New file.
85298
85299         Module readutmp.
85300         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
85301
85302         Module sig2str.
85303         * m4/sig2str.m4: New file.
85304
85305         Other.
85306         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
85307         ulonglong.m4.
85308         * m4/intmax_t.m4: New file.
85309         * m4/d-type.m4: Indentation.
85310         * m4/jm-macros.m4: Update.
85311         * m4/prereq.m4 (jm_PREREQ): Update.
85312         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
85313         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
85314         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
85315         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
85316         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
85317         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
85318         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
85319         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
85320         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
85321         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
85322         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
85323         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
85324         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
85325         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
85326         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
85327         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
85328         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
85329         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
85330         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
85331
85332 2002-12-24  Bruno Haible  <bruno@clisp.org>
85333
85334         * MODULES.txt: Update according to m4/ changes.
85335
85336         Module gettext.
85337         * config.rpath: New file, from gettext-0.11.5.
85338
85339         * modules/*: New module descriptions.
85340         * gnulib-tool: New file.
85341         * MODULES.html.sh: New file.
85342
85343 2002-12-21  Karl Berry  <karl@gnu.org>
85344
85345         * doc/fdl.texi: update to version 1.2.
85346
85347 2002-12-19  Karl Berry  <karl@gnu.org>
85348
85349         * config/config.guess: update from prep.
85350
85351 2002-12-18  Bruno Haible  <bruno@clisp.org>
85352
85353         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
85354         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
85355
85356 2002-12-17  Bruno Haible  <bruno@clisp.org>
85357
85358         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
85359         stdlib.h, string.h.
85360
85361 2002-12-17  Bruno Haible  <bruno@clisp.org>
85362
85363         * lib/canon-host.c (strdup): Remove unused declaration.
85364
85365         * lib/fsusage.c: Include full_read.h.
85366         (get_fs_usage): Use full_read instead of safe_read.
85367
85368         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
85369
85370 2002-12-12  Karl Berry  <karl@gnu.org>
85371
85372         * config/config.guess: update from prep.
85373
85374 2002-12-11  Bruno Haible  <bruno@clisp.org>
85375
85376         * m4/setenv.m4: New file, from gettext-0.11.5.
85377
85378 2002-12-11  Bruno Haible  <bruno@clisp.org>
85379
85380         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
85381         not unsetenv().
85382         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
85383         modifications:
85384
85385         2002-12-11  Bruno Haible  <bruno@clisp.org>
85386
85387                 * setenv.c (alloca): Fall back to malloc.
85388                 (freea): New macro.
85389                 (setenv): Use freea() to free memory allocated with alloca().
85390
85391         2002-11-13  Bruno Haible  <bruno@clisp.org>
85392
85393                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
85394                 function declarations.
85395                 * unsetenv.c (unsetenv): Likewise.
85396
85397         2002-03-04  Bruno Haible  <bruno@clisp.org>
85398
85399                 Portability to AIX 4.3.3.
85400                 * unsetenv.c: New file, extracted from setenv.c.
85401                 * setenv.c: Move the unsetenv() function to unsetenv.c.
85402
85403         2001-12-20  Bruno Haible  <bruno@clisp.org>
85404
85405                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
85406                 use malloc instead. For SunOS 4.
85407
85408         2001-12-11  Bruno Haible  <bruno@clisp.org>
85409
85410                 * setenv.c: Declare alloca.
85411                 (compar_fn_t): New typedef.
85412                 (KNOWN_VALUE, STORE_VALUE): Use it.
85413
85414         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
85415         setenv.h.
85416
85417 2002-12-10  Paul Eggert  <eggert@twinsun.com>
85418
85419         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
85420         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
85421         Choose values that are less likely to collide with system fnmatch
85422         options.
85423         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
85424         defined (e.g., a pure POSIX system).
85425         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
85426         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
85427
85428 2002-12-06  Paul Eggert  <eggert@twinsun.com>
85429
85430         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
85431         a pain in practice to deal with generated m4 files.  This change
85432         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
85433
85434         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
85435         and jm-glibc-io.m4, as they are no longer a special case.
85436         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
85437         kludge and the auto-generation stuff.  Check only whether the
85438         functions are declared, not whether they exist, since older hosts
85439         that don't declare the functions can't use the optimization anyway.
85440
85441 2002-12-06  Jim Meyering  <jim@meyering.net>
85442
85443         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
85444
85445         Merge in changes from libc's misc/error.c, in preparation
85446         for the merge of gnulib's changes back into libc.
85447
85448         * lib/error.c (_): Define only if not already defined.
85449         Move definition to follow all #include directives.
85450         Include unlocked-io.h only if !_LIBC.
85451         [_LIBC]: Include <libio/libioP.h>.
85452         [USE_IN_LIBIO]: Include <libio/iolibio.h>
85453         (fflush): Tweak definition to use INTUSE.
85454         (putc): Define.
85455
85456 2002-12-05  Paul Eggert  <eggert@twinsun.com>
85457
85458         * lib/alloca.c [defined emacs]: Include "lisp.h".
85459         (xalloc_die) [defined emacs]: New macro.
85460         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
85461         [! defined emacs]: Include <xalloc.h>.
85462         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
85463         (pointer): Typedef to POINTER_TYPE *.
85464         (malloc): Remove decl; we now always use xmalloc.
85465         (alloca): Use old-style definition, since Emacs needs this.
85466         Check for arithmetic overflow when computing combined size.
85467
85468 2002-12-04  Paul Eggert  <eggert@twinsun.com>
85469
85470         Do not generate unlocked-io.h automatically, since it's easier to
85471         maintain it by hand.
85472
85473         * lib/unlocked-io.h: New file, from GNU diffutils,
85474         but with proper copyright notice and attribution.
85475         * lib/gen-uio: Remove.
85476         * lib/Makefile.am: Add copyright notice.
85477         (libfetish_a_SOURCES): Add unlocked-io.h.
85478         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
85479         (DISTCLEANFILES, io_functions): Remove macros.
85480         (EXTRA_DIST): Remove gen_uio.
85481         (unlocked-io.h): Remove rule.
85482
85483 2002-12-04  Jim Meyering  <jim@meyering.net>
85484
85485         Reflect the fact that stat.c and lstat.c are no longer generated.
85486         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
85487         (DISTCLEANFILES): Likewise.
85488         (EXTRA_DIST): Likewise.
85489         (all_local): Don't depend on stat.c or lstat.c.
85490         (stat.c, lstat.c): Remove rules.
85491         (EXTRA_DIST): Remove xstat.in.
85492
85493         * lib/xstat.in: Remove file.  Contents moved into stat.c.
85494         * lib/stat.c: New file.  Contents mostly from xstat.in.
85495         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
85496         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
85497
85498         * lib/safe-read.c: Rework so that it may serve to define safe_write,
85499         too.
85500         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
85501
85502 2002-12-03  Jim Meyering  <jim@meyering.net>
85503
85504         * lib/safe-read.c, safe-write.c: Change variable names and comments,
85505         but not semantics, to minimize the differences between these two files.
85506         (safe_read): Change comment to mention SAFE_READ_ERROR.
85507
85508         * lib/safe-read.c (IS_EINTR): Define.
85509         (safe_read): Use IS_EINTR in place of in-function cpp directives.
85510
85511 2002-12-02  Jim Meyering  <jim@meyering.net>
85512
85513         * lib/safe-read.c (EINTR): Define.
85514         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
85515         (INT_MAX): Provide fallback.
85516         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
85517
85518         * lib/safe-read.h (SAFE_READ_ERROR): Define.
85519
85520 2002-12-02  Bruno Haible  <bruno@clisp.org>
85521
85522         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
85523         Define, taken from safe-read.c.
85524         (INT_MAX): Provide fallback.
85525         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
85526         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
85527
85528         * lib/safe-read.c (EINTR): Remove definition.
85529         (safe_read): Don't use EINTR if it is absent.
85530
85531 2002-12-01  Jim Meyering  <jim@meyering.net>
85532
85533         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
85534         zero.
85535         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
85536
85537 2002-11-27  Paul Eggert  <eggert@twinsun.com>
85538
85539         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
85540         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
85541         with `if (! (value < limit)) abort ();', for readability.
85542
85543 2002-11-26  Karl Berry  <karl@gnu.org>
85544
85545         * lib/strdup.c: copy from libc again, with jim's ok.
85546         * lib/.cppi-disable: re-add strdup.c
85547
85548 2002-11-25  Karl Berry  <karl@gnu.org>
85549
85550         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
85551         instead of "strtol.c".
85552
85553 2002-11-25  Karl Berry  <karl@gnu.org>
85554
85555         * config/install-sh: update from automake for variable quoting, $0 in
85556         error msgs, etc.
85557
85558         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
85559         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
85560         entry.
85561
85562 2002-11-25  Jim Meyering  <jim@meyering.net>
85563
85564         * lib/mktime.c: Sync from libc, now that it has the latest fix.
85565
85566 2002-11-24  Karl Berry  <karl@gnu.org>
85567
85568         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
85569         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
85570
85571 2002-11-24  Jim Meyering  <jim@meyering.net>
85572
85573         Update from coreutils:
85574
85575         * lib/mktime.c: Merge in changes from libc.
85576
85577         Avoid a link-time failure on some Linux systems.
85578         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
85579         (otherwise).
85580         (__mon_yday): Declare with the STATIC attribute.
85581         (__mktime_internal): Likewise.
85582         Based on a report from Greg Schafer.
85583
85584 2002-11-23  Jim Meyering  <jim@meyering.net>
85585
85586         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
85587         Use `unsigned', not `int', as type of index.
85588
85589         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
85590
85591         * lib/fsusage.c: Remove unneeded parentheses around operands of
85592         `defined'.
85593
85594 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85595
85596         * lib/quotearg.h: Allow multiple inclusion by surrounding with
85597         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
85598         so that we can be included first.
85599         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
85600         * lib/quotearg.c: Include quotearg.h immediately after config.h.
85601         No need to include stddef.h or sys/types.h any more.
85602         Surround local include files with "", not "<>".
85603         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
85604         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
85605         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
85606         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
85607         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
85608         (ISPRINT): Remove; no longer needed now that we assume C89.
85609
85610         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
85611         Preserve errno.
85612
85613         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
85614         quotearg_char): Use SIZE_MAX rather than
85615         (size_t) -1 when we are talking about "infinity".
85616
85617         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
85618
85619 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85620
85621         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
85622         hint that one should use `if (! x) abort ();' rather than `assert
85623         (x);', and anyway it's one less thing to worry about configuring.
85624         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
85625         hash_rehash, hash_insert): Use abort rather than assert.
85626
85627 2002-11-22  Bruno Haible  <bruno@clisp.org>
85628
85629         * lib/safe-read.h: Assume C89. Add comments.
85630         (safe_read): Change return type to size_t.
85631         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
85632         byte counts > SSIZE_MAX correctly.
85633         * lib/safe-write.h: New file.
85634         * lib/safe-write.c: New file.
85635         * lib/full-read.h: New file.
85636         * lib/full-read.c: New file.
85637         * lib/full-write.h: Assume C89. Add comments.
85638         * lib/full-write.c: Include safe-write.h.
85639         (full_write): Rewritten to use safe_write.
85640         Suggested by Jim Meyering and Paul Eggert.
85641
85642 2002-11-21  Jim Meyering  <jim@meyering.net>
85643
85644         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
85645
85646         Merge in changes from the coreutils.
85647
85648         2002-09-25  Paul Eggert  <eggert@twinsun.com>
85649         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
85650         <stdint.h>.
85651         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
85652         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
85653         int.  Work more efficiently if X is the same width as uintmax_t.
85654         Do not compare X to -1, to avoid bogus compiler warning.
85655         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
85656         Don't assume that f_frsize and f_bsize are the same type.
85657
85658         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
85659         warning on FreeBSD.
85660
85661         * lib/makepath.c (make_path): Restore umask *before* creating the final
85662         component.
85663         (make_path): Minor reformatting.
85664
85665         * lib/xmalloc.c: Adjust to work with new autoconf macros,
85666         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
85667         HAVE_MALLOC/HAVE_REALLOC.
85668
85669         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
85670         dummy ones.  At least on GNU/Linux systems, `auto' means something
85671         else.
85672         From Michael Stone.
85673
85674 2002-11-21  Bruno Haible  <bruno@clisp.org>
85675
85676         Remove case insensitive option matching.
85677         * lib/argmatch.h (argcasematch): Remove declaration.
85678         (ARGCASEMATCH): Remove macro.
85679         (__xargmatch_internal): Remove case_sensitive argument.
85680         (XARGMATCH): Update.
85681         (XARGCASEMATCH): Remove macro.
85682         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
85683         case_sensitive argument.
85684         (argcasematch): Remove function.
85685         (__xargmatch_internal): Remove case_sensitive argument.
85686         (main): Use XARGMATCH instead of XARGCASEMATCH.
85687
85688         * lib/xmalloc.c: Change compile-time error message. Add comment about
85689         required autoconf version.
85690
85691 2002-11-20  Paul Eggert  <eggert@twinsun.com>
85692
85693         Merge argmatch cleanups from Bison.  Assume C89.
85694
85695         * lib/argmatch.c: Include config.h here, not in argmatch.h.
85696         Include stdlib.h, for EXIT_FAILURE.
85697         Always include <string.h>, since we assume C89.
85698         (EXIT_FAILURE): Remove pre-C89 bug workaround.
85699         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
85700         Include <stddef.h> instead, since it's all we need for size_t.
85701         (PARAMS): Remove.  All uses removed.
85702         (ARRAY_CARDINALITY): Do not bother to #undef.
85703         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
85704         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85705         Remove unnecessary parentheses.
85706         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85707         Insert necessary parentheses.
85708         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
85709         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
85710
85711 2002-11-19  Bruno Haible  <bruno@clisp.org>
85712
85713         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
85714         * lib/mbswidth.h: Include <stddef.h>, for size_t.
85715
85716         * lib/mbswidth.h (PARAMS): Remove macro.
85717         (mbswidth, mbsnwidth): Use ANSI C function declarations.
85718         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
85719
85720         * lib/gcd.h (PARAMS): Remove macro.
85721         (gcd): Use ANSI C function declarations.
85722         * lib/gcd.c (gcd): Likewise.
85723
85724 2002-11-15  Bruno Haible  <bruno@clisp.org>
85725
85726         * lib/strcspn.c: Include <stddef.h>.
85727         (strcspn): Use ANSI C function declaration. Change return type to
85728         size_t. Use NULL.
85729         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
85730         (strpbrk): Use NULL.
85731         * lib/strpbrk.h (PARAMS): Remove macro.
85732         (strpbrk): Use ANSI C function declaration.
85733         * lib/strstr.c: Don't include <sys/types.h>.
85734         * lib/strstr.h (PARAMS): Remove macro.
85735         (strstr): Use ANSI C function declarations.
85736
85737 2002-11-14  Karl Berry  <karl@gnu.org>
85738
85739         * config/mkinstalldirs: `do' on separate line, instead of
85740         `for var; do'.
85741
85742 2002-11-06  Bruno Haible  <bruno@clisp.org>
85743
85744         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
85745         * lib/gcd.c (gcd): Likewise.
85746
85747 2002-11-05  Bruno Haible  <bruno@clisp.org>
85748
85749         * lib/gcd.h: New file, from gettext-0.11.5.
85750         * lib/gcd.c: New file, from gettext-0.11.5.
85751
85752 2002-11-05  Bruno Haible  <bruno@clisp.org>
85753
85754         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85755         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85756         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85757         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85758
85759         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
85760         <libintl.h>.
85761         * lib/makepath.c: Include gettext.h instead of <locale.h> and
85762         <libintl.h>.
85763
85764         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
85765         * lib/human.c: Include gettext.h instead of <libintl.h>.
85766         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
85767         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
85768         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
85769         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
85770         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
85771         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
85772         (textdomain): Remove definition.
85773         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
85774
85775         * lib/long-options.c: Remove include of <libintl.h> and definition of
85776         _.
85777         * lib/same.c: Remove include of <libintl.h> and definition of _.
85778
85779 2002-11-04  Owen Taylor  <otaylor@redhat.com>
85780
85781         * lib/config.charset: A few additions for Solaris.
85782
85783 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85784
85785         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
85786         * lib/localcharset.c (locale_charset): Declare as extern "C".
85787
85788 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85789
85790         * lib/config.charset: msdos in uk_UA uses CP1125.
85791
85792 2002-11-04  Bruno Haible  <bruno@clisp.org>
85793
85794         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
85795         * lib/strcase.h: New file, from GNU gettext-0.11.5.
85796         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
85797         * lib/strstr.h: New file, from GNU gettext-0.11.5.
85798         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
85799
85800 2002-11-04  Bruno Haible  <bruno@clisp.org>
85801
85802         * lib/localcharset.c (locale_charset): Don't return an empty string.
85803
85804 2002-11-04  Bruno Haible  <bruno@clisp.org>
85805
85806         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
85807         aliases.
85808
85809 2002-11-04  Bruno Haible  <bruno@clisp.org>
85810
85811         * lib/config.charset: Update for newest glibc. Add canonical names
85812         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
85813
85814 2002-11-04  Bruno Haible  <bruno@clisp.org>
85815
85816         * lib/config.charset: Add support for NetBSD.
85817
85818 2002-11-04  Bruno Haible  <bruno@clisp.org>
85819
85820         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
85821
85822 2002-11-01  Bruno Haible  <bruno@clisp.org>
85823
85824         * configure.in: Add AC_CONFIG_AUX_DIR call.
85825         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
85826         test/Makefile.
85827         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
85828
85829 2002-09-28  Karl Berry  <karl@gnu.org>
85830
85831         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
85832         installed automake until the next release, since changes have been
85833         made.
85834
85835 2002-09-25  Karl Berry  <karl@gnu.org>
85836
85837         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85838         * lib/getopt*: copy from libc/posix.
85839         * lib/gettext.h: copy from gettext.
85840         * lib/.cppi-disable: add strdup.c, gettext.h.
85841
85842 2002-09-25  Karl Berry  <karl@gnu.org>
85843
85844         * config/srclist.txt: enable gettext.h check.
85845         * config/config.{guess,sub}: update from prep.
85846         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85847                 from automake 1.6.3.
85848         See srclist*.
85849
85850 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85851
85852         * regex.c (PATFETCH): Remove the translating fetch.
85853         (PATFETCH_RAW): Rename to PATFETCH.
85854         (set_image_of_range): New fun.
85855         (SET_RANGE_TABLE_WORK_AREA): Use it.
85856         (regex_compile): Don't translate the pattern chars so eagerly.
85857         Only do it when inserting an `exactn' bytecode or when handling
85858         a char-range.
85859         (mutually_exclusive_p): Avoid empty statement.
85860
85861 2002-07-06  Jim Meyering  <meyering@lucent.com>
85862
85863         * m4/README: Don't mention Makefile.am.in.
85864         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85865
85866 2002-07-01  Jim Meyering  <meyering@lucent.com>
85867
85868         * lib/c-stack.c: Include sys/time.h.
85869         From Volker Borchert.
85870
85871 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85872
85873         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85874
85875 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85876
85877         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85878         New macro.  Use it uniformly instead of
85879         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85880         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85881         reported by Vin Shelton.
85882
85883 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85884
85885         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85886         Do not assume SA_SIGINFO behavior.
85887         Bug reported by Jim Meyering on NetBSD 1.5.2.
85888
85889 2002-06-22  Jim Meyering  <meyering@lucent.com>
85890
85891         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85892         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85893
85894         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85895         now that configure.ac uses AC_GNU_SOURCE.
85896         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85897         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85898
85899         Update to latest tools.  Suggestions from Paul Eggert.
85900         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85901         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85902         * m4/fnmatch.m4: Likewise.
85903         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85904         to AC_HEADER_STDBOOL
85905
85906 2002-06-22  Jim Meyering  <meyering@lucent.com>
85907
85908         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85909         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85910
85911 2002-06-22  Jim Meyering  <meyering@lucent.com>
85912
85913         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85914
85915         * lib/exitfail.c, exitfail.h: Likewise.
85916         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85917
85918         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85919         of fnmatch.h.
85920         (EXTRA_DIST): Add fnmatch_loop.c.
85921         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85922
85923         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85924         * lib/fnmatch.c: Update from diffutils-2.8.2.
85925         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85926         * lib/fnmatch.h: Remove file.
85927
85928 2002-06-21  Jim Meyering  <meyering@lucent.com>
85929
85930         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85931         * m4/mbrtowc.m4: Likewise.
85932
85933         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85934         * m4/mbswidth.m4: Reflect name change:
85935         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85936         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85937
85938         * m4/lib-link.m4: Update from gettext-0.11.2.
85939         * m4/gettext.m4: Likewise.
85940
85941         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85942         From Alfred M. Szmidt.
85943
85944 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85945
85946         * lib/file-type.h: Report an error if neither S_ISREG nor
85947         S_IFREG is defined, instead of using a test specific to glibc
85948         2.2.  This should be safe, since POSIX requires S_ISREG and
85949         Unix Version 7 had S_IFREG.  We don't need to check for
85950         <sys/types.h> since we don't use any symbols that it defines.
85951
85952 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85953
85954         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85955         $@-t, so that each temporary file name is unique and valid in the first
85956         8 characters, for operation under DOS.
85957
85958 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85959
85960         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85961
85962 2002-06-15  Jim Meyering  <meyering@lucent.com>
85963
85964         Work even with DJGPP 2.03, which lacks support for symlinks.
85965         From Richard Dawe.
85966         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85967         is defined.
85968         * lib/lchown.c (S_ISLNK): Likewise.
85969
85970 2002-06-15  Jim Meyering  <meyering@lucent.com>
85971
85972         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85973         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85974         have been included before this file.
85975
85976 2002-06-14  Jim Meyering  <meyering@lucent.com>
85977
85978         * lib/file-type.h: Use the version from diffutils-2.8.2.
85979         * lib/file-type.c: Likewise.
85980
85981 2002-06-07  Jim Meyering  <meyering@lucent.com>
85982
85983         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85984         They're needed at least for NetBSD 1.5.2.
85985         ($statxfs_includes): Include those same headers.
85986         ($statxfs_includes): Include sys/vfs.h if available.
85987         ($statxfs_includes): Likewise for sys/statvfs.h.
85988         Check for the following members in both structs statfs and statvfs:
85989         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85990
85991 2002-06-01  Jim Meyering  <meyering@lucent.com>
85992
85993         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85994         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85995
85996 2002-05-28  Jim Meyering  <meyering@lucent.com>
85997
85998         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85999         Reported by Volker Borchert.
86000
86001 2002-05-27  Jim Meyering  <meyering@lucent.com>
86002
86003         Fix a problem seen only on nonconforming systems whereby ls.c's
86004         use of localtime, and then of gettimeofday would cause trouble:
86005         the localtime call used to initialize rpl_gettimeofday's save
86006         mechanism would clobber ls's current local time information so
86007         that in any long listing the first file would always be listed
86008         with date 1970-01-01.  Analysis by Volker Borchert.
86009
86010         * lib/gettimeofday.c (localtime): Undefine.
86011         (rpl_localtime): New function.
86012
86013 2002-05-27  Jim Meyering  <meyering@lucent.com>
86014
86015         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
86016         localtime.
86017
86018         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
86019         use the replacement function; it wouldn't resolve at link time.
86020         Reported by Volker Borchert.
86021
86022 2002-05-22  Jim Meyering  <meyering@lucent.com>
86023
86024         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
86025         file-type.h.
86026         * lib/file-type.h: New file.
86027         * lib/file-type.c (file_type): New file/function.  Extracted from
86028         diffutils.
86029
86030 2002-04-30  Jim Meyering  <meyering@lucent.com>
86031
86032         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
86033
86034 2002-04-29  Paul Eggert  <eggert@twinsun.com>
86035
86036         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
86037
86038 2002-04-29  Paul Eggert  <eggert@twinsun.com>
86039
86040         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
86041         Do not check for alloca.h (no longer used) or stdbool.h (was never
86042         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
86043
86044 2002-04-29  Paul Eggert  <eggert@twinsun.com>
86045
86046         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
86047
86048 2002-04-29  Jim Meyering  <meyering@lucent.com>
86049
86050         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
86051         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
86052         Use AC_FUNC_STRNLEN here instead.
86053
86054         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
86055         With autoconf-2.53a, it's part of AC_PROG_CC.
86056
86057 2002-04-28  Paul Eggert  <eggert@twinsun.com>
86058
86059         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
86060         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
86061
86062 2002-04-28  Paul Eggert  <eggert@twinsun.com>
86063
86064         * lib/sig2str.h, lib/sig2str.c: New files.
86065         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
86066
86067 2002-04-28  Paul Eggert  <eggert@twinsun.com>
86068
86069         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
86070         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
86071         of 127, since 64 is the largest conceivable number for ancient
86072         nonstandard hosts.
86073         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
86074
86075 2002-04-28  Jim Meyering  <meyering@lucent.com>
86076
86077         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
86078
86079 2002-04-24  Jim Meyering  <meyering@lucent.com>
86080
86081         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
86082         (jm_PREREQ): Use it.
86083
86084         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
86085         mach/mach.h fcntl.h.
86086         Check for this function: setlocale.
86087
86088 2002-04-24  Jim Meyering  <meyering@lucent.com>
86089
86090         * lib/gettext.h: New file, from Gettext.
86091         * lib/Makefile.am (INCLUDES): Remove -I../intl.
86092         (libfetish_a_SOURCES): Add gettext.h.
86093
86094 2002-04-16  Jim Meyering  <meyering@lucent.com>
86095
86096         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
86097         ut_pid, ut_id, ut_exit.
86098
86099 2002-04-16  Jim Meyering  <meyering@lucent.com>
86100
86101         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
86102         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
86103         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
86104
86105 2002-04-12  Jim Meyering  <meyering@lucent.com>
86106
86107         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
86108         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
86109         existence of the getmntinfo function.  Needed for Darwin 5.3.
86110
86111         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
86112         This is necessary at least on Darwin 5.3.
86113
86114         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
86115         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
86116         strnlen.o in the library, and that makes some versions of ranlib
86117         object.
86118
86119 2002-04-12  Jim Meyering  <meyering@lucent.com>
86120
86121         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
86122
86123 2002-04-09  Jim Meyering  <meyering@lucent.com>
86124
86125         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
86126         to be more precise.  Rather than saying we're checking whether the
86127         function `works', say what we're testing.
86128         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
86129         Reported by Bruno Haible.
86130
86131 2002-03-10  Jim Meyering  <meyering@lucent.com>
86132
86133         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
86134         Suggestion from Santiago Vila.
86135
86136 2002-03-08  Jim Meyering  <meyering@lucent.com>
86137
86138         * lib/rename.c: Mention that this wrapper is needed also on
86139         mips-dec-ultrix4.4 systems.
86140
86141 2002-03-02  Jim Meyering  <meyering@lucent.com>
86142
86143         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
86144         not HAVE_CLOCK_SETTIME.
86145
86146 2002-02-27  Paul Eggert  <eggert@twinsun.com>
86147
86148         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
86149         Check for clock_settime.
86150
86151 2002-02-27  Paul Eggert  <eggert@twinsun.com>
86152
86153         * lib/nanosleep.h: Rename to....
86154         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
86155
86156         * lib/gettime.c: New file.
86157         * lib/settime.c: New file.
86158         * lib/stime.c: Remove.
86159
86160         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
86161         timespec.h.  Remove nanosleep.h.
86162
86163 2002-02-25  Paul Eggert  <eggert@twinsun.com>
86164
86165         * m4/acl.m4: New file.
86166         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
86167         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
86168
86169 2002-02-25  Paul Eggert  <eggert@twinsun.com>
86170
86171         * lib/acl.c, lib/acl.h: New files.
86172         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
86173
86174 2002-02-24  Jim Meyering  <meyering@lucent.com>
86175
86176         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
86177         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
86178         cause trouble.  Reported by Nelson Beebe.
86179
86180 2002-02-23  Paul Eggert  <eggert@twinsun.com>
86181
86182         * lib/path-concat.c (xpath_concat): Reorder code to pacify
86183         compilers that don't know that xalloc_die never returns.
86184
86185 2002-02-20  Jim Meyering  <meyering@lucent.com>
86186
86187         * lib/getdate.c: Regenerate using bison-1.33.
86188
86189 2002-02-17  Jim Meyering  <meyering@lucent.com>
86190
86191         * config/config.guess (main): Don't use `head -1'; it's no longer
86192         portable. Use `sed 1q' instead.
86193
86194 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
86195
86196         * m4/codeset.m4: Upgrade to gettext-0.11.
86197         * m4/gettext.m4: Upgrade to gettext-0.11.
86198         * m4/glibc21.m4: Upgrade to gettext-0.11.
86199         * m4/iconv.m4: Upgrade to gettext-0.11.
86200         * m4/isc-posix.m4: Upgrade to gettext-0.11.
86201         * m4/lcmessage.m4: Upgrade to gettext-0.11.
86202         * m4/lib-ld.m4: New file, from gettext-0.11.
86203         * m4/lib-link.m4: New file, from gettext-0.11.
86204         * m4/lib-prefix.m4: New file, from gettext-0.11.
86205         * m4/progtest.m4: Upgrade to gettext-0.11.
86206
86207 2002-02-15  Paul Eggert  <eggert@twinsun.com>
86208
86209         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
86210         (jm_PREREQ): Use it.
86211
86212 2002-02-15  Paul Eggert  <eggert@twinsun.com>
86213
86214         * lib/posixver.c, lib/posixver.h: New files.
86215         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
86216
86217 2002-02-02  Paul Eggert  <eggert@twinsun.com>
86218             Bruno Haible  <bruno@clisp.org>
86219
86220         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
86221         (fwrite_success_callback): New declaration.
86222         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
86223         print_unicode_char. Call failure callback instead of error.
86224         (fwrite_success_callback): New function.
86225         (exit_failure_callback): New function.
86226         (fallback_failure_callback): New function.
86227         (print_unicode_char): Call unicode_to_mb.
86228
86229 2002-01-26  Jim Meyering  <meyering@lucent.com>
86230
86231         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
86232         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
86233
86234 2002-01-26  Jim Meyering  <meyering@lucent.com>
86235
86236         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
86237
86238 2002-01-22  Paul Eggert  <eggert@twinsun.com>
86239
86240         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
86241
86242 2002-01-22  Jim Meyering  <meyering@lucent.com>
86243
86244         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
86245         Otherwise, some versions of automake would omit the rule that makes
86246         Makefile from Makefile.in.
86247
86248 2002-01-21  Paul Eggert  <eggert@twinsun.com>
86249
86250         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
86251         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
86252         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
86253         (memcoll): Set errno to zero if there is no error.
86254
86255         * lib/quotearg.c (quotearg_buffer_restyled):
86256         Fix bug with quoting buffers containing NUL when backslashing escapes.
86257         This bug was exposed by the other changes in this patch.
86258         (quotearg_n_options): New arg ARGSIZE.
86259         All callers changed.
86260         (quoting_options_from_style): New function.
86261         (quotearg_n_style): Use it.
86262         (quotearg_n_style_mem): New function.
86263
86264         * lib/quotearg.h (quotearg_n_style_mem): New function.
86265
86266 2002-01-19  Jim Meyering  <meyering@lucent.com>
86267
86268         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
86269         Remove useless quotes: DF_PROG="df".
86270         * m4/strnlen.m4: New file.
86271
86272 2002-01-16  Paul Eggert  <eggert@twinsun.com>
86273
86274         * lib/backupfile.c (ISDIGIT): Comment fix.
86275         * lib/getdate.y (ISDIGIT): Likewise.
86276         * lib/posixtm.c (ISDIGIT, year): Likewise.
86277         * lib/strverscmp.c (ISDIGIT): Likewise.
86278         * lib/userspec.c (ISDIGIT): Likewise.
86279
86280 2002-01-16  Jim Meyering  <meyering@lucent.com>
86281
86282         * lib/getdate.y: Add three semicolons, each just before a closing
86283         brace. Bison (as of version 1.31) no longer papers over that mistake.
86284
86285 2002-01-05  Jim Meyering  <meyering@lucent.com>
86286
86287         * lib/version-etc.c (version_etc_copyright): Update copyright year.
86288
86289 2001-12-19  Paul Eggert  <eggert@twinsun.com>
86290
86291         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
86292         not silently exit merely because the output buffer happens to
86293         have nothing pending.
86294
86295 2001-12-18  Paul Eggert  <eggert@twinsun.com>
86296
86297         See the big note in ../ChangeLog.
86298         * lib/human.c (suffixes): Prefer K to k for 1024.
86299         (generate_suffix_backwards): New function.
86300         (human_readable_inexact): Use it.
86301         * lib/xstrtol.c (__xstrtol): If there is no number but there
86302         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
86303         Accept 'K' as well as 'k'.
86304
86305 2001-12-15  Jim Meyering  <meyering@lucent.com>
86306
86307         * lib/regex.h (__restrict_arr): Update from libc.
86308
86309         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
86310         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
86311         (STREQ): Define.
86312
86313 2001-12-14  Jim Meyering  <meyering@lucent.com>
86314
86315         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
86316         Suggestion from Bruno Haible.
86317
86318 2001-12-10  Jim Meyering  <meyering@lucent.com>
86319
86320         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
86321         xrealloc, Instead, include "xalloc.h".
86322         (initbuffer): Don't cast xmalloc return value to char*.
86323         (readline): Reword comment.
86324         Don't cast xrealloc return value to char*
86325         Return NULL, not 0.
86326
86327 2001-12-09  Jim Meyering  <meyering@lucent.com>
86328
86329         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
86330         about `signed and unsigned type in conditional expression'.
86331         * lib/posixtm.c (posix_time_parse): Likewise.
86332
86333         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
86334
86335         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
86336         to avoid a pedantic warning.
86337
86338         * lib/getstr.c: Don't include assert.h.
86339         (getstr): Remove warning-evoking assertions.
86340         Return -1 if offset parameter is out of bounds.
86341         Change the type of a local from int to size_t.
86342
86343         * lib/strftime.c (my_strftime_localtime_r): Include this function
86344         definition in the `#if ! HAVE_TM_GMTOFF' block.
86345
86346         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
86347         Include xalloc.h instead.
86348
86349 2001-12-02  Jim Meyering  <meyering@lucent.com>
86350
86351         * lib/tempname.c: Don't declare getenv, thus reverting the change of
86352         2001-11-18.  It's no longer necessary, now that stdlib.h is always
86353         included.
86354
86355         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
86356         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
86357
86358 2001-11-30  Akim Demaille  <akim@epita.fr>
86359
86360         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
86361         before being defined.
86362
86363 2001-11-27  Paul Eggert  <eggert@twinsun.com>
86364
86365         * lib/quotearg.h (quotearg_n, quotearg_n_style):
86366         First arg is int, not unsigned.
86367         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
86368         (SIZE_MAX, UINT_MAX): New macros.
86369         (quotearg_n_options): Abort if N is negative.
86370         Avoid overflow check on hosts where size_t is 64 bits and int
86371         is 32 bits, as overflow is impossible there.
86372         Fix off-by-one typo that caused unnecessary reallocation.
86373
86374 2001-11-27  Jim Meyering  <meyering@lucent.com>
86375
86376         * lib/tempname.c: Merge with version from libc.
86377         * lib/regex.c: Likewise.
86378
86379         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
86380         systems for which STDC_HEADERS is 0, it was not included, resulting in
86381         a warning about an integer-to-pointer conversion problem with getenv.
86382         Reported by Volker Borchert.
86383
86384 2001-11-26  Jim Meyering  <meyering@lucent.com>
86385
86386         * lib/gtod.h: Remove file.
86387         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
86388         * lib/gettimeofday.c: Don't include gtod.h.
86389         (GTOD_init): Remove function.
86390         (rpl_gettimeofday): Do its job here instead, rather than aborting.
86391         Suggestion from Volker Borchert.
86392
86393 2001-11-23  Jim Meyering  <meyering@lucent.com>
86394
86395         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
86396         it.
86397         * lib/hash.c (struct hash_table): Define it here instead.
86398
86399 2001-11-22  Jim Meyering  <meyering@lucent.com>
86400
86401         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
86402
86403 2001-11-20  Jim Meyering  <meyering@lucent.com>
86404
86405         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
86406         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
86407
86408 2001-11-19  Jim Meyering  <meyering@lucent.com>
86409
86410         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
86411         directory.  Use "conftestXXXXXX" as the template.
86412         Suggestion from Paul Eggert.
86413
86414         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
86415         immediately, so the test doesn't mistakenly hit the max-open-files
86416         limit.
86417
86418 2001-11-18  Paul Eggert  <eggert@twinsun.com>
86419
86420         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
86421         (TEMPORARIES): New macro.
86422         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
86423         removes an artificial limitation (e.g. HP-UX 10.20, where
86424         TMP_MAX is 17576).
86425
86426 2001-11-18  Jim Meyering  <meyering@lucent.com>
86427
86428         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
86429
86430 2001-11-18  Jim Meyering  <meyering@lucent.com>
86431
86432         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
86433         on SunOS 4.
86434
86435         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
86436         files will be created before anything else.
86437
86438 2001-11-17  Paul Eggert  <eggert@twinsun.com>
86439
86440         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
86441         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
86442
86443 2001-11-17  Jim Meyering  <meyering@lucent.com>
86444
86445         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
86446         Prompted by a report from Bob Proulx.
86447
86448         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
86449         Instead, require UTILS_FUNC_MKSTEMP.
86450
86451 2001-11-17  Jim Meyering  <meyering@lucent.com>
86452
86453         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
86454         Now, that's done as part of AC_FUNC_STRTOD.
86455
86456 2001-11-17  Jim Meyering  <meyering@lucent.com>
86457
86458         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
86459         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
86460         rather than group writable.  Patch by Juan F. Codagnone.
86461
86462         * lib/readtokens.c: Remove explicit declarations of xmalloc and
86463         xrealloc, Instead, include "xalloc.h".
86464
86465         * lib/mountlist.c: Include unlocked-io.h after all system headers.
86466         Remove explicit declarations of xmalloc, xrealloc,
86467         and xstrdup.  Instead, include "xalloc.h".
86468
86469         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
86470         unlocked-io.h.
86471         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
86472         Likewise.
86473         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
86474
86475         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
86476         Reported by Padraig Brady.
86477
86478         * lib/mkstemp.c: #undef mkstemp.
86479         Include config.h.
86480         (rpl_mkstemp): Rename from mkstemp.
86481         Protoize.
86482
86483 2001-11-16  Jim Meyering  <meyering@lucent.com>
86484
86485         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
86486         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
86487         determine the amount of total physical memory, use pstat_getstatic.
86488         HPUX-11 doesn't define _SC_PHYS_PAGES.
86489         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
86490         If sysconf couldn't be used to determine the amount of available
86491         physical memory, use both pstat_getstatic and pstat_getdynamic.
86492         Based on a patch from Bob Proulx.
86493
86494 2001-11-10  Jim Meyering  <meyering@lucent.com>
86495
86496         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
86497         (jm_PREREQ): Use it.
86498
86499 2001-11-09  Jim Meyering  <meyering@lucent.com>
86500
86501         * m4/jm-macros.m4: Require autoconf-2.52f.
86502         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
86503         Use these AC_-prefixed names, not the AM_-prefixed ones.
86504
86505         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
86506
86507 2001-11-05  Jim Meyering  <meyering@lucent.com>
86508
86509         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
86510
86511 2001-11-04  Jim Meyering  <meyering@lucent.com>
86512
86513         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
86514         $DEFS.
86515
86516 2001-11-03  Jim Meyering  <meyering@lucent.com>
86517
86518         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
86519         of AC_DEFUN.
86520
86521         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
86522         know the name of the variable in the macro definition.
86523
86524 2001-11-03  Jim Meyering  <meyering@lucent.com>
86525
86526         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
86527         in argmatch_to_argument call.
86528
86529         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
86530         argument.
86531
86532         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
86533         e.g., a fault due to an attempt to free a NULL pointer.
86534
86535 2001-11-01  Jim Meyering  <meyering@lucent.com>
86536
86537         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
86538         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
86539
86540 2001-11-01  Jim Meyering  <meyering@lucent.com>
86541
86542         * lib/dirfd.c, lib/dirfd.h: New files.
86543         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
86544
86545         * lib/hash.c (hash_print) [TESTING]: Clean up.
86546
86547 2001-10-22  Paul Eggert  <eggert@twinsun.com>
86548
86549         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
86550         to avoid a warning if -Wall.
86551
86552 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
86553
86554         * README: New file
86555         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
86556         (per RMS's instructions, this is now the canonical source)
86557         * lgpl/, gpl/: New directories.
86558
86559 2001-10-21  Paul Eggert  <eggert@twinsun.com>
86560
86561         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
86562
86563 2001-10-21  Jim Meyering  <meyering@lucent.com>
86564
86565         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
86566         this code would end up calling gettext even in packages built
86567         with --disable-nls.
86568         * lib/getopt.c (_): Likewise.
86569         * lib/regex.c (_): Likewise.
86570
86571 2001-10-20  Paul Eggert  <eggert@twinsun.com>
86572
86573         * m4/error.m4 (jm_PREREQ_ERROR):
86574         Do not invoke AC_CHECK_FUNCS with strerror_r, as
86575         AC_FUNC_STRERROR_R does that.
86576         Check for strerror declaration.
86577
86578         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
86579         are supposed to have them these days.
86580         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
86581         Merge changes from latest Autoconf CVS.
86582         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
86583         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
86584         POSIX decided to standardize on the int flavor of strerror_r.
86585
86586 2001-10-20  Paul Eggert  <eggert@twinsun.com>
86587
86588         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
86589         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
86590         Use strerror_r that is only a macro, even if it is not a function.
86591         (strerror): Check for HAVE_DECL_STRERROR before declaring.
86592         (private_strerror): Use prototypes, not old-style function definition.
86593         (print_errno_message): New function.
86594         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
86595         char*-flavored one.
86596         (error_tail, error, error_at_line): Use it.
86597
86598 2001-10-11  Jim Meyering  <meyering@lucent.com>
86599
86600         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
86601         and quote_n (1, ... to avoid clobbering a buffer.
86602
86603 2001-10-05  Jim Meyering  <meyering@lucent.com>
86604
86605         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
86606         hash-pjw.h.
86607         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
86608         * lib/hash-pjw.h: New file.
86609
86610 2001-09-30  Jim Meyering  <meyering@lucent.com>
86611
86612         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
86613         `struct fsstat' has the `f_fstypename' member.
86614         Use that to define FS_TYPE, which is now used to make
86615         the getfsstat link test tighter.
86616
86617 2001-09-30  Jim Meyering  <meyering@lucent.com>
86618
86619         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
86620         Include <sys/ucred.h>, for Apple Darwin.
86621         Include sys/mount.h and sys/fs_types.h only if available.
86622         (FS_TYPE): Define.
86623         (read_filesystem_list): Use FS_TYPE.
86624
86625 2001-09-29  Paul Eggert  <eggert@twinsun.com>
86626
86627         * lib/exclude.c (excluded_filename): 0 -> false, since it's
86628         a boolean context.
86629
86630 2001-09-29  Jim Meyering  <meyering@lucent.com>
86631
86632         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86633         [one-argument getmntent function]): Include stdio.h before mntent.h.
86634         SunOS 4.1.x needs it for the declaration of `FILE'.
86635         Patch by Volker Borchert.
86636
86637         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86638         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
86639         sys/fs_types.h, and make the link-test for getfsstat guard #include
86640         directives with appropriate #if HAVE_*_H tests so that we can
86641         detect getfsstat on Apple Darwin1.3.7 systems.
86642         Reported by Nelson Beebe.
86643         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
86644
86645 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86646
86647         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86648         #defines strtoimax.  Also treat the other strto* functions
86649         like strtoimax.
86650
86651         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86652         Check for strtoul and strtoumax,
86653         as those declarations are made even in the signed case.
86654         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
86655         Likewise, for strtol and strtoimax.
86656
86657 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86658
86659         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86660         #defines strtoimax.  Also treat the other strto* functions
86661         like strtoimax.
86662
86663         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
86664         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
86665         (strtoimax, strtoumax): Do not declare if already defined as a macro.
86666
86667 2001-09-26  Jim Meyering  <meyering@lucent.com>
86668
86669         Most macros in unlocked-io.h had the wrong number of arguments.
86670         * lib/gen-uio: New script.
86671         (USE_UNLOCKED_IO): Define to 1 if not already defined.
86672         * lib/unlocked-io.hin: Remove file.
86673         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
86674         rather than trying to embed it here.
86675         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
86676         Reported by Padraig Brady.
86677
86678 2001-09-25  Volker Borchert  <bt@teknon.de>
86679
86680         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
86681         `result'.
86682
86683 2001-09-24  Jim Meyering  <meyering@lucent.com>
86684
86685         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
86686
86687 2001-09-23  Jim Meyering  <meyering@lucent.com>
86688
86689         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
86690         instead of the mere test for existence of mntent.h.  The latter
86691         would get a false-positive on AIX 3.4 systems.
86692         In the outer getmntent if-block, don't die if neither of the getmntent
86693         tests succeeds.  Instead, just fall through and continue with the
86694         remaining tests.
86695
86696 2001-09-23  Jim Meyering  <meyering@lucent.com>
86697
86698         * lib/mountlist.c: Remove useless parentheses in #if directives.
86699         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
86700         the deprecated MOUNTED symbol is no longer defined in mntent.h.
86701
86702 2001-09-22  Jim Meyering  <meyering@lucent.com>
86703
86704         * m4/gettext.m4: New file.  From gettext.
86705         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
86706         * m4/progtest.m4: Likewise
86707         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
86708         * m4/glibc21.m4: Likewise.
86709
86710         * m4/libintl.m4: Remove.  No longer used.
86711
86712 2001-09-22  Jim Meyering  <meyering@lucent.com>
86713
86714         * lib/localcharset.c: Update from latest gettext.
86715         * lib/config.charset: Likewise.
86716
86717 2001-09-20  Jim Meyering  <meyering@lucent.com>
86718
86719         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
86720         strtoimax.
86721         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
86722         strtoumax.
86723
86724 2001-09-20  Jim Meyering  <meyering@lucent.com>
86725
86726         * lib/xstrtol.c (strtoimax): Guard declaration with
86727         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
86728         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
86729         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
86730         (strtoumax): Likewise, for completeness (it wasn't necessary).
86731
86732 2001-09-17  Paul Eggert  <eggert@twinsun.com>
86733
86734         * lib/strtoimax.c (HAVE_LONG_LONG):
86735         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
86736         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
86737         to work around bug in IBM C compiler.
86738
86739 2001-09-17  Jim Meyering  <meyering@lucent.com>
86740
86741         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
86742         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
86743         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
86744         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
86745         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
86746         whenever the right hand side need not be expanded by the shell.
86747
86748 2001-09-16  Paul Eggert  <eggert@twinsun.com>
86749
86750         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
86751         library.  It's not correct, as some older glibcs are buggy.
86752         fnmatch wasn't fixed until glibc 2.2.
86753
86754         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
86755         special shell magic here.
86756
86757 2001-09-16  Jim Meyering  <meyering@lucent.com>
86758
86759         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
86760         * m4/jm-macros.m4: Require it.
86761
86762 2001-09-16  Jim Meyering  <meyering@lucent.com>
86763
86764         * lib/mkdir.c: New file.
86765
86766 2001-09-15  Jim Meyering  <meyering@lucent.com>
86767
86768         * m4/jm-macros.m4: Check for help2man.
86769
86770 2001-09-11  Jim Meyering  <meyering@lucent.com>
86771
86772         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
86773         The body, by Paul Eggert, was moved here from configure.in.
86774         * m4/jm-macros.m4: Require UTILS_HOST_OS.
86775
86776 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86777
86778         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
86779         (jm_PREREQ): Use it.
86780
86781 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86782
86783         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
86784         Use ssize_t, not int, to store result of readlink.
86785         Check for ssize_t overflow as well as size_t overflow,
86786         as POSIX says the result of readlink is implementation-defined
86787         when ssize_t overflows.
86788         Remove unnecessary cast to char*.
86789         Use free+malloc instead of realloc, as the storage doesn't need
86790         to be preserved and it's clearer and can be more efficient that way.
86791         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
86792         * lib/xreadlink.h (xreadlink): Update prototype.
86793
86794 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86795
86796         * lib/xgetcwd.c: Revert some of the previous change; intead,
86797         fix the HAVE_GETCWD_NULL code to behave more like the
86798         !HAVE_GETCWD_NULL code used to.
86799
86800         Include "xalloc.h".
86801         (xgetcwd): Do not return NULL when memory is exhausted; instead,
86802         invoke xalloc_die.
86803
86804 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86805
86806         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
86807         sys/param.h, as pathmax.h includes them.
86808
86809 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86810
86811         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
86812         (jm_PREREQ_XGETCWD): New macro.
86813
86814         * m4/getcwd.m4: New file.
86815
86816 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86817
86818         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
86819         like the HAVE_GETCWD_NULL code.
86820         Include pathmax.h if not HAVE_GETCWD.
86821         Do not include xalloc.h.
86822         (INITIAL_BUFFER_SIZE): New symbol.
86823         Do not use xmalloc / xrealloc, since the caller is responsible for
86824         handling errors.  Preserve errno around `free' during failure.
86825         Do not overrun buffer when using getwd.
86826
86827 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86828
86829         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
86830         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
86831         getcwd (NULL, 0).
86832
86833 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86834
86835         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
86836         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
86837         spotted by Jim Meyering.
86838
86839 2001-09-03  Jim Meyering  <meyering@lucent.com>
86840
86841         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86842         failure.
86843
86844 2001-09-02  Jim Meyering  <meyering@lucent.com>
86845
86846         * lib/error.c: Update from GNU libc.
86847
86848 2001-09-01  Jim Meyering  <meyering@lucent.com>
86849
86850         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86851         Used by df.
86852
86853 2001-09-01  Jim Meyering  <meyering@lucent.com>
86854
86855         * lib/xreadlink.c: New file.
86856         * lib/xreadlink.h: New file.
86857         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86858         xreadlink.h.
86859
86860         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86861         doesn't conflict with sparc Solaris 7's definition in
86862         /usr/include/sys/int_types.h.
86863
86864         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86865         files.
86866         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86867         and strncasecmp as r-values.  Unixware didn't have declarations.
86868
86869 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86870
86871         * lib/xstrtol.h: Add copyright notice.
86872         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86873         LONGINT_INVALID_SUFFIX_CHAR.
86874
86875 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86876
86877         * lib/xstrtol.c (strtoimax): New decl.
86878
86879 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86880
86881         * lib/xgetcwd.c: Don't include pathmax.h.
86882         Include stdlib.h and unistd.h if available.
86883         Include xalloc.h.
86884         (xmalloc, xstrdup, free): Remove decls.
86885         (xgetcwd): Don't assume sizes fit in unsigned.
86886         Check for overflow when computing sizes.
86887         Simplify reallocation code.
86888
86889 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86890
86891         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86892         a directory's st_size can have an arbitrary value, so the old
86893         usage could waste an arbitrary amount of memory.  All uses
86894         changed.
86895         * lib/savedir.h: Update prototype.
86896
86897 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86898
86899         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86900
86901         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86902         old strtoimax.c.
86903
86904         Also, make the following further changes to make this file's
86905         configuration more similar to that of strtol.c:
86906         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86907         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86908         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86909         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86910         changed to signed values.
86911
86912         And make the following changes as well:
86913         Fix copyright notice, as 1999 was missing.
86914         (verify): New macro.
86915         (strtoimax): Check sizes at compile-time, not run-time.
86916         Prefer strtol to strtoll if both work.
86917         (main): Remove; it was not that useful and was a pain to maintain.
86918
86919         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86920
86921 2001-08-31  Jim Meyering  <meyering@lucent.com>
86922
86923         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86924         Use an initial, malloc'd, buffer of length 128 rather than
86925         a statically allocated one of length 1024.
86926
86927 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86928
86929         Simplify code, partly by assuming autoconf 2.52 semantics.
86930
86931         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86932
86933         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86934         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86935         All uses removed.
86936         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86937         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86938         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86939         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86940         jm_AC_HEADER_INTTYPES_H.
86941         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86942
86943         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86944
86945         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86946         Quote first arg of AC_DEFUN.
86947         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86948         since they are needed to parse the include file even if we need
86949         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86950         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86951         but with opposite signedness.
86952
86953 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86954
86955         Merge 'exclude' changes from tar 1.13.22.
86956         This fixes one or two unlikely storage allocation overflow bugs,
86957         but doesn't change user-visible behavior otherwise.
86958
86959 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86960
86961         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86962         (jm_PREREQ_EXCLUDE): New macro.
86963
86964 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86965
86966         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86967         tm to be declared.
86968
86969 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86970
86971         * lib/hash.c: Remove '2001' from copyright notice.
86972
86973 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86974
86975         * lib/full-write.h: New file.
86976         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86977         * lib/full-write.c: Correct credits, as cccp.c no longer
86978         exists and anyway it was so heavily changed from the old cccp
86979         code as to be unrecognizable.  Include full-write.h.
86980         (full_write): Return size_t, with short writes meaning failure.
86981         All callers changed.  This fixes a bug with large buffers
86982         on 64-bit hosts.
86983         * lib/utime.c: Include full-write.h.
86984
86985 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86986
86987         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86988         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86989         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86990         Include if available.
86991         (<xalloc.h>): Include
86992         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86993         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86994         collide with FNM macros.
86995         (struct patopts): New struct.
86996         (struct exclude): Use it, as exclude patterns now come with options.
86997         (new_exclude): Support above changes.
86998         (new_exclude, add_exclude_file):
86999         Initial size must now be a power of two to simplify overflow checking.
87000         (free_exclude, fnmatch_no_wildcards): New function.
87001         (excluded_filename): No longer requires options arg, as the options
87002         are determined by add_exclude.  Now returns bool, not int.
87003         (excluded_filename, add_exclude):
87004         Add support for the fancy new exclusion options.
87005         (add_exclude, add_exclude_file): Now takes int options arg.
87006         Check for arithmetic overflow when computing sizes.
87007         (add_exclude_file): xrealloc might modify errno, so don't
87008         realloc until after errno might be used.
87009
87010         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
87011         New macros.
87012         (free_exclude): New decl.
87013         (add_exclude, add_exclude_file): Now takes int options arg.
87014         (excluded_filename): No longer requires options arg, as the options
87015         are determined by add_exclude.  Now returns bool, not int.
87016
87017 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87018
87019         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
87020
87021 2001-08-27  Jim Meyering  <meyering@lucent.com>
87022
87023         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
87024
87025         * lib/version-etc.c (N_): Remove definition.
87026         Revert most of last change.
87027         Instead, simply don't mark the `Copyright...' string for translation.
87028         Based on advice from Paul Eggert.
87029
87030         * lib/strtoxmax.c: Tweak comment.
87031
87032 2001-08-26  Jim Meyering  <meyering@lucent.com>
87033
87034         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
87035
87036         * m4/xstrtoimax.m4: New file.
87037         * m4/xstrtoumax.m4: Add comments explaining why we
87038         AC_REPLACE_FUNCS(strtol).
87039
87040 2001-08-26  Jim Meyering  <meyering@lucent.com>
87041
87042         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
87043         of copyright with `%s' so translators don't get an untranslated
87044         message in 2002.
87045         (COPYRIGHT_YEAR): Define.
87046         (version_etc): Use fprintf rather than fputs.
87047         Suggestion from Ulrich Drepper.
87048
87049         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
87050
87051         * lib/strtoll.c: New file, from GNU libc.
87052         * lib/xstrtoimax.c: New file.
87053
87054         * lib/xstrtol.h: Add xstrtoimax.
87055         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
87056         * lib/strtoimax.c: New file.  Likewise, but first define
87057         STRTOUXMAX_SIGNED.
87058
87059         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
87060         ...
87061         * lib/strtoxmax.c: ... then renamed to this.
87062
87063 2001-08-18  Paul Eggert  <eggert@twinsun.com>
87064
87065         * m4/inttypes.m4: Add AC_PREREQ(2.13).
87066         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
87067         (jm_AC_TYPE_INTMAX_T): New macro.
87068         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
87069
87070         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
87071
87072         * m4/longlong.m4: Renamed from ulonglong.m4.
87073         * m4/inttypes.m4: Renamed from inttypes_h.m4.
87074         * m4/uintmax_t.m4: Removed.
87075
87076 2001-08-13  Paul Eggert  <eggert@twinsun.com>
87077
87078         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
87079         Port to Solaris 8, where 'sed' requires a space after the 'r'
87080         command, and where sh dislikes "$/".  Clean up the spacing a bit.
87081         Redirect output to $tmp just once.
87082
87083 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
87084
87085         * lib/addext.c (<errno.h>): Include.
87086         (errno): Declare if not defined.
87087         (addext): Work correctly when pathconf returns -1 and leaves
87088         errno alone because there is no limit.  Also, work even if
87089         pathconf returns a value greater than SIZE_MAX.
87090
87091 2001-08-12  Jim Meyering  <meyering@lucent.com>
87092
87093         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
87094         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
87095         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
87096         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
87097         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
87098         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
87099         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
87100         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
87101         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
87102         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
87103         utime.m4, utimes.m4, xstrtoumax.m4:
87104         Quote the first argument in each use of AC_DEFUN.
87105
87106 2001-08-12  Jim Meyering  <meyering@lucent.com>
87107
87108         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
87109         Simply `return getcwd (NULL, 0);'.
87110         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
87111         Use 1300 as initial value for length, not PATH_MAX.
87112
87113         * lib/pathmax.h: Clean up cpp syntax.
87114
87115 2001-08-12  Jim Meyering  <meyering@lucent.com>
87116
87117         * lib/gettimeofday.c: New file.
87118         * lib/gtod.h: New file.
87119         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
87120
87121 2001-08-05  Jim Meyering  <meyering@lucent.com>
87122
87123         * m4/jm-macros.m4: Require autoconf-2.52.
87124
87125 2001-08-04  Jim Meyering  <meyering@lucent.com>
87126
87127         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
87128         stmt, to get in sync with glibc.
87129
87130 2001-08-03  Paul Eggert  <eggert@twinsun.com>
87131
87132         The following changes are from gettext 0.10.39 as maintained by
87133         Bruno Haible.
87134
87135         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
87136         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
87137         with inverted sense.  All uses changed.
87138
87139         * lib/mbswidth.c: Don't include <limits.h>.
87140         Include <stdlib.h> and <string.h> unconditionally.
87141         (iswcntrl, mbsinit, ISCNTRL): New macros.
87142         (mbsnwidth): Use K&R style function declarations.
87143         Don't bother checking for MB_LEN_MAX == 1, since the compiler
87144         can optimize it when MB_CUR_MAX == 1.
87145         The width of control characters is zero, not 1.
87146
87147 2001-08-03  Paul Eggert  <eggert@twinsun.com>
87148
87149         The following changes are from gettext 0.10.39 as maintained by
87150         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
87151
87152         * m4/codeset.m4: Upgrade to serial AM1.
87153         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
87154         all uses changed.  Quote first arg of AC_DEFUN.
87155         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
87156
87157         * m4/iconv.m4: Upgrade to serial AM2.
87158         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
87159         Add --with-libconv-prefix.
87160         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
87161         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
87162         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
87163         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
87164         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
87165
87166         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
87167         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
87168         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
87169         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
87170         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
87171         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
87172         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
87173         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
87174         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
87175
87176         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
87177         string.h any more.
87178
87179         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
87180         not the default value.
87181
87182         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
87183         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
87184         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
87185         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
87186         Also check for iswcntrl, used for wcwidth fallback.
87187         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
87188         to Autoconf 2.13.
87189
87190 2001-08-03  Jim Meyering  <meyering@lucent.com>
87191
87192         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
87193         as it was in the original.  Reported by Paul Eggert.
87194
87195 2001-07-16  Jim Meyering  <meyering@lucent.com>
87196
87197         * m4/gettimeofday.m4: New file.
87198         Prompted by a report from Bernhard Baehr.
87199
87200 2001-07-15  Jim Meyering  <meyering@lucent.com>
87201
87202         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
87203         stuff. Now it's in ../Makefile.cfg.
87204
87205 2001-07-15  Jim Meyering  <meyering@lucent.com>
87206
87207         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
87208         (BUILT_SOURCES): Add unlocked-io.h.
87209         (io_functions): Define.
87210         (unlocked-io.h): New rule.
87211         (DISTCLEANFILES): Add unlocked-io.h.
87212         (all-local): Depend on unlocked-io.h, to ensure it is created.
87213
87214         * lib/unlocked-io.hin: New file
87215
87216         * lib/regex.c: Update from glibc.
87217
87218 2001-07-05  Jim Meyering  <meyering@lucent.com>
87219
87220         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
87221         recommendation.
87222         (libfetish_a_SOURCES): Put all .h files here instead.
87223         Remove a thus-exposed (better checks in automake) duplicate and
87224         two unnecessary .h files.
87225
87226 2001-07-04  Jim Meyering  <meyering@lucent.com>
87227
87228         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
87229         that generates jm-glibc-io.m4 so that it doesn't trigger any make
87230         distcheck failure.
87231
87232 2001-07-02  Jim Meyering  <meyering@lucent.com>
87233
87234         The following changes were prompted by suggestions from Bruno Haible.
87235
87236         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
87237         is now generated.
87238         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
87239         definition of EXTRA_DIST.
87240         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
87241         ensure that the generated file is created/updated whenever the list
87242         of $(unlocked_functions) is changed.
87243         (jm-glibc-io.m4): New rule.
87244         (unlocked-io.h): New rule -- currently unused.
87245
87246 2001-06-24  Jim Meyering  <meyering@lucent.com>
87247
87248         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
87249         unmatched right bracket, rather than kludging it with an extra,
87250         falsely-matching quote in a comment.  Patch by Akim Demaille.
87251
87252 2001-06-11  Jim Meyering  <meyering@lucent.com>
87253
87254         * lib/regex.c: Update from GNU libc.
87255
87256 2001-05-27  Jim Meyering  <meyering@lucent.com>
87257
87258         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
87259         Check for ut_type in struct utmp.
87260
87261 2001-05-27  Jim Meyering  <meyering@lucent.com>
87262
87263         * lib/readutmp.h (UT_TYPE): Define.
87264
87265 2001-05-24  Jim Meyering  <meyering@lucent.com>
87266
87267         * lib/argmatch.c: Include "quote.h".
87268         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
87269         quote function.  Reported by Göran Uddeborg.
87270
87271 2001-05-22  Jim Meyering  <meyering@lucent.com>
87272
87273         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
87274         now that we use the package-supplied version unconditionally.
87275         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
87276
87277 2001-05-21  Jim Meyering  <meyering@lucent.com>
87278
87279         * m4/regex.m4: Change a couple backticks to single quotes to avoid
87280         shell syntax errors.
87281
87282 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
87283
87284         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
87285
87286 2001-05-20  Paul Eggert  <eggert@twinsun.com>
87287
87288         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
87289         Don't bother to check library strftime, since
87290         we'll be using our own my_strftime function anyway.
87291         Define my_strftime instead of strftime.
87292
87293 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
87294
87295         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
87296         which is not yet declared.
87297
87298 2001-05-15  Jim Meyering  <meyering@lucent.com>
87299
87300         * m4/regex.m4: Use proper quoting so brackets appear in the test
87301         program.
87302         Reported by, and with help from, Bruno Haible.
87303
87304 2001-05-13  Jim Meyering  <meyering@lucent.com>
87305
87306         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
87307         undefined.
87308
87309 2001-05-11  Paul Eggert  <eggert@twinsun.com>
87310
87311         dirname code cleanup.  base_name now behaves more compatibly
87312         with POSIX basename when given file names that have trailing
87313         slashes, and similarly for dir_name.  Add new primitives
87314         base_len and dir_len.  Put the directory-name-related decls
87315         into dirname.h.
87316
87317         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
87318         * lib/backupfile.c (base_name): Likewise.
87319         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
87320         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
87321         * lib/makepath.c (strip_trailing_slashes): Likewise.
87322         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
87323         ISSLASH): Likewise.
87324         * lib/rename.c (strip_trailing_slashes): Likewise.
87325         * lib/same.c (base_name): Likewise.
87326         * lib/stripslash.c (ISSLASH): Likewise.
87327
87328         * lib/addext.c: Include <dirname.h> after size_t is defined.
87329         * lib/backupfile.c: Likewise.
87330
87331         * lib/addext.c (addext): Use base_len to trim redundant
87332         trailing slashes instead of doing it ourselves.
87333         But do not trim the last slash if it is not redundant.
87334
87335         * lib/backupfile.c (find_backup_file_name,
87336         max_backup_version): Use base_len instead of rolling it ourselves.
87337         Handle the case of "" and (on DOS) "C:" correctly.
87338
87339         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
87340         needed. Include <string.h>, <dirname.h>.
87341         (base_name): Allow file names ending in slashes, other than names
87342         that are all slashes.  In this case, return the basename followed
87343         by the slashes.  This is more general, and can be used in places
87344         where the original base_name purposely had an assertion failure.
87345         (base_len): New function.
87346
87347         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
87348         Do not include <assert.h>; no longer needed.
87349         Include xalloc.h.
87350         (memrchr): Remove decl.
87351         (dir_name_r): Remove.
87352         (dir_len): Renamed from dirlen.  All callers changed.
87353         Rewrite in terms of base_name, for simplicity and consistency.
87354         (dir_name): Never return NULL.  All callers changed.
87355         Do not include <stdlib.h> in test program; no longer needed.
87356         return 0; is fine for test program.
87357
87358         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
87359         New macros.
87360         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
87361
87362         * lib/path-concat.c (path_concat): Use base_len to compute
87363         base length, not strlen; this means we cannot rely on memcpy
87364         to null-terminate.
87365
87366         * lib/same.c (STREQ): Remove.
87367         (same_name): Handle the case where the basename ends in trailing '/'.
87368
87369         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
87370         a slash was stripped.  Do not strip the last slash after a
87371         file system prefix.
87372
87373 2001-05-11  Paul Eggert  <eggert@twinsun.com>
87374
87375         * lib/Makefile.am (libfetish_a_SOURCES):
87376         Add strftime.c, since we now compile it on all hosts.
87377
87378         * lib/strftime.c (my_strftime):
87379         Define to nstrftime if emacs, but only if my_strftime is not defined.
87380         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
87381         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
87382         Add one more extra argument: a nanoseconds value.
87383         All uses changed.
87384         (ns): New macro.
87385         (my_strftime function): Add %N format.
87386         (emacs_strftimeu): Renamed from emacs_strftime,
87387         with extra ut argument.
87388
87389 2001-05-09  Paul Eggert  <eggert@twinsun.com>
87390
87391         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
87392
87393 2001-04-21  Jim Meyering  <meyering@lucent.com>
87394
87395         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
87396         doesn't interfere.
87397
87398 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
87399
87400         * m4/ftruncate.m4: Check for chsize.
87401         Link with ftruncate.o unconditionally if ftruncate is missing.
87402         This was required when cross-compiling to i586-mingw32msvc.
87403
87404 2001-04-08  Jim Meyering  <meyering@lucent.com>
87405
87406         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
87407         recomputed; that's necessary when the offset spans a DST transition.
87408         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
87409
87410 2001-04-02  Jim Meyering  <meyering@lucent.com>
87411
87412         * lib/regex.h, regex.c: Update from GNU libc.
87413
87414 2001-03-24  Jim Meyering  <meyering@lucent.com>
87415
87416         * m4/jm-macros.m4: Require autoconf-2.49d.
87417
87418 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
87419
87420         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
87421
87422 2001-03-19  Paul Eggert  <eggert@twinsun.com>
87423
87424         * lib/version-etc.c (version_etc_copyright): Update to 2001.
87425
87426 2001-03-17  Jim Meyering  <meyering@lucent.com>
87427
87428         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
87429         now that the version in autoconf is equivalent.
87430         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
87431
87432         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
87433         Suggestion from Akim Demaille.
87434
87435         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
87436         (jm_PREREQ_TEMPNAME): New function.
87437
87438 2001-03-16  Paul Eggert  <eggert@twinsun.com>
87439
87440         * lib/tempname.c (uint64_t): Define to uintmax_t if
87441         not defined, and if UINT64_MAX is not defined.
87442         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
87443         Reported by John David Anglin.
87444
87445 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
87446
87447         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
87448         resolve alias if codeset is empty.
87449         * lib/config.charset (BeOS): Use wildcard syntax.
87450
87451 2001-03-13  Jim Meyering  <meyering@lucent.com>
87452
87453         * lib/path-concat.c (path_concat)
87454         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
87455         concatenating e.g., `C:' and `foo'.
87456         From Bruno Haible.
87457
87458 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
87459
87460         * lib/localcharset.c (locale_charset): Don't use
87461         setlocale(LC_CTYPE,NULL). Don't return NULL.
87462         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
87463
87464 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
87465
87466         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
87467         support for DOS/DJGPP.
87468
87469 2001-03-01  Paul Eggert  <eggert@twinsun.com>
87470
87471         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
87472         lacks mkstemp.  Compile our own tempname.c if we compile our own
87473         mkstemp.c, as mkstemp relies on tempname.
87474
87475 2001-03-01  Jim Meyering  <meyering@lucent.com>
87476
87477         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
87478         AH_VERBATIM really does output its argument verbatim.
87479
87480 2001-02-28  Paul Eggert  <eggert@twinsun.com>
87481
87482         * lib/Makefile.am (libfetish_a_SOURCES):
87483         Add dup-safer.c, fopen-safer.c.
87484         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
87485
87486         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
87487         * lib/unistd-safer.h: New files.
87488
87489 2001-02-25  Paul Eggert  <eggert@twinsun.com>
87490
87491         The mkstemp replacement is taken from glibc 2.2.2, with some
87492         portability fixes for use outside glibc, as follows:
87493
87494         * lib/tempname.c (struct_stat64): New macro.
87495         (direxists, __gen_tempname): Use it.
87496         This avoids a portability problem with Solaris 8.
87497
87498         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
87499         (<stddef.h>, <stdint.h>, <string.h>):
87500         Include only if STDC_HEADERS || _LIBC.
87501         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
87502         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
87503         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
87504         (__set_errno): Define this macro if <errno.h> doesn't.
87505         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
87506         Define these macros if <stdio.h> doesn't.
87507         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
87508         Define these macros if <sys/stat.h>
87509         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
87510         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
87511         __xstat64): Define if not _LIBC.
87512         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
87513         (__gen_tempname): Invoke gettimeofday only if
87514         HAVE_GETTIMEOFDAY || _LIBC;
87515         otherwise, fall back on plain "time".
87516         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
87517
87518         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
87519
87520         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
87521
87522 2001-02-18  Paul Eggert  <eggert@twinsun.com>
87523
87524         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
87525
87526 2001-02-17  Paul Eggert  <eggert@twinsun.com>
87527
87528         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
87529         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
87530         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
87531         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
87532
87533 2001-02-17  Paul Eggert  <eggert@twinsun.com>
87534
87535         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
87536         Remove workaround macros for hosts that have mbrtowc but not
87537         mbstate_t, as we now insist on proper declarations for both
87538         before using mbrtowc.
87539
87540 2001-02-17  Jim Meyering  <meyering@lucent.com>
87541
87542         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
87543         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
87544         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
87545         UnixWare 7.1.1.
87546
87547         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
87548         rather than AC_CACHE_VAL.
87549
87550 2001-02-17  Jim Meyering  <meyering@lucent.com>
87551
87552         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
87553         around included file name.
87554
87555         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
87556
87557         * lib/strftime.c: Update from GNU libc (the only changes were to
87558         comments).
87559
87560 2001-02-17  Jim Meyering  <meyering@lucent.com>
87561
87562         * lib/regex.c: Update from libc.
87563
87564 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
87565
87566         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
87567         clash.
87568
87569 2001-02-16  Paul Eggert  <eggert@twinsun.com>
87570
87571         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
87572         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
87573         Reported by Mark Hounschell via Paul Eggert.
87574
87575 2001-02-07  Jim Meyering  <meyering@lucent.com>
87576
87577         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
87578
87579 2001-02-05  Jim Meyering  <meyering@lucent.com>
87580
87581         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
87582         it includes the patch required for `large file' support with at least
87583         HP-UX's 10.20 /bin/cc.
87584
87585 2001-02-03  Jim Meyering  <meyering@lucent.com>
87586
87587         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
87588         AS_IF, now that it works once again (mysteriously).
87589         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
87590
87591 2001-01-30  Jim Meyering  <meyering@lucent.com>
87592
87593         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
87594         * m4/chown.m4: Rename conftestchown to conftest.chown.
87595         * m4/rename.m4: s/conftestdir/conftest.d1/ and
87596         s/conftestdir2/conftest.d2/.
87597         * m4/utimes.m4: s/conftestdata/conftest.data/
87598         Inspired by Pavel Roskin's change in autoconf.
87599
87600 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
87601
87602         * lib/config.charset: Update for FreeBSD 4.2.
87603
87604 2001-01-27  Jim Meyering  <meyering@lucent.com>
87605
87606         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
87607         a use of AS_IF.
87608         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
87609
87610 2001-01-26  Jim Meyering  <meyering@lucent.com>
87611
87612         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
87613         quotearg.c includes it.
87614
87615 2001-01-26  Jim Meyering  <meyering@lucent.com>
87616
87617         * lib/quotearg.c: Include stddef.h.
87618         * lib/quote.c: Include stddef.h.
87619         Reported by Axel Kittenberger.
87620
87621         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
87622         line in double quotes so that it evokes a better diagnostic.
87623         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
87624         Reported by Axel Kittenberger.
87625
87626 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
87627
87628         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
87629         as if it was a `charset'.
87630
87631 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87632
87633         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
87634         has const.
87635
87636 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87637
87638         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
87639         to avoid a warning.  Add back 'const' to inptr.
87640
87641 2001-01-20  Jim Meyering  <meyering@lucent.com>
87642
87643         Be sure that headers are checked before used in code compiled
87644         for the type checks.
87645         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
87646         In place of that, invoke jm_CHECK_ALL_TYPES.
87647         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
87648         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
87649         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
87650         The check for ssize_t was mistakenly run before the test for unistd.h.
87651
87652         The configure-time check for stdbool.h was missing.
87653         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
87654         (jm_PREREQ_HASH): New function.
87655
87656 2001-01-17  Jim Meyering  <meyering@lucent.com>
87657
87658         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
87659         for autoconf-2.49c.
87660         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
87661
87662 2001-01-16  Jim Meyering  <meyering@lucent.com>
87663
87664         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
87665         From Bruno Haible.
87666
87667 2001-01-14  Jim Meyering  <meyering@lucent.com>
87668
87669         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
87670         foo and bar.  Create conftestdir/ in the script, not in the C code.
87671         Remove directories in the script, not in the C code.
87672         Remove conftestdir{,2} before trying to create the directory.
87673         Make the entire configure script fail if the mkdir fails.
87674
87675 2001-01-14  Jim Meyering  <meyering@lucent.com>
87676
87677         * lib/rename.c: New file.  From Volker Borchert.
87678         Include stdlib.h, string.h or strings.h, and xalloc.h.
87679         Use strip_trailing_slashes rather than open-coding it.
87680
87681 2001-01-03  Paul Eggert  <eggert@twinsun.com>
87682
87683         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
87684
87685 2001-01-03  Jim Meyering  <meyering@lucent.com>
87686
87687         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
87688         of local `inptr' to avoid warning with some system declarations of
87689         iconv.
87690
87691 2001-01-02  Volker Borchert  <bt@teknon.de>
87692
87693         * m4/rename.m4: New file.
87694         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
87695
87696 2001-01-01  Jim Meyering  <meyering@lucent.com>
87697
87698         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
87699         even on systems with utmpx.h.  It's necessary for the declaration of
87700         utmp's ut_user member.  Reported by Andreas Jaeger.
87701
87702         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
87703         available. They are required for the declarations of getgrgid and
87704         getpwuid resp.
87705         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
87706         Reported by Andreas Jaeger.
87707
87708 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
87709
87710         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
87711         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
87712         so `make install' also works in VPATH builds.
87713
87714 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
87715
87716         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
87717         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
87718         can be used in subdirectories.
87719
87720 2000-12-29  Paul Eggert  <eggert@twinsun.com>
87721
87722         * lib/modechange.c: Do not assume that mode_t uses the
87723         traditional octal encoding.  E.g. "chmod 1 FOO" should set
87724         the other-execute bit of FOO even if S_IXOTH != 1.
87725
87726         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
87727         WOTH, XOTH, ALLM): New macros.
87728         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
87729          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
87730         Use them.
87731         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
87732         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
87733         (mode_compile):
87734         No need to use uintmax_t; unsigned long is long enough.
87735         Don't bother to get suffix since we don't use it.
87736
87737 2000-12-26  Jim Meyering  <meyering@lucent.com>
87738
87739         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
87740         better with autoheader.
87741
87742 2000-12-24  Jim Meyering  <meyering@lucent.com>
87743
87744         * lib/hash.c (is_prime): Return explicit boolean values.
87745         (hash_get_first): Return NULL to appease Irix5.6's 89.
87746         Reported by Nelson Beebe.
87747
87748 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
87749
87750         * lib/localcharset.c (locale_charset): Add support for Win32.
87751
87752 2000-12-18  Paul Eggert  <eggert@twinsun.com>
87753
87754         * lib/physmem.h, lib/physmem.c: New files.
87755
87756         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
87757         (noinst_HEADERS): Add physmem.h.
87758
87759         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
87760         't' for compatibility with Solaris 8 sort.
87761
87762 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
87763
87764         * lib/config.charset: Add support for BeOS.
87765
87766 2000-12-17  Jim Meyering  <meyering@lucent.com>
87767
87768         * m4/dos.m4 (jm_AC_DOS): New file and macro.
87769         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
87770
87771 2000-12-16  Jim Meyering  <meyering@lucent.com>
87772
87773         This bug had a serious impact on chown: `chown N:M FILE' (for integer
87774         N and M) would have treated it like `chown N:N FILE'.
87775
87776         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
87777
87778 2000-12-16  Jim Meyering  <meyering@lucent.com>
87779
87780         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
87781         SHELLS_FILE to a file name that's useful on djgpp systems.
87782         Include stdlib.h.
87783         (ADDITIONAL_DEFAULT_SHELLS): Define.
87784         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
87785         Based mostly on a patch from Prashant TR.
87786
87787 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
87788
87789         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
87790         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
87791         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
87792
87793 2000-12-08  Andreas Schwab  <schwab@suse.de>
87794
87795         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
87796         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
87797
87798 2000-12-07  Jim Meyering  <meyering@lucent.com>
87799
87800         * lib/stripslash.c (ISSLASH): Define.
87801         (strip_trailing_slashes): Use ISSLASH rather than comparing against
87802         `/'.
87803         From Prashant TR.
87804
87805         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
87806         (dir_name_r): Declare this function as static.
87807         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
87808         manifest itself on a name containing a mix of slashes and
87809         backslashes.
87810         Make this function work with names starting with a DOS-style
87811         drive letter and colon prefix.
87812         (dir_name): Append `.' if necessary.
87813         Based mostly on patches from Prashant TR and Eli Zaretskii.
87814
87815         * lib/dirname.h (dir_name_r): Remove prototype.
87816
87817 2000-12-06  Paul Eggert  <eggert@twinsun.com>
87818
87819         * m4/off_t-format.m4: Remove this file.
87820         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
87821
87822 2000-12-06  Jim Meyering  <meyering@lucent.com>
87823
87824         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
87825         replacement strtoull, we may well need the replacement strtoul, too.
87826         Check for declarations of strtoul and strtoull.
87827         Check for strtol.  Mainly as a cue to cause automake to include
87828         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
87829         Check for limits.h -- strtol.c needs it.
87830
87831 2000-12-05  Jim Meyering  <meyering@lucent.com>
87832
87833         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
87834
87835 2000-12-04  Jim Meyering  <meyering@lucent.com>
87836
87837         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87838         Also include memory.h, stdlib.h, unistd.h if appropriate.
87839         Reported by Andreas Jaeger (conflicting declaration of malloc).
87840
87841 2000-12-02  Jim Meyering  <meyering@lucent.com>
87842
87843         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87844         * m4/jm-macros.m4 (jm_MACROS): require it.
87845
87846 2000-12-02  Jim Meyering  <meyering@lucent.com>
87847
87848         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87849
87850 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87851
87852         * lib/memrchr.c: Include <config.h> before any system include file.
87853
87854 2000-11-30  Jim Meyering  <meyering@lucent.com>
87855
87856         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87857
87858 2000-11-30  Jim Meyering  <meyering@lucent.com>
87859
87860         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87861
87862 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87863
87864         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87865
87866 2000-11-26  Jim Meyering  <meyering@lucent.com>
87867
87868         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87869
87870 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87871
87872         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87873         size of (size_t) -1; it's not portable.
87874
87875 2000-11-17  Jim Meyering  <meyering@lucent.com>
87876
87877         * lib/strstr.c: Update from GNU libc.
87878
87879 2000-11-17  Akim Demaille  <akim@epita.fr>
87880
87881         * lib/obstack.h: Formatting changes.
87882         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87883         prevent type checking.
87884         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87885         cast the value to (void *): assigning a `foo *' to a `void *'
87886         variable is valid.
87887         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87888
87889 2000-11-16  Jim Meyering  <meyering@lucent.com>
87890
87891         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87892
87893 2000-11-11  Jim Meyering  <meyering@lucent.com>
87894
87895         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87896
87897 2000-11-10  Jim Meyering  <meyering@lucent.com>
87898
87899         * lib/obstack.h: Update from GNU libc.
87900         * lib/obstack.c: Likewise.
87901
87902 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87903
87904         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87905
87906 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87907
87908         * lib/getusershell.c (setusershell): Use rewind rather than
87909         fseek/fseeko, to avoid configuration hassles with fseeko.
87910         Don't bother opening SHELLS_FILE if shellstream is NULL;
87911         it's not necessary.
87912
87913 2000-11-05  Jim Meyering  <meyering@lucent.com>
87914
87915         * lib/makepath.h (make_dir): Declare.
87916         * lib/makepath.c (make_dir): Remove `static' attribute.
87917         Tweak a comment.
87918
87919 2000-11-04  Jim Meyering  <meyering@lucent.com>
87920
87921         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87922
87923 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87924
87925         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87926         last one in a bucket, advance to the next bucket.
87927
87928 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87929
87930         * lib/fnmatch.c: Do not comment out all the code if we are using
87931         the GNU C library, because in some cases we are replacing buggy
87932         code in the GNU C library itself.
87933
87934 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87935
87936         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87937         (regex_compile): Catch bogus \(\1\).
87938
87939 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87940
87941         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87942         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87943         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87944
87945 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87946
87947         * lib/error.h, getline.h, modechange.h:
87948         Remove "2000" from Copyright line, as the file hasn't been
87949         changed this year other than in the copyright notice.
87950
87951         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87952         was changed this year.
87953
87954 2000-10-29  Jim Meyering  <meyering@lucent.com>
87955
87956         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87957         renaming.
87958         * m4/ls-mntd-fs.m4: Likewise
87959
87960 2000-10-29  Jim Meyering  <meyering@lucent.com>
87961
87962         * lib/xstat.in: Fix grammar in comment.
87963
87964 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87965
87966         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87967         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87968         doesn't define __restrict_arr.
87969
87970 2000-10-28  Jim Meyering  <meyering@lucent.com>
87971
87972         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87973         (jm_PREREQ_MEMCHR): New function.
87974
87975 2000-10-28  Jim Meyering  <meyering@lucent.com>
87976
87977         * lib/memchr.c: Update from libc.
87978         Adjust for portability:
87979         [HAVE_STDLIB_H]: Include stdlib.h.
87980         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87981         Undef __memchr, too.
87982         [!weak_alias]: Define __memchr to memchr.
87983
87984         * lib/regex.c: Update from libc.
87985         * lib/regex.h: Likewise.
87986         * lib/getopt1.c: Likewise.
87987         * lib/memcmp.c: Likewise.
87988
87989         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87990         Avoid using fseek, when possible -- it's broken by design.
87991         Patch by Ulrich Drepper.
87992
87993 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87994
87995         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87996         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87997         Giving in to popular pressure to shut up the compiler with casts.
87998
87999 2000-10-26  Jim Meyering  <meyering@lucent.com>
88000
88001         * lib/strftime.c: Update from libc.
88002
88003 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
88004
88005         * regex.c: More `unsigned char' -> `re_char' changes.
88006         Also change several `int' into `re_wchar_t'.
88007         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
88008         (PUSH_FAILURE_POINTER): Don't cast any more.
88009         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
88010         We want GCC to complain, since this piece of code makes
88011         re_match non-reentrant, which *should* be fixed.
88012         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
88013         (EXTEND_BUFFER): Use RETALLOC.
88014         (SET_LIST_BIT): Don't cast.
88015         (re_wchar_t): New type.
88016         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
88017         that those two functions will always properly return.
88018         (IMMEDIATE_QUIT_CHECK): Cast to void.
88019         (analyse_first): Use recursion rather than an explicit stack.
88020         (re_compile_fastmap): Can't fail anymore.
88021         (re_search_2): Don't check re_compile_fastmap for failure.
88022         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
88023         Now also sets the new value (passed in a new argument).
88024         (re_match_2_internal): Use it.
88025         Also, use a new var `reg' of type size_t when looping through regs
88026         rather than reuse the inappropriate `mcnt'.
88027
88028 2000-10-25  Jim Meyering  <meyering@lucent.com>
88029
88030         * lib/obstack.c: Update from libc.
88031
88032 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
88033
88034         * regex.c (regex_compile): Change the way of handling a range from
88035         a char less than 256 to a char not less than 256.
88036
88037 2000-10-24  Andrew Innes  <andrewi@gnu.org>
88038
88039         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
88040         NT-Emacs only.
88041         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
88042         so that re_search functions only quit when callers expect them to.
88043
88044 2000-10-23  Jim Meyering  <meyering@lucent.com>
88045
88046         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
88047         wrong.  That set_locale call must not have any side effects.
88048         From Paul Eggert.
88049
88050 2000-10-22  Jim Meyering  <meyering@lucent.com>
88051
88052         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
88053         [CYCLIC]: Remove now-unused definition.
88054
88055         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
88056         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
88057         Suggestion from Ulrich Drepper.
88058
88059 2000-10-21  Jim Meyering  <meyering@lucent.com>
88060
88061         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
88062         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
88063         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
88064
88065 2000-10-21  Jim Meyering  <meyering@lucent.com>
88066
88067         * lib/dirname.c (memrchr): Declare if necessary.
88068         (dir_name): Remove the restriction that there be no
88069         trailing slashes.  Now, this code skips past them, effectively
88070         ignoring them.
88071         [TEST_DIRNAME] (main): New unit tests.
88072
88073         * lib/memrchr.c: New file from GNU libc.
88074         Undef __memrchr, too.
88075         [!weak_alias]: Define __memrchr to memrchr.
88076         Guard weak_alias use with `#ifdef weak_alias'.
88077
88078 2000-10-21  Jim Meyering  <meyering@lucent.com>
88079
88080         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
88081         (dir_name): Use dir_name_r.
88082         * lib/dirname.h (dir_name_r): Declare it.
88083
88084 2000-10-17  Jim Meyering  <meyering@lucent.com>
88085
88086         * lib/quote.h (PARAMS): Define and use.
88087         Reported by Akim Demaille.
88088
88089         * lib/getopt.c: Update from libc.
88090
88091 2000-10-16  Jim Meyering  <meyering@lucent.com>
88092
88093         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
88094         setlocale.
88095         From Jan Fedak.
88096
88097 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
88098
88099         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
88100
88101 2000-09-25  Jim Meyering  <meyering@lucent.com>
88102
88103         * lib/md5.h (rol): Define (from GnuPG).
88104
88105         * lib/sha.c: Give credit (GnuPG) where due.
88106         (M): Use rol rather than open-coding it.
88107         Add a FIXME comment.
88108
88109 2000-09-21  Jim Meyering  <meyering@lucent.com>
88110
88111         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
88112         Reported by Michael Stone.
88113
88114 2000-09-20  Jim Meyering  <meyering@lucent.com>
88115
88116         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
88117         (noinst_HEADERS): Add sha.h.
88118         Based on code from Scott G. Miller and from GnuPG.
88119
88120 2000-09-18  Jim Meyering  <meyering@lucent.com>
88121
88122         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
88123         LIBS. Otherwise, everyone ends up linking with -lelf for some
88124         configurations.
88125         Reported by Mike Stone.
88126
88127 2000-09-15  Jim Meyering  <meyering@lucent.com>
88128
88129         * lib/regex.c: Update from libc.
88130
88131 2000-09-10  Jim Meyering  <meyering@lucent.com>
88132
88133         * lib/getopt.c (_getopt_internal): Update from glibc.
88134
88135 2000-09-09  Jim Meyering  <meyering@lucent.com>
88136
88137         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
88138         think it should be used as a general replacement for isascii.
88139         * lib/fnmatch.c: Likewise.
88140         * lib/mbswidth.c: Likewise
88141         * lib/regex.c: Likewise.
88142
88143         Don't use atoi.
88144         * lib/userspec.c: Include sys/param.h and limits.h.
88145         Include xstrtol.h.
88146         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
88147         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
88148         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
88149         UID, GID.  Check range.
88150
88151 2000-09-06  Jim Meyering  <meyering@lucent.com>
88152
88153         * lib/getopt.c (_getopt_internal): Update from glibc.
88154
88155 2000-08-30  Jim Meyering  <meyering@lucent.com>
88156
88157         * lib/strftime.c: Merge in changes from GNU libc.
88158
88159 2000-08-26  Jim Meyering  <meyering@lucent.com>
88160
88161         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
88162         * m4/fpending.m4: New file.
88163
88164 2000-08-26  Jim Meyering  <meyering@lucent.com>
88165
88166         * lib/closeout.c: Include "__fpending.h".
88167         (close_stdout_status): Return right away if there's nothing to flush.
88168
88169         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
88170         * lib/__fpending.c: New file.
88171         * lib/__fpending.h: New file.
88172
88173 2000-08-20  Jim Meyering  <meyering@lucent.com>
88174
88175         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
88176         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
88177         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
88178
88179 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
88180
88181         Improve fileutils installation on systems where running
88182         programs (like install) can't be unlinked.
88183         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
88184         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
88185
88186 2000-08-07  Paul Eggert  <eggert@twinsun.com>
88187
88188         Standardize on "memory exhausted" instead of "Memory exhausted"
88189         or "virtual memory exhausted".
88190         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
88191         "virtual memory exhausted".
88192         * lib/same.c (same_name): Invoke xalloc_die instead of printing
88193         our own message.
88194         * lib/userspec.c (parse_user_spec): Likewise.
88195         * lib/bumpalloc.h: comment fix
88196         * lib/same.c, userspec.c: Include xalloc.h.
88197
88198         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
88199         not char *const and pointing to a constant array.
88200         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
88201         (xrealloc): Comment fix.
88202
88203         * lib/userspec.c (parse_user_spec):
88204         Don't translate a message until just before returning,
88205         to avoid unnecessary translation.
88206
88207 2000-08-07  Jim Meyering  <meyering@lucent.com>
88208
88209         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
88210         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
88211         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
88212         getgroups.c, gethostname.c, getopt.h, group-member.c,
88213         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
88214         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
88215         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
88216         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
88217         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
88218         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
88219         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
88220         yesno.c: Back out Copyright date changes for each file with no change
88221         this year.  This eases coordination with other programs using the same
88222         source code modules.  From Paul Eggert.
88223
88224 2000-08-06  Paul Eggert  <eggert@twinsun.com>
88225
88226         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
88227         not char, for compatibility with glibc 2.1.3 strftime.c.
88228
88229 2000-08-03  Greg McGary  <greg@mcgary.org>
88230
88231         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
88232         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
88233         (EXTEND_BUFFER): Use them.
88234
88235 2000-08-01  Jim Meyering  <meyering@lucent.com>
88236
88237         * lib/dirname.c (ISSLASH): Define.
88238         (BACKSLASH_IS_PATH_SEPARATOR): Define.
88239         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
88240         both `\' and `/' may be use as path separators.
88241         Based on a patch from Prashant TR.
88242
88243 2000-07-31  Paul Eggert  <eggert@twinsun.com>
88244
88245         * lib/quotearg.c (quotearg_n_options): Don't make the initial
88246         slot vector a constant, since it might get modified.
88247
88248 2000-07-31  Jim Meyering  <meyering@lucent.com>
88249
88250         * lib/xmalloc.c: Use `virtual memory exhausted', not
88251         `Memory exhausted'.
88252         * lib/obstack.c (print_and_abort): Likewise.
88253
88254 2000-07-30  Paul Eggert  <eggert@twinsun.com>
88255
88256         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
88257         buffer, so that the caller can always quote one small
88258         component of a "memory exhausted" message in slot 0.
88259         From a suggestion by Jim Meyering.
88260
88261 2000-07-30  Jim Meyering  <meyering@lucent.com>
88262
88263         * lib/makepath.c (make_path): Quote the other instance, too.
88264
88265         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
88266         (STATIC_BUF_SIZE): Define.
88267         (quotearg_n_options): Use only statically allocated storage when
88268         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
88269         than STATIC_BUF_SIZE.
88270
88271 2000-07-29  Jim Meyering  <meyering@lucent.com>
88272
88273         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
88274         * lib/dirname.c (dir_name): Likewise.
88275
88276         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
88277         `/'.
88278
88279         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
88280         (dir_name): Assert that there are no trailing slashes.
88281
88282 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
88283
88284         * lib/mbswidth.h (mbswidth): Add a flags argument.
88285         (mbswidth): New declaration.
88286         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
88287         * lib/mbswidth.c (mbswidth): Add a flags argument.
88288         (mbsnwidth): New function.
88289
88290 2000-07-24  Jim Meyering  <meyering@lucent.com>
88291
88292         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
88293
88294 2000-07-23  Paul Eggert  <eggert@twinsun.com>
88295
88296         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
88297
88298 2000-07-23  Paul Eggert  <eggert@twinsun.com>
88299
88300         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
88301         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
88302         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
88303         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
88304         invoke multibyte primitives.
88305
88306 2000-07-23  Paul Eggert  <eggert@twinsun.com>
88307
88308         * lib/quotearg.c:
88309         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
88310         so that mbstate_t is always defined.
88311
88312         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
88313         be 1 in at least one GCC installation, and this configuration
88314         error is likely to be common.  Ignoring MB_LEN_MAX hurts
88315         performance on hosts that have mbrtowc but have only unibyte
88316         locales, but I assume these hosts are rare.
88317
88318 2000-07-23  Paul Eggert  <eggert@twinsun.com>
88319
88320         * lib/mbswidth.c (_XOPEN_SOURCE):
88321         Don't define; this causes problems on Solaris 7.
88322         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
88323
88324 2000-07-23  Jim Meyering  <meyering@lucent.com>
88325
88326         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
88327         too: getgrgid, getpwuid, getuid.
88328
88329 2000-07-23  Jim Meyering  <meyering@lucent.com>
88330
88331         * lib/basename.c (base_name): Add an assertion.
88332
88333 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
88334
88335         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
88336         shadow its mbsinit function.
88337
88338 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
88339
88340         * lib/mbswidth.h: New file.
88341         * lib/mbswidth.c: New file.
88342         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
88343         (noinst_HEADERS): Add mbswidth.h.
88344
88345 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
88346
88347         * lib/config.charset: Add support for FreeBSD. Improve support for
88348         HP-UX and IRIX 6.
88349
88350 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
88351
88352         * m4/mbswidth.m4: New file.
88353         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
88354
88355 2000-07-15  Jim Meyering  <meyering@lucent.com>
88356
88357         * lib/makepath.c: Include quote.h.
88358         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
88359         corresponding argument in a `quote (...)' call.
88360         Give better diagnostics.
88361
88362         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
88363         (noinst_HEADERS): Add quote.h.
88364
88365         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
88366         from tar's src/misc.c.
88367         * lib/quote.h: New file.  Prototypes for same.
88368
88369 2000-07-14  Paul Eggert  <eggert@twinsun.com>
88370
88371         From a suggestion by Bruno Haible.
88372         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
88373         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
88374         to decide whether to define the BeOS workaround macro;
88375         this adjusts to the change to AC_MBSTATE_T.
88376
88377 2000-07-14  Jim Meyering  <meyering@lucent.com>
88378
88379         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
88380         jm_AC_TYPE_UINTMAX_T.
88381
88382 2000-07-13  Paul Eggert  <eggert@twinsun.com>
88383
88384         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
88385
88386         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
88387         quotearg_buffer_restyled): Add support for
88388         clocale_quoting_style.  Undo previous change to
88389         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
88390         and "{RIGHT QUOTATION MARK}" msgids.
88391
88392 2000-07-10  Paul Eggert  <eggert@twinsun.com>
88393
88394         From a suggestion by Bruno Haible.
88395         * m4/mbstate_t.m4 (AC_MBSTATE_T):
88396         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
88397         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
88398         and mbstate_t, to a single-part test that simply defines mbstate_t.
88399         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
88400         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
88401
88402 2000-07-10  Jim Meyering  <meyering@lucent.com>
88403
88404         * m4/strerror_r.m4: Mirror the correction made in autoconf.
88405
88406         * m4/gnu-source.m4: Output to confdefs.h directly.
88407         Suggestion from Akim Demaille.
88408
88409 2000-07-09  Paul Eggert  <eggert@twinsun.com>
88410
88411         The old behavior of quoting `like this' doesn't look good with
88412         newer, ISO-style fonts.  See:
88413         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
88414
88415         Instead, quote "like this" by default.  Let the translator
88416         tailor the locale-specific quoting behavior by providing
88417         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
88418
88419         * lib/quotearg.c (N_): New macro.
88420         (gettext_default): New function.
88421         (quotearg_buffer_restyled): Use
88422         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
88423         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
88424
88425 2000-07-09  Jim Meyering  <meyering@lucent.com>
88426
88427         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
88428         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
88429
88430         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
88431         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
88432
88433 2000-07-09  Jim Meyering  <meyering@lucent.com>
88434
88435         * lib/Most files: Update copyright dates to include 2000.
88436
88437 2000-07-08  Jim Meyering  <meyering@lucent.com>
88438
88439         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
88440         if not defined.
88441         (xgethostname): Remove now-unnecessary #ifdef.
88442         Move declaration of `err' into loop where it's used.
88443
88444 2000-07-05  Paul Eggert  <eggert@twinsun.com>
88445         and Bruno Haible  <haible@clisp.cons.org>
88446
88447         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
88448         only if the test for an object-type mbstate_t fails.  This
88449         prevents us from mistakenly reporting that mbstate_t is a
88450         system object type after we "#define mbstate_t int" to work
88451         around its lack.
88452
88453 2000-07-05  Paul Eggert  <eggert@twinsun.com>
88454         and Bruno Haible  <haible@clisp.cons.org>
88455
88456         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
88457
88458 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88459
88460         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
88461         to strerror_r.
88462         Include <ctype.h> for use of isalpha.
88463
88464 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88465
88466         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
88467         by allocating a larger buffer. Test the gethostname return value for
88468         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
88469         returns an error and ENAMETOOLONG isn't defined.
88470
88471 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88472
88473         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
88474         dimension.
88475
88476 2000-07-04  Jim Meyering  <meyering@lucent.com>
88477
88478         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
88479         of the deprecated AC_CHECKING.
88480
88481 2000-07-04  Jim Meyering  <meyering@lucent.com>
88482
88483         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
88484         Reported by Bruno Haible.
88485
88486 2000-07-04  Jim Meyering  <meyering@lucent.com>
88487
88488         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
88489         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
88490         lacks mbrtowc.
88491
88492 2000-07-03  Paul Eggert  <eggert@twinsun.com>
88493
88494         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
88495         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
88496
88497 2000-07-03  Paul Eggert  <eggert@twinsun.com>
88498         and Bruno Haible  <haible@clisp.cons.org>
88499
88500         * lib/quotearg.c (mbrtowc):
88501         Assign to *pwc, and return 1 only if result is nonzero.
88502         (iswprint): Use ISPRINT when substituting our own mbrtowc.
88503
88504 2000-07-03  Jim Meyering  <meyering@lucent.com>
88505
88506         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
88507
88508 2000-07-03  Jim Meyering  <meyering@lucent.com>
88509
88510         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
88511         This is necessary to get a definition of e.g., UTMP_FILE on
88512         HP-UX 10.20.
88513         From Bob Proulx.
88514
88515 2000-07-02  Jim Meyering  <meyering@lucent.com>
88516
88517         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
88518
88519         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
88520         AC_LIBOBJ(function_name).
88521         * m4/chown.m4: Likewise.
88522         * m4/fnmatch.m4: Likewise.
88523         * m4/ftruncate.m4: Likewise.
88524         * m4/getgroups.m4: Likewise.
88525         * m4/getline.m4: Likewise.
88526         * m4/group-member.m4: Likewise.
88527         * m4/jm-macros.m4: Likewise.
88528         * m4/lstat.m4: Likewise.
88529         * m4/malloc.m4: Likewise.
88530         * m4/memcmp.m4: Likewise.
88531         * m4/nanosleep.m4: Likewise.
88532         * m4/putenv.m4: Likewise.
88533         * m4/realloc.m4: Likewise.
88534         * m4/regex.m4: Likewise.
88535         * m4/stat.m4: Likewise.
88536         * m4/strftime.m4: Likewise.
88537
88538 2000-07-02  Jim Meyering  <meyering@lucent.com>
88539
88540         * lib/quotearg.c (mbstate_t): Don't define here.
88541
88542 2000-07-02  Jim Meyering  <meyering@lucent.com>
88543
88544         * lib/nanosleep.c (SIGCONT): Define if not already defined.
88545
88546 2000-07-01  Jim Meyering  <meyering@lucent.com>
88547
88548         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
88549
88550 2000-07-01  Jim Meyering  <meyering@lucent.com>
88551
88552         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
88553         problem.
88554
88555 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
88556
88557         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
88558         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
88559
88560 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
88561
88562         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
88563         per change in ../m4/ls-mntd-fs.m4.
88564         (read_filesystem_list): Ignore symbolic links.
88565
88566 2000-06-29  Jim Meyering  <meyering@lucent.com>
88567
88568         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
88569         for declaration of strcmp.
88570
88571         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
88572
88573         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
88574         Avoid warning by casting result to `char *' to remove `const'.
88575
88576 2000-06-28  Jim Meyering  <meyering@lucent.com>
88577
88578         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
88579         included by quotearg.c, for which we perform this test.  From
88580         Bruno Haible.
88581
88582 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
88583
88584         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
88585         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
88586         <utmpx.h> exists, put readutmp.o into LIBOBJS.
88587
88588 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
88589
88590         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
88591
88592 2000-06-26  Paul Eggert  <eggert@twinsun.com>
88593
88594         savedir now sets errno on failure and invokes xmalloc to get memory.
88595         Fix a couple of other minor bugs while we're at it.
88596
88597         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
88598         (NAMLEN): Remove macro.
88599         (malloc, realloc): Remove decls.
88600         (stpcpy): Likewise.
88601         ("xalloc.h"): Include.
88602         (NAME_SIZE_DEFAULT): New macro.
88603         (savedir): Use xmalloc / xrealloc to allocate memory.
88604         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
88605         Skip "" directory entries.
88606         Use strlen to calculate directory entry length, since the old method
88607         is rarely used these days and isn't worth supporting.
88608         Don't use a pointer after freeing it.
88609         Check for integer overflow when calculating allocation size.
88610         Use memcpy to copy entries, instead of stpcpy.
88611         Set errno properly when returning NULL.
88612         Check for readdir error.
88613
88614 2000-06-26  Jim Meyering  <meyering@lucent.com>
88615
88616         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
88617
88618 2000-06-25  Jim Meyering  <meyering@lucent.com>
88619
88620         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
88621         Linux header bug when _XOPEN_SOURCE is defined to 500.
88622
88623 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88624
88625         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
88626         deficiency.
88627
88628 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88629
88630         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
88631         Include xalloc.h.
88632         Don't include <stdlib.h>.  Don't declare malloc, realloc.
88633
88634 2000-06-24  Jim Meyering  <meyering@lucent.com>
88635
88636         * m4/strerror_r.m4: Revive this file -- to try out an experimental
88637         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
88638         for which strerror does return char*, but which lacks a conveniently
88639         accessible declaration of the function.  If the compile-test says
88640         strerror_r doesn't work, then resort to a `run'-test that works on
88641         BeOS and segfaults on DEC Unix.
88642
88643 2000-06-24  Jim Meyering  <meyering@lucent.com>
88644
88645         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
88646
88647 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88648
88649         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
88650         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
88651
88652 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88653
88654         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
88655         (mbrtowc, mbstate_t): Define substitutes if
88656         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
88657         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
88658         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
88659
88660 2000-06-23  Jim Meyering  <meyering@lucent.com>
88661
88662         * m4/afs.m4: Add missing AC_MSG_RESULT.
88663         Reported by Bruno Haible.
88664
88665         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
88666         Suggestion from Bruno Haible.
88667
88668 2000-06-23  Jim Meyering  <meyering@lucent.com>
88669
88670         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
88671
88672 2000-06-21  Jim Meyering  <meyering@lucent.com>
88673
88674         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
88675
88676 2000-06-21  Jim Meyering  <meyering@lucent.com>
88677
88678         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
88679         (noinst_HEADERS): Add getstr.h.
88680
88681         * lib/getline.c (getstr): Move into a separate file.
88682         * lib/getstr.c (getstr): New file, extracted from getline.c, with
88683         the following changes: new parameter, delim2; both delim[12]
88684         parameters have type `int', not `char'.  The latter would lose
88685         with 8-bit delimiters.
88686         * lib/getstr.h: New file.
88687
88688 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88689
88690         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
88691         than 1024, return a memory chunk of least possible size, instead
88692         of size PATH_MAX + 2. In the loop, increment the size proportionally.
88693         Use free/xmalloc instead of xrealloc to avoid copying for very long
88694         paths.
88695
88696 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88697
88698         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
88699         the empty string.
88700
88701 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88702
88703         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
88704         address, not strdup.  Include <stdlib.h> and don't declare free().
88705
88706 2000-06-19  Jim Meyering  <meyering@lucent.com>
88707
88708         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
88709
88710 2000-06-18  Jim Meyering  <meyering@lucent.com>
88711
88712         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
88713
88714         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
88715         `checking whether...' message to be consistent with that of the
88716         lstat test.
88717
88718 2000-06-18  Jim Meyering  <meyering@lucent.com>
88719
88720         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
88721         Besides, these days every porting target provides a mkdir function.
88722
88723         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
88724         needed. (this snippet comes from src/system.h).
88725
88726 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
88727
88728         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
88729
88730 2000-06-15  Paul Eggert  <eggert@twinsun.com>
88731
88732         * lib/human.c (adjust_value): New function.
88733         (human_readable_inexact): Apply rounding style even when
88734         printing approximate values.
88735
88736 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88737
88738         * lib/human.c (human_readable_inexact): Allow an input block
88739         size that is not a multiple of the output block size, and vice versa.
88740         Reported by Piergiorgio Sartor.
88741
88742 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88743
88744         * lib/getdate.y (get_date): Apply relative times after time
88745         zone indicator, not before.  Reported by Todd A. Jacobs.
88746
88747 2000-06-13  Jim Meyering  <meyering@lucent.com>
88748
88749         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
88750
88751         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
88752
88753 2000-06-12  Paul Eggert  <eggert@twinsun.com>
88754
88755         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
88756
88757 2000-06-12  Jim Meyering  <meyering@lucent.com>
88758
88759         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
88760         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
88761         optional argument.
88762         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
88763         the optional argument, `lib'.
88764
88765 2000-06-08  Jim Meyering  <meyering@lucent.com>
88766
88767         * m4/largefile.m4: Remove file (now that it's part of autoconf).
88768
88769 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88770
88771         Rewrite largefile configuration so that we don't need to run
88772         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
88773         AC_CANONICAL_HOST in configure.in -- jmm]
88774
88775         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
88776         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
88777         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
88778         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
88779         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
88780         All uses changed.
88781         Instead of inspecting the output of getconf, try to compile the
88782         test program without and with the macro definition.
88783         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
88784         for getconf.  Instead, check for the needed flags by compiling
88785         test programs.
88786
88787 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88788
88789         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
88790
88791 2000-06-04  Jim Meyering  <meyering@lucent.com>
88792
88793         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
88794         SunOS 4.1.4 for which gid_t is an unsigned type.
88795
88796 2000-06-03  Jim Meyering  <meyering@lucent.com>
88797
88798         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
88799         now that autoconf requires that.
88800
88801         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
88802         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
88803         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
88804
88805 2000-06-03  Jim Meyering  <meyering@lucent.com>
88806
88807         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
88808
88809 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88810
88811         * m4/glibc21.m4: New file.
88812         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
88813
88814 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88815
88816         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
88817         newer, don't install charset.alias.
88818         * lib/config.charset: Change the Linux/glibc rules so they become empty
88819         on glibc-2.1 or newer.
88820
88821 2000-06-02  Jim Meyering  <meyering@lucent.com>
88822
88823         * lib/mountlist.c: Back out last change.  Instead, do this...
88824         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
88825         me_dummy member using the same `ignore'-testing code.
88826         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
88827         fs_type strings.
88828         From Mark D. Roth.
88829
88830 2000-05-29  Jim Meyering  <meyering@lucent.com>
88831
88832         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
88833         mounts with the `ignore' attribute.  Based on a patch from
88834         Mark D. Roth.
88835
88836 2000-05-28  Jim Meyering  <meyering@lucent.com>
88837
88838         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88839         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88840         * m4/stat.m4: Likewise.
88841         * m4/lstat.m4: Likewise.
88842         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88843
88844         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88845         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88846
88847 2000-05-26  Jim Meyering  <meyering@lucent.com>
88848
88849         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88850
88851 2000-05-24  Jim Meyering  <meyering@lucent.com>
88852
88853         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88854         autoconf requires that.
88855         * m4/lib-check.m4: Likewise.
88856         * m4/jm-macros.m4: Likewise.
88857         * m4/strftime.m4: Likewise.
88858
88859         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88860         AC_CHECK_DECLS, now that autoconf requires that.
88861
88862 2000-05-22  Jim Meyering  <meyering@lucent.com>
88863
88864         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88865         * m4/lstat.m4: Likewise.
88866
88867 2000-05-22  Jim Meyering  <meyering@lucent.com>
88868
88869         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88870
88871 2000-05-20  Jim Meyering  <meyering@lucent.com>
88872
88873         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88874         (jm_PREREQ): Use it.
88875
88876 2000-05-18  Jim Meyering  <meyering@lucent.com>
88877
88878         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88879         back, too, since it may have been modified by allocate_entry.
88880         (hash_delete): Rewrite to use neither the assignment operator
88881         nor the comma operator in an if-expression.
88882
88883 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88884
88885         * lib/closeout.c:
88886         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88887         Remove; no longer needed.
88888         "quotearg.h": Add include.
88889         (file_name): Do not bother to explicitly initialize to NULL; it's less
88890         efficient on some hosts.
88891         (close_stdout_status): Remove test as to whether stdout was already
88892         closed; it breaks for the case "echo x | sort >&-".
88893         Quote file name colons.
88894         Do not assume that _("write error") lacks format strings.
88895
88896 2000-05-15  Jim Meyering  <meyering@lucent.com>
88897
88898         * lib/version-etc.c (version_etc_copyright): Update the copyright
88899         string used in all --version output.
88900
88901 2000-05-14  Jim Meyering  <meyering@lucent.com>
88902
88903         * lib/closeout.c (close_stdout_set_file_name): New function.
88904         (close_stdout_status): Use new file-scoped global.
88905         Return right away if fstat says the stdout file descriptor is invalid.
88906         * lib/closeout.h (close_stdout_set_file_name): Declare.
88907
88908 2000-05-10  Jim Meyering  <meyering@lucent.com>
88909
88910         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88911         (close_stdout_set_status): New function.
88912         * lib/closeout.h (close_stdout_set_status): Declare.
88913
88914 2000-05-09  Jim Meyering  <meyering@lucent.com>
88915
88916         * m4/gettext.m4: Rename this...
88917         * m4/libintl.m4: ...to this.
88918
88919 2000-05-08  Jim Meyering  <meyering@lucent.com>
88920
88921         * lib/long-options.c: Don't include closeout.h.
88922         (parse_long_options): Don't call close_stdout for --version.
88923
88924 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88925
88926         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88927         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88928         2.1.3 bug.  This avoids a clash when files like regex.c define
88929         _GNU_SOURCE.
88930
88931 2000-05-06  Jim Meyering  <meyering@lucent.com>
88932
88933         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88934         (AC_REPLACE_FUNCS): Add strnlen.
88935
88936         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88937         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88938
88939         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88940         AC_SEARCH_LIBS call for nanosleep.
88941         (LIB_NANOSLEEP): Set and AC_SUBST.
88942
88943 2000-05-06  Jim Meyering  <meyering@lucent.com>
88944
88945         * lib/strnlen.c: Undefine __strnlen and strnlen.
88946         [!weak_alias]: Define __strnlen to strnlen.
88947
88948         * lib/atexit.c: New file, from libiberty.
88949
88950 2000-05-06  Jim Meyering  <meyering@lucent.com>
88951
88952         * lib/closeout.c (close_stdout_status): Also check for errors on the
88953         stderr stream.
88954
88955 2000-05-05  Jim Meyering  <meyering@lucent.com>
88956
88957         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88958         AC_SEARCH_LIBS call for clock_gettime.
88959         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88960
88961         * m4/search-libs.m4: Update from autoconf.
88962
88963         su doesn't work on Solaris 2.6.
88964         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88965         <shadow.h>.  Reported by Dragos Harabor.
88966
88967 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88968
88969         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88970         memcpy instead of xmalloc, xrealloc, path_concat.
88971         (locale_charset): Treat empty environment variables as absent.
88972         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88973
88974 2000-05-04  Jim Meyering  <meyering@lucent.com>
88975
88976         * lib/getopt.c: Update from glibc.
88977         * lib/obstack.c: Likewise.
88978         * lib/obstack.h: Likewise.
88979         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88980         file
88981
88982         * lib/regex.h: Likewise.
88983         * lib/strndup.c: Likewise.
88984         * lib/strnlen.c: New file, from glibc.
88985
88986 2000-05-03  Jim Meyering  <meyering@lucent.com>
88987
88988         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88989
88990 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88991
88992         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88993         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88994         compile-time test, rather than inspecting host and OS, to
88995         decide whether to define _LARGEFILE_SOURCE.
88996
88997 2000-05-01  Jim Meyering  <meyering@lucent.com>
88998
88999         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
89000
89001         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
89002         Based on a patch from Bruno Haible.
89003
89004 2000-05-01  Jim Meyering  <meyering@lucent.com>
89005
89006         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
89007
89008 2000-04-29  Jim Meyering  <meyering@lucent.com>
89009
89010         * lib/path-concat.c: Declare strdup only if it's not defined.
89011         * lib/canon-host.c: Likewise.
89012
89013 2000-04-28  Jim Meyering  <meyering@lucent.com>
89014
89015         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
89016         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
89017         is included first, then limits.h is included by locale.h by libintl.h.
89018         From John David Anglin.
89019
89020 2000-04-25  Jim Meyering  <meyering@lucent.com>
89021
89022         * lib/makepath.c (S_IRWXUGO): Define.
89023         (make_path): Always perform explicit chmod if MODE specifies any
89024         of the `special' permission bits.  Prompted by a bug report against
89025         install from Mate Wierdl and Joost van Baal.
89026
89027 2000-04-18  Jim Meyering  <meyering@lucent.com>
89028
89029         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
89030         (jm_PREREQ): Use it.
89031
89032 2000-04-18  Jim Meyering  <meyering@lucent.com>
89033
89034         * lib/README: New file.
89035
89036         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
89037         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
89038
89039 2000-04-17  Jim Meyering  <meyering@lucent.com>
89040
89041         Get it right :-)
89042         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
89043         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
89044         Suggestion from Akim Demaille.
89045
89046 2000-04-17  Jim Meyering  <meyering@lucent.com>
89047
89048         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
89049         the definition of it to rpl_strftime also defined-away the system's
89050         declaration.
89051
89052 2000-04-15  Jim Meyering  <meyering@lucent.com>
89053
89054         Use `C' to denote so-called `contiguous' files, the same way
89055         that tar does.
89056         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
89057         (ftypelet): Use S_ISCTG.
89058         From Michael Deutschmann.
89059
89060 2000-04-14  Jim Meyering  <meyering@lucent.com>
89061
89062         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
89063         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
89064         clobbered.
89065
89066 2000-04-14  Jim Meyering  <meyering@lucent.com>
89067
89068         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
89069
89070 2000-04-13  Jim Meyering  <meyering@lucent.com>
89071
89072         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
89073         AH_VERBATIM to insert required #ifndef into config.h.in.
89074         Suggestion from Akim Demaille.
89075
89076 2000-04-12  Jim Meyering  <meyering@lucent.com>
89077
89078         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
89079         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
89080         Christian Krackowizer.
89081
89082         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
89083         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
89084         (AC_SYS_LARGEFILE): Require.
89085         (AM_C_PROTOTYPES): Require.
89086
89087 2000-04-08  Jim Meyering  <meyering@lucent.com>
89088
89089         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
89090         names don't conflict.  Reported by Eli Zaretskii.
89091
89092 2000-04-07  Jim Meyering  <meyering@lucent.com>
89093
89094         * lib/putenv.c: Move inclusion of errno.h so it follows that of
89095         sys/types.h, to work around system header problems on AIX 3.2.5.
89096         From Bruno Haible.
89097
89098 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
89099
89100         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
89101         bug.  Deal with the different error behavior of Irix iconv.
89102
89103 2000-04-05  Paul Eggert  <eggert@twinsun.com>
89104
89105         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
89106         IRIX if the installer said otherwise.
89107
89108 2000-04-05  Jim Meyering  <meyering@lucent.com>
89109
89110         Portability tweaks required for ultrix4.3.
89111         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
89112         (jm_CHECK_DECLS): Add getutent to the list of functions.
89113         (_jm_DECL_HEADERS): Add utmpx.h.
89114         From John David Anglin.
89115
89116         * m4/strftime.m4: Back out the 2000-04-02 change.
89117         Instead of that change, simply undefine putenv in the test program.
89118
89119 2000-04-05  Jim Meyering  <meyering@lucent.com>
89120
89121         Portability tweaks required for ultrix4.3.
89122         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
89123         getutent.
89124         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
89125         * lib/canon-host.c: Declare strdup.
89126         * lib/path-concat.c: Likewise.
89127         From John David Anglin.
89128
89129 2000-04-04  Jim Meyering  <meyering@lucent.com>
89130
89131         Be more DOS 8.3-friendly.
89132         * lib/ref-add.sin: Renamed from ref-add.sed.in.
89133         * lib/ref-del.sin: Renamed from ref-del.sed.in.
89134         * lib/Makefile.am: Reflect renaming.
89135         Reported by Eli Zaretskii.
89136
89137         Use a temporary file name that won't clash with `charset.alias'
89138         in the DOS 8.3 name space.
89139         * lib/Makefile.am (charset_tmp): Define.
89140         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
89141         (uninstall-local): Likewise.
89142         Reported by Eli Zaretskii.
89143
89144 2000-04-03  Jim Meyering  <meyering@lucent.com>
89145
89146         * m4/gettext.m4: Fix typo in comment.
89147
89148         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
89149         textutils/configure.in).  Suggestion from Paul Eggert.
89150         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
89151
89152 2000-04-02  Paul Eggert  <eggert@twinsun.com>
89153
89154         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
89155         variable in the shell rather than using putenv, which isn't
89156         portable.  This avoids the configure-time inter-test dependency
89157         on the potentially-renamed putenv function.
89158
89159 2000-03-30  Paul Eggert  <eggert@twinsun.com>
89160
89161         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
89162         before checking struct stat.st_blksize, so that
89163         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
89164
89165 2000-03-29  Paul Eggert  <eggert@twinsun.com>
89166
89167         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
89168         since strftime.c uses HAVE_STRFTIME to decide whether to use
89169         the underlying strftime.
89170
89171 2000-03-29  Paul Eggert  <eggert@twinsun.com>
89172
89173         * lib/time/strftime.c (my_strftime): Make sure we call the system
89174         strftime, not ourselves, when invoking the underlying strftime.
89175
89176 2000-03-24  Jim Meyering  <meyering@lucent.com>
89177
89178         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
89179         (charset_alias): Define.
89180         (install-exec-local): Factor out common code.
89181         (uninstall-local): Split lines longer than 80.
89182         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
89183         (SUFFIXES): Define.
89184         (.sed.in.sed): New rule.  Don't redirect directly to $@.
89185         (CLEANFILES): Add ref-add.sed and ref-del.sed.
89186
89187 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
89188
89189         * lib/config.charset: Output a line containing "Packages using this
89190         file".
89191         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
89192         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
89193         ref-del.sed): New rules.
89194
89195 2000-03-17  Jim Meyering  <meyering@lucent.com>
89196
89197         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
89198         Otherwise, include <strings.h>
89199
89200 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
89201
89202         * lib/unicodeio.c (utf8_wctomb): New function.
89203         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
89204         format instead of in UCS-4 with platform dependent endianness.
89205
89206 2000-03-10  Jim Meyering  <meyering@lucent.com>
89207
89208         * m4/lib-check.m4: Look for getspnam in -lgen, too.
89209         From Marco Franzen.
89210
89211 2000-03-07  Paul Eggert  <eggert@twinsun.com>
89212
89213         * lib/savedir.c (savedir): Work even if directory size is
89214         negative; this can happen with some screwy NFS configurations.
89215
89216 2000-03-06  Jim Meyering  <meyering@lucent.com>
89217
89218         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
89219         if it's NULL (because we ran out of memory).  From Bruno Haible.
89220
89221 2000-03-05  Jim Meyering  <meyering@lucent.com>
89222
89223         * lib/localcharset.c ("path-concat.h"): Include.
89224         (get_charset_aliases): Use path_concat instead of ANSI string
89225         concatenation.
89226
89227         * lib/unicodeio.h (PARAMS): Define.
89228         Use it to guard prototype.
89229
89230 2000-03-04  Jim Meyering  <meyering@lucent.com>
89231
89232         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
89233         for lib/localcharset.c.
89234
89235 2000-03-04  Jim Meyering  <meyering@lucent.com>
89236
89237         * lib/Makefile.am (install-exec-local): Create $(libdir) before
89238         installing into it.
89239         (uninstall-local): Uncomment this rule so `make distcheck' works
89240         once again.
89241
89242         * lib/unicodeio.c (<errno.h>): Include it.
89243         (errno): Declare if not defined.
89244
89245         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
89246
89247         * lib/config.charset: New version, incorporating remarks from a linux
89248         i18n mailing list.  From Bruno Haible.
89249
89250 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
89251
89252         * m4/codeset.m4: New file.
89253         * m4/iconv.m4: New file.
89254         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
89255
89256 2000-03-03  Jim Meyering  <meyering@lucent.com>
89257
89258         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
89259
89260 2000-03-02  Jim Meyering  <meyering@lucent.com>
89261
89262         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
89263         the messages come out on separate lines.
89264
89265         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
89266         rather than jm_CHECK_DECLARATIONS.
89267         * m4/decl.m4: Remove now-unused file.
89268
89269         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
89270         geteuid.
89271
89272 2000-03-02  Jim Meyering  <meyering@lucent.com>
89273
89274         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
89275
89276 2000-03-01  Jim Meyering  <meyering@lucent.com>
89277
89278         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
89279         * lib/unicodeio.c: Likewise.
89280
89281 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
89282
89283         * lib/config.charset: New file.
89284         * lib/localcharset.c: New file.
89285         * lib/unicodeio.h, lib/unicodeio.c: New files.
89286         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
89287         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
89288         (noinst_HEADERS): Add unicodeio.h.
89289         (all-local, install-exec-local, charset.alias): New targets.
89290
89291 2000-02-28  Paul Eggert  <eggert@twinsun.com>
89292
89293         * lib/quotearg.c (ALERT_CHAR): New macro.
89294         (quotearg_buffer_restyled): Use it.
89295
89296 2000-02-27  Jim Meyering  <meyering@lucent.com>
89297
89298         * m4/check-decl.m4: Add getenv to the list.
89299
89300 2000-02-27  Jim Meyering  <meyering@lucent.com>
89301
89302         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
89303         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
89304
89305         * lib/backupfile.c: Guard inclusion of stdlib.h with
89306         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
89307         Declare malloc if needed.
89308
89309         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
89310         `#ifndef HAVE_DECL..'
89311         now that autoconf always defines the HAVE_DECL_ symbols.
89312         * lib/human.c: Likewise.
89313         * lib/same.c: Likewise.
89314         * lib/strtoumax.c: Likewise.
89315
89316         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
89317         declaration check was not run.
89318         * lib/hash.c: Likewise.
89319         * lib/human.c: Likewise.
89320         * lib/same.c: Likewise.
89321         * lib/strtoumax.c: Likewise.
89322
89323         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
89324         `.', then first look up the entire `.'-containing string as a login
89325         name.
89326
89327 2000-02-23  Jim Meyering  <meyering@lucent.com>
89328
89329         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
89330         in place of my hack.
89331
89332 2000-02-18  Paul Eggert  <eggert@twinsun.com>
89333
89334         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
89335         (textint): New typedef.
89336         (parser_control): Member year changed from int to textint.
89337         All uses changed.
89338         (YYSTYPE): Removed; replaced by %union with int and textint members.
89339         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
89340         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
89341         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
89342         (tSNUMBER, tUNUMBER): Now of type <textintval>.
89343         (date, number, to_year): Use width of number in digits, not its value,
89344         to determine whether it's a 2-digit year, or a 2-digit time.
89345         (yylex): Store number of digits of numeric tokens.
89346         Reported by John Kendall.
89347
89348         (parser_control): Changed from struct parser_control to typedef (for
89349         consistency).  All uses changed.
89350
89351         (tID): Removed; not used.
89352         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
89353
89354 2000-02-14  Paul Eggert  <eggert@twinsun.com>
89355
89356         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
89357         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
89358
89359 2000-02-12  Jim Meyering  <meyering@lucent.com>
89360
89361         * lib/userspec.c (ISDIGIT): Define it.
89362         (isdigit): Remove definition.
89363         (is_number): Use ISDIGIT, not isdigit.
89364         <libintl.h>: Include.
89365         (_ and N_): Define.
89366         (parse_user_spec): Mark translatable strings.
89367
89368 2000-02-10  Jim Meyering  <meyering@lucent.com>
89369
89370         With these changes, nanosleep.[ch] are finally enough like the other
89371         lib/* replacement files to compile on a few more losing systems.
89372
89373         * lib/nanosleep.h: Don't include config.h.
89374         Remove prototype from declaration of nanosleep.
89375         (PARAMS): Remove now-unneeded definition.
89376         * lib/nanosleep.c: #undef nanosleep.
89377         (rpl_nanosleep): Rename from nanosleep.
89378
89379 2000-02-10  Jim Meyering  <meyering@lucent.com>
89380
89381         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
89382         gnu_nanosleep to rpl_nanosleep.
89383
89384 2000-02-09  Jim Meyering  <meyering@lucent.com>
89385
89386         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
89387         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
89388
89389 2000-02-08  Akim Demaille  <akim@epita.fr>
89390
89391         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
89392         `[' and `]' and remove uses of `changequote'.
89393         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
89394         (AC_SYS_LARGEFILE): Likewise.
89395         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
89396         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
89397         of changequote.
89398         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
89399         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
89400         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
89401         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
89402
89403 2000-02-05  Jim Meyering  <meyering@lucent.com>
89404
89405         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
89406         Remove explicit use of AC_HEADER_TIME.  It is required by
89407         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
89408         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
89409         in autoconf whereby the expansion of the latter ended up preceding
89410         the expansion of its prerequisite, AC_HEADER_TIME.
89411         Reported by Volker Borchert.
89412
89413 2000-02-03  Jim Meyering  <meyering@lucent.com>
89414
89415         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
89416
89417 2000-02-03  Jim Meyering  <meyering@lucent.com>
89418
89419         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
89420         rather than with `#if HAVE_UTMPNAME'.
89421
89422 2000-02-02  Jim Meyering  <meyering@lucent.com>
89423
89424         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
89425         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
89426         Reported by Eli Zaretskii.
89427
89428 2000-02-01  Jim Meyering  <meyering@lucent.com>
89429
89430         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
89431
89432 2000-01-31  Jim Meyering  <meyering@lucent.com>
89433
89434         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
89435         functions.  Add the time.h and sys/time.h headers along with the
89436         AC_REQUIRE'ment of AC_HEADER_TIME.
89437
89438 2000-01-31  Jim Meyering  <meyering@lucent.com>
89439
89440         * lib/nanosleep.h (nanosleep): Guard declaration with
89441         `#if ! HAVE_DECL_NANOSLEEP'.
89442         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
89443         the declaration in that vendor's sys/timers.h.
89444         Reported by Christian Krackowizer.
89445
89446         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
89447         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
89448         (ISPRINT): Likewise.
89449         Reported by Tom Tromey.
89450
89451 2000-01-30  Jim Meyering  <meyering@lucent.com>
89452
89453         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
89454
89455         * m4/prereq.m4 (utmp_includes): Define.
89456         Check for ut_user and ut_name members in both struct utmpx
89457         and struct utmp.
89458
89459 2000-01-30  Jim Meyering  <meyering@lucent.com>
89460
89461         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
89462         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
89463         header files where only utmpx.ut_user is declared.
89464
89465         * lib/readutmp.h (UT_USER): Define.
89466
89467 2000-01-29  Jim Meyering  <meyering@lucent.com>
89468
89469         * m4/lib-check.m4: New file containing library-related checks from
89470         fileutils and sh-utils (textutils had none).
89471
89472 2000-01-28  Jim Meyering  <meyering@lucent.com>
89473
89474         * m4/perl.m4: Change format of warning message to look more like that
89475         from the missing script.  Suggestion from François Pinard.
89476
89477 2000-01-25  Jim Meyering  <meyering@lucent.com>
89478
89479         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
89480         well as time.h in the compile check.
89481         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
89482         Fix typo in cross-compiling case: s/yes/no/.
89483
89484 2000-01-23  Jim Meyering  <meyering@lucent.com>
89485
89486         * m4/jm-macros.m4: Move df-related tests here from
89487         fileutils/configure.in
89488
89489         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
89490         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
89491
89492         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
89493         s/space/ac_fsusage_space/.
89494         (jm_FILE_SYSTEM_USAGE): Take two parameters.
89495
89496         * m4/ftruncate.m4: New file (derived from part of
89497         fileutils/configure.in).
89498         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
89499         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
89500
89501         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
89502         AC_SUBST these here, rather than just in sh-util/configure.in, so
89503         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
89504         all the same.
89505         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
89506         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
89507         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
89508         (AC_SUBST(POW_LIBM)): Likewise.
89509         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
89510
89511 2000-01-23  Jim Meyering  <meyering@lucent.com>
89512
89513         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
89514         obstack.c.
89515
89516 2000-01-22  Jim Meyering  <meyering@lucent.com>
89517
89518         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
89519
89520         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
89521
89522         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
89523         configure.in
89524         (AC_CHECK_HEADERS): Likewise for sh-utils.
89525         (AC_CHECK_HEADERS): Likewise for textutils.
89526         Merge the three lists of headers.
89527
89528         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
89529         from fileutils' configure.in.
89530
89531         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
89532         code. Moved tests into their own function (_jm_DECL_HEADERS) in
89533         check-decl.m4.
89534
89535         * m4/check-decl.m4: Use #if rather than #ifdef.
89536         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
89537         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
89538         (_jm_DECL_HEADERS): Define new function.
89539         (jm_CHECK_DECLARATIONS): Require it.
89540
89541 2000-01-22  Jim Meyering  <meyering@lucent.com>
89542
89543         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
89544         [! HAVE_DECL_STRTOULL]: Declare strtoull.
89545         Required for some AIX systems.  Reported by Christian Krackowizer.
89546         [TESTING] (main): New function.
89547
89548         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
89549         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
89550         letters.
89551
89552         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
89553         iswprint.
89554
89555         * lib/strverscmp.c (ISDIGIT): Define.
89556         (strverscmp): Use ISDIGIT, not isdigit.
89557
89558 2000-01-19  Jim Meyering  <meyering@lucent.com>
89559
89560         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
89561         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
89562         defines `struct timespec' in <sys/time.h>
89563
89564         * m4/c-bs-a.m4: Remove uses of changequote altogether.
89565         Thanks to Akim for explaining.
89566
89567 2000-01-17  Paul Eggert  <eggert@twinsun.com>
89568
89569         * lib/nanosleep.c (nanosleep):
89570         Don't use SA_INTERRUPT to decide whether to call sigaction, as
89571         POSIX.1 doesn't require SA_INTERRUPT and some systems
89572         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
89573         it's been part of POSIX.1 since day 1 (in 1988).
89574
89575 2000-01-17  Jim Meyering  <meyering@lucent.com>
89576
89577         * lib/interlock: Remove unused file.  Reported by François Pinard.
89578
89579 2000-01-16  Paul Eggert  <eggert@twinsun.com>
89580
89581         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
89582         alert, backslash, formfeed, and vertical tab unnecessarily in
89583         shell quoting style.
89584
89585 2000-01-16  Jim Meyering  <meyering@lucent.com>
89586
89587         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
89588         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
89589         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
89590         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
89591
89592 2000-01-16  Jim Meyering  <meyering@lucent.com>
89593
89594         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
89595         because the latter didn't work.
89596
89597 2000-01-15  Jim Meyering  <meyering@lucent.com>
89598
89599         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
89600         (AC_REPLACE_FUNCS): Add memcpy and memset.
89601         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
89602         Add strpbrk.
89603         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
89604
89605 2000-01-12  Jim Meyering  <meyering@lucent.com>
89606
89607         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
89608         (jm_PREREQ): Use it.
89609         (jm_PREREQ_READUTMP): New macro.
89610         (jm_PREREQ): Use it.
89611
89612 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89613
89614         Quote multibyte characters correctly.
89615         * m4/c-bs-a.m4: New file.
89616         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
89617         (jm_PREREQ): Use it.
89618
89619 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89620
89621         * m4/uintmax_t.m4: Port to autoconf 2.13.
89622
89623 2000-01-08  Jim Meyering  <meyering@ascend.com>
89624
89625         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
89626         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
89627
89628 2000-01-04  Jim Meyering  <meyering@ascend.com>
89629
89630         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
89631         jm_STRUCT_DIRENT_D_TYPE.
89632         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
89633         jm_STRUCT_DIRENT_D_INO.
89634         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
89635         jm_STRUCT_UTIMBUF.
89636         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
89637         renamings.
89638         * m4/utime.m4: Likewise.
89639
89640         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
89641         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
89642
89643 2000-01-03  Paul Eggert  <eggert@twinsun.com>
89644
89645         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
89646         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
89647
89648 2000-01-02  Jim Meyering  <meyering@ascend.com>
89649
89650         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
89651         remember if this is necessary.
89652
89653 1999-12-26  Jim Meyering  <meyering@ascend.com>
89654
89655         * m4/jm-macros.m4: Use it here.
89656         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
89657
89658 1999-12-23  Jim Meyering  <meyering@ascend.com>
89659
89660         * m4/jm-macros.m4: Check for clock_gettime (moved from
89661         fileutils/configure.in)
89662         Check for gettimeofday.
89663
89664 1999-12-20  Jim Meyering  <meyering@ascend.com>
89665
89666         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
89667         autoconf-2.14a-1999-12-20.
89668
89669 1999-12-19  Jim Meyering  <meyering@ascend.com>
89670
89671         * m4/lstat-slash.m4: New file.
89672         * m4/jm-macros.m4: Use the new macro:
89673         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89674
89675 1999-12-07  Jim Meyering  <meyering@ascend.com>
89676
89677         * m4/perl.m4: Require that File::Compare be available, too.
89678         Too many systems seem to lack it.
89679
89680         * m4/strftime.m4: Add checks for most of the cpp macros tested in
89681         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
89682
89683 1999-11-18  Paul Eggert  <eggert@twinsun.com>
89684
89685         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
89686         problem with the QNX 4.25 shell, which doesn't propagate exit
89687         status of failed commands inside shell assignments.
89688
89689 1999-11-17  Jim Meyering  <meyering@ascend.com>
89690
89691         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
89692
89693 1999-11-07  Jim Meyering  <meyering@ascend.com>
89694
89695         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
89696
89697 1999-11-06  Jim Meyering  <meyering@ascend.com>
89698
89699         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
89700         * m4/jm-macros.m4 (jm_MACROS): Use it here.
89701
89702 1999-11-05  Jim Meyering  <meyering@ascend.com>
89703
89704         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
89705         configure.in of textutils, fileutils, and sh-utils into this one
89706         (shared between those packages) file.
89707         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
89708         AC_STRUCT_ST_BLKSIZE.
89709
89710 1999-11-03  Jim Meyering  <meyering@ascend.com>
89711
89712         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
89713         of AC_CHECK_TYPE checks includes unistd.h.
89714         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
89715         Suggestion from Akim Demaille.
89716
89717 1999-10-30  Jim Meyering  <meyering@ascend.com>
89718
89719         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
89720         m4-quoted string.
89721         * m4/ls-mntd-fs.m4: Likewise.
89722         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
89723         * m4/jm-winsz1.m4: Likewise.
89724
89725         * m4/const.m4: Remove file, since the fix made it into the experimental
89726         version of autoconf.
89727         * m4/mktime.m4: Likewise.
89728
89729         * m4/check-type.m4: Remove file, now that the latest version of
89730         AC_CHECK_TYPE takes a third arg to specify additional #includes.
89731
89732         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
89733         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
89734         AC_CHECK_TYPE.
89735
89736 1999-10-04  Jim Meyering  <meyering@ascend.com>
89737
89738         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
89739
89740 1999-09-22  Paul Eggert  <eggert@twinsun.com>
89741
89742         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
89743         2.95.1 bug with HP-UX 10.20.
89744
89745 1999-09-17  Jim Meyering  <meyering@ascend.com>
89746
89747         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
89748         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
89749         due to missing strdup (against sh-utils-2.0).
89750
89751 1999-08-29  Jim Meyering  <meyering@ascend.com>
89752
89753         * m4/jm-macros.m4: Require jm_BISON.
89754         * m4/bison.m4: New file.
89755
89756 1999-08-17  Paul Eggert  <eggert@twinsun.com>
89757
89758         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
89759         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
89760
89761 1999-08-05  Jim Meyering  <meyering@ascend.com>
89762
89763         * m4/getline.m4: Rename test file from conftestdata to conftest.data
89764         to avoid conflicts with `conftest' on 8+3 filesystems.
89765         Suggestion from Eli Zaretskii.
89766
89767 1999-08-04  Jim Meyering  <meyering@ascend.com>
89768
89769         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
89770         fileutils and sh-utils (textutils's getline test was inadequate).
89771         (AM_FUNC_GETLINE): Run this test.
89772         (AC_CHECK_FUNCS): Check for getdelim.
89773         Reported by Bob Proulx.
89774
89775 1999-08-02  Jim Meyering  <meyering@ascend.com>
89776
89777         * m4/jm-macros.m4: Add a comment.
89778
89779 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89780
89781         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
89782         <inttypes.h> defines strtoumax as a macro (and not as a
89783         function).
89784
89785 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89786
89787         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
89788         that we can shift, multiply and divide unsigned long long
89789         values; Ultrix cc can't do it.
89790
89791 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89792
89793         * m4/mktime.m4: New file, which is a preview of what should appear
89794         in the next public autoconf release.
89795
89796 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89797
89798         * m4/lfs.m4: Remove this file.
89799         * m4/largefile.m4: New file.  It contains the old contents of
89800         lfs.m4, except that all names with prefix AC_LFS have been
89801         changed to use the prefix AC_SYS_LARGEFILE instead, to be
89802         compatible with future autoconf versions.  Also, some minor m4
89803         quoting problems have been fixed.
89804
89805 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89806
89807         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
89808         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
89809         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
89810         and simplify the shell code.
89811
89812 1999-08-01  Jim Meyering  <meyering@ascend.com>
89813
89814         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
89815         m4.
89816
89817 1999-07-20  Jim Meyering  <meyering@ascend.com>
89818
89819         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
89820
89821 1999-07-15  Jim Meyering  <meyering@ascend.com>
89822
89823         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
89824
89825 1999-05-22  Jim Meyering  <meyering@ascend.com>
89826
89827         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
89828
89829 1999-05-20  Jim Meyering  <meyering@ascend.com>
89830
89831         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
89832         Add a colon after each `then' in case $4 is empty.
89833
89834 1999-05-16  Jim Meyering  <meyering@ascend.com>
89835
89836         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
89837
89838 1999-05-10  Jim Meyering  <meyering@ascend.com>
89839
89840         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89841
89842         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89843         AC_FUNC_MKTIME.
89844
89845 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89846
89847         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89848
89849 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89850
89851         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89852         not CPPFLAGS, so that linking works correctly in IRIX.
89853
89854 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89855
89856         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89857
89858 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89859
89860         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89861         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89862         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89863         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89864         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89865
89866         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89867
89868 1999-04-20  Jim Meyering  <meyering@ascend.com>
89869
89870         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89871         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89872         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89873
89874 1999-04-18  Jim Meyering  <meyering@ascend.com>
89875
89876         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89877         * m4/jm-macros.m4: Use it.
89878
89879 1999-04-06  Jim Meyering  <meyering@ascend.com>
89880
89881         * m4/strftime.m4: Remove test for %f.
89882
89883 1999-03-29  Jim Meyering  <meyering@ascend.com>
89884
89885         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89886         superset of the AC_TYPE_* checks in the textutils, fileutils,
89887         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89888         AC_TYPE_PID_T.
89889
89890 1999-03-28  Jim Meyering  <meyering@ascend.com>
89891
89892         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89893         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89894         replaced e.g., in the *.sh files of the sh-utils.
89895
89896 1999-03-20  Jim Meyering  <meyering@ascend.com>
89897
89898         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89899         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89900         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89901
89902 1999-03-19  Jim Meyering  <meyering@ascend.com>
89903
89904         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89905
89906 1999-03-12  Jim Meyering  <meyering@ascend.com>
89907
89908         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89909
89910 1999-03-07  Jim Meyering  <meyering@ascend.com>
89911
89912         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89913         declared.
89914
89915 1999-02-17  Jim Meyering  <meyering@ascend.com>
89916
89917         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89918         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89919
89920 1999-02-07  Jim Meyering  <meyering@ascend.com>
89921
89922         * m4/group-member.m4: New file -- extracted from sh-utils'
89923         configure.in.
89924
89925         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89926         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89927
89928 1999-02-06  Jim Meyering  <meyering@ascend.com>
89929
89930         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89931         * m4/fnmatch.m4: Likewise.
89932         * m4/getgroups.m4: Likewise.
89933         * m4/lstat.m4: Likewise.
89934         * m4/malloc.m4: Likewise.
89935         * m4/putenv.m4: Likewise.
89936         * m4/realloc.m4: Likewise.
89937         * m4/regex.m4: Likewise.
89938         * m4/stat.m4: Likewise.
89939         * m4/strftime.m4: Likewise.
89940         Suggestion from Alain Magloire.
89941
89942         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89943         * m4/fnmatch.m4: Likewise.
89944         * m4/getgroups.m4: Likewise.
89945         * m4/getline.m4: Likewise.
89946         * m4/lstat.m4: Likewise.
89947         * m4/malloc.m4: Likewise.
89948         * m4/memcmp.m4: Likewise.
89949         * m4/putenv.m4: Likewise.
89950         * m4/realloc.m4: Likewise.
89951         * m4/regex.m4: Likewise.
89952         * m4/stat.m4: Likewise.
89953         * m4/strftime.m4: Likewise.
89954         Suggestion from Alain Magloire.
89955
89956         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89957         an argument.
89958
89959         * m4/regex.m4: Add a run-time Test for proper operation of
89960         re_compile_pattern.
89961
89962 1999-01-31  Jim Meyering  <meyering@ascend.com>
89963
89964         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89965
89966 1999-01-30  Jim Meyering  <meyering@ascend.com>
89967
89968         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89969
89970         * m4/jm-mktime.m4: Make this a wrapper around the official
89971         AM_FUNC_MKTIME rather than my private copy, now that the official one
89972         is up to date.
89973         * m4/mktime.m4: Remove file.
89974
89975         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89976         * m4/uptime.m4: Likewise.
89977         * m4/uintmax_t.m4: Likewise.
89978
89979 1999-01-28  Jim Meyering  <meyering@ascend.com>
89980
89981         * m4/jm-macros.m4: Use jm_AFS.
89982         * m4/afs.m4: New file (from fileutils' configure.in).
89983
89984         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89985         * m4/chown.m4: Likewise.
89986         * m4/d-ino.m4: Likewise.
89987         * m4/d-type.m4: Likewise.
89988         * m4/fnmatch.m4: Likewise.
89989         * m4/getgroups.m4: Likewise.
89990         * m4/gettext.m4: Likewise.
89991         * m4/jm-mktime.m4: Likewise.
89992         * m4/jm-winsz2.m4: Likewise.
89993         * m4/lcmessage.m4: Likewise.
89994         * m4/ls-mntd-fs.m4: Likewise.
89995         * m4/malloc.m4: Likewise.
89996         * m4/memcmp.m4: Likewise.
89997         * m4/putenv.m4: Likewise.
89998         * m4/realloc.m4: Likewise.
89999         * m4/st_mtim.m4: Likewise.
90000         * m4/strftime.m4: Likewise.
90001
90002 1999-01-16  Jim Meyering  <meyering@ascend.com>
90003
90004         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
90005         (ARGMATCH_DIE_DECL): Define.
90006
90007 1999-01-12  Jim Meyering  <meyering@ascend.com>
90008
90009         * m4/Makefile.am.in: Rewrite to avoid using fmt.
90010         Reported by Lars Hecking.
90011
90012 1999-01-10  Jim Meyering  <meyering@ascend.com>
90013
90014         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
90015         gross kludge.
90016         * m4/inttypes_h.m4: Likewise.
90017         * m4/lstat.m4: Likewise.
90018         * m4/malloc.m4: Likewise.
90019         * m4/readdir.m4: Likewise.
90020         * m4/realloc.m4: Likewise.
90021         * m4/st_dm_mode.m4: Likewise.
90022         * m4/stat.m4: Likewise.
90023         * m4/utimbuf.m4: Likewise.
90024         * m4/utimes.m4: Likewise.
90025
90026         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
90027         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
90028         comments in config.h.in are meaningful.
90029
90030         * m4/jm-macros.m4: Require autoconf-2.13 here.
90031
90032         * m4/regex.m4: By default, don't use the included regex.c on systems
90033         with glibc 2.  Suggestion from Uli Drepper.
90034
90035 1999-01-02  Jim Meyering  <meyering@ascend.com>
90036
90037         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
90038
90039 1998-12-18  Jim Meyering  <meyering@ascend.com>
90040
90041         * m4/Makefile.am.in (Makefile.am): Simplify rule.
90042         Based on a suggestion from Lars Hecking.
90043
90044 1998-11-16  Paul Eggert  <eggert@twinsun.com>
90045
90046         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
90047
90048 1998-11-16  Jim Meyering  <meyering@ascend.com>
90049
90050         * m4/lfs.m4: Double-quote the `uname...` expression.
90051
90052 1998-11-14  Jim Meyering  <meyering@ascend.com>
90053
90054         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
90055         * m4/stat.m4: Likewise.
90056
90057 1998-11-03  Jim Meyering  <meyering@ascend.com>
90058
90059         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
90060         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
90061
90062 1998-10-18  Jim Meyering  <meyering@ascend.com>
90063
90064         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
90065
90066 1998-10-17  Jim Meyering  <meyering@ascend.com>
90067
90068         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
90069         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
90070         calls for those previously hard-coded headers.  Instead, take a new
90071         parameter.
90072         (jm_CHECK_DECLARATIONS): Reflect interface change.
90073         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
90074         (jm_CHECK_DECL_LOCALTIME_R): New macro.
90075
90076         * m4/mktime.m4: Test for spring-forward gap before long-running test.
90077
90078 1998-10-14  Jim Meyering  <meyering@ascend.com>
90079
90080         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
90081         instead of "TZ=America/Vancouver".  From Paul Eggert.
90082
90083 1998-10-11  Jim Meyering  <meyering@ascend.com>
90084
90085         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
90086         This adds a test for a recently added compatibility fix for mktime.c.
90087         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
90088
90089 1998-09-27  Jim Meyering  <meyering@ascend.com>
90090
90091         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
90092
90093         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
90094         ../configure.in, including a change from Gordon Matzigkeit to allow
90095         cross-compiling for the Hurd.
90096
90097         * m4/glibc.m4: New file/macro to test for the GNU C Library
90098         versions 1 and 2.  From Gordon Matzigkeit.
90099         Indent.
90100
90101 1998-09-21  Jim Meyering  <meyering@ascend.com>
90102
90103         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
90104
90105 1998-08-18  Paul Eggert  <eggert@twinsun.com>
90106
90107         Port nanosecond-resolution times to UnixWare 2.1.2 and
90108         pedantic Solaris 2.6.
90109
90110         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
90111         AC_STRUCT_ST_MTIM.
90112         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
90113         Generate name of ns member, instead of just 1 or undef.
90114         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
90115
90116 1998-08-15  Jim Meyering  <meyering@ascend.com>
90117
90118         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
90119         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
90120         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
90121         instead of jm_TYPE_SSIZE_T.
90122
90123 1998-08-12  Jim Meyering  <meyering@ascend.com>
90124
90125         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
90126
90127 1998-08-02  Jim Meyering  <meyering@ascend.com>
90128
90129         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
90130         in acconfig.h manually.
90131
90132 1998-07-31  Paul Eggert  <eggert@twinsun.com>
90133
90134         * m4/st_mtim.m4: New file.
90135
90136 1998-07-28  Jim Meyering  <meyering@ascend.com>
90137
90138         * m4/utimes.m4: Undef stat.
90139
90140 1998-07-25  Jim Meyering  <meyering@ascend.com>
90141
90142         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
90143         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
90144
90145 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
90146
90147         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
90148         uid and gid actually remain unchanged.
90149
90150 1998-07-07  Jim Meyering  <meyering@ascend.com>
90151
90152         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
90153
90154 1998-07-04  Jim Meyering  <meyering@ascend.com>
90155
90156         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
90157         to prove that this macro can be used in packages without regex.c.
90158
90159 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
90160
90161         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
90162         is to be used.
90163
90164 1998-07-03  Jim Meyering  <meyering@ascend.com>
90165
90166         * m4/gettext.m4: Add -lintl if it's found to be necessary.
90167
90168         * m4/gettext.m4: New file -- from gettext-0.10.35.
90169         * m4/lcmessage.m4: Likewise.
90170         * m4/progtest.m4: Likewise.
90171
90172         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
90173         * m4/jm-macros.m4: Require the new macro.
90174
90175 1998-06-29  Jim Meyering  <meyering@ascend.com>
90176
90177         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
90178         for the definition of NGROUPS (used in a system header included
90179         by sys/mount.h).
90180
90181 1998-06-28  Jim Meyering  <meyering@ascend.com>
90182
90183         * m4/ls-mntd-fs.m4: New file.
90184         * m4/fstypename.m4: New file.
90185
90186         * m4/jm-macros.m4: Require the new macro.
90187         * m4/jm-glibc-io.m4: New file.
90188
90189 1998-05-19  Jim Meyering  <meyering@ascend.com>
90190
90191         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
90192         * m4/lchown.m4: New file.
90193
90194         * m4/Makefile.am.in: New file.
90195         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
90196
90197 1998-05-14  Jim Meyering  <meyering@ascend.com>
90198
90199         * m4/Makefile.am (EXTRA_DIST): Add them.
90200         * m4/jm-macros.m4: New file.
90201         * m4/utimbuf.m4: New file.
90202
90203 1998-05-12  Jim Meyering  <meyering@ascend.com>
90204
90205         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
90206
90207 1998-05-11  Jim Meyering  <meyering@ascend.com>
90208
90209         * m4/isc-posix.m4: New file.
90210
90211 1998-05-10  Jim Meyering  <meyering@ascend.com>
90212
90213         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
90214
90215 1998-05-09  Jim Meyering  <meyering@ascend.com>
90216
90217         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
90218         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
90219         with automake.
90220
90221         * m4/ssize_t.m4: New file.
90222         * m4/mktime.m4: Remove file -- the new automake has this now.
90223
90224 1998-04-26  Jim Meyering  <meyering@ascend.com>
90225
90226         * m4/assert.m4: New file.
90227         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
90228
90229 1998-04-05  Jim Meyering  <meyering@ascend.com>
90230
90231         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
90232         (jm_PREREQ): Use it here.
90233
90234 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
90235
90236         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
90237         in acconfig.h.
90238
90239 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
90240
90241         * m4/prereq.m4: New file.
90242         * m4/error.m4: New file.
90243         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
90244
90245 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
90246
90247         * m4/getline.m4: Don't set am_cv_func_working_getline before the
90248         cache-check for the same variable -- that defeated the purpose of
90249         the test; the test program was never run.  This was a problem only
90250         on systems with losing getline functions -- HP-UX 10.20 is one.
90251         Reported by Bjorn Helgaas.
90252
90253 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
90254
90255         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
90256
90257 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
90258
90259         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
90260
90261         * m4/const.m4: New file.  Use an initializer in this declaration
90262         typedef int charset[2]; const charset x;
90263         Reported by Bob Glickstein.
90264
90265 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
90266
90267         * m4/chown.m4: Fix reversed types on -1 args to chown.
90268         From Kaveh Ghazi.
90269
90270 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
90271
90272         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
90273         Add lseek and memchr.
90274
90275         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
90276         T.E.Dickey <dickey@clark.net> said that some older preprocessors
90277         have a 20-character limit on names.
90278
90279 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
90280
90281         * m4/inttypes_h.m4: New file.
90282         * m4/uintmax_t.m4: New file.
90283         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
90284
90285
90286         -----
90287
90288         Local Variables:
90289         coding: utf-8
90290         End:
90291
90292         Copyright (C) 1997-2011 Free Software Foundation, Inc.
90293
90294         Copying and distribution of this file, with or without
90295         modification, are permitted provided the copyright notice
90296         and this notice are preserved.